Skip to content
This repository was archived by the owner on Feb 18, 2022. It is now read-only.

Commit 1ddeacc

Browse files
committed
add a classHelper make component support for IE9+
1 parent b7df903 commit 1ddeacc

File tree

1 file changed

+26
-5
lines changed

1 file changed

+26
-5
lines changed

src/js/angular-datepicker.js

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -305,23 +305,44 @@
305305
}
306306
};
307307

308+
$scope.classHelper={
309+
add:function(element,klass){
310+
if(element.className.indexOf(klass)>-1)
311+
return;
312+
var classes=element.className.split(' ');
313+
classes.push(klass);
314+
element.className=classes.join(' ');
315+
},
316+
remove:function(element,klass){
317+
if(element.className.indexOf(klass)==-1);
318+
return;
319+
var classes=element.className.split(' ');
320+
for(var i=0;i<classes.length;i++) if(classes[i]===klass){
321+
classes=classes.slice(0,i).concat(classes.slice(i+1));
322+
break;
323+
}
324+
element.className=classes.join(' ');
325+
}
326+
}
327+
308328
$scope.showCalendar = function manageShowCalendar() {
309329
//lets hide all the latest instances of datepicker
310330
pageDatepickers = $window.document.getElementsByClassName('_720kb-datepicker-calendar');
311331

312332
angular.forEach(pageDatepickers, function forEachDatepickerPages(value, key) {
313-
314-
pageDatepickers[key].classList.remove('_720kb-datepicker-open');
333+
334+
pageDatepickers[key].classList ? pageDatepickers[key].classList.remove('_720kb-datepicker-open') : $scope.classHelper.remove(pageDatepickers[key],'_720kb-datepicker-open');
315335
});
316336

317-
theCalendar.classList.add('_720kb-datepicker-open');
337+
theCalendar.classList ? theCalendar.classList.add('_720kb-datepicker-open') : $scope.classHelper.add(theCalendar,'_720kb-datepicker-open');
318338
};
319339

320340
$scope.hideCalendar = function manageHideCalendar() {
321-
322-
theCalendar.classList.remove('_720kb-datepicker-open');
341+
342+
theCalendar.classList ? theCalendar.classList.remove('_720kb-datepicker-open') : $scope.classHelper.remove(theCalendar,'_720kb-datepicker-open');
323343
};
324344

345+
325346
$scope.setDaysInMonth = function setDaysInMonth(month, year) {
326347

327348
var i

0 commit comments

Comments
 (0)