You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
3.3 KiB
JavaScript
70 lines
3.3 KiB
JavaScript
14 years ago
|
/*
|
||
|
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.MenuItem"]){
|
||
|
dojo._hasResource["dijit.MenuItem"]=true;
|
||
|
dojo.provide("dijit.MenuItem");
|
||
|
dojo.require("dijit._Widget");
|
||
|
dojo.require("dijit._Templated");
|
||
|
dojo.require("dijit._Contained");
|
||
|
dojo.require("dijit._CssStateMixin");
|
||
|
dojo.declare("dijit.MenuItem",[dijit._Widget,dijit._Templated,dijit._Contained,dijit._CssStateMixin],{templateString:dojo.cache("dijit","templates/MenuItem.html","<tr class=\"dijitReset dijitMenuItem\" dojoAttachPoint=\"focusNode\" waiRole=\"menuitem\" tabIndex=\"-1\"\n\t\tdojoAttachEvent=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<td class=\"dijitReset dijitMenuItemIconCell\" waiRole=\"presentation\">\n\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitIcon dijitMenuItemIcon\" dojoAttachPoint=\"iconNode\"/>\n\t</td>\n\t<td class=\"dijitReset dijitMenuItemLabel\" colspan=\"2\" dojoAttachPoint=\"containerNode\"></td>\n\t<td class=\"dijitReset dijitMenuItemAccelKey\" style=\"display: none\" dojoAttachPoint=\"accelKeyNode\"></td>\n\t<td class=\"dijitReset dijitMenuArrowCell\" waiRole=\"presentation\">\n\t\t<div dojoAttachPoint=\"arrowWrapper\" style=\"visibility: hidden\">\n\t\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitMenuExpand\"/>\n\t\t\t<span class=\"dijitMenuExpandA11y\">+</span>\n\t\t</div>\n\t</td>\n</tr>\n"),attributeMap:dojo.delegate(dijit._Widget.prototype.attributeMap,{label:{node:"containerNode",type:"innerHTML"},iconClass:{node:"iconNode",type:"class"}}),baseClass:"dijitMenuItem",label:"",iconClass:"",accelKey:"",disabled:false,_fillContent:function(_1){
|
||
|
if(_1&&!("label" in this.params)){
|
||
|
this.set("label",_1.innerHTML);
|
||
|
}
|
||
|
},postCreate:function(){
|
||
|
this.inherited(arguments);
|
||
|
dojo.setSelectable(this.domNode,false);
|
||
|
var _2=this.id+"_text";
|
||
|
dojo.attr(this.containerNode,"id",_2);
|
||
|
if(this.accelKeyNode){
|
||
|
dojo.attr(this.accelKeyNode,"id",this.id+"_accel");
|
||
|
_2+=" "+this.id+"_accel";
|
||
|
}
|
||
|
dijit.setWaiState(this.domNode,"labelledby",_2);
|
||
|
},_onHover:function(){
|
||
|
this.getParent().onItemHover(this);
|
||
|
},_onUnhover:function(){
|
||
|
this.getParent().onItemUnhover(this);
|
||
|
this._hovering=false;
|
||
|
this._setStateClass();
|
||
|
},_onClick:function(_3){
|
||
|
this.getParent().onItemClick(this,_3);
|
||
|
dojo.stopEvent(_3);
|
||
|
},onClick:function(_4){
|
||
|
},focus:function(){
|
||
|
try{
|
||
|
if(dojo.isIE==8){
|
||
|
this.containerNode.focus();
|
||
|
}
|
||
|
dijit.focus(this.focusNode);
|
||
|
}
|
||
|
catch(e){
|
||
|
}
|
||
|
},_onFocus:function(){
|
||
|
this._setSelected(true);
|
||
|
this.getParent()._onItemFocus(this);
|
||
|
this.inherited(arguments);
|
||
|
},_setSelected:function(_5){
|
||
|
dojo.toggleClass(this.domNode,"dijitMenuItemSelected",_5);
|
||
|
},setLabel:function(_6){
|
||
|
dojo.deprecated("dijit.MenuItem.setLabel() is deprecated. Use set('label', ...) instead.","","2.0");
|
||
|
this.set("label",_6);
|
||
|
},setDisabled:function(_7){
|
||
|
dojo.deprecated("dijit.Menu.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0");
|
||
|
this.set("disabled",_7);
|
||
|
},_setDisabledAttr:function(_8){
|
||
|
this.disabled=_8;
|
||
|
dijit.setWaiState(this.focusNode,"disabled",_8?"true":"false");
|
||
|
},_setAccelKeyAttr:function(_9){
|
||
|
this.accelKey=_9;
|
||
|
this.accelKeyNode.style.display=_9?"":"none";
|
||
|
this.accelKeyNode.innerHTML=_9;
|
||
|
dojo.attr(this.containerNode,"colSpan",_9?"1":"2");
|
||
|
}});
|
||
|
}
|