summaryrefslogtreecommitdiffstats
path: root/install/ui
diff options
context:
space:
mode:
authorPavel Vomacka <pvomacka@redhat.com>2016-04-22 10:27:10 +0200
committerPetr Vobornik <pvoborni@redhat.com>2016-06-29 15:41:58 +0200
commitf243bd2d6564dd35ab5d506578f5d1d2ccb99b2f (patch)
tree0c4cae71943b32441c3dcc8cb5cd9b34b0c22d94 /install/ui
parente3e83272c9ffaf2a09f910e754c4a0421c816fd0 (diff)
downloadfreeipa-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.js36
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', {