cloudstack UI - dialog widget - introduce new property isDatepicker.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/e7e48620 Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/e7e48620 Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/e7e48620 Branch: refs/heads/javelin Commit: e7e486204e47c89c7a52688e01c5073d552af06f Parents: 595ab41 Author: Jessica Wang <[email protected]> Authored: Fri Oct 5 11:37:07 2012 -0700 Committer: Jessica Wang <[email protected]> Committed: Fri Oct 5 11:38:47 2012 -0700 ---------------------------------------------------------------------- ui/scripts/events.js | 13 ++++++- ui/scripts/ui/dialog.js | 79 ++++++++++++++++++++++++----------------- 2 files changed, 58 insertions(+), 34 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e7e48620/ui/scripts/events.js ---------------------------------------------------------------------- diff --git a/ui/scripts/events.js b/ui/scripts/events.js index 820bb70..0ff4429 100644 --- a/ui/scripts/events.js +++ b/ui/scripts/events.js @@ -103,7 +103,18 @@ else return true; } - } + } + /* + , + startdate: { + label: 'Start Date', + isDatepicker: true + }, + enddate: { + label: 'End Date', + isDatepicker: true + } + */ }, dataProvider: function(args) { http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/e7e48620/ui/scripts/ui/dialog.js ---------------------------------------------------------------------- diff --git a/ui/scripts/ui/dialog.js b/ui/scripts/ui/dialog.js index a685c91..7f4827d 100644 --- a/ui/scripts/ui/dialog.js +++ b/ui/scripts/ui/dialog.js @@ -308,39 +308,52 @@ if (field.defaultValue) { $input.val(field.defaultValue); } - } else { - // Text field - if (field.range) { - $input = $.merge( - // Range start - $('<input>').attr({ - type: 'text', - name: field.range[0] - }), - - // Range end - $('<input>').attr({ - type: 'text', - name: field.range[1] - }) - ).appendTo( - $('<div>').addClass('range-edit').appendTo($value) - ); - - $input.wrap($('<div>').addClass('range-item')); - } else { - $input = $('<input>').attr({ - name: key, - type: field.password || field.isPassword ? 'password' : 'text' - }).appendTo($value); - - if (field.defaultValue) { - $input.val(field.defaultValue); - } - if (field.id) { - $input.attr('id', field.id); - } - } + } else if (field.isDatepicker) { //jQuery datepicker + $input = $('<input>').attr({ + name: key, + type: 'text' + }).appendTo($value); + + if (field.defaultValue) { + $input.val(field.defaultValue); + } + if (field.id) { + $input.attr('id', field.id); + } + $input.addClass("disallowSpecialCharacters"); + $input.datepicker({dateFormat: 'yy-mm-dd'}); + + } else if(field.range) { //2 text fields on the same line (e.g. port range: startPort - endPort) + $input = $.merge( + // Range start + $('<input>').attr({ + type: 'text', + name: field.range[0] + }), + + // Range end + $('<input>').attr({ + type: 'text', + name: field.range[1] + }) + ).appendTo( + $('<div>').addClass('range-edit').appendTo($value) + ); + $input.wrap($('<div>').addClass('range-item')); + $input.addClass("disallowSpecialCharacters"); + + } else { //text field + $input = $('<input>').attr({ + name: key, + type: field.password || field.isPassword ? 'password' : 'text' + }).appendTo($value); + + if (field.defaultValue) { + $input.val(field.defaultValue); + } + if (field.id) { + $input.attr('id', field.id); + } $input.addClass("disallowSpecialCharacters"); }
