diff options
author | Alex Rudyy <orudyy@apache.org> | 2014-12-03 12:17:32 +0000 |
---|---|---|
committer | Alex Rudyy <orudyy@apache.org> | 2014-12-03 12:17:32 +0000 |
commit | 73244217fd97fad6055854c1abb79d8d9c3294c1 (patch) | |
tree | 591d71cc92b13a1cab72269678cf0af58257de17 /qpid/java/broker-plugins/management-http | |
parent | a3daa97ae44831aff6acab3215b5132da85d9202 (diff) | |
download | qpid-python-73244217fd97fad6055854c1abb79d8d9c3294c1.tar.gz |
QPID-6246: Various fixes for preferences provider UI
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1643103 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/management-http')
9 files changed, 53 insertions, 21 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html index acc39569c1..cf38cd425c 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/addAuthenticationProvider.html @@ -54,7 +54,7 @@ </div> </form> - <div id="addPreferencesProvider.form" xxx-data-dojo-type="qpid/management/preferencesprovider/PreferencesProviderForm"></div> + <div id="addPreferencesProvider.form"></div> </div> <div class="dijitDialogPaneActionBar"> <button data-dojo-type="dijit/form/Button" id="addAuthenticationProvider.addButton" data-dojo-props="label: 'Save'" type="submit"></button> diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js index 79850b92fb..c6741ca3cc 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js @@ -173,7 +173,7 @@ define(["dojo/_base/xhr", if (!this.preferencesProvider) { var preferencesProvider =new PreferencesProvider(preferencesProviderData.name, this.authProviderData); - preferencesProvider.init(this.preferencesNode); + preferencesProvider.init(this.preferencesNode, this); this.preferencesProvider = preferencesProvider; } this.preferencesProvider.update(preferencesProviderData); @@ -188,6 +188,11 @@ define(["dojo/_base/xhr", } }; + AuthProviderUpdater.prototype.onPreferencesProviderDeleted = function() + { + this.preferencesProvider = null; + } + AuthProviderUpdater.prototype.updateHeader = function() { this.authenticationProvider.name = this.authProviderData[ "name" ] diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/PreferencesProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/PreferencesProvider.js index 41588e20c2..35ccbf9cae 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/PreferencesProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/PreferencesProvider.js @@ -21,7 +21,8 @@ define(["dojo/_base/xhr", "dojo/parser", "dojo/query", - "dojo/_base/connect", + "dojo/dom-construct", + "dojo/_base/array", "qpid/common/properties", "qpid/common/updater", "qpid/common/util", @@ -31,7 +32,7 @@ define(["dojo/_base/xhr", "dojox/html/entities", "qpid/management/addPreferencesProvider", "dojo/domReady!"], - function (xhr, parser, query, connect, properties, updater, util, event, registry, domStyle, entities, addPreferencesProvider) { + function (xhr, parser, query, construct, array, properties, updater, util, event, registry, domStyle, entities, addPreferencesProvider) { function PreferencesProvider(name, parent, controller) { this.name = name; @@ -44,7 +45,7 @@ define(["dojo/_base/xhr", return "PreferencesProvider:" + this.authenticationProviderName + "/" + this.name ; }; - PreferencesProvider.prototype.init = function(node) { + PreferencesProvider.prototype.init = function(node, parentObject) { var that = this; xhr.get({url: "showPreferencesProvider.html", sync: true, @@ -52,6 +53,8 @@ define(["dojo/_base/xhr", node.innerHTML = data; parser.parse(node); + that.containerNode = node; + that.parentObject = parentObject; that.preferencesProviderType=query(".preferencesProviderType", node)[0]; that.preferencesProviderName=query(".preferencesProviderName", node)[0]; that.preferencesProviderState=query(".preferencesProviderState", node)[0]; @@ -100,6 +103,16 @@ define(["dojo/_base/xhr", that.controller.tabContainer.removeChild(that.contentPane); that.contentPane.destroyRecursive(); } + else + { + var widgets = registry.findWidgets(that.containerNode); + array.forEach(widgets, function(item) { item.destroyRecursive();}); + construct.empty(that.containerNode); + if (that.parentObject) + { + that.parentObject.onPreferencesProviderDeleted(); + } + } }, function(error) {that.success = false; that.failureReason = error;}); if(!this.success ) { @@ -129,7 +142,7 @@ define(["dojo/_base/xhr", if (!this.details) { var that = this; - require(["qpid/management/authenticationprovider/preferences/" + data.type.toLowerCase() + "/show"], + require(["qpid/management/preferencesprovider/" + data.type.toLowerCase() + "/show"], function(PreferencesProviderDetails) { that.details = new PreferencesProviderDetails(that.preferencesDetailsDiv); that.details.update(data); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js index f42a7843ee..e05fc7582d 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js @@ -82,7 +82,6 @@ define(["dojo/_base/xhr", show:function(effectiveData) { this.authenticationProviderForm.reset(); - this.preferencesProviderForm.reset(); if (effectiveData) { @@ -106,9 +105,18 @@ define(["dojo/_base/xhr", this.authenticationProviderName.set("value", actualData.name); this.authenticationProviderType.set("disabled", true); this.authenticationProviderName.set("disabled", true); + if (actualData.preferencesproviders && actualData.preferencesproviders[0]) + { + this.preferencesProviderForm.setData(actualData.preferencesproviders[0]); + } + else + { + this.preferencesProviderForm.reset(); + } } else { + this.preferencesProviderForm.reset(); this.authenticationProviderType.set("disabled", false); this.authenticationProviderName.set("disabled", false); this.initialData = {}; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js index acb09b5fd8..5eaaa89242 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/PreferencesProviderForm.js @@ -85,8 +85,8 @@ function (util, metadata, xhr, declare, array, domConstruct, win, query, json, _ { if (this.preferencesProviderTypeWidget.get("value") != "None") { - var preferencesProviderData = util.getFormWidgetValues(this.preferencesProviderForm); // TODO initialValues - var encodedPreferencesProviderName = encodeURIComponent(preferencesProviderData.name); + var preferencesProviderData = util.getFormWidgetValues(this.preferencesProviderForm, this.data) + var encodedPreferencesProviderName = encodeURIComponent(this.preferencesProviderNameWidget.get("value")); var success = false; var failureReason = null; xhr.put({ @@ -114,8 +114,13 @@ function (util, metadata, xhr, declare, array, domConstruct, win, query, json, _ handleAs: "json" }).then(function(data){that._load(data[0])}); }, + setData: function(data) + { + this._load(data); + }, _load:function(data) { + data = data || {} this.data = data; this.preferencesProviderNameWidget.set("value", data.name); if (data.type == this.preferencesProviderTypeWidget.get("value")) @@ -184,7 +189,10 @@ function (util, metadata, xhr, declare, array, domConstruct, win, query, json, _ { this.inherited(arguments); this.disabled = disabled; - this.reset(); + if (disabled) + { + this.reset(); + } }, }); }); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/show.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/filesystempreferences/show.js index 7521f820b9..46dedcc9f5 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/show.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/preferencesprovider/filesystempreferences/show.js @@ -28,7 +28,7 @@ define(["dojo/_base/xhr", function FileSystemPreferences(containerNode) { var that = this; - xhr.get({url: "authenticationprovider/preferences/filesystempreferences/show.html", + xhr.get({url: "preferencesprovider/filesystempreferences/show.html", sync: true, load: function(template) { containerNode.innerHTML = template; diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/authenticationprovider/preferences/filesystempreferences/show.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/preferencesprovider/filesystempreferences/show.html index 663415e6d5..663415e6d5 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/authenticationprovider/preferences/filesystempreferences/show.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/preferencesprovider/filesystempreferences/show.html diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/showAuthProvider.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/showAuthProvider.html index 362110a163..a669d7800d 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/showAuthProvider.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/showAuthProvider.html @@ -37,12 +37,10 @@ <div class="clear dijitDialogPaneActionBar"> <button data-dojo-type="dijit.form.Button" class="editAuthenticationProviderButton" type="button" data-dojo-props="disabled: true">Edit</button> <button data-dojo-type="dijit.form.Button" class="deleteAuthenticationProviderButton" type="button">Delete</button> + <button data-dojo-type="dijit.form.Button" class="addPreferencesProviderButton">Add Preferences Provider</button> </div> </div> <br/> - <div class="clear preferencesPanel" data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Preferences Provider', open: true"> - <div class="preferencesProviderDetails"></div> - <button data-dojo-type="dijit.form.Button" class="addPreferencesProviderButton">Add</button> - </div> + <div class="preferencesProviderDetails"></div> <br/> </div> diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferencesProvider.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferencesProvider.html index 9a8e651192..5d14aace76 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferencesProvider.html +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferencesProvider.html @@ -18,7 +18,7 @@ - under the License. - --> - <div class="preferencesProvider"> +<div class="preferencesProvider"> <div class="preferencesProviderAttributes" data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Preferences Provider Attributes', open: true"> <div class="clear"> <div class="formLabel-labelCell">Type:</div> @@ -33,10 +33,10 @@ <div class="preferencesProviderState"></div> </div> <div class="preferencesDetails"></div> - </div> - <div class="clear"></div> - <div class="clear dijitDialogPaneActionBar"> - <button data-dojo-type="dijit.form.Button" class="editPreferencesProviderButton">Edit</button> - <button data-dojo-type="dijit.form.Button" class="deletePreferencesProviderButton">Delete</button> + <div class="clear"></div> + <div class="clear dijitDialogPaneActionBar"> + <button data-dojo-type="dijit.form.Button" class="editPreferencesProviderButton">Edit</button> + <button data-dojo-type="dijit.form.Button" class="deletePreferencesProviderButton">Delete</button> + </div> </div> </div> |