From 92ac072559191a1703e35d788334a87c7b450ead Mon Sep 17 00:00:00 2001 From: Michael Latouche Date: Fri, 21 Oct 2022 19:40:00 +0200 Subject: [PATCH] Update datepicker.controller.js Don't set dirty if date actually not changed --- .../datepicker/datepicker.controller.js | 33 ++++++++++--------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/datepicker/datepicker.controller.js b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/datepicker/datepicker.controller.js index 0cb8c0699c..de0602342c 100644 --- a/src/Umbraco.Web.UI.Client/src/views/propertyeditors/datepicker/datepicker.controller.js +++ b/src/Umbraco.Web.UI.Client/src/views/propertyeditors/datepicker/datepicker.controller.js @@ -143,26 +143,29 @@ function dateTimePickerController($scope, angularHelper, dateHelper, validationM } function updateModelValue(momentDate) { - if ($scope.hasDatetimePickerValue) { - if ($scope.model.config.pickTime) { - //check if we are supposed to offset the time - if ($scope.model.value && Object.toBoolean($scope.model.config.offsetTime) && Umbraco.Sys.ServerVariables.application.serverTimeOffset !== undefined) { - $scope.model.value = dateHelper.convertToServerStringTime(momentDate, Umbraco.Sys.ServerVariables.application.serverTimeOffset); - $scope.serverTime = dateHelper.convertToServerStringTime(momentDate, Umbraco.Sys.ServerVariables.application.serverTimeOffset, "YYYY-MM-DD HH:mm:ss Z"); - } - else { - $scope.model.value = momentDate.format("YYYY-MM-DD HH:mm:ss"); - } - } - else { - $scope.model.value = momentDate.format("YYYY-MM-DD"); - } + var curMoment = moment($scope.model.value); + if ($scope.hasDatetimePickerValue) { + if ($scope.model.config.pickTime) { + //check if we are supposed to offset the time + if ($scope.model.value && Object.toBoolean($scope.model.config.offsetTime) && Umbraco.Sys.ServerVariables.application.serverTimeOffset !== undefined) { + $scope.model.value = dateHelper.convertToServerStringTime(momentDate, Umbraco.Sys.ServerVariables.application.serverTimeOffset); + $scope.serverTime = dateHelper.convertToServerStringTime(momentDate, Umbraco.Sys.ServerVariables.application.serverTimeOffset, "YYYY-MM-DD HH:mm:ss Z"); + } + else { + $scope.model.value = momentDate.format("YYYY-MM-DD HH:mm:ss"); + } } else { - $scope.model.value = null; + $scope.model.value = momentDate.format("YYYY-MM-DD"); } + } + else { + $scope.model.value = null; + } + if (!curMoment.isSame(momentDate)) { setDirty(); + } } function setDirty() {