]> git.wh0rd.org - tt-rss.git/blob - lib/dijit/form/MultiSelect.js
add dijit/dojo stuff; initial ui mockup
[tt-rss.git] / lib / dijit / form / MultiSelect.js
1 /*
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
5 */
6
7
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;
22 },this);
23 },getSelected:function(){
24 return dojo.query("option",this.containerNode).filter(function(n){
25 return n.selected;
26 });
27 },_getValueAttr:function(){
28 return this.getSelected().map(function(n){
29 return n.value;
30 });
31 },multiple:true,_setValueAttr:function(_3){
32 dojo.query("option",this.containerNode).forEach(function(n){
33 n.selected=(dojo.indexOf(_3,n.value)!=-1);
34 });
35 },invertSelection:function(_4){
36 dojo.query("option",this.containerNode).forEach(function(n){
37 n.selected=!n.selected;
38 });
39 this._handleOnChange(this.get("value"),_4==true);
40 },_onChange:function(e){
41 this._handleOnChange(this.get("value"),true);
42 },resize:function(_5){
43 if(_5){
44 dojo.marginBox(this.domNode,_5);
45 }
46 },postCreate:function(){
47 this._onChange();
48 }});
49 }