vxe-pc-ui 4.15.2 → 4.15.3

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 (127) hide show
  1. package/dist/all.esm.js +774 -211
  2. package/es/backtop/src/backtop.js +2 -1
  3. package/es/button/src/button.js +3 -2
  4. package/es/calendar/src/calendar.js +2 -1
  5. package/es/cascader/src/cascader.js +2 -1
  6. package/es/checkbox/src/group.js +5 -1
  7. package/es/date-panel/src/util.js +27 -16
  8. package/es/date-picker/src/date-picker.js +572 -74
  9. package/es/date-range-picker/src/date-range-picker.js +3 -2
  10. package/es/drawer/src/drawer.js +2 -0
  11. package/es/form/render/index.js +3 -2
  12. package/es/form/src/form.js +6 -5
  13. package/es/form/src/itemInfo.js +6 -5
  14. package/es/input/src/input.js +2 -1
  15. package/es/menu/src/menu.js +2 -1
  16. package/es/modal/src/modal.js +5 -2
  17. package/es/pager/src/pager.js +4 -3
  18. package/es/radio/src/group.js +5 -1
  19. package/es/select/src/select.js +25 -20
  20. package/es/splitter/src/splitter.js +7 -6
  21. package/es/table-select/src/table-select.js +21 -16
  22. package/es/tabs/src/tabs.js +4 -3
  23. package/es/textarea/src/textarea.js +2 -1
  24. package/es/tree/src/tree.js +3 -2
  25. package/es/tree-select/src/tree-select.js +2 -1
  26. package/es/ui/index.js +1 -1
  27. package/es/ui/src/log.js +7 -1
  28. package/es/upload/src/upload.js +12 -3
  29. package/lib/backtop/src/backtop.js +5 -2
  30. package/lib/backtop/src/backtop.min.js +1 -1
  31. package/lib/button/src/button.js +4 -1
  32. package/lib/button/src/button.min.js +1 -1
  33. package/lib/calendar/src/calendar.js +4 -1
  34. package/lib/calendar/src/calendar.min.js +1 -1
  35. package/lib/cascader/src/cascader.js +4 -1
  36. package/lib/cascader/src/cascader.min.js +1 -1
  37. package/lib/checkbox/src/group.js +5 -1
  38. package/lib/checkbox/src/group.min.js +1 -1
  39. package/lib/date-panel/src/util.js +37 -19
  40. package/lib/date-panel/src/util.min.js +1 -1
  41. package/lib/date-picker/src/date-picker.js +620 -77
  42. package/lib/date-picker/src/date-picker.min.js +1 -1
  43. package/lib/date-range-picker/src/date-range-picker.js +4 -1
  44. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  45. package/lib/drawer/src/drawer.js +2 -0
  46. package/lib/drawer/src/drawer.min.js +1 -1
  47. package/lib/form/render/index.js +4 -1
  48. package/lib/form/render/index.min.js +1 -1
  49. package/lib/form/src/form.js +8 -4
  50. package/lib/form/src/form.min.js +1 -1
  51. package/lib/form/src/itemInfo.js +7 -4
  52. package/lib/form/src/itemInfo.min.js +1 -1
  53. package/lib/index.umd.js +847 -177
  54. package/lib/index.umd.min.js +1 -1
  55. package/lib/input/src/input.js +6 -3
  56. package/lib/input/src/input.min.js +1 -1
  57. package/lib/menu/src/menu.js +4 -1
  58. package/lib/menu/src/menu.min.js +1 -1
  59. package/lib/modal/src/modal.js +8 -2
  60. package/lib/modal/src/modal.min.js +1 -1
  61. package/lib/pager/src/pager.js +6 -2
  62. package/lib/pager/src/pager.min.js +1 -1
  63. package/lib/radio/src/group.js +5 -1
  64. package/lib/radio/src/group.min.js +1 -1
  65. package/lib/select/src/select.js +27 -20
  66. package/lib/select/src/select.min.js +1 -1
  67. package/lib/splitter/src/splitter.js +12 -8
  68. package/lib/splitter/src/splitter.min.js +1 -1
  69. package/lib/table-select/src/table-select.js +22 -15
  70. package/lib/table-select/src/table-select.min.js +1 -1
  71. package/lib/tabs/src/tabs.js +7 -3
  72. package/lib/tabs/src/tabs.min.js +1 -1
  73. package/lib/textarea/src/textarea.js +4 -1
  74. package/lib/textarea/src/textarea.min.js +1 -1
  75. package/lib/tree/src/tree.js +7 -4
  76. package/lib/tree/src/tree.min.js +1 -1
  77. package/lib/tree-select/src/tree-select.js +7 -3
  78. package/lib/tree-select/src/tree-select.min.js +1 -1
  79. package/lib/ui/index.js +1 -1
  80. package/lib/ui/index.min.js +1 -1
  81. package/lib/ui/src/log.js +8 -1
  82. package/lib/ui/src/log.min.js +1 -1
  83. package/lib/upload/src/upload.js +20 -3
  84. package/lib/upload/src/upload.min.js +1 -1
  85. package/package.json +1 -1
  86. package/packages/backtop/src/backtop.ts +3 -1
  87. package/packages/button/src/button.ts +4 -2
  88. package/packages/calendar/src/calendar.ts +3 -1
  89. package/packages/cascader/src/cascader.ts +3 -1
  90. package/packages/checkbox/src/group.ts +6 -2
  91. package/packages/date-panel/src/util.ts +28 -16
  92. package/packages/date-picker/src/date-picker.ts +583 -75
  93. package/packages/date-range-picker/src/date-range-picker.ts +4 -2
  94. package/packages/drawer/src/drawer.ts +2 -0
  95. package/packages/form/render/index.ts +4 -2
  96. package/packages/form/src/form.ts +7 -5
  97. package/packages/form/src/itemInfo.ts +7 -5
  98. package/packages/input/src/input.ts +3 -1
  99. package/packages/menu/src/menu.ts +3 -1
  100. package/packages/modal/src/modal.ts +6 -2
  101. package/packages/pager/src/pager.ts +5 -3
  102. package/packages/radio/src/group.ts +6 -2
  103. package/packages/select/src/select.ts +29 -22
  104. package/packages/splitter/src/splitter.ts +8 -6
  105. package/packages/table-select/src/table-select.ts +24 -17
  106. package/packages/tabs/src/tabs.ts +5 -3
  107. package/packages/textarea/src/textarea.ts +3 -1
  108. package/packages/tree/src/tree.ts +4 -2
  109. package/packages/tree-select/src/tree-select.ts +3 -1
  110. package/packages/ui/src/log.ts +7 -0
  111. package/packages/upload/src/upload.ts +14 -3
  112. package/types/components/date-picker.d.ts +14 -6
  113. package/types/components/drawer.d.ts +2 -0
  114. package/types/components/modal.d.ts +2 -0
  115. package/types/components/upload.d.ts +28 -1
  116. /package/es/icon/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  117. /package/es/icon/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  118. /package/es/icon/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
  119. /package/es/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  120. /package/es/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  121. /package/es/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
  122. /package/lib/icon/style/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  123. /package/lib/icon/style/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  124. /package/lib/icon/style/{iconfont.1781753592499.woff2 → iconfont.1781852740683.woff2} +0 -0
  125. /package/lib/{iconfont.1781753592499.ttf → iconfont.1781852740683.ttf} +0 -0
  126. /package/lib/{iconfont.1781753592499.woff → iconfont.1781852740683.woff} +0 -0
  127. /package/lib/{iconfont.1781753592499.woff2 → iconfont.1781852740683.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"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_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:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.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)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,inputFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},controlConfig:Object,prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(E,e){let{slots:D,emit:n}=e,r=(0,_vue.inject)("$xeModal",null),d=(0,_vue.inject)("$xeDrawer",null),g=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let P=(0,_ui.useSize)(E).computeSize,V=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),s={parseInputKayMaps:{}},w=(0,_vue.ref)(),S=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),N=(0,_vue.ref)(),b={refElem:w,refInput:S},A={xID:t,props:E,context:e,reactData:V,internalData:s,getRefMaps:()=>b},F=(0,_vue.computed)(()=>{var e=E.transfer,t=z.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(g||r||d||o)return!0}return e}),B=(0,_vue.computed)(()=>{var e=E.readonly;return null===e?!!o&&o.props.readonly:e}),q=(0,_vue.computed)(()=>{var e=E.disabled;return null===e?!!o&&o.props.disabled:e}),M=(0,_vue.computed)(()=>{var e=E.type;return"time"===e||"datetime"===e}),h=(0,_vue.computed)(()=>M.value||-1<["date","week","month","quarter","year"].indexOf(E.type)),O=(0,_vue.computed)(()=>E.clearable),$=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=E;return B.value||a||!t||"week"===e||"quarter"===e}),G=(0,_vue.computed)(()=>{var e=E.placeholder;return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),l=(0,_vue.computed)(()=>{var e=E.immediate;return e}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,E.timeConfig)),z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,E.popupConfig)),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,E.shortcutConfig)),L=(0,_vue.computed)(()=>{var e=j.value.options;return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),y=(0,_vue.computed)(()=>{var e=E.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+E.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=E;return(0,_util.handleValueFormat)(e,t)}),x=(0,_vue.computed)(()=>{var{type:e,inputFormat:t}=E;return(0,_util.handleInputFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=E.startDay;return _xeUtils.default.toNumber(e)}),U=(0,_vue.computed)(()=>{let{type:t,multiple:e}=E;var a=V.inputValue;let l=y.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label).join(", ")}),k=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.controlConfig,E.controlConfig)),a=()=>{var e=E.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),V.inputValue=t},u=e=>{var t=V.inputValue;_(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=E,r=c.value;V.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(_("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},Y=e=>{var t=e.target.value;V.inputLabel=t,_("input",{value:t},e)},Z=e=>{l.value||u(e)},H=e=>{var t=z.value.trigger;V.isActivated=!0,t&&"default"!==t?"icon"===t&&f():pe(e),u(e)},J=e=>{var t;q.value||(t=V.inputValue,_("prefix-click",{value:t},e))},f=()=>new Promise(e=>{V.visiblePanel=!1,s.hpTimeout=setTimeout(()=>{V.isAniVisible=!1,e()},350)}),K=(e,t)=>{h.value&&f(),m("",e),_("clear",{value:t},e)},Q=e=>{var t;q.value||(t=V.inputValue,_("suffix-click",{value:t},e))},C=(t,a)=>{var l=E.multiple;if(!l){l=V.inputValue;if(l){l=S.value;if(l){var i=s.parseInputKayMaps,u=x.value,r=l.selectionStart||0;let e=u[r];i=i[e=i[e]?e:u[r-1]];i&&i(t,l,a)}}}},X=e=>{var t=N.value,a=V.inputValue;l.value||m(a,e),V.visiblePanel||(V.isActivated=!1,t&&t.checkValue(V.inputLabel)),_("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},ee=e=>{var t=E.controlConfig,a=k.value,l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(l||i)&&a.isArrow&&(t||a.enabled)&&C(e,l),u(e)},te=e=>{u(e)},ae=e=>{var t=N.value;t&&t.confirmByEvent(e),f()},le=e=>{var{multiple:t,autoClose:a}=E,{value:e,$event:l}=e,i=M.value;m(e,l),t||i||a&&f()},ie=e=>{_("confirm",e,e.$event)},ue=e=>{V.inputLabel=e.label},re=e=>{var t=N.value,{visiblePanel:a,isActivated:l}=V,i=w.value,u=I.value;!q.value&&l&&(V.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,V.isActivated||a&&(f(),t)&&t.checkValue(V.inputLabel))},ne=e=>{var t,a=V.visiblePanel;q.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(V.isActivated=!1),a&&(e||t)&&f())},oe=e=>{var t=V.visiblePanel;q.value||t&&(t=I.value,((0,_dom.getEventTargetNode)(e,t).flag?i:f)())},ve=()=>{var e=N.value,{isActivated:t,visiblePanel:a}=V;a&&f(),t&&(V.isActivated=!1),(a||t)&&(e&&e.checkValue(V.inputLabel),a=S.value)&&a.blur()},se=()=>{var e=V.visiblePanel;e&&i()},de=()=>{var e=z.value.zIndex||E.zIndex;e?V.panelIndex=_xeUtils.default.toNumber(e):V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)())},i=()=>{let a=E.placement,l=V.panelIndex,i=S.value,u=T.value;if(!u)return(0,_vue.nextTick)();let r=F.value,n=z.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:n.placement||a,defaultPlacement:n.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});V.panelStyle=t,V.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ce=()=>{var e=V.visiblePanel;return(q.value||e?(0,_vue.nextTick):(V.initialized||(V.initialized=!0),s.hpTimeout&&(clearTimeout(s.hpTimeout),s.hpTimeout=void 0),V.isActivated=!0,V.isAniVisible=!0,setTimeout(()=>{V.visiblePanel=!0,i()},10),de(),i))()},pe=e=>{B.value||(e.preventDefault(),ce())},me=e=>{var t=V.visiblePanel,a=z.value.trigger;a&&"default"!==a&&"icon"!==a||(t?f():pe(e))},fe=e=>{u(e)},_e=({option:e,$event:t})=>{var a=E.type,l=V.inputValue,i=j.value,u=i.autoClose,{code:r,clickMethod:n}=e,o=l,v={$datePicker:A,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-picker] "+r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&f(),_("shortcut-click",v,t)},_=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:A},t))};t={dispatchEvent:_,setModelValue(e){V.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=S.value;return V.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return S.value.blur(),(V.isActivated=!1,_vue.nextTick)()},select(){return S.value.select(),(V.isActivated=!1,_vue.nextTick)()},showPanel:ce,hidePanel:f,updatePlacement:i};Object.assign(A,t);let R=(e,t)=>{var a=j.value,{position:l,align:i,mode:u}=a,r=L.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:_e})]):(0,_ui.renderEmptyElement)(A)},ge=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:me},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(U,e=>{V.inputLabel=e}),(0,_vue.watch)(()=>E.modelValue,()=>{a()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(A,"mousewheel",oe),_ui.globalEvents.on(A,"mousedown",re),_ui.globalEvents.on(A,"keydown",ne),_ui.globalEvents.on(A,"blur",ve),_ui.globalEvents.on(A,"resize",se)}),(0,_vue.onMounted)(()=>{let t=s.parseInputKayMaps;["y","M","d","H","m","n"].forEach(e=>{t[e]=e=>{e.preventDefault()}})}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(A,"mousewheel"),_ui.globalEvents.off(A,"mousedown"),_ui.globalEvents.off(A,"blur"),_ui.globalEvents.off(A,"resize")}),a(),(0,_vue.provide)("$xeDatePicker",A),A.renderVN=()=>{var e,t,a,l,i,u,r,n,o,v,s,d,{className:c,type:p,name:m,autoComplete:f}=E,{inputValue:_,inputLabel:g,visiblePanel:b,isActivated:h}=V,y=P.value,x=q.value,k=B.value,C=U.value;return k?(0,_vue.h)("div",{ref:w,class:["vxe-date-picker--readonly","type--"+p,c]},C):(k=$.value,C=G.value,a=O.value,t=E.prefixIcon,l=(l=D.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:J},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:t})])]):null,t=E.suffixIcon,d=V.inputValue,s=D.suffix,i=q.value,e=O.value,i=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!i&&!(""===d||_xeUtils.default.eqNull(d))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(A),ge(),s||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:Q},s?(0,_vn.getSlotVNs)(s({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(A)]),(0,_vue.h)("div",{ref:w,class:["vxe-date-picker","type--"+p,c,{["size--"+y]:y,"is--prefix":!!l,"is--suffix":!!i,"is--visible":b,"is--disabled":x,"is--active":h,"show--clear":a&&!x&&!(""===_||_xeUtils.default.eqNull(_))}],spellcheck:!1},[l||(0,_ui.renderEmptyElement)(A),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:S,class:"vxe-date-picker--inner",value:g,name:m,type:"text",placeholder:C,readonly:k,disabled:x,autocomplete:f,onKeydown:ee,onKeyup:te,onClick:fe,onInput:Y,onChange:Z,onFocus:H,onBlur:X})]),i||(0,_ui.renderEmptyElement)(A),!1===(d=z.value).enabled?(0,_ui.renderEmptyElement)(A):({type:e,multiple:s,showClearButton:t,showConfirmButton:p}=E,{initialized:c,isAniVisible:y,visiblePanel:b,panelPlacement:h,panelStyle:a,inputValue:_}=V,l=P.value,g=F.value,m=j.value,C=O.value,k=M.value,x=L.value,f=W.value,m=m.position,i=D.header,u=D.footer,r=D.top,n=D.bottom,o=D.left,v=D.right,d=d.className,x=0<x.length,k=null===p?k||s:p,s=null===t?C&&k&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!g||!c},[(0,_vue.h)("div",{ref:T,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,d?_xeUtils.default.isFunction(d)?d({$datePicker:A}):d:"",{["size--"+l]:l,"is--transfer":g,"ani--leave":y,"ani--enter":b,"show--top":!!(r||i||x&&("top"===m||"header"===m)),"show--bottom":!!(n||u||x&&("bottom"===m||"footer"===m)),"show--left":!!(o||x&&"left"===m),"show--right":!!(v||x&&"right"===m)}],placement:h,style:a},c&&(b||y)?[(0,_vue.h)("div",{ref:I,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+l]:l}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},r({})):R("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},o({})):R("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},i({})):R("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:N,modelValue:V.inputValue,type:E.type,className:E.className,multiple:E.multiple,limitCount:E.limitCount,startDate:E.startDate,endDate:E.endDate,defaultDate:E.defaultDate,defaultTime:E.defaultTime,minDate:E.minDate,maxDate:E.maxDate,startDay:E.startDay,labelFormat:E.labelFormat,valueFormat:E.valueFormat,timeFormat:E.timeFormat,timeConfig:f,festivalMethod:E.festivalMethod,disabledMethod:E.disabledMethod,selectDay:E.selectDay,onChange:le,onConfirm:ie,onRevert:ue})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},u?u({}):[R("footer")]),s||k?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[s?(0,_vue.h)(_button.default,{size:"mini",disabled:""===_||_xeUtils.default.eqNull(_),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:K}):(0,_ui.renderEmptyElement)(A),k?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:ae}):(0,_ui.renderEmptyElement)(A)]):(0,_ui.renderEmptyElement)(A)])]),v?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},v({})):R("right",!0)]),n?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},n({})):R("bottom")])]:[])]))]))},A},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"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_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}}let{warnLog,errLog}=(0,_log.createComponentLog)("date-picker"),maskedTypes=["year","month","date","datetime","time"],inputMaskedKeys=["y","M","d","H","m","n","s"],parseInputKayMaps={};function createReactData(){return{initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",labelFlag:0}}function createInternalData(){return{inputLabel:"",laseFocusMasked:0}}inputMaskedKeys.forEach(e=>{parseInputKayMaps[e]=!0});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.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)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},maskedConfig:Object,prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(S,e){let{slots:D,emit:r}=e,l=(0,_vue.inject)("$xeModal",null),i=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),s=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let $=(0,_ui.useSize)(S).computeSize,C=(0,_vue.reactive)(createReactData()),w=createInternalData(),V=(0,_vue.ref)(),T=(0,_vue.ref)(),z=(0,_vue.ref)(),P=(0,_vue.ref)(),M=(0,_vue.ref)(),d={refElem:V,refInput:T},R={xID:t,props:S,context:e,reactData:C,internalData:w,getRefMaps:()=>d},G=(0,_vue.computed)(()=>{var e=S.transfer,t=A.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||l||i||o)return!0}return e}),N=(0,_vue.computed)(()=>{var e=S.readonly;return null===e?!!o&&o.props.readonly:e}),I=(0,_vue.computed)(()=>{var e=S.disabled;return null===e?!!o&&o.props.disabled:e}),U=(0,_vue.computed)(()=>{var e=S.type;return"time"===e||"datetime"===e}),v=(0,_vue.computed)(()=>U.value||-1<["date","week","month","quarter","year"].indexOf(S.type)),K=(0,_vue.computed)(()=>S.clearable),b=(0,_vue.computed)(()=>U.value||-1<["date","week","month","quarter","year"].indexOf(S.type)),k=(0,_vue.computed)(()=>{let{modelValue:e,type:t,multiple:a}=S;var l=b.value;let i=p.value;return a&&e&&l?_xeUtils.default.toValueString(e).split(",").map(e=>{e=(0,_util.parseDateValue)(e,t,{valueFormat:i});return _xeUtils.default.isValidDate(e),e}):[]}),E=(0,_vue.computed)(()=>S.multiple?_xeUtils.default.toNumber(S.limitCount):0),Y=(0,_vue.computed)(()=>{var e=k.value;let t=p.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),W=(0,_vue.computed)(()=>{var e=S.multiple,t=E.value,a=Y.value;return!(!e||!t)&&a.length>=t}),H=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=S;return N.value||a||!t||"week"===e||"quarter"===e}),Z=(0,_vue.computed)(()=>{var e=S.placeholder;return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),J=(0,_vue.computed)(()=>{var e=S.immediate;return e}),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,S.timeConfig)),A=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,S.popupConfig)),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,S.shortcutConfig)),X=(0,_vue.computed)(()=>{var e=F.value.options;return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),g=(0,_vue.computed)(()=>{var e=S.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+S.type)}),p=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=S;return(0,_util.handleValueFormat)(e,t)}),L=(0,_vue.computed)(()=>g.value),_=(0,_vue.computed)(()=>{var e=S.startDay;return _xeUtils.default.toNumber(e)}),j=(0,_vue.computed)(()=>{let{type:t,multiple:e}=S;var a=C.inputValue;let l=g.value,i=p.value,u=_.value;return(a?e?a.split(","):[a]:[]).map(e=>(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label).join(", ")}),c=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.maskedConfig,S.maskedConfig)),O=(0,_vue.computed)(()=>{var e=c.value.maskPlaceholder;return(e?(""+e)[0]:"")||"*"}),ee=()=>{var e=S.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),C.inputValue=t},B=(e,t)=>{w.inputLabel=e,t&&C.labelFlag++},m=e=>{var t=C.inputValue;y(e.type,{value:t},e)},f=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=S,n=p.value;C.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}))?a.getTime():null,r("update:modelValue",a),i!==a&&(y("change",{value:a},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:n}),r("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(y("change",{value:a},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,a)):(r("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(y("change",{value:e},t),o)&&s&&o.triggerItemEvent(t,s.itemConfig.field,e))},te=e=>{var t=e.target.value;B(t,!0),y("input",{value:t},e)},ae=e=>{J.value||m(e)},le=e=>{var t;I.value||(t=C.inputValue,y("prefix-click",{value:t},e))},h=()=>new Promise(e=>{C.visiblePanel=!1,w.hpTimeout=setTimeout(()=>{C.isAniVisible=!1,e()},350)}),ie=(a,e)=>{var{modelValue:t,multiple:l}=S,i=U.value;let u=p.value;var n=_.value;"week"===S.type&&(o=_xeUtils.default.toNumber(S.selectDay),a=_xeUtils.default.getWhatWeek(a,0,o,n));let r=_xeUtils.default.toDateString(a,u,{firstDay:n});if(l){var o=W.value;if(i){n=e?[]:[...k.value];let t=[];l=_xeUtils.default.findIndexOf(n,e=>_xeUtils.default.isDateSame(a,e,"yyyyMMdd"));if(-1===l){if(o)return;n.push(a)}else n.splice(l,1);n.forEach(e=>{e&&t.push(e)}),f(t.map(e=>_xeUtils.default.toDateString(e,u)).join(","),{type:"update"})}else{i=e?[]:Y.value;i.some(e=>_xeUtils.default.isEqual(e,r))?f(i.filter(e=>!_xeUtils.default.isEqual(e,r)).join(","),{type:"update"}):o||f(i.concat([r]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(t,r)||f(r,{type:"update"})},ue=()=>{var e=j.value;B(e,!0)},x=a=>{var l=S.type,i=w.inputLabel,u=g.value;if(a){let t=(0,_util.parseDateValue)(a,l,{valueFormat:u});if(_xeUtils.default.isValidDate(t))if("time"===l)i!==(t=_xeUtils.default.toDateString(t,u))&&f(t,{type:"check"}),B(t,!0);else{let e=!1;i=_.value,l=("datetime"===l&&(l=C.inputValue,a===_xeUtils.default.toDateString(l,u))&&a===_xeUtils.default.toDateString(t,u)||(e=!0),_xeUtils.default.toDateString(t,u,{firstDay:i}));B(l,!0),e&&ie(t)}else ue()}else f("",{type:"check"})},ne=(e,t)=>{v.value&&h(),f("",e),y("clear",{value:t},e)},re=e=>{var t;I.value||(t=C.inputValue,y("suffix-click",{value:t},e))},oe=(e,a,l,i,u)=>{var{type:n,multiple:r}=S;if(!r){r=T.value;if(r){var o=r.value;if(o){var s=L.value,d=g.value,v=_.value,p=O.value,c=r.selectionStart||0;let t=s[c];parseInputKayMaps[t]||(t=s[c-1]);var m,f,c=s.match(new RegExp(t+"+"));c&&(a||l?(l=c[0]||"",m=(c=c.index||0)+l.length,f=o.slice(c,m),parseInputKayMaps[t]&&(f=((0,_util.isAllSameChar)(f,p)?(0,_util.getChunkDefaultNum)(t):_xeUtils.default.toNumber(f))+(a?1:-1),a=o.slice(0,c)+_xeUtils.default.padStart(f,l.length,"0")+o.slice(m),e.preventDefault(),-1===a.indexOf(p)?(f=(0,_util.parseDateValue)(a,n,{valueFormat:d}),_xeUtils.default.isValidDate(f)&&(l=_xeUtils.default.toDateString(f,d,{firstDay:v}),r.value=l,B(l,!1))):(r.value=a,B(a,!1))),r.setSelectionRange(c,m)):(i||u)&&-1<inputMaskedKeys.indexOf(t)&&(o=_xeUtils.default.map(s.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]),p=_xeUtils.default.findIndexOf(o,e=>t===e[0]),f=(n=i?o[p-1]||o[0]:o[p+1]||o[o.length-1])?n[0]:"",d=s.match(new RegExp(f+"+")))&&(e.preventDefault(),l=(v=d.index||0)+d[0].length,r.setSelectionRange(v,l)),w.isTriggerMasked=!0)}}}},se=n=>{var r=S.multiple;if(!r){var o=T.value;if(o){r=(0,_dom.hasControlKey)(n);if(!r){n.preventDefault();var r=n.key,s=_ui.globalEvents.hasKey(n,_ui.GLOBAL_EVENT_KEYS.DELETE),d=_ui.globalEvents.hasKey(n,_ui.GLOBAL_EVENT_KEYS.BACKSPACE),r="0"<=r&&r<="9",n=r?n.key:"";if(s||d||r){var v=w.isTriggerMasked,p=L.value,c=O.value;let i=o.value||p;var m=o.selectionStart||0,f=o.selectionEnd||0;let u=p[m];parseInputKayMaps[u]||(u=p[m-1]);var g=p.match(new RegExp(u+"+"));if(g){var _=_xeUtils.default.map(p.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]),h=g[0]||"",x=g.index||0,y=x+h.length,b=_.indexOf(u),m=!m&&f===i.length,f=i&&i.length!==p.length;(m||f)&&(i=p);let e=s?"":i.slice(x,y);f=e.match(/\d/g)||[],v=v&&!d?[]:f.slice(0);r?v.push(n):d&&v.pop(),e=v.join("").padEnd(h.length,c);let t=i.slice(0,x)+e+i.slice(y);if(t=t.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),c),o.value=t,B(t,!1),m){if(d||s){r=_[0],n=p.match(new RegExp(r+"+"));if(n)return h=n[0],o.setSelectionRange(0,h.length),void(w.isTriggerMasked=!0)}}else if(d&&!f.length){for(let e=b-1;0<=e;e--){var k=_[e],k=p.match(new RegExp(k+"+"));if(k){var E=k[0],k=k.index||0,D=k+E.length;let e=t.slice(k,D);var C=e.match(/\d/g)||[];if(C.length)return C.pop(),e=C.join("").padEnd(E.length,c),t=t.slice(0,k)+e+t.slice(D),o.value=t,B(t,!1),void o.setSelectionRange(k,D)}}x=_[0],y=p.match(new RegExp(x+"+"));return y?(m=y[0],t=p.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),c),o.value=t,B(t,!1),o.setSelectionRange(0,m.length),void(w.isTriggerMasked=!0)):void 0}let a=g.index||0,l=a+g[0].length;v.length>=e.length?(s=_.slice(b+1),-1<b&&((r=s.length?p.match(new RegExp(`(${s.join("|")})+`)):null)&&(a=r.index||0,l=a+r[0].length),o.setSelectionRange(a,l)),w.isTriggerMasked=!0):(o.setSelectionRange(a,l),w.isTriggerMasked=!1)}}}}}},n=(t,i)=>{var{type:u,multiple:n,modelValue:r}=S;if(!n&&maskedTypes.includes(u)){n=T.value;if(n){u=w.laseFocusMasked;if(!(u&&Date.now()-u<100)){u=L.value;let l=O.value;var a=n.selectionStart||0,o=n.selectionEnd||0,s=n.value,d=_xeUtils.default.map(u.match(new RegExp(`(${inputMaskedKeys.join("|")})+`,"g"))||[],e=>e[0]);if(!s){let e=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),l);if(i&&r){let t=(""+_xeUtils.default.toNumber(r)).match(/\d/g)||[],a=0;e=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),e=>t[a++]||e)}var i=d[0],r=u.match(new RegExp(i+"+"));if(r)return t.preventDefault(),i=r[0],n.value=e,B(e,!1),n.setSelectionRange(0,i.length),void(w.laseFocusMasked=Date.now())}r=!a&&o===s.length,i=s&&s.length!==u.length;if(r||i){let a="";if(i&&s){let e=s.match(/\d/g)||[],t=0;a=u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),()=>e[t++]||l)}else u.replace(new RegExp(`(${inputMaskedKeys.join("|")})`,"g"),l);var o=d[0],r=u.match(new RegExp(o+"+"));if(r)return t.preventDefault(),i=r[0],n.value=a,B(a,!1),n.setSelectionRange(0,i.length),void(w.laseFocusMasked=Date.now())}let e=u[a];(e=parseInputKayMaps[e]?e:u[a-1])&&(t.preventDefault(),s=u.match(new RegExp(e+"+")))&&(d=s[0]||"",r=(o=s.index||0)+d.length,n.setSelectionRange(o,r),w.isTriggerMasked=!0,w.laseFocusMasked=Date.now())}}}},de=e=>{var t,a=M.value,l=C.inputValue;J.value||f(l,e),C.visiblePanel||(t=w.inputLabel,C.isActivated=!1,a?a.checkValue(t):x(t)),y("blur",{value:l},e),o&&s&&o.triggerItemEvent(e,s.itemConfig.field,l)},ve=e=>{let{multiple:t,editable:a,maskedConfig:l}=S,i=c.value;var u=A.value.trigger;C.isActivated=!0,u&&"default"!==u?"icon"===u?(h(),setTimeout(()=>{a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0)},15)):a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0):(Se(e),setTimeout(()=>{a&&!t&&((0,_utils.isEnableConf)(l)||i.enabled)&&n(e,!0)},15)),m(e)},pe=e=>{var{editable:t,maskedConfig:a}=S,l=c.value;t&&((0,_utils.isEnableConf)(a)||l.enabled)&&n(e),m(e)},ce=e=>{var t,{type:a,editable:l,maskedConfig:i}=S,u=C.visiblePanel,n=c.value,r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),s=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_LEFT),d=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_RIGHT),v=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER);l&&(v?(l=M.value,v=w.inputLabel,t=T.value,u&&h(),l?l.checkValue(v):x(v),t&&t.blur()):maskedTypes.includes(a)&&((0,_utils.isEnableConf)(i)||n.enabled)&&(n.isArrow&&(r||o||s||d)?oe(e,r,o,s,d):n.isMasked&&se(e))),m(e)},me=e=>{m(e)},fe=e=>{var t=M.value;t&&t.confirmByEvent(e),h()},ge=e=>{var{multiple:t,autoClose:a}=S,{value:e,$event:l}=e,i=U.value;f(e,l),t||i||a&&h()},_e=e=>{y("confirm",e,e.$event)},he=e=>{B(e.label,!0)},xe=e=>{var t=M.value,{visiblePanel:a,isActivated:l}=C,i=V.value,u=P.value;!I.value&&l&&((i=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag)!==l&&(C.isActivated=i),i||a&&(h(),e=w.inputLabel,t?t.checkValue(e):x(e)))},ye=e=>{var t,{isActivated:a,visiblePanel:l}=C;I.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&a&&(C.isActivated=!1),l&&(e||t)&&h())},be=e=>{var t=C.visiblePanel;I.value||t&&(t=P.value,((0,_dom.getEventTargetNode)(e,t).flag?a:h)())},ke=()=>{var e=M.value,{isActivated:t,visiblePanel:a}=C;a&&h(),t&&(C.isActivated=!1),(a||t)&&(e&&e.checkValue(w.inputLabel),a=T.value)&&a.blur()},Ee=()=>{var e=C.visiblePanel;e&&a()},De=()=>{var e=A.value.zIndex||S.zIndex;e?C.panelIndex=_xeUtils.default.toNumber(e):C.panelIndex<(0,_utils.getLastZIndex)()&&(C.panelIndex=(0,_utils.nextZIndex)())},a=()=>{let a=S.placement,l=C.panelIndex,i=T.value,u=z.value;if(!u)return(0,_vue.nextTick)();let n=G.value,r=A.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:r.placement||a,defaultPlacement:r.defaultPlacement,teleportTo:n}),t=Object.assign(e.style,{zIndex:l});C.panelStyle=t,C.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},Ce=()=>{var e=C.visiblePanel;return(I.value||e?(0,_vue.nextTick):(C.initialized||(C.initialized=!0),w.hpTimeout&&(clearTimeout(w.hpTimeout),w.hpTimeout=void 0),C.isActivated=!0,C.isAniVisible=!0,setTimeout(()=>{C.visiblePanel=!0,a()},10),De(),a))()},Se=e=>{N.value||(e.preventDefault(),Ce())},we=e=>{var t=C.visiblePanel,a=A.value.trigger;a&&"default"!==a&&"icon"!==a||(t?h():Se(e))},Ve=({option:e,$event:t})=>{var a=S.type,l=C.inputValue,i=F.value,u=i.autoClose,{code:n,clickMethod:r}=e,o=l,s={$datePicker:R,option:e,value:o,code:n};if(!r&&n){l=_ui.commands.get(n),e=l?l.datePickerCommandMethod:null;if(e)e(s);else{var d=p.value,v=_.value;switch(n){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(n,o,a,{valueFormat:d,firstDay:v}).value;s.value=o,f(o,t);break;default:errLog("vxe.error.notCommands",[n])}}}else{l=r||i.clickMethod;l&&l(s)}u&&h(),y("shortcut-click",s,t)},y=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$datePicker:R},t))};t={dispatchEvent:y,setModelValue(e){C.inputValue=e,r("update:modelValue",e)},setModelValueByEvent(e,t){f(t||"",e)},focus(){var e=T.value;return C.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return T.value.blur(),(C.isActivated=!1,_vue.nextTick)()},select(){return T.value.select(),(C.isActivated=!1,_vue.nextTick)()},showPanel:Ce,hidePanel:h,updatePlacement:a};Object.assign(R,t);let q=(e,t)=>{var a=F.value,{position:l,align:i,mode:u}=a,n=X.value;return(0,_utils.isEnableConf)(a)&&n.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:n,mode:u,align:i,vertical:t,onClick:Ve})]):(0,_ui.renderEmptyElement)(R)},Te=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:we},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(j,e=>{B(e,!0)}),(0,_vue.watch)(()=>S.modelValue,()=>{ee()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(R,"mousewheel",be),_ui.globalEvents.on(R,"mousedown",xe),_ui.globalEvents.on(R,"keydown",ye),_ui.globalEvents.on(R,"blur",ke),_ui.globalEvents.on(R,"resize",Ee)}),(0,_vue.onMounted)(()=>{var{type:e,multiple:t,maskedConfig:a}=S;(0,_utils.isEnableConf)(a)&&(t&&errLog("vxe.error.notSupportProp",["multiple","control-config.enabled=true","control-config.enabled=false"]),maskedTypes.includes(e)||warnLog("vxe.error.notSupportProp",["control-config.enabled=true","type="+e,"type="+maskedTypes.join("|")]))}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(R,"mousewheel"),_ui.globalEvents.off(R,"mousedown"),_ui.globalEvents.off(R,"blur"),_ui.globalEvents.off(R,"resize")}),ee(),(0,_vue.provide)("$xeDatePicker",R),R.renderVN=()=>{var e,t,a,l,i,u,n,r,o,s,d,{className:v,type:p,name:c,autoComplete:m}=S,{inputValue:f,visiblePanel:g,isActivated:_,labelFlag:h}=C,x=w.inputLabel,y=$.value,b=I.value,k=N.value,E=j.value;return k?(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--readonly","type--"+p,v]},E):(k=H.value,E=Z.value,a=K.value,t=S.prefixIcon,l=(l=D.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:le},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:t})])]):null,t=S.suffixIcon,d=C.inputValue,s=D.suffix,i=I.value,e=K.value,i=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!i&&!(""===d||_xeUtils.default.eqNull(d))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:ne},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(R),Te(),s||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:re},s?(0,_vn.getSlotVNs)(s({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(R)]),(0,_vue.h)("div",{ref:V,class:["vxe-date-picker","type--"+p,v,{["size--"+y]:y,"is--prefix":!!l,"is--suffix":!!i,"is--visible":g,"is--disabled":b,"is--active":_,"show--clear":a&&!b&&!(""===f||_xeUtils.default.eqNull(f))}],spellcheck:!1},[l||(0,_ui.renderEmptyElement)(R),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:T,class:"vxe-date-picker--inner",value:h?x:"",name:c,type:"text",placeholder:E,readonly:k,disabled:b,autocomplete:m,onKeydown:ce,onKeyup:me,onClick:pe,onInput:te,onChange:ae,onFocus:ve,onBlur:de})]),i||(0,_ui.renderEmptyElement)(R),!1===(d=A.value).enabled?(0,_ui.renderEmptyElement)(R):({type:e,multiple:s,showClearButton:t,showConfirmButton:p}=S,{initialized:v,isAniVisible:y,visiblePanel:g,panelPlacement:_,panelStyle:a,inputValue:f}=C,l=$.value,h=G.value,x=F.value,c=K.value,E=U.value,k=X.value,b=Q.value,x=x.position,m=D.header,i=D.footer,u=D.top,n=D.bottom,r=D.left,o=D.right,d=d.className,k=0<k.length,E=null===p?E||s:p,s=null===t?c&&E&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!v},[(0,_vue.h)("div",{ref:z,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,d?_xeUtils.default.isFunction(d)?d({$datePicker:R}):d:"",{["size--"+l]:l,"is--transfer":h,"ani--leave":y,"ani--enter":g,"show--top":!!(u||m||k&&("top"===x||"header"===x)),"show--bottom":!!(n||i||k&&("bottom"===x||"footer"===x)),"show--left":!!(r||k&&"left"===x),"show--right":!!(o||k&&"right"===x)}],placement:_,style:a},v&&(g||y)?[(0,_vue.h)("div",{ref:P,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+l]:l}]},[u?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},u({})):q("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},r({})):q("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},m({})):q("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:M,modelValue:C.inputValue,type:S.type,className:S.className,multiple:S.multiple,limitCount:S.limitCount,startDate:S.startDate,endDate:S.endDate,defaultDate:S.defaultDate,defaultTime:S.defaultTime,minDate:S.minDate,maxDate:S.maxDate,startDay:S.startDay,labelFormat:S.labelFormat,valueFormat:S.valueFormat,timeFormat:S.timeFormat,timeConfig:b,festivalMethod:S.festivalMethod,disabledMethod:S.disabledMethod,selectDay:S.selectDay,onChange:ge,onConfirm:_e,onRevert:he})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},i?i({}):[q("footer")]),s||E?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[s?(0,_vue.h)(_button.default,{size:"mini",disabled:""===f||_xeUtils.default.eqNull(f),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:ne}):(0,_ui.renderEmptyElement)(R),E?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:fe}):(0,_ui.renderEmptyElement)(R)]):(0,_ui.renderEmptyElement)(R)])]),o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},o({})):q("right",!0)]),n?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},n({})):q("bottom")])]:[])]))]))},R},render(){return this.renderVN()}});
@@ -17,6 +17,9 @@ var _datePanel = _interopRequireDefault(require("../../date-panel/src/date-panel
17
17
  var _button = _interopRequireDefault(require("../../button/src/button"));
18
18
  var _buttonGroup = _interopRequireDefault(require("../../button/src/button-group"));
19
19
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
20
+ const {
21
+ errLog
22
+ } = (0, _log.createComponentLog)('date-range-picker');
20
23
  var _default = exports.default = (0, _comp.defineVxeComponent)({
21
24
  name: 'VxeDateRangePicker',
22
25
  props: {
@@ -1028,7 +1031,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1028
1031
  break;
1029
1032
  }
1030
1033
  default:
1031
- (0, _log.errLog)('vxe.error.notCommands', [`[date-range-picker] ${code}`]);
1034
+ errLog('vxe.error.notCommands', [code]);
1032
1035
  break;
1033
1036
  }
1034
1037
  }
@@ -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},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={},I=(0,_vue.ref)(),B=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),y={refElem:I,refInput:B},O={xID:a,props:N,context:e,reactData:A,internalData:r,getRefMaps:()=>y};let $=(0,_vue.computed)(()=>{var e=N.transfer,a=G.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}),L=(0,_vue.computed)(()=>{var e=N.readonly;return null===e?!!n&&n.props.readonly:e}),K=(0,_vue.computed)(()=>{var e=N.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=N.defaultDate;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]}),X=(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 ee=(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)),Y=(0,_vue.computed)(()=>N.clearable),ae=(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")}),h=(0,_vue.computed)(()=>{var e=N.immediate;return e}),te=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.timeConfig,N.timeConfig)),G=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.popupConfig,N.popupConfig)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,N.shortcutConfig)),le=(0,_vue.computed)(()=>{var e=Z.value.options;return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),x=(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)}),V=(0,_vue.computed)(()=>{var e=N.startDay;return _xeUtils.default.toNumber(e)}),ue=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=A,e=e||a?[e||"",a||""]:[];return k(e)}),re=(0,_vue.computed)(()=>ue.value.label),k=e=>{var{type:a,separator:t}=N,l=x.value,u=g.value,r=V.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}},m=(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?[]:""},D=()=>{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}},P=()=>{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?D:P:t||l?P:D)(),A.startValue=u.sValue,A.endValue=u.eValue},l=e=>{var{startValue:a,endValue:t}=A,l=m(a,t);b(e.type,{value:l,startValue:a,endValue:t},e)},f=(e,a,t)=>{var l=N.modelValue,u=(A.startValue=e,A.endValue=a,m(e,a)),r=e&&a||!e&&!a;i("update:modelValue",u),i("update:startValue",e||""),i("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(b("change",{value:u,startValue:e,endValue:a,isFinish:r},t),n)&&o&&n.triggerItemEvent(t,o.itemConfig.field,u)},ie=e=>{h.value||l(e)},ne=e=>{var a=G.value.trigger;A.isActivated=!0,a&&"default"!==a?"icon"===a&&_():he(e),l(e)},oe=e=>{var a,t,l;K.value||({startValue:a,endValue:t}=A,l=m(a,t),b("prefix-click",{value:l,startValue:a,endValue:t},e))},_=()=>new Promise(e=>{A.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),se=(e,a)=>{s.value&&_();f("","",e),b("clear",{value:a,startValue:"",endValue:""},e)},d=()=>{var e=j.value,a=q.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||f("","",{type:"check"}))},de=({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""},C=()=>{var e=N.autoClose,{startValue:a,endValue:t}=A,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&_():a&&t&&(r.selectStatus=!1)},ve=e=>{var a,t,l;K.value||({startValue:a,endValue:t}=A,l=m(a,t),b("suffix-click",{value:l,startValue:a,endValue:t},e))},ce=e=>{var{startValue:a,endValue:t}=A;h.value||f(a,t,e),A.visiblePanel||(A.isActivated=!1,d()),b("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},pe=e=>{l(e)},ge=e=>{l(e)},me=e=>{var a,t,l=j.value,u=q.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?f("","",e):(l.confirmByEvent(e),u.confirmByEvent(e)),l=m(a,t),b("confirm",{value:l,startValue:a,endValue:t},e)),_()},fe=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.endValue:"";f(e,l,t),C(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=j.value,a=q.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},_e=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.startValue:"";f(l,e,t),C(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=j.value,a=q.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},H=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,e=j.value,t=q.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)}}}}},J=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,t=j.value,e=q.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)}}}}},E=e=>{var{visiblePanel:a,isActivated:t}=A,l=I.value,u=U.value;!K.value&&t&&(A.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,A.isActivated||a&&(d(),_()))},S=e=>{var a,t=A.visiblePanel;K.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(),_()))},w=e=>{var a=A.visiblePanel;K.value||a&&(a=U.value,((0,_dom.getEventTargetNode)(e,a).flag?u:(d(),_))())},T=()=>{var{visiblePanel:e,isActivated:a}=A;e&&(d(),_()),a&&(A.isActivated=!1),(e||a)&&(e=B.value)&&e.blur()},F=()=>{var e=A.visiblePanel;e&&u()},be=()=>{var e=G.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=B.value,r=z.value;if(!r)return(0,_vue.nextTick)();let i=$.value,n=G.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(K.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=>{L.value||(e.preventDefault(),ye())},xe=e=>{var a=A.visiblePanel,t=G.value.trigger;t&&"default"!==t&&"icon"!==t||(a?_():he(e))},Ve=e=>{l(e)},ke=({option:e,$event:a})=>{var t=N.type,l=Z.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=A.startValue,o=A.endValue,s=m(n,o),d={$dateRangePicker:O,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=V.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=m(n,o);d.value=s,d.startValue=n,d.endValue=o,f(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-range-picker] "+r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&_(),b("shortcut-click",d,a)},b=(e,a,t)=>{i(e,(0,_ui.createEvent)(t,{$dateRangePicker:O},a))},Q=(e={dispatchEvent:b,setModelValue(e,a){A.startValue=e||"",A.endValue=a||"";e=m(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){f(a||"",t||"",e)},focus(){var e=B.value;return A.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return B.value.blur(),(A.isActivated=!1,_vue.nextTick)()},select(){return B.value.select(),(A.isActivated=!1,_vue.nextTick)()},showPanel:ye,hidePanel:_,updatePlacement:u},Object.assign(O,e),(e,a)=>{var t=Z.value,{position:l,align:u,mode:r}=t,i=le.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)(O)}),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(O,"mousewheel",w),_ui.globalEvents.on(O,"mousedown",E),_ui.globalEvents.on(O,"keydown",S),_ui.globalEvents.on(O,"blur",T),_ui.globalEvents.on(O,"resize",F)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(O,"mousewheel"),_ui.globalEvents.off(O,"mousedown"),_ui.globalEvents.off(O,"blur"),_ui.globalEvents.off(O,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",O),O.renderVN=()=>{var e,a,t,l,u,r,i,n,o,s,d,v,c,p,g,m,f,_,b,y,{className:h,type:x,name:V,autoComplete:k}=N,{startValue:D,endValue:P,visiblePanel:C,isActivated:E}=A,S=R.value,w=K.value,T=L.value,F=re.value;return T?(0,_vue.h)("div",{ref:I,class:["vxe-date-range-picker--readonly","type--"+x,h]},F):(T=ae.value,e=Y.value,t=N.prefixIcon,a=(a=M.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:oe},[(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=K.value,r=Y.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:se},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(O),De(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:ve},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(O)])})(),(0,_vue.h)("div",{ref:I,class:["vxe-date-range-picker","type--"+x,h,{["size--"+S]:S,"is--prefix":!!a,"is--suffix":!!t,"is--visible":C,"is--disabled":w,"is--active":E,"show--clear":e&&!w&&(D||P)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:B,class:"vxe-date-range-picker--inner",value:F,name:V,type:"text",placeholder:T,editable:!1,disabled:w,autocomplete:k,onKeydown:pe,onKeyup:ge,onClick:Ve,onChange:ie,onFocus:ne,onBlur:ce})]),t||(0,_ui.renderEmptyElement)(O),!1===(x=G.value).enabled?(0,_ui.renderEmptyElement)(O):({type:h,separator:S,autoClose:C,showConfirmButton:E,showClearButton:e}=N,{initialized:D,isAniVisible:P,visiblePanel:a,panelPlacement:F,panelStyle:V,startValue:T,endValue:w}=A,k=R.value,t=$.value,n=Z.value,l=Y.value,r=ue.value,b=le.value,y=ee.value,g=W.value,f=X.value,u=te.value,{startLabel:r,endLabel:i}=r,n=n.position,o=M.header,s=M.footer,d=M.top,v=M.bottom,c=M.left,p=M.right,x=x.className,[g,m]=g,[f,_]=f,b=0<b.length,y=null===E?y||!C:E,C=null===e?l:e,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!D},[(0,_vue.h)("div",{ref:z,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+h,x?_xeUtils.default.isFunction(x)?x({$dateRangePicker:O}):x:"",{["size--"+k]:k,"is--transfer":t,"ani--leave":P,"ani--enter":a,"show--top":!!(d||o||b&&("top"===n||"header"===n)),"show--bottom":!!(v||s||b&&("bottom"===n||"footer"===n)),"show--left":!!(c||b&&"left"===n),"show--right":!!(p||b&&"right"===n)}],placement:F,style:V},D&&(a||P)?[(0,_vue.h)("div",{ref:U,class:["vxe-date-range-picker--layout-all-wrapper","type--"+h,{["size--"+k]:k}]},[d?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},d({})):Q("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[c?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},c({})):Q("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},o({})):Q("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:j,modelValue:T,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,endDate:w,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:g,defaultTime:f,timeConfig:u,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:de,onChange:fe,onDatePrev:H,onDateToday:H,onDateNext:H}),(0,_vue.h)(_datePanel.default,{ref:q,modelValue:w,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,startDate:T,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:m,defaultTime:_,timeConfig:u,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:de,onChange:_e,onDatePrev:J,onDateToday:J,onDateNext:J})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},r||i?[(0,_vue.h)("span",r),(0,_vue.h)("span",""+(S||"")),(0,_vue.h)("span",i)]:""+(S||"")),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},s?s({}):[Q("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[C?(0,_vue.h)(_button.default,{size:"mini",disabled:!(T||w),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:se}):(0,_ui.renderEmptyElement)(O),y?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:me}):(0,_ui.renderEmptyElement)(O)])])]),p?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},p({})):Q("right",!0)]),v?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},v({})):Q("bottom")])]:[])]))]))},O},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}}let errLog=(0,_log.createComponentLog)("date-range-picker").errLog;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={},I=(0,_vue.ref)(),B=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),y={refElem:I,refInput:B},O={xID:a,props:N,context:e,reactData:A,internalData:r,getRefMaps:()=>y};let L=(0,_vue.computed)(()=>{var e=N.transfer,a=G.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}),K=(0,_vue.computed)(()=>{var e=N.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=N.defaultDate;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]}),X=(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 ee=(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)),Y=(0,_vue.computed)(()=>N.clearable),ae=(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")}),h=(0,_vue.computed)(()=>{var e=N.immediate;return e}),te=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.timeConfig,N.timeConfig)),G=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.popupConfig,N.popupConfig)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,N.shortcutConfig)),le=(0,_vue.computed)(()=>{var e=Z.value.options;return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),x=(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)}),V=(0,_vue.computed)(()=>{var e=N.startDay;return _xeUtils.default.toNumber(e)}),ue=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=A,e=e||a?[e||"",a||""]:[];return k(e)}),re=(0,_vue.computed)(()=>ue.value.label),k=e=>{var{type:a,separator:t}=N,l=x.value,u=g.value,r=V.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}},m=(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?[]:""},D=()=>{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}},P=()=>{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?D:P:t||l?P:D)(),A.startValue=u.sValue,A.endValue=u.eValue},l=e=>{var{startValue:a,endValue:t}=A,l=m(a,t);b(e.type,{value:l,startValue:a,endValue:t},e)},f=(e,a,t)=>{var l=N.modelValue,u=(A.startValue=e,A.endValue=a,m(e,a)),r=e&&a||!e&&!a;i("update:modelValue",u),i("update:startValue",e||""),i("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(b("change",{value:u,startValue:e,endValue:a,isFinish:r},t),n)&&o&&n.triggerItemEvent(t,o.itemConfig.field,u)},ie=e=>{h.value||l(e)},ne=e=>{var a=G.value.trigger;A.isActivated=!0,a&&"default"!==a?"icon"===a&&_():he(e),l(e)},oe=e=>{var a,t,l;K.value||({startValue:a,endValue:t}=A,l=m(a,t),b("prefix-click",{value:l,startValue:a,endValue:t},e))},_=()=>new Promise(e=>{A.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),se=(e,a)=>{s.value&&_();f("","",e),b("clear",{value:a,startValue:"",endValue:""},e)},d=()=>{var e=j.value,a=q.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||f("","",{type:"check"}))},de=({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""},C=()=>{var e=N.autoClose,{startValue:a,endValue:t}=A,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&_():a&&t&&(r.selectStatus=!1)},ve=e=>{var a,t,l;K.value||({startValue:a,endValue:t}=A,l=m(a,t),b("suffix-click",{value:l,startValue:a,endValue:t},e))},ce=e=>{var{startValue:a,endValue:t}=A;h.value||f(a,t,e),A.visiblePanel||(A.isActivated=!1,d()),b("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},pe=e=>{l(e)},ge=e=>{l(e)},me=e=>{var a,t,l=j.value,u=q.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?f("","",e):(l.confirmByEvent(e),u.confirmByEvent(e)),l=m(a,t),b("confirm",{value:l,startValue:a,endValue:t},e)),_()},fe=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.endValue:"";f(e,l,t),C(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=j.value,a=q.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},_e=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.startValue:"";f(l,e,t),C(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=j.value,a=q.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},H=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,e=j.value,t=q.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)}}}}},J=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,t=j.value,e=q.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)}}}}},E=e=>{var{visiblePanel:a,isActivated:t}=A,l=I.value,u=U.value;!K.value&&t&&(A.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,A.isActivated||a&&(d(),_()))},S=e=>{var a,t=A.visiblePanel;K.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(),_()))},w=e=>{var a=A.visiblePanel;K.value||a&&(a=U.value,((0,_dom.getEventTargetNode)(e,a).flag?u:(d(),_))())},T=()=>{var{visiblePanel:e,isActivated:a}=A;e&&(d(),_()),a&&(A.isActivated=!1),(e||a)&&(e=B.value)&&e.blur()},F=()=>{var e=A.visiblePanel;e&&u()},be=()=>{var e=G.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=B.value,r=z.value;if(!r)return(0,_vue.nextTick)();let i=L.value,n=G.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(K.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=A.visiblePanel,t=G.value.trigger;t&&"default"!==t&&"icon"!==t||(a?_():he(e))},Ve=e=>{l(e)},ke=({option:e,$event:a})=>{var t=N.type,l=Z.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=A.startValue,o=A.endValue,s=m(n,o),d={$dateRangePicker:O,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=V.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=m(n,o);d.value=s,d.startValue=n,d.endValue=o,f(n,o,a);break;default:errLog("vxe.error.notCommands",[r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&_(),b("shortcut-click",d,a)},b=(e,a,t)=>{i(e,(0,_ui.createEvent)(t,{$dateRangePicker:O},a))},Q=(e={dispatchEvent:b,setModelValue(e,a){A.startValue=e||"",A.endValue=a||"";e=m(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){f(a||"",t||"",e)},focus(){var e=B.value;return A.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return B.value.blur(),(A.isActivated=!1,_vue.nextTick)()},select(){return B.value.select(),(A.isActivated=!1,_vue.nextTick)()},showPanel:ye,hidePanel:_,updatePlacement:u},Object.assign(O,e),(e,a)=>{var t=Z.value,{position:l,align:u,mode:r}=t,i=le.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)(O)}),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(O,"mousewheel",w),_ui.globalEvents.on(O,"mousedown",E),_ui.globalEvents.on(O,"keydown",S),_ui.globalEvents.on(O,"blur",T),_ui.globalEvents.on(O,"resize",F)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(O,"mousewheel"),_ui.globalEvents.off(O,"mousedown"),_ui.globalEvents.off(O,"blur"),_ui.globalEvents.off(O,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",O),O.renderVN=()=>{var e,a,t,l,u,r,i,n,o,s,d,v,c,p,g,m,f,_,b,y,{className:h,type:x,name:V,autoComplete:k}=N,{startValue:D,endValue:P,visiblePanel:C,isActivated:E}=A,S=R.value,w=K.value,T=$.value,F=re.value;return T?(0,_vue.h)("div",{ref:I,class:["vxe-date-range-picker--readonly","type--"+x,h]},F):(T=ae.value,e=Y.value,t=N.prefixIcon,a=(a=M.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:oe},[(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=K.value,r=Y.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:se},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(O),De(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:ve},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(O)])})(),(0,_vue.h)("div",{ref:I,class:["vxe-date-range-picker","type--"+x,h,{["size--"+S]:S,"is--prefix":!!a,"is--suffix":!!t,"is--visible":C,"is--disabled":w,"is--active":E,"show--clear":e&&!w&&(D||P)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:B,class:"vxe-date-range-picker--inner",value:F,name:V,type:"text",placeholder:T,editable:!1,disabled:w,autocomplete:k,onKeydown:pe,onKeyup:ge,onClick:Ve,onChange:ie,onFocus:ne,onBlur:ce})]),t||(0,_ui.renderEmptyElement)(O),!1===(x=G.value).enabled?(0,_ui.renderEmptyElement)(O):({type:h,separator:S,autoClose:C,showConfirmButton:E,showClearButton:e}=N,{initialized:D,isAniVisible:P,visiblePanel:a,panelPlacement:F,panelStyle:V,startValue:T,endValue:w}=A,k=R.value,t=L.value,n=Z.value,l=Y.value,r=ue.value,b=le.value,y=ee.value,g=W.value,f=X.value,u=te.value,{startLabel:r,endLabel:i}=r,n=n.position,o=M.header,s=M.footer,d=M.top,v=M.bottom,c=M.left,p=M.right,x=x.className,[g,m]=g,[f,_]=f,b=0<b.length,y=null===E?y||!C:E,C=null===e?l:e,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!D},[(0,_vue.h)("div",{ref:z,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+h,x?_xeUtils.default.isFunction(x)?x({$dateRangePicker:O}):x:"",{["size--"+k]:k,"is--transfer":t,"ani--leave":P,"ani--enter":a,"show--top":!!(d||o||b&&("top"===n||"header"===n)),"show--bottom":!!(v||s||b&&("bottom"===n||"footer"===n)),"show--left":!!(c||b&&"left"===n),"show--right":!!(p||b&&"right"===n)}],placement:F,style:V},D&&(a||P)?[(0,_vue.h)("div",{ref:U,class:["vxe-date-range-picker--layout-all-wrapper","type--"+h,{["size--"+k]:k}]},[d?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},d({})):Q("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[c?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},c({})):Q("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},o({})):Q("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:j,modelValue:T,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,endDate:w,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:g,defaultTime:f,timeConfig:u,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:de,onChange:fe,onDatePrev:H,onDateToday:H,onDateNext:H}),(0,_vue.h)(_datePanel.default,{ref:q,modelValue:w,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,startDate:T,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:m,defaultTime:_,timeConfig:u,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:de,onChange:_e,onDatePrev:J,onDateToday:J,onDateNext:J})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},r||i?[(0,_vue.h)("span",r),(0,_vue.h)("span",""+(S||"")),(0,_vue.h)("span",i)]:""+(S||"")),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},s?s({}):[Q("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[C?(0,_vue.h)(_button.default,{size:"mini",disabled:!(T||w),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:se}):(0,_ui.renderEmptyElement)(O),y?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:me}):(0,_ui.renderEmptyElement)(O)])])]),p?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},p({})):Q("right",!0)]),v?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},v({})):Q("bottom")])]:[])]))]))},O},render(){return this.renderVN()}});
@@ -96,6 +96,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
96
96
  type: Boolean,
97
97
  default: () => (0, _ui.getConfig)().drawer.showTitleOverflow
98
98
  },
99
+ preload: Boolean,
99
100
  width: [Number, String],
100
101
  height: [Number, String],
101
102
  resize: {
@@ -644,6 +645,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
644
645
  }
645
646
  });
646
647
  (0, _vue.onMounted)(() => {
648
+ reactData.initialized = !!props.preload;
647
649
  (0, _vue.nextTick)(() => {
648
650
  if (props.modelValue) {
649
651
  openDrawer();
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveDrawers=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"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let allActiveDrawers=exports.allActiveDrawers=[];var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.confirmClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},width:[Number,String],height:[Number,String],resize:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.resize},zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:{type:Function,default:()=>(0,_ui.getConfig)().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","resize"],setup(g,e){let{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();let r=(0,_vue.inject)("$xeModal",null),l=(0,_vue.inject)("$xeDrawer",null),o=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeForm",null),h=(0,_ui.useSize)(g).computeSize,m=(0,_vue.ref)(),x=(0,_vue.ref)(),n=(0,_vue.ref)(),s=(0,_vue.ref)(),b=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0,resizeFlag:1}),u={refElem:m},y=(0,_vue.computed)(()=>{var e=g.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(o||r||l||a)return!0}return e}),C=(0,_vue.computed)(()=>{switch(g.position){case"top":return"sb";case"bottom":return"st";case"left":return"wr"}return"wl"}),d={},B={xID:t,props:g,context:e,reactData:b,getRefMaps:()=>u,getComputeMaps:()=>d},k=()=>x.value,c=()=>{var{width:e,height:t}=g,r=k();return r&&(r.style.width=(0,_dom.toCssUnit)(e),r.style.height=(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},v=()=>{var e=g.zIndex,t=b.drawerZIndex;e?b.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(b.drawerZIndex=(0,_utils.nextZIndex)())},_=()=>{-1<allActiveDrawers.indexOf(B)&&_xeUtils.default.remove(allActiveDrawers,e=>e===B)},f=e=>{var t=g.beforeHideMethod,r=b.visible;let l={type:e};return r&&Promise.resolve(t?t(l):null).then(e=>{_xeUtils.default.isError(e)||(b.contentVisible=!1,_(),z("before-hide",l,null),setTimeout(()=>{b.visible=!1,i("update:modelValue",!1),z("hide",l,null)},200))}).catch(e=>e),(0,_vue.nextTick)()},w=e=>{var t="close";z(t,{type:t},e),f(t)},E=e=>{var t=g.confirmClosable,r="confirm";z(r,{type:r},e),t&&f(r)},V=e=>{var t=g.cancelClosable,r="cancel";z(r,{type:r},e),t&&f(r)},S=()=>{let r=g.showFooter;var{initialized:e,visible:t}=b;return e||(b.initialized=!0),t||(b.visible=!0,b.contentVisible=!1,v(),allActiveDrawers.push(B),setTimeout(()=>{c(),b.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=n.value,t=s.value,e=e||t)&&e.focus();var e,t={type:""};i("update:modelValue",!0),z("show",t,null)})},10)),(0,_vue.nextTick)()},z=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$drawer:B},t))};t={dispatchEvent:z,open:S,close(){return f("close")},getBox:k};let T=e=>{var t=m.value;g.maskClosable&&e.target===t&&f("mask")},D=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(allActiveDrawers,e=>e.reactData.drawerZIndex);e&&setTimeout(()=>{e===B&&e.props.escClosable&&(z("close",{type:"exit"},t),f("exit"))},10)}},N=()=>{let t=b.drawerZIndex;allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&v()},I=e=>{e.preventDefault();let{visibleHeight:o,visibleWidth:a}=(0,_dom.getDomNode)();let n=e.target.getAttribute("type"),s=a,u=o,d=k(),c=d.clientWidth,v=d.clientHeight,_=e.clientX,f=e.clientY,w=d.offsetTop,g=d.offsetLeft,p={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,r,l,i;switch(n){case"wl":t=_-e.clientX,l=t+c,0<g-t&&0<l&&(d.style.width=`${l<s?l:s}px`);break;case"st":r=f-e.clientY,i=v+r,0<w-r&&0<i&&(d.style.height=`${i<u?i:u}px`);break;case"wr":t=e.clientX-_,l=t+c,g+l+0<a&&0<l&&(d.style.width=`${l<s?l:s}px`);break;case"sb":r=e.clientY-f,i=r+v,w+i+0<o&&0<i&&(d.style.height=`${i<u?i:u}px`)}d.className=d.className.replace(/\s?is--drag/,"")+" is--drag",z("resize",p,e),b.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,b.resizeFlag++,setTimeout(()=>{d.className=d.className.replace(/\s?is--drag/,"")},50)}};Object.assign(B,t,{});let $=()=>{var{slots:e={},showClose:t,title:r}=g,l=p.title||e.title,e=p.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},l?(0,_vn.getSlotVNs)(l({$drawer:B})):r?(0,_utils.getFuncText)(r):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:B}))):(0,_ui.renderEmptyElement)(B),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.drawer.close"),onClick:w},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().DRAWER_CLOSE})]):(0,_ui.renderEmptyElement)(B)])]},q=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r,loading:l}=g,i=p.leftfoot||e.leftfoot,e=p.rightfoot||e.rightfoot,o=[];return t&&o.push((0,_vue.h)(_button.default,{key:1,ref:s,content:g.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:V})),r&&o.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:g.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:E})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},i?(0,_vn.getSlotVNs)(i({$drawer:B})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:B})):o)])};return(0,_vue.watch)(()=>g.width,c),(0,_vue.watch)(()=>g.height,c),(0,_vue.watch)(()=>g.modelValue,e=>{e?S():f("model")}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{g.modelValue&&S(),c()}),g.escClosable&&_ui.globalEvents.on(B,"keydown",D)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(B,"keydown"),_()}),(0,_vue.provide)("$xeDrawer",B),B.renderVN=()=>{var{slots:e={},className:t,position:r,loading:l,lockScroll:i,padding:o,lockView:a,mask:n,resize:s,destroyOnClose:u}=g,{initialized:d,contentVisible:c,visible:v}=b,e=p.aside||e.aside,_=h.value,f=C.value,w=y.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!w||!d},[(0,_vue.h)("div",{ref:m,class:["vxe-drawer--wrapper","pos--"+r,t||"",{["size--"+_]:_,"is--padding":o,"lock--scroll":i,"lock--view":a,"is--resize":s,"is--mask":n,"is--visible":c,"is--active":v,"is--loading":l}],style:{zIndex:b.drawerZIndex},onClick:T},[(0,_vue.h)("div",{ref:x,class:"vxe-drawer--box",onMousedown:N},[e?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(e({$drawer:B}))):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{class:"vxe-drawer--container"},!b.initialized||u&&!b.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=g,e=p.header||e.header;return g.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:B})):$()):(0,_ui.renderEmptyElement)(B)})(),(()=>{var{slots:e={},content:t,useHtml:r}=g,l=p.default||e.default,i=p.left||e.left,e=p.right||e.right;return(0,_vue.h)("div",{class:"vxe-drawer--body"},[i?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(i({$drawer:B}))):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},[r&&!l?(0,_vue.h)("div",{key:"hc",class:"vxe-drawer--content",innerHTML:(0,_utils.getFuncText)(t)}):(0,_vue.h)("div",{key:"dc",class:"vxe-drawer--content"},l?(0,_vn.getSlotVNs)(l({$drawer:B})):(0,_utils.getFuncText)(t))]),e?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(e({$drawer:B}))):(0,_ui.renderEmptyElement)(B),(0,_vue.h)(_index.default,{class:"vxe-drawer--loading",modelValue:g.loading})])})(),(()=>{var{slots:e={}}=g,e=p.footer||e.footer;return g.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:B})):[q()]):(0,_ui.renderEmptyElement)(B)})(),s?(0,_vue.h)("span",{class:"vxe-drawer--resize"},[(0,_vue.h)("span",{class:f+"-resize",type:f,onMousedown:I})]):(0,_ui.renderEmptyElement)(B)])])])])},B},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.allActiveDrawers=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"),_vn=require("../../ui/src/vn"),_button=_interopRequireDefault(require("../../button/src/button")),_index=_interopRequireDefault(require("../../loading/index"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let allActiveDrawers=exports.allActiveDrawers=[];var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDrawer",props:{modelValue:Boolean,id:String,title:String,loading:{type:Boolean,default:null},className:String,position:{type:[String,Object],default:()=>(0,_ui.getConfig)().drawer.position},lockView:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.lockView},lockScroll:Boolean,mask:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.mask},maskClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.maskClosable},escClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.escClosable},cancelClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.cancelClosable},confirmClosable:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.confirmClosable},showHeader:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showHeader},showFooter:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showFooter},showClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showClose},content:[Number,String],useHtml:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.useHtml},showCancelButton:{type:Boolean,default:null},cancelButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.cancelButtonText},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showConfirmButton},confirmButtonText:{type:String,default:()=>(0,_ui.getConfig)().drawer.confirmButtonText},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.destroyOnClose},showTitleOverflow:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.showTitleOverflow},preload:Boolean,width:[Number,String],height:[Number,String],resize:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.resize},zIndex:Number,transfer:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.transfer},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().drawer.padding},size:{type:String,default:()=>(0,_ui.getConfig)().drawer.size||(0,_ui.getConfig)().size},beforeHideMethod:{type:Function,default:()=>(0,_ui.getConfig)().drawer.beforeHideMethod},slots:Object},emits:["update:modelValue","show","hide","before-hide","close","confirm","cancel","resize"],setup(g,e){let{slots:p,emit:i}=e;var t=_xeUtils.default.uniqueId();let r=(0,_vue.inject)("$xeModal",null),l=(0,_vue.inject)("$xeDrawer",null),o=(0,_vue.inject)("$xeTable",null),a=(0,_vue.inject)("$xeForm",null),h=(0,_ui.useSize)(g).computeSize,m=(0,_vue.ref)(),x=(0,_vue.ref)(),n=(0,_vue.ref)(),s=(0,_vue.ref)(),b=(0,_vue.reactive)({initialized:!1,visible:!1,contentVisible:!1,drawerZIndex:0,resizeFlag:1}),u={refElem:m},y=(0,_vue.computed)(()=>{var e=g.transfer;if(null===e){var t=(0,_ui.getConfig)().modal.transfer;if(_xeUtils.default.isBoolean(t))return t;if(o||r||l||a)return!0}return e}),C=(0,_vue.computed)(()=>{switch(g.position){case"top":return"sb";case"bottom":return"st";case"left":return"wr"}return"wl"}),d={},B={xID:t,props:g,context:e,reactData:b,getRefMaps:()=>u,getComputeMaps:()=>d},k=()=>x.value,c=()=>{var{width:e,height:t}=g,r=k();return r&&(r.style.width=(0,_dom.toCssUnit)(e),r.style.height=(0,_dom.toCssUnit)(t)),(0,_vue.nextTick)()},v=()=>{var e=g.zIndex,t=b.drawerZIndex;e?b.drawerZIndex=e:t<(0,_utils.getLastZIndex)()&&(b.drawerZIndex=(0,_utils.nextZIndex)())},_=()=>{-1<allActiveDrawers.indexOf(B)&&_xeUtils.default.remove(allActiveDrawers,e=>e===B)},f=e=>{var t=g.beforeHideMethod,r=b.visible;let l={type:e};return r&&Promise.resolve(t?t(l):null).then(e=>{_xeUtils.default.isError(e)||(b.contentVisible=!1,_(),S("before-hide",l,null),setTimeout(()=>{b.visible=!1,i("update:modelValue",!1),S("hide",l,null)},200))}).catch(e=>e),(0,_vue.nextTick)()},w=e=>{var t="close";S(t,{type:t},e),f(t)},E=e=>{var t=g.confirmClosable,r="confirm";S(r,{type:r},e),t&&f(r)},V=e=>{var t=g.cancelClosable,r="cancel";S(r,{type:r},e),t&&f(r)},z=()=>{let r=g.showFooter;var{initialized:e,visible:t}=b;return e||(b.initialized=!0),t||(b.visible=!0,b.contentVisible=!1,v(),allActiveDrawers.push(B),setTimeout(()=>{c(),b.contentVisible=!0,(0,_vue.nextTick)(()=>{r&&(e=n.value,t=s.value,e=e||t)&&e.focus();var e,t={type:""};i("update:modelValue",!0),S("show",t,null)})},10)),(0,_vue.nextTick)()},S=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$drawer:B},t))};t={dispatchEvent:S,open:z,close(){return f("close")},getBox:k};let T=e=>{var t=m.value;g.maskClosable&&e.target===t&&f("mask")},D=t=>{if(_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE)){let e=_xeUtils.default.max(allActiveDrawers,e=>e.reactData.drawerZIndex);e&&setTimeout(()=>{e===B&&e.props.escClosable&&(S("close",{type:"exit"},t),f("exit"))},10)}},N=()=>{let t=b.drawerZIndex;allActiveDrawers.some(e=>e.reactData.visible&&e.reactData.drawerZIndex>t)&&v()},I=e=>{e.preventDefault();let{visibleHeight:o,visibleWidth:a}=(0,_dom.getDomNode)();let n=e.target.getAttribute("type"),s=a,u=o,d=k(),c=d.clientWidth,v=d.clientHeight,_=e.clientX,f=e.clientY,w=d.offsetTop,g=d.offsetLeft,p={type:"resize"};document.onmousemove=e=>{e.preventDefault();let t,r,l,i;switch(n){case"wl":t=_-e.clientX,l=t+c,0<g-t&&0<l&&(d.style.width=`${l<s?l:s}px`);break;case"st":r=f-e.clientY,i=v+r,0<w-r&&0<i&&(d.style.height=`${i<u?i:u}px`);break;case"wr":t=e.clientX-_,l=t+c,g+l+0<a&&0<l&&(d.style.width=`${l<s?l:s}px`);break;case"sb":r=e.clientY-f,i=r+v,w+i+0<o&&0<i&&(d.style.height=`${i<u?i:u}px`)}d.className=d.className.replace(/\s?is--drag/,"")+" is--drag",S("resize",p,e),b.resizeFlag++},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,b.resizeFlag++,setTimeout(()=>{d.className=d.className.replace(/\s?is--drag/,"")},50)}};Object.assign(B,t,{});let $=()=>{var{slots:e={},showClose:t,title:r}=g,l=p.title||e.title,e=p.corner||e.corner;return[(0,_vue.h)("div",{class:"vxe-drawer--header-title"},l?(0,_vn.getSlotVNs)(l({$drawer:B})):r?(0,_utils.getFuncText)(r):(0,_ui.getI18n)("vxe.alert.title")),(0,_vue.h)("div",{class:"vxe-drawer--header-right"},[e?(0,_vue.h)("div",{class:"vxe-drawer--corner-wrapper"},(0,_vn.getSlotVNs)(e({$drawer:B}))):(0,_ui.renderEmptyElement)(B),t?(0,_vue.h)("div",{class:["vxe-drawer--close-btn","trigger--btn"],title:(0,_ui.getI18n)("vxe.drawer.close"),onClick:w},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().DRAWER_CLOSE})]):(0,_ui.renderEmptyElement)(B)])]},q=()=>{var{slots:e={},showCancelButton:t,showConfirmButton:r,loading:l}=g,i=p.leftfoot||e.leftfoot,e=p.rightfoot||e.rightfoot,o=[];return t&&o.push((0,_vue.h)(_button.default,{key:1,ref:s,content:g.cancelButtonText||(0,_ui.getI18n)("vxe.button.cancel"),onClick:V})),r&&o.push((0,_vue.h)(_button.default,{key:2,ref:n,loading:l,status:"primary",content:g.confirmButtonText||(0,_ui.getI18n)("vxe.button.confirm"),onClick:E})),(0,_vue.h)("div",{class:"vxe-drawer--footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-drawer--footer-left"},i?(0,_vn.getSlotVNs)(i({$drawer:B})):[]),(0,_vue.h)("div",{class:"vxe-drawer--footer-right"},e?(0,_vn.getSlotVNs)(e({$drawer:B})):o)])};return(0,_vue.watch)(()=>g.width,c),(0,_vue.watch)(()=>g.height,c),(0,_vue.watch)(()=>g.modelValue,e=>{e?z():f("model")}),(0,_vue.onMounted)(()=>{b.initialized=!!g.preload,(0,_vue.nextTick)(()=>{g.modelValue&&z(),c()}),g.escClosable&&_ui.globalEvents.on(B,"keydown",D)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(B,"keydown"),_()}),(0,_vue.provide)("$xeDrawer",B),B.renderVN=()=>{var{slots:e={},className:t,position:r,loading:l,lockScroll:i,padding:o,lockView:a,mask:n,resize:s,destroyOnClose:u}=g,{initialized:d,contentVisible:c,visible:v}=b,e=p.aside||e.aside,_=h.value,f=C.value,w=y.value;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!w||!d},[(0,_vue.h)("div",{ref:m,class:["vxe-drawer--wrapper","pos--"+r,t||"",{["size--"+_]:_,"is--padding":o,"lock--scroll":i,"lock--view":a,"is--resize":s,"is--mask":n,"is--visible":c,"is--active":v,"is--loading":l}],style:{zIndex:b.drawerZIndex},onClick:T},[(0,_vue.h)("div",{ref:x,class:"vxe-drawer--box",onMousedown:N},[e?(0,_vue.h)("div",{class:"vxe-drawer--aside"},(0,_vn.getSlotVNs)(e({$drawer:B}))):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{class:"vxe-drawer--container"},!b.initialized||u&&!b.visible?[]:[(()=>{var{slots:e={},showTitleOverflow:t}=g,e=p.header||e.header;return g.showHeader?(0,_vue.h)("div",{class:["vxe-drawer--header",{"is--ellipsis":t}]},e?(0,_vn.getSlotVNs)(e({$drawer:B})):$()):(0,_ui.renderEmptyElement)(B)})(),(()=>{var{slots:e={},content:t,useHtml:r}=g,l=p.default||e.default,i=p.left||e.left,e=p.right||e.right;return(0,_vue.h)("div",{class:"vxe-drawer--body"},[i?(0,_vue.h)("div",{class:"vxe-drawer--body-left"},(0,_vn.getSlotVNs)(i({$drawer:B}))):(0,_ui.renderEmptyElement)(B),(0,_vue.h)("div",{class:"vxe-drawer--body-default"},[r&&!l?(0,_vue.h)("div",{key:"hc",class:"vxe-drawer--content",innerHTML:(0,_utils.getFuncText)(t)}):(0,_vue.h)("div",{key:"dc",class:"vxe-drawer--content"},l?(0,_vn.getSlotVNs)(l({$drawer:B})):(0,_utils.getFuncText)(t))]),e?(0,_vue.h)("div",{class:"vxe-drawer--body-right"},(0,_vn.getSlotVNs)(e({$drawer:B}))):(0,_ui.renderEmptyElement)(B),(0,_vue.h)(_index.default,{class:"vxe-drawer--loading",modelValue:g.loading})])})(),(()=>{var{slots:e={}}=g,e=p.footer||e.footer;return g.showFooter?(0,_vue.h)("div",{class:"vxe-drawer--footer"},e?(0,_vn.getSlotVNs)(e({$drawer:B})):[q()]):(0,_ui.renderEmptyElement)(B)})(),s?(0,_vue.h)("span",{class:"vxe-drawer--resize"},[(0,_vue.h)("span",{class:f+"-resize",type:f,onMousedown:I})]):(0,_ui.renderEmptyElement)(B)])])])])},B},render(){return this.renderVN()}});
@@ -6,6 +6,9 @@ var _ui = require("../../ui");
6
6
  var _vn = require("../../ui/src/vn");
7
7
  var _log = require("../../ui/src/log");
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ const {
10
+ errLog
11
+ } = (0, _log.createComponentLog)('form');
9
12
  const componentDefaultModelProp = 'modelValue';
10
13
  /**
11
14
  * 已废弃
@@ -110,7 +113,7 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
110
113
  _xeUtils.default.objectEach(events, (func, key) => {
111
114
  ons[(0, _vn.getOnName)(key)] = function (...args) {
112
115
  if (!_xeUtils.default.isFunction(func)) {
113
- (0, _log.errLog)('vxe.error.errFunc', [`[form] ${func}`]);
116
+ errLog('vxe.error.errFunc', [func]);
114
117
  }
115
118
  func(params, ...args);
116
119
  };
@@ -1 +1 @@
1
- var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+(""+(e||"")).replace("$","")}function getDefaultComponent(e){e=e.name;return(0,_ui.getComponent)(e)||(0,_vue.resolveComponent)(""+e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},o,e.props,{[componentDefaultModelProp]:n})}function getNativeElementOns(e,n,t,o){let r=e.events,m=(0,_vn.getModelEvent)(e),s=(0,_vn.getChangeEvent)(e),a=s===m,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(m)]=function(e){t(e),a&&o&&o(e),r&&r[m]&&r[m](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(s)]=function(...e){o(...e),r&&r[s]&&r[s](n,...e)}),u}function getComponentOns(e,n,t,o){let r=e.events,{model:m,change:s}=t||{},a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",["[form] "+t]),t(n,...e)}}),m&&(i[(0,_vn.getOnName)(a)]=function(e){m(e),r&&r[a]&&r[a](n,e)}),s&&(i[(0,_vn.getOnName)(u)]=function(...e){s(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){let{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(){n.updateStatus(t),e.changeToSubmit&&n.handleSubmitEvent(new Event("change"))}})}function getNativeItemOns(e,t){let{$form:n,data:o,field:r}=t;return getNativeElementOns(e,t,e=>{e=e.target.value;_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function renderNativeOptgroup(n,o,r){var{optionGroups:e,optionGroupProps:t={}}=n;let m=t.options||"options",s=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[s]},r(e[m],n,o))):[]}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e.name,m=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},m),{value:!m||"input"!==r||"submit"!==m.type&&"reset"!==m.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsItemRender(e,t){e=e.children;return e?e.map(e=>oldButtonItemRender(e,t)[0]):[]}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;let r=t.label||"label",m=t.value||"value",s=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[m],disabled:e[s],selected:e[m]==a},e[r])):[]}function defaultFormItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function formItemRadioAndCheckboxRender(e,t){var{options:n,optionProps:o}=e,{data:r,field:m}=t,r=_xeUtils.default.get(r,m);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n,optionProps:o},getComponentFormItemProps(e,t,r)),getItemOns(e,t)))]}function oldFormItemRadioAndCheckboxRender(e,t){let{name:n,options:o,optionProps:r={}}=e;var{data:m,field:s}=t;let a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";m=_xeUtils.default.get(m,s);let d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,m)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[u],content:e[a],disabled:e[i]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),Object.assign(Object.assign({},getComponentFormItemProps(e,t,m)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:!0,renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:!0,renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:!0,renderFormItemContent(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroup(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]}},VxeInput:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:!0,renderFormItemContent(n,o){let{startField:t,endField:r}=n,{$form:m,data:s,field:a}=o;var e=_xeUtils.default.get(s,a),u={},i={};return t&&r&&(u.startValue=_xeUtils.default.get(s,t),u.endValue=_xeUtils.default.get(s,r),i["onUpdate:startValue"]=e=>{t&&_xeUtils.default.set(s,t,e)},i["onUpdate:endValue"]=e=>{r&&_xeUtils.default.set(s,r,e)}),[(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({},getComponentFormItemProps(n,o,e,u)),getComponentOns(n,o,{model(e){_xeUtils.default.set(s,a,e)},change({$event:e,isFinish:t}){m.updateStatus(o),n.changeToSubmit&&t&&m.handleSubmitEvent(e)}},i)))]}},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent(e,t){var n=e.options,{data:o,field:r}=t,o=_xeUtils.default.get(o,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}},VxeSelect:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m})),getItemOns(e,t)))]}},VxeCascader:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m})),getItemOns(e,t)))]}},VxeTableSelect:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m})),getItemOns(e,t)))]}},VxeColorPicker:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.options,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{colors:r})),getItemOns(e,t)))]}},VxeIconPicker:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.options,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{icons:r})),getItemOns(e,t)))]}},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.props,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:n}),getItemOns(e,t)))]}},VxeImageGroup:{renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.props,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:n}),getItemOns(e,t)))]}},VxeUpload:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});
1
+ var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("form").errLog,componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+(""+(e||"")).replace("$","")}function getDefaultComponent(e){e=e.name;return(0,_ui.getComponent)(e)||(0,_vue.resolveComponent)(""+e)}function getOldComponent({name:e}){return(0,_vue.resolveComponent)(getOldComponentName(e))}function getNativeAttrs(e){let{name:t,attrs:n}=e;return n="input"===t?Object.assign({type:"text"},n):n}function getComponentFormItemProps(e,t,n,o){return _xeUtils.default.assign({},o,e.props,{[componentDefaultModelProp]:n})}function getNativeElementOns(e,n,t,o){let r=e.events,m=(0,_vn.getModelEvent)(e),s=(0,_vn.getChangeEvent)(e),a=s===m,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(m)]=function(e){t(e),a&&o&&o(e),r&&r[m]&&r[m](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(s)]=function(...e){o(...e),r&&r[s]&&r[s](n,...e)}),u}function getComponentOns(e,n,t,o){let r=e.events,{model:m,change:s}=t||{},a=(0,_vn.getModelEvent)(e),u=(0,_vn.getChangeEvent)(e),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){_xeUtils.default.isFunction(t)||errLog("vxe.error.errFunc",[t]),t(n,...e)}}),m&&(i[(0,_vn.getOnName)(a)]=function(e){m(e),r&&r[a]&&r[a](n,e)}),s&&(i[(0,_vn.getOnName)(u)]=function(...e){s(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){let{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(){n.updateStatus(t),e.changeToSubmit&&n.handleSubmitEvent(new Event("change"))}})}function getNativeItemOns(e,t){let{$form:n,data:o,field:r}=t;return getNativeElementOns(e,t,e=>{e=e.target.value;_xeUtils.default.set(o,r,e)},()=>{n.updateStatus(t)})}function renderNativeOptgroup(n,o,r){var{optionGroups:e,optionGroupProps:t={}}=n;let m=t.options||"options",s=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[s]},r(e[m],n,o))):[]}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e.name,m=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(""+r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},m),{value:!m||"input"!==r||"submit"!==m.type&&"reset"!==m.type?n:null}),getNativeItemOns(e,t)))]}function defaultItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function oldButtonItemRender(e,t){return[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,null)),getComponentOns(e,t)))]}function oldButtonsItemRender(e,t){e=e.children;return e?e.map(e=>oldButtonItemRender(e,t)[0]):[]}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;let r=t.label||"label",m=t.value||"value",s=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[m],disabled:e[s],selected:e[m]==a},e[r])):[]}function defaultFormItemRender(e,t){var{data:n,field:o}=t,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n)),getItemOns(e,t)))]}function formItemRadioAndCheckboxRender(e,t){var{options:n,optionProps:o}=e,{data:r,field:m}=t,r=_xeUtils.default.get(r,m);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n,optionProps:o},getComponentFormItemProps(e,t,r)),getItemOns(e,t)))]}function oldFormItemRadioAndCheckboxRender(e,t){let{name:n,options:o,optionProps:r={}}=e;var{data:m,field:s}=t;let a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";m=_xeUtils.default.get(m,s);let d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,m)),getItemOns(e,t)),{default:()=>o.map((e,t)=>(0,_vue.h)((0,_vue.resolveComponent)(d),{key:t,label:e[u],content:e[a],disabled:e[i]}))})]:[(0,_vue.h)((0,_vue.resolveComponent)(d),Object.assign(Object.assign({},getComponentFormItemProps(e,t,m)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:!0,renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:!0,renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:!0,renderFormItemContent(e,t){return[(0,_vue.h)("select",Object.assign(Object.assign({class:"vxe-default-select"},getNativeAttrs(e)),getNativeItemOns(e,t)),e.optionGroups?renderNativeOptgroup(e,t,renderNativeFormOptions):renderNativeFormOptions(e.options,e,t))]}},VxeInput:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:!0,renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:!0,renderFormItemContent(n,o){let{startField:t,endField:r}=n,{$form:m,data:s,field:a}=o;var e=_xeUtils.default.get(s,a),u={},i={};return t&&r&&(u.startValue=_xeUtils.default.get(s,t),u.endValue=_xeUtils.default.get(s,r),i["onUpdate:startValue"]=e=>{t&&_xeUtils.default.set(s,t,e)},i["onUpdate:endValue"]=e=>{r&&_xeUtils.default.set(s,r,e)}),[(0,_vue.h)(getDefaultComponent(n),Object.assign(Object.assign({},getComponentFormItemProps(n,o,e,u)),getComponentOns(n,o,{model(e){_xeUtils.default.set(s,a,e)},change({$event:e,isFinish:t}){m.updateStatus(o),n.changeToSubmit&&t&&m.handleSubmitEvent(e)}},i)))]}},VxeButton:{renderFormItemContent:defaultFormItemRender},VxeButtonGroup:{renderFormItemContent(e,t){var n=e.options,{data:o,field:r}=t,o=_xeUtils.default.get(o,r);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({options:n},getComponentFormItemProps(e,t,o)),getItemOns(e,t)))]}},VxeSelect:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m})),getItemOns(e,t)))]}},VxeCascader:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m})),getItemOns(e,t)))]}},VxeTableSelect:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m})),getItemOns(e,t)))]}},VxeColorPicker:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.options,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{colors:r})),getItemOns(e,t)))]}},VxeIconPicker:{formItemAutoFocus:!0,renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.options,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{icons:r})),getItemOns(e,t)))]}},VxeRadio:{renderFormItemContent:defaultFormItemRender},VxeRadioGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeCheckbox:{renderFormItemContent:defaultFormItemRender},VxeCheckboxGroup:{renderFormItemContent:formItemRadioAndCheckboxRender},VxeSwitch:{renderFormItemContent:defaultItemRender},VxeRate:{renderFormItemContent:defaultItemRender},VxeSlider:{renderFormItemContent:defaultItemRender},VxeImage:{renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.props,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{src:n}),getItemOns(e,t)))]}},VxeImageGroup:{renderFormItemContent(e,t){var{data:n,field:o}=t,r=e.props,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign(Object.assign({},r),{urlList:n}),getItemOns(e,t)))]}},VxeUpload:{renderFormItemContent:defaultItemRender},$input:{formItemAutoFocus:"input",renderFormItemContent:oldItemRender},$textarea:{formItemAutoFocus:"textarea",renderFormItemContent:oldItemRender},$button:{renderFormItemContent:oldButtonItemRender},$buttons:{renderFormItemContent:oldButtonsItemRender},$select:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getOldComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:m,optionGroups:s,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});
@@ -19,6 +19,10 @@ var _vn = require("../../ui/src/vn");
19
19
  var _log = require("../../ui/src/log");
20
20
  require("../render");
21
21
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
+ const {
23
+ warnLog,
24
+ errLog
25
+ } = (0, _log.createComponentLog)('form');
22
26
  class Rule {
23
27
  constructor(rule) {
24
28
  Object.assign(this, {
@@ -339,7 +343,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
339
343
  _xeUtils.default.each(item.slots, func => {
340
344
  if (!_xeUtils.default.isFunction(func)) {
341
345
  if (!slots[func]) {
342
- (0, _log.errLog)('vxe.error.notSlot', [`[form] ${func}`]);
346
+ errLog('vxe.error.notSlot', [func]);
343
347
  }
344
348
  }
345
349
  });
@@ -622,10 +626,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
622
626
  if (validatorMethod) {
623
627
  customValid = validatorMethod(validParams);
624
628
  } else {
625
- (0, _log.warnLog)('vxe.error.notValidators', [`[form] ${validator}`]);
629
+ warnLog('vxe.error.notValidators', [validator]);
626
630
  }
627
631
  } else {
628
- (0, _log.errLog)('vxe.error.notValidators', [`[form] ${validator}`]);
632
+ errLog('vxe.error.notValidators', [validator]);
629
633
  }
630
634
  } else {
631
635
  customValid = validator(validParams);
@@ -1056,7 +1060,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1056
1060
  (0, _vue.onMounted)(() => {
1057
1061
  (0, _vue.nextTick)(() => {
1058
1062
  if (props.customLayout && props.items) {
1059
- (0, _log.errLog)('vxe.error.errConflicts', ['[form] custom-layout', 'items']);
1063
+ errLog('vxe.error.errConflicts', ['custom-layout', 'items']);
1060
1064
  }
1061
1065
  });
1062
1066
  _ui.globalEvents.on($xeForm, 'resize', handleGlobalResizeEvent);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.createReactData=createReactData,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("./util"),_tooltip=_interopRequireDefault(require("../../tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../render");class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,u="array"===e,o="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(u){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t,l){var{required:i,field:r}=e,t=r?_xeUtils.default.get(t,r):l,r=_xeUtils.default.isArray(t)?!t.length:(0,_utils.eqEmptyValue)(t);if(i){if(r)return!1;if(!validRuleValue(e,t,i))return!1}else if(!r&&!validRuleValue(e,t,i))return!1;return!0}function createReactData(){return{collapseAll:!1,staticItems:[],formItems:[],itemWidth:0}}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{},fullItemIdData:{},fullItemFieldData:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout},params:Object},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){let{slots:d,emit:i}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();let f=(0,_ui.useSize)(s).computeSize,c=(0,_vue.reactive)(createReactData()),m=createInternalData(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),r={},_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,s.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,s.tooltipConfig));var l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,s.collapseConfig));let a=(0,_vue.computed)(()=>{let{titleWidth:i,vertical:r}=s;var e=c.formItems;let a=[];return _xeUtils.default.eachTree(e,e=>{var{titleWidth:t,vertical:l}=e;"auto"!==t&&("auto"!==((_xeUtils.default.eqNull(l)?r:l)?null:_xeUtils.default.eqNull(t)?i:t)||e.children&&e.children.length)||a.push(e)},{children:"children"}),a}),u={refElem:v},n={computeSize:f,computeValidOpts:_,computeTooltipOpts:p,computeCollapseOpts:l,computeAutoItemWidthList:a},h={xID:t,props:s,context:e,reactData:c,internalData:m,xeGrid:o,getRefMaps:()=>u,getComputeMaps:()=>n};let x=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",["[form] "+e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),m.itemFormatCache={},(0,_vue.nextTick)().then(()=>F())),y=()=>{let t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},b=e=>{var t=m.fullItemFieldData,t=t[e];return t?t.item:null},I=()=>c.collapseAll,C=()=>{var e=!I();return c.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};let U=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1,e.showIconMsg=!1)})}else y().forEach(e=>{e.showError=!1,e.showIconMsg=!1});return(0,_vue.nextTick)()},E=(e,t,l)=>{var{field:i,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:i,item:e,data:t,$form:h,$grid:o}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(l)?[]:r},w=()=>{let u=s.data;var e=y();return u&&e.forEach(e=>{var t,l,i,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:l}=a,i=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&i?i({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,E(e,u,a))),t)&&l&&(_xeUtils.default.set(u,t,E(e,u,_xeUtils.default.get(u,t))),_xeUtils.default.set(u,l,E(e,u,_xeUtils.default.get(u,l))))}),m.itemFormatCache={},U(),F()},O=e=>{e.preventDefault(),w(),r.dispatchEvent("reset",{data:s.data},e)},$=e=>{var l=v.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=b(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r.itemRender,u=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(u?u.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:o,item:r,data:s.data,field:i}):!0===a?e=l.querySelector(`.${r.id} input,textarea`):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},S=(f,e,t)=>{let{data:c,rules:l}=s,i={};return _xeUtils.default.isArray(e)||(e=[e]),Promise.all(e.map(n=>{let s=[],d=[];if(n&&l){var e=b(n);let o=e&&e.rules?e.rules:_xeUtils.default.get(l,n);if(o){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(c,n):t;o.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===f||!l||f===l)if(i){var r,a={itemValue:u,rule:t,rules:o,data:c,field:n,property:n,$form:h};let e;_xeUtils.default.isString(i)?(r=_ui.validators.get(i))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):(0,_log.warnLog)("vxe.error.notValidators",["[form] "+i]):(0,_log.errLog)("vxe.error.notValidators",["[form] "+i]):e=i(a),e&&(_xeUtils.default.isError(e)?s.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{s.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,c,u)||s.push(new Rule(t))})}}return Promise.all(d).then(()=>{s.length&&(i[n]=s.map(e=>({$form:h,rule:e,data:c,field:n,property:n})))})})).then(()=>{if(!_xeUtils.default.isEmpty(i))return Promise.reject(i)})},R=(t,e,l)=>{var{data:i,rules:r}=s;let a=_.value,u={},o=[],n=[];return clearTimeout(m.meTimeout),i&&r?(t.forEach(t=>{let l=t.field;l&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(S(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return u[l]||(u[l]=[]),u[l].push(e),o.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{l&&l()}).catch(()=>new Promise(e=>{m.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{$(o)}),l?(l(u),e()):e(u)}))):(l&&l(),Promise.resolve())};let T=t=>{var e=s.readonly;U(),e?(h.dispatchEvent("submit",{data:s.data},t),F()):R(y()).then(e=>{e?h.dispatchEvent("submit-invalid",{data:s.data,errMap:e},t):h.dispatchEvent("submit",{data:s.data},t),F()})},k=e=>{e.preventDefault(),s.preventSubmit||T(e)},q=()=>{var e=m.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};let V=(e,l,t)=>l?S(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{U(l)}).catch(e=>{var e=e[l],t=b(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();let F=()=>{var e=a.value,l=v.value;if(l&&e.length){l=l.querySelectorAll(e.map(e=>`.vxe-form--item-title[itemid="${e.id}"]`).join(","));let t=0;_xeUtils.default.arrayEach(l,e=>{e.style.width="",t=Math.max(t,Math.ceil(e.clientWidth+2))}),_xeUtils.default.arrayEach(l,e=>{e.style.width=t+"px"})}return(0,_vue.nextTick)()},j=()=>{F()};l=t=>function(e){return(_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.handleFieldOrItem)(h,e);e&&(e.visible=t)}),(0,_vue.nextTick)()},r={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$form:h,$grid:o},t))},loadItems:x,showItem:l(!0),hideItem:l(!1),reset:w,validate:e=>{var t=s.readonly;return U(),t?(0,_vue.nextTick)():R(y(),"",e).then(e=>(F(),e))},validateField:(e,t)=>{var l=s.readonly;if(l)return(0,_vue.nextTick)();let i=[];l=(i=e?_xeUtils.default.isArray(e)?e:[e]:i).map(e=>(0,_util.handleFieldOrItem)(h,e));return R(l,"",t).then(e=>(F(),e))},clearValidate:U,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:C,getItems:y,getItemByField:b,closeTooltip:q,recalculate:F},t={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{var t=C(),l=I();r.dispatchEvent("toggle-collapse",{status:l,collapse:l,data:s.data},e),r.dispatchEvent("collapse",{status:l,collapse:l,data:s.data},e),t.then(()=>{F().then(()=>{o&&o.recalculate(!0)}),o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t.item,l=m.tooltipStore,i=g.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(m.stTimeout),l.item!==t&&q(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=g.value;t&&t.setActived(!1),e.enterable?m.stTimeout=setTimeout(()=>{(t=g.value)&&!t.isActived()&&q()},e.leaveDelay):q()},handleValidIconEvent(e,t){t=t.item;t.showIconMsg=!t.showIconMsg},handleSubmitEvent:T};Object.assign(h,r,t);let A=(0,_vue.ref)(0),M=((0,_vue.watch)(()=>s.vertical,()=>{A.value++}),(0,_vue.watch)(()=>s.titleWidth,()=>{A.value++}),(0,_vue.watch)(A,()=>{(0,_vue.nextTick)().then(()=>{F()})}),(0,_vue.ref)(0)),D=((0,_vue.watch)(()=>c.staticItems.length,()=>{M.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{M.value++}),(0,_vue.watch)(M,()=>{c.formItems=c.staticItems,A.value++,(()=>{var e=c.formItems;let a={},u={};_xeUtils.default.eachTree(e,(e,t,l)=>{var{id:i,field:r}=e,e={item:e,items:l,index:t};i&&(a[i]=e),r&&(u[r]=e)},{children:"children"}),m.fullItemFieldData=u,m.fullItemIdData=a})()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{D.value++}),(0,_vue.watch)(()=>s.items,()=>{D.value++}),(0,_vue.watch)(D,()=>{x(s.items||[])}),(0,_vue.watch)(()=>s.collapseStatus,e=>{c.collapseAll=!!e}),(0,_vue.watch)(()=>s.readonly,()=>{U()}),(0,_vue.watch)(()=>s.disabled,()=>{U()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{s.customLayout&&s.items&&(0,_log.errLog)("vxe.error.errConflicts",["[form] custom-layout","items"])}),_ui.globalEvents.on(h,"resize",j)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(h,"resize"),_xeUtils.default.assign(m,createInternalData())}),c.collapseAll=!!s.collapseStatus,s.items&&x(s.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:l,data:i,customLayout:r}=s,a=c.formItems,u=f.value,o=p.value,n=d.default;return(0,_vue.h)("form",{ref:v,class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:a,data:i,$form:h}):l:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:k,onReset:O},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?n?n({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e,visible:e.visible}))),(0,_vue.h)("div",{class:"vxe-form-slots"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:g},o))])},h},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.createReactData=createReactData,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("./util"),_tooltip=_interopRequireDefault(require("../../tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}require("../render");let{warnLog,errLog}=(0,_log.createComponentLog)("form");class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}function validREValue(e,t){return!(e&&!(_xeUtils.default.isRegExp(e)?e:new RegExp(e)).test(t))}function validMaxValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t>_xeUtils.default.toNumber(e))}function validMinValue(e,t){return!(!_xeUtils.default.eqNull(e)&&t<_xeUtils.default.toNumber(e))}function validRuleValue(e,t,l){var{type:e,min:i,max:r,pattern:a}=e,u="array"===e,o="number"===e,e="string"===e,n=""+t;if(!validREValue(a,n))return!1;if(u){if(!_xeUtils.default.isArray(t))return!1;if(l&&!t.length)return!1;if(!validMinValue(i,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(i,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(l&&!n)return!1;if(!validMinValue(i,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t,l){var{required:i,field:r}=e,t=r?_xeUtils.default.get(t,r):l,r=_xeUtils.default.isArray(t)?!t.length:(0,_utils.eqEmptyValue)(t);if(i){if(r)return!1;if(!validRuleValue(e,t,i))return!1}else if(!r&&!validRuleValue(e,t,i))return!1;return!0}function createReactData(){return{collapseAll:!1,staticItems:[],formItems:[],itemWidth:0}}function createInternalData(){return{meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{},fullItemIdData:{},fullItemFieldData:{}}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout},params:Object},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){let{slots:d,emit:i}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();let f=(0,_ui.useSize)(s).computeSize,c=(0,_vue.reactive)(createReactData()),m=createInternalData(),v=(0,_vue.ref)(),g=(0,_vue.ref)(),r={},_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,s.validConfig)),p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,s.tooltipConfig));var l=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,s.collapseConfig));let a=(0,_vue.computed)(()=>{let{titleWidth:i,vertical:r}=s;var e=c.formItems;let a=[];return _xeUtils.default.eachTree(e,e=>{var{titleWidth:t,vertical:l}=e;"auto"!==t&&("auto"!==((_xeUtils.default.eqNull(l)?r:l)?null:_xeUtils.default.eqNull(t)?i:t)||e.children&&e.children.length)||a.push(e)},{children:"children"}),a}),u={refElem:v},n={computeSize:f,computeValidOpts:_,computeTooltipOpts:p,computeCollapseOpts:l,computeAutoItemWidthList:a},h={xID:t,props:s,context:e,reactData:c,internalData:m,xeGrid:o,getRefMaps:()=>u,getComputeMaps:()=>n};let x=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||errLog("vxe.error.notSlot",[e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),m.itemFormatCache={},(0,_vue.nextTick)().then(()=>F())),y=()=>{let t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},b=e=>{var t=m.fullItemFieldData,t=t[e];return t?t.item:null},I=()=>c.collapseAll,C=()=>{var e=!I();return c.collapseAll=e,i("update:collapseStatus",e),(0,_vue.nextTick)()};let U=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1,e.showIconMsg=!1)})}else y().forEach(e=>{e.showError=!1,e.showIconMsg=!1});return(0,_vue.nextTick)()},E=(e,t,l)=>{var{field:i,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:i,item:e,data:t,$form:h,$grid:o}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(l)?[]:r},w=()=>{let u=s.data;var e=y();return u&&e.forEach(e=>{var t,l,i,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:l}=a,i=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&i?i({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,E(e,u,a))),t)&&l&&(_xeUtils.default.set(u,t,E(e,u,_xeUtils.default.get(u,t))),_xeUtils.default.set(u,l,E(e,u,_xeUtils.default.get(u,l))))}),m.itemFormatCache={},U(),F()},O=e=>{e.preventDefault(),w(),r.dispatchEvent("reset",{data:s.data},e)},$=e=>{var l=v.value;if(l)for(let t=0;t<e.length;t++){var i=e[t],r=b(i);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r.itemRender,u=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(l.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(u?u.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:o,item:r,data:s.data,field:i}):!0===a?e=l.querySelector(`.${r.id} input,textarea`):a&&(e=l.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},S=(f,e,t)=>{let{data:c,rules:l}=s,i={};return _xeUtils.default.isArray(e)||(e=[e]),Promise.all(e.map(n=>{let s=[],d=[];if(n&&l){var e=b(n);let o=e&&e.rules?e.rules:_xeUtils.default.get(l,n);if(o){let u=_xeUtils.default.isUndefined(t)?_xeUtils.default.get(c,n):t;o.forEach(t=>{let{trigger:l,validator:i}=t;if("all"===f||!l||f===l)if(i){var r,a={itemValue:u,rule:t,rules:o,data:c,field:n,property:n,$form:h};let e;_xeUtils.default.isString(i)?(r=_ui.validators.get(i))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):warnLog("vxe.error.notValidators",[i]):errLog("vxe.error.notValidators",[i]):e=i(a),e&&(_xeUtils.default.isError(e)?s.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{s.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,c,u)||s.push(new Rule(t))})}}return Promise.all(d).then(()=>{s.length&&(i[n]=s.map(e=>({$form:h,rule:e,data:c,field:n,property:n})))})})).then(()=>{if(!_xeUtils.default.isEmpty(i))return Promise.reject(i)})},R=(t,e,l)=>{var{data:i,rules:r}=s;let a=_.value,u={},o=[],n=[];return clearTimeout(m.meTimeout),i&&r?(t.forEach(t=>{let l=t.field;l&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(S(e||"all",l).then(()=>{t.errRule=null}).catch(e=>{e=e[l];return u[l]||(u[l]=[]),u[l].push(e),o.push(l),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{l&&l()}).catch(()=>new Promise(e=>{m.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{$(o)}),l?(l(u),e()):e(u)}))):(l&&l(),Promise.resolve())};let T=t=>{var e=s.readonly;U(),e?(h.dispatchEvent("submit",{data:s.data},t),F()):R(y()).then(e=>{e?h.dispatchEvent("submit-invalid",{data:s.data,errMap:e},t):h.dispatchEvent("submit",{data:s.data},t),F()})},k=e=>{e.preventDefault(),s.preventSubmit||T(e)},q=()=>{var e=m.tooltipStore,t=g.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};let V=(e,l,t)=>l?S(e?["blur"].includes(e.type)?"blur":"change":"all",l,t).then(()=>{U(l)}).catch(e=>{var e=e[l],t=b(l);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();let F=()=>{var e=a.value,l=v.value;if(l&&e.length){l=l.querySelectorAll(e.map(e=>`.vxe-form--item-title[itemid="${e.id}"]`).join(","));let t=0;_xeUtils.default.arrayEach(l,e=>{e.style.width="",t=Math.max(t,Math.ceil(e.clientWidth+2))}),_xeUtils.default.arrayEach(l,e=>{e.style.width=t+"px"})}return(0,_vue.nextTick)()},j=()=>{F()};l=t=>function(e){return(_xeUtils.default.isArray(e)?e:[e]).forEach(e=>{e=(0,_util.handleFieldOrItem)(h,e);e&&(e.visible=t)}),(0,_vue.nextTick)()},r={dispatchEvent(e,t,l){i(e,(0,_ui.createEvent)(l,{$form:h,$grid:o},t))},loadItems:x,showItem:l(!0),hideItem:l(!1),reset:w,validate:e=>{var t=s.readonly;return U(),t?(0,_vue.nextTick)():R(y(),"",e).then(e=>(F(),e))},validateField:(e,t)=>{var l=s.readonly;if(l)return(0,_vue.nextTick)();let i=[];l=(i=e?_xeUtils.default.isArray(e)?e:[e]:i).map(e=>(0,_util.handleFieldOrItem)(h,e));return R(l,"",t).then(e=>(F(),e))},clearValidate:U,updateStatus:(e,t)=>{e=e.field;return V(new Event("change"),e,t)},toggleCollapse:C,getItems:y,getItemByField:b,closeTooltip:q,recalculate:F},t={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:V,toggleCollapseEvent:e=>{var t=C(),l=I();r.dispatchEvent("toggle-collapse",{status:l,collapse:l,data:s.data},e),r.dispatchEvent("collapse",{status:l,collapse:l,data:s.data},e),t.then(()=>{F().then(()=>{o&&o.recalculate(!0)}),o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t.item,l=m.tooltipStore,i=g.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(m.stTimeout),l.item!==t&&q(),r&&a&&(Object.assign(l,{item:t,visible:!0}),i)&&i.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=p.value;let t=g.value;t&&t.setActived(!1),e.enterable?m.stTimeout=setTimeout(()=>{(t=g.value)&&!t.isActived()&&q()},e.leaveDelay):q()},handleValidIconEvent(e,t){t=t.item;t.showIconMsg=!t.showIconMsg},handleSubmitEvent:T};Object.assign(h,r,t);let A=(0,_vue.ref)(0),M=((0,_vue.watch)(()=>s.vertical,()=>{A.value++}),(0,_vue.watch)(()=>s.titleWidth,()=>{A.value++}),(0,_vue.watch)(A,()=>{(0,_vue.nextTick)().then(()=>{F()})}),(0,_vue.ref)(0)),D=((0,_vue.watch)(()=>c.staticItems.length,()=>{M.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{M.value++}),(0,_vue.watch)(M,()=>{c.formItems=c.staticItems,A.value++,(()=>{var e=c.formItems;let a={},u={};_xeUtils.default.eachTree(e,(e,t,l)=>{var{id:i,field:r}=e,e={item:e,items:l,index:t};i&&(a[i]=e),r&&(u[r]=e)},{children:"children"}),m.fullItemFieldData=u,m.fullItemIdData=a})()}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{D.value++}),(0,_vue.watch)(()=>s.items,()=>{D.value++}),(0,_vue.watch)(D,()=>{x(s.items||[])}),(0,_vue.watch)(()=>s.collapseStatus,e=>{c.collapseAll=!!e}),(0,_vue.watch)(()=>s.readonly,()=>{U()}),(0,_vue.watch)(()=>s.disabled,()=>{U()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{s.customLayout&&s.items&&errLog("vxe.error.errConflicts",["custom-layout","items"])}),_ui.globalEvents.on(h,"resize",j)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(h,"resize"),_xeUtils.default.assign(m,createInternalData())}),c.collapseAll=!!s.collapseStatus,s.items&&x(s.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:l,data:i,customLayout:r}=s,a=c.formItems,u=f.value,o=p.value,n=d.default;return(0,_vue.h)("form",{ref:v,class:["vxe-form",l?_xeUtils.default.isFunction(l)?l({items:a,data:i,$form:h}):l:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:k,onReset:O},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?n?n({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e,visible:e.visible}))),(0,_vue.h)("div",{class:"vxe-form-slots"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:g},o))])},h},render(){return this.renderVN()}});
@@ -8,6 +8,9 @@ var _ui = require("../../ui");
8
8
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
9
9
  var _log = require("../../ui/src/log");
10
10
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const {
12
+ errLog
13
+ } = (0, _log.createComponentLog)('form');
11
14
  class ItemInfo {
12
15
  constructor($xeForm, item) {
13
16
  const {
@@ -19,21 +22,21 @@ class ItemInfo {
19
22
  if (_xeUtils.default.isString(formatter)) {
20
23
  const gFormatOpts = _ui.formats.get(formatter);
21
24
  if (!gFormatOpts || !gFormatOpts.formItemFormatMethod) {
22
- (0, _log.errLog)('vxe.error.notFormats', [`[form] ${formatter}`]);
25
+ errLog('vxe.error.notFormats', [formatter]);
23
26
  }
24
27
  } else if (_xeUtils.default.isArray(formatter)) {
25
28
  const gFormatOpts = _ui.formats.get(formatter[0]);
26
29
  if (!gFormatOpts || !gFormatOpts.formItemFormatMethod) {
27
- (0, _log.errLog)('vxe.error.notFormats', [`[form] ${formatter[0]}`]);
30
+ errLog('vxe.error.notFormats', [formatter[0]]);
28
31
  }
29
32
  }
30
33
  }
31
34
  if (field && itemRender) {
32
35
  if (itemRender.startField && `${itemRender.startField}`.indexOf(field) >= 0) {
33
- (0, _log.errLog)('vxe.error.modelConflicts', [`[form] field=${field}`, `item-render.startField=${itemRender.startField}`]);
36
+ errLog('vxe.error.modelConflicts', [`field=${field}`, `item-render.startField=${itemRender.startField}`]);
34
37
  }
35
38
  if (itemRender.endField && `${itemRender.endField}`.indexOf(field) >= 0) {
36
- (0, _log.errLog)('vxe.error.modelConflicts', [`[form] field=${field}`, `item-render.endField=${itemRender.endField}`]);
39
+ errLog('vxe.error.modelConflicts', [`field=${field}`, `item-render.endField=${itemRender.endField}`]);
37
40
  }
38
41
  }
39
42
  Object.assign(this, {
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.ItemInfo=void 0;var _ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class ItemInfo{constructor(e,t){var l,{field:i,itemRender:r,formatter:o}=t;o&&(_xeUtils.default.isString(o)?(l=_ui.formats.get(o))&&l.formItemFormatMethod||(0,_log.errLog)("vxe.error.notFormats",["[form] "+o]):!_xeUtils.default.isArray(o)||(l=_ui.formats.get(o[0]))&&l.formItemFormatMethod||(0,_log.errLog)("vxe.error.notFormats",["[form] "+o[0]])),i&&r&&(r.startField&&0<=(""+r.startField).indexOf(i)&&(0,_log.errLog)("vxe.error.modelConflicts",["[form] field="+i,"item-render.startField="+r.startField]),r.endField)&&0<=(""+r.endField).indexOf(i)&&(0,_log.errLog)("vxe.error.modelConflicts",["[form] field="+i,"item-render.endField="+r.endField]),Object.assign(this,{id:_xeUtils.default.uniqueId("item_"),title:t.title,field:i,span:t.span,align:t.align,verticalAlign:t.verticalAlign,titleBackground:t.titleBackground,titleBold:t.titleBold,titleAlign:t.titleAlign,titleWidth:t.titleWidth,titleColon:t.titleColon,vertical:t.vertical,padding:t.padding,titleAsterisk:t.titleAsterisk,titlePrefix:t.titlePrefix,titleSuffix:t.titleSuffix,titleOverflow:t.titleOverflow,showTitle:t.showTitle,resetValue:t.resetValue,visibleMethod:t.visibleMethod,visible:t.visible,showContent:t.showContent,folding:t.folding,collapseNode:t.collapseNode,className:t.className,contentClassName:t.contentClassName,contentStyle:t.contentStyle,titleClassName:t.titleClassName,titleStyle:t.titleStyle,itemRender:r,rules:t.rules,formatter:o,params:t.params,showError:!1,showIconMsg:!1,errRule:null,slots:t.slots,children:[]})}update(e,t){this[e]=t}}exports.ItemInfo=ItemInfo;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.ItemInfo=void 0;var _ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let errLog=(0,_log.createComponentLog)("form").errLog;class ItemInfo{constructor(e,t){var l,{field:i,itemRender:r,formatter:o}=t;o&&(_xeUtils.default.isString(o)?(l=_ui.formats.get(o))&&l.formItemFormatMethod||errLog("vxe.error.notFormats",[o]):!_xeUtils.default.isArray(o)||(l=_ui.formats.get(o[0]))&&l.formItemFormatMethod||errLog("vxe.error.notFormats",[o[0]])),i&&r&&(r.startField&&0<=(""+r.startField).indexOf(i)&&errLog("vxe.error.modelConflicts",["field="+i,"item-render.startField="+r.startField]),r.endField)&&0<=(""+r.endField).indexOf(i)&&errLog("vxe.error.modelConflicts",["field="+i,"item-render.endField="+r.endField]),Object.assign(this,{id:_xeUtils.default.uniqueId("item_"),title:t.title,field:i,span:t.span,align:t.align,verticalAlign:t.verticalAlign,titleBackground:t.titleBackground,titleBold:t.titleBold,titleAlign:t.titleAlign,titleWidth:t.titleWidth,titleColon:t.titleColon,vertical:t.vertical,padding:t.padding,titleAsterisk:t.titleAsterisk,titlePrefix:t.titlePrefix,titleSuffix:t.titleSuffix,titleOverflow:t.titleOverflow,showTitle:t.showTitle,resetValue:t.resetValue,visibleMethod:t.visibleMethod,visible:t.visible,showContent:t.showContent,folding:t.folding,collapseNode:t.collapseNode,className:t.className,contentClassName:t.contentClassName,contentStyle:t.contentStyle,titleClassName:t.titleClassName,titleStyle:t.titleStyle,itemRender:r,rules:t.rules,formatter:o,params:t.params,showError:!1,showIconMsg:!1,errRule:null,slots:t.slots,children:[]})}update(e,t){this[e]=t}}exports.ItemInfo=ItemInfo;