UNPKG

@beeapi/nutui

Version:

一套轻量级移动端Vue组件库

7 lines 17.3 kB
/*! * @beeapi/nutui v2.2.10 - calendar.js, 451ed2404bee284b891e, Sat Dec 19 2020 12:06:10 GMT+0800 (中国标准时间) * (c) 2017-2020 JDC * Released under the MIT License. */ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(require("vue")):"function"==typeof define&&define.amd?define("calendar",["vue"],e):"object"==typeof exports?exports.calendar=e(require("vue")):t.calendar=e(t.Vue)}("undefined"!=typeof self?self:this,(function(t){return function(t){var e={};function a(n){if(e[n])return e[n].exports;var r=e[n]={i:n,l:!1,exports:{}};return t[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}return a.m=t,a.c=e,a.d=function(t,e,n){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)a.d(n,r,function(e){return t[e]}.bind(null,r));return n},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="./",a(a.s=159)}({0:function(t,e,a){"use strict";function n(t,e,a,n,r,i,s,o){var c,u="function"==typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=a,u._compiled=!0),n&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),s?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),r&&r.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(s)},u._ssrRegister=c):r&&(c=o?function(){r.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:r),c)if(u.functional){u._injectStyles=c;var h=u.render;u.render=function(t,e){return c.call(e),h(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,c):[c]}return{exports:t,options:u}}a.d(e,"a",(function(){return n}))},1:function(e,a){e.exports=t},10:function(t,e,a){"use strict";a(8);var n=a(2),r=a.n(n),i=a(1),s=a.n(i);s.a.config.lang="zn-CH";var o={lang:{okBtnTxt:"确 定",cancelBtnTxt:"取 消",calendar:{loadPrevMonth:"加载上一个月",noMoreMonth:"没有更早月份~",start:"开始",end:"结束",title:"选择日期",week:"日,一,二,三,四,五,六",monthTitle:"{year}年{month}月"},menu:{resetBtnTxt:"重置"},searchbar:{placeText:"请输入内容...",textInfo:"搜索"},shortpassword:{tip1:"输入数字密码",tip2:"忘记密码"},steps:{step:"步骤",stepDesc:"步骤描述"},uploader:{xmlError:"对不起,您的浏览器不支持本组件!",typeError:"不支持上传该类型文件",limitError:"文件大小超过限制"}}},c={},u=!1,h=function(){var t=Object.getPrototypeOf(this||s.a).$t;if("function"==typeof t&&s.a.locale)return u||(u=!0,s.a.locale(s.a.config.lang,r()("zn-CH"===s.a.config.lang?o:{},s.a.locale(s.a.config.lang)||{},c))),t.apply(this,arguments)};function l(t,e){var a=h.apply(this,arguments);if(null!=a)return a;var n=r()({},"zn-CH"===s.a.config.lang?o:{},c),i=t&&t.split(".")||[],u=null;if(i.length)for(var l=0;l<i.length;l++){var d=i[l];if(!d||!n[d]){u=null;break}u=n=n[d]}return f(u,e)}function f(t,e){var a=t&&t.match(/{.+?}/g);return a&&e&&(a=a.map((function(t){return t.replace(/\{\s*(\w+|\d+).*?\}/,"$1")}))).forEach((function(a,n){var r=new RegExp("{\\s*"+a+"\\s*(?:=\\s*(\\S*?))?\\s*?}","g");t=t.replace(r,(function(t,n){return"function"==(r=e[a],Object.prototype.toString.call(r).toLowerCase().match(/\s(\w+)/)[1])?e[a]():void 0!==e[a]?e[a]:n||t;var r}))})),t}e.a={methods:{nutTranslate:function(){return l.apply(this,arguments)}}}},159:function(t,e,a){"use strict";a.r(e);var n=a(4),r=a.n(n),i=a(6),s={name:"nut-calendar",mixins:[a(10).a],props:{type:{type:String,default:"one"},animation:{type:String,default:"nutSlideUp"},isAutoBackFill:{type:Boolean,default:!1},isOpenRangeSelect:{type:Boolean,default:!1},isVisible:{type:Boolean,default:!1},title:{type:String},defaultValue:{type:String|Array,default:null},startDate:{type:String,default:i.a.getDay(0)},endDate:{type:String,default:i.a.getDay(365)}},watch:{isVisible:function(t,e){this.childIsVisible=t},defaultValue:{handler:function(t,e){e&&this.resetRender()},immediate:!0}},data:function(){return{childIsVisible:!1,currDate:null,week:this.nutTranslate("lang.calendar.week").split(","),unLoadPrev:!1,unLoadNext:!1,touchParams:{startY:0,endY:0,startTime:0,endTime:0},transformY:0,scrollDistance:0,defaultData:null,chooseData:[],monthsData:[],dayPrefix:"nut-calendar-month-day"}},computed:{isRange:function(){return"range"===this.type}},methods:{isActive:function(t,e){return this.isRange&&"curr"==t.type&&"nut-calendar-month-day-active"==this.getClass(t,e)},isStartTip:function(t,e){return!!this.isActive(t,e)&&this.isStart(this.getCurrDate(t,e))},isEndTip:function(t,e){return this.isActive(t,e)},getCurrData:function(t){var e="prev"==t?this.monthsData[0]:this.monthsData[this.monthsData.length-1],a=parseInt(e.curData[0]),n=parseInt(e.curData[1].toString().replace(/^0/,""));switch(t){case"prev":1==n&&(a-=1),n=1==n?12:--n;break;case"next":12==n&&(a+=1),n=12==n?1:++n}return[a,i.a.getNumTwoBit(n),e.curData[2]]},getDaysStatus:function(t,e){return"prev"==e&&t>=7&&(t-=7),Array.from(Array(t),(function(t,a){return{day:a+1,type:e}}))},getMonth:function(t,e){var a=i.a.getMonthPreDay(t[0],t[1]),n=i.a.getMonthDays(t[0],t[1]),s={curData:t,title:this.nutTranslate("lang.calendar.monthTitle",{year:t[0],month:t[1]}),monthData:[].concat(r()(this.getDaysStatus(a,"prev")),r()(this.getDaysStatus(n,"curr")))};"next"==e?this.endData&&i.a.compareDate("".concat(this.endData[0],"-").concat(this.endData[1],"-").concat(i.a.getMonthDays(this.endData[0],this.endData[1])),"".concat(t[0],"-").concat(t[1],"-").concat(t[2]))?this.unLoadNext=!0:this.monthsData.push(s):this.startData&&i.a.compareDate("".concat(t[0],"-").concat(t[1],"-").concat(t[2]),"".concat(this.startData[0],"-").concat(this.startData[1],"-01"))?this.unLoadPrev=!0:this.monthsData.unshift(s)},getCurrDate:function(t,e,a){return a?e.curData[3]+"-"+e.curData[4]+"-"+i.a.getNumTwoBit(t.day):e.curData[0]+"-"+e.curData[1]+"-"+i.a.getNumTwoBit(t.day)},isStart:function(t){return i.a.isEqual(this.currDate[0],t)},isEnd:function(t){return i.a.isEqual(this.currDate[1],t)},splitDate:function(t){return t.split("-")},getClass:function(t,e,a){var n=this.getCurrDate(t,e,a);return"curr"==t.type?!this.isRange&&i.a.isEqual(this.currDate,n)||this.isRange&&(this.isStart(n)||this.isEnd(n))?"".concat(this.dayPrefix,"-active"):this.startDate&&i.a.compareDate(n,this.startDate)||this.endDate&&i.a.compareDate(this.endDate,n)?"".concat(this.dayPrefix,"-disabled"):this.isRange&2==this.currDate.length&&i.a.compareDate(this.currDate[0],n)&&i.a.compareDate(n,this.currDate[1])?"".concat(this.dayPrefix,"-choose"):null:"".concat(this.dayPrefix,"-disabled")},chooseDay:function(t,e,a,n){if(this.getClass(t,e,n)!="".concat(this.dayPrefix,"-disabled")){var s=r()(e.curData);(s=n?s.splice(3):s.splice(0,3))[2]="number"==typeof t.day?i.a.getNumTwoBit(t.day):t.day,s[3]="".concat(s[0],"-").concat(s[1],"-").concat(s[2]),s[4]=i.a.getWhatDay(s[0],s[1],s[2]),this.isRange?(2==this.currDate.length?this.currDate=[s[3]]:i.a.compareDate(this.currDate[0],s[3])?this.currDate.push(s[3]):this.currDate.unshift(s[3]),2!=this.chooseData.length&&this.chooseData.length?i.a.compareDate(this.chooseData[3],s[3])?this.chooseData=[r()(this.chooseData),r()(s)]:this.chooseData=[r()(s),r()(this.chooseData)]:this.chooseData=r()(s)):(this.currDate=s[3],this.chooseData=r()(s)),this.isAutoBackFill&&!a&&this.confirm()}},confirm:function(){(this.isRange&&2==this.chooseData.length||!this.isRange)&&(this.$emit("choose",this.chooseData),this.childIsVisible=!1,this.$emit("update:is-visible",!1))},resetRender:function(){this.chooseData.splice(0),this.monthsData.splice(0),this.scrollDistance=0,this.translateY=0,this.setTransform(this.scrollDistance),this.initData()},closeActionSheet:function(){this.childIsVisible=!1,this.$emit("update:is-visible",!1),this.$emit("close"),this.resetRender()},touchStart:function(t){var e=t.changedTouches[0];this.touchParams.startY=e.pageY,this.touchParams.startTime=t.timestamp||Date.now(),this.transformY=this.scrollDistance},touchMove:function(t){var e=t.changedTouches[0];this.touchParams.lastY=e.pageY,this.touchParams.lastTime=t.timestamp||Date.now();var a=this.touchParams.lastY-this.touchParams.startY;if(Math.abs(a)<5)return!1;this.setMove(a)},touchEnd:function(t){var e=t.changedTouches[0];this.touchParams.lastY=e.pageY,this.touchParams.lastTime=t.timestamp||Date.now();var a=this.touchParams.lastY-this.touchParams.startY;if(Math.abs(a)<5)return!1;var n=a+this.transformY,r=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,i=this.$refs.months.offsetHeight;n>0?this.getMonth(this.getCurrData("prev"),"prev"):n<2*r-i&&(this.getMonth(this.getCurrData("next"),"next"),Math.abs(a)>=300&&this.getMonth(this.getCurrData("next"),"next"));var s=this.touchParams.lastTime-this.touchParams.startTime;s<=300?(a*=2,s+=1e3,this.setMove(a,"end",s)):this.setMove(a,"end")},setTransform:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1e3;this.$refs.months.style.webkitTransition="end"===e?"transform ".concat(a,"ms cubic-bezier(0.19, 1, 0.22, 1)"):"",this.$refs.months.style.webkitTransform="translateY(".concat(t,"px)"),this.scrollDistance=t},setMove:function(t,e,a){var n=t+this.transformY,r=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,i=this.$refs.months.offsetHeight;if("end"===e){n>0&&(n=0),n<0&&n<-i+r-70&&(n=-i+r-70),i<=r&&1==this.monthsData.length&&(n=0);var s=n;this.setTransform(s,e,a)}else n>0&&n>100&&(n=100),n<-i+r-170&&this.monthsData.length>1&&(n=-i+r-170),n<0&&n<-100&&1==this.monthsData.length&&(n=-100),this.setTransform(n)},initData:function(){this.startData=this.startDate?this.splitDate(this.startDate):null,this.endData=this.endDate?this.splitDate(this.endDate):null,this.defaultValue?this.currDate=this.isRange?r()(this.defaultValue):this.defaultValue:this.currDate=this.isRange?[i.a.date2Str(new Date),i.a.getDay(2)]:i.a.date2Str(new Date),this.isRange?(this.startDate&&i.a.compareDate(this.currDate[0],this.startDate)&&this.currDate.splice(0,1,this.startDate),this.endDate&&i.a.compareDate(this.endDate,this.currDate[1])&&this.currDate.splice(1,1,this.endDate),this.defaultData=[].concat(r()(this.splitDate(this.currDate[0])),r()(this.splitDate(this.currDate[1])))):(this.startDate&&i.a.compareDate(this.currDate,this.startDate)?this.currDate=this.startDate:this.endDate&&!i.a.compareDate(this.currDate,this.endDate)&&(this.currDate=this.endDate),this.defaultData=r()(this.splitDate(this.currDate))),this.getMonth(this.defaultData,"next");var t=1;do{this.getMonth(this.getCurrData("next"),"next")}while(t++<4);this.isRange?(this.chooseDay({day:this.defaultData[2],type:"curr"},this.monthsData[0],!0),this.chooseDay({day:this.defaultData[5],type:"curr"},this.monthsData[0],!0,!0)):this.chooseDay({day:this.defaultData[2],type:"curr"},this.monthsData[0],!0)}},mounted:function(){this.initData()}},o=a(0),c=Object(o.a)(s,(function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("transition",{attrs:{name:t.animation}},[a("div",{directives:[{name:"show",rawName:"v-show",value:t.childIsVisible,expression:"childIsVisible"}],staticClass:"nut-calendar"},[a("div",{staticClass:"nut-calendar-control"},["range"==t.type&&t.currDate&&2==t.currDate.length||"range"!=t.type?a("span",{staticClass:"nut-calendar-confirm-btn",on:{click:t.confirm}},[t._v(t._s(t.nutTranslate("lang.okBtnTxt")))]):t._e(),t._v(" "),a("span",{staticClass:"nut-calendar-cancel-btn",on:{click:t.closeActionSheet}},[t._v(t._s(t.nutTranslate("lang.cancelBtnTxt")))]),t._v(" "),a("div",{staticClass:"nut-calendar-title"},[t._v(t._s(t.title||t.nutTranslate("lang.calendar.title")))]),t._v(" "),a("div",{staticClass:"nut-calendar-week"},t._l(t.week,(function(e,n){return a("span",{key:n},[t._v(t._s(e))])})),0)]),t._v(" "),a("div",{staticClass:"nut-calendar-months",on:{touchstart:function(e){return e.stopPropagation(),t.touchStart(e)},touchmove:function(e){return e.stopPropagation(),e.preventDefault(),t.touchMove(e)},touchend:function(e){return e.stopPropagation(),t.touchEnd(e)}}},[a("div",{ref:"months",staticClass:"nut-calendar-months-panel"},[a("div",{staticClass:"nut-calendar-loading-tip"},[t._v(t._s(t.unLoadPrev?t.nutTranslate("lang.calendar.noMoreMonth"):t.nutTranslate("lang.calendar.loadPrevMonth")))]),t._v(" "),t._l(t.monthsData,(function(e,n){return a("div",{key:n,staticClass:"nut-calendar-month"},[a("div",{staticClass:"nut-calendar-month-title"},[t._v(t._s(e.title))]),t._v(" "),a("div",{staticClass:"nut-calendar-month-con"},[a("div",{staticClass:"nut-calendar-month-item"},[t._l(e.monthData,(function(n,r){return[a("div",{key:r,staticClass:"nut-calendar-month-day",class:t.getClass(n,e),on:{click:function(a){return t.chooseDay(n,e)}}},[a("span",[t._v(t._s("curr"==n.type?n.day:""))]),t._v(" "),t.isStartTip(n,e)?a("span",{staticClass:"nut-calendar-day-tip"},[t._v(t._s(t.nutTranslate("lang.calendar.start")))]):t.isEndTip(n,e)?a("span",{staticClass:"nut-calendar-day-tip"},[t._v(t._s(t.nutTranslate("lang.calendar.end")))]):t._e()])]}))],2)])])}))],2)])])])}),[],!1,null,null,null).exports;a(85);c.install=function(t){t.component(c.name,c)};e.default=c},2:function(t,e){function a(){return t.exports=a=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(t[n]=a[n])}return t},a.apply(this,arguments)}t.exports=a},4:function(t,e,a){var n=a(46),r=a(47),i=a(45),s=a(48);t.exports=function(t){return n(t)||r(t)||i(t)||s()}},45:function(t,e,a){var n=a(9);t.exports=function(t,e){if(t){if("string"==typeof t)return n(t,e);var a=Object.prototype.toString.call(t).slice(8,-1);return"Object"===a&&t.constructor&&(a=t.constructor.name),"Map"===a||"Set"===a?Array.from(t):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?n(t,e):void 0}}},46:function(t,e,a){var n=a(9);t.exports=function(t){if(Array.isArray(t))return n(t)}},47:function(t,e){t.exports=function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}},48:function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},6:function(t,e,a){"use strict";var n={isLeapYear:function(t){return t%4==0&&t%100!=0||t%400==0},getWhatDay:function(t,e,a){return["星期日","星期一","星期二","星期三","星期四","星期五","星期六"][new Date(t+"/"+e+"/"+a).getDay()]},getMonthPreDay:function(t,e){var a=new Date(t+"/"+e+"/01").getDay();return 0==a&&(a=7),a},getMonthDays:function(t,e){return/^0/.test(e)&&(e=e.split("")[1]),[0,31,this.isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},getNumTwoBit:function(t){return((t=Number(t))>9?"":"0")+t},date2Str:function(t,e){return"string"==typeof t?t:(e=e||"-",[t.getFullYear(),this.getNumTwoBit(t.getMonth()+1),this.getNumTwoBit(t.getDate())].join(e))},getDay:function(t){t=t||0;var e=new Date,a=864e5*t;return e=new Date(e.getTime()+a),this.date2Str(e)},timestampToDate:function(t){var e=new Date(t);return e.getFullYear()+"-"+getNumTwoBit(e.getMonth()+1)+"-"+getNumTwoBit(e.getDate())},compareDate:function(t,e){return!(new Date(t.replace("-","/").replace("-","/"))>=new Date(e.replace("-","/").replace("-","/")))},compareDateArr:function(t,e){var a=new Date;a.setFullYear(t[0],t[1],t[2]),a.setHours(t[3],t[4]);var n=new Date;return n.setFullYear(e[0],e[1],e[2]),n.setHours(e[3],e[4]),!(a>=n)},isEqual:function(t,e){return new Date(t).getTime()==new Date(e).getTime()},getDateArr:function(t){return[this.getYear(t),this.getMonth(t),this.getDate(t),this.getHour(t),this.getMinute(t)]},isDateString:function(t){return/\d{4}(\-|\/|.)\d{1,2}\1\d{1,2}/.test(t)||/^([01][0-9]|2[0-3])(:[0-5][0-9]){1,2}$/.test(t)},getYear:function(t){return this.isDateString(t)?t.split(" ")[0].split(/-|\/|\./)[0]:t.getFullYear()},getMonth:function(t){return this.isDateString(t)?t.split(" ")[0].split(/-|\/|\./)[1]:t.getMonth()+1},getDate:function(t){return this.isDateString(t)?t.split(" ")[0].split(/-|\/|\./)[2]:t.getDate()},getHour:function(t){return this.isDateString(t)?(t.split(" ")[1]||"00:00:00").split(":")[0]:t.getHours()},getMinute:function(t){return this.isDateString(t)?(t.split(" ")[1]||"00:00:00").split(":")[1]:t.getMinutes()}};e.a=n},8:function(t,e){function a(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=a=function(t){return typeof t}:t.exports=a=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a(e)}t.exports=a},85:function(t,e,a){},9:function(t,e){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var a=0,n=new Array(e);a<e;a++)n[a]=t[a];return n}}})})); //# sourceMappingURL=calendar.js.map