summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-03-22 10:15:35 +0000
committerAlex Rudyy <orudyy@apache.org>2013-03-22 10:15:35 +0000
commita4ae83ad69b826bc62789052b398efc667af2409 (patch)
tree705f4153577d7b79812ad0eeba0ef47ee07d4f48 /qpid/java/broker-plugins
parent1c41f58539818f41482fdc59634f65c712393f25 (diff)
downloadqpid-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.js37
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;