UNPKG

magix-components

Version:
1 lines 10.3 kB
define("mx-calendar/index",["magix","$","mx-time/index"],function(e,t,a){e("mx-time/index");var i=e("magix");i.applyStyle("f",".aP{background-color:#fff;display:inline-block;border:1px solid #e6e6e6;padding:0;border-radius:4px;overflow-y:hidden;z-index:10;color:#333;text-align:center;position:relative}.aQ{color:#777}.aR{height:32px;line-height:32px;padding:1px}.aS,.aT{color:#ccc;display:inline-block;padding:6px 7px;line-height:100%;vertical-align:top;cursor:pointer}.aS:focus,.aS:hover,.aT:focus,.aT:hover{color:#6363e6}.aU{display:inline-block;cursor:pointer;padding:5px 10px;border-radius:4px;line-height:1}.aU:hover{background-color:#eee}.aV{width:245px}.aW{color:#333;background-color:#fafafa;padding:0 10px}.aX{padding:10px}.aY,.aZ{padding:1px 0;position:absolute;top:-100%;left:0;right:0;-webkit-transition:top .15s;transition:top .15s;background-color:#fff}.b_{top:0}.ba{height:59px;margin:2px;float:left;width:77px;cursor:pointer;line-height:59px;border-radius:4px;font-size:16px}.bb:hover,.ba:hover{background:#f0f0f0}.bb,.bc{width:28px;height:28px;line-height:28px;margin:3px 2px;float:left;border-radius:4px;cursor:pointer}.bd,.bd:hover{color:#fff;background-color:#6363e6}.be,.be:hover{color:#eee;cursor:not-allowed;background:#fff}.bf{padding:5px}.bg,.bf{border-top:1px solid #e6e6e6}.bg{margin:10px;padding:10px 0 0;text-align:left}.bh{-webkit-transform:scaleX(-1);transform:scaleX(-1)}");var s=e("$"),n=function(e,t){return 32-new Date(e,t-1,32).getDate()},r=["日","一","二","三","四","五","六"],d=function(e){return("0"+e).slice(-2)},l=function(e){for(var t=[],a=0;a<7;a++)t[a]=r[(a+e)%7];return t},o=function(e,t,a){var i,s=e.getTime();return t&&(i=s<t.getTime()),i||(i=!!a&&s>a.getTime()),i},c=function(e,t,a,i){var s,n=parseInt(e+d(t),10);return a&&(s=n<(a=parseInt(a.getFullYear()+d(a.getMonth()),10))),!s&&i&&(s=n>(i=parseInt(i.getFullYear()+d(i.getMonth()),10))),s},g=function(e,t,a){var i;return t&&(i=e<t.getFullYear()),!i&&a&&(i=e>a.getFullYear()),i},p={y:{reg:/y+/gi,fn:function(e,t){return String(t.getFullYear()).slice(-e.length)}},M:{reg:/M+/g,fn:function(e,t,a){return a=t.getMonth()+1,d(a).slice(-e.length)}},d:{reg:/d+/gi,fn:function(e,t,a){return a=t.getDate(),d(a).slice(-e.length)}},h:{reg:/h+/gi,fn:function(e,t,a){return a=t.getHours(),d(a).slice(-e.length)}},m:{reg:/m+/g,fn:function(e,t,a){return a=t.getMinutes(),d(a).slice(-e.length)}},s:{reg:/s+/g,fn:function(e,t,a){return a=t.getSeconds(),d(a).slice(-e.length)}},S:{reg:/S+/g,fn:function(e,t,a){return a=t.getMilliseconds(),String(a).substring(0,e.length)}}},_=function(e){return e instanceof Date?e:(e=new Date(Date.parse(String(e).replace(/-/g,"/"))))instanceof Date&&"Invalid Date"!=e&&!isNaN(e)?e:null},u=function(e,t){e=_(e),t=t||"YYYY-MM-dd";var a;for(a in p)t=t.replace(p[a].reg,function(t){return p[a].fn(t,e)});return t},m=function(e){e||(e="all");var t={year:!0,month:!0,day:!0};if("all"!=e)for(var a in t)-1===e.indexOf(a)&&delete t[a];return t};a.exports=i.View.extend({tmpl:{html:'<div mx-guid="g0" class="aP ah" mx-contextmenu="__D()">1</div>',subs:[{keys:["types"],path:'div[mx-guid="g0"]',tmpl:'<%if($$.types.day){%><div mx-guid="g1" id="days_<%=$$.id%>" class="ag">2</div><%}if($$.types.month){%><div id="months_<%=$$.id%>" class="ag<%if($$.types.day){%> aY<%}%>"><div class="aR"><span class="_ aS Z" mx-click="__w()">&#xe61e;</span><h4 mx-guid="g7" mx-click="__y()" class="aU">8</h4><span class="_ aT a_ bh" mx-click="__w({next:true})">&#xe61e;</span></div><div mx-guid="g8" class="aV ag">9</div></div><%}if($$.types.year){%><div id="years_<%=$$.id%>" class="ag<%if($$.types.day||$$.types.month){%> aZ<%}%>"><div class="aR"><span class="_ aS Z" mx-click="__w({range:true})">&#xe61e;</span><h4 mx-guid="ga" class="aU">11</h4><span class="_ aT a_ bh" mx-click="__w({range:true,next:true})">&#xe61e;</span></div><div mx-guid="gb" class="aV ag">12</div></div><%}%>',s:"1"},{keys:["timeType"],path:'div[mx-guid="g1"]',pKeys:["types"],tmpl:'<div class="aR"><span class="_ aS Z" mx-click="__v()">&#xe61e;</span><h4 mx-guid="g2" mx-click="<%if($$.types.month){%>__x<%}else{%>__y<%}%>()" class="aU">3</h4><span class="_ aT bh a_" mx-click="__v({next:true})">&#xe61e;</span></div><div class="aV"><div mx-guid="g3" class="aW ag">4</div><div mx-guid="g4" class="aX ag">5</div></div><%if($$.timeType){%><div mx-guid="g5" class="ag bf" mx-change="__C()" mx-view="mx-time/index?time=<%!$eu($$.timeValue)%>&type=<%!$eu($$.timeType)%>"></div><div class="bg"><button class="al am" mx-click="__a({enter:true})">确定</button><button class="al s" mx-click="__a()">取消</button></div><%}%>',s:"2"},{keys:["types","year","month"],path:'h4[mx-guid="g2"]',tmpl:"<%=$$.year%>-<%=('0'+$$.month).slice(-2)%>",s:"3",attr:'mx-click="<%if($$.types.month){%>__x<%}else{%>__y<%}%>()"',attrs:[{n:"mx-click"}],mask:"211"},{keys:["weekText"],path:'div[mx-guid="g3"]',tmpl:'<%for(var a=0;a<$$.weekText.length;a++){%><span class="bc"><%=$$.weekText[a]%></span><%}%>',s:"4"},{keys:["days"],path:'div[mx-guid="g4"]',tmpl:'<%for(var b=0;b<$$.days.length;b++){var c=$$.days[b];for(var d=0;d<c.length;d++){%><span class="bb<%if(c[d].otherMonth){%> aQ<%}if(c[d].disabled){%> be<%}if(c[d].selected){%> bd<%}%>" <%if(!c[d].disabled){%> mx-click="__B({toMonth:<%=c[d].month%>,date:\'<%=$eq(c[d].full)%>\'})" <%}%> title="<%=c[d].full%>"><%=c[d].day%></span><%}}%>',s:"5"},{keys:["timeValue"],path:'div[mx-guid="g5"]',pKeys:["types","timeType"],attr:'mx-view="mx-time/index?time=<%!$eu($$.timeValue)%>&type=<%!$eu($$.timeType)%>"',attrs:[{n:"mx-view",v:1}]},{keys:["year"],path:'h4[mx-guid="g7"]',tmpl:"<%=$$.year%>",s:"8"},{keys:["months"],path:'div[mx-guid="g8"]',pKeys:["types"],tmpl:'<%for(var e=0,f;e<$$.months.length;e++){f=$$.months[e]%><span class="ba<%if(f.disabled){%> be<%}if(f.selected){%> bd<%}%>" <%if(!f.disabled){%> mx-click="__A({month:\'<%=$eq(f.month)%>\'})" <%}%>><%=f.month%></span><%}%>',s:"9"},{keys:["startYear","endYear"],path:'h4[mx-guid="ga"]',tmpl:"<%=$$.startYear%>-<%=$$.endYear%>",s:"11"},{keys:["years"],path:'div[mx-guid="gb"]',pKeys:["types"],tmpl:'<%for(var g=0,h;g<$$.years.length;g++){h=$$.years[g]%><span class="ba<%if(h.selected){%> bd<%}if(h.disabled){%> be<%}if(!g||g==$$.years.length-1){%> aQ<%}%>" <%if(!h.disabled){%> mx-click="__z({year:\'<%=$eq(h.year)%>\'})" <%}%>><%=h.year%></span><%}%>',s:"12"}]},init:function(e){this.__c=e},render:function(){var e=this;e.update(e.__c)},__m:function(){var e=this;s("#years_"+e.id).removeClass("b_"),s("#months_"+e.id).removeClass("b_");var t=e.updater;if(t.get().timeType){var a=!1;e.__o&&(e.__p(e.__o),e.__q(),e.__r(),e.__s(),a=!0,delete e.__o),e.__t&&(t.set({timeValue:e.__t}),a=!0,delete e.__t),a&&t.digest()}},update:function(e){(e=e||{}).selected||(e.selected=new Date);var t=m(e.dateType),a=e.weekStart||0,i=_(e.selected),s=this,n=s.updater,r=_(e.max),d=_(e.min),o=e.timeType,c=i.getHours()+":"+i.getMinutes()+":"+i.getSeconds();n.set({types:t,timeType:o,timeValue:c,dateValue:u(i,e.formatter),max:r,min:d,id:s.id,weekStart:a,weekText:l(a)}),s.__p(i),s.__q(),s.__r(),s.__s(!0)},__p:function(e){var t=this.updater;(e=_(e))&&t.set({year:e.getFullYear(),month:e.getMonth()+1,selectedYear:e.getFullYear(),selectedMonth:e.getMonth()+1,selected:u(e)})},__q:function(e){for(var t=this.updater,a=t.get(),i=a.year,s=a.min,n=a.max,r=i-i%10-1,d=r+11,l=[],o=r;o<=d;o++)l.push({year:o,selected:o==a.selectedYear,disabled:g(o,s,n)});t.set({startYear:r,endYear:d,years:l}),e&&t.digest()},__r:function(e){for(var t=[],a=this.updater,i=a.get(),s=i.year,n=i.min,r=i.max,d=1;d<=12;d++)t.push({month:d,selected:s==i.selectedYear&&d==i.selectedMonth,disabled:c(s,d-1,n,r)});a.set({months:t}),e&&a.digest()},__s:function(e){var t,a,i,s,r=[],d=this.updater,l=d.get("weekStart"),c=d.get("year"),g=d.get("month"),p=(7-l+new Date(c,g-1,1).getDay())%7,_=[],m=n(c,g),h=n(c,g-1),f=d.get("max"),x=d.get("min"),y=d.get("selected");for(t=1;t<=p;t++)a=h-(p-t),i=new Date(c,g-2,a),_.push({month:g-1,full:u(i),day:a,otherMonth:!0,disabled:o(i,x,f)});for(t=1;t<=m;t++)i=new Date(c,g-1,t),s=u(i),_.push({selected:s==y,day:t,month:g,full:s,disabled:o(i,x,f)}),(t+p)%7==0&&(r.push(_),_=[]);var v=_.length;for(t=v;t<14&&(a=t-v+1,i=new Date(c,g,a),_.push({month:g+1,day:a,otherMonth:!0,full:u(i),disabled:o(i,x,f)}),(t+1)%7!=0||(r.push(_),_=[],6!=r.length));t++);d.set({days:r}),e&&d.digest()},__u:function(e){var t=this,a=t.updater.get();a.types.day?a.timeType?e&&s("#"+t.id).trigger({type:"change",date:a.dateValue,time:a.timeType?a.timeValue:null}):s("#"+t.id).trigger({type:"change",date:a.dateValue,time:a.timeType?a.timeValue:null}):s("#"+t.id).trigger({type:"change",date:a.selectedYear+(a.types.month?"-"+("0"+a.selectedMonth).slice(-2):"")})},"__v<click>":function(e){var t=this,a=t.updater,i=a.get("month"),s=a.get("year");e.params.next?(i+=1)>12&&(i=1,s++):(i-=1)<1&&(i=12,s--),a.set({year:s,month:i}),t.__s(!0)},"__w<click>":function(e){var t=this,a=e.params,i=t.updater,s=i.get("year");a.range?s+=a.next?10:-10:s+=a.next?1:-1,i.set({year:s}),a.range?t.__q(!0):t.__r(!0)},"__x<click>":function(){var e=this;s("#months_"+e.id).addClass("b_"),e.__r(!0)},"__y<click>":function(){var e=this;s("#years_"+e.id).addClass("b_"),e.__q(!0)},"__z<click>":function(e){var t=e.params.year,a=this,i=a.updater.get().types;i.day||i.month?(a.updater.set({year:+t}),s("#years_"+a.id).removeClass("b_"),i.month?a.__r(!0):a.__s(!0)):(a.__p(t+"-01-01"),a.__q(!0),a.__u())},"__A<click>":function(e){var t=e.params.month,a=this,i=a.updater,n=i.get();n.types.day?(i.set({month:+t}),s("#months_"+a.id).removeClass("b_"),a.__s(!0)):(a.__p(n.year+"-"+t+"-01"),a.__r(!0),a.__u())},"__B<click>":function(e){var t=this;s("#days_"+t.id+" span").removeClass("bd"),s(e.eventTarget).addClass("bd");var a=t.updater,i=a.get("month"),n=e.params.toMonth!=i;t.__p(e.params.date),n&&(t.__q(),t.__r(),t.__s(!0)),t.__o||(t.__o=a.get("dateValue")),a.set({dateValue:e.params.date}),t.__u()},"__C<change>":function(e){e.stopPropagation();var t=this;t.__t||(t.__t=t.updater.get("timeValue")),t.updater.set({timeValue:e.time}),t.__u()},"__a<click>":function(e){var t=this;if(e.params.enter)return delete t.__o,delete t.__t,void t.__u(!0);s("#"+t.id).trigger("cancel")},"__D<contextmenu>":function(e){e.preventDefault()}},{parse:_,format:u,dateDisabled:o})});