diff options
author | Andrew Dolgov <[email protected]> | 2010-11-15 10:39:52 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2010-11-15 10:39:52 +0300 |
commit | 2f01fe57a8d37767827d6db42850aef86a767c53 (patch) | |
tree | 516a95ffce2fc2435aed8d9976e444dbcba7dce3 /lib/dijit/_PaletteMixin.js | |
parent | 951906dcecb1d3c7bcf751976a03e0c196ca6db0 (diff) |
add dijit/dojo stuff; initial ui mockup
Diffstat (limited to 'lib/dijit/_PaletteMixin.js')
-rw-r--r-- | lib/dijit/_PaletteMixin.js | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/lib/dijit/_PaletteMixin.js b/lib/dijit/_PaletteMixin.js new file mode 100644 index 000000000..a12855d12 --- /dev/null +++ b/lib/dijit/_PaletteMixin.js @@ -0,0 +1,98 @@ +/* + Copyright (c) 2004-2010, 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._PaletteMixin"]){ +dojo._hasResource["dijit._PaletteMixin"]=true; +dojo.provide("dijit._PaletteMixin"); +dojo.require("dijit._CssStateMixin"); +dojo.declare("dijit._PaletteMixin",[dijit._CssStateMixin],{defaultTimeout:500,timeoutChangeRate:0.9,value:null,_selectedCell:-1,tabIndex:"0",cellClass:"dijitPaletteCell",dyeClass:"",_preparePalette:function(_1,_2){ +this._cells=[]; +var _3=this._blankGif; +var _4=dojo.getObject(this.dyeClass); +for(var _5=0;_5<_1.length;_5++){ +var _6=dojo.create("tr",{tabIndex:"-1"},this.gridNode); +for(var _7=0;_7<_1[_5].length;_7++){ +var _8=_1[_5][_7]; +if(_8){ +var _9=new _4(_8); +var _a=dojo.create("td",{"class":this.cellClass,tabIndex:"-1",title:_2[_8]}); +_9.fillCell(_a,_3); +this.connect(_a,"ondijitclick","_onCellClick"); +this._trackMouseState(_a,this.cellClass); +dojo.place(_a,_6); +_a.index=this._cells.length; +this._cells.push({node:_a,dye:_9}); +} +} +} +this._xDim=_1[0].length; +this._yDim=_1.length; +var _b={UP_ARROW:-this._xDim,DOWN_ARROW:this._xDim,RIGHT_ARROW:this.isLeftToRight()?1:-1,LEFT_ARROW:this.isLeftToRight()?-1:1}; +for(var _c in _b){ +this._connects.push(dijit.typematic.addKeyListener(this.domNode,{charOrCode:dojo.keys[_c],ctrlKey:false,altKey:false,shiftKey:false},this,function(){ +var _d=_b[_c]; +return function(_e){ +this._navigateByKey(_d,_e); +}; +}(),this.timeoutChangeRate,this.defaultTimeout)); +} +},postCreate:function(){ +this.inherited(arguments); +this._setCurrent(this._cells[0].node); +},focus:function(){ +dijit.focus(this._currentFocus); +},_onCellClick:function(_f){ +var _10=_f.currentTarget,_11=this._getDye(_10).getValue(); +this._setCurrent(_10); +setTimeout(dojo.hitch(this,function(){ +dijit.focus(_10); +this._setValueAttr(_11,true); +})); +dojo.removeClass(_10,"dijitPaletteCellHover"); +dojo.stopEvent(_f); +},_setCurrent:function(_12){ +if("_currentFocus" in this){ +dojo.attr(this._currentFocus,"tabIndex","-1"); +} +this._currentFocus=_12; +if(_12){ +dojo.attr(_12,"tabIndex",this.tabIndex); +} +},_setValueAttr:function(_13,_14){ +this.value=null; +if(this._selectedCell>=0){ +dojo.removeClass(this._cells[this._selectedCell].node,"dijitPaletteCellSelected"); +} +this._selectedCell=-1; +if(_13){ +for(var i=0;i<this._cells.length;i++){ +if(_13==this._cells[i].dye.getValue()){ +this._selectedCell=i; +this.value=_13; +dojo.addClass(this._cells[i].node,"dijitPaletteCellSelected"); +if(_14||_14===undefined){ +this.onChange(_13); +} +break; +} +} +} +},onChange:function(_15){ +},_navigateByKey:function(_16,_17){ +if(_17==-1){ +return; +} +var _18=this._currentFocus.index+_16; +if(_18<this._cells.length&&_18>-1){ +var _19=this._cells[_18].node; +this._setCurrent(_19); +setTimeout(dojo.hitch(dijit,"focus",_19),0); +} +},_getDye:function(_1a){ +return this._cells[_1a.index].dye; +}}); +} |