From aa5ad746eb16397366a2ecc38ca0d9f824b3e741 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Wed, 21 Dec 2016 13:00:45 +0100 Subject: [PATCH] fix issue with date not updating properly --- .../components/umbdatetimepicker.directive.js | 10 +++---- .../querybuilder/querybuilder.controller.js | 27 +++++++++---------- .../overlays/querybuilder/querybuilder.html | 3 +-- 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js index 52c8840d68..1e11ccd95d 100644 --- a/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js +++ b/src/Umbraco.Web.UI.Client/src/common/directives/components/umbdatetimepicker.directive.js @@ -16,7 +16,6 @@ Use this directive to render a date time picker @@ -53,6 +52,9 @@ Use this directive to render a date time picker function datePickerChange(event) { // handle change + if(event.date && event.date.isValid()) { + var date = event.date.format(vm.datePickerConfig.format); + } } function datePickerError(event) { @@ -67,7 +69,6 @@ Use this directive to render a date time picker @param {object} options (binding): Config object for the date picker. -@param {string} ngModel (binding): Date value. @param {callback} onHide (callback): Hide callback. @param {callback} onShow (callback): Show callback. @param {callback} onChange (callback): Change callback. @@ -114,8 +115,6 @@ Use this directive to render a date time picker function onChange(event) { if (scope.onChange && event.date && event.date.isValid()) { scope.$apply(function(){ - // Update ngModel - scope.ngModel = event.date.format(scope.options.format); // callback scope.onChange({event: event}); }); @@ -143,7 +142,7 @@ Use this directive to render a date time picker function initDatePicker() { // Open the datepicker and add a changeDate eventlistener element - .datetimepicker(angular.extend({ useCurrent: true }, scope.options)) + .datetimepicker(scope.options) .on("dp.hide", onHide) .on("dp.show", onShow) .on("dp.change", onChange) @@ -160,7 +159,6 @@ Use this directive to render a date time picker replace: true, templateUrl: 'views/components/umb-date-time-picker.html', scope: { - ngModel: "=", options: "=", onHide: "&", onShow: "&", diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.controller.js b/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.controller.js index 5166de586e..41da773146 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.controller.js @@ -12,13 +12,7 @@ vm.datePickerConfig = { pickDate: true, pickTime: false, - format: "YYYY-MM-DD", - icons: { - time: "icon-time", - date: "icon-calendar", - up: "icon-chevron-up", - down: "icon-chevron-down" - } + format: "YYYY-MM-DD" }; vm.query = { @@ -147,16 +141,28 @@ function setFilterProperty(filter, property) { filter.property = property; + filter.term = {}; + filter.constraintValue = ""; } function setFilterTerm(filter, term) { filter.term = term; + if(filter.constraintValue) { + throttledFunc(); + } } function changeConstraintValue() { throttledFunc(); } + function datePickerChange(event, filter) { + if(event.date && event.date.isValid()) { + filter.constraintValue = event.date.format(vm.datePickerConfig.format); + throttledFunc(); + } + } + var throttledFunc = _.throttle(function () { templateQueryResource.postTemplateQuery(vm.query) @@ -166,13 +172,6 @@ }, 200); - function datePickerChange(event) { - templateQueryResource.postTemplateQuery(vm.query) - .then(function (response) { - $scope.model.result = response; - }); - } - onInit(); } diff --git a/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.html b/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.html index 997855cd3c..2db9931b56 100644 --- a/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.html +++ b/src/Umbraco.Web.UI.Client/src/views/common/overlays/querybuilder/querybuilder.html @@ -72,8 +72,7 @@ + on-change="vm.datePickerChange(event, filter)">