[483] | 1 | define([ |
---|
| 2 | "dojo/_base/declare", // declare |
---|
| 3 | "dojo/dom-class", // domClass.toggle |
---|
| 4 | "./MenuItem", |
---|
| 5 | "dojo/text!./templates/CheckedMenuItem.html", |
---|
| 6 | "./hccss" |
---|
| 7 | ], function(declare, domClass, MenuItem, template){ |
---|
| 8 | |
---|
| 9 | // module: |
---|
| 10 | // dijit/CheckedMenuItem |
---|
| 11 | |
---|
| 12 | return declare("dijit.CheckedMenuItem", MenuItem, { |
---|
| 13 | // summary: |
---|
| 14 | // A checkbox-like menu item for toggling on and off |
---|
| 15 | |
---|
| 16 | // Use both base classes so we get styles like dijitMenuItemDisabled |
---|
| 17 | baseClass: "dijitMenuItem dijitCheckedMenuItem", |
---|
| 18 | |
---|
| 19 | templateString: template, |
---|
| 20 | |
---|
| 21 | // checked: Boolean |
---|
| 22 | // Our checked state |
---|
| 23 | checked: false, |
---|
| 24 | _setCheckedAttr: function(/*Boolean*/ checked){ |
---|
| 25 | this.domNode.setAttribute("aria-checked", checked ? "true" : "false"); |
---|
| 26 | this._set("checked", checked); // triggers CSS update via _CssStateMixin |
---|
| 27 | }, |
---|
| 28 | |
---|
| 29 | iconClass: "", // override dijitNoIcon |
---|
| 30 | |
---|
| 31 | role: "menuitemcheckbox", |
---|
| 32 | |
---|
| 33 | // checkedChar: String |
---|
| 34 | // Character (or string) used in place of checkbox icon when display in high contrast mode |
---|
| 35 | checkedChar: "✓", |
---|
| 36 | |
---|
| 37 | onChange: function(/*Boolean*/ /*===== checked =====*/){ |
---|
| 38 | // summary: |
---|
| 39 | // User defined function to handle check/uncheck events |
---|
| 40 | // tags: |
---|
| 41 | // callback |
---|
| 42 | }, |
---|
| 43 | |
---|
| 44 | _onClick: function(evt){ |
---|
| 45 | // summary: |
---|
| 46 | // Clicking this item just toggles its state |
---|
| 47 | // tags: |
---|
| 48 | // private |
---|
| 49 | if(!this.disabled){ |
---|
| 50 | this.set("checked", !this.checked); |
---|
| 51 | this.onChange(this.checked); |
---|
| 52 | } |
---|
| 53 | this.onClick(evt); |
---|
| 54 | } |
---|
| 55 | }); |
---|
| 56 | }); |
---|