From a464fee6dfd563962a6c8c1f78e7674aba3183db Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Fri, 28 Nov 2014 13:15:02 -0800 Subject: [PATCH] [Forms] Date time controls Implement date time controls up to the point that they validate, and information (albeit not the right information) propagates back up to the containing form. WTD-530. --- platform/forms/bundle.json | 7 +++ .../res/templates/controls/datetime.html | 58 +++++++++++++------ .../src/controllers/DateTimeController.js | 34 +++++++++++ 3 files changed, 81 insertions(+), 18 deletions(-) create mode 100644 platform/forms/src/controllers/DateTimeController.js diff --git a/platform/forms/bundle.json b/platform/forms/bundle.json index cfdbea6411..be979e2f77 100644 --- a/platform/forms/bundle.json +++ b/platform/forms/bundle.json @@ -31,6 +31,13 @@ "templateUrl": "templates/controls/textfield.html" } ], + "controllers": [ + { + "key": "DateTimeController", + "implementation": "controllers/DateTimeController.js", + "depends": [ "$scope" ] + } + ], "templates": [ { "key": "_checkbox", diff --git a/platform/forms/res/templates/controls/datetime.html b/platform/forms/res/templates/controls/datetime.html index 4978c76ecc..92efad64aa 100644 --- a/platform/forms/res/templates/controls/datetime.html +++ b/platform/forms/res/templates/controls/datetime.html @@ -1,4 +1,5 @@
+
Date Hour @@ -7,22 +8,43 @@ Timezone
-
- - - - - - - - - - - - - - UTC - -
-
+ + +
+ + + + + + + + + + + + + + UTC + +
+
+ + \ No newline at end of file diff --git a/platform/forms/src/controllers/DateTimeController.js b/platform/forms/src/controllers/DateTimeController.js new file mode 100644 index 0000000000..efd954da44 --- /dev/null +++ b/platform/forms/src/controllers/DateTimeController.js @@ -0,0 +1,34 @@ +/*global define*/ + +define( + [], + function () { + + function DateTimeController($scope) { + + function update() { + var date = $scope.datetime.date, + hour = $scope.datetime.hour, + min = $scope.datetime.min, + sec = $scope.datetime.sec; + + $scope.ngModel[$scope.field] = [ + date, + hour, + min, + sec + ].join("."); + } + + $scope.$watch("datetime.date", update); + $scope.$watch("datetime.hour", update); + $scope.$watch("datetime.min", update); + $scope.$watch("datetime.sec", update); + + $scope.datetime = {}; + } + + return DateTimeController; + + } +); \ No newline at end of file