UNPKG

element-gui

Version:

A Component Library for Vue.js.

1 lines 10.2 kB
module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(t){return e[t]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=77)}({0:function(e,t,n){"use strict";function r(e,t,n,r,a,i,o,s){var l,u="function"==typeof e?e.options:e;if(t&&(u.render=t,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),o?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},u._ssrRegister=l):a&&(l=s?function(){a.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:a),l)if(u.functional){u._injectStyles=l;var c=u.render;u.render=function(e,t){return l.call(t),c(e,t)}}else{var d=u.beforeCreate;u.beforeCreate=d?[].concat(d,l):[l]}return{exports:e,options:u}}n.d(t,"a",(function(){return r}))},1:function(e,t){e.exports=require("element-gui/lib/utils/date-util")},21:function(e,t){e.exports=require("element-gui/lib/button")},29:function(e,t){e.exports=require("element-gui/lib/utils/date")},40:function(e,t){e.exports=require("element-gui/lib/button-group")},7:function(e,t){e.exports=require("element-gui/lib/mixins/locale")},77:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"el-calendar"},[n("div",{staticClass:"el-calendar__header"},[e._t("header",[n("div",{staticClass:"el-calendar__title"},[e._v("\n "+e._s(e.i18nDate)+"\n ")]),0===e.validatedRange.length?n("div",{staticClass:"el-calendar__button-group"},[n("el-button-group",[n("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){return e.selectDate("prev-month")}}},[e._v("\n "+e._s(e.t("el.datepicker.prevMonth"))+"\n ")]),n("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){return e.selectDate("today")}}},[e._v("\n "+e._s(e.t("el.datepicker.today"))+"\n ")]),n("el-button",{attrs:{type:"plain",size:"mini"},on:{click:function(t){return e.selectDate("next-month")}}},[e._v("\n "+e._s(e.t("el.datepicker.nextMonth"))+"\n ")])],1)],1):e._e()],{dateText:e.i18nDate,toToday:function(){return e.selectDate("today")},toNextMonth:function(){return e.selectDate("next-month")},toPrevMonth:function(){return e.selectDate("prev-month")},pickDay:e.pickDay})],2),0===e.validatedRange.length?n("div",{key:"no-range",staticClass:"el-calendar__body"},[n("date-table",{attrs:{date:e.date,"selected-day":e.realSelectedDay,"first-day-of-week":e.realFirstDayOfWeek},on:{pick:e.pickDay}})],1):n("div",{key:"has-range",staticClass:"el-calendar__body"},e._l(e.validatedRange,(function(t,r){return n("date-table",{key:r,attrs:{date:t[0],"selected-day":e.realSelectedDay,range:t,"hide-header":0!==r,"first-day-of-week":e.realFirstDayOfWeek},on:{pick:e.pickDay}})})),1)])};r._withStripped=!0;var a=n(7),i=n.n(a),o=n(29),s=n.n(o),l=n(21),u=n.n(l),c=n(40),d=n.n(c),f=n(1),h={props:{selectedDay:String,range:{type:Array,validator:function(e){if(!e||!e.length)return!0;var t=e[0],n=e[1];return Object(f.validateRangeInOneMonth)(t,n)}},date:Date,hideHeader:Boolean,firstDayOfWeek:Number},inject:["elCalendar"],methods:{toNestedArr:function(e){return Object(f.range)(e.length/7).map((function(t,n){var r=7*n;return e.slice(r,r+7)}))},getFormateDate:function(e,t){if(!e||-1===["prev","current","next"].indexOf(t))throw new Error("invalid day or type");var n=this.curMonthDatePrefix;return"prev"===t?n=this.prevMonthDatePrefix:"next"===t&&(n=this.nextMonthDatePrefix),n+"-"+(e=("00"+e).slice(-2))},getCellClass:function(e){var t=e.text,n=e.type,r=[n];if("current"===n){var a=this.getFormateDate(t,n);a===this.selectedDay&&r.push("is-selected"),a===this.formatedToday&&r.push("is-today")}return r},pickDay:function(e){var t=e.text,n=e.type,r=this.getFormateDate(t,n);this.$emit("pick",r)},cellRenderProxy:function(e){var t=e.text,n=e.type,r=this.$createElement,a=this.elCalendar.$scopedSlots.dateCell;if(!a)return r("span",[t]);var i=this.getFormateDate(t,n);return a({date:new Date(i),data:{isSelected:this.selectedDay===i,type:n+"-month",day:i}})}},computed:{WEEK_DAYS:function(){return Object(f.getI18nSettings)().dayNames},prevMonthDatePrefix:function(){var e=new Date(this.date.getTime());return e.setDate(0),s.a.format(e,"yyyy-MM")},curMonthDatePrefix:function(){return s.a.format(this.date,"yyyy-MM")},nextMonthDatePrefix:function(){var e=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return s.a.format(e,"yyyy-MM")},formatedToday:function(){return this.elCalendar.formatedToday},isInRange:function(){return this.range&&this.range.length},rows:function(){var e=[];if(this.isInRange){var t=this.range,n=t[0],r=t[1],a=Object(f.range)(r.getDate()-n.getDate()+1).map((function(e,t){return{text:n.getDate()+t,type:"current"}})),i=a.length%7;i=0===i?0:7-i;var o=Object(f.range)(i).map((function(e,t){return{text:t+1,type:"next"}}));e=a.concat(o)}else{var s=this.date,l=Object(f.getFirstDayOfMonth)(s),u=(7+(l=0===l?7:l)-("number"==typeof this.firstDayOfWeek?this.firstDayOfWeek:1))%7,c=Object(f.getPrevMonthLastDays)(s,u).map((function(e){return{text:e,type:"prev"}})),d=Object(f.getMonthDays)(s).map((function(e){return{text:e,type:"current"}}));e=[].concat(c,d);var h=Object(f.range)(42-e.length).map((function(e,t){return{text:t+1,type:"next"}}));e=e.concat(h)}return this.toNestedArr(e)},weekDays:function(){var e=this.firstDayOfWeek,t=this.WEEK_DAYS;return"number"!=typeof e||0===e?t.slice():t.slice(e).concat(t.slice(0,e))}},render:function(){var e=this,t=arguments[0],n=this.hideHeader?null:t("thead",[this.weekDays.map((function(e){return t("th",{key:e},[e])}))]);return t("table",{class:{"el-calendar-table":!0,"is-range":this.isInRange},attrs:{cellspacing:"0",cellpadding:"0"}},[n,t("tbody",[this.rows.map((function(n,r){return t("tr",{class:{"el-calendar-table__row":!0,"el-calendar-table__row--hide-border":0===r&&e.hideHeader},key:r},[n.map((function(n,r){return t("td",{key:r,class:e.getCellClass(n),on:{click:e.pickDay.bind(e,n)}},[t("div",{class:"el-calendar-day"},[e.cellRenderProxy(n)])])}))])}))])])}},y=n(0),p=Object(y.a)(h,void 0,void 0,!1,null,null,null).exports,v=["prev-month","today","next-month"],D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],g={name:"ElCalendar",mixins:[i.a],components:{DateTable:p,ElButton:u.a,ElButtonGroup:d.a},props:{value:[Date,String,Number],range:{type:Array,validator:function(e){return!Array.isArray(e)||2===e.length&&e.every((function(e){return"string"==typeof e||"number"==typeof e||e instanceof Date}))}},firstDayOfWeek:{type:Number,default:1}},provide:function(){return{elCalendar:this}},methods:{pickDay:function(e){this.realSelectedDay=e},selectDate:function(e){if(-1===v.indexOf(e))throw new Error("invalid type "+e);var t="";(t="prev-month"===e?this.prevMonthDatePrefix+"-01":"next-month"===e?this.nextMonthDatePrefix+"-01":this.formatedToday)!==this.formatedDate&&this.pickDay(t)},toDate:function(e){if(!e)throw new Error("invalid val");return e instanceof Date?e:new Date(e)},rangeValidator:function(e,t){var n=this.realFirstDayOfWeek,r=t?n:0===n?6:n-1,a=(t?"start":"end")+" of range should be "+D[r]+".";return e.getDay()===r||(console.warn("[ElementCalendar]",a,"Invalid range will be ignored."),!1)}},computed:{prevMonthDatePrefix:function(){var e=new Date(this.date.getTime());return e.setDate(0),s.a.format(e,"yyyy-MM")},curMonthDatePrefix:function(){return s.a.format(this.date,"yyyy-MM")},nextMonthDatePrefix:function(){var e=new Date(this.date.getFullYear(),this.date.getMonth()+1,1);return s.a.format(e,"yyyy-MM")},formatedDate:function(){return s.a.format(this.date,"yyyy-MM-dd")},i18nDate:function(){var e=this.date.getFullYear(),t=this.date.getMonth()+1;return e+" "+this.t("el.datepicker.year")+" "+this.t("el.datepicker.month"+t)},formatedToday:function(){return s.a.format(this.now,"yyyy-MM-dd")},realSelectedDay:{get:function(){return this.value?this.formatedDate:this.selectedDay},set:function(e){this.selectedDay=e;var t=new Date(e);this.$emit("input",t)}},date:function(){if(this.value)return this.toDate(this.value);if(this.realSelectedDay){var e=this.selectedDay.split("-");return new Date(e[0],e[1]-1,e[2])}return this.validatedRange.length?this.validatedRange[0][0]:this.now},validatedRange:function(){var e=this,t=this.range;if(!t)return[];if(2===(t=t.reduce((function(t,n,r){var a=e.toDate(n);return e.rangeValidator(a,0===r)&&(t=t.concat(a)),t}),[])).length){var n=t,r=n[0],a=n[1];if(r>a)return console.warn("[ElementCalendar]end time should be greater than start time"),[];if(Object(f.validateRangeInOneMonth)(r,a))return[[r,a]];var i=[],o=new Date(r.getFullYear(),r.getMonth()+1,1),s=this.toDate(o.getTime()-864e5);if(!Object(f.validateRangeInOneMonth)(o,a))return console.warn("[ElementCalendar]start time and end time interval must not exceed two months"),[];i.push([r,s]);var l=this.realFirstDayOfWeek,u=o.getDay(),c=0;return u!==l&&(c=0===l?7-u:(c=l-u)>0?c:7+c),(o=this.toDate(o.getTime()+864e5*c)).getDate()<a.getDate()&&i.push([o,a]),i}return[]},realFirstDayOfWeek:function(){return this.firstDayOfWeek<1||this.firstDayOfWeek>6?0:Math.floor(this.firstDayOfWeek)}},data:function(){return{selectedDay:"",now:new Date}}},m=Object(y.a)(g,r,[],!1,null,null,null).exports;m.install=function(e){e.component(m.name,m)};t.default=m}});