From ed133c69dd56977b0c1120e2cc2e20369bb80ecc Mon Sep 17 00:00:00 2001 From: Aakash Chaudhary Date: Thu, 19 Jan 2017 17:05:27 +0530 Subject: [PATCH 1/2] Setting selected date on first time load When datepicker opens first time, the selectedDay, selectedMonth and selectedYear are not initialised, which prevent the active class from being applied. This works on subsequent opens though once setDatepickerDay is called. --- src/js/angular-datepicker.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/js/angular-datepicker.js b/src/js/angular-datepicker.js index f5c1d43..5e86500 100644 --- a/src/js/angular-datepicker.js +++ b/src/js/angular-datepicker.js @@ -348,6 +348,11 @@ if (theCalendar.classList) { theCalendar.classList.add('_720kb-datepicker-open'); + var dateString = angular.element((angular.element(theCalendar).parent()[0]).querySelector('input')).val(); + var date = new Date(dateString); + $scope.selectedMonth = Number($filter('date')(date, 'MM')); + $scope.selectedDay = Number($filter('date')(date, 'dd')); + $scope.selectedYear = Number($filter('date')(date, 'yyyy')); } else { classHelper.add(theCalendar, '_720kb-datepicker-open'); From 90442c258b0f8282631f3974ec9f1e9ca3ae85d7 Mon Sep 17 00:00:00 2001 From: Aakash Chaudhary Date: Thu, 19 Jan 2017 19:27:21 +0530 Subject: [PATCH 2/2] Fixing lint --- src/js/angular-datepicker.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/js/angular-datepicker.js b/src/js/angular-datepicker.js index 5e86500..c41a31a 100644 --- a/src/js/angular-datepicker.js +++ b/src/js/angular-datepicker.js @@ -158,6 +158,7 @@ //, dateMaxLimit , dateDisabledDates = $scope.$eval($scope.dateDisabledDates) , date = new Date() + , dateString , isMouseOn = false , isMouseOnInput = false , preventMobile = typeof attr.datepickerMobile !== 'undefined' && attr.datepickerMobile !== 'false' @@ -348,8 +349,8 @@ if (theCalendar.classList) { theCalendar.classList.add('_720kb-datepicker-open'); - var dateString = angular.element((angular.element(theCalendar).parent()[0]).querySelector('input')).val(); - var date = new Date(dateString); + dateString = angular.element((angular.element(theCalendar).parent()[0]).querySelector('input')).val(); + date = new Date(dateString); $scope.selectedMonth = Number($filter('date')(date, 'MM')); $scope.selectedDay = Number($filter('date')(date, 'dd')); $scope.selectedYear = Number($filter('date')(date, 'yyyy'));