From f243bd2d6564dd35ab5d506578f5d1d2ccb99b2f Mon Sep 17 00:00:00 2001 From: Pavel Vomacka Date: Fri, 22 Apr 2016 10:27:10 +0200 Subject: 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 --- install/ui/src/freeipa/widgets/DropdownWidget.js | 36 ++++++++++++++++++++++++ 1 file changed, 36 insertions(+) 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