CheckedMenuItem.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. require({cache:{
  2. 'url:dijit/templates/CheckedMenuItem.html':"<tr class=\"dijitReset dijitMenuItem\" data-dojo-attach-point=\"focusNode\" role=\"menuitemcheckbox\" tabIndex=\"-1\"\n\t\tdata-dojo-attach-event=\"onmouseenter:_onHover,onmouseleave:_onUnhover,ondijitclick:_onClick\">\n\t<td class=\"dijitReset dijitMenuItemIconCell\" role=\"presentation\">\n\t\t<img src=\"${_blankGif}\" alt=\"\" class=\"dijitMenuItemIcon dijitCheckedMenuItemIcon\" data-dojo-attach-point=\"iconNode\"/>\n\t\t<span class=\"dijitCheckedMenuItemIconChar\">&#10003;</span>\n\t</td>\n\t<td class=\"dijitReset dijitMenuItemLabel\" colspan=\"2\" data-dojo-attach-point=\"containerNode,labelNode\"></td>\n\t<td class=\"dijitReset dijitMenuItemAccelKey\" style=\"display: none\" data-dojo-attach-point=\"accelKeyNode\"></td>\n\t<td class=\"dijitReset dijitMenuArrowCell\" role=\"presentation\">&#160;</td>\n</tr>\n"}});
  3. define("dijit/CheckedMenuItem", [
  4. "dojo/_base/declare", // declare
  5. "dojo/dom-class", // domClass.toggle
  6. "./MenuItem",
  7. "dojo/text!./templates/CheckedMenuItem.html",
  8. "./hccss"
  9. ], function(declare, domClass, MenuItem, template){
  10. /*=====
  11. var MenuItem = dijit.MenuItem;
  12. =====*/
  13. // module:
  14. // dijit/CheckedMenuItem
  15. // summary:
  16. // A checkbox-like menu item for toggling on and off
  17. return declare("dijit.CheckedMenuItem", MenuItem, {
  18. // summary:
  19. // A checkbox-like menu item for toggling on and off
  20. templateString: template,
  21. // checked: Boolean
  22. // Our checked state
  23. checked: false,
  24. _setCheckedAttr: function(/*Boolean*/ checked){
  25. // summary:
  26. // Hook so attr('checked', bool) works.
  27. // Sets the class and state for the check box.
  28. domClass.toggle(this.domNode, "dijitCheckedMenuItemChecked", checked);
  29. this.domNode.setAttribute("aria-checked", checked);
  30. this._set("checked", checked);
  31. },
  32. iconClass: "", // override dijitNoIcon
  33. onChange: function(/*Boolean*/ /*===== checked =====*/){
  34. // summary:
  35. // User defined function to handle check/uncheck events
  36. // tags:
  37. // callback
  38. },
  39. _onClick: function(/*Event*/ e){
  40. // summary:
  41. // Clicking this item just toggles its state
  42. // tags:
  43. // private
  44. if(!this.disabled){
  45. this.set("checked", !this.checked);
  46. this.onChange(this.checked);
  47. }
  48. this.inherited(arguments);
  49. }
  50. });
  51. });