forked from KidSysco/jquery-ui-month-picker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMonthPicker.min.js
More file actions
20 lines (20 loc) · 11 KB
/
MonthPicker.min.js
File metadata and controls
20 lines (20 loc) · 11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
(function(c,h,f,g){c.Aa={Z:{year:"Year",ib:"Previous Year",fb:"Next Year",cb:"Jump Forward 5 Years",gb:"Jump Back 5 Years",eb:"Next",hb:"Prev",Ya:"Open Month Chooser",$a:"Jump Years",bb:"Jan. Feb. Mar. Apr. May June July Aug. Sep. Oct. Nov. Dec.".split(" ")}};c.lb("KidSysco.MonthPicker",{options:{Z:null,ba:null,B:null,C:null,N:!0,$:!1,O:!1,j:null,A:!1,I:null,H:null,J:null,K:null,L:null,M:null,D:null,F:null,G:null,fa:null,l:-9999,P:null,m:9999,T:null},a:null,f:null,g:null,ea:null,S:null,R:{U:"MonthPicker_OverrideStartYear"},
Sa:function(){jQuery.ua&&this.options.O&&this.element.Na();this.element.o("").s("color","").wa("month-year-input").Ma(this.R.U).u();c(f).u("click.MonthPicker"+this.element.c("id"),c.b(this.ca,this));this.a.remove();this.a=null;this.ab&&(this.f.remove(),this.f=null);this.g&&(this.g.remove(),this.g=null)},la:function(a,b){this.Va("_setOption",a,b);switch(a){case "i18n":this.options.Z=c.extend({},b);break;case "Disabled":this.options.A=b;this.ia();break;case "OnAfterChooseMonth":this.options.D=b;break;
case "OnAfterChooseMonths":this.options.fa=b;break;case "OnAfterChooseYear":this.options.F=b;break;case "OnAfterChooseYears":this.options.G=b;break;case "OnAfterMenuClose":this.options.H=b;break;case "OnAfterMenuOpen":this.options.I=b;break;case "OnAfterNextYear":this.options.J=b;break;case "OnAfterNextYears":this.options.K=b;break;case "OnAfterPreviousYear":this.options.L=b;break;case "OnAfterPreviousYears":this.options.M=b;break;case "UseInputMask":this.options.O=b;this.na();break;case "StartYear":this.options.ba=
b;this.ma();null!==b&&this.w(b);break;case "EarliestMonthSelectable":this.options.B=b;this.ja(this.v());break;case "LatestMonthSelectable":this.options.C=b;this.ka(this.v());break;case "ShowIcon":this.options.N=b;this.pa();break;case "AlwaysShown":this.options.$=!!b;break;case "ValidationErrorMessage":this.options.j=b,null!==this.options.j?this.ga():this.Ha()}},Ta:function(){if(!jQuery.xa||!jQuery.xa.button||!jQuery.xa.Za)return alert("MonthPicker Setup Error: The jQuery UI button and datepicker plug-ins must be loaded before MonthPicker is called."),
!1;if(!this.element.is('input[type="text"]')&&!this.element.is('input[type="month"]'))return alert("MonthPicker Setup Error: MonthPicker can only be called on text or month inputs. "+this.element.c("id")+" is not a text or month input."),!1;if(!jQuery.ua&&this.options.O)return alert("MonthPicker Setup Error: The UseInputMask option is set but the Digital Bush Input Mask jQuery Plugin is not loaded. Get the plugin from http://digitalbush.com/"),!1;this.element.is('input[type="month"]')?(this.element.s("width",
"auto"),this.S=!0):this.S=!1;this.element.ra("month-year-input");this.ma();this.a=c('<div id="MonthPicker_'+this.element.c("id")+'" class="month-picker ui-helper-clearfix"></div>');c('<div class="ui-widget-header ui-helper-clearfix ui-corner-all"><table class="month-picker-year-table" width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td class="previous-year"><button> </button></td><td class="year-container-all"><div class="year-title"></div><div id="year-container"><span class="year"></span></div></td><td class="next-year"><button> </button></td></tr></table></div><div class="ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"><table class="month-picker-month-table" width="100%" border="0" cellspacing="1" cellpadding="2"><tr><td><button type="button" class="button-1"></button></td><td><button class="button-2" type="button"></button></td><td><button class="button-3" type="button"></button></td></tr><tr><td><button class="button-4" type="button"></button></td><td><button class="button-5" type="button"></button></td><td><button class="button-6" type="button"></button></td></tr><tr><td><button class="button-7" type="button"></button></td><td><button class="button-8" type="button"></button></td><td><button class="button-9" type="button"></button></td></tr><tr><td><button class="button-10" type="button"></button></td><td><button class="button-11" type="button"></button></td><td><button class="button-12" type="button"></button></td></tr></table></div>').Xa(this.a);
c("body").append(this.a);this.a.find(".year-title").text(this.h("year"));this.a.find(".year-container-all").c("title",this.h("jumpYears"));this.pa();this.ga();this.ea=c(".year",this.a);c(".previous-year button",this.a).button({ta:{va:"ui-icon-circle-triangle-w"},text:!1});c(".previous-year button span.ui-button-icon-primary").text(this.h("prevLabel"));c(".next-year button",this.a).button({ta:{va:"ui-icon-circle-triangle-e"},text:!1});c(".next-year button span.ui-button-icon-primary").text(this.h("nextLabel"));
c(".month-picker-month-table td button",this.a).button();c(".year-container-all",this.a).click(c.b(this.Ia,this));c(f);this.element.c("id");c.b(this.ca,this);this.na();this.ia();this.options.$&&this.W()},h:function(a){return c.extend({},c.Aa.Z,this.options.Z)[a]},i:function(a){return"function"===typeof a},aa:function(){return this.Y(this.element.o())},ya:function(){return this.X(this.element.o())},za:function(){var a=this.X(this.element.o()),b=this.Y(this.element.o());if(isNaN(b)||isNaN(a))return null===
this.options.j||this.options.A||c("#MonthPicker_Validation_"+this.element.c("id")).show(),null;null===this.options.j||this.options.A||c("#MonthPicker_Validation_"+this.element.c("id")).sa();a=this.S?b+"-"+a:a+"/"+b;c(this).o(a);return a},Qa:function(){this.la("Disabled",!0)},Ra:function(){this.la("Disabled",!1)},Pa:function(){this.options.D=null;this.options.fa=null;this.options.F=null;this.options.G=null;this.options.H=null;this.options.I=null;this.options.J=null;this.options.K=null;this.options.L=
null;this.options.M=null},Oa:function(){this.element.o("");null!==this.g&&this.g.sa()},pa:function(){null===this.f?this.options.N?(this.f=c('<span id="MonthPicker_Button_'+this.element.c("id")+'" class="month-picker-open-button">'+this.h("buttonText")+"</span>").Ka(this.element),this.f.button({text:!1,ta:{va:"ui-icon-calculator"}}).click(c.b(this.W,this))):c.b(this.W,this):this.options.N||(this.f.remove(),this.f=null,c.b(this.W,this))},ga:function(){null!==this.options.j&&""!==this.options.j&&(this.g=
c('<span id="MonthPicker_Validation_'+this.element.c("id")+'" class="month-picker-invalid-message">'+this.options.j+"</span>"),this.g.Ka(this.options.N?this.element.next():this.element),this.element.blur(c.b(this.za,this)))},Ha:function(){null===this.options.j&&(this.g.remove(),this.g=null)},W:function(){var a=this.aa(),b;this.element.data(this.R.U)!==g?b=this.options.ba:isNaN(a)?b=(new Date).getFullYear():b=a;this.qa();this.w(b);this.ja(b);this.ka(b);"none"===this.a.s("display")&&(a=(b=this.element.is(":hidden"))?
this.element.parent():this.element,b=a.offset().top+(b?0:this.element.height()+7),a=a.offset().left,this.a.s({top:b+"px",left:a+"px"}).jb(500,c.b(function(){this.i(this.options.I)&&this.options.I()},this)));return!1},ca:function(){this.options.$||"block"!==this.a.s("display")||this.a.kb(500,c.b(function(){this.i(this.options.H)&&this.options.H()},this))},na:function(){if(!this.S)try{this.options.O?this.element.ua("99/9999"):this.element.Na()}catch(a){}},ia:function(){this.options.A?(this.element.La("disabled",
!0),this.element.ra("month-picker-disabled"),null!==this.f&&this.f.button("option","disabled",!0),null!==this.g&&this.g.sa()):(this.element.La("disabled",!1),this.element.wa("month-picker-disabled"),null!==this.f&&this.f.button("option","disabled",!1))},ma:function(){null!==this.options.ba?this.element.data(this.R.U,!0):this.element.Ma(this.R.U)},ja:function(a){this.options.B&&(this.options.l=this.Y(this.options.B),this.options.P=this.X(this.options.B),isNaN(this.options.l)||isNaN(this.options.P)?
(this.options.l=-9999,this.options.P=0):a<=this.options.l&&this.w(this.options.l))},ka:function(a){this.options.C&&(this.options.m=this.Y(this.options.C),this.options.T=this.X(this.options.C),isNaN(this.options.m)||isNaN(this.options.T)?(this.options.m=9999,this.options.T=12):a>=this.options.m&&this.w(this.options.m))},v:function(){return parseInt(this.ea.text(),10)},w:function(a){this.ea.text(a);this.V(a)},X:function(a){if(""===a)return NaN;if(-1!=a.indexOf("/")){var b=parseInt(a.split("/")[0],10);
if(!isNaN(b)&&1<=b&&12>=b)return b}return-1!=a.indexOf("-")&&(b=parseInt(a.split("-")[1],10),!isNaN(b)&&1<=b&&12>=b)?b:NaN},Y:function(a){if(""===a)return NaN;if(-1!=a.indexOf("/")){var b=parseInt(a.split("/")[1],10);if(!isNaN(b)&&1800<=b&&3E3>=b)return b}return-1!=a.indexOf("-")&&(b=parseInt(a.split("-")[0],10),!isNaN(b)&&1800<=b&&3E3>=b)?b:NaN},Ba:function(a){0<a&&10>a&&(a="0"+a);this.element.is('input[type="month"]')?this.element.o(this.v()+"-"+a).Ja():this.element.o(a+"/"+this.v()).Ja();this.ha(this.aa());
this.element.blur();this.i(this.options.D)&&this.options.D()},Ca:function(a){this.w(a);this.qa();this.i(this.options.F)&&this.options.F()},qa:function(){var a=this.h("months");c(".previous-year button",this.a).c("title",this.h("prevYear")).u("click");c.b(this.Fa,this);c(".next-year button",this.a).c("title",this.h("nextYear")).u("click");c.b(this.Da,this);c(".year-container-all",this.a).s("cursor","pointer");c(".year",this.a).toggle(!0);c(".month-picker-month-table button",this.a).u(".MonthPicker");
for(var b in a){var d=parseInt(b,10)+1;c(".button-"+d,this.a);c.b(function(a){this.Ba(a.data.Ua);this.ca()},this);c(".button-"+d,this.a).button("option","label",a[b])}},Ia:function(){this.da();this.i(this.options.G)&&this.options.G()},da:function(){var a=this.v();c(".previous-year button",this.a).c("title",this.h("prev5Years")).u("click");c.b(function(){this.Ga();return!1},this);c(".next-year button",this.a).c("title",this.h("next5Years")).u("click");c.b(function(){this.Ea();return!1},this);c(".year-container-all",
this.a).s("cursor","default");c(".year",this.a).toggle(!1);c(".month-picker-month-table button",this.a).u(".MonthPicker");for(var b=-4,d=1;12>=d;d++)c(".button-"+d,this.a),c.b(function(b){this.Ca(a+b.data.Wa)},this),c(".button-"+d,this.a).button("option","label",a+b),b++;this.V(a,!0)},Da:function(){var a=c(".month-picker-year-table .year",this.a),b=parseInt(a.text())+1;a.text(b,10);this.V(b);this.i(this.options.J)&&this.options.J()},Ea:function(){var a=c(".month-picker-year-table .year",this.a);a.text(parseInt(a.text())+
5,10);this.da();this.i(this.options.K)&&this.options.K()},Ga:function(){var a=c(".month-picker-year-table .year",this.a);a.text(parseInt(a.text())-5,10);this.da();this.i(this.options.M)&&this.options.M()},Fa:function(){var a=c(".month-picker-year-table .year",this.a),b=parseInt(a.text())-1;a.text(b,10);this.V(b);this.i(this.options.L)&&this.options.L()},oa:function(a,b){c("."+a,this.a).s("visibility",b?"visible":"hidden")},V:function(a,b){if(-9999!=this.options.l||9999!=this.options.m){var d=c(".month-picker-month-table",
this.a);c("button",d).toggle(!0);var e=a+(b?7:0)<this.options.m;this.oa("next-year",e);e||c("button:gt("+(b?this.options.m-a+4:this.options.T-1)+")",d).toggle(!1);e=a-(b?4:0)>this.options.l;this.oa("previous-year",e);e||c("button:lt("+(b?this.options.l-a+4:this.options.P-1)+")",d).toggle(!1)}this.ha(b?NaN:a)},ha:function(a){c("button.selected",this.a).wa("selected");a==this.aa()&&(a=this.ya(),isNaN(a)||c(".button-"+a,this.a).ra("selected"))}})})(jQuery,window,document);