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/83361776 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/83361776 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/83361776 Branch: refs/heads/vpc Commit: 83361776fa9363f45228b0a126a8721e0a1e4e4b Parents: 0384259 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:35 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/83361776/ui/css/cloudstack3.css ---------------------------------------------------------------------- diff --git a/ui/css/cloudstack3.css b/ui/css/cloudstack3.css index 896d1a8..f7d7b3d 100644 --- a/ui/css/cloudstack3.css +++ b/ui/css/cloudstack3.css @@ -6802,6 +6802,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/83361776/ui/scripts/ui/widgets/multiEdit.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui/widgets/multiEdit.js b/ui/scripts/ui/widgets/multiEdit.js index a7ffa5f..870d085 100644 --- a/ui/scripts/ui/widgets/multiEdit.js +++ b/ui/scripts/ui/widgets/multiEdit.js @@ -173,6 +173,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); field.custom.action({ @@ -188,6 +190,8 @@ } } }); + + return true; }); $button.appendTo($td); } @@ -202,6 +206,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; });
