vxe-pc-ui 4.14.28 → 4.14.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/all.esm.js +83 -7
  2. package/es/date-panel/src/date-panel.js +4 -3
  3. package/es/date-range-picker/src/date-range-picker.js +77 -2
  4. package/es/ui/index.js +1 -1
  5. package/es/ui/src/log.js +1 -1
  6. package/lib/date-panel/src/date-panel.js +9 -3
  7. package/lib/date-panel/src/date-panel.min.js +1 -1
  8. package/lib/date-range-picker/src/date-range-picker.js +85 -2
  9. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  10. package/lib/index.umd.js +96 -7
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/ui/index.js +1 -1
  13. package/lib/ui/index.min.js +1 -1
  14. package/lib/ui/src/log.js +1 -1
  15. package/lib/ui/src/log.min.js +1 -1
  16. package/package.json +1 -1
  17. package/packages/date-panel/src/date-panel.ts +19 -18
  18. package/packages/date-range-picker/src/date-range-picker.ts +78 -3
  19. package/types/components/date-panel.d.ts +19 -2
  20. package/types/components/date-range-picker.d.ts +2 -0
  21. package/types/components/gantt.d.ts +4 -0
  22. /package/es/icon/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  23. /package/es/icon/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  24. /package/es/icon/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
  25. /package/es/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  26. /package/es/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  27. /package/es/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
  28. /package/lib/icon/style/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  29. /package/lib/icon/style/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  30. /package/lib/icon/style/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
  31. /package/lib/{iconfont.1780570418794.ttf → iconfont.1780632924397.ttf} +0 -0
  32. /package/lib/{iconfont.1780570418794.woff → iconfont.1780632924397.woff} +0 -0
  33. /package/lib/{iconfont.1780570418794.woff2 → iconfont.1780632924397.woff2} +0 -0
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("../../date-panel/src/util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDateRangePicker",props:{modelValue:[String,Number,Date,Array],startValue:[String,Number,Date],endValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],defaultDate:[String,Number,Date,Array],defaultTime:[String,Number,Date,Array],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,valueType:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.disabledMethod},separator:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.separator},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(A,e){let{slots:N,emit:i}=e,c=(0,_vue.inject)("$xeModal",null),p=(0,_vue.inject)("$xeDrawer",null),k=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let R=(0,_ui.useSize)(A).computeSize,I=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),r={},g=(0,_vue.ref)(),f=(0,_vue.ref)(),M=(0,_vue.ref)(),B=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),D={refElem:g,refInput:f},j={xID:a,props:A,context:e,reactData:I,internalData:r,getRefMaps:()=>D};let q=(0,_vue.computed)(()=>{var e=A.transfer,a=$.value;if(_xeUtils.default.isBoolean(a.transfer))return a.transfer;if(null===e){a=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(a))return a;if(k||c||p||n)return!0}return e}),_=(0,_vue.computed)(()=>{var e=A.readonly;return null===e?!!n&&n.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=A.disabled;return null===e?!!n&&n.props.disabled:e}),Y=(0,_vue.computed)(()=>{var e=A.defaultDate;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]}),Z=(0,_vue.computed)(()=>{var e=A.defaultTime;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]});a=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=A;return""+(e||"")+(a||"")});let H=(0,_vue.computed)(()=>{var e=A.type;return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(A.type)),O=(0,_vue.computed)(()=>A.clearable),C=(0,_vue.computed)(()=>{var e=A.placeholder;return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.dateRangePicker.pleaseRange")}),l=(0,_vue.computed)(()=>{var e=A.immediate;return e}),J=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.timeConfig,A.timeConfig)),$=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.popupConfig,A.popupConfig)),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,A.shortcutConfig)),K=(0,_vue.computed)(()=>{var e=L.value.options;return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),P=(0,_vue.computed)(()=>{var e=A.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+A.type)}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:a}=A;return(0,_util.handleValueFormat)(e,a)}),S=(0,_vue.computed)(()=>{var e=A.startDay;return _xeUtils.default.toNumber(e)}),Q=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=I,e=e||a?[e||"",a||""]:[];return w(e)}),E=(0,_vue.computed)(()=>Q.value.label),w=e=>{var{type:a,separator:t}=A,l=P.value,u=m.value,r=S.value,i=e[0]?(0,_util.parseDateObj)(e[0],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,a=i?i.label:"",u=e?e.label:"";return{label:(a||u?[a,u]:[]).join(""+(t||" ~ ")),startLabel:a,endLabel:u}},y=(e,a)=>{var{modelValue:t,valueType:l}=A;let u=_xeUtils.default.isArray(t);if(l)switch(l){case"array":u=!0;break;case"string":u=!1}return e||a?(t=[e||"",a||""],u?t:t.join(",")):u?[]:""},T=()=>{var e,{type:a,modelValue:t}=A,l=m.value;let u="",r="";return _xeUtils.default.isArray(t)?(e=(0,_util.parseDateString)(t[0],a,{valueFormat:l}),a=(0,_util.parseDateString)(t[1],a,{valueFormat:l}),(e||a)&&(u=e||"",r=a||"")):_xeUtils.default.isString(t)&&((l=t.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},F=()=>{var{type:e,startValue:a,endValue:t}=A,l=m.value;return{sValue:(0,_util.parseDateString)(a,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(t,e,{valueFormat:l})}},t=e=>{var{modelValue:a,startValue:t,endValue:l}=A;let u={sValue:"",eValue:""};u=(e?a?T:F:t||l?F:T)(),I.startValue=u.sValue,I.endValue=u.eValue},u=e=>{var{startValue:a,endValue:t}=I,l=y(a,t);V(e.type,{value:l,startValue:a,endValue:t},e)},h=(e,a,t)=>{var l=A.modelValue,u=(I.startValue=e,I.endValue=a,y(e,a)),r=e&&a||!e&&!a;i("update:modelValue",u),i("update:startValue",e||""),i("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(V("change",{value:u,startValue:e,endValue:a,isFinish:r},t),n)&&o&&n.triggerItemEvent(t,o.itemConfig.field,u)},W=e=>{l.value||u(e)},X=e=>{var a=$.value.trigger;I.isActivated=!0,a&&"default"!==a||be(e),u(e)},ee=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=I,l=y(a,t),V("prefix-click",{value:l,startValue:a,endValue:t},e))},x=()=>new Promise(e=>{I.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{I.isAniVisible=!1,e()},350)}),ae=(e,a)=>{s.value&&x();h("","",e),V("clear",{value:a,startValue:"",endValue:""},e)},d=()=>{var e=z.value,a=U.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||h("","",{type:"check"}))},te=({date:e})=>{var a=I.startValue,t=I.endValue;if(a&&t){e=e.getTime(),a=_xeUtils.default.toStringDate(a).getTime(),t=_xeUtils.default.toStringDate(t).getTime();if(a<=e&&e<=t)return"is--range-selected"}return""},le=()=>{var e=A.autoClose,{startValue:a,endValue:t}=I,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&x():a&&t&&(r.selectStatus=!1)},ue=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=I,l=y(a,t),V("suffix-click",{value:l,startValue:a,endValue:t},e))},re=e=>{var{startValue:a,endValue:t}=I;l.value||h(a,t,e),I.visiblePanel||(I.isActivated=!1),V("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},ie=e=>{u(e)},ne=e=>{u(e)},oe=e=>{var a,t,l=z.value,u=U.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?h("","",e):(l.confirmByEvent(e),u.confirmByEvent(e)),l=y(a,t),V("confirm",{value:l,startValue:a,endValue:t},e)),x()},se=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?I.endValue:"";h(e,l,t),le(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=U.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},de=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?I.startValue:"";h(l,e,t),le(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=U.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},ve=e=>{var{visiblePanel:a,isActivated:t}=I,l=g.value,u=B.value;!b.value&&t&&(I.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,I.isActivated||a&&(d(),x()))},ce=e=>{var a,t=I.visiblePanel;b.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(I.isActivated=!1),t&&(e||a)&&(d(),x()))},pe=e=>{var a=I.visiblePanel;b.value||a&&(a=B.value,((0,_dom.getEventTargetNode)(e,a).flag?v:(d(),x))())},me=()=>{var{visiblePanel:e,isActivated:a}=I;e&&(d(),x()),a&&(I.isActivated=!1),(e||a)&&(e=f.value)&&e.blur()},ge=()=>{var e=I.visiblePanel;e&&v()},fe=()=>{var e=$.value.zIndex||A.zIndex;e?I.panelIndex=_xeUtils.default.toNumber(e):I.panelIndex<(0,_utils.getLastZIndex)()&&(I.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let t=A.placement,l=I.panelIndex,u=f.value,r=M.value,i=q.value,n=$.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(u,r,{placement:n.placement||t,defaultPlacement:n.defaultPlacement,teleportTo:i}),a=Object.assign(e.style,{zIndex:l});I.panelStyle=a,I.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},_e=()=>{var e=I.visiblePanel;return(b.value||e?(0,_vue.nextTick):(I.initialized||(I.initialized=!0),r.hpTimeout&&(clearTimeout(r.hpTimeout),r.hpTimeout=void 0),r.selectStatus=!1,I.isActivated=!0,I.isAniVisible=!0,setTimeout(()=>{I.visiblePanel=!0,v()},10),fe(),v))()},be=e=>{_.value||(e.preventDefault(),_e())},ye=e=>{var a=$.value.trigger;a&&"default"!==a&&"icon"!==a||be(e)},he=e=>{u(e)},xe=({option:e,$event:a})=>{var t=A.type,l=L.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=I.startValue,o=I.endValue,s=y(n,o),d={$dateRangePicker:j,option:e,value:s,startValue:n,endValue:o,code:r};if(!i&&r){e=_ui.commands.get(r),e=e?e.dateRangePickerCommandMethod:null;if(e)e(d);else{var v=m.value,c=S.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,t,{valueFormat:v,firstDay:c}),n=p.startValue,o=p.endValue,s=y(n,o);d.value=s,d.startValue=n,d.endValue=o,h(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-range-picker] "+r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&x(),V("shortcut-click",d,a)},V=(e,a,t)=>{i(e,(0,_ui.createEvent)(t,{$dateRangePicker:j},a))},G=(e={dispatchEvent:V,setModelValue(e,a){I.startValue=e||"",I.endValue=a||"";e=y(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){h(a||"",t||"",e)},focus(){var e=f.value;return I.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return f.value.blur(),(I.isActivated=!1,_vue.nextTick)()},select(){return f.value.select(),(I.isActivated=!1,_vue.nextTick)()},showPanel:_e,hidePanel:x,updatePlacement:v},Object.assign(j,e),(e,a)=>{var t=L.value,{position:l,align:u,mode:r}=t,i=K.value;return(0,_utils.isEnableConf)(t)&&i.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-range-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:i,mode:r,align:u,vertical:a,onClick:xe})]):(0,_ui.renderEmptyElement)(j)}),Ve=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:ye},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>A.modelValue,()=>{t(!0)}),(0,_vue.watch)(a,()=>{t(!1)}),t(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(j,"mousewheel",pe),_ui.globalEvents.on(j,"mousedown",ve),_ui.globalEvents.on(j,"keydown",ce),_ui.globalEvents.on(j,"blur",me),_ui.globalEvents.on(j,"resize",ge)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"blur"),_ui.globalEvents.off(j,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",j),j.renderVN=()=>{var e,a,t,{className:l,type:u,name:r,autoComplete:i}=A,{startValue:n,endValue:o,visiblePanel:s,isActivated:d}=I,v=R.value,c=b.value,p=_.value,m=E.value;return p?(0,_vue.h)("div",{ref:g,class:["vxe-date-range-picker--readonly","type--"+u,l]},m):(p=C.value,e=O.value,t=A.prefixIcon,a=(a=N.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:ee},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})])]):null,t=(()=>{var e=A.suffixIcon,{startValue:a,endValue:t}=I,l=N.suffix,u=b.value,r=O.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(a||t)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:ae},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(j),Ve(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:ue},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(j)])})(),(0,_vue.h)("div",{ref:g,class:["vxe-date-range-picker","type--"+u,l,{["size--"+v]:v,"is--prefix":!!a,"is--suffix":!!t,"is--visible":s,"is--disabled":c,"is--active":d,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(j),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:f,class:"vxe-date-range-picker--inner",value:m,name:r,type:"text",placeholder:p,editable:!1,disabled:c,autocomplete:i,onKeydown:ie,onKeyup:ne,onClick:he,onChange:W,onFocus:X,onBlur:re})]),t||(0,_ui.renderEmptyElement)(j),(()=>{var{type:e,separator:a,autoClose:t,showConfirmButton:l,showClearButton:u}=A,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:d,endValue:v}=I,c=R.value,p=q.value,m=L.value,g=O.value,f=Q.value,_=K.value,b=H.value,y=Y.value,h=Z.value,x=J.value,V=$.value,{startLabel:f,endLabel:k}=f,m=m.position,D=N.header,C=N.footer,P=N.top,S=N.bottom,E=N.left,w=N.right,V=V.className,[y,T]=y,[h,F]=h,_=0<_.length,b=null===l?b||!t:l,t=null===u?g:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:M,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,V?_xeUtils.default.isFunction(V)?V({$dateRangePicker:j}):V:"",{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(P||D||_&&("top"===m||"header"===m)),"show--bottom":!!(S||C||_&&("bottom"===m||"footer"===m)),"show--left":!!(E||_&&"left"===m),"show--right":!!(w||_&&"right"===m)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:B,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[P?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},P({})):G("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[E?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},E({})):G("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},D({})):G("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:z,modelValue:d,type:A.type,className:A.className,minDate:A.minDate,maxDate:A.maxDate,endDate:v,startDay:A.startDay,labelFormat:A.labelFormat,valueFormat:A.valueFormat,timeFormat:A.timeFormat,defaultDate:y,defaultTime:h,timeConfig:x,festivalMethod:A.festivalMethod,disabledMethod:A.disabledMethod,selectDay:A.selectDay,cellClassName:te,onChange:se}),(0,_vue.h)(_datePanel.default,{ref:U,modelValue:v,type:A.type,className:A.className,minDate:A.minDate,maxDate:A.maxDate,startDate:d,startDay:A.startDay,labelFormat:A.labelFormat,valueFormat:A.valueFormat,timeFormat:A.timeFormat,defaultDate:T,defaultTime:F,timeConfig:x,festivalMethod:A.festivalMethod,disabledMethod:A.disabledMethod,selectDay:A.selectDay,cellClassName:te,onChange:de})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},f||k?[(0,_vue.h)("span",f),(0,_vue.h)("span",""+(a||"")),(0,_vue.h)("span",k)]:""+(a||"")),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},C?C({}):[G("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:!(d||v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:ae}):(0,_ui.renderEmptyElement)(j),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:oe}):(0,_ui.renderEmptyElement)(j)])])]),w?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},w({})):G("right",!0)]),S?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},S({})):G("bottom")])]:[])])})()]))},j},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("../../date-panel/src/util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDateRangePicker",props:{modelValue:[String,Number,Date,Array],startValue:[String,Number,Date],endValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.clearable},linkedPanels:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.linkedPanels},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],defaultDate:[String,Number,Date,Array],defaultTime:[String,Number,Date,Array],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,valueType:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.disabledMethod},separator:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.separator},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(N,e){let{slots:M,emit:i}=e,v=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),p=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let R=(0,_ui.useSize)(N).computeSize,A=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),r={},m=(0,_vue.ref)(),f=(0,_vue.ref)(),I=(0,_vue.ref)(),B=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),k={refElem:m,refInput:f},j={xID:a,props:N,context:e,reactData:A,internalData:r,getRefMaps:()=>k};let q=(0,_vue.computed)(()=>{var e=N.transfer,a=$.value;if(_xeUtils.default.isBoolean(a.transfer))return a.transfer;if(null===e){a=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(a))return a;if(p||v||c||n)return!0}return e}),_=(0,_vue.computed)(()=>{var e=N.readonly;return null===e?!!n&&n.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=N.disabled;return null===e?!!n&&n.props.disabled:e}),Z=(0,_vue.computed)(()=>{var e=N.defaultDate;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]}),H=(0,_vue.computed)(()=>{var e=N.defaultTime;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]});a=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=N;return""+(e||"")+(a||"")});let J=(0,_vue.computed)(()=>{var e=N.type;return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(N.type)),O=(0,_vue.computed)(()=>N.clearable),D=(0,_vue.computed)(()=>{var e=N.placeholder;return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.dateRangePicker.pleaseRange")}),P=(0,_vue.computed)(()=>{var e=N.immediate;return e}),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.timeConfig,N.timeConfig)),$=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.popupConfig,N.popupConfig)),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,N.shortcutConfig)),W=(0,_vue.computed)(()=>{var e=L.value.options;return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),C=(0,_vue.computed)(()=>{var e=N.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+N.type)}),g=(0,_vue.computed)(()=>{var{type:e,valueFormat:a}=N;return(0,_util.handleValueFormat)(e,a)}),S=(0,_vue.computed)(()=>{var e=N.startDay;return _xeUtils.default.toNumber(e)}),X=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=A,e=e||a?[e||"",a||""]:[];return w(e)}),E=(0,_vue.computed)(()=>X.value.label),w=e=>{var{type:a,separator:t}=N,l=C.value,u=g.value,r=S.value,i=e[0]?(0,_util.parseDateObj)(e[0],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,a=i?i.label:"",u=e?e.label:"";return{label:(a||u?[a,u]:[]).join(""+(t||" ~ ")),startLabel:a,endLabel:u}},y=(e,a)=>{var{modelValue:t,valueType:l}=N;let u=_xeUtils.default.isArray(t);if(l)switch(l){case"array":u=!0;break;case"string":u=!1}return e||a?(t=[e||"",a||""],u?t:t.join(",")):u?[]:""},T=()=>{var e,{type:a,modelValue:t}=N,l=g.value;let u="",r="";return _xeUtils.default.isArray(t)?(e=(0,_util.parseDateString)(t[0],a,{valueFormat:l}),a=(0,_util.parseDateString)(t[1],a,{valueFormat:l}),(e||a)&&(u=e||"",r=a||"")):_xeUtils.default.isString(t)&&((l=t.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},F=()=>{var{type:e,startValue:a,endValue:t}=N,l=g.value;return{sValue:(0,_util.parseDateString)(a,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(t,e,{valueFormat:l})}},t=e=>{var{modelValue:a,startValue:t,endValue:l}=N;let u={sValue:"",eValue:""};u=(e?a?T:F:t||l?F:T)(),A.startValue=u.sValue,A.endValue=u.eValue},l=e=>{var{startValue:a,endValue:t}=A,l=y(a,t);V(e.type,{value:l,startValue:a,endValue:t},e)},h=(e,a,t)=>{var l=N.modelValue,u=(A.startValue=e,A.endValue=a,y(e,a)),r=e&&a||!e&&!a;i("update:modelValue",u),i("update:startValue",e||""),i("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(V("change",{value:u,startValue:e,endValue:a,isFinish:r},t),n)&&o&&n.triggerItemEvent(t,o.itemConfig.field,u)},ee=e=>{P.value||l(e)},ae=e=>{var a=$.value.trigger;A.isActivated=!0,a&&"default"!==a||he(e),l(e)},te=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=A,l=y(a,t),V("prefix-click",{value:l,startValue:a,endValue:t},e))},x=()=>new Promise(e=>{A.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),le=(e,a)=>{s.value&&x();h("","",e),V("clear",{value:a,startValue:"",endValue:""},e)},d=()=>{var e=z.value,a=U.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||h("","",{type:"check"}))},ue=({date:e})=>{var a=A.startValue,t=A.endValue;if(a&&t){e=e.getTime(),a=_xeUtils.default.toStringDate(a).getTime(),t=_xeUtils.default.toStringDate(t).getTime();if(a<=e&&e<=t)return"is--range-selected"}return""},re=()=>{var e=N.autoClose,{startValue:a,endValue:t}=A,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&x():a&&t&&(r.selectStatus=!1)},ie=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=A,l=y(a,t),V("suffix-click",{value:l,startValue:a,endValue:t},e))},ne=e=>{var{startValue:a,endValue:t}=A;P.value||h(a,t,e),A.visiblePanel||(A.isActivated=!1,d()),V("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},oe=e=>{l(e)},se=e=>{l(e)},de=e=>{var a,t,l=z.value,u=U.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?h("","",e):(l.confirmByEvent(e),u.confirmByEvent(e)),l=y(a,t),V("confirm",{value:l,startValue:a,endValue:t},e)),x()},ve=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.endValue:"";h(e,l,t),re(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=U.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},ce=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.startValue:"";h(l,e,t),re(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=U.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},K=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,e=z.value,t=U.value;if(e&&t){var l=e.getPanelDate();if(l){var u=l.getFullYear(),r=l.getMonth();switch(a){case"day":case"date":case"week":r<11?l.setMonth(r+1):(l.setFullYear(u+1),l.setMonth(0)),t.setPanelDate(l)}}}}},Y=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,t=z.value,e=U.value;if(t&&e){var l=e.getPanelDate();if(l){var u=l.getFullYear(),r=l.getMonth();switch(a){case"day":case"date":case"week":r?l.setMonth(r-1):(l.setFullYear(u-1),l.setMonth(11)),t.setPanelDate(l)}}}}},pe=e=>{var{visiblePanel:a,isActivated:t}=A,l=m.value,u=B.value;!b.value&&t&&(A.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,A.isActivated||a&&(d(),x()))},ge=e=>{var a,t=A.visiblePanel;b.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(A.isActivated=!1),t&&(e||a)&&(d(),x()))},me=e=>{var a=A.visiblePanel;b.value||a&&(a=B.value,((0,_dom.getEventTargetNode)(e,a).flag?u:(d(),x))())},fe=()=>{var{visiblePanel:e,isActivated:a}=A;e&&(d(),x()),a&&(A.isActivated=!1),(e||a)&&(e=f.value)&&e.blur()},_e=()=>{var e=A.visiblePanel;e&&u()},be=()=>{var e=$.value.zIndex||N.zIndex;e?A.panelIndex=_xeUtils.default.toNumber(e):A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)())},u=()=>{let t=N.placement,l=A.panelIndex,u=f.value,r=I.value,i=q.value,n=$.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(u,r,{placement:n.placement||t,defaultPlacement:n.defaultPlacement,teleportTo:i}),a=Object.assign(e.style,{zIndex:l});A.panelStyle=a,A.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ye=()=>{var e=A.visiblePanel;return(b.value||e?(0,_vue.nextTick):(A.initialized||(A.initialized=!0),r.hpTimeout&&(clearTimeout(r.hpTimeout),r.hpTimeout=void 0),r.selectStatus=!1,A.isActivated=!0,A.isAniVisible=!0,setTimeout(()=>{A.visiblePanel=!0,u()},10),be(),u))()},he=e=>{_.value||(e.preventDefault(),ye())},xe=e=>{var a=$.value.trigger;a&&"default"!==a&&"icon"!==a||he(e)},Ve=e=>{l(e)},ke=({option:e,$event:a})=>{var t=N.type,l=L.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=A.startValue,o=A.endValue,s=y(n,o),d={$dateRangePicker:j,option:e,value:s,startValue:n,endValue:o,code:r};if(!i&&r){e=_ui.commands.get(r),e=e?e.dateRangePickerCommandMethod:null;if(e)e(d);else{var v=g.value,c=S.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,t,{valueFormat:v,firstDay:c}),n=p.startValue,o=p.endValue,s=y(n,o);d.value=s,d.startValue=n,d.endValue=o,h(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-range-picker] "+r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&x(),V("shortcut-click",d,a)},V=(e,a,t)=>{i(e,(0,_ui.createEvent)(t,{$dateRangePicker:j},a))},G=(e={dispatchEvent:V,setModelValue(e,a){A.startValue=e||"",A.endValue=a||"";e=y(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){h(a||"",t||"",e)},focus(){var e=f.value;return A.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return f.value.blur(),(A.isActivated=!1,_vue.nextTick)()},select(){return f.value.select(),(A.isActivated=!1,_vue.nextTick)()},showPanel:ye,hidePanel:x,updatePlacement:u},Object.assign(j,e),(e,a)=>{var t=L.value,{position:l,align:u,mode:r}=t,i=W.value;return(0,_utils.isEnableConf)(t)&&i.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-range-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:i,mode:r,align:u,vertical:a,onClick:ke})]):(0,_ui.renderEmptyElement)(j)}),De=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:xe},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>N.modelValue,()=>{t(!0)}),(0,_vue.watch)(a,()=>{t(!1)}),t(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(j,"mousewheel",me),_ui.globalEvents.on(j,"mousedown",pe),_ui.globalEvents.on(j,"keydown",ge),_ui.globalEvents.on(j,"blur",fe),_ui.globalEvents.on(j,"resize",_e)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"blur"),_ui.globalEvents.off(j,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",j),j.renderVN=()=>{var e,a,t,{className:l,type:u,name:r,autoComplete:i}=N,{startValue:n,endValue:o,visiblePanel:s,isActivated:d}=A,v=R.value,c=b.value,p=_.value,g=E.value;return p?(0,_vue.h)("div",{ref:m,class:["vxe-date-range-picker--readonly","type--"+u,l]},g):(p=D.value,e=O.value,t=N.prefixIcon,a=(a=M.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:te},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})])]):null,t=(()=>{var e=N.suffixIcon,{startValue:a,endValue:t}=A,l=M.suffix,u=b.value,r=O.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(a||t)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:le},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(j),De(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:ie},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(j)])})(),(0,_vue.h)("div",{ref:m,class:["vxe-date-range-picker","type--"+u,l,{["size--"+v]:v,"is--prefix":!!a,"is--suffix":!!t,"is--visible":s,"is--disabled":c,"is--active":d,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(j),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:f,class:"vxe-date-range-picker--inner",value:g,name:r,type:"text",placeholder:p,editable:!1,disabled:c,autocomplete:i,onKeydown:oe,onKeyup:se,onClick:Ve,onChange:ee,onFocus:ae,onBlur:ne})]),t||(0,_ui.renderEmptyElement)(j),(()=>{var{type:e,separator:a,autoClose:t,showConfirmButton:l,showClearButton:u}=N,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:d,endValue:v}=A,c=R.value,p=q.value,g=L.value,m=O.value,f=X.value,_=W.value,b=J.value,y=Z.value,h=H.value,x=Q.value,V=$.value,{startLabel:f,endLabel:k}=f,g=g.position,D=M.header,P=M.footer,C=M.top,S=M.bottom,E=M.left,w=M.right,V=V.className,[y,T]=y,[h,F]=h,_=0<_.length,b=null===l?b||!t:l,t=null===u?m:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:I,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,V?_xeUtils.default.isFunction(V)?V({$dateRangePicker:j}):V:"",{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(C||D||_&&("top"===g||"header"===g)),"show--bottom":!!(S||P||_&&("bottom"===g||"footer"===g)),"show--left":!!(E||_&&"left"===g),"show--right":!!(w||_&&"right"===g)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:B,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[C?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},C({})):G("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[E?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},E({})):G("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},D({})):G("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:z,modelValue:d,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,endDate:v,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:y,defaultTime:h,timeConfig:x,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:ue,onChange:ve,onDatePrev:K,onDateToday:K,onDateNext:K}),(0,_vue.h)(_datePanel.default,{ref:U,modelValue:v,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,startDate:d,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:T,defaultTime:F,timeConfig:x,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:ue,onChange:ce,onDatePrev:Y,onDateToday:Y,onDateNext:Y})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},f||k?[(0,_vue.h)("span",f),(0,_vue.h)("span",""+(a||"")),(0,_vue.h)("span",k)]:""+(a||"")),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},P?P({}):[G("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:!(d||v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:le}):(0,_ui.renderEmptyElement)(j),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:de}):(0,_ui.renderEmptyElement)(j)])])]),w?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},w({})):G("right",!0)]),S?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},S({})):G("bottom")])]:[])])})()]))},j},render(){return this.renderVN()}});
package/lib/index.umd.js CHANGED
@@ -4646,7 +4646,7 @@ function checkDynamic() {
4646
4646
  }
4647
4647
  ;// ./packages/ui/src/log.ts
4648
4648
 
4649
- const log_version = `ui v${"4.14.28"}`;
4649
+ const log_version = `ui v${"4.14.30"}`;
4650
4650
  const warnLog = log.create('warn', log_version);
4651
4651
  const errLog = log.create('error', log_version);
4652
4652
  ;// ./packages/ui/index.ts
@@ -4654,7 +4654,7 @@ const errLog = log.create('error', log_version);
4654
4654
 
4655
4655
 
4656
4656
 
4657
- const ui_version = "4.14.28";
4657
+ const ui_version = "4.14.30";
4658
4658
  VxeUI.uiVersion = ui_version;
4659
4659
  VxeUI.dynamicApp = dynamicApp;
4660
4660
  function config(options) {
@@ -21168,7 +21168,9 @@ const Countdown = VxeCountdown;
21168
21168
  hidePanel();
21169
21169
  }
21170
21170
  dispatchEvent('date-today', {
21171
- type: props.type
21171
+ viewType: reactData.datePanelType,
21172
+ type: props.type,
21173
+ viewDate: reactData.selectMonth
21172
21174
  }, evnt);
21173
21175
  };
21174
21176
  const dateNextEvent = evnt => {
@@ -21208,7 +21210,8 @@ const Countdown = VxeCountdown;
21208
21210
  dispatchEvent('date-next', {
21209
21211
  viewType: datePanelType,
21210
21212
  value,
21211
- type
21213
+ type,
21214
+ viewDate
21212
21215
  }, evnt);
21213
21216
  }
21214
21217
  };
@@ -21528,7 +21531,10 @@ const Countdown = VxeCountdown;
21528
21531
  }
21529
21532
  },
21530
21533
  getPanelDate() {
21531
- return reactData.selectMonth;
21534
+ const {
21535
+ selectMonth
21536
+ } = reactData;
21537
+ return selectMonth ? new Date(selectMonth.getTime()) : new Date();
21532
21538
  },
21533
21539
  checkValue(value) {
21534
21540
  afterCheckValue(value);
@@ -23203,6 +23209,10 @@ const DatePicker = VxeDatePicker;
23203
23209
  type: Boolean,
23204
23210
  default: () => getConfig().dateRangePicker.clearable
23205
23211
  },
23212
+ linkedPanels: {
23213
+ type: Boolean,
23214
+ default: () => getConfig().dateRangePicker.linkedPanels
23215
+ },
23206
23216
  readonly: {
23207
23217
  type: Boolean,
23208
23218
  default: null
@@ -23799,6 +23809,7 @@ const DatePicker = VxeDatePicker;
23799
23809
  }
23800
23810
  if (!reactData.visiblePanel) {
23801
23811
  reactData.isActivated = false;
23812
+ checkValue();
23802
23813
  }
23803
23814
  dispatchEvent('blur', {
23804
23815
  value,
@@ -23887,6 +23898,78 @@ const DatePicker = VxeDatePicker;
23887
23898
  }
23888
23899
  });
23889
23900
  };
23901
+ const startPanelDateBtnChangeEvent = params => {
23902
+ const {
23903
+ linkedPanels
23904
+ } = props;
23905
+ if (linkedPanels) {
23906
+ const {
23907
+ viewType
23908
+ } = params;
23909
+ const $startDatePanel = refStartDatePanel.value;
23910
+ const $endDatePanel = refEndDatePanel.value;
23911
+ if (!$startDatePanel || !$endDatePanel) {
23912
+ return;
23913
+ }
23914
+ const startPanelDate = $startDatePanel.getPanelDate();
23915
+ if (!startPanelDate) {
23916
+ return;
23917
+ }
23918
+ const endYear = startPanelDate.getFullYear();
23919
+ const endMonth = startPanelDate.getMonth();
23920
+ switch (viewType) {
23921
+ case 'day':
23922
+ case 'date':
23923
+ case 'week':
23924
+ {
23925
+ if (endMonth < 11) {
23926
+ startPanelDate.setMonth(endMonth + 1);
23927
+ } else {
23928
+ startPanelDate.setFullYear(endYear + 1);
23929
+ startPanelDate.setMonth(0);
23930
+ }
23931
+ $endDatePanel.setPanelDate(startPanelDate);
23932
+ break;
23933
+ }
23934
+ }
23935
+ }
23936
+ };
23937
+ const endPanelDateBtnChangeEvent = params => {
23938
+ const {
23939
+ linkedPanels
23940
+ } = props;
23941
+ if (linkedPanels) {
23942
+ const {
23943
+ viewType
23944
+ } = params;
23945
+ const $startDatePanel = refStartDatePanel.value;
23946
+ const $endDatePanel = refEndDatePanel.value;
23947
+ if (!$startDatePanel || !$endDatePanel) {
23948
+ return;
23949
+ }
23950
+ const endPanelDate = $endDatePanel.getPanelDate();
23951
+ if (!endPanelDate) {
23952
+ return;
23953
+ }
23954
+ const endYear = endPanelDate.getFullYear();
23955
+ const endMonth = endPanelDate.getMonth();
23956
+ switch (viewType) {
23957
+ case 'day':
23958
+ case 'date':
23959
+ case 'week':
23960
+ {
23961
+ if (endMonth) {
23962
+ endPanelDate.setMonth(endMonth - 1);
23963
+ } else {
23964
+ endPanelDate.setFullYear(endYear - 1);
23965
+ endPanelDate.setMonth(11);
23966
+ }
23967
+ $startDatePanel.setPanelDate(endPanelDate);
23968
+ break;
23969
+ }
23970
+ }
23971
+ }
23972
+ };
23890
23973
  // 全局事件
23891
23974
  const handleGlobalMousedownEvent = evnt => {
23892
23975
  const {
@@ -24283,7 +24366,10 @@ const DatePicker = VxeDatePicker;
24283
24366
  disabledMethod: props.disabledMethod,
24284
24367
  selectDay: props.selectDay,
24285
24368
  cellClassName: panelCellClassName,
24286
- onChange: startPanelChangeEvent
24369
+ onChange: startPanelChangeEvent,
24370
+ onDatePrev: startPanelDateBtnChangeEvent,
24371
+ onDateToday: startPanelDateBtnChangeEvent,
24372
+ onDateNext: startPanelDateBtnChangeEvent
24287
24373
  }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(date_panel, {
24288
24374
  ref: refEndDatePanel,
24289
24375
  modelValue: endValue,
@@ -24303,7 +24389,10 @@ const DatePicker = VxeDatePicker;
24303
24389
  disabledMethod: props.disabledMethod,
24304
24390
  selectDay: props.selectDay,
24305
24391
  cellClassName: panelCellClassName,
24306
- onChange: endPanelChangeEvent
24392
+ onChange: endPanelChangeEvent,
24393
+ onDatePrev: endPanelDateBtnChangeEvent,
24394
+ onDateToday: endPanelDateBtnChangeEvent,
24395
+ onDateNext: endPanelDateBtnChangeEvent
24307
24396
  })]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
24308
24397
  class: 'vxe-date-range-picker--layout-footer-wrapper'
24309
24398
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {