You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by lq...@apache.org on 2016/04/29 13:04:44 UTC
svn commit: r1741609 [4/31] - in /qpid/java/trunk:
bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb/
bdbstore/src/main/java/resources/js/qpid/management/virtualhost/bdb_ha/
bdbstore/src/main/java/resources/js/qpid/management/virtualh...
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ContextVariablesEditor.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ContextVariablesEditor.js?rev=1741609&r1=1741608&r2=1741609&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ContextVariablesEditor.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ContextVariablesEditor.js Fri Apr 29 11:04:40 2016
@@ -18,8 +18,7 @@
* under the License.
*
*/
-define([
- "qpid/common/util",
+define(["qpid/common/util",
"dojo/_base/declare",
"dojo/_base/array",
"dojo/_base/connect",
@@ -40,434 +39,501 @@ define([
"dojox/validate/us",
"dojox/validate/web",
"dojo/domReady!"],
-function (util, declare, array, connect, lang, domConstruct, parser, query, Memory, ObjectStore, _WidgetBase, registry, template)
- {
+ function (util, declare, array, connect, lang, domConstruct, parser, query, Memory, ObjectStore, _WidgetBase, registry, template)
+ {
- return declare("qpid.common.ContextVariablesEditor", [_WidgetBase], {
+ return declare("qpid.common.ContextVariablesEditor", [_WidgetBase], {
- value: null,
- effectiveValues: null,
- inheritedActualValues: null,
- domNode: null,
- _grid: null,
- _addButton: null,
- _deleteButton: null,
- _filterBox: null,
- _nextGridItemId: 0,
- _dynamicInheritedContext: {},
-
- constructor: function(args)
- {
- this._args = args;
- },
-
- buildRendering: function()
- {
- this.domNode = domConstruct.create("div", {innerHTML: template});
- parser.parse(this.domNode);
- },
-
- postCreate: function()
- {
- this.inherited(arguments);
- var that = this;
- var gridNode = query(".grid", this.domNode)[0];
- var addButtonNode = query(".addButton", this.domNode)[0];
- var deleteButtonNode = query(".deleteButton", this.domNode)[0];
- var addButton = registry.byNode(addButtonNode);
- var deleteButton = registry.byNode(deleteButtonNode);
- var layout = [[
- { name: "Name", field: "name", width: "40%", editable: true},
- { name: 'Actual Value', field: 'actualValue', width: '30%', editable: true},
- { name: 'Effective Value', field: 'effectiveValue', width: '30%', editable: false}
- ]];
- var data = [];
- var objectStore = new dojo.data.ObjectStore({objectStore: new Memory({data:data, idProperty: "id"})});
- var grid = new dojox.grid.EnhancedGrid({
- selectionMode: "multiple",
- store: objectStore,
- singleClickEdit: true,
- structure: layout,
- autoHeight: true,
- sortFields: [{attribute: 'name', descending: false}],
- plugins: {indirectSelection: true}
- }, gridNode);
- grid.canEdit = function(inCell, inRowIndex)
- {
- var item = grid.getItem(inRowIndex);
- return inCell.field == "actualValue" || (inCell.field=="name" && item && item["inherited"] == false);
- };
-
- this._grid = grid;
- this._deleteButton = deleteButton;
- this._addButtonNode = addButtonNode;
-
- var toggleGridButtons = function(index)
- {
- var data = grid.selection.getSelected();
- deleteButton.set("disabled", !data || data.length==0);
- };
-
- connect.connect(grid.selection, 'onSelected', toggleGridButtons);
- connect.connect(grid.selection, 'onDeselected', toggleGridButtons);
- connect.connect(grid, 'onStyleRow' , this, function(row) { that._onStyleRow(row); });
-
- deleteButton.set("disabled", true);
- addButton.on("click", function(event) { that._newItem(); });
- deleteButton.on("click", function(event) { that._deleteSelected(); });
- grid.on("applyEdit", function(inRowIndex) { that._onEdit(inRowIndex); });
- grid.startup();
- this._filterBox = registry.byNode(query(".filter", this.domNode)[0]);
- this._filterBox.on("change", function(value) { if (value) { that._filter(value); } });
- },
- resize: function()
- {
- this._grid.render();
- },
- setData: function(actualValues, allEffectiveValues, inheritedActualValues)
- {
- this.value = actualValues;
- this.effectiveValues = allEffectiveValues;
- this.inheritedActualValues = inheritedActualValues;
-
- var values = this._mergeValues(actualValues, allEffectiveValues, inheritedActualValues);
- this._originalValues = values;
-
- var grid = this._grid;
- if (grid)
- {
- // delete previous store data
- grid.store.fetch({
- onComplete:function(items,request)
- {
- if(items.length)
- {
- array.forEach(items, function(item)
- {
- grid.store.deleteItem(item);
- });
- }
- }
- });
-
- // add new data into grid store
- this._nextGridItemId = 0;
- for(var i=0; i<values.length; i++)
- {
- var item = values[i];
- var storeItem = {
- id: this._nextId(),
- name: item.name,
- actualValue: item.actualValue,
- effectiveValue: item.effectiveValue,
- "inherited": item["inherited"],
- changed: false
- };
- grid.store.newItem(storeItem);
- }
- grid.store.save();
- }
- this._filter(this._filterBox.value);
- this._handleOnChange(actualValues);
- },
- addInheritedContext: function(object)
- {
- if (object)
- {
- var grid = this._grid;
- for(key in object)
- {
- for(var i=0;i< this._originalValues.length;i++)
- {
- var varExists = false;
- if (this._originalValues[i].name == key)
- {
- varExists = true;
- break;
- }
- }
- if (!varExists && !(key in this._dynamicInheritedContext))
- {
- this._dynamicInheritedContext[key] = object[key];
- var storeItem = {
- id: this._nextId(),
- name: key,
- actualValue: object[key],
- effectiveValue: "",
- "inherited": true,
- changed: false
- };
- grid.store.newItem(storeItem);
- this._originalValues.push({name: key,
- actualValue: object[key],
- effectiveValue: "",
- "inherited": true,
- changed: false});
- }
- }
- grid.store.save();
- this._filter(this._filterBox.value);
- }
- },
- removeDynamicallyAddedInheritedContext: function()
- {
- if (this._dynamicInheritedContext)
- {
- var that = this;
- var grid = this._grid;
- grid.store.fetch({
- onComplete:function(items,request)
- {
- if(items.length)
- {
- for(key in that._dynamicInheritedContext)
- {
- var item = null;
- for(var i=0;i<items.length;i++)
- {
- if (items[i].name == key)
- {
- item = items[i];
- break;
- }
- }
- if (item && !item.changed)
- {
- grid.store.deleteItem(item);
- that._deleteOriginalItem(item);
- }
- }
- grid.store.save();
- that._dynamicInheritedContext = {};
- }
- }
- });
- }
- },
- destroy: function()
- {
- if (this.domNode)
- {
- this.domNode.destroy();
- this.domNode = null;
- }
- if (this._grid != null)
- {
- this._grid.destroyRecursively();
- this._grid = null;
- }
- if (this._addButton != null)
- {
- this._addButton.destroyRecursively();
- this._addButton = null;
- }
- if (this._deleteButton != null)
- {
- this._deleteButton.destroyRecursively();
- this._deleteButton = null;
- }
- },
- onChange: function(newValue){},
- _newItem: function()
- {
- var newItem = { id: this._nextId(), name: "", actualValue: "", effectiveValue: "", "inherited": false, changed: true};
- var grid = this._grid;
- grid.store.newItem(newItem);
- grid.store.save();
- grid.store.fetch(
- {
- onComplete:function(items,request)
+ value: null,
+ effectiveValues: null,
+ inheritedActualValues: null,
+ domNode: null,
+ _grid: null,
+ _addButton: null,
+ _deleteButton: null,
+ _filterBox: null,
+ _nextGridItemId: 0,
+ _dynamicInheritedContext: {},
+
+ constructor: function (args)
+ {
+ this._args = args;
+ },
+
+ buildRendering: function ()
+ {
+ this.domNode = domConstruct.create("div", {innerHTML: template});
+ parser.parse(this.domNode);
+ },
+
+ postCreate: function ()
{
- var rowIndex = items.length - 1;
- window.setTimeout(function()
+ this.inherited(arguments);
+ var that = this;
+ var gridNode = query(".grid", this.domNode)[0];
+ var addButtonNode = query(".addButton", this.domNode)[0];
+ var deleteButtonNode = query(".deleteButton", this.domNode)[0];
+ var addButton = registry.byNode(addButtonNode);
+ var deleteButton = registry.byNode(deleteButtonNode);
+ var layout = [[{
+ name: "Name",
+ field: "name",
+ width: "40%",
+ editable: true
+ },
+ {
+ name: 'Actual Value',
+ field: 'actualValue',
+ width: '30%',
+ editable: true
+ },
+ {
+ name: 'Effective Value',
+ field: 'effectiveValue',
+ width: '30%',
+ editable: false
+ }]];
+ var data = [];
+ var objectStore = new dojo.data.ObjectStore({
+ objectStore: new Memory({
+ data: data,
+ idProperty: "id"
+ })
+ });
+ var grid = new dojox.grid.EnhancedGrid({
+ selectionMode: "multiple",
+ store: objectStore,
+ singleClickEdit: true,
+ structure: layout,
+ autoHeight: true,
+ sortFields: [{
+ attribute: 'name',
+ descending: false
+ }],
+ plugins: {indirectSelection: true}
+ }, gridNode);
+ grid.canEdit = function (inCell, inRowIndex)
{
- grid.focus.setFocusIndex(rowIndex, 1 );
- },10);
- }
- });
- },
- _deleteSelected: function()
- {
- var that = this;
- var grid = this._grid;
- var data = grid.selection.getSelected();
- if(data.length > 0)
- {
- array.forEach(data, function(selectedItem) {
- if (selectedItem !== null && !selectedItem["inherited"])
- {
- grid.store.deleteItem(selectedItem);
- that._deleteOriginalItem(selectedItem.name);
- }
- });
- grid.store.save();
- grid.selection.deselectAll();
- this._valueChanged();
- }
- },
- _deleteOriginalItem: function(key)
- {
- for(var i=0;i< this._originalValues.length;i++)
- {
- if (this._originalValues[i].name == key)
- {
- this._originalValues = this._originalValues.splice(i, 1);
- break;
- }
- }
- },
- _onEdit:function(inRowIndex)
- {
- var grid = this._grid;
- var item = grid.getItem(inRowIndex);
- var previousItems = this._originalValues;
- var previousItemActualValue = null;
- for(var i=0;i<previousItems.length;i++)
- {
- if (previousItems[i].name == item.name)
- {
- previousItemActualValue = previousItems[i].actualValue;
- break;
- }
- }
-
- if (item.actualValue != previousItemActualValue)
- {
- if (!item.changed)
- {
- grid.store.setValue(item, "changed", true);
- grid.store.save();
- }
- }
- else
- {
- if (item["inherited"]== true && item.changed)
- {
- grid.store.setValue(item, "changed", false);
- grid.store.save();
- }
- }
- this._valueChanged();
- },
- _onStyleRow: function(row)
- {
- var grid = this._grid;
- var inRowIndex = row.index;
- var item = grid.getItem(inRowIndex);
- if (item && (item["inherited"] == false || item.changed))
- {
- row.customClasses += " highlightedText";
- }
- else
- {
- row.customClasses += " normalText";
- }
- grid.focus.styleRow(row);
- grid.edit.styleRow(row);
- },
- _filter: function(value)
- {
- this._grid.filter({"inherited": value});
- },
- _nextId: function()
- {
- this._nextGridItemId = this._nextGridItemId + 1;
- return this._nextGridItemId;
- },
- _valueChanged: function()
- {
- if (this._grid)
- {
- var value ={};
- var grid = this._grid;
- grid.store.fetch({
- onComplete:function(items,request)
- {
- if(items.length > 0)
- {
- array.forEach(items, function(item)
- {
- if (item !== null && item.name && ((item["inherited"] && item.changed) || !item["inherited"]))
+ var item = grid.getItem(inRowIndex);
+ return inCell.field == "actualValue" || (inCell.field == "name" && item && item["inherited"]
+ == false);
+ };
+
+ this._grid = grid;
+ this._deleteButton = deleteButton;
+ this._addButtonNode = addButtonNode;
+
+ var toggleGridButtons = function (index)
+ {
+ var data = grid.selection.getSelected();
+ deleteButton.set("disabled", !data || data.length == 0);
+ };
+
+ connect.connect(grid.selection, 'onSelected', toggleGridButtons);
+ connect.connect(grid.selection, 'onDeselected', toggleGridButtons);
+ connect.connect(grid, 'onStyleRow', this, function (row)
+ {
+ that._onStyleRow(row);
+ });
+
+ deleteButton.set("disabled", true);
+ addButton.on("click", function (event)
+ {
+ that._newItem();
+ });
+ deleteButton.on("click", function (event)
+ {
+ that._deleteSelected();
+ });
+ grid.on("applyEdit", function (inRowIndex)
+ {
+ that._onEdit(inRowIndex);
+ });
+ grid.startup();
+ this._filterBox = registry.byNode(query(".filter", this.domNode)[0]);
+ this._filterBox.on("change", function (value)
+ {
+ if (value)
+ {
+ that._filter(value);
+ }
+ });
+ },
+ resize: function ()
+ {
+ this._grid.render();
+ },
+ setData: function (actualValues, allEffectiveValues, inheritedActualValues)
+ {
+ this.value = actualValues;
+ this.effectiveValues = allEffectiveValues;
+ this.inheritedActualValues = inheritedActualValues;
+
+ var values = this._mergeValues(actualValues, allEffectiveValues, inheritedActualValues);
+ this._originalValues = values;
+
+ var grid = this._grid;
+ if (grid)
+ {
+ // delete previous store data
+ grid.store.fetch({
+ onComplete: function (items, request)
+ {
+ if (items.length)
+ {
+ array.forEach(items, function (item)
+ {
+ grid.store.deleteItem(item);
+ });
+ }
+ }
+ });
+
+ // add new data into grid store
+ this._nextGridItemId = 0;
+ for (var i = 0; i < values.length; i++)
+ {
+ var item = values[i];
+ var storeItem = {
+ id: this._nextId(),
+ name: item.name,
+ actualValue: item.actualValue,
+ effectiveValue: item.effectiveValue,
+ "inherited": item["inherited"],
+ changed: false
+ };
+ grid.store.newItem(storeItem);
+ }
+ grid.store.save();
+ }
+ this._filter(this._filterBox.value);
+ this._handleOnChange(actualValues);
+ },
+ addInheritedContext: function (object)
+ {
+ if (object)
+ {
+ var grid = this._grid;
+ for (key in object)
+ {
+ for (var i = 0; i < this._originalValues.length; i++)
+ {
+ var varExists = false;
+ if (this._originalValues[i].name == key)
{
- value[item.name]=item.actualValue;
+ varExists = true;
+ break;
}
- });
- }
- }
- });
- if (!util.equals(this.value, value))
- {
- this.value = value;
- this._handleOnChange(value);
- }
- }
- },
- _setValueAttr: function(actualValues)
- {
- this.value = actualValues;
- if (this.inheritedActualValues!=null && this.effectiveValues != null)
- {
- this.setData(this.value, this.effectiveValues, this.inheritedActualValues);
- }
- },
- _setEffectiveValuesAttr: function(effectiveValues)
- {
- this.effectiveValues = effectiveValues;
- if (this.value != null && this.inheritedActualValues !=null)
- {
- this.setData(this.value, this.effectiveValues, this.inheritedActualValues);
- }
- },
- _setInheritedActualValues: function(inheritedActualValues)
- {
- this.inheritedActualValues = inheritedActualValues;
- if (this.value!= null && this.effectiveValues != null)
- {
- this.setData(this.value, this.effectiveValues, this.inheritedActualValues);
- }
- },
- _mergeValues: function(actualValues, allEffectiveValues, inheritedActualValues)
- {
- var fields = [];
-
- if (allEffectiveValues)
- {
- for(var key in allEffectiveValues)
- {
- if (!actualValues || !(key in actualValues))
- {
- var actualValue = inheritedActualValues && key in inheritedActualValues ? inheritedActualValues[key] : allEffectiveValues[key];
- fields.push({name: key, actualValue: actualValue, effectiveValue: allEffectiveValues[key], "inherited": true});
- }
- }
- }
-
- if (actualValues)
- {
- for(var key in actualValues)
- {
- var effectiveValue = allEffectiveValues && key in allEffectiveValues ? allEffectiveValues[key]: actualValues[key];
- fields.push({name: key, actualValue: actualValues[key], effectiveValue: effectiveValue, "inherited": false});
- }
- }
- return fields;
- },
- _handleOnChange: function(newValue)
- {
- if (!util.equals(this._lastValueReported, newValue))
- {
- this._lastValueReported = newValue;
- if(this._onChangeHandle)
- {
- this._onChangeHandle.remove();
- }
- this._onChangeHandle = this.defer(function()
- {
- this._onChangeHandle = null;
- this.onChange(newValue);
- });
- }
- }
+ }
+ if (!varExists && !(key in this._dynamicInheritedContext))
+ {
+ this._dynamicInheritedContext[key] = object[key];
+ var storeItem = {
+ id: this._nextId(),
+ name: key,
+ actualValue: object[key],
+ effectiveValue: "",
+ "inherited": true,
+ changed: false
+ };
+ grid.store.newItem(storeItem);
+ this._originalValues.push({
+ name: key,
+ actualValue: object[key],
+ effectiveValue: "",
+ "inherited": true,
+ changed: false
+ });
+ }
+ }
+ grid.store.save();
+ this._filter(this._filterBox.value);
+ }
+ },
+ removeDynamicallyAddedInheritedContext: function ()
+ {
+ if (this._dynamicInheritedContext)
+ {
+ var that = this;
+ var grid = this._grid;
+ grid.store.fetch({
+ onComplete: function (items, request)
+ {
+ if (items.length)
+ {
+ for (key in that._dynamicInheritedContext)
+ {
+ var item = null;
+ for (var i = 0; i < items.length; i++)
+ {
+ if (items[i].name == key)
+ {
+ item = items[i];
+ break;
+ }
+ }
+ if (item && !item.changed)
+ {
+ grid.store.deleteItem(item);
+ that._deleteOriginalItem(item);
+ }
+ }
+ grid.store.save();
+ that._dynamicInheritedContext = {};
+ }
+ }
+ });
+ }
+ },
+ destroy: function ()
+ {
+ if (this.domNode)
+ {
+ this.domNode.destroy();
+ this.domNode = null;
+ }
+ if (this._grid != null)
+ {
+ this._grid.destroyRecursively();
+ this._grid = null;
+ }
+ if (this._addButton != null)
+ {
+ this._addButton.destroyRecursively();
+ this._addButton = null;
+ }
+ if (this._deleteButton != null)
+ {
+ this._deleteButton.destroyRecursively();
+ this._deleteButton = null;
+ }
+ },
+ onChange: function (newValue)
+ {
+ },
+ _newItem: function ()
+ {
+ var newItem = {
+ id: this._nextId(),
+ name: "",
+ actualValue: "",
+ effectiveValue: "",
+ "inherited": false,
+ changed: true
+ };
+ var grid = this._grid;
+ grid.store.newItem(newItem);
+ grid.store.save();
+ grid.store.fetch({
+ onComplete: function (items, request)
+ {
+ var rowIndex = items.length - 1;
+ window.setTimeout(function ()
+ {
+ grid.focus.setFocusIndex(rowIndex, 1);
+ }, 10);
+ }
+ });
+ },
+ _deleteSelected: function ()
+ {
+ var that = this;
+ var grid = this._grid;
+ var data = grid.selection.getSelected();
+ if (data.length > 0)
+ {
+ array.forEach(data, function (selectedItem)
+ {
+ if (selectedItem !== null && !selectedItem["inherited"])
+ {
+ grid.store.deleteItem(selectedItem);
+ that._deleteOriginalItem(selectedItem.name);
+ }
+ });
+ grid.store.save();
+ grid.selection.deselectAll();
+ this._valueChanged();
+ }
+ },
+ _deleteOriginalItem: function (key)
+ {
+ for (var i = 0; i < this._originalValues.length; i++)
+ {
+ if (this._originalValues[i].name == key)
+ {
+ this._originalValues = this._originalValues.splice(i, 1);
+ break;
+ }
+ }
+ },
+ _onEdit: function (inRowIndex)
+ {
+ var grid = this._grid;
+ var item = grid.getItem(inRowIndex);
+ var previousItems = this._originalValues;
+ var previousItemActualValue = null;
+ for (var i = 0; i < previousItems.length; i++)
+ {
+ if (previousItems[i].name == item.name)
+ {
+ previousItemActualValue = previousItems[i].actualValue;
+ break;
+ }
+ }
+
+ if (item.actualValue != previousItemActualValue)
+ {
+ if (!item.changed)
+ {
+ grid.store.setValue(item, "changed", true);
+ grid.store.save();
+ }
+ }
+ else
+ {
+ if (item["inherited"] == true && item.changed)
+ {
+ grid.store.setValue(item, "changed", false);
+ grid.store.save();
+ }
+ }
+ this._valueChanged();
+ },
+ _onStyleRow: function (row)
+ {
+ var grid = this._grid;
+ var inRowIndex = row.index;
+ var item = grid.getItem(inRowIndex);
+ if (item && (item["inherited"] == false || item.changed))
+ {
+ row.customClasses += " highlightedText";
+ }
+ else
+ {
+ row.customClasses += " normalText";
+ }
+ grid.focus.styleRow(row);
+ grid.edit.styleRow(row);
+ },
+ _filter: function (value)
+ {
+ this._grid.filter({"inherited": value});
+ },
+ _nextId: function ()
+ {
+ this._nextGridItemId = this._nextGridItemId + 1;
+ return this._nextGridItemId;
+ },
+ _valueChanged: function ()
+ {
+ if (this._grid)
+ {
+ var value = {};
+ var grid = this._grid;
+ grid.store.fetch({
+ onComplete: function (items, request)
+ {
+ if (items.length > 0)
+ {
+ array.forEach(items, function (item)
+ {
+ if (item !== null && item.name && ((item["inherited"]
+ && item.changed)
+ || !item["inherited"]))
+ {
+ value[item.name] = item.actualValue;
+ }
+ });
+ }
+ }
+ });
+ if (!util.equals(this.value, value))
+ {
+ this.value = value;
+ this._handleOnChange(value);
+ }
+ }
+ },
+ _setValueAttr: function (actualValues)
+ {
+ this.value = actualValues;
+ if (this.inheritedActualValues != null && this.effectiveValues != null)
+ {
+ this.setData(this.value, this.effectiveValues, this.inheritedActualValues);
+ }
+ },
+ _setEffectiveValuesAttr: function (effectiveValues)
+ {
+ this.effectiveValues = effectiveValues;
+ if (this.value != null && this.inheritedActualValues != null)
+ {
+ this.setData(this.value, this.effectiveValues, this.inheritedActualValues);
+ }
+ },
+ _setInheritedActualValues: function (inheritedActualValues)
+ {
+ this.inheritedActualValues = inheritedActualValues;
+ if (this.value != null && this.effectiveValues != null)
+ {
+ this.setData(this.value, this.effectiveValues, this.inheritedActualValues);
+ }
+ },
+ _mergeValues: function (actualValues, allEffectiveValues, inheritedActualValues)
+ {
+ var fields = [];
+
+ if (allEffectiveValues)
+ {
+ for (var key in allEffectiveValues)
+ {
+ if (!actualValues || !(key in actualValues))
+ {
+ var actualValue = inheritedActualValues && key in inheritedActualValues
+ ? inheritedActualValues[key]
+ : allEffectiveValues[key];
+ fields.push({
+ name: key,
+ actualValue: actualValue,
+ effectiveValue: allEffectiveValues[key],
+ "inherited": true
+ });
+ }
+ }
+ }
+
+ if (actualValues)
+ {
+ for (var key in actualValues)
+ {
+ var effectiveValue = allEffectiveValues && key in allEffectiveValues
+ ? allEffectiveValues[key]
+ : actualValues[key];
+ fields.push({
+ name: key,
+ actualValue: actualValues[key],
+ effectiveValue: effectiveValue,
+ "inherited": false
+ });
+ }
+ }
+ return fields;
+ },
+ _handleOnChange: function (newValue)
+ {
+ if (!util.equals(this._lastValueReported, newValue))
+ {
+ this._lastValueReported = newValue;
+ if (this._onChangeHandle)
+ {
+ this._onChangeHandle.remove();
+ }
+ this._onChangeHandle = this.defer(function ()
+ {
+ this._onChangeHandle = null;
+ this.onChange(newValue);
+ });
+ }
+ }
- });
-});
+ });
+ });
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/FormWidgetMixin.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/FormWidgetMixin.js?rev=1741609&r1=1741608&r2=1741609&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/FormWidgetMixin.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/FormWidgetMixin.js Fri Apr 29 11:04:40 2016
@@ -18,25 +18,24 @@
* under the License.
*
*/
-define(["dojo/_base/declare"], function(declare)
+define(["dojo/_base/declare"], function (declare)
{
- return declare("qpid.common.FormWidgetMixin", null,
- {
+ return declare("qpid.common.FormWidgetMixin", null, {
name: "",
value: "",
_onChangeActive: false,
- compare: function(val1, val2)
+ compare: function (val1, val2)
{
- if(typeof val1 == "number" && typeof val2 == "number")
+ if (typeof val1 == "number" && typeof val2 == "number")
{
return (isNaN(val1) && isNaN(val2)) ? 0 : val1 - val2;
}
- else if(val1 > val2)
+ else if (val1 > val2)
{
return 1;
}
- else if(val1 < val2)
+ else if (val1 < val2)
{
return -1;
}
@@ -45,55 +44,61 @@ define(["dojo/_base/declare"], function(
return 0;
}
},
- onChange: function()
+ onChange: function ()
{
},
- _setValueAttr: function(newValue, priorityChange)
+ _setValueAttr: function (newValue, priorityChange)
{
this._handleOnChange(newValue, priorityChange);
},
- _handleOnChange: function(newValue, priorityChange)
+ _handleOnChange: function (newValue, priorityChange)
{
this._set("value", newValue);
- if(this._lastValueReported == undefined && (priorityChange === null || !this._onChangeActive))
+ if (this._lastValueReported == undefined && (priorityChange === null || !this._onChangeActive))
{
this._resetValue = this._lastValueReported = newValue;
}
- this._pendingOnChange = this._pendingOnChange || (typeof newValue != typeof this._lastValueReported)
- || (this.compare(newValue, this._lastValueReported) != 0);
- if(( priorityChange || priorityChange === undefined) && this._pendingOnChange)
+ this._pendingOnChange =
+ this._pendingOnChange || (typeof newValue != typeof this._lastValueReported) || (this.compare(newValue,
+ this._lastValueReported)
+ != 0);
+ if (( priorityChange || priorityChange === undefined) && this._pendingOnChange)
{
this._lastValueReported = newValue;
this._pendingOnChange = false;
- if(this._onChangeActive)
+ if (this._onChangeActive)
{
- if(this._onChangeHandle)
+ if (this._onChangeHandle)
{
this._onChangeHandle.remove();
}
- this._onChangeHandle = this.defer(function() { this._onChangeHandle = null; this.onChange(newValue); });
+ this._onChangeHandle = this.defer(function ()
+ {
+ this._onChangeHandle = null;
+ this.onChange(newValue);
+ });
}
}
},
- create: function()
+ create: function ()
{
- this.inherited(arguments);
- this._onChangeActive = true;
+ this.inherited(arguments);
+ this._onChangeActive = true;
},
- destroy: function()
+ destroy: function ()
{
- if(this._onChangeHandle)
+ if (this._onChangeHandle)
{
this._onChangeHandle.remove();
this.onChange(this._lastValueReported);
}
this.inherited(arguments);
},
- undo: function()
+ undo: function ()
{
this._setValueAttr(this._lastValueReported, false);
},
- reset: function()
+ reset: function ()
{
this._hasBeenBlurred = false;
this._setValueAttr(this._resetValue, true);
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/JsonRest.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/JsonRest.js?rev=1741609&r1=1741608&r2=1741609&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/JsonRest.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/JsonRest.js Fri Apr 29 11:04:40 2016
@@ -19,67 +19,70 @@
*
*/
- define(["dojo/_base/lang", "dojo/json", "dojo/_base/declare", "dojo/store/util/QueryResults"],
- function( lang, json, declare, QueryResults )
- {
- return declare("qpid.common.JsonRest", null,
- {
- headers: {},
- idProperty: "id",
- firstProperty: "first",
- lastProperty: "last",
- accepts: "application/javascript, application/json",
- queryOperation: null,
- modelObject: null,
- management: null,
-
- constructor: function(options)
- {
- this.headers = {};
- this.management = options.management;
- this.modelObject = options.modelObject;
- this.queryOperation = options.queryOperation;
- declare.safeMixin(this, options);
- },
-
- getIdentity: function(object)
- {
- return object[this.idProperty];
- },
-
- query: function(query, options)
- {
- query = query || {};
- options = options || {};
- var headers = lang.mixin({ Accept: this.accepts }, this.headers, options.headers);
-
- query[this.firstProperty]= options.start >= 0 ? options.start : -1;
- query[this.lastProperty] = options.count >= 0 && query.first >= 0 ? options.count + query.first : -1;
-
- if(options.start >= 0 || options.count >= 0)
- {
- headers["X-Range"] = "items=" + (options.start || '0') + '-' +
- (("count" in options && options.count != Infinity) ?
- (options.count + (options.start || 0) - 1) : '');
- headers.Range = headers["X-Range"];
- }
-
- var modelObj = {name: this.queryOperation, parent: this.modelObject, type: this.modelObject.type};
- var results = management.load(modelObj,
- query,
- {headers: headers});
-
- results.total = results.response.then(function(response)
- {
- var range = response.getHeader("Content-Range");
- if (!range)
- {
- range = response.getHeader("X-Content-Range");
- }
- return range && (range = range.match(/\/(.*)/)) && +range[1];
- });
- return QueryResults(results);
- }
- });
+define(["dojo/_base/lang", "dojo/json", "dojo/_base/declare", "dojo/store/util/QueryResults"],
+ function (lang, json, declare, QueryResults)
+ {
+ return declare("qpid.common.JsonRest", null, {
+ headers: {},
+ idProperty: "id",
+ firstProperty: "first",
+ lastProperty: "last",
+ accepts: "application/javascript, application/json",
+ queryOperation: null,
+ modelObject: null,
+ management: null,
+
+ constructor: function (options)
+ {
+ this.headers = {};
+ this.management = options.management;
+ this.modelObject = options.modelObject;
+ this.queryOperation = options.queryOperation;
+ declare.safeMixin(this, options);
+ },
+
+ getIdentity: function (object)
+ {
+ return object[this.idProperty];
+ },
+
+ query: function (query, options)
+ {
+ query = query || {};
+ options = options || {};
+ var headers = lang.mixin({Accept: this.accepts}, this.headers, options.headers);
+
+ query[this.firstProperty] = options.start >= 0 ? options.start : -1;
+ query[this.lastProperty] = options.count >= 0 && query.first >= 0 ? options.count + query.first : -1;
+
+ if (options.start >= 0 || options.count >= 0)
+ {
+ headers["X-Range"] =
+ "items=" + (options.start || '0') + '-' + (("count" in options && options.count != Infinity)
+ ? (options.count + (options.start || 0) - 1)
+ : '');
+ headers.Range = headers["X-Range"];
+ }
+
+ var modelObj = {
+ name: this.queryOperation,
+ parent: this.modelObject,
+ type: this.modelObject.type
+ };
+ var results = management.load(modelObj, query, {headers: headers});
+
+ results.total = results.response.then(function (response)
+ {
+ var range = response.getHeader("Content-Range");
+ if (!range)
+ {
+ range = response.getHeader("X-Content-Range");
+ }
+ return range && (range = range.match(/\/(.*)/))
+ && +range[1];
+ });
+ return QueryResults(results);
+ }
+ });
- });
+ });
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js?rev=1741609&r1=1741608&r2=1741609&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js Fri Apr 29 11:04:40 2016
@@ -18,8 +18,7 @@
* under the License.
*
*/
-define([
- "dojo/_base/declare",
+define(["dojo/_base/declare",
"dojo/_base/array",
"dojo/_base/lang",
"qpid/common/util",
@@ -35,170 +34,186 @@ define([
"dojox/validate/us",
"dojox/validate/web",
"dojo/domReady!"],
-function (declare, array, lang, util, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, FormWidgetMixin, template, entities)
-{
+ function (declare, array, lang, util, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, FormWidgetMixin, template, entities)
+ {
- return declare("qpid.common.ResourceWidget", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, FormWidgetMixin],
- {
- templateString: template,
- fileReaderSupported: window.FileReader ? true : false,
- displayWarningWhenFileReaderUnsupported: false,
- isDebug: false,
- uploaded: false,
+ return declare("qpid.common.ResourceWidget",
+ [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, FormWidgetMixin],
+ {
+ templateString: template,
+ fileReaderSupported: window.FileReader ? true : false,
+ displayWarningWhenFileReaderUnsupported: false,
+ isDebug: false,
+ uploaded: false,
- buildRendering: function()
- {
- //Strip out the apache comment header from the template html as comments unsupported.
- this.templateString = this.templateString.replace(/<!--[\s\S]*?-->/g, "");
- this.inherited(arguments);
- },
- postCreate: function()
- {
- this.inherited(arguments);
+ buildRendering: function ()
+ {
+ //Strip out the apache comment header from the template html as comments unsupported.
+ this.templateString = this.templateString.replace(/<!--[\s\S]*?-->/g, "");
+ this.inherited(arguments);
+ },
+ postCreate: function ()
+ {
+ this.inherited(arguments);
- if(this._resetValue === undefined)
- {
- this._lastValueReported = this._resetValue = this.value;
- }
+ if (this._resetValue === undefined)
+ {
+ this._lastValueReported = this._resetValue = this.value;
+ }
- var that = this;
+ var that = this;
- if (this.fileReaderSupported)
- {
- this.fileReader= new FileReader();
- this.fileReader.onload = function(evt) {that._uploadFileComplete(evt);};
- this.fileReader.onerror = function(ex) {console.error("Failed to load file for " + this.name, ex);};
- this.uploader.on("change", function(selected){that._fileChanged(selected)});
- this.clearButton.on("click", function(event){that._fileClearButtonClicked(event)});
- }
- else
- {
- // Fall back for IE8/9 which do not support FileReader
- this.uploadFields.style.display = "none";
- if (this.displayWarningWhenFileReaderUnsupported)
- {
- this.unsupportedWarning.className = this.unsupportedWarning.className.replace("hidden", "");
- }
- }
- this.resourceLocation.on("blur", function(){that._pathChanged()});
- this._originalValue = arguments.value;
- if (this.placeHolder)
- {
- this.resourceLocation.set("placeHolder", this.placeHolder);
- }
- if (this.promptMessage)
- {
- this.resourceLocation.set("promptMessage", this.promptMessage);
- }
- if (this.title)
- {
- this.resourceLocation.set("title", this.title);
- }
- this.resourceLocation.set("required", this.required ? true : false);
- this.uploadData.style.display = "none";
- },
- startup: function()
- {
- if (this.fileReaderSupported)
- {
- this.uploader.startup();
- }
- },
- destroy: function()
- {
- if (this.fileReaderSupported && this.fileReader)
- {
- util.abortReaderSafely(this.fileReader);
- }
- this.inherited(arguments);
- },
- _fileChanged: function (evt)
- {
- var file = this.uploader.domNode.children[0].files[0];
- this.selectedFileName = file.name;
- this.selectedFile.innerHTML = file.name;
- this.selectedFileStatus.className = "loadingIcon";
- if (this.isDebug)
- {
- this._log("Beginning to read file " + file.name + " for " + this.name);
- }
- this.fileReader.readAsDataURL(file);
- },
- _uploadFileComplete: function(evt)
- {
- var reader = evt.target;
- var result = reader.result;
- if (this.isDebug)
- {
- this._log(this.name + " file read complete, contents " + result);
- }
- this.set("value", result);
- },
- _fileClearButtonClicked: function(event)
- {
- this.uploaded = false;
- this.uploader.reset();
- this.set("value", this._resetValue);
- },
- _pathChanged: function()
- {
- var serverPathValue = this.resourceLocation.get("value") || this._resetValue;
- this.set("value", serverPathValue);
- if (this.uploaded )
- {
- this.uploaded = !serverPathValue;
- }
- },
- _setValueAttr: function(newValue, priorityChange)
- {
- var isDataUrl = this.uploaded || ( newValue && newValue.indexOf("data:") == 0 );
- if (isDataUrl)
- {
- this._initUploaded(true);
- }
- else
- {
- this.resourceLocation.set("value", newValue);
- this.selectedFileName = null;
- this.selectedFileStatus.className = "";
- this.selectedFile.innerHTML = "";
- this.resourceLocation.set("required", this.required ? true : false);
- this.resourceLocation.setDisabled(false);
- this.clearButton.setDisabled(true);
- this.uploadData.style.display = "none";
- }
- this.inherited(arguments);
- },
- _log: function(message)
- {
- if (this.isDebug)
- {
- console.log(message);
- }
- },
- _setPlaceHolderAttr: function(newValue)
- {
- this.resourceLocation.set("placeHolder", newValue);
- },
- _setUploadedAttr: function(uploaded)
- {
- this.uploaded = uploaded;
- this._initUploaded(uploaded);
- },
- _initUploaded: function(uploaded)
- {
- if (uploaded)
- {
- this.uploadData.style.display = "block";
- this.selectedFileStatus.className = "loadedIcon";
- this.selectedFile.innerHTML = this.selectedFileName || "uploaded data";
- this.resourceLocation.set("value", "");
- this.resourceLocation.setDisabled(true);
- this.resourceLocation.set("required", false);
- this.clearButton.setDisabled(false);
- this.selectedFileStatus.className = "loadedIcon";
- }
- }
- }
- );
-});
+ if (this.fileReaderSupported)
+ {
+ this.fileReader = new FileReader();
+ this.fileReader.onload = function (evt)
+ {
+ that._uploadFileComplete(evt);
+ };
+ this.fileReader.onerror = function (ex)
+ {
+ console.error("Failed to load file for " + this.name, ex);
+ };
+ this.uploader.on("change", function (selected)
+ {
+ that._fileChanged(selected)
+ });
+ this.clearButton.on("click", function (event)
+ {
+ that._fileClearButtonClicked(event)
+ });
+ }
+ else
+ {
+ // Fall back for IE8/9 which do not support FileReader
+ this.uploadFields.style.display = "none";
+ if (this.displayWarningWhenFileReaderUnsupported)
+ {
+ this.unsupportedWarning.className =
+ this.unsupportedWarning.className.replace("hidden", "");
+ }
+ }
+ this.resourceLocation.on("blur", function ()
+ {
+ that._pathChanged()
+ });
+ this._originalValue = arguments.value;
+ if (this.placeHolder)
+ {
+ this.resourceLocation.set("placeHolder", this.placeHolder);
+ }
+ if (this.promptMessage)
+ {
+ this.resourceLocation.set("promptMessage", this.promptMessage);
+ }
+ if (this.title)
+ {
+ this.resourceLocation.set("title", this.title);
+ }
+ this.resourceLocation.set("required", this.required ? true : false);
+ this.uploadData.style.display = "none";
+ },
+ startup: function ()
+ {
+ if (this.fileReaderSupported)
+ {
+ this.uploader.startup();
+ }
+ },
+ destroy: function ()
+ {
+ if (this.fileReaderSupported && this.fileReader)
+ {
+ util.abortReaderSafely(this.fileReader);
+ }
+ this.inherited(arguments);
+ },
+ _fileChanged: function (evt)
+ {
+ var file = this.uploader.domNode.children[0].files[0];
+ this.selectedFileName = file.name;
+ this.selectedFile.innerHTML = file.name;
+ this.selectedFileStatus.className = "loadingIcon";
+ if (this.isDebug)
+ {
+ this._log("Beginning to read file " + file.name + " for " + this.name);
+ }
+ this.fileReader.readAsDataURL(file);
+ },
+ _uploadFileComplete: function (evt)
+ {
+ var reader = evt.target;
+ var result = reader.result;
+ if (this.isDebug)
+ {
+ this._log(this.name + " file read complete, contents " + result);
+ }
+ this.set("value", result);
+ },
+ _fileClearButtonClicked: function (event)
+ {
+ this.uploaded = false;
+ this.uploader.reset();
+ this.set("value", this._resetValue);
+ },
+ _pathChanged: function ()
+ {
+ var serverPathValue = this.resourceLocation.get("value") || this._resetValue;
+ this.set("value", serverPathValue);
+ if (this.uploaded)
+ {
+ this.uploaded = !serverPathValue;
+ }
+ },
+ _setValueAttr: function (newValue, priorityChange)
+ {
+ var isDataUrl = this.uploaded || ( newValue && newValue.indexOf("data:") == 0 );
+ if (isDataUrl)
+ {
+ this._initUploaded(true);
+ }
+ else
+ {
+ this.resourceLocation.set("value", newValue);
+ this.selectedFileName = null;
+ this.selectedFileStatus.className = "";
+ this.selectedFile.innerHTML = "";
+ this.resourceLocation.set("required", this.required ? true : false);
+ this.resourceLocation.setDisabled(false);
+ this.clearButton.setDisabled(true);
+ this.uploadData.style.display = "none";
+ }
+ this.inherited(arguments);
+ },
+ _log: function (message)
+ {
+ if (this.isDebug)
+ {
+ console.log(message);
+ }
+ },
+ _setPlaceHolderAttr: function (newValue)
+ {
+ this.resourceLocation.set("placeHolder", newValue);
+ },
+ _setUploadedAttr: function (uploaded)
+ {
+ this.uploaded = uploaded;
+ this._initUploaded(uploaded);
+ },
+ _initUploaded: function (uploaded)
+ {
+ if (uploaded)
+ {
+ this.uploadData.style.display = "block";
+ this.selectedFileStatus.className = "loadedIcon";
+ this.selectedFile.innerHTML = this.selectedFileName || "uploaded data";
+ this.resourceLocation.set("value", "");
+ this.resourceLocation.setDisabled(true);
+ this.resourceLocation.set("required", false);
+ this.clearButton.setDisabled(false);
+ this.selectedFileStatus.className = "loadedIcon";
+ }
+ }
+ });
+ });
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js?rev=1741609&r1=1741608&r2=1741609&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js Fri Apr 29 11:04:40 2016
@@ -18,8 +18,7 @@
* under the License.
*
*/
-define([
- "dojo/_base/declare",
+define(["dojo/_base/declare",
"dojo/_base/array",
"dojo/dom-construct",
"dojo/parser",
@@ -35,192 +34,216 @@ define([
"dojox/validate/us",
"dojox/validate/web",
"dojo/domReady!"],
-function (declare, array, domConstruct, parser, query, domStyle, Memory, _WidgetBase, registry, template) {
+ function (declare, array, domConstruct, parser, query, domStyle, Memory, _WidgetBase, registry, template)
+ {
- var preferencesRegions = ["Africa","America","Antarctica","Arctic","Asia","Atlantic","Australia","Europe","Indian","Pacific"];
+ var preferencesRegions = ["Africa",
+ "America",
+ "Antarctica",
+ "Arctic",
+ "Asia",
+ "Atlantic",
+ "Australia",
+ "Europe",
+ "Indian",
+ "Pacific"];
+
+ function initSupportedRegions()
+ {
+ var supportedRegions = [{
+ "id": "undefined",
+ "name": "Undefined"
+ }];
+ for (var j = 0; j < preferencesRegions.length; j++)
+ {
+ supportedRegions.push({
+ id: preferencesRegions[j],
+ name: preferencesRegions[j]
+ });
+ }
+ return supportedRegions;
+ }
+
+ return declare("qpid.common.TimeZoneSelector", [_WidgetBase], {
+
+ value: null,
+ domNode: null,
+ _regionSelector: null,
+ _citySelector: null,
+ _utcSelector: null,
+
+ constructor: function (args)
+ {
+ this._args = args;
+ this.timezones = args.timezones;
+ },
+
+ buildRendering: function ()
+ {
+ this.domNode = domConstruct.create("div", {innerHTML: template});
+ parser.parse(this.domNode);
+ },
+
+ postCreate: function ()
+ {
+ this.inherited(arguments);
+
+ var self = this;
+ if (this._args.labelStyle)
+ {
+ var nl = query(".labelClass", this.domNode);
+ array.forEach(nl, function (entry, i)
+ {
+ domStyle.set(entry, self._args.labelStyle)
+ });
+ }
+ var supportedTimeZones = this.timezones;
+
+ this._utcSelector = registry.byNode(query(".utcSelector", this.domNode)[0]);
+ this._citySelector = registry.byNode(query(".timezoneCity", this.domNode)[0]);
+ this._citySelector.set("searchAttr", "city");
+ this._citySelector.set("query", {region: /.*/});
+ this._citySelector.set("labelAttr", "city");
+ if (this.timezones)
+ {
+ this._setTimezonesAttr(this.timezones);
+ }
+
+ this._regionSelector = registry.byNode(query(".timezoneRegion", this.domNode)[0]);
+ var supportedRegions = initSupportedRegions();
+ this._regionSelector.set("store", new Memory({data: supportedRegions}));
+
+ this._utcSelector.on("change", function (value)
+ {
+ var checked = this.get("checked");
+ if (checked)
+ {
+ self.value = "UTC";
+ }
+ else
+ {
+ if (self._citySelector.value && self._regionSelector.value)
+ {
+ self.value = self._citySelector.value;
+ }
+ else
+ {
+ self.value = null;
+ }
+ }
+ self._citySelector.set("disabled", checked);
+ self._regionSelector.set("disabled", checked);
+ self._handleOnChange(self.value);
+ });
+ this._regionSelector.on("change", function (value)
+ {
+ if (value == "undefined")
+ {
+ self._citySelector.set("disabled", true);
+ self._citySelector.query.region = /.*/;
+ self.value = null;
+ self._citySelector.set("value", null);
+ self._handleOnChange(self.value);
+ }
+ else
+ {
+ self._citySelector.set("disabled", false);
+ self._citySelector.query.region = value || /.*/;
+ if (this.timeZone)
+ {
+ self._citySelector.set("value", this.timeZone);
+ this.timeZone = null;
+ }
+ else
+ {
+ self._citySelector.set("value", null);
+ }
+ }
+ });
+
+ this._citySelector.on("change", function (value)
+ {
+ self.value = value;
+ self._handleOnChange(value);
+ });
+
+ this._setValueAttr(this._args.value);
+ },
+
+ _setTimezonesAttr: function (supportedTimeZones)
+ {
+ this._citySelector.set("store", new Memory({data: supportedTimeZones}));
+ if (this._args.name)
+ {
+ this._citySelector.set("name", this._args.name);
+ }
+ },
+
+ _setValueAttr: function (value)
+ {
+ if (value)
+ {
+ if (value == "UTC")
+ {
+ this._utcSelector.set("checked", true);
+ }
+ else
+ {
+ this._utcSelector.set("checked", false);
+ var elements = value.split("/");
+ if (elements.length > 1)
+ {
+ this._regionSelector.timeZone = value;
+ this._regionSelector.set("value", elements[0]);
+ this._citySelector.set("value", value);
+ }
+ else
+ {
+ this._regionSelector.set("value", "undefined");
+ }
+ }
+ }
+ else
+ {
+ this._utcSelector.set("checked", false);
+ this._regionSelector.set("value", "undefined");
+ }
+ this.value = value;
+ this._handleOnChange(value);
+ },
+
+ destroy: function ()
+ {
+ if (this.domNode)
+ {
+ this.domNode.destroy();
+ this.domNode = null;
+ }
+ _regionSelector: null;
+ _citySelector: null;
+ _utcSelector: null;
+ },
+
+ onChange: function (newValue)
+ {
+ },
+
+ _handleOnChange: function (newValue)
+ {
+ if (this._lastValueReported != newValue)
+ {
+ this._lastValueReported = newValue;
+ if (this._onChangeHandle)
+ {
+ this._onChangeHandle.remove();
+ }
+ this._onChangeHandle = this.defer(function ()
+ {
+ this._onChangeHandle = null;
+ this.onChange(newValue);
+ });
+ }
+ }
- function initSupportedRegions()
- {
- var supportedRegions = [{"id": "undefined", "name": "Undefined"}];
- for(var j = 0; j<preferencesRegions.length; j++)
- {
- supportedRegions.push({id: preferencesRegions[j], name: preferencesRegions[j] });
- }
- return supportedRegions;
- }
-
- return declare("qpid.common.TimeZoneSelector", [_WidgetBase], {
-
- value: null,
- domNode: null,
- _regionSelector: null,
- _citySelector: null,
- _utcSelector: null,
-
- constructor: function(args)
- {
- this._args = args;
- this.timezones = args.timezones;
- },
-
- buildRendering: function(){
- this.domNode = domConstruct.create("div", {innerHTML: template});
- parser.parse(this.domNode);
- },
-
- postCreate: function(){
- this.inherited(arguments);
-
- var self = this;
- if (this._args.labelStyle)
- {
- var nl = query(".labelClass", this.domNode);
- array.forEach(nl, function(entry, i){
- domStyle.set(entry, self._args.labelStyle)
- });
- }
- var supportedTimeZones = this.timezones;
-
- this._utcSelector = registry.byNode(query(".utcSelector", this.domNode)[0]);
- this._citySelector = registry.byNode(query(".timezoneCity", this.domNode)[0]);
- this._citySelector.set("searchAttr", "city");
- this._citySelector.set("query", {region: /.*/});
- this._citySelector.set("labelAttr", "city");
- if (this.timezones)
- {
- this._setTimezonesAttr(this.timezones);
- }
-
- this._regionSelector = registry.byNode(query(".timezoneRegion", this.domNode)[0]);
- var supportedRegions = initSupportedRegions();
- this._regionSelector.set("store", new Memory({ data: supportedRegions }));
-
- this._utcSelector.on("change", function(value){
- var checked = this.get("checked");
- if (checked)
- {
- self.value ="UTC";
- }
- else
- {
- if (self._citySelector.value && self._regionSelector.value)
- {
- self.value = self._citySelector.value;
- }
- else
- {
- self.value = null;
- }
- }
- self._citySelector.set("disabled", checked);
- self._regionSelector.set("disabled", checked);
- self._handleOnChange(self.value);
- });
- this._regionSelector.on("change", function(value){
- if (value=="undefined")
- {
- self._citySelector.set("disabled", true);
- self._citySelector.query.region = /.*/;
- self.value = null;
- self._citySelector.set("value", null);
- self._handleOnChange(self.value);
- }
- else
- {
- self._citySelector.set("disabled", false);
- self._citySelector.query.region = value || /.*/;
- if (this.timeZone)
- {
- self._citySelector.set("value", this.timeZone);
- this.timeZone = null;
- }
- else
- {
- self._citySelector.set("value", null);
- }
- }
- });
-
- this._citySelector.on("change", function(value){
- self.value = value;
- self._handleOnChange(value);
- });
-
- this._setValueAttr(this._args.value);
- },
-
- _setTimezonesAttr: function(supportedTimeZones)
- {
- this._citySelector.set("store", new Memory({ data: supportedTimeZones }));
- if (this._args.name)
- {
- this._citySelector.set("name", this._args.name);
- }
- },
-
- _setValueAttr: function(value)
- {
- if (value)
- {
- if (value == "UTC")
- {
- this._utcSelector.set("checked", true);
- }
- else
- {
- this._utcSelector.set("checked", false);
- var elements = value.split("/");
- if (elements.length > 1)
- {
- this._regionSelector.timeZone = value;
- this._regionSelector.set("value", elements[0]);
- this._citySelector.set("value", value);
- }
- else
- {
- this._regionSelector.set("value", "undefined");
- }
- }
- }
- else
- {
- this._utcSelector.set("checked", false);
- this._regionSelector.set("value", "undefined");
- }
- this.value = value;
- this._handleOnChange(value);
- },
-
- destroy: function()
- {
- if (this.domNode)
- {
- this.domNode.destroy();
- this.domNode = null;
- }
- _regionSelector: null;
- _citySelector: null;
- _utcSelector: null;
- },
-
- onChange: function(newValue){},
-
- _handleOnChange: function(newValue)
- {
- if (this._lastValueReported != newValue)
- {
- this._lastValueReported = newValue;
- if(this._onChangeHandle)
- {
- this._onChangeHandle.remove();
- }
- this._onChangeHandle = this.defer(function()
- {
- this._onChangeHandle = null;
- this.onChange(newValue);
- });
- }
- }
-
- });
-});
\ No newline at end of file
+ });
+ });
\ No newline at end of file
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TypeTabExtension.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TypeTabExtension.js?rev=1741609&r1=1741608&r2=1741609&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TypeTabExtension.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TypeTabExtension.js Fri Apr 29 11:04:40 2016
@@ -18,63 +18,57 @@
* under the License.
*
*/
-define(["qpid/common/util",
- "dojo/query",
- "dojox/html/entities",
- "dojo/domReady!"],
- function (util, query, entities)
- {
+define(["qpid/common/util", "dojo/query", "dojox/html/entities", "dojo/domReady!"], function (util, query, entities)
+{
- function TypeTabExtension(containerNode, template, category, type, metadata, data )
+ function TypeTabExtension(containerNode, template, category, type, metadata, data)
{
- var that = this;
- this.attributeContainers = {};
- if (template)
- {
- util.parse(containerNode, template,
- function ()
- {
- if (metadata && category && type)
+ var that = this;
+ this.attributeContainers = {};
+ if (template)
+ {
+ util.parse(containerNode, template, function ()
{
- var attributes = metadata.getMetaData(category, type).attributes;
- for (var attrName in attributes)
- {
- var queryResult = query("." + attrName, containerNode);
- if (queryResult && queryResult[0])
+ if (metadata && category && type)
{
- var attr = attributes[attrName];
- that.attributeContainers[attrName] = {
- containerNode: queryResult[0],
- attributeType: attr.type
- };
+ var attributes = metadata.getMetaData(category, type).attributes;
+ for (var attrName in attributes)
+ {
+ var queryResult = query("." + attrName, containerNode);
+ if (queryResult && queryResult[0])
+ {
+ var attr = attributes[attrName];
+ that.attributeContainers[attrName] = {
+ containerNode: queryResult[0],
+ attributeType: attr.type
+ };
+ }
+ }
+ that.update(data);
}
- }
- that.update(data);
- }
- });
- }
+ });
+ }
}
TypeTabExtension.prototype.update = function (restData)
{
- for (var attrName in this.attributeContainers)
- {
- if (attrName in restData)
+ for (var attrName in this.attributeContainers)
{
- var content = "";
- if (this.attributeContainers[attrName].attributeType == "Boolean")
- {
- content = util.buildCheckboxMarkup(restData[attrName]);
- }
- else
- {
- content = entities.encode(String(restData[attrName]));
- }
- this.attributeContainers[attrName].containerNode.innerHTML = content;
+ if (attrName in restData)
+ {
+ var content = "";
+ if (this.attributeContainers[attrName].attributeType == "Boolean")
+ {
+ content = util.buildCheckboxMarkup(restData[attrName]);
+ }
+ else
+ {
+ content = entities.encode(String(restData[attrName]));
+ }
+ this.attributeContainers[attrName].containerNode.innerHTML = content;
+ }
}
- }
}
return TypeTabExtension;
- }
-);
+});
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org