multiEdit: Allow disabling fields per-row If _hideFields array is passed with row item data, then field IDs specified will be disabled, if they are custom button actions.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/24f45a02 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/24f45a02 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/24f45a02 Branch: refs/heads/autoscale Commit: 24f45a02da31d7255eca4bb29da397be4f4275f2 Parents: 2406139 Author: Brian Federle <[email protected]> Authored: Fri Aug 10 10:40:33 2012 -0700 Committer: Brian Federle <[email protected]> Committed: Fri Aug 10 10:43:47 2012 -0700 ---------------------------------------------------------------------- ui/css/cloudstack3.css | 9 +++++++++ ui/scripts/ui/widgets/multiEdit.js | 9 +++++++++ 2 files changed, 18 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/24f45a02/ui/css/cloudstack3.css ---------------------------------------------------------------------- diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 4429d09..9c3826b 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -6782,6 +6782,15 @@ div.panel.ui-dialog div.list-view div.fixed-header { text-shadow: 0px 1px #FFFFFF; } +.multi-edit .disabled .button.custom-action { + /*+opacity:50%;*/ + filter: alpha(opacity=50); + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); + -moz-opacity: 0.5; + opacity: 0.5; + cursor: not-allowed; +} + .multi-edit .button.custom-action:hover { background: #808080 url(../images/bg-gradients.png); color: #FFFFFF; http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/24f45a02/ui/scripts/ui/widgets/multiEdit.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui/widgets/multiEdit.js b/ui/scripts/ui/widgets/multiEdit.js index e1d17dd..535a0a5 100644 --- a/ui/scripts/ui/widgets/multiEdit.js +++ b/ui/scripts/ui/widgets/multiEdit.js @@ -180,6 +180,8 @@ $button.html(data && data[fieldName] && data[fieldName]['_buttonLabel'] ? _l(data[fieldName]['_buttonLabel']) : _l(field.custom.buttonLabel)); $button.click(function() { + if ($td.hasClass('disabled')) return false; + var $button = $(this); var context = $.extend(true, {}, options.context ? @@ -200,6 +202,8 @@ } } }); + + return true; }); $button.appendTo($td); } @@ -214,6 +218,11 @@ var targetWidth = $multi.find('th.' + fieldName).width() + 5; $td.width(targetWidth); + if (data._hideFields && + $.inArray(fieldName, data._hideFields) > -1) { + $td.addClass('disabled'); + } + return true; });
