vxe-pc-ui 4.14.27 → 4.14.28

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 (63) hide show
  1. package/dist/all.esm.js +96 -21
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/date-panel/src/date-panel.js +11 -10
  5. package/es/date-panel/style.css +4 -0
  6. package/es/date-panel/style.min.css +1 -1
  7. package/es/date-range-picker/src/date-range-picker.js +15 -0
  8. package/es/select/src/select.js +4 -1
  9. package/es/style.css +1 -1
  10. package/es/style.min.css +1 -1
  11. package/es/table-select/src/table-select.js +4 -1
  12. package/es/tree-select/src/tree-select.js +4 -1
  13. package/es/ui/index.js +1 -1
  14. package/es/ui/src/log.js +1 -1
  15. package/es/upload/src/upload.js +56 -6
  16. package/es/vxe-date-panel/style.css +4 -0
  17. package/es/vxe-date-panel/style.min.css +1 -1
  18. package/lib/date-panel/src/date-panel.js +46 -10
  19. package/lib/date-panel/src/date-panel.min.js +1 -1
  20. package/lib/date-panel/style/style.css +4 -0
  21. package/lib/date-panel/style/style.min.css +1 -1
  22. package/lib/date-range-picker/src/date-range-picker.js +17 -0
  23. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  24. package/lib/index.umd.js +149 -25
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/select/src/select.js +4 -1
  27. package/lib/select/src/select.min.js +1 -1
  28. package/lib/style.css +1 -1
  29. package/lib/style.min.css +1 -1
  30. package/lib/table-select/src/table-select.js +4 -1
  31. package/lib/table-select/src/table-select.min.js +1 -1
  32. package/lib/tree-select/src/tree-select.js +4 -1
  33. package/lib/tree-select/src/tree-select.min.js +1 -1
  34. package/lib/ui/index.js +1 -1
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/log.js +1 -1
  37. package/lib/ui/src/log.min.js +1 -1
  38. package/lib/upload/src/upload.js +72 -10
  39. package/lib/upload/src/upload.min.js +1 -1
  40. package/lib/vxe-date-panel/style/style.css +4 -0
  41. package/lib/vxe-date-panel/style/style.min.css +1 -1
  42. package/package.json +1 -1
  43. package/packages/date-panel/src/date-panel.ts +11 -10
  44. package/packages/date-range-picker/src/date-range-picker.ts +17 -1
  45. package/packages/select/src/select.ts +4 -1
  46. package/packages/table-select/src/table-select.ts +4 -1
  47. package/packages/tree-select/src/tree-select.ts +4 -1
  48. package/packages/upload/src/upload.ts +66 -6
  49. package/styles/components/date-panel.scss +4 -0
  50. package/types/components/date-panel.d.ts +7 -0
  51. package/types/components/upload.d.ts +37 -2
  52. /package/es/icon/{iconfont.1780477619002.ttf → iconfont.1780570418794.ttf} +0 -0
  53. /package/es/icon/{iconfont.1780477619002.woff → iconfont.1780570418794.woff} +0 -0
  54. /package/es/icon/{iconfont.1780477619002.woff2 → iconfont.1780570418794.woff2} +0 -0
  55. /package/es/{iconfont.1780477619002.ttf → iconfont.1780570418794.ttf} +0 -0
  56. /package/es/{iconfont.1780477619002.woff → iconfont.1780570418794.woff} +0 -0
  57. /package/es/{iconfont.1780477619002.woff2 → iconfont.1780570418794.woff2} +0 -0
  58. /package/lib/icon/style/{iconfont.1780477619002.ttf → iconfont.1780570418794.ttf} +0 -0
  59. /package/lib/icon/style/{iconfont.1780477619002.woff → iconfont.1780570418794.woff} +0 -0
  60. /package/lib/icon/style/{iconfont.1780477619002.woff2 → iconfont.1780570418794.woff2} +0 -0
  61. /package/lib/{iconfont.1780477619002.ttf → iconfont.1780570418794.ttf} +0 -0
  62. /package/lib/{iconfont.1780477619002.woff → iconfont.1780570418794.woff} +0 -0
  63. /package/lib/{iconfont.1780477619002.woff2 → iconfont.1780570418794.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:R,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 I=(0,_ui.useSize)(A).computeSize,N=(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)(),j=(0,_vue.ref)(),D={refElem:g,refInput:f},q={xID:a,props:A,context:e,reactData:N,internalData:r,getRefMaps:()=>D};let U=(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)}),E=(0,_vue.computed)(()=>{var e=A.startDay;return _xeUtils.default.toNumber(e)}),Q=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=N,e=e||a?[e||"",a||""]:[];return w(e)}),S=(0,_vue.computed)(()=>Q.value.label),w=e=>{var{type:a,separator:t}=A,l=P.value,u=m.value,r=E.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?[]:""},F=()=>{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}},T=()=>{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?F:T:t||l?T:F)(),N.startValue=u.sValue,N.endValue=u.eValue},u=e=>{var{startValue:a,endValue:t}=N,l=y(a,t);V(e.type,{value:l,startValue:a,endValue:t},e)},h=(e,a,t)=>{var l=A.modelValue,u=(N.startValue=e,N.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;N.isActivated=!0,a&&"default"!==a||_e(e),u(e)},ee=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=N,l=y(a,t),V("prefix-click",{value:l,startValue:a,endValue:t},e))},x=()=>new Promise(e=>{N.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{N.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=j.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||h("","",{type:"check"}))},te=()=>{var e=A.autoClose,{startValue:a,endValue:t}=N,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&x():a&&t&&(r.selectStatus=!1)},le=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=N,l=y(a,t),V("suffix-click",{value:l,startValue:a,endValue:t},e))},ue=e=>{var{startValue:a,endValue:t}=N;l.value||h(a,t,e),N.visiblePanel||(N.isActivated=!1),V("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},re=e=>{u(e)},ie=e=>{u(e)},ne=e=>{var a,t,l=z.value,u=j.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()},oe=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?N.endValue:"";h(e,l,t),te(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=j.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},se=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?N.startValue:"";h(l,e,t),te(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=j.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},de=e=>{var{visiblePanel:a,isActivated:t}=N,l=g.value,u=B.value;!b.value&&t&&(N.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,N.isActivated||a&&(d(),x()))},ve=e=>{var a,t=N.visiblePanel;b.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(N.isActivated=!1),t&&(e||a)&&(d(),x()))},ce=e=>{var a=N.visiblePanel;b.value||a&&(a=B.value,((0,_dom.getEventTargetNode)(e,a).flag?v:(d(),x))())},pe=()=>{var{visiblePanel:e,isActivated:a}=N;e&&(d(),x()),a&&(N.isActivated=!1),(e||a)&&(e=f.value)&&e.blur()},me=()=>{var e=N.visiblePanel;e&&v()},ge=()=>{var e=$.value.zIndex||A.zIndex;e?N.panelIndex=_xeUtils.default.toNumber(e):N.panelIndex<(0,_utils.getLastZIndex)()&&(N.panelIndex=(0,_utils.nextZIndex)())},v=()=>{let t=A.placement,l=N.panelIndex,u=f.value,r=M.value,i=U.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});N.panelStyle=a,N.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},fe=()=>{var e=N.visiblePanel;return(b.value||e?(0,_vue.nextTick):(N.initialized||(N.initialized=!0),r.hpTimeout&&(clearTimeout(r.hpTimeout),r.hpTimeout=void 0),r.selectStatus=!1,N.isActivated=!0,N.isAniVisible=!0,setTimeout(()=>{N.visiblePanel=!0,v()},10),ge(),v))()},_e=e=>{_.value||(e.preventDefault(),fe())},be=e=>{var a=$.value.trigger;a&&"default"!==a&&"icon"!==a||_e(e)},ye=e=>{u(e)},he=({option:e,$event:a})=>{var t=A.type,l=L.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=N.startValue,o=N.endValue,s=y(n,o),d={$dateRangePicker:q,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=E.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:q},a))},G=(e={dispatchEvent:V,setModelValue(e,a){N.startValue=e||"",N.endValue=a||"";e=y(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){h(a||"",t||"",e)},focus(){var e=f.value;return N.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return f.value.blur(),(N.isActivated=!1,_vue.nextTick)()},select(){return f.value.select(),(N.isActivated=!1,_vue.nextTick)()},showPanel:fe,hidePanel:x,updatePlacement:v},Object.assign(q,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:he})]):(0,_ui.renderEmptyElement)(q)}),xe=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:be},[(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(q,"mousewheel",ce),_ui.globalEvents.on(q,"mousedown",de),_ui.globalEvents.on(q,"keydown",ve),_ui.globalEvents.on(q,"blur",pe),_ui.globalEvents.on(q,"resize",me)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(q,"mousewheel"),_ui.globalEvents.off(q,"mousedown"),_ui.globalEvents.off(q,"blur"),_ui.globalEvents.off(q,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",q),q.renderVN=()=>{var e,a,t,{className:l,type:u,name:r,autoComplete:i}=A,{startValue:n,endValue:o,visiblePanel:s,isActivated:d}=N,v=I.value,c=b.value,p=_.value,m=S.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=R.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}=N,l=R.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)(q),xe(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:le},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(q)])})(),(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)(q),(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:re,onKeyup:ie,onClick:ye,onChange:W,onFocus:X,onBlur:ue})]),t||(0,_ui.renderEmptyElement)(q),(()=>{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}=N,c=I.value,p=U.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=R.header,C=R.footer,P=R.top,E=R.bottom,S=R.left,w=R.right,V=V.className,[y,F]=y,[h,T]=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:q}):V:"",{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(P||D||_&&("top"===m||"header"===m)),"show--bottom":!!(E||C||_&&("bottom"===m||"footer"===m)),"show--left":!!(S||_&&"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"},[S?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},S({})):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,onChange:oe}),(0,_vue.h)(_datePanel.default,{ref:j,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:F,defaultTime:T,timeConfig:x,festivalMethod:A.festivalMethod,disabledMethod:A.disabledMethod,selectDay:A.selectDay,onChange:se})]),(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)(q),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:ne}):(0,_ui.renderEmptyElement)(q)])])]),w?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},w({})):G("right",!0)]),E?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},E({})):G("bottom")])]:[])])})()]))},q},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},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()}});
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.27"}`;
4649
+ const log_version = `ui v${"4.14.28"}`;
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.27";
4657
+ const ui_version = "4.14.28";
4658
4658
  VxeUI.uiVersion = ui_version;
4659
4659
  VxeUI.dynamicApp = dynamicApp;
4660
4660
  function config(options) {
@@ -20206,6 +20206,7 @@ const Countdown = VxeCountdown;
20206
20206
  default: 'date'
20207
20207
  },
20208
20208
  className: String,
20209
+ cellClassName: [String, Function],
20209
20210
  size: {
20210
20211
  type: String,
20211
20212
  default: () => getConfig().datePanel.size || getConfig().size
@@ -21586,7 +21587,9 @@ const Countdown = VxeCountdown;
21586
21587
  };
21587
21588
  const renderDateDayTable = () => {
21588
21589
  const {
21589
- multiple
21590
+ type,
21591
+ multiple,
21592
+ cellClassName
21590
21593
  } = props;
21591
21594
  const {
21592
21595
  datePanelType,
@@ -21626,7 +21629,12 @@ const Countdown = VxeCountdown;
21626
21629
  }, rows.map(item => {
21627
21630
  const isSelected = multiple ? dateListValue.some(val => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(val, item.date, matchFormat)) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(dateValue, item.date, matchFormat);
21628
21631
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
21629
- class: ['vxe-date-panel--view-item', {
21632
+ class: ['vxe-date-panel--view-item', cellClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(cellClassName) ? `${cellClassName({
21633
+ $datePanel: $xeDatePanel,
21634
+ type,
21635
+ viewType: datePanelType,
21636
+ date: item.date
21637
+ }) || ''}` : `${cellClassName || ''}` : '', {
21630
21638
  'is--prev': item.isPrev,
21631
21639
  'is--current': item.isCurrent,
21632
21640
  'is--now': item.isNow,
@@ -21651,7 +21659,9 @@ const Countdown = VxeCountdown;
21651
21659
  };
21652
21660
  const renderDateWeekTable = () => {
21653
21661
  const {
21654
- multiple
21662
+ type,
21663
+ multiple,
21664
+ cellClassName
21655
21665
  } = props;
21656
21666
  const {
21657
21667
  datePanelType,
@@ -21693,7 +21703,12 @@ const Countdown = VxeCountdown;
21693
21703
  }
21694
21704
  }, rows.map((item, rIndex) => {
21695
21705
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
21696
- class: ['vxe-date-panel--view-item', {
21706
+ class: ['vxe-date-panel--view-item', cellClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(cellClassName) ? `${cellClassName({
21707
+ $datePanel: $xeDatePanel,
21708
+ type,
21709
+ viewType: datePanelType,
21710
+ date: item.date
21711
+ }) || ''}` : `${cellClassName || ''}` : '', {
21697
21712
  'is--prev': item.isPrev,
21698
21713
  'is--current': item.isCurrent,
21699
21714
  'is--now': rIndex ? item.isNow : isNowWeek,
@@ -21718,7 +21733,9 @@ const Countdown = VxeCountdown;
21718
21733
  };
21719
21734
  const renderDateMonthTable = () => {
21720
21735
  const {
21721
- multiple
21736
+ type,
21737
+ multiple,
21738
+ cellClassName
21722
21739
  } = props;
21723
21740
  const {
21724
21741
  datePanelType,
@@ -21742,7 +21759,12 @@ const Countdown = VxeCountdown;
21742
21759
  }, rows.map(item => {
21743
21760
  const isSelected = multiple ? dateListValue.some(val => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(val, item.date, matchFormat)) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(dateValue, item.date, matchFormat);
21744
21761
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
21745
- class: ['vxe-date-panel--view-item', {
21762
+ class: ['vxe-date-panel--view-item', cellClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(cellClassName) ? `${cellClassName({
21763
+ $datePanel: $xeDatePanel,
21764
+ type,
21765
+ viewType: datePanelType,
21766
+ date: item.date
21767
+ }) || ''}` : `${cellClassName || ''}` : '', {
21746
21768
  'is--prev': item.isPrev,
21747
21769
  'is--current': item.isCurrent,
21748
21770
  'is--now': item.isNow,
@@ -21767,7 +21789,9 @@ const Countdown = VxeCountdown;
21767
21789
  };
21768
21790
  const renderDateQuarterTable = () => {
21769
21791
  const {
21770
- multiple
21792
+ type,
21793
+ multiple,
21794
+ cellClassName
21771
21795
  } = props;
21772
21796
  const {
21773
21797
  datePanelType,
@@ -21791,7 +21815,12 @@ const Countdown = VxeCountdown;
21791
21815
  }, rows.map(item => {
21792
21816
  const isSelected = multiple ? dateListValue.some(val => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(val, item.date, matchFormat)) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(dateValue, item.date, matchFormat);
21793
21817
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
21794
- class: ['vxe-date-panel--view-item', {
21818
+ class: ['vxe-date-panel--view-item', cellClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(cellClassName) ? `${cellClassName({
21819
+ $datePanel: $xeDatePanel,
21820
+ type,
21821
+ viewType: datePanelType,
21822
+ date: item.date
21823
+ }) || ''}` : `${cellClassName || ''}` : '', {
21795
21824
  'is--prev': item.isPrev,
21796
21825
  'is--current': item.isCurrent,
21797
21826
  'is--now': item.isNow,
@@ -21816,7 +21845,9 @@ const Countdown = VxeCountdown;
21816
21845
  };
21817
21846
  const renderDateYearTable = () => {
21818
21847
  const {
21819
- multiple
21848
+ type,
21849
+ multiple,
21850
+ cellClassName
21820
21851
  } = props;
21821
21852
  const {
21822
21853
  datePanelType,
@@ -21840,7 +21871,12 @@ const Countdown = VxeCountdown;
21840
21871
  }, rows.map(item => {
21841
21872
  const isSelected = multiple ? dateListValue.some(val => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(val, item.date, matchFormat)) : external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isDateSame(dateValue, item.date, matchFormat);
21842
21873
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
21843
- class: ['vxe-date-panel--view-item', {
21874
+ class: ['vxe-date-panel--view-item', cellClassName ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(cellClassName) ? `${cellClassName({
21875
+ $datePanel: $xeDatePanel,
21876
+ type,
21877
+ viewType: datePanelType,
21878
+ date: item.date
21879
+ }) || ''}` : `${cellClassName || ''}` : '', {
21844
21880
  'is--prev': item.isPrev,
21845
21881
  'is--current': item.isCurrent,
21846
21882
  'is--now': item.isNow,
@@ -23697,6 +23733,21 @@ const DatePicker = VxeDatePicker;
23697
23733
  }
23698
23734
  }
23699
23735
  };
23736
+ const panelCellClassName = ({
23737
+ date
23738
+ }) => {
23739
+ const startValue = reactData.startValue;
23740
+ const endValue = reactData.endValue;
23741
+ if (startValue && endValue) {
23742
+ const currTime = date.getTime();
23743
+ const startTime = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(startValue).getTime();
23744
+ const endTime = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringDate(endValue).getTime();
23745
+ if (currTime >= startTime && currTime <= endTime) {
23746
+ return 'is--range-selected';
23747
+ }
23748
+ }
23749
+ return '';
23750
+ };
23700
23751
  const handleSelectClose = () => {
23701
23752
  const {
23702
23753
  autoClose
@@ -24231,6 +24282,7 @@ const DatePicker = VxeDatePicker;
24231
24282
  festivalMethod: props.festivalMethod,
24232
24283
  disabledMethod: props.disabledMethod,
24233
24284
  selectDay: props.selectDay,
24285
+ cellClassName: panelCellClassName,
24234
24286
  onChange: startPanelChangeEvent
24235
24287
  }), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(date_panel, {
24236
24288
  ref: refEndDatePanel,
@@ -24250,6 +24302,7 @@ const DatePicker = VxeDatePicker;
24250
24302
  festivalMethod: props.festivalMethod,
24251
24303
  disabledMethod: props.disabledMethod,
24252
24304
  selectDay: props.selectDay,
24305
+ cellClassName: panelCellClassName,
24253
24306
  onChange: endPanelChangeEvent
24254
24307
  })]), (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
24255
24308
  class: 'vxe-date-range-picker--layout-footer-wrapper'
@@ -33772,7 +33825,10 @@ function select_createInternalData() {
33772
33825
  props: {
33773
33826
  modelValue: [String, Number, Boolean, Array],
33774
33827
  defaultConfig: Object,
33775
- clearable: Boolean,
33828
+ clearable: {
33829
+ type: Boolean,
33830
+ default: () => getConfig().select.clearable
33831
+ },
33776
33832
  placeholder: String,
33777
33833
  readonly: {
33778
33834
  type: Boolean,
@@ -41222,7 +41278,10 @@ function table_select_createInternalData() {
41222
41278
  name: 'VxeTableSelect',
41223
41279
  props: {
41224
41280
  modelValue: [String, Number, Array],
41225
- clearable: Boolean,
41281
+ clearable: {
41282
+ type: Boolean,
41283
+ default: getConfig().tableSelect.clearable
41284
+ },
41226
41285
  placeholder: {
41227
41286
  type: String,
41228
41287
  default: () => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(getConfig().tableSelect.placeholder) ? getI18n('vxe.base.pleaseSelect') : getConfig().tableSelect.placeholder
@@ -47471,7 +47530,10 @@ function tree_select_createInternalData() {
47471
47530
  name: 'VxeTreeSelect',
47472
47531
  props: {
47473
47532
  modelValue: [String, Number, Array],
47474
- clearable: Boolean,
47533
+ clearable: {
47534
+ type: Boolean,
47535
+ default: getConfig().treeSelect.clearable
47536
+ },
47475
47537
  placeholder: {
47476
47538
  type: String,
47477
47539
  default: () => external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(getConfig().treeSelect.placeholder) ? getI18n('vxe.base.pleaseSelect') : getConfig().treeSelect.placeholder
@@ -49011,7 +49073,9 @@ function upload_createInternalData() {
49011
49073
  showMoreButton: true
49012
49074
  }, props.moreConfig);
49013
49075
  });
49014
- const computeMaps = {};
49076
+ const computeMaps = {
49077
+ computeUrlProp
49078
+ };
49015
49079
  const $xeUpload = {
49016
49080
  xID,
49017
49081
  props,
@@ -49471,16 +49535,20 @@ function upload_createInternalData() {
49471
49535
  handleChange(fileList);
49472
49536
  // 自动更新校验状态
49473
49537
  if ($xeForm && formItemInfo) {
49474
- $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, fileList);
49538
+ $xeForm.triggerItemEvent(evnt || {
49539
+ type: 'remove'
49540
+ }, formItemInfo.itemConfig.field, fileList);
49541
+ }
49542
+ if (evnt) {
49543
+ dispatchEvent('remove', {
49544
+ option: item
49545
+ }, evnt);
49475
49546
  }
49476
- dispatchEvent('remove', {
49477
- option: item
49478
- }, evnt);
49479
49547
  };
49480
49548
  const removeFileEvent = (evnt, item, index) => {
49481
49549
  const beforeRemoveFn = props.beforeRemoveMethod || getConfig().upload.beforeRemoveMethod;
49482
49550
  const removeFn = props.removeMethod || getConfig().upload.removeMethod;
49483
- Promise.resolve(beforeRemoveFn ? beforeRemoveFn({
49551
+ return Promise.resolve(beforeRemoveFn ? beforeRemoveFn({
49484
49552
  $upload: $xeUpload,
49485
49553
  option: item
49486
49554
  }) : true).then(status => {
@@ -49496,10 +49564,13 @@ function upload_createInternalData() {
49496
49564
  handleRemoveEvent(evnt, item, index);
49497
49565
  }
49498
49566
  } else {
49499
- dispatchEvent('remove-fail', {
49500
- option: item
49501
- }, evnt);
49567
+ if (evnt) {
49568
+ dispatchEvent('remove-fail', {
49569
+ option: item
49570
+ }, evnt);
49571
+ }
49502
49572
  }
49573
+ return status;
49503
49574
  });
49504
49575
  };
49505
49576
  const handleDownloadEvent = (evnt, item) => {
@@ -49894,11 +49965,56 @@ function upload_createInternalData() {
49894
49965
  const handleGlobalBlurEvent = () => {
49895
49966
  reactData.isActivated = false;
49896
49967
  };
49968
+ const handleClearFile = evnt => {
49969
+ const {
49970
+ fileList
49971
+ } = reactData;
49972
+ const urlProp = computeUrlProp.value;
49973
+ const rest = [];
49974
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastEach(fileList, (item, index) => {
49975
+ rest.push(removeFileEvent(evnt, item, index).then(status => {
49976
+ return {
49977
+ url: item[urlProp],
49978
+ status
49979
+ };
49980
+ }));
49981
+ });
49982
+ return Promise.all(rest);
49983
+ };
49984
+ const handleRemoveFile = (evnt, urlOrItem) => {
49985
+ const {
49986
+ fileList
49987
+ } = reactData;
49988
+ const urlProp = computeUrlProp.value;
49989
+ const urls = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(urlOrItem) ? urlOrItem : [urlOrItem];
49990
+ const rest = [];
49991
+ urls.forEach(obj => {
49992
+ if (obj) {
49993
+ const url = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(obj) ? obj : obj[urlProp];
49994
+ const index = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(fileList, fileItem => fileItem[urlProp] === url);
49995
+ if (index > -1) {
49996
+ rest.push(removeFileEvent(evnt, fileList[index], index).then(status => {
49997
+ return {
49998
+ url,
49999
+ status
50000
+ };
50001
+ }));
50002
+ }
50003
+ }
50004
+ });
50005
+ return Promise.all(rest);
50006
+ };
49897
50007
  const uploadMethods = {
49898
50008
  dispatchEvent,
49899
50009
  choose() {
49900
50010
  return handleChoose(null);
49901
50011
  },
50012
+ clear() {
50013
+ return handleClearFile(null);
50014
+ },
50015
+ clearByEvent(evnt) {
50016
+ return handleClearFile(evnt);
50017
+ },
49902
50018
  getPendingFiles() {
49903
50019
  const {
49904
50020
  fileList,
@@ -49973,9 +50089,17 @@ function upload_createInternalData() {
49973
50089
  VxeUI.modal.close(internalData.moreId);
49974
50090
  }
49975
50091
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)();
50092
+ },
50093
+ remove(urlOrItem) {
50094
+ return handleRemoveFile(null, urlOrItem);
50095
+ },
50096
+ removeByEvent(evnt, urlOrItem) {
50097
+ return handleRemoveFile(evnt, urlOrItem);
49976
50098
  }
49977
50099
  };
49978
- const uploadPrivateMethods = {};
50100
+ const uploadPrivateMethods = {
50101
+ removeFileEvent
50102
+ };
49979
50103
  Object.assign($xeUpload, uploadMethods, uploadPrivateMethods);
49980
50104
  const renderFileItemList = (currList, isMoreView) => {
49981
50105
  const {