You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bf...@apache.org on 2012/07/31 01:10:40 UTC
git commit: multiEdit widget: Support field pre-filter
Updated Branches:
refs/heads/autoscale 93e7b86c4 -> 8551a0752
multiEdit widget: Support field pre-filter
If adding a 'fieldPreFilter' option to a multiEdit, the returned array
specifies field IDs to be hidden.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/8551a075
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/8551a075
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/8551a075
Branch: refs/heads/autoscale
Commit: 8551a075259dd662c96071c0ed85655ac40e3476
Parents: 93e7b86
Author: Brian Federle <br...@citrix.com>
Authored: Mon Jul 30 16:08:41 2012 -0700
Committer: Brian Federle <br...@citrix.com>
Committed: Mon Jul 30 16:10:23 2012 -0700
----------------------------------------------------------------------
ui/scripts/network.js | 7 +++++++
ui/scripts/ui/widgets/multiEdit.js | 18 ++++++++++++++++--
2 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8551a075/ui/scripts/network.js
----------------------------------------------------------------------
diff --git a/ui/scripts/network.js b/ui/scripts/network.js
index 812991a..e2cbf6e 100644
--- a/ui/scripts/network.js
+++ b/ui/scripts/network.js
@@ -2013,6 +2013,13 @@
}
},
multipleAdd: true,
+ fieldPreFilter: function(args) {
+ var context = args.context;
+ var fields = args.fields;
+
+ // Returns fields to be hidden
+ return [];
+ },
fields: {
'name': { edit: true, label: 'label.name', isEditable: true },
'publicport': { edit: true, label: 'label.public.port' },
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/8551a075/ui/scripts/ui/widgets/multiEdit.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui/widgets/multiEdit.js b/ui/scripts/ui/widgets/multiEdit.js
index c139c42..cac0466 100644
--- a/ui/scripts/ui/widgets/multiEdit.js
+++ b/ui/scripts/ui/widgets/multiEdit.js
@@ -23,7 +23,7 @@
/**
* Append item to list
*/
- addItem: function(data, fields, $multi, itemData, actions, options) {
+ addItem: function(data, fields, hiddenFields, $multi, itemData, actions, options) {
if (!options) options = {};
var $tr;
@@ -39,7 +39,8 @@
// Setup columns
$.each(fields, function(fieldName, field) {
- if (options.ignoreEmptyFields && !data[fieldName]) {
+ if ((options.ignoreEmptyFields && !data[fieldName]) ||
+ $.inArray(fieldName.toString(), hiddenFields) > -1) {
return true;
}
@@ -687,6 +688,16 @@
var context = args.context;
var ignoreEmptyFields = args.ignoreEmptyFields;
var actionPreFilter = args.actionPreFilter;
+ var fieldPreFilter = args.fieldPreFilter;
+ var hiddenFields = [];
+
+ if (fieldPreFilter) {
+ hiddenFields = fieldPreFilter({
+ fields: $.map(fields, function(v, k) { return k; }),
+ context: context,
+ $multi: $multi
+ });
+ }
var $thead = $('<tr>').appendTo(
$('<thead>').appendTo($inputTable)
@@ -698,6 +709,8 @@
// Setup input table headers
$.each(args.fields, function(fieldName, field) {
+ if ($.inArray(fieldName.toString(), hiddenFields) > -1) return true;
+
var $th = $('<th>').addClass(fieldName).html(_l(field.label.toString()));
$th.attr('rel', fieldName);
$th.appendTo($thead);
@@ -934,6 +947,7 @@
_medit.addItem(
data,
fields,
+ hiddenFields,
$multi,
itemData,
actions,