diff --git a/ui/scripts/sharedFunctions.js b/ui/scripts/sharedFunctions.js index 8ddaeaf933f..2fab2e5f002 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; +} diff --git a/ui/scripts/ui/dialog.js b/ui/scripts/ui/dialog.js index e227ea43c61..cee7873e99d 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 = $('').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);