This repository was archived by the owner on May 30, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmacgyver-datepicker.min.js
5 lines (5 loc) · 1.8 KB
/
macgyver-datepicker.min.js
1
2
3
4
5
/*
MacGyver Datepicker v0.5.3
https://github.com/angular-macgyver/macgyver-datepicker
*/
!function(){"use strict";angular.module("Mac.Datepicker",[]).directive("macDatepicker",["$parse",function(a){var b,c;return b={appendText:"",autoSize:!1,changeMonth:!1,changeYear:!1,constrainInputType:!0,currentText:"Today",dateFormat:"mm/dd/yy",defaultDate:null,duration:"normal",firstDay:0,maxDate:null,minDate:null,numberOfMonths:1,showOn:"focus",yearRange:"c-10:c+10"},c=function(a){var c,d,e,f,g,h;e={};for(c in b)b.hasOwnProperty(c)&&(f=b[c],d="macDatepicker"+c.charAt(0).toUpperCase()+c.substring(1),e[c]=null!=a[d]?a[d]||!0:f,"true"===(g=e[c])||"false"===g?e[c]="true"===e[c]:(null!=(h=e[c])?h.length:void 0)>0&&!isNaN(+e[c])&&(e[c]=+e[c]));return e},{restrict:"E",require:"ngModel",replace:!0,template:'<input type="text" class="mac-date-time"/>',link:function(b,d,e,f){var g,h,i,j,k;return j=c(e),i=a(e.macDatepickerOnSelect),h=a(e.macDatepickerOnClose),g=function(a){var b;if(!a)return f.$setValidity("date",!0),a;try{return $.datepicker.parseDate(j.dateFormat,a),f.$setValidity("date",!0),a}catch(c){return b=c,void f.$setValidity("date",!1)}},f.$formatters.push(g),f.$parsers.push(g),j.onSelect=function(a,c){return b.$apply(function(){return"function"==typeof i&&i(b,{date:a,instance:c}),f.$setViewValue(a),f.$render()})},j.onClose=function(a,c){return b.$apply(function(){return"function"==typeof h?h(b,{date:a,instance:c}):void 0})},d.datepicker(j),k=function(a,b){return null!=b?d.datepicker("option",a,b):void 0},null!=e.macDatepickerDefaultDate&&b.$watch(e.macDatepickerDefaultDate,function(a){return k("defaultDate",a)}),null!=e.macDatepickerMaxDate&&b.$watch(e.macDatepickerMaxDate,function(a){return k("maxDate",a)}),null!=e.macDatepickerMinDate?b.$watch(e.macDatepickerMinDate,function(a){return k("minDate",a)}):void 0}}}])}();