This repository was archived by the owner on Feb 18, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 327
Expand file tree
/
Copy pathangular-datepicker.min.js
More file actions
12 lines (10 loc) · 16.3 KB
/
angular-datepicker.min.js
File metadata and controls
12 lines (10 loc) · 16.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
/*!
* Angular Datepicker v2.1.23
*
* Released by 720kb.net under the MIT license
* www.opensource.org/licenses/MIT
*
* 2018-06-06
*/
!function(I,e){"use strict";var C=function(){if(e.userAgent&&(e.userAgent.match(/Android/i)||e.userAgent.match(/webOS/i)||e.userAgent.match(/iPhone/i)||e.userAgent.match(/iPad/i)||e.userAgent.match(/iPod/i)||e.userAgent.match(/BlackBerry/i)||e.userAgent.match(/Windows Phone/i)))return!0}(),B=function(e,a,t){var n,i,r=['<div class="_720kb-datepicker-calendar {{datepickerClass}} {{datepickerID}}" ng-class="{\'_720kb-datepicker-forced-to-open\': checkVisibility()}" ng-blur="hideCalendar()">',"</div>"],d=(n=e,i=a,t&&(C=!1),C?['<div class="_720kb-datepicker-calendar-header">','<div class="_720kb-datepicker-calendar-header-middle _720kb-datepicker-mobile-item _720kb-datepicker-calendar-month">','<select ng-model="month" title="{{ dateMonthTitle }}" ng-change="selectedMonthHandle(month)">','<option ng-repeat="item in months" ng-selected="item === month" ng-disabled=\'!isSelectableMaxDate(item + " " + day + ", " + year) || !isSelectableMinDate(item + " " + day + ", " + year)\' ng-value="$index + 1" value="$index + 1">',"{{ item }}","</option>","</select>","</div>","</div>",'<div class="_720kb-datepicker-calendar-header">','<div class="_720kb-datepicker-calendar-header-middle _720kb-datepicker-mobile-item _720kb-datepicker-calendar-month">','<select ng-model="mobileYear" title="{{ dateYearTitle }}" ng-change="setNewYear(mobileYear)">','<option ng-repeat="item in paginationYears track by $index" ng-selected="year === item" ng-disabled="!isSelectableMinYear(item) || !isSelectableMaxYear(item)" ng-value="item" value="item">',"{{ item }}","</option>","</select>","</div>","</div>"]:['<div class="_720kb-datepicker-calendar-header">','<div class="_720kb-datepicker-calendar-header-left">','<a class="_720kb-datepicker-calendar-month-button" href="javascript:void(0)" ng-class="{\'_720kb-datepicker-item-hidden\': !willPrevMonthBeSelectable()}" ng-click="prevMonth()" title="{{ buttonPrevTitle }}">',n,"</a>","</div>",'<div class="_720kb-datepicker-calendar-header-middle _720kb-datepicker-calendar-month">',"{{month}} ",'<a href="javascript:void(0)" ng-click="paginateYears(year); showYearsPagination = !showYearsPagination;">',"<span>","{{year}}","<i ng-class=\"{'_720kb-datepicker-calendar-header-closed-pagination': !showYearsPagination, '_720kb-datepicker-calendar-header-opened-pagination': showYearsPagination}\"></i>","</span>","</a>","</div>",'<div class="_720kb-datepicker-calendar-header-right">','<a class="_720kb-datepicker-calendar-month-button" ng-class="{\'_720kb-datepicker-item-hidden\': !willNextMonthBeSelectable()}" href="javascript:void(0)" ng-click="nextMonth()" title="{{ buttonNextTitle }}">',i,"</a>","</div>","</div>"]),l=['<div class="_720kb-datepicker-calendar-header" ng-show="showYearsPagination">','<div class="_720kb-datepicker-calendar-years-pagination">','<a ng-class="{\'_720kb-datepicker-active\': y === year, \'_720kb-datepicker-disabled\': !isSelectableMaxYear(y) || !isSelectableMinYear(y)}" href="javascript:void(0)" ng-click="setNewYear(y)" ng-repeat="y in paginationYears track by $index">',"{{y}}","</a>","</div>",'<div class="_720kb-datepicker-calendar-years-pagination-pages">','<a href="javascript:void(0)" ng-click="paginateYears(paginationYears[0])" ng-class="{\'_720kb-datepicker-item-hidden\': paginationYearsPrevDisabled}">',e,"</a>",'<a href="javascript:void(0)" ng-click="paginateYears(paginationYears[paginationYears.length -1 ])" ng-class="{\'_720kb-datepicker-item-hidden\': paginationYearsNextDisabled}">',a,"</a>","</div>","</div>"],c=['<div class="_720kb-datepicker-calendar-days-header">','<div ng-repeat="d in daysInString">',"{{d}}","</div>","</div>"],o=['<div class="_720kb-datepicker-calendar-body">','<a href="javascript:void(0)" ng-repeat="px in prevMonthDays" class="_720kb-datepicker-calendar-day _720kb-datepicker-disabled">',"{{px}}","</a>","<a href=\"javascript:void(0)\" ng-repeat=\"item in days\" ng-click=\"setDatepickerDay(item)\" ng-class=\"{'_720kb-datepicker-active': selectedDay === item && selectedMonth === monthNumber && selectedYear === year, '_720kb-datepicker-disabled': !isSelectableMinDate(year + '/' + monthNumber + '/' + item ) || !isSelectableMaxDate(year + '/' + monthNumber + '/' + item) || !isSelectableDate(monthNumber, year, item) || !isSelectableDay(monthNumber, year, item),'_720kb-datepicker-today': item === today.getDate() && monthNumber === (today.getMonth() + 1) && year === today.getFullYear() && !selectedDay}\" class=\"_720kb-datepicker-calendar-day\">","{{item}}","</a>",'<a href="javascript:void(0)" ng-repeat="nx in nextMonthDays" class="_720kb-datepicker-calendar-day _720kb-datepicker-disabled">',"{{nx}}","</a>","</div>"],s=function(e){r.splice(r.length-1,0,e)};return d.forEach(s),l.forEach(s),c.forEach(s),o.forEach(s),r.join("")};I.module("720kb.datepicker",[]).directive("datepicker",["$window","$compile","$locale","$filter","$interpolate","$timeout",function(W,E,H,O,F,j){return{restrict:"AEC",scope:{dateSet:"@",dateMinLimit:"@",dateMaxLimit:"@",dateMonthTitle:"@",dateYearTitle:"@",buttonNextTitle:"@",buttonPrevTitle:"@",dateDisabledDates:"@",dateEnabledDates:"@",dateDisabledWeekdays:"@",dateSetHidden:"@",dateTyper:"@",dateWeekStartDay:"@",datepickerAppendTo:"@",datepickerToggle:"@",datepickerClass:"@",datepickerShow:"@"},link:function(u,e,a){var t,n,i,r=a.selector,d=I.element(r?e[0].querySelector("."+r):e[0].children[0]),l=a.buttonPrev||'<b class="_720kb-datepicker-default-button">⟨</b>',c=a.buttonNext||'<b class="_720kb-datepicker-default-button">⟩</b>',o=a.dateFormat,s=u.$eval(u.dateDisabledDates),m=u.$eval(u.dateEnabledDates),b=u.$eval(u.dateDisabledWeekdays),h=new Date,y=!1,p=!1,g=void 0!==a.datepickerMobile&&"false"!==a.datepickerMobile,M=H.DATETIME_FORMATS,k=B(l,c,g),f=function(){y||p||!t||u.hideCalendar()},D=function(e,a){var t,n,i,r,d,l=new Date(a,e,0).getDate(),c=new Date(a+"/"+e+"/1").getDay(),o=new Date(a+"/"+e+"/"+l).getDay(),s=[],m=[];for(u.days=[],u.dateWeekStartDay=u.validateWeekDay(u.dateWeekStartDay),d=(u.dateWeekStartDay+6)%7,t=1;t<=l;t+=1)u.days.push(t);if(c===u.dateWeekStartDay)u.prevMonthDays=[];else{for(i=c-u.dateWeekStartDay,c<u.dateWeekStartDay&&(i+=7),r=1===Number(e)?12:e-1,t=1;t<=new Date(a,r,0).getDate();t+=1)s.push(t);u.prevMonthDays=s.slice(-i)}if(o===d)u.nextMonthDays=[];else{for(n=6-o+u.dateWeekStartDay,o<u.dateWeekStartDay&&(n-=7),t=1;t<=n;t+=1)m.push(t);u.nextMonthDays=m}},v=function(){u.month=O("date")(new Date(u.dateMinLimit),"MMMM"),u.monthNumber=Number(O("date")(new Date(u.dateMinLimit),"MM")),u.day=Number(O("date")(new Date(u.dateMinLimit),"dd")),u.year=Number(O("date")(new Date(u.dateMinLimit),"yyyy")),D(u.monthNumber,u.year)},N=function(){u.month=O("date")(new Date(u.dateMaxLimit),"MMMM"),u.monthNumber=Number(O("date")(new Date(u.dateMaxLimit),"MM")),u.day=Number(O("date")(new Date(u.dateMaxLimit),"dd")),u.year=Number(O("date")(new Date(u.dateMaxLimit),"yyyy")),D(u.monthNumber,u.year)},S=function(e,a){var t,n,i,r,d,l,c,o,s;for(l=0;l<M.MONTH.length;l+=1){if(o=M.MONTH[l],s=M.SHORTMONTH[l],-1!==e.indexOf(o)){e=e.replace(o,l+1);break}if(-1!==e.indexOf(s)){e=e.replace(s,l+1);break}}for(n=e.split(/\D/).filter(function(e){return 0<e.length}),t=a.match(/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|MMMM|MMM|MM|M|dd?d?|yy?yy?y?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g).filter(function(e){return null!==e.match(/^[a-zA-Z]+$/i)}),l=0;l<t.length;l+=1)switch(c=t[l],!0){case-1!==c.indexOf("d"):r=n[l-(t.length-n.length)];break;case-1!==c.indexOf("M"):i=n[l-(t.length-n.length)];break;case-1!==c.indexOf("y"):d=n[l-(t.length-n.length)]}return new Date(d+"/"+i+"/"+r)},w=function(){if(!u.isSelectableMinDate(u.year+"/"+u.monthNumber+"/"+u.day)||!u.isSelectableMaxDate(u.year+"/"+u.monthNumber+"/"+u.day))return!1;var e=new Date(u.year+"/"+u.monthNumber+"/"+u.day);a.dateFormat?d.val(O("date")(e,o)):d.val(e),d.triggerHandler("input"),d.triggerHandler("change")},x=function(e,a){var t;-1<e.className.indexOf(a)||((t=e.className.split(" ")).push(a),e.className=t.join(" "))},Y=function(e,a){var t,n;if(-1!==e.className.indexOf(a)){for(n=e.className.split(" "),t=0;t<n.length;t+=1)if(n[t]===a){n=n.slice(0,t).concat(n.slice(t+1));break}e.className=n.join(" ")}},T=u.$watch("dateSet",function(e){e&&!isNaN(Date.parse(e))&&(h=new Date(e),u.month=O("date")(h,"MMMM"),u.monthNumber=Number(O("date")(h,"MM")),u.day=Number(O("date")(h,"dd")),u.year=Number(O("date")(h,"yyyy")),D(u.monthNumber,u.year),"true"!==u.dateSetHidden&&w())}),_=u.$watch("dateMinLimit",function(e){e&&v()}),L=u.$watch("dateMaxLimit",function(e){e&&N()}),$=u.$watch("dateFormat",function(e){e&&w()}),A=u.$watch("dateDisabledDates",function(e){e&&(s=u.$eval(e),u.isSelectableDate(u.monthNumber,u.year,u.day)||(d.val(""),d.triggerHandler("input"),d.triggerHandler("change")))}),P=u.$watch("dateEnabledDates",function(e){e&&(m=u.$eval(e),u.isSelectableDate(u.monthNumber,u.year,u.day)||(d.val(""),d.triggerHandler("input"),d.triggerHandler("change")))});for(u.nextMonth=function(){12===u.monthNumber?(u.monthNumber=1,u.year=Number(u.year)+1):u.monthNumber+=1,u.dateMaxLimit&&(u.isSelectableMaxDate(u.year+"/"+u.monthNumber+"/"+u.days[0])||N()),u.month=O("date")(new Date(u.year,u.monthNumber-1),"MMMM"),D(u.monthNumber,u.year),u.day=void 0},u.willPrevMonthBeSelectable=function(){var e=u.monthNumber,a=u.year,t=O("date")(new Date(new Date(a+"/"+e+"/01").getTime()-864e5),"dd");return 1===e?(e=12,a-=1):e-=1,!(u.dateMinLimit&&!u.isSelectableMinDate(a+"/"+e+"/"+t))},u.willNextMonthBeSelectable=function(){var e=u.monthNumber,a=u.year;return 12===e?a+=e=1:e+=1,!(u.dateMaxLimit&&!u.isSelectableMaxDate(a+"/"+e+"/01"))},u.prevMonth=function(){1===u.monthNumber?(u.monthNumber=12,u.year=Number(u.year)-1):u.monthNumber-=1,u.dateMinLimit&&(u.isSelectableMinDate(u.year+"/"+u.monthNumber+"/"+u.days[u.days.length-1])||v()),u.month=O("date")(new Date(u.year,u.monthNumber-1),"MMMM"),D(u.monthNumber,u.year),u.day=void 0},u.selectedMonthHandle=function(e){e&&(u.monthNumber=Number(O("date")(new Date(e+"/01/2000"),"MM"))),D(u.monthNumber,u.year),w()},u.setNewYear=function(e){if(C||(u.day=void 0),u.dateMaxLimit&&u.year<Number(e)){if(!u.isSelectableMaxYear(e))return}else if(u.dateMinLimit&&u.year>Number(e)&&!u.isSelectableMinYear(e))return;u.paginateYears(e),u.showYearsPagination=!1,j(function(){u.year=Number(e),D(u.monthNumber,u.year)},0)},u.hideCalendar=function(){t.classList?t.classList.remove("_720kb-datepicker-open"):Y(t,"_720kb-datepicker-open")},u.setDatepickerDay=function(e){u.isSelectableDay(u.monthNumber,u.year,e)&&u.isSelectableDate(u.monthNumber,u.year,e)&&u.isSelectableMaxDate(u.year+"/"+u.monthNumber+"/"+e)&&u.isSelectableMinDate(u.year+"/"+u.monthNumber+"/"+e)&&(u.day=Number(e),u.selectedDay=u.day,u.selectedMonth=u.monthNumber,u.selectedYear=u.year,w(),a.hasOwnProperty("dateRefocus")&&d[0].focus(),u.hideCalendar())},u.paginateYears=function(e){var a,t=[],n=10,i=10;for(u.paginationYears=[],C&&(i=n=50,u.dateMinLimit&&u.dateMaxLimit&&(n=(e=new Date(u.dateMaxLimit).getFullYear())-new Date(u.dateMinLimit).getFullYear(),i=1)),a=n;0<a;a-=1)t.push(Number(e)-a);for(a=0;a<i;a+=1)t.push(Number(e)+a);"true"===u.dateTyper&&d.on("keyup blur",function(){if(d[0].value&&d[0].value.length&&0<d[0].value.length)try{(h=o?S(d[0].value.toString(),o):new Date(d[0].value.toString())).getFullYear()&&!isNaN(h.getDay())&&!isNaN(h.getMonth())&&u.isSelectableDay(h.getMonth(),h.getFullYear(),h.getDay())&&u.isSelectableDate(h.getMonth(),h.getFullYear(),h.getDay())&&u.isSelectableMaxDate(h)&&u.isSelectableMinDate(h)&&u.$apply(function(){u.month=O("date")(h,"MMMM"),u.monthNumber=Number(O("date")(h,"MM")),u.day=Number(O("date")(h,"dd")),4===h.getFullYear().toString().length&&(u.year=Number(O("date")(h,"yyyy"))),D(u.monthNumber,u.year)})}catch(e){return e}}),u.dateMaxLimit&&t&&t.length&&!u.isSelectableMaxYear(Number(t[t.length-1])+1)?u.paginationYearsNextDisabled=!0:u.paginationYearsNextDisabled=!1,u.dateMinLimit&&t&&t.length&&!u.isSelectableMinYear(Number(t[0])-1)?u.paginationYearsPrevDisabled=!0:u.paginationYearsPrevDisabled=!1,u.paginationYears=t},u.isSelectableDay=function(e,a,t){var n=0;if(b&&0<b.length)for(;n<=b.length;n+=1)if(b[n]===new Date(e+"/"+t+"/"+a).getDay())return!1;return!0},u.isSelectableDate=function(e,a,t){var n=0;if(s&&0<s.length)for(;n<=s.length;n+=1)if(new Date(s[n]).getTime()===new Date(e+"/"+t+"/"+a).getTime())return!1;if(m){for(;n<=m.length;n+=1)if(new Date(m[n]).getTime()===new Date(e+"/"+t+"/"+a).getTime())return!0;return!1}return!0},u.isSelectableMinDate=function(e){return!(u.dateMinLimit&&new Date(u.dateMinLimit)&&new Date(e).getTime()<new Date(u.dateMinLimit).getTime())},u.isSelectableMaxDate=function(e){return!(u.dateMaxLimit&&new Date(u.dateMaxLimit)&&new Date(e).getTime()>new Date(u.dateMaxLimit).getTime())},u.isSelectableMaxYear=function(e){return!(u.dateMaxLimit&&e>new Date(u.dateMaxLimit).getFullYear())},u.isSelectableMinYear=function(e){return!(u.dateMinLimit&&e<new Date(u.dateMinLimit).getFullYear())},u.validateWeekDay=function(e){var a=Number(e,10);return(!a||a<0||6<a)&&(a=0),a},k=k.replace(/{{/g,F.startSymbol()).replace(/}}/g,F.endSymbol()),u.dateMonthTitle=u.dateMonthTitle||"Select month",u.dateYearTitle=u.dateYearTitle||"Select year",u.buttonNextTitle=u.buttonNextTitle||"Next",u.buttonPrevTitle=u.buttonPrevTitle||"Prev",u.month=O("date")(h,"MMMM"),u.monthNumber=Number(O("date")(h,"MM")),u.day=Number(O("date")(h,"dd")),u.dateWeekStartDay=u.validateWeekDay(u.dateWeekStartDay),u.dateMaxLimit?u.year=Number(O("date")(new Date(u.dateMaxLimit),"yyyy")):u.year=Number(O("date")(h,"yyyy")),u.months=M.MONTH,u.daysInString=[],i=u.dateWeekStartDay;i<=u.dateWeekStartDay+6;i+=1)u.daysInString.push(i%7);u.daysInString=u.daysInString.map(function(e){return O("date")(new Date(new Date("06/08/2014").valueOf()+864e5*e),"EEE")}),u.datepickerAppendTo&&-1!==u.datepickerAppendTo.indexOf(".")?(u.datepickerID="datepicker-id-"+(new Date).getTime()+(Math.floor(6*Math.random())+8),I.element(document.getElementsByClassName(u.datepickerAppendTo.replace(".",""))[0]).append(E(I.element(k))(u,function(e){t=I.element(e)[0]}))):u.datepickerAppendTo&&-1!==u.datepickerAppendTo.indexOf("#")?(u.datepickerID="datepicker-id-"+(new Date).getTime()+(Math.floor(6*Math.random())+8),I.element(document.getElementById(u.datepickerAppendTo.replace("#",""))).append(E(I.element(k))(u,function(e){t=I.element(e)[0]}))):u.datepickerAppendTo&&"body"===u.datepickerAppendTo?(u.datepickerID="datepicker-id-"+((new Date).getTime()+(Math.floor(6*Math.random())+8)),I.element(document).find("body").append(E(I.element(k))(u,function(e){t=I.element(e)[0]}))):(d.after(E(I.element(k))(u)),t=e[0].querySelector("._720kb-datepicker-calendar")),u.datepickerToggle&&!u.$eval(u.datepickerToggle)||d.on("focus click focusin",function(){p=!0,y||p||!t?(n=W.document.getElementsByClassName("_720kb-datepicker-calendar"),I.forEach(n,function(e,a){n[a].classList?n[a].classList.remove("_720kb-datepicker-open"):Y(n[a],"_720kb-datepicker-open")}),t.classList?(t.classList.add("_720kb-datepicker-open"),h=o?S(d[0].value.toString(),o):new Date(d[0].value.toString()),u.selectedMonth=Number(O("date")(h,"MM")),u.selectedDay=Number(O("date")(h,"dd")),u.selectedYear=Number(O("date")(h,"yyyy"))):x(t,"_720kb-datepicker-open"),u.today=new Date,j(function(){u.selectedDay?(u.year=u.selectedYear,u.monthNumber=u.selectedMonth):(u.year=u.today.getFullYear(),u.monthNumber=u.today.getMonth()+1),u.month=O("date")(new Date(u.year,u.monthNumber-1),"MMMM"),D(u.monthNumber,u.year)},0)):u.hideCalendar()}),d.on("focusout blur",function(){p=!1}),I.element(t).on("mouseenter",function(){y=!0}),I.element(t).on("mouseleave",function(){y=!1}),I.element(t).on("focusin",function(){y=!0}),I.element(W).on("click focus focusin",f),(u.dateMinLimit&&!u.isSelectableMinYear(u.year)||!u.isSelectableMinDate(u.year+"/"+u.monthNumber+"/"+u.day))&&v(),(u.dateMaxLimit&&!u.isSelectableMaxYear(u.year)||!u.isSelectableMaxDate(u.year+"/"+u.monthNumber+"/"+u.day))&&N(),u.paginateYears(u.year),D(u.monthNumber,u.year),u.checkVisibility=function(){return!!u.datepickerShow&&(h=o?S(d[0].value.toString(),o):new Date(d[0].value.toString()),u.selectedMonth=Number(O("date")(h,"MM")),u.selectedDay=Number(O("date")(h,"dd")),u.selectedYear=Number(O("date")(h,"yyyy")),u.$eval(u.datepickerShow))},u.$on("$destroy",function(){T(),_(),L(),$(),A(),P(),d.off("focus click focusout blur"),I.element(t).off("mouseenter mouseleave focusin"),I.element(W).off("click focus focusin",f)})}}}])}(angular,navigator);
//# sourceMappingURL=angular-datepicker.sourcemap.map