1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2025-12-16 04:05:58 +00:00

upgrade Dojo to 1.6.1

This commit is contained in:
Andrew Dolgov
2011-11-08 20:40:44 +04:00
parent 870a70e109
commit 81bea17aef
680 changed files with 51915 additions and 74107 deletions

View File

@@ -1,49 +1,119 @@
/*
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if(!dojo._hasResource["dijit.form.MultiSelect"]){
dojo._hasResource["dijit.form.MultiSelect"]=true;
if(!dojo._hasResource["dijit.form.MultiSelect"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
dojo._hasResource["dijit.form.MultiSelect"] = true;
dojo.provide("dijit.form.MultiSelect");
dojo.require("dijit.form._FormWidget");
dojo.declare("dijit.form.MultiSelect",dijit.form._FormValueWidget,{size:7,templateString:"<select multiple='true' ${!nameAttrSetting} dojoAttachPoint='containerNode,focusNode' dojoAttachEvent='onchange: _onChange'></select>",attributeMap:dojo.delegate(dijit.form._FormWidget.prototype.attributeMap,{size:"focusNode"}),reset:function(){
this._hasBeenBlurred=false;
this._setValueAttr(this._resetValue,true);
},addSelected:function(_1){
_1.getSelected().forEach(function(n){
this.containerNode.appendChild(n);
this.domNode.scrollTop=this.domNode.offsetHeight;
var _2=_1.domNode.scrollTop;
_1.domNode.scrollTop=0;
_1.domNode.scrollTop=_2;
},this);
},getSelected:function(){
return dojo.query("option",this.containerNode).filter(function(n){
return n.selected;
dojo.declare("dijit.form.MultiSelect", dijit.form._FormValueWidget, {
// summary:
// Widget version of a <select multiple=true> element,
// for selecting multiple options.
// size: Number
// Number of elements to display on a page
// NOTE: may be removed in version 2.0, since elements may have variable height;
// set the size via style="..." or CSS class names instead.
size: 7,
templateString: "<select multiple='true' ${!nameAttrSetting} dojoAttachPoint='containerNode,focusNode' dojoAttachEvent='onchange: _onChange'></select>",
attributeMap: dojo.delegate(dijit.form._FormWidget.prototype.attributeMap, {
size: "focusNode"
}),
reset: function(){
// summary:
// Reset the widget's value to what it was at initialization time
// TODO: once we inherit from FormValueWidget this won't be needed
this._hasBeenBlurred = false;
this._setValueAttr(this._resetValue, true);
},
addSelected: function(/*dijit.form.MultiSelect*/ select){
// summary:
// Move the selected nodes of a passed Select widget
// instance to this Select widget.
//
// example:
// | // move all the selected values from "bar" to "foo"
// | dijit.byId("foo").addSelected(dijit.byId("bar"));
select.getSelected().forEach(function(n){
this.containerNode.appendChild(n);
// scroll to bottom to see item
// cannot use scrollIntoView since <option> tags don't support all attributes
// does not work on IE due to a bug where <select> always shows scrollTop = 0
this.domNode.scrollTop = this.domNode.offsetHeight; // overshoot will be ignored
// scrolling the source select is trickier esp. on safari who forgets to change the scrollbar size
var oldscroll = select.domNode.scrollTop;
select.domNode.scrollTop = 0;
select.domNode.scrollTop = oldscroll;
},this);
},
getSelected: function(){
// summary:
// Access the NodeList of the selected options directly
return dojo.query("option",this.containerNode).filter(function(n){
return n.selected; // Boolean
}); // dojo.NodeList
},
_getValueAttr: function(){
// summary:
// Hook so get('value') works.
// description:
// Returns an array of the selected options' values.
return this.getSelected().map(function(n){
return n.value;
});
},
multiple: true, // for Form
_setValueAttr: function(/*Array*/ values){
// summary:
// Hook so set('value', values) works.
// description:
// Set the value(s) of this Select based on passed values
dojo.query("option",this.containerNode).forEach(function(n){
n.selected = (dojo.indexOf(values,n.value) != -1);
});
},
invertSelection: function(onChange){
// summary:
// Invert the selection
// onChange: Boolean
// If null, onChange is not fired.
dojo.query("option",this.containerNode).forEach(function(n){
n.selected = !n.selected;
});
this._handleOnChange(this.get('value'), onChange == true);
},
_onChange: function(/*Event*/ e){
this._handleOnChange(this.get('value'), true);
},
// for layout widgets:
resize: function(/*Object*/ size){
if(size){
dojo.marginBox(this.domNode, size);
}
},
postCreate: function(){
this._onChange();
}
});
},_getValueAttr:function(){
return this.getSelected().map(function(n){
return n.value;
});
},multiple:true,_setValueAttr:function(_3){
dojo.query("option",this.containerNode).forEach(function(n){
n.selected=(dojo.indexOf(_3,n.value)!=-1);
});
},invertSelection:function(_4){
dojo.query("option",this.containerNode).forEach(function(n){
n.selected=!n.selected;
});
this._handleOnChange(this.get("value"),_4==true);
},_onChange:function(e){
this._handleOnChange(this.get("value"),true);
},resize:function(_5){
if(_5){
dojo.marginBox(this.domNode,_5);
}
},postCreate:function(){
this._onChange();
}});
}