73 lines
1.8 KiB
JavaScript
73 lines
1.8 KiB
JavaScript
//>>built
|
|
define("dojox/treemap/Keyboard",["dojo/_base/array","dojo/_base/lang","dojo/_base/event","dojo/_base/declare","dojo/on","dojo/keys","dojo/dom-attr","./_utils","dijit/_FocusMixin"],function(_1,_2,_3,_4,on,_5,_6,_7,_8){
|
|
return _4("dojox.treemap.Keyboard",_8,{tabIndex:"0",_setTabIndexAttr:"domNode",constructor:function(){
|
|
},postCreate:function(){
|
|
this.inherited(arguments);
|
|
this._keyDownHandle=on(this.domNode,"keydown",_2.hitch(this,this._onKeyDown));
|
|
this._mouseDownHandle=on(this.domNode,"mousedown",_2.hitch(this,this._onMouseDown));
|
|
},destroy:function(){
|
|
this.inherited(arguments);
|
|
this._keyDownHandle.remove();
|
|
this._mouseDownHandle.remove();
|
|
},createRenderer:function(_9,_a,_b){
|
|
var _c=this.inherited(arguments);
|
|
_6.set(_c,"tabindex","-1");
|
|
return _c;
|
|
},_onMouseDown:function(e){
|
|
this.domNode.focus();
|
|
},_onKeyDown:function(e){
|
|
var _d=this.get("selectedItem");
|
|
if(!_d){
|
|
return;
|
|
}
|
|
var _e=this.itemToRenderer[this.getIdentity(_d)];
|
|
var _f=_e.parentItem;
|
|
var _10,_11,_12;
|
|
if(e.keyCode!=_5.UP_ARROW&&e.keyCode!=_5.NUMPAD_MINUS&&e.keyCode!=_5.NUMPAD_PLUS){
|
|
_10=(e.keyCode==_5.DOWN_ARROW)?_d.children:_f.children;
|
|
if(_10){
|
|
_11=_7.initElements(_10,_2.hitch(this,this._computeAreaForItem)).elements;
|
|
_12=_11[_1.indexOf(_10,_d)];
|
|
_11.sort(function(a,b){
|
|
return b.size-a.size;
|
|
});
|
|
}else{
|
|
return;
|
|
}
|
|
}
|
|
var _13;
|
|
switch(e.keyCode){
|
|
case _5.LEFT_ARROW:
|
|
_13=_10[_11[Math.max(0,_1.indexOf(_11,_12)-1)].index];
|
|
break;
|
|
case _5.RIGHT_ARROW:
|
|
_13=_10[_11[Math.min(_11.length-1,_1.indexOf(_11,_12)+1)].index];
|
|
break;
|
|
case _5.DOWN_ARROW:
|
|
_13=_10[_11[0].index];
|
|
break;
|
|
case _5.UP_ARROW:
|
|
_13=_f;
|
|
break;
|
|
case _5.NUMPAD_PLUS:
|
|
if(!this._isLeaf(_d)&&this.drillDown){
|
|
this.drillDown(_e);
|
|
_3.stop(e);
|
|
}
|
|
break;
|
|
case _5.NUMPAD_MINUS:
|
|
if(!this._isLeaf(_d)&&this.drillUp){
|
|
this.drillUp(_e);
|
|
_3.stop(e);
|
|
}
|
|
break;
|
|
}
|
|
if(_13){
|
|
if(!this._isRoot(_13)){
|
|
this.set("selectedItem",_13);
|
|
_3.stop(e);
|
|
}
|
|
}
|
|
}});
|
|
});
|