Updated Branches:
  refs/heads/master 151fc3e83 -> 9c9724d47

Extended UI field defaultValue (and isChecked) to allow for functions not just 
literals.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/9c9724d4
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/9c9724d4
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/9c9724d4

Branch: refs/heads/master
Commit: 9c9724d470f9dfc6cda9c3dd38fa225bfb661411
Parents: 151fc3e
Author: Chris Suich <[email protected]>
Authored: Wed Jul 31 13:50:29 2013 -0400
Committer: Brian Federle <[email protected]>
Committed: Wed Aug 14 10:27:04 2013 -0700

----------------------------------------------------------------------
 ui/scripts/sharedFunctions.js |  6 ++++++
 ui/scripts/ui/dialog.js       | 10 +++++-----
 2 files changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9c9724d4/ui/scripts/sharedFunctions.js
----------------------------------------------------------------------
diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js
index 8ddaeaf..2fab2e5 100644
--- a/ui/scripts/sharedFunctions.js
+++ b/ui/scripts/sharedFunctions.js
@@ -1453,3 +1453,9 @@ cloudStack.api = {
         };
     }
 };
+
+function strOrFunc(arg, args) {
+    if (typeof arg === 'function')
+        return arg(args);
+    return arg;
+}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/9c9724d4/ui/scripts/ui/dialog.js
----------------------------------------------------------------------
diff --git a/ui/scripts/ui/dialog.js b/ui/scripts/ui/dialog.js
index e227ea4..cee7873 100644
--- a/ui/scripts/ui/dialog.js
+++ b/ui/scripts/ui/dialog.js
@@ -264,7 +264,7 @@
                                 });
 
                                 if (field.defaultValue) {
-                                    $input.val(_s(field.defaultValue));
+                                    
$input.val(_s(strOrFunc(field.defaultValue, args.data)));
                                 }
 
                                 $input.trigger('change');
@@ -367,7 +367,7 @@
                             type: 'checkbox'
                         }).appendTo($value);
                         if (field.isChecked) {
-                            $input.attr('checked', 'checked');
+                            $input.attr('checked', strOrFunc(field.isChecked));
                         } else {
                             // This is mainly for IE compatibility
                             setTimeout(function() {
@@ -421,7 +421,7 @@
                     }).appendTo($value);
 
                     if (field.defaultValue) {
-                        $input.val(field.defaultValue);
+                        $input.val(strOrFunc(field.defaultValue));
                     }
                 } else if (field.isDatepicker) { //jQuery datepicker
                     $input = $('<input>').attr({
@@ -430,7 +430,7 @@
                     }).appendTo($value);
 
                     if (field.defaultValue) {
-                        $input.val(field.defaultValue);
+                        $input.val(strOrFunc(field.defaultValue));
                     }
                     if (field.id) {
                         $input.attr('id', field.id);
@@ -525,7 +525,7 @@
                     }).appendTo($value);
 
                     if (field.defaultValue) {
-                        $input.val(field.defaultValue);
+                        $input.val(strOrFunc(field.defaultValue));
                     }
                     if (field.id) {
                         $input.attr('id', field.id);

Reply via email to