summaryrefslogtreecommitdiffstats
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
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>
-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', {