diff --git a/ui/scripts/network.js b/ui/scripts/network.js index 494e11f964c..2e6d4296a21 100644 --- a/ui/scripts/network.js +++ b/ui/scripts/network.js @@ -2226,6 +2226,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' }, diff --git a/ui/scripts/ui/widgets/multiEdit.js b/ui/scripts/ui/widgets/multiEdit.js index 2243385e0d5..f13adb59f78 100644 --- a/ui/scripts/ui/widgets/multiEdit.js +++ b/ui/scripts/ui/widgets/multiEdit.js @@ -19,7 +19,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; @@ -35,7 +35,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; } @@ -682,6 +683,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 = $('