diff options
| author | Alex Rudyy <orudyy@apache.org> | 2013-03-22 10:15:35 +0000 |
|---|---|---|
| committer | Alex Rudyy <orudyy@apache.org> | 2013-03-22 10:15:35 +0000 |
| commit | a4ae83ad69b826bc62789052b398efc667af2409 (patch) | |
| tree | 705f4153577d7b79812ad0eeba0ef47ee07d4f48 /qpid/java/broker-plugins | |
| parent | 1c41f58539818f41482fdc59634f65c712393f25 (diff) | |
| download | qpid-python-a4ae83ad69b826bc62789052b398efc667af2409.tar.gz | |
QPID-4661: Improve broker attribute editing UI to avoid sending of unmodified attributes, improve UI look-&-feel, improve broker attribute changing functionality to avoid unnecessary modifications
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1459695 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
| -rw-r--r-- | qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js | 37 |
1 files changed, 27 insertions, 10 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js index 6f3049ec0d..fea67d5942 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/util.js @@ -23,17 +23,21 @@ define(["dojo/_base/xhr", "dojo/_base/event", "dojo/_base/json", "dojo/_base/lang", + "dojo/dom-construct", + "dojo/dom-geometry", + "dojo/window", "dijit/Dialog", "dijit/form/Form", "dijit/form/Button", "dijit/form/RadioButton", "dijit/form/CheckBox", "dojox/layout/TableContainer", + "dojox/layout/ScrollPane", "dojox/validate/us", "dojox/validate/web", "dojo/domReady!" ], - function (xhr, event, json, lang) { + function (xhr, event, json, lang, dom, geometry, win) { var util = {}; if (Array.isArray) { util.isArray = function (object) { @@ -147,8 +151,16 @@ define(["dojo/_base/xhr", }); var submitButton = new dijit.form.Button({label: "Submit", type: "submit"}); var form = new dijit.form.Form(); - form.domNode.appendChild(layout.domNode); - form.domNode.appendChild(submitButton.domNode); + + var dialogContent = dom.create("div"); + var dialogContentArea = dom.create("div", { "class": "dijitDialogPaneContentArea"}); + var dialogActionBar = dom.create("div", { "class": "dijitDialogPaneActionBar"} ); + dialogContent.appendChild(dialogContentArea); + dialogContent.appendChild(dialogActionBar); + dialogContentArea.appendChild(layout.domNode) + dialogActionBar.appendChild(submitButton.domNode); + form.domNode.appendChild(dialogContent); + var widgets = {}; var requiredFor ={}; for(var i in attributeWidgetFactories) @@ -170,10 +182,6 @@ define(["dojo/_base/xhr", { var dependent = requiredFor[widgetName]; var widget = widgets[widgetName]; - if (widget.value) - { - dependent.set("required", true); - } if (widget) { widget.dependent = dependent; @@ -185,7 +193,7 @@ define(["dojo/_base/xhr", var setAttributesDialog = new dijit.Dialog({ title: dialogTitle, content: form, - style: "width: 600px" + style: "width: 600px; max-height: 80%" }); form.on("submit", function(e) { @@ -204,7 +212,7 @@ define(["dojo/_base/xhr", { values[ propName ] = widget.checked; } - else if (value != "" || (widget.initialValue && value != widget.initialValue)) + else if (value != widget.initialValue) { values[ propName ] = value ? value: null; } @@ -239,8 +247,17 @@ define(["dojo/_base/xhr", } }); form.connectChildren(true); + setAttributesDialog.startup(); + setAttributesDialog.on("show", function(){ + var data = geometry.position(layout.domNode); + var maxHeight = win.getBox().h * 0.6; + if (data.h > maxHeight) + { + dialogContentArea.style.height = maxHeight + "px"; + dialogContentArea.style.overflow= "auto"; + } + }) setAttributesDialog.show(); - }; return util; |
