webui-aria2/js/libs/dijit/form/_ListBase.js
2012-05-01 19:52:07 +08:00

77 lines
1.5 KiB
JavaScript

//>>built
define("dijit/form/_ListBase",["dojo/_base/declare","dojo/window"],function(_1,_2){
return _1("dijit.form._ListBase",null,{selected:null,_getTarget:function(_3){
var _4=_3.target;
var _5=this.containerNode;
if(_4==_5||_4==this.domNode){
return null;
}
while(_4&&_4.parentNode!=_5){
_4=_4.parentNode;
}
return _4;
},selectFirstNode:function(){
var _6=this.containerNode.firstChild;
while(_6&&_6.style.display=="none"){
_6=_6.nextSibling;
}
this._setSelectedAttr(_6);
},selectLastNode:function(){
var _7=this.containerNode.lastChild;
while(_7&&_7.style.display=="none"){
_7=_7.previousSibling;
}
this._setSelectedAttr(_7);
},selectNextNode:function(){
var _8=this._getSelectedAttr();
if(!_8){
this.selectFirstNode();
}else{
var _9=_8.nextSibling;
while(_9&&_9.style.display=="none"){
_9=_9.nextSibling;
}
if(!_9){
this.selectFirstNode();
}else{
this._setSelectedAttr(_9);
}
}
},selectPreviousNode:function(){
var _a=this._getSelectedAttr();
if(!_a){
this.selectLastNode();
}else{
var _b=_a.previousSibling;
while(_b&&_b.style.display=="none"){
_b=_b.previousSibling;
}
if(!_b){
this.selectLastNode();
}else{
this._setSelectedAttr(_b);
}
}
},_setSelectedAttr:function(_c){
if(this.selected!=_c){
var _d=this._getSelectedAttr();
if(_d){
this.onDeselect(_d);
this.selected=null;
}
if(_c&&_c.parentNode==this.containerNode){
this.selected=_c;
_2.scrollIntoView(_c);
this.onSelect(_c);
}
}else{
if(_c){
this.onSelect(_c);
}
}
},_getSelectedAttr:function(){
var v=this.selected;
return (v&&v.parentNode==this.containerNode)?v:(this.selected=null);
}});
});