Created
May 11, 2016 16:26
-
-
Save danilopolani/d6b019784f63812b0d26507315374642 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!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(o){n.innerText=t}}(document,".padding_zero {\n padding: 0;\n}\n\n.ionic_datepicker_popup .font_bold {\n font-weight: bold;\n}\n.ionic_datepicker_popup .padding_top_zero {\n padding-top: 0;\n}\n.ionic_datepicker_popup .padding_left_5px {\n padding-left: 5px;\n}\n.ionic_datepicker_popup .padding_right_5px {\n padding-right: 5px;\n}\n.ionic_datepicker_popup .calendar_grid {\n height: 215px;\n}\n.ionic_datepicker_popup .today {\n border: 1px solid #009688;\n border-radius: 50%;\n}\n.ionic_datepicker_popup .selected_date {\n background-color: #009688;\n border-radius: 50%;\n color: #fff;\n font-weight: bold;\n}\n.ionic_datepicker_popup .popup-head {\n background-color: #009688;\n display: none;\n}\n.ionic_datepicker_popup .popup-head .popup-title {\n color: #ffffff;\n}\n.ionic_datepicker_popup .popup-head .popup-sub-title {\n color: #ffffff;\n}\n.ionic_datepicker_popup .popup-body {\n background-color: #ffffff;\n}\n.ionic_datepicker_popup .popup-body .selected_date_full {\n background-color: #019688;\n margin: -10px -10px 0 -10px;\n height: 45px;\n text-align: center;\n font-weight: bold;\n color: #fff;\n line-height: 45px;\n font-size: 18px;\n}\n.ionic_datepicker_popup .popup-body .select_section {\n padding: 1px 5px;\n}\n.ionic_datepicker_popup .popup-body .pointer_events_none {\n pointer-events: none;\n color: #aaaaaa !important;\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.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.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.ionic_datepicker_popup .popup-body .month_select:after, .ionic_datepicker_popup .popup-body .year_select:after {\n right: 5px;\n color: #009688;\n}\n.ionic_datepicker_popup .popup-body .show_nav {\n padding: 10px 0 0 0;\n}\n.ionic_datepicker_popup .popup-body .show_nav .prev_btn_section {\n padding: 5px 0;\n text-align: left;\n}\n.ionic_datepicker_popup .popup-body .show_nav .prev_btn_section button {\n padding: 0;\n}\n.ionic_datepicker_popup .popup-body .show_nav .next_btn_section {\n padding: 5px 0;\n text-align: right;\n}\n.ionic_datepicker_popup .popup-body .show_nav .next_btn_section button {\n padding: 0;\n}\n.ionic_datepicker_popup .popup-body .button-clear {\n color: #009688;\n}\n.ionic_datepicker_popup .popup-buttons {\n padding: 0;\n min-height: 45px;\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_modal .header, .ionic_datepicker_modal .footer {\n background-color: #009688;\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.ionic_datepicker_modal .footer .button-block {\n margin: 0;\n}\n.ionic_datepicker_modal .today {\n border: 1px solid #009688;\n}\n.ionic_datepicker_modal .selected_date {\n background-color: #009688;\n color: #fff;\n font-weight: bold;\n}\n.ionic_datepicker_modal .pointer_events_none {\n pointer-events: none;\n color: #aaaaaa !important;\n}\n.ionic_datepicker_modal .select_section {\n padding: 1px 5px;\n}\n.ionic_datepicker_modal .button-clear {\n color: #009688;\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.ionic_datepicker_modal .month_select .input-label, .ionic_datepicker_modal .year_select .input-label {\n padding: 2px 0;\n width: 0;\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.ionic_datepicker_modal .month_select:after, .ionic_datepicker_modal .year_select:after {\n right: 5px;\n color: #009688;\n}\n.ionic_datepicker_modal .padding_left_5px {\n padding-left: 5px;\n}\n.ionic_datepicker_modal .padding_right_5px {\n padding-right: 5px;\n}\n.ionic_datepicker_modal .date_col {\n height: 50px;\n line-height: 50px;\n}\n.ionic_datepicker_modal .font_bold {\n font-weight: bold;\n}\n.ionic_datepicker_modal .font_22px {\n font-size: 22px;\n}\n.platform-android .ionic_datepicker_modal .bar .title.title-left {\n text-align: center;\n}\n.platform-android .ionic_datepicker_modal select {\n left: 25%;\n}\n.platform-ios .ionic_datepicker_modal select {\n left: 5%;\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>{{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"><button class="button-clear font_22px" ng-click=prevMonth() 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-50 padding_right_5px"><label class="item item-input item-select month_select"><span class=input-label> </span><select ng-model=currentMonth ng-change=monthChanged(currentMonth) ng-options="month for month in monthsList"></select></label></div><div class="col-50 padding_left_5px"><label class="item item-input item-select year_select"><span class=input-label> </span><select ng-model=currentYear ng-change=yearChanged(currentYear) ng-options="year for year in yearsList"></select></label></div></div></div><div class="col col-10 right_arrow"><button class="button-clear font_22px" ng-click=nextMonth() 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>{{selctedDateEpoch | date : mainObj.dateFormat}}</div><div class=date_selection><div class="row show_nav"><div class="col-10 prev_btn_section"><button class=button-clear ng-click=prevMonth() ng-class="{\'pointer_events_none\':((firstDayEpoch - 86400000) < fromDate)}"><i class="icon ion-chevron-left"></i></button></div><div class="col-80 text-center"><div class="row select_section"><div class="col-50 padding_right_5px"><label class="item item-input item-select month_select"><span class=input-label> </span><select ng-model=currentMonth ng-change=monthChanged(currentMonth) ng-options="month for month in monthsList"></select></label></div><div class="col-50 padding_left_5px"><label class="item item-input item-select year_select"><span class=input-label> </span><select ng-model=currentYear ng-change=yearChanged(currentYear) ng-options="year for year in yearsList"></select></label></div></div></div><div class="col-10 next_btn_section"><button class=button-clear ng-click=nextMonth() 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_top_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={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,o,a){function i(e){return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),e} | |
function c(e){e.disabledDates&&0!==e.disabledDates.length?(u.disabledDates=[],angular.forEach(e.disabledDates,function(e,t){e=i(new Date(e)),u.disabledDates.push(e.getTime())})):u.disabledDates=[]} | |
function d(e){e=i(e),u.currentDate=angular.copy(e);var t=new Date(e.getFullYear(),e.getMonth(),1).getDate(),n=new Date(e.getFullYear(),e.getMonth()+1,0).getDate();u.monthsList=[],u.monthsList=u.mainObj.monthsList&&12===u.mainObj.monthsList.length?u.mainObj.monthsList:a.monthsList,u.yearsList=a.getYearsList(u.mainObj.from,u.mainObj.to),u.dayList=[];var o,c;u.firstDayEpoch=i(new Date(e.getFullYear(),e.getMonth(),t)).getTime(),u.lastDayEpoch=i(new Date(e.getFullYear(),e.getMonth(),n)).getTime();for(var d=t;n>=d;d++)o=new Date(e.getFullYear(),e.getMonth(),d),c=o.getTime()<u.fromDate||o.getTime()>u.toDate||u.mainObj.disableWeekdays.indexOf(o.getDay())>=0,u.dayList.push({date:o.getDate(),month:o.getMonth(),year:o.getFullYear(),day:o.getDay(),epoch:o.getTime(),disabled:c});var r=u.dayList[0].day-u.mainObj.mondayFirst;r=0>r?6:r;for(var p=0;r>p;p++)u.dayList.unshift({});u.rows=[0,7,14,21,28,35],u.cols=[0,1,2,3,4,5,6],u.currentMonth=u.mainObj.monthsList[e.getMonth()],u.currentYear=e.getFullYear(),u.currentMonthSelected=angular.copy(u.currentMonth),u.currentYearSelected=angular.copy(u.currentYear),u.numColumns=7} | |
function r(e){u.mainObj=angular.copy(e),u.selctedDateEpoch=i(u.mainObj.inputDate).getTime(),u.weeksList=u.mainObj.weeksList&&7===u.mainObj.weeksList.length?u.mainObj.weeksList:["S","M","T","W","T","F","S"],u.mainObj.mondayFirst&&u.weeksList.push(u.mainObj.weeksList.shift()),u.disableWeekdays=u.mainObj.disableWeekdays,d(u.mainObj.inputDate),c(u.mainObj)} | |
function p(){u.modal.show()} | |
function l(){u.modal.hide()} | |
var s={},u=t.$new();return u.today=i(new Date).getTime(),u.disabledDates=[],u.prevMonth=function(){1===u.currentDate.getMonth()&&u.currentDate.setFullYear(u.currentDate.getFullYear()),u.currentDate.setMonth(u.currentDate.getMonth()-1),u.currentMonth=u.mainObj.monthsList[u.currentDate.getMonth()],u.currentYear=u.currentDate.getFullYear(),d(u.currentDate)},u.nextMonth=function(){11===u.currentDate.getMonth()&&u.currentDate.setFullYear(u.currentDate.getFullYear()),u.currentDate.setDate(1),u.currentDate.setMonth(u.currentDate.getMonth()+1),u.currentMonth=u.mainObj.monthsList[u.currentDate.getMonth()],u.currentYear=u.currentDate.getFullYear(),d(u.currentDate)},u.dateSelected=function(e){e&&0!==Object.keys(e).length&&(u.selctedDateEpoch=e.epoch,u.mainObj.closeOnSelect&&(u.mainObj.callback(u.selctedDateEpoch),"popup"==u.mainObj.templateType.toLowerCase()?u.popup.close():l()))},u.setIonicDatePickerTodayDate=function(){var e=new Date;d(new Date),u.selctedDateEpoch=i(e).getTime(),u.mainObj.closeOnSelect&&(u.mainObj.callback(u.selctedDateEpoch),l())},u.setIonicDatePickerDate=function(){u.mainObj.callback(u.selctedDateEpoch),l()},u.monthChanged=function(e){var t=u.monthsList.indexOf(e);u.currentDate.setMonth(t),d(u.currentDate)},u.yearChanged=function(e){u.currentDate.setFullYear(e),d(u.currentDate)},o.fromTemplateUrl("ionic-datepicker-modal.html",{scope:u,animation:"slide-in-up"}).then(function(e){u.modal=e}),u.$on("$destroy",function(){u.modal.remove()}),u.closeIonicDatePickerModal=function(){l()},s.openDatePicker=function(t){var o=[];u.mainObj=angular.extend({},e,t),u.mainObj.from&&(u.fromDate=i(new Date(u.mainObj.from)).getTime()),u.mainObj.to&&(u.toDate=i(new Date(u.mainObj.to)).getTime()),t.disableWeekdays&&e.disableWeekdays&&(u.mainObj.disableWeekdays=t.disableWeekdays.concat(e.disableWeekdays)),r(u.mainObj),u.mainObj.closeOnSelect||(o=[{text:u.mainObj.setLabel,type:"button_set",onTap:function(e){u.mainObj.callback(u.selctedDateEpoch)}}]),u.mainObj.showTodayButton&&o.push({text:u.mainObj.todayLabel,type:"button_today",onTap:function(e){var t=new Date;d(new Date),u.selctedDateEpoch=i(t).getTime(),u.mainObj.closeOnSelect||e.preventDefault()}}),o.push({text:u.mainObj.closeLabel,type:"button_close",onTap:function(e){console.log("ionic-datepicker popup closed.")}}),"popup"==u.mainObj.templateType.toLowerCase()?u.popup=n.show({templateUrl:"ionic-datepicker-popup.html",scope:u,cssClass:"ionic_datepicker_popup",buttons:o}):p()},s}]}),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=[],o=1900,a=2100;o=e?new Date(e).getFullYear():o,a=t?new Date(t).getFullYear():a;for(var i=o;a>=i;i++)n.push(i);return n}}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment