diff --git a/Gruntfile.js b/Gruntfile.js index 3127ef9..402a325 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -4,6 +4,26 @@ var mountFolder = function (connect, dir) { return connect.static(require('path').resolve(dir)); }; + +var banner = + '\'use strict\';\n' + + '(function (root, factory) {\n' + + 'if (typeof define === \'function\' && define.amd) {\n' + + 'define([\'angular\', \'moment\'], function (angular, moment) {\n' + + 'return factory({}, angular, moment);\n' + + '});\n' + + '}\n' + + 'else if (typeof exports === \'object\') {\n' + + 'module.exports = factory({}, require(\'angular\'), require(\'moment\'));\n' + + '}\n' + + 'else if (angular) {\n' + + 'factory(root, root.angular, root.moment);\n' + + '}\n' + + '}(this, function (global, angular, moment) {\n'; + +var footer ='}));'; + + module.exports = function (grunt) { // load all grunt tasks require('load-grunt-tasks')(grunt); @@ -191,8 +211,8 @@ module.exports = function (grunt) { src: ['<%= yeoman.app %>/scripts/{datePicker,input,dateRange,datePickerUtils}.js', '<%= yeoman.tmp %>/templates.js'], dest: '<%= yeoman.dist %>/angular-datepicker.js', options: { - banner:'\'use strict\';\n(function(angular){\n', - footer:'})(angular);', + banner:banner, + footer:footer, // Replace all 'use strict' statements in the code with a single one at the top process: function(src) { return src.replace(/(^|\n)[ \t]*('use strict'|"use strict");?\s*/g, '$1'); diff --git a/dist/angular-datepicker.js b/dist/angular-datepicker.js index e76405c..fed0f70 100644 --- a/dist/angular-datepicker.js +++ b/dist/angular-datepicker.js @@ -1,5 +1,17 @@ 'use strict'; -(function(angular){ +(function (root, factory) { +if (typeof define === 'function' && define.amd) { +define(['angular', 'moment'], function (angular, moment) { +return factory({}, angular, moment); +}); +} +else if (typeof exports === 'object') { +module.exports = factory({}, require('angular'), require('moment')); +} +else if (angular) { +factory(root, root.angular, root.moment); +} +}(this, function (global, angular, moment) { /* global moment */ var Module = angular.module('datePicker', []); @@ -909,220 +921,114 @@ Module.directive('dateTime', ['$compile', '$document', '$filter', 'dateTimeConfi angular.module('datePicker').run(['$templateCache', function($templateCache) { $templateCache.put('templates/datepicker.html', - "
\r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - " \r" + - "\n" + - "
\r" + - "\n" + - "
\r" + - "\n" + + "
\n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + "
\n" + + "
\n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + "
\n" + + "
\n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + "
\n" + + "
\n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + "
\n" + + "
\n" + + "
\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "
\n" + + " \n" + + "
\n" + + "
\n" + "
" ); }]); -})(angular); \ No newline at end of file +})); \ No newline at end of file diff --git a/dist/angular-datepicker.min.js b/dist/angular-datepicker.min.js index 008535d..bfd8c74 100644 --- a/dist/angular-datepicker.min.js +++ b/dist/angular-datepicker.min.js @@ -1 +1 @@ -"use strict";!function(a){var b=a.module("datePicker",[]);b.constant("datePickerConfig",{template:"templates/datepicker.html",view:"month",views:["year","month","date","hours","minutes"],momentNames:{year:"year",month:"month",date:"day",hours:"hours",minutes:"minutes"},viewConfig:{year:["years","isSameYear"],month:["months","isSameMonth"],hours:["hours","isSameHour"],minutes:["minutes","isSameMinutes"]},step:5}),b.filter("mFormat",function(){return function(a,b,c){return moment.isMoment(a)?c?moment.tz(a,c).format(b):a.format(b):moment(a).format(b)}}),b.directive("datePicker",["datePickerConfig","datePickerUtils",function(b,c){return{require:"?ngModel",template:'
',scope:{model:"=datePicker",after:"=?",before:"=?"},link:function(d,e,f,g){function h(){d.views=b.views.concat(),d.view=f.view||b.view,d.views=d.views.slice(d.views.indexOf(f.maxView||"year"),d.views.indexOf(f.minView||"minutes")+1),(1===d.views.length||-1===d.views.indexOf(d.view))&&(d.view=d.views[0])}function i(a){return c.getDate(d,f,a)}function j(a){a&&(d.model=a,g&&g.$setViewValue(a)),d.$emit("setDate",d.model,d.view),d.callbackOnSetDate&&d.callbackOnSetDate(f.datePicker,d.date)}function k(){var a=d.view;c.setParams(s),d.model&&!r&&(d.date=t(d.model),r=!1);var b=d.date;switch(a){case"year":d.years=c.getVisibleYears(b);break;case"month":d.months=c.getVisibleMonths(b);break;case"date":d.weekdays=d.weekdays||c.getDaysOfWeek(),d.weeks=c.getVisibleWeeks(b);break;case"hours":d.hours=c.getVisibleHours(b);break;case"minutes":d.minutes=c.getVisibleMinutes(b,v)}m()}function l(){return"date"!==d.view?d.view:d.date?d.date.month():null}function m(){var a,e,f=d.view,g=d.date,h=[],i="";if(c.setParams(s),"date"===f){var j,k=d.weeks;for(a=0;ae;e+=b)d=c(f,g,h,i-j,e),k.push(d);return k},getVisibleWeeks:function(a){a=moment(a);var b=a.year(),c=a.month();a.date(1);var d=a.day();0===d?a.date(-5):a.date(a.date()-d),1===a.date()&&a.date(-6);for(var e=[];e.length<6&&!(a.year()===b&&a.month()>c);)e.push(this.getDaysOfWeek(a)),a.add(7,"d");return e},getVisibleYears:function(a){var b=moment(a),d=b.year();b.year(d-d%10),d=b.year();for(var e,f,g=b.utcOffset()/60,h=[],i=0;12>i;i++)e=c(d,0,1,0-g),f=e.utcOffset()/60,f!==g&&(e=c(d,0,1,0-f),g=f),h.push(e),d++;return h},getDaysOfWeek:function(a){a=a?a:b?moment.tz(b).day(0):moment().day(0);for(var d,e,f=a.year(),g=a.month(),h=a.date(),i=[],j=a.utcOffset()/60,k=0;7>k;k++)d=c(f,g,h,0-j,0,!1),e=d.utcOffset()/60,e!==j&&(d=c(f,g,h,0-e,0,!1)),i.push(d),h++;return i},getVisibleMonths:function(a){for(var b,d,e=a.year(),f=a.utcOffset()/60,g=[],h=0;12>h;h++)b=c(e,h,1,0-f,0,!1),d=b.utcOffset()/60,d!==f&&(b=c(e,h,1,0-d,0,!1)),g.push(b);return g},getVisibleHours:function(a){var b,d,e,f=a.year(),g=a.month(),h=a.date(),i=[],j=a.utcOffset()/60;for(b=0;24>b;b++)d=c(f,g,h,b-j,0,!1),e=d.utcOffset()/60,e!==j&&(d=c(f,g,h,b-e,0,!1)),i.push(d);return i},isAfter:function(a,b){return a&&a.unix()>=b.unix()},isBefore:function(a,b){return a.unix()<=b.unix()},isSameYear:function(a,b){return a&&a.year()===b.year()},isSameMonth:function(a,b){return this.isSameYear(a,b)&&a.month()===b.month()},isSameDay:function(a,b){return this.isSameMonth(a,b)&&a.date()===b.date()},isSameHour:function(a,b){return this.isSameDay(a,b)&&a.hours()===b.hours()},isSameMinutes:function(a,b){return this.isSameHour(a,b)&&a.minutes()===b.minutes()},setParams:function(a){b=a},findFunction:function(b,c){var d=b;do if(d=d.$parent,a.isFunction(d[c]))return d[c];while(d.$parent);return!1},findParam:function(a,b){var c=a;do if(c=c.$parent,c[b])return c[b];while(c.$parent);return!1},createMoment:function(a){return b?moment.tz(a,b):moment.isMoment(a)?moment.unix(a.unix()):moment(a)},getDate:function(a,b,c){var d=!1;return b[c]&&(d=this.createMoment(b[c]),d.isValid()||(d=this.findParam(a,b[c]),d&&(d=this.createMoment(d)))),d},eventIsForPicker:function(b,c){return a.isArray(b)&&b.indexOf(c)>-1||b===c}}});var b=a.module("datePicker");b.directive("dateRange",["$compile","datePickerUtils","dateTimeConfig",function(b,c,d){function e(b,c,e,f,g){return d.template(a.extend(b,{ngModel:e,minDate:f&&moment.isMoment(f)?f.format():!1,maxDate:g&&moment.isMoment(g)?g.format():!1}),c)}function f(){return"picker"+Math.random().toString().substr(2)}return{scope:{start:"=",end:"="},link:function(d,g,h){function i(a){d.$broadcast("pickerUpdate",m[0],{maxDate:a})}function j(a){d.$broadcast("pickerUpdate",m[1],{minDate:a})}var k=null,l=g[0].id,m=[f(),f()],n=c.createMoment,o=c.eventIsForPicker;d.dateChange=function(a,b){k&&k(a,b)},l&&d.$on("pickerUpdate",function(a,b,c){o(b,l)&&d.$broadcast("pickerUpdate",m,c)}),c.setParams(h.timezone),d.start=n(d.start),d.end=n(d.end),d.$watchGroup(["start","end"],function(a){j(a[0]),i(a[1])}),a.isDefined(h.dateChange)&&(k=c.findFunction(d,h.dateChange)),h.onSetDate="dateChange";var p='
'+e(h,m[0],"start",!1,d.end)+''+e(h,m[1],"end",d.start,!1)+"
",q=b(p)(d);g.append(q)}}}]);var c="ng-pristine",d="ng-dirty",b=a.module("datePicker");b.constant("dateTimeConfig",{template:function(a,b){return"
'},format:"YYYY-MM-DD HH:mm",views:["date","year","month","hours","minutes"],autoClose:!1,position:"relative"}),b.directive("dateTimeAppend",function(){return{link:function(a,b){b.bind("click",function(){b.find("input")[0].focus()})}}}),b.directive("dateTime",["$compile","$document","$filter","dateTimeConfig","$parse","datePickerUtils",function(b,e,f,g,h,i){var j=e.find("body"),k=f("mFormat");return{require:"ngModel",scope:!0,link:function(e,f,l,m){function n(a){return k(a,w,K)}function o(a){return a.length===w.length?a:void 0}function p(a){G=a,l.minDate=a?a.format():a,H=moment.isMoment(a)}function q(a){I=a,l.maxDate=a?a.format():a,J=moment.isMoment(a)}function r(){v=g.template(l)}function s(a){a.stopPropagation(),m.$pristine&&(m.$dirty=!0,m.$pristine=!1,f.removeClass(c).addClass(d),x&&x.$setDirty(),m.$render())}function t(){C&&(C.remove(),C=null),F&&(F.remove(),F=null)}function u(){if(!C){if(C=b(v)(e),e.$digest(),N||(e.$on("setDate",function(a,b,c){s(a),M&&M(l.ngModel,b),B&&y[y.length-1]===c&&t()}),e.$on("hidePicker",function(){f.triggerHandler("blur")}),e.$on("$destroy",t),N=!0),"absolute"===E){var c=a.extend(f.offset(),{height:f[0].offsetHeight});C.css({top:c.top+c.height,left:c.left,display:"block",position:E}),j.append(C)}else F=a.element("
"),f[0].parentElement.insertBefore(F[0],f[0]),F.append(C),C.css({top:f[0].offsetHeight+"px",display:"block"});C.bind("mousedown",function(a){a.preventDefault()})}}var v,w=l.format||g.format,x=f.inheritedData("$formController"),y=h(l.views)(e)||g.views.concat(),z=l.view||y[0],A=y.indexOf(z),B=l.autoClose?h(l.autoClose)(e):g.autoClose,C=null,D=f[0].id,E=l.position||g.position,F=null,G=null,H=null,I=null,J=null,K=l.timezone||!1,L=i.eventIsForPicker,M=null,N=!1;-1===A&&y.splice(A,1),y.unshift(z),m.$formatters.push(n),m.$parsers.unshift(o),a.isDefined(l.minDate)&&(p(i.findParam(e,l.minDate)),m.$validators.min=function(a){return H?moment.isMoment(a)&&(G.isSame(a)||G.isBefore(a)):!0}),a.isDefined(l.maxDate)&&(q(i.findParam(e,l.maxDate)),m.$validators.max=function(a){return J?moment.isMoment(a)&&(I.isSame(a)||I.isAfter(a)):!0}),a.isDefined(l.dateChange)&&(M=i.findFunction(e,l.dateChange)),D&&e.$on("pickerUpdate",function(b,c,d){if(L(c,D))if(C);else{var e=!1;a.isDefined(d.minDate)&&(p(d.minDate),e=!0),a.isDefined(d.maxDate)&&(q(d.maxDate),e=!0),a.isDefined(d.minView)&&(l.minView=d.minView),a.isDefined(d.maxView)&&(l.maxView=d.maxView),l.view=d.view||l.view,e&&m.$validate(),a.isDefined(d.format)&&(w=l.format=d.format||g.format,m.$modelValue=-1),r()}}),f.bind("focus",u),f.bind("blur",t),r()}}}]),a.module("datePicker").run(["$templateCache",function(a){a.put("templates/datepicker.html",'
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
')}])}(angular); \ No newline at end of file +"use strict";!function(a,b){"function"==typeof define&&define.amd?define(["angular","moment"],function(a,c){return b({},a,c)}):"object"==typeof exports?module.exports=b({},require("angular"),require("moment")):angular&&b(a,a.angular,a.moment)}(this,function(a,b,c){var d=b.module("datePicker",[]);d.constant("datePickerConfig",{template:"templates/datepicker.html",view:"month",views:["year","month","date","hours","minutes"],momentNames:{year:"year",month:"month",date:"day",hours:"hours",minutes:"minutes"},viewConfig:{year:["years","isSameYear"],month:["months","isSameMonth"],hours:["hours","isSameHour"],minutes:["minutes","isSameMinutes"]},step:5}),d.filter("mFormat",function(){return function(a,b,d){return c.isMoment(a)?d?c.tz(a,d).format(b):a.format(b):c(a).format(b)}}),d.directive("datePicker",["datePickerConfig","datePickerUtils",function(a,d){return{require:"?ngModel",template:'
',scope:{model:"=datePicker",after:"=?",before:"=?"},link:function(e,f,g,h){function i(){e.views=a.views.concat(),e.view=g.view||a.view,e.views=e.views.slice(e.views.indexOf(g.maxView||"year"),e.views.indexOf(g.minView||"minutes")+1),(1===e.views.length||-1===e.views.indexOf(e.view))&&(e.view=e.views[0])}function j(a){return d.getDate(e,g,a)}function k(a){a&&(e.model=a,h&&h.$setViewValue(a)),e.$emit("setDate",e.model,e.view),e.callbackOnSetDate&&e.callbackOnSetDate(g.datePicker,e.date)}function l(){var a=e.view;d.setParams(t),e.model&&!s&&(e.date=u(e.model),s=!1);var b=e.date;switch(a){case"year":e.years=d.getVisibleYears(b);break;case"month":e.months=d.getVisibleMonths(b);break;case"date":e.weekdays=e.weekdays||d.getDaysOfWeek(),e.weeks=d.getVisibleWeeks(b);break;case"hours":e.hours=d.getVisibleHours(b);break;case"minutes":e.minutes=d.getVisibleMinutes(b,w)}n()}function m(){return"date"!==e.view?e.view:e.date?e.date.month():null}function n(){var b,c,f=e.view,g=e.date,h=[],i="";if(d.setParams(t),"date"===f){var j,k=e.weeks;for(b=0;be;e+=b)c=d(f,g,h,i-j,e),k.push(c);return k},getVisibleWeeks:function(a){a=c(a);var b=a.year(),d=a.month();a.date(1);var e=a.day();0===e?a.date(-5):a.date(a.date()-e),1===a.date()&&a.date(-6);for(var f=[];f.length<6&&!(a.year()===b&&a.month()>d);)f.push(this.getDaysOfWeek(a)),a.add(7,"d");return f},getVisibleYears:function(a){var b=c(a),e=b.year();b.year(e-e%10),e=b.year();for(var f,g,h=b.utcOffset()/60,i=[],j=0;12>j;j++)f=d(e,0,1,0-h),g=f.utcOffset()/60,g!==h&&(f=d(e,0,1,0-g),h=g),i.push(f),e++;return i},getDaysOfWeek:function(b){b=b?b:a?c.tz(a).day(0):c().day(0);for(var e,f,g=b.year(),h=b.month(),i=b.date(),j=[],k=b.utcOffset()/60,l=0;7>l;l++)e=d(g,h,i,0-k,0,!1),f=e.utcOffset()/60,f!==k&&(e=d(g,h,i,0-f,0,!1)),j.push(e),i++;return j},getVisibleMonths:function(a){for(var b,c,e=a.year(),f=a.utcOffset()/60,g=[],h=0;12>h;h++)b=d(e,h,1,0-f,0,!1),c=b.utcOffset()/60,c!==f&&(b=d(e,h,1,0-c,0,!1)),g.push(b);return g},getVisibleHours:function(a){var b,c,e,f=a.year(),g=a.month(),h=a.date(),i=[],j=a.utcOffset()/60;for(b=0;24>b;b++)c=d(f,g,h,b-j,0,!1),e=c.utcOffset()/60,e!==j&&(c=d(f,g,h,b-e,0,!1)),i.push(c);return i},isAfter:function(a,b){return a&&a.unix()>=b.unix()},isBefore:function(a,b){return a.unix()<=b.unix()},isSameYear:function(a,b){return a&&a.year()===b.year()},isSameMonth:function(a,b){return this.isSameYear(a,b)&&a.month()===b.month()},isSameDay:function(a,b){return this.isSameMonth(a,b)&&a.date()===b.date()},isSameHour:function(a,b){return this.isSameDay(a,b)&&a.hours()===b.hours()},isSameMinutes:function(a,b){return this.isSameHour(a,b)&&a.minutes()===b.minutes()},setParams:function(b){a=b},findFunction:function(a,c){var d=a;do if(d=d.$parent,b.isFunction(d[c]))return d[c];while(d.$parent);return!1},findParam:function(a,b){var c=a;do if(c=c.$parent,c[b])return c[b];while(c.$parent);return!1},createMoment:function(b){return a?c.tz(b,a):c.isMoment(b)?c.unix(b.unix()):c(b)},getDate:function(a,b,c){var d=!1;return b[c]&&(d=this.createMoment(b[c]),d.isValid()||(d=this.findParam(a,b[c]),d&&(d=this.createMoment(d)))),d},eventIsForPicker:function(a,c){return b.isArray(a)&&a.indexOf(c)>-1||a===c}}});var d=b.module("datePicker");d.directive("dateRange",["$compile","datePickerUtils","dateTimeConfig",function(a,d,e){function f(a,d,f,g,h){return e.template(b.extend(a,{ngModel:f,minDate:g&&c.isMoment(g)?g.format():!1,maxDate:h&&c.isMoment(h)?h.format():!1}),d)}function g(){return"picker"+Math.random().toString().substr(2)}return{scope:{start:"=",end:"="},link:function(c,e,h){function i(a){c.$broadcast("pickerUpdate",m[0],{maxDate:a})}function j(a){c.$broadcast("pickerUpdate",m[1],{minDate:a})}var k=null,l=e[0].id,m=[g(),g()],n=d.createMoment,o=d.eventIsForPicker;c.dateChange=function(a,b){k&&k(a,b)},l&&c.$on("pickerUpdate",function(a,b,d){o(b,l)&&c.$broadcast("pickerUpdate",m,d)}),d.setParams(h.timezone),c.start=n(c.start),c.end=n(c.end),c.$watchGroup(["start","end"],function(a){j(a[0]),i(a[1])}),b.isDefined(h.dateChange)&&(k=d.findFunction(c,h.dateChange)),h.onSetDate="dateChange";var p='
'+f(h,m[0],"start",!1,c.end)+''+f(h,m[1],"end",c.start,!1)+"
",q=a(p)(c);e.append(q)}}}]);var e="ng-pristine",f="ng-dirty",d=b.module("datePicker");d.constant("dateTimeConfig",{template:function(a,b){return"
'},format:"YYYY-MM-DD HH:mm",views:["date","year","month","hours","minutes"],autoClose:!1,position:"relative"}),d.directive("dateTimeAppend",function(){return{link:function(a,b){b.bind("click",function(){b.find("input")[0].focus()})}}}),d.directive("dateTime",["$compile","$document","$filter","dateTimeConfig","$parse","datePickerUtils",function(a,d,g,h,i,j){var k=d.find("body"),l=g("mFormat");return{require:"ngModel",scope:!0,link:function(d,g,m,n){function o(a){return l(a,x,L)}function p(a){return a.length===x.length?a:void 0}function q(a){H=a,m.minDate=a?a.format():a,I=c.isMoment(a)}function r(a){J=a,m.maxDate=a?a.format():a,K=c.isMoment(a)}function s(){w=h.template(m)}function t(a){a.stopPropagation(),n.$pristine&&(n.$dirty=!0,n.$pristine=!1,g.removeClass(e).addClass(f),y&&y.$setDirty(),n.$render())}function u(){D&&(D.remove(),D=null),G&&(G.remove(),G=null)}function v(){if(!D){if(D=a(w)(d),d.$digest(),O||(d.$on("setDate",function(a,b,c){t(a),N&&N(m.ngModel,b),C&&z[z.length-1]===c&&u()}),d.$on("hidePicker",function(){g.triggerHandler("blur")}),d.$on("$destroy",u),O=!0),"absolute"===F){var c=b.extend(g.offset(),{height:g[0].offsetHeight});D.css({top:c.top+c.height,left:c.left,display:"block",position:F}),k.append(D)}else G=b.element("
"),g[0].parentElement.insertBefore(G[0],g[0]),G.append(D),D.css({top:g[0].offsetHeight+"px",display:"block"});D.bind("mousedown",function(a){a.preventDefault()})}}var w,x=m.format||h.format,y=g.inheritedData("$formController"),z=i(m.views)(d)||h.views.concat(),A=m.view||z[0],B=z.indexOf(A),C=m.autoClose?i(m.autoClose)(d):h.autoClose,D=null,E=g[0].id,F=m.position||h.position,G=null,H=null,I=null,J=null,K=null,L=m.timezone||!1,M=j.eventIsForPicker,N=null,O=!1;-1===B&&z.splice(B,1),z.unshift(A),n.$formatters.push(o),n.$parsers.unshift(p),b.isDefined(m.minDate)&&(q(j.findParam(d,m.minDate)),n.$validators.min=function(a){return I?c.isMoment(a)&&(H.isSame(a)||H.isBefore(a)):!0}),b.isDefined(m.maxDate)&&(r(j.findParam(d,m.maxDate)),n.$validators.max=function(a){return K?c.isMoment(a)&&(J.isSame(a)||J.isAfter(a)):!0}),b.isDefined(m.dateChange)&&(N=j.findFunction(d,m.dateChange)),E&&d.$on("pickerUpdate",function(a,c,d){if(M(c,E))if(D);else{var e=!1;b.isDefined(d.minDate)&&(q(d.minDate),e=!0),b.isDefined(d.maxDate)&&(r(d.maxDate),e=!0),b.isDefined(d.minView)&&(m.minView=d.minView),b.isDefined(d.maxView)&&(m.maxView=d.maxView),m.view=d.view||m.view,e&&n.$validate(),b.isDefined(d.format)&&(x=m.format=d.format||h.format,n.$modelValue=-1),s()}}),g.bind("focus",v),g.bind("blur",u),s()}}}]),b.module("datePicker").run(["$templateCache",function(a){a.put("templates/datepicker.html",'
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
')}])}); \ No newline at end of file