diff --git a/README.md b/README.md index cba8384..d05b749 100755 --- a/README.md +++ b/README.md @@ -1,13 +1,7 @@ -[![bitHound Score](https://www.bithound.io/github/rajeshwarpatlolla/ionic-datepicker/badges/score.svg)](https://www.bithound.io/github/rajeshwarpatlolla/ionic-datepicker) +## Introduction: +This is an extension of the plugin made by _rajeshwarpatlolla_ called `ionic-datepicker`. As the main difference between this extension and the source one is that now the day changes if the user changes either the _month_ or the _year_ (see (gif)[http://i.makeagif.com/media/11-04-2016/M72mip.gif]). -##Introduction: - -This is an `ionic-datepicker` bower component, which can be used in any Ionic framework's application. No additional plugins required for this component. -This plugin is completely open source. Please rate this plugin @ [Ionic Market](http://market.ionic.io/plugins/ionicdatepicker) - -From version 1.0.0, this component has got so many new features and the way you should use is different from the older versions of this component. If you wish to see the documentation for the previous versions of this component, please check the [previous releases](https://github.com/rajeshwarpatlolla/ionic-datepicker/releases) - -[View Demo](http://rajeshwarpatlolla.github.io/DatePickerForIonicFramework/demo/ "Demo") +![ionic-datepicker-extension](http://i.makeagif.com/media/11-04-2016/M72mip.gif) ##Prerequisites. @@ -20,17 +14,17 @@ From version 1.0.0, this component has got so many new features and the way you 1) In your project folder, please install this plugin using bower -`bower install ionic-datepicker --save` +`bower install ionic-datepicker-extended --save` This will install the latest version of this plugin. If you wish to install any specific version(eg : 0.9.0) then -`bower install ionic-datepicker#0.9.0 --save` +`bower install ionic-datepicker-extended#1.2.2 --save` 2) Specify the path of `ionic-datepicker.bundle.min.js` in your `index.html` file. ````html - + ```` 3) In your application's main module, inject the dependency `ionic-datepicker`, in order to work with this plugin @@ -162,7 +156,6 @@ Apart from the config method, you can re configure all options in the controller In all the above steps the only mandatory thing is the `callback` where you will get the selected date value. - ##Screen Shots: Once you are successfully done with the above steps, you should be able to use this plugin. @@ -311,63 +304,3 @@ c) New CSS d) Disabling a particular day of the calendar. -Few more features are also added apart from the above mentioned features. - - -**BugFixes** - -[Bug#88](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/88), -[Bug#94](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/94), -[Bug#101](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/101), -[Bug#112](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/112), -[Bug#114](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/114), -[Bug#116](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/116), -[Bug#117](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/117), -[Bug#120](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/120), -[Bug#128](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/128), -[Bug#129](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/129), -[Bug#133](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/133), -[Bug#145](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/145), -[Bug#146](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/146), -[Bug#151](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/151), -[Bug#154](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/154), -[Bug#161](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/161), -[Bug#163](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/163), -[Bug#166](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/166), -[Bug#168](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/168), -[Bug#171](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/171) - -### 14) v1.1.0 - -**BugFixes** - -[Bug#178](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/178), -[Bug#179](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/179), -[Bug#180](https://github.com/rajeshwarpatlolla/ionic-datepicker/issues/180) - -### 15) v1.2.0 - -Lots of bug fixes. Lots of PR's merged. - -CSS changes for popup, so that all the dates of all the months fits in the specified height. - -### 16) v1.2.1 - -Version modified to match with the current release version. - - -##License: -[MIT](https://github.com/rajeshwarpatlolla/ionic-datepicker/blob/master/LICENSE.MD "MIT") - -##Contact: -Gmail : rajeshwar.patlolla@gmail.com - -Github : https://github.com/rajeshwarpatlolla - -Twitter : https://twitter.com/rajeshwar_9032 - -Facebook : https://www.facebook.com/rajeshwarpatlolla - -Paypal : rajeshwar.patlolla@gmail.com - -Comment or Rate it : http://market.ionic.io/plugins/ionicdatepicker diff --git a/bower.json b/bower.json index ba1cc5e..1a608af 100755 --- a/bower.json +++ b/bower.json @@ -1,6 +1,6 @@ { - "name": "ionic-datepicker", - "version": "1.2.1", + "name": "ionic-datepicker-extended", + "version": "1.2.2", "authors": [ "rajeshwarpatlolla " ], @@ -9,6 +9,7 @@ "./dist/ionic-datepicker.bundle.min.js" ], "keywords": [ + "ionic-datepicker-extended", "ionic-datepicker", "ionic", "datepicker", diff --git a/dist/ionic-datepicker.bundle.min.js b/dist/ionic-datepicker.bundle.min.js index 959ffaa..3290fd7 100755 --- a/dist/ionic-datepicker.bundle.min.js +++ b/dist/ionic-datepicker.bundle.min.js @@ -1 +1 @@ -!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,".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: #fff;\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: #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\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: #fff;\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}"),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",'

{{mainObj.titleLabel || selctedDateEpoch | date : mainObj.dateFormat}}

{{dayList[row + col].date}}
')}])}(),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",'
{{mainObj.titleLabel || selctedDateEpoch | date : mainObj.dateFormat}}
{{dayList[row + col].date}}
')}])}(),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){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.mainObj.monthsList&&12===u.mainObj.monthsList.length?u.monthsList=u.mainObj.monthsList:u.monthsList=o.monthsList,u.yearsList=o.getYearsList(u.mainObj.from,u.mainObj.to),u.dayList=[];var a,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;d<=n;d++)a=new Date(e.getFullYear(),e.getMonth(),d),c=a.getTime()u.toDate||u.mainObj.disableWeekdays.indexOf(a.getDay())>=0,u.dayList.push({date:a.getDate(),month:a.getMonth(),year:a.getFullYear(),day:a.getDay(),epoch:a.getTime(),disabled:c});var r=u.dayList[0].day-u.mainObj.mondayFirst;r=r<0?6:r;for(var l=0;l

{{mainObj.titleLabel || selctedDateEpoch | date : mainObj.dateFormat}}

{{dayList[row + col].date}}
')}])}(),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",'
{{mainObj.titleLabel || selctedDateEpoch | date : mainObj.dateFormat}}
{{dayList[row + col].date}}
')}])}(),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){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.mainObj.monthsList&&12===u.mainObj.monthsList.length?u.monthsList=u.mainObj.monthsList:u.monthsList=o.monthsList,u.yearsList=o.getYearsList(u.mainObj.from,u.mainObj.to),u.dayList=[];var a,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;d<=n;d++)a=new Date(e.getFullYear(),e.getMonth(),d),c=a.getTime()u.toDate||u.mainObj.disableWeekdays.indexOf(a.getDay())>=0,u.dayList.push({date:a.getDate(),month:a.getMonth(),year:a.getFullYear(),day:a.getDay(),epoch:a.getTime(),disabled:c});var r=u.dayList[0].day-u.mainObj.mondayFirst;r=r<0?6:r;for(var l=0;l