diff options
author | Pavel Vomacka <pvomacka@redhat.com> | 2016-04-22 10:27:10 +0200 |
---|---|---|
committer | Petr Vobornik <pvoborni@redhat.com> | 2016-06-29 15:41:58 +0200 |
commit | f243bd2d6564dd35ab5d506578f5d1d2ccb99b2f (patch) | |
tree | 0c4cae71943b32441c3dcc8cb5cd9b34b0c22d94 /install/ui | |
parent | e3e83272c9ffaf2a09f910e754c4a0421c816fd0 (diff) | |
download | freeipa-f243bd2d6564dd35ab5d506578f5d1d2ccb99b2f.tar.gz freeipa-f243bd2d6564dd35ab5d506578f5d1d2ccb99b2f.tar.xz freeipa-f243bd2d6564dd35ab5d506578f5d1d2ccb99b2f.zip |
Extends functionality of DropdownWidget
Adds methods which are able to enable and disable options according to the name of option
and methods which set or get whole item list.
https://fedorahosted.org/freeipa/ticket/5381
Reviewed-By: Petr Vobornik <pvoborni@redhat.com>
Diffstat (limited to 'install/ui')
-rw-r--r-- | install/ui/src/freeipa/widgets/DropdownWidget.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/install/ui/src/freeipa/widgets/DropdownWidget.js b/install/ui/src/freeipa/widgets/DropdownWidget.js index a81960545..f952f0589 100644 --- a/install/ui/src/freeipa/widgets/DropdownWidget.js +++ b/install/ui/src/freeipa/widgets/DropdownWidget.js @@ -142,6 +142,42 @@ define(['dojo/_base/declare', return this.dom_node; }, + get_items: function() { + return this.items; + }, + + set_items: function(items) { + this.items = items; + if (this.ul_node) this.render(); + }, + + disable_item: function(item_name) { + var item = this._find_item(item_name); + if (item && this.ul_node) { + item.disabled = true; + $("li[data-name=" + item.name +"]", this.ul_node ).replaceWith( + this._render_item(item)); + } + }, + + enable_item: function(item_name) { + var item = this._find_item(item_name); + if (item && this.ul_node) { + item.disabled = false; + $("li[data-name=" + item.name +"]", this.ul_node ).replaceWith( + this._render_item(item)); + } + }, + + _find_item: function(item_name) { + for (var i=0, l=this.items.length; i<l; i++) { + if (this.items[i].name && this.items[i].name == item_name) { + return this.items[i]; + } + } + return null; + }, + _render_toggle: function(container) { this.toggle_node = construct.create('a', { |