diff options
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/splitButton/splitButton.js')
-rw-r--r-- | sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/splitButton/splitButton.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/splitButton/splitButton.js b/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/splitButton/splitButton.js new file mode 100644 index 000000000..8785b99c5 --- /dev/null +++ b/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/splitButton/splitButton.js @@ -0,0 +1,54 @@ +(function( $, app ) { + + var ui = app.ns("ui"); + + ui.SplitButton = ui.AbstractWidget.extend({ + defaults: { + items: [], + label: "" + }, + _baseCls: "uiSplitButton", + init: function( parent ) { + this._super( parent ); + this.value = null; + this.button = new ui.Button({ + label: this.config.label, + onclick: this._click_handler + }); + this.menu = new ui.SelectMenuPanel({ + value: this.config.value, + items: this._getItems(), + onSelect: this._select_handler + }); + this.menuButton = new ui.MenuButton({ + label: "\u00a0", + menu: this.menu + }); + this.el = $.joey(this._main_template()); + }, + remove: function() { + this.menu.remove(); + }, + disable: function() { + this.button.disable(); + }, + enable: function() { + this.button.enable(); + }, + _click_handler: function() { + this.fire("click", this, { value: this.value } ); + }, + _select_handler: function( panel, event ) { + this.fire( "select", this, event ); + }, + _getItems: function() { + return this.config.items; + }, + _main_template: function() { + return { tag: "DIV", cls: this._baseCls, children: [ + this.button, this.menuButton + ] }; + } + }); + +})( this.jQuery, this.app ); |