QPID-8196) [Broker-J] [WMC] Make sure that edit form controls are populated with current values for type-based UI fragments loaded dynamically into editing form
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/4ac5997f Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/4ac5997f Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/4ac5997f Branch: refs/heads/master Commit: 4ac5997f450d167d8afbe2f3a49f7a7414c21656 Parents: 57bda83 Author: Alex Rudyy <[email protected]> Authored: Fri May 18 12:45:16 2018 +0100 Committer: Alex Rudyy <[email protected]> Committed: Fri May 25 20:58:34 2018 +0100 ---------------------------------------------------------------------- .../js/qpid/management/virtualhost/bdb/edit.js | 2 + .../qpid/management/virtualhost/bdb_ha/edit.js | 2 + .../qpid/management/virtualhost/bdb_ha/show.js | 9 +++ .../qpid/management/virtualhostnode/bdb/edit.js | 2 + .../management/virtualhostnode/bdb_ha/edit.js | 2 + .../qpid/management/virtualhost/derby/edit.js | 3 + .../management/virtualhostnode/derby/edit.js | 2 + .../qpid/management/store/pool/bonecp/show.js | 9 +++ .../js/qpid/management/virtualhost/jdbc/edit.js | 3 + .../js/qpid/management/virtualhost/jdbc/show.js | 9 +++ .../management/virtualhostnode/jdbc/edit.js | 2 + .../management/virtualhostnode/jdbc/show.js | 9 +++ .../main/java/resources/editVirtualHost.html | 5 +- .../js/qpid/management/editVirtualHost.js | 80 ++++++++------------ .../virtualhost/providedstore/edit.js | 3 + .../management/virtualhostnode/json/edit.js | 2 + 16 files changed, 93 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/edit.js ---------------------------------------------------------------------- diff --git a/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/edit.js b/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/edit.js index e59bcf2..19c5fc5 100644 --- a/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/edit.js +++ b/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/edit.js @@ -27,6 +27,8 @@ define(["dijit/registry", "qpid/common/util", "dojo/domReady!"], function (regis .set("regExpGen", util.numericOrContextVarRegexp); registry.byId("editVirtualHost.storeOverfullSize") .set("regExpGen", util.numericOrContextVarRegexp); + + util.applyToWidgets(data.containerNode, "VirtualHost", data.data.type, data.data, data.metadata); }); } }; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js ---------------------------------------------------------------------- diff --git a/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js b/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js index becc1e6..9c47130 100644 --- a/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js +++ b/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/edit.js @@ -27,6 +27,8 @@ define(["qpid/common/util", "dijit/registry", "dojo/domReady!"], function (util, .set("regExpGen", util.numericOrContextVarRegexp); registry.byId("editVirtualHost.storeOverfullSize") .set("regExpGen", util.numericOrContextVarRegexp); + + util.applyToWidgets(data.containerNode, "VirtualHost", data.data.type, data.data, data.metadata); }); } }; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js ---------------------------------------------------------------------- diff --git a/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js b/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js index 5e65c51..4d8d52f 100644 --- a/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js +++ b/bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/show.js @@ -33,11 +33,20 @@ define(["qpid/common/util", "dojo/query", "dojo/domReady!"], function (util, que query("." + localTransactionSynchronizationPolicy, data.containerNode)[0]; that[remoteTransactionSynchronizationPolicy] = query("." + remoteTransactionSynchronizationPolicy, data.containerNode)[0]; + that._initialized = true; }); } BDB.prototype.update = function (data) { + if (this._initialized) + { + this._update(data); + } + }; + + BDB.prototype._update = function (data) + { util.updateUI(data, fields, this); var localSyncPolicy = data[localTransactionSynchronizationPolicy] http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb/edit.js ---------------------------------------------------------------------- diff --git a/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb/edit.js b/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb/edit.js index 75b7dba..f7d51b7 100644 --- a/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb/edit.js +++ b/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb/edit.js @@ -25,6 +25,8 @@ define(["qpid/common/util", "dijit/registry", "dojo/domReady!"], function (util, { registry.byId("editVirtualHostNode.storePath") .set("disabled", !(data.data.state == "STOPPED" || data.data.state == "ERRORED")); + + util.applyToWidgets(data.containerNode, "VirtualHostNode", data.data.type, data.data, data.metadata); }); } }; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/edit.js ---------------------------------------------------------------------- diff --git a/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/edit.js b/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/edit.js index 14cd2d7..59d2337 100644 --- a/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/edit.js +++ b/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/edit.js @@ -125,6 +125,8 @@ define(["qpid/common/util", // add new option to list this.permittedNodesList.containerNode.appendChild(newOption); } + + util.applyToWidgets(data.containerNode, "VirtualHostNode", node.type, node, data.metadata); }, _clickAddPermittedNodeButton: function (e) { http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js ---------------------------------------------------------------------- diff --git a/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js b/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js index 23442b1..c593946 100644 --- a/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js +++ b/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhost/derby/edit.js @@ -27,6 +27,9 @@ define(["qpid/common/util", "dijit/registry", "dojo/domReady!"], function (util, .set("regExpGen", util.numericOrContextVarRegexp); registry.byId("editVirtualHost.storeOverfullSize") .set("regExpGen", util.numericOrContextVarRegexp); + + + util.applyToWidgets(data.containerNode, "VirtualHost", data.data.type, data.data, data.metadata); }); } }; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js ---------------------------------------------------------------------- diff --git a/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js b/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js index 03a943c..91af754 100644 --- a/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js +++ b/broker-plugins/derby-store/src/main/java/resources/js/qpid/management/virtualhostnode/derby/edit.js @@ -25,6 +25,8 @@ define(["qpid/common/util", "dijit/registry", "dojo/domReady!"], function (util, { registry.byId("editVirtualHostNode.storePath") .set("disabled", data.data.state != "STOPPED"); + + util.applyToWidgets(data.containerNode, "VirtualHostNode", data.data.type, data.data, data.metadata); }); } }; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js ---------------------------------------------------------------------- diff --git a/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js b/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js index 14e4ff0..0297165 100644 --- a/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js +++ b/broker-plugins/jdbc-provider-bone/src/main/java/resources/js/qpid/management/store/pool/bonecp/show.js @@ -40,6 +40,7 @@ define(["dojo/_base/xhr", "dojo/parser", "dojox/html/entities", "dojo/query", "d { var fieldName = fieldNames[i]; that[fieldName] = query("." + fieldName, containerNode)[0]; + that._initialized = true; } }); } @@ -48,6 +49,14 @@ define(["dojo/_base/xhr", "dojo/parser", "dojox/html/entities", "dojo/query", "d BoneCP.prototype.update = function (data) { + if (this._initialized) + { + this._update(data); + } + }; + + BoneCP.prototype._update = function (data) + { this.parent.management.load(this.parent.modelObj, { excludeInheritedContext: false, http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js ---------------------------------------------------------------------- diff --git a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js index 3fff164..2cbd3ac 100644 --- a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js +++ b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/edit.js @@ -87,6 +87,9 @@ define(["qpid/common/util", }); } }); + + + util.applyToWidgets(data.containerNode, "VirtualHost", data.data.type, data.data, data.metadata); } }; }); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js ---------------------------------------------------------------------- diff --git a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js index edf8dc3..2071881 100644 --- a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js +++ b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhost/jdbc/show.js @@ -37,11 +37,20 @@ define(["qpid/common/util", "dojo/query", "dojo/_base/array", "dojo/dom-construc that.usernameAttributeContainer = query(".usernameAttributeContainer", data.containerNode)[0]; that.connectionPoolTypeAttributeContainer = query(".connectionPoolTypeAttributeContainer", data.containerNode)[0]; + that._initialized = true; }); } JDBC.prototype.update = function (data) { + if (this._initialized) + { + this._update(data); + } + }; + + JDBC.prototype._update = function (data) + { var previousConnectionPoolType = this.connectionPoolType ? this.connectionPoolType.innerHTML : null; util.updateUI(data, fieldNames, this); this.usernameAttributeContainer.style.display = data.username ? "block" : "none"; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js ---------------------------------------------------------------------- diff --git a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js index 86ccb52..068412d 100644 --- a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js +++ b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/edit.js @@ -94,6 +94,8 @@ define(["qpid/common/util", }); } }); + + util.applyToWidgets(data.containerNode, "VirtualHostNode", data.data.type, data.data, data.metadata); } }; }); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js ---------------------------------------------------------------------- diff --git a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js index 1b7f9d8..3b3b97e 100644 --- a/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js +++ b/broker-plugins/jdbc-store/src/main/java/resources/js/qpid/management/virtualhostnode/jdbc/show.js @@ -38,11 +38,20 @@ define(["qpid/common/util", "dojo/query", "dojo/_base/array", "dojo/dom-construc that.usernameAttributeContainer = query(".usernameAttributeContainer", data.containerNode)[0]; that.connectionPoolTypeAttributeContainer = query(".connectionPoolTypeAttributeContainer", data.containerNode)[0]; + this._initialized = true; }); } Jdbc.prototype.update = function (data) { + if (this._initialized) + { + this._update(data); + } + }; + + Jdbc.prototype._update = function (data) + { var previousConnectionPoolType = this.connectionPoolType ? this.connectionPoolType.innerHTML : null; this.parent.editNodeButton.set("disabled", !(data.state == "STOPPED" || data.state == "ERRORED")); util.updateUI(data, fieldNames, this); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html ---------------------------------------------------------------------- diff --git a/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html b/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html index 042e05b..7d396d9 100644 --- a/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html +++ b/broker-plugins/management-http/src/main/java/resources/editVirtualHost.html @@ -119,14 +119,15 @@ </div> </div> <div class="clear"> - <div class="formLabel-labelCell tableContainer-labelCell">Statistics reporting period (s)</div> + <div class="formLabel-labelCell tableContainer-labelCell">Statistics reporting period (s):</div> <div class="tableContainer-valueCell formLabel-controlCell"> <input type="text" data-dojo-type="dijit/form/ValidationTextBox" + id="editVirtualHost.statisticsReportingPeriod" data-dojo-props=" name: 'statisticsReportingPeriod', trim: true, - placeholder: 'Time in seconds', + placeHolder: 'Time in seconds', label: 'Statistics reporting period (s):', promptMessage: 'Period with which statistics are reported to the log.'" /> </div> http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js ---------------------------------------------------------------------- diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js index fd0c577..67c8fa4 100644 --- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js +++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js @@ -81,21 +81,14 @@ define(["dojox/html/entities", TrackableStore, keys) { - var fields = ["name", - "connectionThreadPoolSize", - "storeTransactionIdleTimeoutWarn", - "storeTransactionIdleTimeoutClose", - "storeTransactionOpenTimeoutWarn", - "storeTransactionOpenTimeoutClose", - "housekeepingCheckPeriod", - "housekeepingThreadCount"]; var numericFieldNames = ["storeTransactionIdleTimeoutWarn", "storeTransactionIdleTimeoutClose", "storeTransactionOpenTimeoutWarn", "storeTransactionOpenTimeoutClose", "housekeepingCheckPeriod", "housekeepingThreadCount", - "connectionThreadPoolSize"]; + "connectionThreadPoolSize", + "statisticsReportingPeriod"]; var virtualHostEditor = { init: function () @@ -124,10 +117,10 @@ define(["dojox/html/entities", { that._save(e); }); - for (var i = 0; i < fields.length; i++) + // Add regexp to the numeric fields + for (var i = 0; i < numericFieldNames.length; i++) { - var fieldName = fields[i]; - this[fieldName] = registry.byId("editVirtualHost." + fieldName); + registry.byId("editVirtualHost." + numericFieldNames[i]).set("regExpGen", util.numericOrContextVarRegexp); } this.form = registry.byId("editVirtualHostForm"); this.form.on("submit", function () @@ -181,7 +174,13 @@ define(["dojox/html/entities", { data["context"] = context; } - data.nodeAutoCreationPolicies = this._getNodeAutoCreationPolicies(); + var nodeAutoCreationPolicies = this._getNodeAutoCreationPolicies(); + + if (!util.equals(nodeAutoCreationPolicies, this.initialData.nodeAutoCreationPolicies)) + { + data.nodeAutoCreationPolicies = nodeAutoCreationPolicies; + } + var that = this; this.management.update(that.modelObj, data) .then(function (x) @@ -197,30 +196,8 @@ define(["dojox/html/entities", _show: function (data) { this.initialData = data.actual; - for (var i = 0; i < fields.length; i++) - { - var fieldName = fields[i]; - var widget = this[fieldName]; - widget.reset(); - - if (widget instanceof dijit.form.CheckBox) - { - widget.set("checked", data.actual[fieldName]); - } - else - { - widget.set("value", data.actual[fieldName]); - } - } - + this.form.reset(); this.context.setData(data.actual.context, data.effective.context, data.inheritedActual.context); - - // Add regexp to the numeric fields - for (var i = 0; i < numericFieldNames.length; i++) - { - this[numericFieldNames[i]].set("regExpGen", util.numericOrContextVarRegexp); - } - var that = this; var widgets = registry.findWidgets(this.typeFieldsContainer); @@ -241,13 +218,6 @@ define(["dojox/html/entities", data: data.actual, metadata: metadata }); - that.form.connectChildren(); - - util.applyToWidgets(that.allFieldsContainer, - "VirtualHost", - data.actual.type, - data.actual, - metadata); } catch (e) { @@ -257,7 +227,12 @@ define(["dojox/html/entities", } } }); - + util.applyToWidgets(this.allFieldsContainer, + "VirtualHost", + data.actual.type, + data.actual, + this.management.metadata, + data.effective); this._initNodeAutoCreationPolicies(data.actual && data.actual.nodeAutoCreationPolicies ? data.actual.nodeAutoCreationPolicies : []); this.dialog.startup(); this.dialog.show(); @@ -441,14 +416,21 @@ define(["dojox/html/entities", return policies; }, _toNodeAutoCreationPolicyObject: function (policy) { - return { + var obj = { pattern: policy.pattern, nodeType: policy.type, - attributes: policy.attributes, - createdOnPublish: policy.createdOnPublish, - createdOnConsume: policy.createdOnConsume + attributes: policy.attributes }; - }, + if (policy.createdOnPublish === true) + { + obj.createdOnPublish = policy.createdOnPublish; + } + if (policy.createdOnConsume === true) + { + obj.createdOnConsume = policy.createdOnConsume; + } + return obj; + } }; virtualHostEditor.init(); http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhost/providedstore/edit.js ---------------------------------------------------------------------- diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhost/providedstore/edit.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhost/providedstore/edit.js index 680c623..c03a254 100644 --- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhost/providedstore/edit.js +++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhost/providedstore/edit.js @@ -28,6 +28,9 @@ define(["dijit/registry", "qpid/common/util", "dojo/domReady!"], function (regis .set("regExpGen", util.numericOrContextVarRegexp); registry.byId("editVirtualHost.storeOverfullSize") .set("regExpGen", util.numericOrContextVarRegexp); + + + util.applyToWidgets(data.containerNode, "VirtualHost", data.data.type, data.data, data.metadata); }); } }; http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/4ac5997f/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/edit.js ---------------------------------------------------------------------- diff --git a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/edit.js b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/edit.js index 75b7dba..f7d51b7 100644 --- a/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/edit.js +++ b/broker-plugins/management-http/src/main/java/resources/js/qpid/management/virtualhostnode/json/edit.js @@ -25,6 +25,8 @@ define(["qpid/common/util", "dijit/registry", "dojo/domReady!"], function (util, { registry.byId("editVirtualHostNode.storePath") .set("disabled", !(data.data.state == "STOPPED" || data.data.state == "ERRORED")); + + util.applyToWidgets(data.containerNode, "VirtualHostNode", data.data.type, data.data, data.metadata); }); } }; --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
