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.9 KB
/
angular-datepicker.min.js
File metadata and controls
12 lines (10 loc) · 16.9 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
*
* 2019-03-05
*/
!function(H){"use strict";var B=!1,G=function(e,a,t){var i,n,r=['<div class="_720kb-datepicker-calendar {{datepickerClass}} {{datepickerID}}" ng-class="{\'_720kb-datepicker-forced-to-open\': checkVisibility()}" ng-blur="hideCalendar()">',"</div>"],d=(i=e,n=a,t&&(B=!1),B?['<div class="_720kb-datepicker-calendar-header">','<div class="_720kb-datepicker-calendar-header-middle _720kb-datepicker-mobile-item _720kb-datepicker-calendar-month">','<select class="_720kb-datepicker-calendar-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 class="_720kb-datepicker-calendar-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 ng-if="clearText" class="_720kb-datepicker-calendar-header-clear"><a ng-click="clear();$event.stopPropagation()">{{clearText}}</a></div>','<div class="_720kb-datepicker-calendar-header-container">','<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();$event.stopPropagation()" title="{{ buttonPrevTitle }}">',i,"</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;$event.stopPropagation()">',"<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();$event.stopPropagation()" title="{{ buttonNextTitle }}">',n,"</a>","</div>","</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);$event.stopPropagation()" 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]);$event.stopPropagation()" ng-class="{\'_720kb-datepicker-item-hidden\': paginationYearsPrevDisabled}">',e,"</a>",'<a href="javascript:void(0)" ng-click="paginateYears(paginationYears[paginationYears.length -1 ]);$event.stopPropagation()" ng-class="{\'_720kb-datepicker-item-hidden\': paginationYearsNextDisabled}">',a,"</a>","</div>","</div>"],o=['<div class="_720kb-datepicker-calendar-days-header">','<div ng-repeat="d in daysInString">',"{{d}}","</div>","</div>"],c=['<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);$event.stopPropagation()\" 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()}\" 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),o.forEach(s),c.forEach(s),r.join("")};H.module("720kb.datepicker",[]).directive("datepicker",["$document","$compile","$locale","$filter","$interpolate","$timeout",function(O,A,F,C,I,j){return{require:"ngModel",restrict:"AEC",scope:{dateSet:"@",dateMinLimit:"@",dateMaxLimit:"@",dateMonthTitle:"@",dateYearTitle:"@",buttonNextTitle:"@",buttonPrevTitle:"@",dateDisabledDates:"@",dateEnabledDates:"@",dateDisabledWeekdays:"@",dateSetHidden:"@",dateTyper:"@",dateWeekStartDay:"@",datepickerAppendTo:"@",datepickerToggle:"@",datepickerClass:"@",datepickerShow:"@",clearText:"@"},link:function(u,e,a,r){var t,i,n,d=a.selector,l=H.element(d?e[0].querySelector("."+d):e[0].children[0]),o=a.buttonPrev||'<i class="fa fa-arrow-left"></i>',c=a.buttonNext||'<i class="fa fa-arrow-right"></i>',s=a.dateFormat,m=u.$eval(u.dateDisabledDates),b=u.$eval(u.dateEnabledDates),y=u.$eval(u.dateDisabledWeekdays),p=new Date,h=!1,g=!1,k=void 0!==a.datepickerMobile&&"false"!==a.datepickerMobile,M=F.DATETIME_FORMATS,f=G(o,c,k),D=function(){h||g||!t||u.hideCalendar()},v=function(e,a){var t,i,n,r,d,l=new Date(a,e,0).getDate(),o=new Date(a+"/"+e+"/1").getDay(),c=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(o===u.dateWeekStartDay)u.prevMonthDays=[];else{for(n=o-u.dateWeekStartDay,o<u.dateWeekStartDay&&(n+=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(-n)}if(c===d)u.nextMonthDays=[];else{for(i=6-c+u.dateWeekStartDay,c<u.dateWeekStartDay&&(i-=7),t=1;t<=i;t+=1)m.push(t);u.nextMonthDays=m}},N=function(){u.month=C("date")(new Date(u.dateMinLimit),"MMMM"),u.monthNumber=Number(C("date")(new Date(u.dateMinLimit),"MM")),u.day=Number(C("date")(new Date(u.dateMinLimit),"dd")),u.year=Number(C("date")(new Date(u.dateMinLimit),"yyyy")),v(u.monthNumber,u.year)},w=function(){u.month=C("date")(new Date(u.dateMaxLimit),"MMMM"),u.monthNumber=Number(C("date")(new Date(u.dateMaxLimit),"MM")),u.day=Number(C("date")(new Date(u.dateMaxLimit),"dd")),u.year=Number(C("date")(new Date(u.dateMaxLimit),"yyyy")),v(u.monthNumber,u.year)},S=function(e,a){var t,i,n,r,d,l,o,c,s;for(l=0;l<M.MONTH.length;l+=1){if(c=M.MONTH[l],s=M.SHORTMONTH[l],-1!==e.indexOf(c)){e=e.replace(c,l+1);break}if(-1!==e.indexOf(s)){e=e.replace(s,l+1);break}}for(i=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(o=t[l],!0){case-1!==o.indexOf("d"):r=i[l-(t.length-i.length)];break;case-1!==o.indexOf("M"):n=i[l-(t.length-i.length)];break;case-1!==o.indexOf("y"):d=i[l-(t.length-i.length)]}return new Date(d+"/"+n+"/"+r)},x=function(){if(!u.isSelectableMinDate(u.year+"/"+u.monthNumber+"/"+u.day)||!u.isSelectableMaxDate(u.year+"/"+u.monthNumber+"/"+u.day))return!1;var e=r.$viewValue;e instanceof Date?((e=new Date(e.getTime())).setYear(u.year),e.setMonth(u.monthNumber-1),e.setDate(u.day)):"string"==typeof e?((e=new Date(e)).setYear(u.year),e.setMonth(u.monthNumber-1),e.setDate(u.day)):e=new Date(u.year+"/"+u.monthNumber+"/"+u.day),a.dateFormat&&(e=C("date")(e,s)),r.$setViewValue(e)},Y=function(e,a){var t;-1<e.className.indexOf(a)||((t=e.className.split(" ")).push(a),e.className=t.join(" "))},T=function(e,a){var t,i;if(-1!==e.className.indexOf(a)){for(i=e.className.split(" "),t=0;t<i.length;t+=1)if(i[t]===a){i=i.slice(0,t).concat(i.slice(t+1));break}e.className=i.join(" ")}},_=function(){u.isShowed=!0,i=document.getElementsByClassName("_720kb-datepicker-calendar"),H.forEach(i,function(e,a){i[a].classList?i[a].classList.remove("_720kb-datepicker-open"):T(i[a],"_720kb-datepicker-open")}),t.classList?(t.classList.add("_720kb-datepicker-open"),p=s?S(String(r.$viewValue).toString(),s):new Date(String(r.$viewValue).toString()),u.selectedMonth=Number(C("date")(p,"MM")),u.selectedDay=Number(C("date")(p,"dd")),u.selectedYear=Number(C("date")(p,"yyyy"))):Y(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=C("date")(new Date(u.year,u.monthNumber-1),"MMMM"),v(u.monthNumber,u.year)},0)},$=u.$watch("dateSet",function(e){e&&!isNaN(Date.parse(e))&&(p=new Date(e),u.month=C("date")(p,"MMMM"),u.monthNumber=Number(C("date")(p,"MM")),u.day=Number(C("date")(p,"dd")),u.year=Number(C("date")(p,"yyyy")),v(u.monthNumber,u.year),"true"!==u.dateSetHidden&&x())}),L=u.$watch("dateMinLimit",function(e){e&&N()}),P=u.$watch("dateMaxLimit",function(e){e&&w()}),V=u.$watch("dateFormat",function(e){e&&x()}),E=u.$watch("dateDisabledDates",function(e){e&&(m=u.$eval(e),u.isSelectableDate(u.monthNumber,u.year,u.day)||r.$setViewValue(null))}),W=u.$watch("dateEnabledDates",function(e){e&&(b=u.$eval(e),u.isSelectableDate(u.monthNumber,u.year,u.day)||r.$setViewValue(null))});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])||w()),u.month=C("date")(new Date(u.year,u.monthNumber-1),"MMMM"),v(u.monthNumber,u.year),u.day=void 0},u.willPrevMonthBeSelectable=function(){var e=u.monthNumber,a=u.year,t=C("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])||N()),u.month=C("date")(new Date(u.year,u.monthNumber-1),"MMMM"),v(u.monthNumber,u.year),u.day=void 0},u.selectedMonthHandle=function(e){null!==e&&(u.monthNumber=Number(C("date")(new Date(e+"/01/2000"),"MM")),v(u.monthNumber,u.year),x())},u.setNewYear=function(e){if(B||(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),v(u.monthNumber,u.year)},0)},u.hideCalendar=function(){u.isShowed=!1,t.classList?t.classList.remove("_720kb-datepicker-open"):T(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,x(),a.hasOwnProperty("dateRefocus")&&l[0].focus(),u.hideCalendar())},u.paginateYears=function(e){var a,t=[],i=10,n=10;for(u.paginationYears=[],B&&(n=i=50,u.dateMinLimit&&u.dateMaxLimit&&(i=(e=new Date(u.dateMaxLimit).getFullYear())-new Date(u.dateMinLimit).getFullYear(),n=1)),a=i;0<a;a-=1)t.push(Number(e)-a);for(a=0;a<n;a+=1)t.push(Number(e)+a);"true"===u.dateTyper&&l.on("keyup blur",function(){if(r.$viewValue&&r.$viewValue.length&&0<r.$viewValue.length)try{(p=s?S(r.$viewValue.toString(),s):new Date(r.$viewValue.toString())).getFullYear()&&!isNaN(p.getDay())&&!isNaN(p.getMonth())&&u.isSelectableDay(p.getMonth(),p.getFullYear(),p.getDay())&&u.isSelectableDate(p.getMonth(),p.getFullYear(),p.getDay())&&u.isSelectableMaxDate(p)&&u.isSelectableMinDate(p)&&u.$apply(function(){u.month=C("date")(p,"MMMM"),u.monthNumber=Number(C("date")(p,"MM")),u.day=Number(C("date")(p,"dd")),4===p.getFullYear().toString().length&&(u.year=Number(C("date")(p,"yyyy"))),v(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 i=0;if(y&&0<y.length)for(;i<=y.length;i+=1)if(y[i]===new Date(e+"/"+t+"/"+a).getDay())return!1;return!0},u.isSelectableDate=function(e,a,t){var i=0;if(m&&0<m.length)for(;i<=m.length;i+=1)if(new Date(m[i]).getTime()===new Date(e+"/"+t+"/"+a).getTime())return!1;if(b){for(;i<=b.length;i+=1)if(new Date(b[i]).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},u.clear=function(){r.$setViewValue(null),u.hideCalendar()},f=f.replace(/{{/g,I.startSymbol()).replace(/}}/g,I.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=C("date")(p,"MMMM"),u.monthNumber=Number(C("date")(p,"MM")),u.day=Number(C("date")(p,"dd")),u.dateWeekStartDay=u.validateWeekDay(u.dateWeekStartDay),u.dateMaxLimit?u.year=Number(C("date")(new Date(u.dateMaxLimit),"yyyy")):u.year=Number(C("date")(p,"yyyy")),u.months=M.MONTH,u.daysInString=[],n=u.dateWeekStartDay;n<=u.dateWeekStartDay+6;n+=1)u.daysInString.push(n%7);u.daysInString=u.daysInString.map(function(e){return C("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),H.element(document.getElementsByClassName(u.datepickerAppendTo.replace(".",""))[0]).append(A(H.element(f))(u,function(e){t=H.element(e)[0]}))):u.datepickerAppendTo&&-1!==u.datepickerAppendTo.indexOf("#")?(u.datepickerID="datepicker-id-"+(new Date).getTime()+(Math.floor(6*Math.random())+8),H.element(document.getElementById(u.datepickerAppendTo.replace("#",""))).append(A(H.element(f))(u,function(e){t=H.element(e)[0]}))):u.datepickerAppendTo&&"body"===u.datepickerAppendTo?(u.datepickerID="datepicker-id-"+((new Date).getTime()+(Math.floor(6*Math.random())+8)),H.element(document).find("body").append(A(H.element(f))(u,function(e){t=H.element(e)[0]}))):(l.after(A(H.element(f))(u)),t=e[0].querySelector("._720kb-datepicker-calendar")),u.datepickerToggle&&!u.$eval(u.datepickerToggle)||(l.on("click",function(e){"INPUT"===e.target.nodeName&&"button"===e.target.type&&(e.stopPropagation(),g=!0,!h&&!g&&t||u.isShowed?u.hideCalendar():_())}),l.on("focusin focus",function(e){"INPUT"===e.target.nodeName&&"button"!==e.target.type&&(g=!0,h||g||!t?_():u.hideCalendar())})),l.on("focusout blur",function(){g=!1,h||g||!t||u.hideCalendar()}),H.element(t).on("mouseenter",function(){h=!0}),H.element(t).on("mouseleave",function(){h=!1}),H.element(t).on("focusin",function(){h=!0}),O.on("click focus focusin",D),(u.dateMinLimit&&!u.isSelectableMinYear(u.year)||!u.isSelectableMinDate(u.year+"/"+u.monthNumber+"/"+u.day))&&N(),(u.dateMaxLimit&&!u.isSelectableMaxYear(u.year)||!u.isSelectableMaxDate(u.year+"/"+u.monthNumber+"/"+u.day))&&w(),u.paginateYears(u.year),v(u.monthNumber,u.year),u.checkVisibility=function(){return!!u.datepickerShow&&(p=s?S(r.$viewValue.toString(),s):new Date(r.$viewValue.toString()),u.selectedMonth=Number(C("date")(p,"MM")),u.selectedDay=Number(C("date")(p,"dd")),u.selectedYear=Number(C("date")(p,"yyyy")),u.$eval(u.datepickerShow))},u.$on("$destroy",function(){$(),L(),P(),V(),E(),W(),l.off("focus click focusout blur"),H.element(t).off("mouseenter mouseleave focusin"),O.off("click focus focusin",D)})}}}])}(angular,navigator);
//# sourceMappingURL=angular-datepicker.sourcemap.map