{"size": 16097, "ext": "js", "max_stars_repo_path": "dist/ionic-datepicker.bundle.min.js", "max_stars_repo_name": "smartcrm/ionic-datepicker", "max_stars_repo_stars_event_min_datetime": "2018-02-05T02:30:29.000Z", "max_stars_repo_stars_event_max_datetime": "2018-02-05T02:30:29.000Z", "max_issues_repo_path": "dist/ionic-datepicker.bundle.min.js", "max_issues_repo_name": "smartcrm/ionic-datepicker", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "dist/ionic-datepicker.bundle.min.js", "max_forks_repo_name": "smartcrm/ionic-datepicker", "max_forks_repo_forks_event_min_datetime": "2018-02-05T02:30:35.000Z", "max_forks_repo_forks_event_max_datetime": "2018-08-04T14:08:57.000Z"}
{"max_stars_count": 1, "max_issues_count": null, "max_forks_count": 2, "avg_line_length": 16097.0, "max_line_length": 16097, "alphanum_fraction": 0.7413803814}
!function(e,t){var n=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(n),n.styleSheet)n.styleSheet.disabled||(n.styleSheet.cssText=t);else try{n.innerHTML=t}catch(e){n.innerText=t}}(document,"/**/\n.padding_zero {\n    padding: 0;\n}\n\n.ionic_datepicker_popup .font_bold {\n    font-weight: bold;\n}\n\n.ionic_datepicker_popup .padding_top_zero {\n    padding-top: 0;\n}\n\n.ionic_datepicker_popup .padding_left_5px {\n    padding-left: 5px;\n}\n\n.ionic_datepicker_popup .padding_right_5px {\n    padding-right: 5px;\n}\n\n.ionic_datepicker_popup .month_year_section {\n    padding: 5px 0;\n}\n\n.ionic_datepicker_popup .calendar_grid {\n    height: 215px;\n}\n\n.ionic_datepicker_popup .calendar_grid .weeks_row {\n    padding: 0;\n}\n\n.ionic_datepicker_popup .today {\n    border: 1px solid #009688;\n    border-radius: 50%;\n}\n\n.ionic_datepicker_popup .selected_date {\n    background-color: #009688;\n    border-radius: 50%;\n    color: #ffffff;\n    font-weight: bold;\n}\n\n.ionic_datepicker_popup .popup-head {\n    background-color: #009688;\n    display: none;\n}\n\n.ionic_datepicker_popup .popup-head .popup-title {\n    color: #ffffff;\n}\n\n.ionic_datepicker_popup .popup-head .popup-sub-title {\n    color: #ffffff;\n}\n\n.ionic_datepicker_popup .popup-body {\n    background-color: #ffffff;\n}\n\n.ionic_datepicker_popup .popup-body .selected_date_full {\n    background-color: #009688;\n    margin: -10px -10px 0 -10px;\n    height: 45px;\n    text-align: center;\n    font-weight: bold;\n    color: #ffffff;\n    line-height: 45px;\n    font-size: 18px;\n}\n\n.ionic_datepicker_popup .popup-body .select_section {\n    padding: 1px 5px;\n}\n\n.ionic_datepicker_popup .popup-body .pointer_events_none {\n    pointer-events: none;\n    color: #aaaaaa !important;\n}\n\n.ionic_datepicker_popup .popup-body .month_select, .ionic_datepicker_popup .popup-body .year_select {\n    border: none;\n    border-bottom: 1px solid #009688;\n    padding: 0;\n}\n\n.ionic_datepicker_popup .popup-body .month_select .input-label, .ionic_datepicker_popup .popup-body .year_select .input-label {\n    padding: 2px 0;\n    width: 0;\n}\n\n.ionic_datepicker_popup .popup-body .month_select select, .ionic_datepicker_popup .popup-body .year_select select {\n    left: 10px;\n    border: none;\n    padding: 0;\n}\n\n.ionic_datepicker_popup .popup-body .month_select:after, .ionic_datepicker_popup .popup-body .year_select:after {\n    right: 5px;\n    color: #009688;\n}\n\n.ionic_datepicker_popup .popup-body .show_nav {\n    padding: 5px 0 0 0;\n}\n\n.ionic_datepicker_popup .popup-body .show_nav .prev_btn_section {\n    padding: 5px 0;\n    text-align: left;\n}\n\n.ionic_datepicker_popup .popup-body .show_nav .prev_btn_section button {\n    padding: 0;\n}\n\n.ionic_datepicker_popup .popup-body .show_nav .next_btn_section {\n    padding: 5px 0;\n    text-align: right;\n}\n\n.ionic_datepicker_popup .popup-body .show_nav .next_btn_section button {\n    padding: 0;\n}\n\n.ionic_datepicker_popup .popup-body .button-clear {\n    color: #009688;\n}\n\n.ionic_datepicker_popup .popup-buttons {\n    padding: 0;\n    min-height: 45px;\n}\n\n.ionic_datepicker_popup .popup-buttons button {\n    background-color: #009688;\n    border-radius: 0;\n    margin-right: 1px;\n    color: #ffffff;\n}\n\n.ionic_datepicker_popup .row + .row {\n    padding: 0;\n}\n\n.ionic_datepicker_modal .header, .ionic_datepicker_modal .footer {\n    background-color: #009688;\n}\n\n.ionic_datepicker_modal .header .title, .ionic_datepicker_modal .header .button, .ionic_datepicker_modal .footer .title, .ionic_datepicker_modal .footer .button {\n    color: #ffffff;\n}\n\n.ionic_datepicker_modal .footer .button-block {\n    margin: 0;\n}\n\n.ionic_datepicker_modal .today {\n    border: 1px solid #009688;\n}\n\n.ionic_datepicker_modal .selected_date {\n    background-color: #009688;\n    color: #ffffff;\n    font-weight: bold;\n}\n\n.ionic_datepicker_modal .pointer_events_none {\n    pointer-events: none;\n    color: #aaaaaa !important;\n}\n\n.ionic_datepicker_modal .select_section {\n    padding: 1px 5px;\n}\n\n.ionic_datepicker_modal .button-clear {\n    color: #009688;\n}\n\n.ionic_datepicker_modal .month_select, .ionic_datepicker_modal .year_select {\n    border: none;\n    border-bottom: 1px solid #009688;\n    padding: 0;\n}\n\n.ionic_datepicker_modal .month_select .input-label, .ionic_datepicker_modal .year_select .input-label {\n    padding: 2px 0;\n    width: 0;\n}\n\n.ionic_datepicker_modal .month_select select, .ionic_datepicker_modal .year_select select {\n    left: 10px;\n    border: none;\n    padding: 0 10px;\n}\n\n.ionic_datepicker_modal .month_select:after, .ionic_datepicker_modal .year_select:after {\n    right: 5px;\n    color: #009688;\n}\n\n.ionic_datepicker_modal .padding_left_5px {\n    padding-left: 5px;\n}\n\n.ionic_datepicker_modal .padding_right_5px {\n    padding-right: 5px;\n}\n\n.ionic_datepicker_modal .date_col {\n    height: 50px;\n    line-height: 50px;\n}\n\n.ionic_datepicker_modal .font_bold {\n    font-weight: bold;\n}\n\n.ionic_datepicker_modal .font_22px {\n    font-size: 22px;\n}\n\n.platform-android .ionic_datepicker_modal .bar .title.title-left {\n    text-align: center;\n}\n\n.platform-android .ionic_datepicker_modal select {\n    left: 25%;\n}\n\n.platform-ios .ionic_datepicker_modal select {\n    left: 5%;\n}\n\n.date_col {\n    cursor: pointer;\n}"),function(e){try{e=angular.module("ionic-datepicker.templates")}catch(t){e=angular.module("ionic-datepicker.templates",[])}e.run(["$templateCache",function(e){e.put("ionic-datepicker-modal.html",'<ion-modal-view class=ionic_datepicker_modal><ion-header-bar class=header><h1 class=title>{{mainObj.titleLabel || selctedDateEpoch | date : mainObj.dateFormat}}</h1></ion-header-bar><ion-content class=ionic_datepicker_modal_content><div><div class="row text-center"><div class="col col-10 left_arrow" ng-click=prevMonth()><button class="button-clear font_22px" ng-class="{\'pointer_events_none\':((firstDayEpoch - 86400000) < fromDate)}"><i class="icon ion-chevron-left"></i></button></div><div class="col col-80 text-center"><div class="row select_section"><div class="col col-50 padding_right_5px"><label class="item item-input item-select month_select"><span class=input-label>&nbsp;</span><select ng-model=data.currentMonth ng-change=monthChanged(data.currentMonth)><option ng-repeat="month in monthsList" ng-selected="month == data.currentMonthSelected" value={{month}}>{{month}}</option></select></label></div><div class="col col-50 padding_left_5px"><label class="item item-input item-select year_select"><span class=input-label>&nbsp;</span><select ng-model=data.currentYear ng-change=yearChanged(data.currentYear) ng-options="year for year in yearsList"></select></label></div></div></div><div class="col col-10 right_arrow" ng-click=nextMonth()><button class="button-clear font_22px" ng-class="{\'pointer_events_none\':((lastDayEpoch + 86400000) > toDate)}"><i class="icon ion-chevron-right"></i></button></div></div><div class=calendar_grid><div class="row padding-top weeks_row"><div class="col text-center font_bold" ng-repeat="weekName in weeksList track by $index" ng-bind=weekName></div></div><div><div class="row text-center padding_top_zero" ng-repeat="row in rows track by $index"><div class="col padding_zero date_col" ng-repeat="col in cols track by $index" ng-class="{\'selected_date\': (dayList[row + $index].epoch === selctedDateEpoch), \'today\' : (dayList[row + $index].epoch == today), \'pointer_events_none\':((disabledDates.indexOf(dayList[row + $index].epoch) >= 0) || (dayList[row + $index].disabled))}" ng-click="dateSelected(dayList[row + $index])"><div class=date_cell>{{dayList[row + col].date}}</div></div></div></div></div></div></ion-content><ion-footer-bar class=footer><div class="row padding_zero"><button class="button button-clear button-block button_set" ng-if=!mainObj.closeOnSelect ng-click=setIonicDatePickerDate()>{{mainObj.setLabel}}</button> <button class="button button-clear button-block button_today" ng-if=mainObj.showTodayButton ng-click=setIonicDatePickerTodayDate()>{{mainObj.todayLabel}}</button> <button class="button button-clear button-block button_close" ng-click=closeIonicDatePickerModal()>{{mainObj.closeLabel}}</button></div></ion-footer-bar></ion-modal-view>')}])}(),function(e){try{e=angular.module("ionic-datepicker.templates")}catch(t){e=angular.module("ionic-datepicker.templates",[])}e.run(["$templateCache",function(e){e.put("ionic-datepicker-popup.html",'<div class=selected_date_full>{{mainObj.titleLabel || selctedDateEpoch | date : mainObj.dateFormat}}</div><div class=date_selection><div class="row show_nav"><div class="col col-10 prev_btn_section col-center" ng-click=prevMonth()><button class=button-clear ng-class="{\'pointer_events_none\':((firstDayEpoch - 86400000) < fromDate)}"><i class="icon ion-chevron-left"></i></button></div><div class="col col-80 month_year_section text-center"><div class="row select_section"><div class="col col-50 padding_right_5px"><label class="item item-input item-select month_select"><span class=input-label>&nbsp;</span><select ng-model=data.currentMonth ng-change=monthChanged(data.currentMonth)><option ng-repeat="month in monthsList" ng-selected="month==data.currentMonthSelected" value={{month}}>{{month}}</option></select></label></div><div class="col col-50 padding_left_5px"><label class="item item-input item-select year_select"><span class=input-label>&nbsp;</span><select ng-model=data.currentYear ng-change=yearChanged(data.currentYear) ng-options="year for year in yearsList"></select></label></div></div></div><div class="col col-10 next_btn_section col-center" ng-click=nextMonth()><button class=button-clear ng-class="{\'pointer_events_none\':((lastDayEpoch + 86400000) > toDate)}"><i class="icon ion-chevron-right"></i></button></div></div><div class=calendar_grid><div class="row weeks_row"><div class="col text-center font_bold" ng-repeat="weekName in weeksList track by $index" ng-bind=weekName></div></div><div><div class="row text-center padding_zero" ng-repeat="row in rows track by $index"><div class="col no_padding date_col" ng-repeat="col in cols track by $index" ng-class="{\'selected_date\': (dayList[row + $index].epoch === selctedDateEpoch), \'today\' : (dayList[row + $index].epoch == today), \'pointer_events_none\':((disabledDates.indexOf(dayList[row + $index].epoch) >= 0) || dayList[row + $index].disabled)}" ng-click="dateSelected(dayList[row + $index])"><div class=date_cell>{{dayList[row + col].date}}</div></div></div></div></div></div>')}])}(),angular.module("ionic-datepicker",["ionic","ionic-datepicker.service","ionic-datepicker.provider","ionic-datepicker.templates"]),angular.module("ionic-datepicker.provider",[]).provider("ionicDatePicker",function(){var e={titleLabel:null,setLabel:"Set",todayLabel:"Today",closeLabel:"Close",inputDate:new Date,mondayFirst:!0,weeksList:["S","M","T","W","T","F","S"],monthsList:["Jan","Feb","March","April","May","June","July","Aug","Sept","Oct","Nov","Dec"],templateType:"popup",showTodayButton:!1,closeOnSelect:!1,disableWeekdays:[]};this.configDatePicker=function(t){angular.extend(e,t)},this.$get=["$rootScope","$ionicPopup","$ionicModal","IonicDatepickerService",function(t,n,a,o){function i(e){return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),e}function c(e){var t=e.getTime()<_.fromDate||e.getTime()>_.toDate||_.mainObj.disableWeekdays.indexOf(e.getDay())>=0;return{date:e.getDate(),month:e.getMonth(),year:e.getFullYear(),day:e.getDay(),epoch:e.getTime(),disabled:t}}function d(e){e.disabledDates&&0!==e.disabledDates.length?(_.disabledDates=[],angular.forEach(e.disabledDates,function(e,t){e=i(new Date(e)),_.disabledDates.push(e.getTime())})):_.disabledDates=[]}function r(e){e=i(e),_.currentDate=angular.copy(e);var t=new Date(e.getFullYear(),e.getMonth(),1).getDate(),n=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();_.monthsList=[],_.mainObj.monthsList&&12===_.mainObj.monthsList.length?_.monthsList=_.mainObj.monthsList:_.monthsList=o.monthsList,_.yearsList=o.getYearsList(_.mainObj.from,_.mainObj.to),_.dayList=[];var a;_.firstDayEpoch=i(new Date(e.getFullYear(),e.getMonth(),t)).getTime(),_.lastDayEpoch=i(new Date(e.getFullYear(),e.getMonth(),n)).getTime();for(var d=t;d<=n;d++)a=new Date(e.getFullYear(),e.getMonth(),d),_.dayList.push(c(a));var r=_.dayList[0].day-_.mainObj.mondayFirst;r=r<0?6:r;for(var l=0;l<r;l++)_.dayList.unshift({});_.rows=[0,7,14,21,28,35],_.cols=[0,1,2,3,4,5,6],_.data.currentMonth=_.mainObj.monthsList[e.getMonth()],_.data.currentYear=e.getFullYear(),_.data.currentMonthSelected=angular.copy(_.data.currentMonth),_.currentYearSelected=angular.copy(_.data.currentYear),_.numColumns=7}function l(e){_.mainObj=angular.copy(e),_.selctedDateEpoch=i(_.mainObj.inputDate).getTime(),_.mainObj.weeksList&&7===_.mainObj.weeksList.length?_.weeksList=_.mainObj.weeksList:_.weeksList=["S","M","T","W","T","F","S"],_.mainObj.mondayFirst&&_.weeksList.push(_.mainObj.weeksList.shift()),_.disableWeekdays=_.mainObj.disableWeekdays,r(_.mainObj.inputDate),d(_.mainObj)}function p(){_.modal.show()}function s(){_.modal.hide()}var u={},_=t.$new();_.disabledDates=[],_.data={},_.prevMonth=function(){1===_.currentDate.getMonth()&&_.currentDate.setFullYear(_.currentDate.getFullYear()),_.currentDate.setMonth(_.currentDate.getMonth()-1),_.data.currentMonth=_.mainObj.monthsList[_.currentDate.getMonth()],_.data.currentYear=_.currentDate.getFullYear(),r(_.currentDate),b()},_.nextMonth=function(){11===_.currentDate.getMonth()&&_.currentDate.setFullYear(_.currentDate.getFullYear()),_.currentDate.setMonth(_.currentDate.getMonth()+1),_.data.currentMonth=_.mainObj.monthsList[_.currentDate.getMonth()],_.data.currentYear=_.currentDate.getFullYear(),r(_.currentDate),b()};var b=function(){var e=new Date(_.selctedDateEpoch);e.setMonth(_.currentDate.getMonth()),e.setYear(_.currentDate.getFullYear()),_.selctedDateEpoch=e.getTime()};return _.dateSelected=function(e){e&&0!==Object.keys(e).length&&(_.selctedDateEpoch=e.epoch,_.mainObj.closeOnSelect&&(_.mainObj.callback(_.selctedDateEpoch),"popup"==_.mainObj.templateType.toLowerCase()?_.popup.close():s()))},_.setIonicDatePickerTodayDate=function(){r(new Date(_.today)),_.dateSelected(c(new Date(_.today)))},_.setIonicDatePickerDate=function(){_.mainObj.callback(_.selctedDateEpoch),s()},_.monthChanged=function(e){var t=_.monthsList.indexOf(e);_.currentDate.setMonth(t),r(_.currentDate),b()},_.yearChanged=function(e){_.currentDate.setFullYear(e),r(_.currentDate),b()},a.fromTemplateUrl("ionic-datepicker-modal.html",{scope:_,animation:"slide-in-up"}).then(function(e){_.modal=e}),_.$on("$destroy",function(){_.modal.remove()}),_.closeIonicDatePickerModal=function(){s()},u.openDatePicker=function(t){var a=[];delete _.fromDate,delete _.toDate,_.today=i(new Date).getTime(),_.mainObj=angular.extend({},e,t),_.mainObj.from&&(_.fromDate=i(new Date(_.mainObj.from)).getTime()),_.mainObj.to&&(_.toDate=i(new Date(_.mainObj.to)).getTime()),t.disableWeekdays&&e.disableWeekdays&&(_.mainObj.disableWeekdays=t.disableWeekdays.concat(e.disableWeekdays)),l(_.mainObj),_.mainObj.closeOnSelect||(a=[{text:_.mainObj.setLabel,type:"button_set",onTap:function(e){_.mainObj.callback(_.selctedDateEpoch)}}]),_.mainObj.showTodayButton&&a.push({text:_.mainObj.todayLabel,type:"button_today",onTap:function(e){e.preventDefault(),_.setIonicDatePickerTodayDate()}}),a.push({text:_.mainObj.closeLabel,type:"button_close",onTap:function(e){}}),"popup"==_.mainObj.templateType.toLowerCase()?_.popup=n.show({templateUrl:"ionic-datepicker-popup.html",scope:_,cssClass:"ionic_datepicker_popup",buttons:a}):p()},u}]}),angular.module("ionic-datepicker.service",[]).service("IonicDatepickerService",function(){this.monthsList=["January","February","March","April","May","June","July","August","September","October","November","December"],this.getYearsList=function(e,t){var n=[],a=1900,o=2100;a=e?new Date(e).getFullYear():a,o=t?new Date(t).getFullYear():o;for(var i=a;i<=o;i++)n.push(i);return n}});