UNPKG

vxe-table

Version:

一个基于 vue 的 PC 端表格组件,支持增删改查、虚拟滚动、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、虚拟列表、模态窗口、自定义模板、渲染器、贼灵活的配置项、扩展接口等...

1 lines 33.7 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _ctor=_interopRequireDefault(require("xe-utils/ctor")),_conf=_interopRequireDefault(require("../../conf")),_size=_interopRequireDefault(require("../../mixins/size")),_tools=require("../../tools");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),a.push.apply(a,i)}return a}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(a),!0).forEach(function(e){_defineProperty(t,e,a[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))})}return t}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}var browse=_tools.DomTools.browse,wheelName=browse.firefox?"DOMMouseScroll":"mousewheel",yearSize=20,monthSize=20;function toStringTimeDate(e){if(e){var t,a,i,n=new Date;if(_ctor.default.isDate(e))t=e.getHours(),a=e.getMinutes(),i=e.getSeconds();else{var s=(e=_ctor.default.toString(e)).match(/^(\d{1,2})(:(\d{1,2}))?(:(\d{1,2}))?/);s&&(t=s[1],a=s[3],i=s[5])}return n.setHours(t||0),n.setMinutes(a||0),n.setSeconds(i||0),n}return new Date("")}function renderDefaultInput(e,t){var a=t.inpAttrs,i=t.inpEvents;return e("input",{ref:"input",class:"vxe-input--inner",domProps:{value:t.value},attrs:a,on:i})}function renderDateInput(e,t){var a=t.inpAttrs,i=t.inpEvents;return e("input",{ref:"input",class:"vxe-input--inner",domProps:{value:t.inputValue},attrs:a,on:i})}function renderDateLabel(t,e,a,i){var n=e.festivalMethod;if(n){var s=n(_objectSpread({type:e.datePanelType},a)),r=s?_ctor.default.isString(s)?{label:s}:s:{},o=r.extra?_ctor.default.isString(r.extra)?{label:r.extra}:r.extra:null,l=[t("span",{class:["vxe-input--date-label",{"is-notice":r.notice}]},o&&o.label?[t("span",i),t("span",{class:["vxe-input--date-label--extra",o.important?"is-important":"",o.className],style:o.style},_ctor.default.toString(o.label))]:i)],u=r.label;if(u){var c=_ctor.default.toString(u).split(",");l.push(t("span",{class:["vxe-input--date-festival",r.important?"is-important":"",r.className],style:r.style},[1<c.length?t("span",{class:["vxe-input--date-festival--overlap","overlap--".concat(c.length)]},c.map(function(e){return t("span",e.substring(0,3))})):t("span",{class:"vxe-input--date-festival--label"},c[0].substring(0,3))]))}return l}return i}function isDateDisabled(e,t){var a=e.disabledMethod;return a&&a({type:e.type,date:t.date})}function renderDateDayTable(t,a){var e=a.datePanelType,i=a.dateValue,n=a.datePanelValue,s=a.dateHeaders,r=a.dayDatas,o="yyyy-MM-dd";return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("thead",[t("tr",s.map(function(e){return t("th",e.label)}))]),t("tbody",r.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(a,e),"is--selected":_ctor.default.isDateSame(i,e.date,o),"is--hover":_ctor.default.isDateSame(n,e.date,o)},on:{click:function(){return a.dateSelectEvent(e)},mouseenter:function(){return a.dateMouseenterEvent(e)}}},renderDateLabel(t,a,e,e.label))}))}))])]}function renderDateWeekTable(i,n){var e=n.datePanelType,s=n.dateValue,r=n.datePanelValue,t=n.weekHeaders,a=n.weekDates,o="yyyy-MM-dd";return[i("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[i("thead",[i("tr",t.map(function(e){return i("th",e.label)}))]),i("tbody",a.map(function(e){var t=e.some(function(e){return _ctor.default.isDateSame(s,e.date,o)}),a=e.some(function(e){return _ctor.default.isDateSame(r,e.date,o)});return i("tr",e.map(function(e){return i("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(n,e),"is--selected":t,"is--hover":a},on:{click:function(){return n.dateSelectEvent(e)},mouseenter:function(){return n.dateMouseenterEvent(e)}}},renderDateLabel(i,n,e,e.label))}))}))])]}function renderDateMonthTable(t,a){var i=a.dateValue,e=a.datePanelType,n=a.monthDatas,s=a.datePanelValue,r="yyyy-MM";return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":e.isNow,"is--next":e.isNext,"is--disabled":isDateDisabled(a,e),"is--selected":_ctor.default.isDateSame(i,e.date,r),"is--hover":_ctor.default.isDateSame(s,e.date,r)},on:{click:function(){return a.dateSelectEvent(e)},mouseenter:function(){return a.dateMouseenterEvent(e)}}},renderDateLabel(t,a,e,_conf.default.i18n("vxe.input.date.months.m".concat(e.month))))}))}))])]}function renderDateYearTable(t,a){var i=a.dateValue,e=a.datePanelType,n=a.yearDatas,s=a.datePanelValue;return[t("table",{class:"vxe-input--date-".concat(e,"-view"),attrs:{cellspacing:0,cellpadding:0,border:0}},[t("tbody",n.map(function(e){return t("tr",e.map(function(e){return t("td",{class:{"is--disabled":isDateDisabled(a,e),"is--current":e.isCurrent,"is--now":e.isNow,"is--selected":_ctor.default.isDateSame(i,e.date,"yyyy"),"is--hover":_ctor.default.isDateSame(s,e.date,"yyyy")},on:{click:function(){return a.dateSelectEvent(e)},mouseenter:function(){return a.dateMouseenterEvent(e)}}},renderDateLabel(t,a,e,e.year))}))}))])]}function renderDateTable(e,t){switch(t.datePanelType){case"week":return renderDateWeekTable(e,t);case"month":return renderDateMonthTable(e,t);case"year":return renderDateYearTable(e,t)}return renderDateDayTable(e,t)}function renderDatePanel(e,t){var a=t.datePanelType,i=t.selectDatePanelLabel,n=t.isDisabledPrevDateBtn,s=t.isDisabledNextDateBtn;return[e("div",{class:"vxe-input--date-picker-header"},[e("div",{class:"vxe-input--date-picker-type-wrapper"},[e("span","year"===a?{class:"vxe-input--date-picker-label"}:{class:"vxe-input--date-picker-btn",on:{click:t.dateToggleTypeEvent}},i)]),e("div",{class:"vxe-input--date-picker-btn-wrapper"},[e("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-prev-btn",{"is--disabled":n}],on:{click:t.datePrevEvent}},[e("i",{class:"vxe-icon--caret-left"})]),e("span",{class:"vxe-input--date-picker-btn vxe-input--date-picker-current-btn",on:{click:t.dateTodayMonthEvent}},[e("i",{class:"vxe-icon--dot"})]),e("span",{class:["vxe-input--date-picker-btn vxe-input--date-picker-next-btn",{"is--disabled":s}],on:{click:t.dateNextEvent}},[e("i",{class:"vxe-icon--caret-right"})])])]),e("div",{class:"vxe-input--date-picker-body"},renderDateTable(e,t))]}function renderTimePanel(a,i){var e=i.dateTimeLabel,n=i.datetimePanelValue,t=i.hourList,s=i.minuteList,r=i.secondList;return[a("div",{class:"vxe-input--time-picker-header"},[a("span",{class:"vxe-input--time-picker-title"},e),a("button",{class:"vxe-input--time-picker-confirm",attrs:{type:"button"},on:{click:i.dateConfirmEvent}},_conf.default.i18n("vxe.button.confirm"))]),a("div",{ref:"timeBody",class:"vxe-input--time-picker-body"},[a("ul",{class:"vxe-input--time-picker-hour-list"},t.map(function(t,e){return a("li",{key:e,class:{"is--selected":n&&n.getHours()===t.value},on:{click:function(e){return i.dateHourEvent(e,t)}}},t.label)})),a("ul",{class:"vxe-input--time-picker-minute-list"},s.map(function(t,e){return a("li",{key:e,class:{"is--selected":n&&n.getMinutes()===t.value},on:{click:function(e){return i.dateMinuteEvent(e,t)}}},t.label)})),a("ul",{class:"vxe-input--time-picker-second-list"},r.map(function(t,e){return a("li",{key:e,class:{"is--selected":n&&n.getSeconds()===t.value},on:{click:function(e){return i.dateSecondEvent(e,t)}}},t.label)}))])]}function renderPanel(e,t){var a,i=t.type,n=t.vSize,s=t.isDatePicker,r=t.transfer,o=t.animatVisible,l=t.visiblePanel,u=t.panelPlacement,c=t.panelStyle,d=[];return s?("datetime"===i?d.push(e("div",{class:"vxe-input--panel-layout-wrapper"},[e("div",{class:"vxe-input--panel-left-wrapper"},renderDatePanel(e,t)),e("div",{class:"vxe-input--panel-right-wrapper"},renderTimePanel(e,t))])):"time"===i?d.push(e("div",{class:"vxe-input--panel-wrapper"},renderTimePanel(e,t))):d.push(e("div",{class:"vxe-input--panel-wrapper"},renderDatePanel(e,t))),e("div",{ref:"panel",class:["vxe-table--ignore-clear vxe-input--panel","type--".concat(i),(a={},_defineProperty(a,"size--".concat(n),n),_defineProperty(a,"is--transfer",r),_defineProperty(a,"animat--leave",o),_defineProperty(a,"animat--enter",l),a)],attrs:{"data-placement":u},style:c},d)):null}function renderNumberIcon(e,t){return e("span",{class:"vxe-input--number-suffix"},[e("span",{class:"vxe-input--number-prev is--prev",on:{mousedown:t.numberMousedownEvent,mouseup:t.numberStopDown,mouseleave:t.numberStopDown}},[e("i",{class:["vxe-input--number-prev-icon",_conf.default.icon.INPUT_PREV_NUM]})]),e("span",{class:"vxe-input--number-next is--next",on:{mousedown:t.numberMousedownEvent,mouseup:t.numberStopDown,mouseleave:t.numberStopDown}},[e("i",{class:["vxe-input--number-next-icon",_conf.default.icon.INPUT_NEXT_NUM]})])])}function renderDatePickerIcon(e,t){return e("span",{class:"vxe-input--date-picker-suffix",on:{click:t.datePickerOpenEvent}},[e("i",{class:["vxe-input--date-picker-icon",_conf.default.icon.INPUT_DATE]})])}function renderSearchIcon(e,t){return e("span",{class:"vxe-input--search-suffix",on:{click:t.searchEvent}},[e("i",{class:["vxe-input--search-icon",_conf.default.icon.INPUT_SEARCH]})])}function renderPasswordIcon(e,t){var a=t.showPwd;return e("span",{class:"vxe-input--password-suffix",on:{click:t.passwordToggleEvent}},[e("i",{class:["vxe-input--password-icon",a?_conf.default.icon.INPUT_SHOW_PWD:_conf.default.icon.INPUT_PWD]})])}function rendePrefixIcon(e,t){var a=t.$scopedSlots,i=t.prefixIcon,n=[];return a.prefix?n.push(e("span",{class:"vxe-input--prefix-icon"},a.prefix.call(this,{},e))):i&&n.push(e("i",{class:["vxe-input--prefix-icon",i]})),n.length?e("span",{class:"vxe-input--prefix",on:{click:t.clickPrefixEvent}},n):null}function renderSuffixIcon(e,t){var a=t.$scopedSlots,i=t.value,n=t.isClearable,s=t.disabled,r=t.suffixIcon,o=[];return a.suffix?o.push(e("span",{class:"vxe-input--suffix-icon"},a.suffix.call(this,{},e))):r&&o.push(e("i",{class:["vxe-input--suffix-icon",r]})),n&&o.push(e("i",{class:["vxe-input--clear-icon",_conf.default.icon.INPUT_CLEAR]})),o.length?e("span",{class:["vxe-input--suffix",{"is--clear":n&&!s&&!(""===i||_ctor.default.eqNull(i))}],on:{click:t.clickSuffixEvent}},o):null}function renderExtraSuffixIcon(e,t){var a,i=t.controls,n=t.isPassword,s=t.isNumber,r=t.isDatePicker,o=t.isSearch;return i&&(n?a=renderPasswordIcon(e,t):s?a=renderNumberIcon(e,t):r?a=renderDatePickerIcon(e,t):o&&(a=renderSearchIcon(e,t))),a?e("span",{class:"vxe-input--extra-suffix"},[a]):null}var _default2={name:"VxeInput",mixins:[_size.default],props:{value:[String,Number,Date],name:String,type:{type:String,default:"text"},clearable:{type:Boolean,default:function(){return _conf.default.input.clearable}},readonly:Boolean,disabled:Boolean,placeholder:String,maxlength:[String,Number],autocomplete:{type:String,default:"off"},align:String,form:String,size:{type:String,default:function(){return _conf.default.input.size||_conf.default.size}},min:{type:[String,Number],default:null},max:{type:[String,Number],default:null},step:[String,Number],controls:{type:Boolean,default:function(){return _conf.default.input.controls}},digits:{type:[String,Number],default:function(){return _conf.default.input.digits}},dateConfig:Object,minDate:{type:[String,Number,Date],default:function(){return _conf.default.input.minDate}},maxDate:{type:[String,Number,Date],default:function(){return _conf.default.input.maxDate}},startWeek:{type:Number,default:function(){return _conf.default.input.startWeek}},labelFormat:{type:String,default:function(){return _conf.default.input.labelFormat}},valueFormat:{type:String,default:function(){return _conf.default.input.valueFormat}},editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:function(){return _conf.default.input.festivalMethod}},disabledMethod:{type:Function,default:function(){return _conf.default.input.disabledMethod}},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:function(){return _conf.default.input.transfer}}},data:function(){return{panelIndex:0,showPwd:!1,visiblePanel:!1,animatVisible:!1,panelStyle:null,panelPlacement:null,isActivated:!1,inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}},computed:{isNumber:function(){return-1<["number","integer","float"].indexOf(this.type)},isDatePicker:function(){return this.hasTime||-1<["date","week","month","year"].indexOf(this.type)},hasTime:function(){var e=this.type;return"time"===e||"datetime"===e},isPassword:function(){return"password"===this.type},isSearch:function(){return"search"===this.type},stepValue:function(){var e=this.type,t=this.step;return"integer"===e?_ctor.default.toInteger(t)||1:"float"===e?_ctor.default.toNumber(t)||1/Math.pow(10,this.digitsValue):_ctor.default.toNumber(t)||1},digitsValue:function(){return _ctor.default.toInteger(this.digits)||1},isClearable:function(){return this.clearable&&(this.isPassword||this.isNumber||this.isDatePicker||"text"===this.type||"search"===this.type)},isDisabledPrevDateBtn:function(){var e=this.selectMonth,t=this.dateMinTime;return!!e&&e<=t},isDisabledNextDateBtn:function(){var e=this.selectMonth,t=this.dateMaxTime;return!!e&&t<=e},dateMinTime:function(){return this.minDate?_ctor.default.toStringDate(this.minDate):null},dateMaxTime:function(){return this.maxDate?_ctor.default.toStringDate(this.maxDate):null},dateValue:function(){var e,t=this.value,a=this.isDatePicker,i=this.type,n=this.dateValueFormat,s=null;t&&a&&(e="time"===i?toStringTimeDate(t):_ctor.default.toStringDate(t,n),_ctor.default.isValidDate(e)&&(s=e));return s},dateTimeLabel:function(){var e=this.datetimePanelValue;return e?_ctor.default.toDateString(e,"HH:mm:ss"):""},hmsTime:function(){var e=this.dateValue;return e&&this.hasTime?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0},dateLabelFormat:function(){return this.isDatePicker?this.labelFormat||_conf.default.i18n("vxe.input.date.labelFormat.".concat(this.type)):null},dateValueFormat:function(){var e=this.type;return"time"===e?"HH:mm:ss":this.valueFormat||("datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")},selectDatePanelLabel:function(){if(this.isDatePicker){var e,t=this.datePanelType,a=this.selectMonth,i=this.yearList,n="";return a&&(n=a.getFullYear(),e=a.getMonth()+1),"month"===t?_conf.default.i18n("vxe.input.date.monthLabel",[n]):"year"===t?i.length?"".concat(i[0].year," - ").concat(i[i.length-1].year):"":_conf.default.i18n("vxe.input.date.dayLabel",[n,e?_conf.default.i18n("vxe.input.date.m".concat(e)):"-"])}return""},weekDatas:function(){var e=[];if(this.isDatePicker){var t=_ctor.default.toNumber(this.startWeek);e.push(t);for(var a=0;a<6;a++)6<=t?t=0:t++,e.push(t)}return e},dateHeaders:function(){return this.isDatePicker?this.weekDatas.map(function(e){return{value:e,label:_conf.default.i18n("vxe.input.date.weeks.w".concat(e))}}):[]},weekHeaders:function(){return this.isDatePicker?[{label:_conf.default.i18n("vxe.input.date.weeks.w")}].concat(this.dateHeaders):[]},yearList:function(){var e=this.selectMonth,t=this.currentDate,a=[];if(e&&t)for(var i=t.getFullYear(),n=new Date((""+e.getFullYear()).replace(/\d{1}$/,"0"),0,1),s=-10;s<yearSize-10;s++){var r=_ctor.default.getWhatYear(n,s,"first"),o=r.getFullYear();a.push({date:r,isCurrent:!0,isNow:i===o,year:o})}return a},yearDatas:function(){return _ctor.default.chunk(this.yearList,4)},monthList:function(){var e=this.selectMonth,t=this.currentDate,a=[];if(e&&t)for(var i=t.getFullYear(),n=t.getMonth(),s=_ctor.default.getWhatYear(e,0,"first").getFullYear(),r=-4;r<monthSize-4;r++){var o=_ctor.default.getWhatYear(e,0,r),l=o.getFullYear(),u=o.getMonth(),c=l<s;a.push({date:o,isPrev:c,isCurrent:l===s,isNow:l===i&&u===n,isNext:!c&&s<l,month:u})}return a},monthDatas:function(){return _ctor.default.chunk(this.monthList,4)},dayList:function(){var e=this.weekDatas,t=this.selectMonth,a=this.currentDate,i=this.hmsTime,n=[];if(t&&a)for(var s=a.getFullYear(),r=a.getMonth(),o=a.getDate(),l=t.getFullYear(),u=t.getMonth(),c=t.getDay(),d=-e.indexOf(c),h=new Date(_ctor.default.getWhatDay(t,d).getTime()+i),f=0;f<42;f++){var p=_ctor.default.getWhatDay(h,f),v=p.getFullYear(),m=p.getMonth(),b=p.getDate(),y=p<t;n.push({date:p,isPrev:y,isCurrent:v===l&&m===u,isNow:v===s&&m===r&&b===o,isNext:!y&&u!==m,label:b})}return n},dayDatas:function(){return _ctor.default.chunk(this.dayList,7)},weekDates:function(){return this.dayDatas.map(function(e){var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_ctor.default.getYearWeek(t.date)}].concat(e)})},hourList:function(){var e=[];if(this.hasTime)for(var t=0;t<24;t++)e.push({value:t,label:(""+t).padStart(2,0)});return e},minuteList:function(){var e=[];if(this.hasTime)for(var t=0;t<60;t++)e.push({value:t,label:(""+t).padStart(2,0)});return e},secondList:function(){return this.minuteList},inpAttrs:function(){var e=this.isDatePicker,t=this.isNumber,a=this.isPassword,i=this.type,n=this.name,s=this.placeholder,r=this.readonly,o=this.disabled,l=this.maxlength,u=this.form,c=this.autocomplete,d=this.showPwd,h=this.editable,f=i;(e||t||a&&d||"number"===i)&&(f="text");var p={name:n,form:u,type:f,placeholder:s,maxlength:t&&!_ctor.default.toNumber(l)?16:l,readonly:r||"week"===i||!h,disabled:o,autocomplete:c};return s&&(p.placeholder=_tools.UtilTools.getFuncText(s)),p},inpEvents:function(){var a=this,i={};return _ctor.default.each(this.$listeners,function(e,t){-1===["change","clear","prefix-click","suffix-click"].indexOf(t)&&(i[t]=a.triggerEvent)}),this.isNumber?(i.keydown=this.keydownEvent,i[wheelName]=this.mousewheelEvent):this.isDatePicker&&(i.click=this.clickEvent),i.input=this.inputEvent,i.focus=this.focusEvent,i.blur=this.blurEvent,i}},watch:{value:function(){this.changeValue()},dateLabelFormat:function(){this.dateParseValue(this.datePanelValue),this.inputValue=this.datePanelLabel}},created:function(){this.initValue(),_tools.GlobalEvent.on(this,"mousewheel",this.handleGlobalMousewheelEvent),_tools.GlobalEvent.on(this,"mousedown",this.handleGlobalMousedownEvent),_tools.GlobalEvent.on(this,"keydown",this.handleGlobalKeydownEvent),_tools.GlobalEvent.on(this,"blur",this.handleGlobalBlurEvent)},mounted:function(){this.dateConfig&&_tools.UtilTools.warn("vxe.error.removeProp",["date-config"]),this.isDatePicker&&this.transfer&&document.body.appendChild(this.$refs.panel)},beforeDestroy:function(){var e=this.$refs.panel;e&&e.parentNode&&e.parentNode.removeChild(e)},destroyed:function(){this.numberStopDown(),_tools.GlobalEvent.off(this,"mousewheel"),_tools.GlobalEvent.off(this,"mousedown"),_tools.GlobalEvent.off(this,"keydown"),_tools.GlobalEvent.off(this,"blur")},render:function(e){var t,a=this.controls,i=this.isDatePicker,n=this.visiblePanel,s=this.isActivated,r=this.vSize,o=this.type,l=this.align,u=this.readonly,c=this.disabled,d=[],h=rendePrefixIcon(e,this),f=renderSuffixIcon(e,this);return h&&d.push(h),d.push(i?renderDateInput(e,this):renderDefaultInput(e,this)),f&&d.push(f),d.push(renderExtraSuffixIcon(e,this)),i&&d.push(renderPanel(e,this)),e("div",{class:["vxe-input","type--".concat(o),(t={},_defineProperty(t,"size--".concat(r),r),_defineProperty(t,"is--".concat(l),l),_defineProperty(t,"is--controls",a),_defineProperty(t,"is--prefix",!!h),_defineProperty(t,"is--suffix",!!f),_defineProperty(t,"is--readonly",u),_defineProperty(t,"is--visivle",n),_defineProperty(t,"is--disabled",c),_defineProperty(t,"is--active",s),t)]},d)},methods:{focus:function(){return this.isActivated=!0,this.$refs.input.focus(),this.$nextTick()},blur:function(){return this.$refs.input.blur(),this.isActivated=!1,this.$nextTick()},triggerEvent:function(e){var t=this.$refs,a=this.value;this.$emit(e.type,{$panel:t.panel,value:a,$event:e})},emitUpdate:function(e,t){_ctor.default.toString(this.value)!==e&&(this.$emit("input",e),this.$emit("change",{value:e,$event:t}))},inputEvent:function(e){var t=this.isDatePicker,a=e.target.value;this.inputValue=a,t||this.emitUpdate(a,e)},focusEvent:function(e){this.isActivated=!0,this.triggerEvent(e)},blurEvent:function(e){this.afterCheckValue(),this.visiblePanel||(this.isActivated=!1),this.triggerEvent(e)},keydownEvent:function(e){if(this.isNumber){var t=e.ctrlKey,a=e.shiftKey,i=e.altKey,n=e.keyCode;t||a||i||!(32===n||65<=n&&n<=90)||e.preventDefault(),this.numberKeydownEvent(e)}this.triggerEvent(e)},mousewheelEvent:function(e){if(this.isNumber&&this.controls&&this.isActivated){var t=-e.wheelDelta||e.detail;0<t?this.numberNextEvent(e):t<0&&this.numberPrevEvent(e),e.preventDefault()}},clickEvent:function(e){this.isDatePicker&&this.datePickerOpenEvent(e),this.triggerEvent(e)},clickPrefixEvent:function(e){var t=this.$refs,a=this.disabled,i=this.value;a||this.$emit("prefix-click",{$panel:t.panel,value:i,$event:e})},clickSuffixEvent:function(e){var t=this.$refs,a=this.disabled,i=this.value;a||(_tools.DomTools.hasClass(e.currentTarget,"is--clear")?(this.emitUpdate("",e),this.clearValueEvent(e,"")):this.$emit("suffix-click",{$panel:t.panel,value:i,$event:e}))},clearValueEvent:function(e,t){var a=this.$refs,i=this.type,n=this.isNumber;this.isDatePicker&&this.hidePanel(),(n||-1<["text","search","password"].indexOf(i))&&this.focus(),this.$emit("clear",{$panel:a.panel,value:t,$event:e})},initValue:function(){var e=this.type,t=this.isDatePicker,a=this.value,i=this.digitsValue;if(t)this.changeValue();else if("float"===e&&a){var n=_ctor.default.toFixed(_ctor.default.floor(a,i),i);a!==n&&this.emitUpdate(n,{type:"init"})}},changeValue:function(){this.isDatePicker&&(this.dateParseValue(this.value),this.inputValue=this.datePanelLabel)},afterCheckValue:function(){var e=this.type,t=this.inpAttrs,a=this.value,i=this.inputValue,n=this.isDatePicker,s=this.isNumber,r=this.datetimePanelValue,o=this.dateLabelFormat,l=this.min,u=this.max,c=this.digitsValue;if(!t.readonly)if(s){if(a){var d="integer"===e?_ctor.default.toInteger(a):_ctor.default.toNumber(a);this.vaildMinNum(d)?this.vaildMaxNum(d)||(d=u):d=l,this.emitUpdate("float"===e?_ctor.default.toFixed(_ctor.default.floor(d,c),c):_ctor.default.toString(d),{type:"check"})}}else if(n){var h=i;h?(h="time"===e?toStringTimeDate(h,o):_ctor.default.toStringDate(h,o),_ctor.default.isValidDate(h)?"time"===e?(a!==(h=_ctor.default.toDateString(h,o))&&this.emitUpdate(h,{type:"check"}),this.inputValue=h):_ctor.default.isDateSame(a,h,o)?this.inputValue=_ctor.default.toDateString(a,o):("datetime"===e&&(r.setHours(h.getHours()),r.setMinutes(h.getMinutes()),r.setSeconds(h.getSeconds())),this.dateChange(h)):this.dateRevert()):this.emitUpdate("",{type:"check"})}},passwordToggleEvent:function(e){var t=this.disabled,a=this.readonly,i=this.showPwd;t||a||(this.showPwd=!i),this.$emit("toggle-visible",{visible:this.showPwd,$event:e})},searchEvent:function(e){this.$emit("search-click",{$event:e})},vaildMinNum:function(e){return null===this.min||e>=_ctor.default.toNumber(this.min)},vaildMaxNum:function(e){return null===this.max||e<=_ctor.default.toNumber(this.max)},numberStopDown:function(){clearTimeout(this.downbumTimeout)},numberDownPrevEvent:function(e){var t=this;this.downbumTimeout=setTimeout(function(){t.numberPrevEvent(e),t.numberDownPrevEvent(e)},60)},numberDownNextEvent:function(e){var t=this;this.downbumTimeout=setTimeout(function(){t.numberNextEvent(e),t.numberDownNextEvent(e)},60)},numberKeydownEvent:function(e){var t=e.keyCode,a=38===t;(a||40===t)&&(e.preventDefault(),a?this.numberPrevEvent(e):this.numberNextEvent(e))},numberMousedownEvent:function(e){var t=this;if(this.numberStopDown(),0===e.button){var a=_tools.DomTools.hasClass(e.currentTarget,"is--prev");a?this.numberPrevEvent(e):this.numberNextEvent(e),this.downbumTimeout=setTimeout(function(){a?t.numberDownPrevEvent(e):t.numberDownNextEvent(e)},500)}},numberPrevEvent:function(e){var t=this.disabled,a=this.readonly;clearTimeout(this.downbumTimeout),t||a||this.numberChange(!0,e),this.$emit("prev-number",{$event:e})},numberNextEvent:function(e){var t=this.disabled,a=this.readonly;clearTimeout(this.downbumTimeout),t||a||this.numberChange(!1,e),this.$emit("next-number",{$event:e})},numberChange:function(e,t){var a=this.type,i=this.digitsValue,n=this.value,s=this.stepValue,r="integer"===a?_ctor.default.toInteger(n):_ctor.default.toNumber(n),o=e?_ctor.default.add(r,s):_ctor.default.subtract(r,s);this.vaildMinNum(o)&&this.vaildMaxNum(o)&&this.emitUpdate("float"===a?_ctor.default.toFixed(_ctor.default.floor(o,i),i):_ctor.default.toString(o),t)},datePickerOpenEvent:function(e){e.preventDefault(),this.showPanel()},dateMonthHandle:function(e,t){this.selectMonth=_ctor.default.getWhatMonth(e,t,"first")},dateNowHandle:function(){var e=_ctor.default.getWhatDay(Date.now(),0,"first");this.currentDate=e,this.dateMonthHandle(e,0)},dateToggleTypeEvent:function(){var e=this.datePanelType;e="month"===e?"year":"month",this.datePanelType=e},datePrevEvent:function(e){var t=this.isDisabledPrevDateBtn,a=this.type,i=this.datePanelType;t||(this.selectMonth="year"===a?_ctor.default.getWhatYear(this.selectMonth,-yearSize,"first"):"month"===a?"year"===i?_ctor.default.getWhatYear(this.selectMonth,-yearSize,"first"):_ctor.default.getWhatYear(this.selectMonth,-1,"first"):"year"===i?_ctor.default.getWhatYear(this.selectMonth,-yearSize,"first"):"month"===i?_ctor.default.getWhatYear(this.selectMonth,-1,"first"):_ctor.default.getWhatMonth(this.selectMonth,-1,"first"),this.$emit("date-prev",{type:a,$event:e}))},dateTodayMonthEvent:function(e){this.dateNowHandle(),this.dateChange(this.currentDate),this.hidePanel(),this.$emit("date-today",{type:this.type,$event:e})},dateNextEvent:function(e){var t=this.isDisabledNextDateBtn,a=this.type,i=this.datePanelType;t||(this.selectMonth="year"===a?_ctor.default.getWhatYear(this.selectMonth,yearSize,"first"):"month"===a?"year"===i?_ctor.default.getWhatYear(this.selectMonth,yearSize,"first"):_ctor.default.getWhatYear(this.selectMonth,1,"first"):"year"===i?_ctor.default.getWhatYear(this.selectMonth,yearSize,"first"):"month"===i?_ctor.default.getWhatYear(this.selectMonth,1,"first"):_ctor.default.getWhatMonth(this.selectMonth,1,"first"),this.$emit("date-next",{type:a,$event:e}))},dateSelectEvent:function(e){isDateDisabled(this,e)||this.dateSelectItem(e.date)},dateSelectItem:function(e){var t=this.type,a=this.datePanelType;"month"===t?"year"===a?(this.datePanelType="month",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel()):"year"===t?(this.hidePanel(),this.dateChange(e)):"month"===a?(this.datePanelType="week"===t?t:"day",this.dateCheckMonth(e)):"year"===a?(this.datePanelType="month",this.dateCheckMonth(e)):(this.dateChange(e),this.hidePanel())},dateMouseenterEvent:function(e){if(!isDateDisabled(this,e)){var t=this.datePanelType;"month"===t?this.dateMoveMonth(e.date):"year"===t?this.dateMoveYear(e.date):this.dateMoveDay(e.date)}},dateHourEvent:function(e,t){this.datetimePanelValue.setHours(t.value),this.dateTimeChangeEvent(e)},dateConfirmEvent:function(){this.dateChange(this.dateValue||this.currentDate),this.hidePanel()},dateMinuteEvent:function(e,t){this.datetimePanelValue.setMinutes(t.value),this.dateTimeChangeEvent(e)},dateSecondEvent:function(e,t){this.datetimePanelValue.setSeconds(t.value),this.dateTimeChangeEvent(e)},dateTimeChangeEvent:function(e){this.datetimePanelValue=new Date(this.datetimePanelValue.getTime()),this.updateTimePos(e.currentTarget)},updateTimePos:function(e){if(e){var t=e.offsetHeight;e.parentNode.scrollTop=e.offsetTop-4*t}},dateMoveDay:function(t){isDateDisabled(this,{date:t})||(this.dayList.some(function(e){return _ctor.default.isDateSame(e.date,t,"yyyy-MM-dd")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveMonth:function(t){isDateDisabled(this,{date:t})||(this.monthList.some(function(e){return _ctor.default.isDateSame(e.date,t,"yyyy-MM")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateMoveYear:function(t){isDateDisabled(this,{date:t})||(this.yearList.some(function(e){return _ctor.default.isDateSame(e.date,t,"yyyy")})||this.dateCheckMonth(t),this.dateParseValue(t))},dateParseValue:function(e){var t=this.type,a=this.dateLabelFormat,i=this.valueFormat,n=null,s="";e&&(n="time"===t?toStringTimeDate(e,i):_ctor.default.toStringDate(e,i)),_ctor.default.isValidDate(n)?s=_ctor.default.toDateString(n,a):n=null,this.datePanelValue=n,this.datePanelLabel=s},dateOffsetEvent:function(e){var t=this.isActivated,a=this.datePanelValue,i=this.datePanelType;if(t){e.preventDefault();var n=e.keyCode,s=37===n,r=38===n,o=39===n,l=40===n;if("year"===i){var u=_ctor.default.getWhatYear(a||Date.now(),0,"first");s?u=_ctor.default.getWhatYear(u,-1):r?u=_ctor.default.getWhatYear(u,-4):o?u=_ctor.default.getWhatYear(u,1):l&&(u=_ctor.default.getWhatYear(u,4)),this.dateMoveYear(u)}else if("month"===i){var c=_ctor.default.getWhatMonth(a||Date.now(),0,"first");s?c=_ctor.default.getWhatMonth(c,-1):r?c=_ctor.default.getWhatMonth(c,-4):o?c=_ctor.default.getWhatMonth(c,1):l&&(c=_ctor.default.getWhatMonth(c,4)),this.dateMoveMonth(c)}else{var d=a||_ctor.default.getWhatDay(Date.now(),0,"first");s?d=_ctor.default.getWhatDay(d,-1):r?d=_ctor.default.getWhatWeek(d,-1):o?d=_ctor.default.getWhatDay(d,1):l&&(d=_ctor.default.getWhatWeek(d,1)),this.dateMoveDay(d)}}},datePgOffsetEvent:function(e){if(this.isActivated){var t=33===e.keyCode;e.preventDefault(),t?this.datePrevEvent(e):this.dateNextEvent(e)}},dateChange:function(e){var t=this.value,a=this.datetimePanelValue,i=this.dateValueFormat;if("week"===this.type){var n=_ctor.default.toNumber(this.startWeek);e=_ctor.default.getWhatWeek(e,0,n)}else this.hasTime&&(e.setHours(a.getHours()),e.setMinutes(a.getMinutes()),e.setSeconds(a.getSeconds()));var s=_ctor.default.toDateString(e,i);this.dateCheckMonth(e),_ctor.default.isEqual(t,s)||this.emitUpdate(s,{type:"update"})},dateCheckMonth:function(e){var t=_ctor.default.getWhatMonth(e,0,"first");_ctor.default.isEqual(t,this.selectMonth)||(this.selectMonth=t)},dateOpenPanel:function(){var e=this,t=this.type,a=this.dateValue;-1<["year","month","week"].indexOf(t)?this.datePanelType=t:this.datePanelType="day",this.currentDate=_ctor.default.getWhatDay(Date.now(),0,"first"),a?(this.dateMonthHandle(a,0),this.dateParseValue(a)):this.dateNowHandle(),this.hasTime&&(this.datetimePanelValue=this.datePanelValue||_ctor.default.getWhatDay(Date.now(),0,"first"),this.$nextTick(function(){_ctor.default.arrayEach(e.$refs.timeBody.querySelectorAll("li.is--selected"),e.updateTimePos)}))},dateRevert:function(){this.inputValue=this.datePanelLabel},updateZindex:function(){this.panelIndex<_tools.UtilTools.getLastZIndex()&&(this.panelIndex=_tools.UtilTools.nextZIndex())},showPanel:function(){var e=this,t=this.disabled,a=this.visiblePanel,i=this.isDatePicker;t||a||(clearTimeout(this.hidePanelTimeout),this.isActivated=!0,this.animatVisible=!0,i&&this.dateOpenPanel(),setTimeout(function(){e.visiblePanel=!0},10),this.updateZindex(),this.updatePlacement())},hidePanel:function(){var e=this;this.visiblePanel=!1,this.hidePanelTimeout=setTimeout(function(){e.animatVisible=!1},350)},updatePlacement:function(){var g=this;return this.$nextTick().then(function(){var e=g.$refs,t=g.transfer,a=g.placement,i=g.panelIndex,n=e.input,s=e.panel;if(n&&s){var r=n.offsetHeight,o=n.offsetWidth,l=s.offsetHeight,u=s.offsetWidth,c={zIndex:i},d=_tools.DomTools.getAbsolutePos(n),h=d.boundingTop,f=d.boundingLeft,p=d.visibleHeight,v=d.visibleWidth,m="bottom";if(t){var b=f,y=h+r;"top"===a?(m="top",y=h-l):a||(p<y+l+5&&(m="top",y=h-l),y<5&&(m="bottom",y=h+r)),v<b+u+5&&(b-=b+u+5-v),b<5&&(b=5),Object.assign(c,{left:"".concat(b,"px"),top:"".concat(y,"px"),minWidth:"".concat(o,"px")})}else"top"===a?(m="top",c.bottom="".concat(r,"px")):a||p<h+r+l&&5<h-r-l&&(m="top",c.bottom="".concat(r,"px"));return g.panelStyle=c,g.panelPlacement=m,g.$nextTick()}})},handleGlobalMousedownEvent:function(e){var t=this.$refs,a=this.$el,i=this.disabled,n=this.visiblePanel,s=this.isActivated;!i&&s&&(this.isActivated=_tools.DomTools.getEventTargetNode(e,a).flag||_tools.DomTools.getEventTargetNode(e,t.panel).flag,this.isActivated||(this.isDatePicker?n&&(this.hidePanel(),this.afterCheckValue()):this.afterCheckValue()))},handleGlobalKeydownEvent:function(e){var t=this.isDatePicker,a=this.visiblePanel,i=this.clearable;if(!this.disabled){var n=e.keyCode,s=9===n,r=46===n,o=27===n,l=13===n,u=38===n,c=40===n,d=33===n,h=34===n,f=37===n||u||39===n||c,p=this.isActivated;s?(p&&this.afterCheckValue(),p=!1,this.isActivated=p):f?t&&p&&(a?this.dateOffsetEvent(e):(u||c)&&(e.preventDefault(),this.showPanel())):l?t&&(a?this.datePanelValue?this.dateSelectItem(this.datePanelValue):this.hidePanel():p&&this.showPanel()):(d||h)&&t&&p&&this.datePgOffsetEvent(e),s||o?a&&this.hidePanel():r&&i&&p&&this.clearValueEvent(e,null)}},handleGlobalMousewheelEvent:function(e){var t=this.$refs,a=this.disabled,i=this.visiblePanel;a||i&&(_tools.DomTools.getEventTargetNode(e,t.panel).flag?this.updatePlacement():(this.hidePanel(),this.afterCheckValue()))},handleGlobalBlurEvent:function(){var e=this.isActivated;this.visiblePanel?(this.hidePanel(),this.afterCheckValue()):e&&this.afterCheckValue()}}};exports.default=_default2;