//>>built require({cache:{ 'url:dijit/form/templates/ComboButton.html':"
\n"}}); define("dijit/form/ComboButton", [ "dojo/_base/declare", // declare "dojo/_base/event", // event.stop "dojo/keys", // keys "../focus", // focus.focus() "./DropDownButton", "dojo/text!./templates/ComboButton.html" ], function(declare, event, keys, focus, DropDownButton, template){ /*===== var DropDownButton = dijit.form.DropDownButton; =====*/ // module: // dijit/form/ComboButton // summary: // A combination button and drop-down button. return declare("dijit.form.ComboButton", DropDownButton, { // summary: // A combination button and drop-down button. // Users can click one side to "press" the button, or click an arrow // icon to display the drop down. // // example: // | // // example: // | var button1 = new dijit.form.ComboButton({label: "hello world", onClick: foo, dropDown: "myMenu"}); // | dojo.body().appendChild(button1.domNode); // templateString: template, // Map widget attributes to DOMNode attributes. _setIdAttr: "", // override _FormWidgetMixin which puts id on the focusNode _setTabIndexAttr: ["focusNode", "titleNode"], _setTitleAttr: "titleNode", // optionsTitle: String // Text that describes the options menu (accessibility) optionsTitle: "", baseClass: "dijitComboButton", // Set classes like dijitButtonContentsHover or dijitArrowButtonActive depending on // mouse action over specified node cssStateNodes: { "buttonNode": "dijitButtonNode", "titleNode": "dijitButtonContents", "_popupStateNode": "dijitDownArrowButton" }, _focusedNode: null, _onButtonKeyPress: function(/*Event*/ evt){ // summary: // Handler for right arrow key when focus is on left part of button if(evt.charOrCode == keys[this.isLeftToRight() ? "RIGHT_ARROW" : "LEFT_ARROW"]){ focus.focus(this._popupStateNode); event.stop(evt); } }, _onArrowKeyPress: function(/*Event*/ evt){ // summary: // Handler for left arrow key when focus is on right part of button if(evt.charOrCode == keys[this.isLeftToRight() ? "LEFT_ARROW" : "RIGHT_ARROW"]){ focus.focus(this.titleNode); event.stop(evt); } }, focus: function(/*String*/ position){ // summary: // Focuses this widget to according to position, if specified, // otherwise on arrow node // position: // "start" or "end" if(!this.disabled){ focus.focus(position == "start" ? this.titleNode : this._popupStateNode); } } }); });