multiEdit: support validate on custom action
If requireValidation: true is set for a custom action, then only
perform action if multiEdit's form fields are valid. This does not
apply to clicking on existing rules' action buttons.
Syntax:
multiEdit: {
fields: {
testField: {
custom: {
requireValidation: true,
...
},
...
},
...
}
}
Conflicts:
ui/scripts/ui/widgets/multiEdit.js
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit:
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/fff85767
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/fff85767
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/fff85767
Branch: refs/heads/autoscale
Commit: fff857674bca34c92a09ef6b11427b2bcb3f56e1
Parents: 7dbdf1f
Author: Brian Federle <[email protected]>
Authored: Tue Aug 7 13:45:37 2012 -0700
Committer: Brian Federle <[email protected]>
Committed: Tue Aug 7 13:53:53 2012 -0700
----------------------------------------------------------------------
ui/scripts/ui/widgets/multiEdit.js | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/fff85767/ui/scripts/ui/widgets/multiEdit.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui/widgets/multiEdit.js
b/ui/scripts/ui/widgets/multiEdit.js
index cac0466..bc970ff 100644
--- a/ui/scripts/ui/widgets/multiEdit.js
+++ b/ui/scripts/ui/widgets/multiEdit.js
@@ -779,6 +779,9 @@
$('<div>').addClass('button add-vm custom-action')
.html(_l(field.custom.buttonLabel))
.click(function() {
+ if (field.custom.requireValidation &&
+ !$multiForm.valid()) return false;
+
var formData = getMultiData($multi);
field.custom.action({
@@ -791,6 +794,8 @@
}
}
});
+
+ return false;
}).appendTo($td);
} else if (field.addButton) {
$addVM = $('<div>').addClass('button add-vm').html(