]>
git.wh0rd.org - tt-rss.git/blob - lib/dijit/form/MultiSelect.js
2 Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
8 if(!dojo
._hasResource
["dijit.form.MultiSelect"]){
9 dojo
._hasResource
["dijit.form.MultiSelect"]=true;
10 dojo
.provide("dijit.form.MultiSelect");
11 dojo
.require("dijit.form._FormWidget");
12 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(){
13 this._hasBeenBlurred
=false;
14 this._setValueAttr(this._resetValue
,true);
15 },addSelected:function(_1
){
16 _1
.getSelected().forEach(function(n
){
17 this.containerNode
.appendChild(n
);
18 this.domNode
.scrollTop
=this.domNode
.offsetHeight
;
19 var _2
=_1
.domNode
.scrollTop
;
20 _1
.domNode
.scrollTop
=0;
21 _1
.domNode
.scrollTop
=_2
;
23 },getSelected:function(){
24 return dojo
.query("option",this.containerNode
).filter(function(n
){
27 },_getValueAttr:function(){
28 return this.getSelected().map(function(n
){
31 },multiple
:true,_setValueAttr:function(_3
){
32 dojo
.query("option",this.containerNode
).forEach(function(n
){
33 n
.selected
=(dojo
.indexOf(_3
,n
.value
)!=-1);
35 },invertSelection:function(_4
){
36 dojo
.query("option",this.containerNode
).forEach(function(n
){
37 n
.selected
=!n
.selected
;
39 this._handleOnChange(this.get("value"),_4
==true);
40 },_onChange:function(e
){
41 this._handleOnChange(this.get("value"),true);
42 },resize:function(_5
){
44 dojo
.marginBox(this.domNode
,_5
);
46 },postCreate:function(){