summaryrefslogtreecommitdiffstats
path: root/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/splitButton/splitButton.js
diff options
context:
space:
mode:
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.js54
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 );