diff options
Diffstat (limited to 'sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/selectMenuPanel/selectMenuPanel.js')
-rw-r--r-- | sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/selectMenuPanel/selectMenuPanel.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/selectMenuPanel/selectMenuPanel.js b/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/selectMenuPanel/selectMenuPanel.js new file mode 100644 index 000000000..8cbecc56c --- /dev/null +++ b/sdnr/wt/devicemanager/provider/src/test/resources/elasticsearch/plugins/head/src/app/ui/selectMenuPanel/selectMenuPanel.js @@ -0,0 +1,33 @@ +(function( app ) { + + var ui = app.ns("ui"); + + ui.SelectMenuPanel = ui.MenuPanel.extend({ + defaults: { + items: [], // (required) an array of menu items + value: null + }, + _baseCls: "uiSelectMenuPanel uiMenuPanel", + init: function() { + this.value = this.config.value; + this._super(); + }, + _getItems: function() { + return this.config.items.map( function( item ) { + return { + text: item.text, + selected: this.value === item.value, + onclick: function( jEv ) { + var el = $( jEv.target ).closest("LI"); + el.parent().children().removeClass("selected"); + el.addClass("selected"); + this.fire( "select", this, { value: item.value } ); + this.value = item.value; + }.bind(this) + }; + }, this ); + + } + }); + +})( this.app ); |