vxe-pc-ui 4.6.8 → 4.6.10

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 (178) hide show
  1. package/es/alert/src/alert.js +5 -5
  2. package/es/anchor/src/anchor-link.js +3 -2
  3. package/es/anchor/src/anchor.js +3 -3
  4. package/es/breadcrumb/src/breadcrumb-item.js +3 -2
  5. package/es/button/src/button-group.js +3 -3
  6. package/es/button/src/button.js +7 -8
  7. package/es/card/src/card.js +7 -7
  8. package/es/carousel/src/carousel.js +3 -3
  9. package/es/countdown/src/countdown.js +4 -4
  10. package/es/form/render/index.js +2 -4
  11. package/es/form/src/form-group.js +5 -3
  12. package/es/form/src/form-item.js +6 -4
  13. package/es/form/src/form.js +97 -37
  14. package/es/form-design/src/default-setting-form.js +1 -1
  15. package/es/form-design/src/form-view.js +7 -9
  16. package/es/icon/style.css +1 -1
  17. package/es/icon-picker/src/icon-picker.js +4 -4
  18. package/es/image/src/group.js +3 -1
  19. package/es/image/src/image.js +3 -1
  20. package/es/image/src/preview.js +33 -19
  21. package/es/image/src/util.js +1 -0
  22. package/es/list-design/src/layout-preview.js +5 -7
  23. package/es/list-design/src/list-view.js +8 -10
  24. package/es/loading/src/loading.js +3 -3
  25. package/es/menu/src/menu.js +9 -9
  26. package/es/modal/src/modal.js +16 -18
  27. package/es/pager/src/pager.js +1 -3
  28. package/es/password-input/src/password-input.js +7 -7
  29. package/es/print/src/print.js +6 -6
  30. package/es/pulldown/src/pulldown.js +4 -4
  31. package/es/style.css +1 -1
  32. package/es/style.min.css +1 -1
  33. package/es/switch/src/switch.js +4 -4
  34. package/es/table-select/src/table-select.js +5 -7
  35. package/es/tabs/src/tabs.js +11 -15
  36. package/es/tag/src/tag.js +3 -3
  37. package/es/tip/src/tip.js +5 -5
  38. package/es/tree/src/tree.js +245 -180
  39. package/es/ui/index.js +3 -7
  40. package/es/ui/src/log.js +1 -1
  41. package/es/upload/src/upload.js +31 -33
  42. package/lib/alert/src/alert.js +3 -3
  43. package/lib/alert/src/alert.min.js +1 -1
  44. package/lib/anchor/src/anchor-link.js +2 -1
  45. package/lib/anchor/src/anchor-link.min.js +1 -1
  46. package/lib/anchor/src/anchor.js +3 -3
  47. package/lib/anchor/src/anchor.min.js +1 -1
  48. package/lib/breadcrumb/src/breadcrumb-item.js +2 -1
  49. package/lib/breadcrumb/src/breadcrumb-item.min.js +1 -1
  50. package/lib/button/src/button-group.js +6 -6
  51. package/lib/button/src/button-group.min.js +1 -1
  52. package/lib/button/src/button.js +4 -6
  53. package/lib/button/src/button.min.js +1 -1
  54. package/lib/card/src/card.js +4 -4
  55. package/lib/card/src/card.min.js +1 -1
  56. package/lib/carousel/src/carousel.js +1 -1
  57. package/lib/carousel/src/carousel.min.js +1 -1
  58. package/lib/countdown/src/countdown.js +2 -2
  59. package/lib/countdown/src/countdown.min.js +1 -1
  60. package/lib/form/render/index.js +2 -4
  61. package/lib/form/render/index.min.js +1 -1
  62. package/lib/form/src/form-group.js +3 -1
  63. package/lib/form/src/form-group.min.js +1 -1
  64. package/lib/form/src/form-item.js +4 -2
  65. package/lib/form/src/form-item.min.js +1 -1
  66. package/lib/form/src/form.js +95 -36
  67. package/lib/form/src/form.min.js +1 -1
  68. package/lib/form-design/src/default-setting-form.js +12 -12
  69. package/lib/form-design/src/default-setting-form.min.js +1 -1
  70. package/lib/form-design/src/form-view.js +5 -7
  71. package/lib/form-design/src/form-view.min.js +1 -1
  72. package/lib/icon/style/style.css +1 -1
  73. package/lib/icon/style/style.min.css +1 -1
  74. package/lib/icon-picker/src/icon-picker.js +2 -2
  75. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  76. package/lib/image/src/group.js +3 -0
  77. package/lib/image/src/group.min.js +1 -1
  78. package/lib/image/src/image.js +3 -0
  79. package/lib/image/src/image.min.js +1 -1
  80. package/lib/image/src/preview.js +20 -8
  81. package/lib/image/src/preview.min.js +1 -1
  82. package/lib/image/src/util.js +1 -0
  83. package/lib/image/src/util.min.js +1 -1
  84. package/lib/index.umd.js +549 -377
  85. package/lib/index.umd.min.js +1 -1
  86. package/lib/list-design/src/layout-preview.js +5 -7
  87. package/lib/list-design/src/layout-preview.min.js +1 -1
  88. package/lib/list-design/src/list-view.js +6 -8
  89. package/lib/list-design/src/list-view.min.js +1 -1
  90. package/lib/loading/src/loading.js +1 -1
  91. package/lib/loading/src/loading.min.js +1 -1
  92. package/lib/menu/src/menu.js +6 -6
  93. package/lib/menu/src/menu.min.js +1 -1
  94. package/lib/modal/src/modal.js +12 -14
  95. package/lib/modal/src/modal.min.js +1 -1
  96. package/lib/pager/src/pager.js +1 -3
  97. package/lib/pager/src/pager.min.js +1 -1
  98. package/lib/password-input/src/password-input.js +4 -4
  99. package/lib/password-input/src/password-input.min.js +1 -1
  100. package/lib/print/src/print.js +4 -4
  101. package/lib/print/src/print.min.js +1 -1
  102. package/lib/pulldown/src/pulldown.js +2 -2
  103. package/lib/pulldown/src/pulldown.min.js +1 -1
  104. package/lib/style.css +1 -1
  105. package/lib/style.min.css +1 -1
  106. package/lib/switch/src/switch.js +2 -2
  107. package/lib/switch/src/switch.min.js +1 -1
  108. package/lib/table-select/src/table-select.js +5 -7
  109. package/lib/table-select/src/table-select.min.js +1 -1
  110. package/lib/tabs/src/tabs.js +10 -14
  111. package/lib/tabs/src/tabs.min.js +1 -1
  112. package/lib/tag/src/tag.js +1 -1
  113. package/lib/tag/src/tag.min.js +1 -1
  114. package/lib/tip/src/tip.js +3 -3
  115. package/lib/tip/src/tip.min.js +1 -1
  116. package/lib/tree/src/tree.js +298 -184
  117. package/lib/tree/src/tree.min.js +1 -1
  118. package/lib/ui/index.js +3 -7
  119. package/lib/ui/index.min.js +1 -1
  120. package/lib/ui/src/log.js +1 -1
  121. package/lib/ui/src/log.min.js +1 -1
  122. package/lib/upload/src/upload.js +27 -29
  123. package/lib/upload/src/upload.min.js +1 -1
  124. package/package.json +1 -1
  125. package/packages/alert/src/alert.ts +5 -5
  126. package/packages/anchor/src/anchor-link.ts +3 -2
  127. package/packages/anchor/src/anchor.ts +3 -3
  128. package/packages/breadcrumb/src/breadcrumb-item.ts +3 -2
  129. package/packages/button/src/button-group.ts +3 -3
  130. package/packages/button/src/button.ts +7 -8
  131. package/packages/card/src/card.ts +7 -7
  132. package/packages/carousel/src/carousel.ts +3 -3
  133. package/packages/countdown/src/countdown.ts +4 -4
  134. package/packages/form/render/index.ts +2 -4
  135. package/packages/form/src/form-group.ts +7 -3
  136. package/packages/form/src/form-item.ts +7 -4
  137. package/packages/form/src/form.ts +98 -35
  138. package/packages/form-design/src/default-setting-form.ts +1 -1
  139. package/packages/form-design/src/form-view.ts +7 -9
  140. package/packages/icon-picker/src/icon-picker.ts +4 -4
  141. package/packages/image/src/group.ts +3 -1
  142. package/packages/image/src/image.ts +3 -1
  143. package/packages/image/src/preview.ts +37 -22
  144. package/packages/image/src/util.ts +1 -0
  145. package/packages/list-design/src/layout-preview.ts +5 -7
  146. package/packages/list-design/src/list-view.ts +8 -10
  147. package/packages/loading/src/loading.ts +3 -3
  148. package/packages/menu/src/menu.ts +9 -9
  149. package/packages/modal/src/modal.ts +16 -18
  150. package/packages/pager/src/pager.ts +1 -3
  151. package/packages/password-input/src/password-input.ts +7 -7
  152. package/packages/print/src/print.ts +6 -6
  153. package/packages/pulldown/src/pulldown.ts +5 -5
  154. package/packages/switch/src/switch.ts +4 -4
  155. package/packages/table-select/src/table-select.ts +5 -7
  156. package/packages/tabs/src/tabs.ts +11 -15
  157. package/packages/tag/src/tag.ts +3 -3
  158. package/packages/tip/src/tip.ts +5 -5
  159. package/packages/tree/src/tree.ts +242 -179
  160. package/packages/ui/index.ts +2 -6
  161. package/packages/upload/src/upload.ts +31 -33
  162. package/types/components/button.d.ts +2 -1
  163. package/types/components/image-group.d.ts +3 -0
  164. package/types/components/image-preview.d.ts +32 -0
  165. package/types/components/image.d.ts +2 -0
  166. package/types/components/tree.d.ts +7 -5
  167. /package/es/icon/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  168. /package/es/icon/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  169. /package/es/icon/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
  170. /package/es/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  171. /package/es/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  172. /package/es/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
  173. /package/lib/icon/style/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  174. /package/lib/icon/style/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  175. /package/lib/icon/style/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
  176. /package/lib/{iconfont.1747192660271.ttf → iconfont.1747318422186.ttf} +0 -0
  177. /package/lib/{iconfont.1747192660271.woff → iconfont.1747318422186.woff} +0 -0
  178. /package/lib/{iconfont.1747192660271.woff2 → iconfont.1747318422186.woff2} +0 -0
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCarousel",props:{modelValue:[String,Number],options:Array,loading:Boolean,height:{type:[Number,String],default:()=>(0,_ui.getConfig)().carousel.height},width:{type:[Number,String],default:()=>(0,_ui.getConfig)().carousel.width},autoPlay:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.autoPlay},interval:{type:[Number,String],default:()=>(0,_ui.getConfig)().carousel.interval},loop:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.loop},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.vertical},showIndicators:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.showIndicators}},emits:["update:modelValue","change"],setup(n,e){const{emit:o,slots:r}=e;var t=_xeUtils.default.uniqueId();const v=(0,_vue.ref)(),c=(0,_vue.ref)(),d=(0,_vue.reactive)({activeName:"",staticItems:[],itemWidth:0,itemHeight:0}),i={apTimeout:void 0,stopFlag:!1},a={refElem:v},m=(0,_vue.computed)(()=>{var{vertical:e,options:t}=n;const{activeName:a,itemWidth:i,itemHeight:u,staticItems:l}=d;var t=(l&&l.length?l:t)||[],o=Math.max(0,_xeUtils.default.findIndexOf(t,e=>e.name===a)),s={};return e?s.transform=`translateY(-${o*u}px)`:(s.width=i*t.length+"px",s.transform=`translateX(-${o*i}px)`),s}),u={},l={xID:t,props:n,context:e,reactData:d,internalData:i,getRefMaps:()=>a,getComputeMaps:()=>u},s=()=>{(0,_vue.nextTick)(()=>{var e=c.value;e&&(d.itemWidth=e.clientWidth,d.itemHeight=e.clientHeight)})},_=(e,t)=>{var a=t.name;d.activeName=t.name,o("update:modelValue",a),o("change",{value:a},e),s()},h=e=>{let a=null;if(e&&e.length){let t=!1;a=n.modelValue,e.forEach(e=>{a===e.name&&(t=!0)}),t||(a=e[0].name,o("update:modelValue",a))}d.activeName=a};const g=t=>{var{options:a,loop:i}=n;const{activeName:u,staticItems:e}=d;var a=(e&&e.length?e:a)||[],l=Math.max(0,_xeUtils.default.findIndexOf(a,e=>e.name===u));if(-1<l){let e=null;if(t?l<a.length-1?e=a[l+1]:i&&(e=a[0]):0<l?e=a[l-1]:i&&(e=a[a.length-1]),e)return l=t=e.name,d.activeName=t,o("update:modelValue",l),!0}return!1},p=e=>{var t;g(!1)&&(t=d.activeName,o("change",{value:t},e))},f=e=>{var t;g(!0)&&(t=d.activeName,o("change",{value:t},e))},x=()=>{var e=i["apTimeout"];i.stopFlag=!0,e&&(clearTimeout(e),i.apTimeout=void 0)},I=()=>{var{autoPlay:e,interval:t}=n;const a=i["stopFlag"];x(),e&&(i.stopFlag=!1,i.apTimeout=setTimeout(()=>{a||g(!0)},_xeUtils.default.toNumber(t)||300))},C=()=>{x()},N=()=>{I()};const y=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=r[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];Object.assign(l,{dispatchEvent:(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$carousel:l},t))},prev(){return g(!1)&&I(),(0,_vue.nextTick)()},next(){return g(!0)&&I(),(0,_vue.nextTick)()}},{});const w=(0,_vue.ref)(0),U=((0,_vue.watch)(()=>n.options?n.options.length:-1,()=>{w.value++}),(0,_vue.watch)(()=>n.options,()=>{w.value++}),(0,_vue.watch)(w,()=>{h(n.options)}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>d.staticItems?d.staticItems.length:-1,()=>{U.value++}),(0,_vue.watch)(()=>d.staticItems,()=>{U.value++}),(0,_vue.watch)(U,()=>{h(d.staticItems)}),(0,_vue.watch)(()=>n.autoPlay,()=>{I()}),h(d.staticItems.length?d.staticItems:n.options),(0,_vue.onMounted)(()=>{I(),s()}),(0,_vue.onUnmounted)(()=>{x()}),(0,_vue.provide)("$xeCarousel",l),l.renderVN=()=>{var{loading:e,height:t,width:a,showIndicators:i,vertical:u,options:l}=n,o=d["staticItems"],s=r.default,o=(o&&o.length?o:l)||[];return(0,_vue.h)("div",{ref:v,class:["vxe-carousel","is--"+(u?"vertical":"horizontal")],style:a?{width:(0,_dom.toCssUnit)(a)}:null,onMouseenter:C,onMouseleave:N},[(0,_vue.h)("div",{class:"vxe-carousel--slots"},s?s({}):[]),(0,_vue.h)("div",{ref:c,class:"vxe-carousel--item-wrapper",style:t?{height:(0,_dom.toCssUnit)(t)}:null},[(e=>{const i=n["height"],u=d["activeName"];var t=m.value;return(0,_vue.h)("div",{class:"vxe-carousel--list",style:t},e.map(e=>{var{name:e,url:t,slots:a}=e,a=a?a.default:null;return(0,_vue.h)("div",{key:""+e,class:["vxe-carousel--item-inner",{"is--active":u===e}],style:i?{height:(0,_dom.toCssUnit)(i)}:null},a?y(a,{}):[(0,_vue.h)("img",{class:"vxe-carousel--item-img",src:t})])}))})(o)]),i?(e=>{const a=d["activeName"];return(0,_vue.h)("div",{class:"vxe-carousel--indicators"},e.map(t=>{var e=t["name"];return(0,_vue.h)("div",{key:""+e,class:["vxe-carousel--indicators-item",{"is--active":a===e}],onClick(e){_(e,t)}})}))})(o):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-carousel--btn-wrapper"},[(0,_vue.h)("div",{class:"vxe-carousel--previous-btn",onClick:p},[(0,_vue.h)("i",{class:u?(0,_ui.getIcon)().CAROUSEL_VERTICAL_PREVIOUS:(0,_ui.getIcon)().CAROUSEL_HORIZONTAL_PREVIOUS})]),(0,_vue.h)("div",{class:"vxe-carousel--next-btn",onClick:f},[(0,_vue.h)("i",{class:u?(0,_ui.getIcon)().CAROUSEL_VERTICAL_NEXT:(0,_ui.getIcon)().CAROUSEL_HORIZONTAL_NEXT})])]),(0,_vue.h)(_loading.default,{class:"vxe-carousel--loading",modelValue:e})])},l},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_loading=_interopRequireDefault(require("../../loading/src/loading")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCarousel",props:{modelValue:[String,Number],options:Array,loading:Boolean,height:{type:[Number,String],default:()=>(0,_ui.getConfig)().carousel.height},width:{type:[Number,String],default:()=>(0,_ui.getConfig)().carousel.width},autoPlay:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.autoPlay},interval:{type:[Number,String],default:()=>(0,_ui.getConfig)().carousel.interval},loop:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.loop},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.vertical},showIndicators:{type:Boolean,default:()=>(0,_ui.getConfig)().carousel.showIndicators}},emits:["update:modelValue","change"],setup(n,e){const{emit:o,slots:r}=e;var t=_xeUtils.default.uniqueId();const v=(0,_vue.ref)(),c=(0,_vue.ref)(),d=(0,_vue.reactive)({activeName:"",staticItems:[],itemWidth:0,itemHeight:0}),i={apTimeout:void 0,stopFlag:!1},a={refElem:v},m=(0,_vue.computed)(()=>{var{vertical:e,options:t}=n;const{activeName:a,itemWidth:i,itemHeight:u,staticItems:l}=d;var t=(l&&l.length?l:t)||[],o=Math.max(0,_xeUtils.default.findIndexOf(t,e=>e.name===a)),s={};return e?s.transform=`translateY(-${o*u}px)`:(s.width=i*t.length+"px",s.transform=`translateX(-${o*i}px)`),s}),u={},_={xID:t,props:n,context:e,reactData:d,internalData:i,getRefMaps:()=>a,getComputeMaps:()=>u},l=()=>{(0,_vue.nextTick)(()=>{var e=c.value;e&&(d.itemWidth=e.clientWidth,d.itemHeight=e.clientHeight)})},h=(e,t)=>{var a=t.name;d.activeName=t.name,o("update:modelValue",a),o("change",{value:a},e),l()},s=e=>{let a=null;if(e&&e.length){let t=!1;a=n.modelValue,e.forEach(e=>{a===e.name&&(t=!0)}),t||(a=e[0].name,o("update:modelValue",a))}d.activeName=a};const g=t=>{var{options:a,loop:i}=n;const{activeName:u,staticItems:e}=d;var a=(e&&e.length?e:a)||[],l=Math.max(0,_xeUtils.default.findIndexOf(a,e=>e.name===u));if(-1<l){let e=null;if(t?l<a.length-1?e=a[l+1]:i&&(e=a[0]):0<l?e=a[l-1]:i&&(e=a[a.length-1]),e)return l=t=e.name,d.activeName=t,o("update:modelValue",l),!0}return!1},p=e=>{var t;g(!1)&&(t=d.activeName,o("change",{value:t},e))},f=e=>{var t;g(!0)&&(t=d.activeName,o("change",{value:t},e))},x=()=>{var e=i["apTimeout"];i.stopFlag=!0,e&&(clearTimeout(e),i.apTimeout=void 0)},I=()=>{var{autoPlay:e,interval:t}=n;const a=i["stopFlag"];x(),e&&(i.stopFlag=!1,i.apTimeout=setTimeout(()=>{a||g(!0)},_xeUtils.default.toNumber(t)||300))},C=()=>{x()},N=()=>{I()};const y=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=r[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[];Object.assign(_,{dispatchEvent:(e,t,a)=>{o(e,(0,_ui.createEvent)(a,{$carousel:_},t))},prev(){return g(!1)&&I(),(0,_vue.nextTick)()},next(){return g(!0)&&I(),(0,_vue.nextTick)()}},{});const w=(0,_vue.ref)(0),U=((0,_vue.watch)(()=>n.options?n.options.length:-1,()=>{w.value++}),(0,_vue.watch)(()=>n.options,()=>{w.value++}),(0,_vue.watch)(w,()=>{s(n.options)}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>d.staticItems?d.staticItems.length:-1,()=>{U.value++}),(0,_vue.watch)(()=>d.staticItems,()=>{U.value++}),(0,_vue.watch)(U,()=>{s(d.staticItems)}),(0,_vue.watch)(()=>n.autoPlay,()=>{I()}),s(d.staticItems.length?d.staticItems:n.options),(0,_vue.onMounted)(()=>{I(),l()}),(0,_vue.onUnmounted)(()=>{x()}),(0,_vue.provide)("$xeCarousel",_),_.renderVN=()=>{var{loading:e,height:t,width:a,showIndicators:i,vertical:u,options:l}=n,o=d["staticItems"],s=r.default,o=(o&&o.length?o:l)||[];return(0,_vue.h)("div",{ref:v,class:["vxe-carousel","is--"+(u?"vertical":"horizontal")],style:a?{width:(0,_dom.toCssUnit)(a)}:null,onMouseenter:C,onMouseleave:N},[(0,_vue.h)("div",{class:"vxe-carousel--slots"},s?s({}):[]),(0,_vue.h)("div",{ref:c,class:"vxe-carousel--item-wrapper",style:t?{height:(0,_dom.toCssUnit)(t)}:null},[(e=>{const i=n["height"],u=d["activeName"];var t=m.value;return(0,_vue.h)("div",{class:"vxe-carousel--list",style:t},e.map(e=>{var{name:e,url:t,slots:a}=e,a=a?a.default:null;return(0,_vue.h)("div",{key:""+e,class:["vxe-carousel--item-inner",{"is--active":u===e}],style:i?{height:(0,_dom.toCssUnit)(i)}:null},a?y(a,{}):[(0,_vue.h)("img",{class:"vxe-carousel--item-img",src:t})])}))})(o)]),i?(e=>{const a=d["activeName"];return(0,_vue.h)("div",{class:"vxe-carousel--indicators"},e.map(t=>{var e=t["name"];return(0,_vue.h)("div",{key:""+e,class:["vxe-carousel--indicators-item",{"is--active":a===e}],onClick(e){h(e,t)}})}))})(o):(0,_ui.renderEmptyElement)(_),(0,_vue.h)("div",{class:"vxe-carousel--btn-wrapper"},[(0,_vue.h)("div",{class:"vxe-carousel--previous-btn",onClick:p},[(0,_vue.h)("i",{class:u?(0,_ui.getIcon)().CAROUSEL_VERTICAL_PREVIOUS:(0,_ui.getIcon)().CAROUSEL_HORIZONTAL_PREVIOUS})]),(0,_vue.h)("div",{class:"vxe-carousel--next-btn",onClick:f},[(0,_vue.h)("i",{class:u?(0,_ui.getIcon)().CAROUSEL_VERTICAL_NEXT:(0,_ui.getIcon)().CAROUSEL_HORIZONTAL_NEXT})])]),(0,_vue.h)(_loading.default,{class:"vxe-carousel--loading",modelValue:e})])},_},render(){return this.renderVN()}});
@@ -199,7 +199,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
199
199
  content: prefixOpts.content,
200
200
  icon: prefixOpts.icon,
201
201
  status: prefixOpts.status
202
- })]) : (0, _vue.createCommentVNode)(), (0, _vue.h)('div', {
202
+ })]) : (0, _ui.renderEmptyElement)($xeCountdown), (0, _vue.h)('div', {
203
203
  class: 'vxe-countdown--content'
204
204
  }, defaultSlot ? (0, _vn.getSlotVNs)(defaultSlot({
205
205
  currentValue: currNum,
@@ -213,7 +213,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
213
213
  content: suffixOpts.content,
214
214
  icon: suffixOpts.icon,
215
215
  status: suffixOpts.status
216
- })]) : (0, _vue.createCommentVNode)()]);
216
+ })]) : (0, _ui.renderEmptyElement)($xeCountdown)]);
217
217
  };
218
218
  (0, _vue.watch)(() => props.modelValue, () => {
219
219
  updateCount();
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_text=_interopRequireDefault(require("../../text/src/text")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCountdown",props:{modelValue:[Number,String],format:String,prefixConfig:Object,suffixConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().countdown.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","start","end"],setup(c,e){const{slots:v,emit:n}=e;var t=_xeUtils.default.uniqueId();const f=(0,_vue.ref)(),l=(0,_ui.useSize)(c)["computeSize"],m=(0,_vue.reactive)({currNum:0,secondNum:0}),u={dnTimeout:void 0},o={refElem:f},_=(0,_vue.computed)(()=>{var e=m["secondNum"];return 316224e5<=e?["yyyy","MM","dd","HH","mm","ss"]:26784e5<=e?["MM","dd","HH","mm","ss"]:864e5<=e?["dd","HH","mm","ss"]:36e5<=e?["HH","mm","ss"]:6e4<=e?["mm","ss"]:["ss"]}),x=(0,_vue.computed)(()=>{var e=m["currNum"];return _xeUtils.default.getDateDiff(Date.now(),Date.now()+e)}),p=(0,_vue.computed)(()=>{var e=c["format"],t=x.value;let u="";return e&&(u=""+e,_xeUtils.default.each(t,(e,t)=>{u=u.replace(new RegExp(t,"g"),_xeUtils.default.padStart(e,t.length,"0"))})),u}),g=(0,_vue.computed)(()=>Object.assign({},c.prefixConfig,(0,_ui.getConfig)().countdown.prefixConfig)),C=(0,_vue.computed)(()=>Object.assign({},c.suffixConfig,(0,_ui.getConfig)().countdown.suffixConfig)),r={computeSize:l},i={xID:t,props:c,context:e,reactData:m,internalData:u,getRefMaps:()=>o,getComputeMaps:()=>r},s=(e,t,u)=>{n(e,(0,_ui.createEvent)(u,{$carousel:i},t))},a=()=>{var e=_xeUtils.default.toNumber(c.modelValue||0);m.secondNum=e,m.currNum=e},d=()=>{var e=m["currNum"];1e3<e?(m.currNum-=1e3,u.dnTimeout=setTimeout(()=>{d()},1e3)):(m.currNum=0,w())};t={dispatchEvent:s};const N=()=>{s("start",{},null),d()},w=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0,s("end",{},null))};Object.assign(i,t,{});return(0,_vue.watch)(()=>c.modelValue,()=>{a(),w(),N()}),(0,_vue.onUnmounted)(()=>{w()}),(0,_vue.onMounted)(()=>{N()}),a(),i.renderVN=()=>{var{prefixConfig:e,suffixConfig:t}=c,u=m["currNum"],n=l.value,o=x.value,r=g.value,i=C.value,s=v.prefix,a=v.suffix,d=v.default;return(0,_vue.h)("div",{ref:f,class:["vxe-countdown",o.done?"is--progress":"is-end",{["size--"+n]:n}]},[s||e?(0,_vue.h)("div",{class:"vxe-countdown--prefix"},s?(0,_vn.getSlotVNs)(s({currentValue:u,diffConf:o})):[(0,_vue.h)(_text.default,{content:r.content,icon:r.icon,status:r.status})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-countdown--content"},d?(0,_vn.getSlotVNs)(d({currentValue:u,diffConf:o})):(()=>{var e=c["format"],t=_.value;const u=x.value;var n=p.value;return e?[(0,_vue.h)("div",{key:"format",class:"vxe-countdown--content-format"},n)]:t.map((e,t)=>(0,_vue.h)("div",{key:t,class:"vxe-countdown--content-item"},[(0,_vue.h)("div",{class:"vxe-countdown--content-num"},""+(u[e]||0)),(0,_vue.h)("div",{class:"vxe-countdown--content-unit"},(0,_ui.getI18n)("vxe.countdown.formats."+e))]))})()),a||t?(0,_vue.h)("div",{class:"vxe-countdown--suffix"},a?(0,_vn.getSlotVNs)(a({currentValue:u,diffConf:o})):[(0,_vue.h)(_text.default,{content:i.content,icon:i.icon,status:i.status})]):(0,_vue.createCommentVNode)()])},i},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_text=_interopRequireDefault(require("../../text/src/text")),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeCountdown",props:{modelValue:[Number,String],format:String,prefixConfig:Object,suffixConfig:Object,size:{type:String,default:()=>(0,_ui.getConfig)().countdown.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","start","end"],setup(c,e){const{slots:v,emit:n}=e;var t=_xeUtils.default.uniqueId();const f=(0,_vue.ref)(),l=(0,_ui.useSize)(c)["computeSize"],m=(0,_vue.reactive)({currNum:0,secondNum:0}),u={dnTimeout:void 0},o={refElem:f},_=(0,_vue.computed)(()=>{var e=m["secondNum"];return 316224e5<=e?["yyyy","MM","dd","HH","mm","ss"]:26784e5<=e?["MM","dd","HH","mm","ss"]:864e5<=e?["dd","HH","mm","ss"]:36e5<=e?["HH","mm","ss"]:6e4<=e?["mm","ss"]:["ss"]}),x=(0,_vue.computed)(()=>{var e=m["currNum"];return _xeUtils.default.getDateDiff(Date.now(),Date.now()+e)}),p=(0,_vue.computed)(()=>{var e=c["format"],t=x.value;let u="";return e&&(u=""+e,_xeUtils.default.each(t,(e,t)=>{u=u.replace(new RegExp(t,"g"),_xeUtils.default.padStart(e,t.length,"0"))})),u}),g=(0,_vue.computed)(()=>Object.assign({},c.prefixConfig,(0,_ui.getConfig)().countdown.prefixConfig)),C=(0,_vue.computed)(()=>Object.assign({},c.suffixConfig,(0,_ui.getConfig)().countdown.suffixConfig)),r={computeSize:l},w={xID:t,props:c,context:e,reactData:m,internalData:u,getRefMaps:()=>o,getComputeMaps:()=>r},i=(e,t,u)=>{n(e,(0,_ui.createEvent)(u,{$carousel:w},t))},s=()=>{var e=_xeUtils.default.toNumber(c.modelValue||0);m.secondNum=e,m.currNum=e},a=()=>{var e=m["currNum"];1e3<e?(m.currNum-=1e3,u.dnTimeout=setTimeout(()=>{a()},1e3)):(m.currNum=0,N())};t={dispatchEvent:i};const d=()=>{i("start",{},null),a()},N=()=>{var e=u["dnTimeout"];e&&(clearTimeout(e),u.dnTimeout=void 0,i("end",{},null))};Object.assign(w,t,{});return(0,_vue.watch)(()=>c.modelValue,()=>{s(),N(),d()}),(0,_vue.onUnmounted)(()=>{N()}),(0,_vue.onMounted)(()=>{d()}),s(),w.renderVN=()=>{var{prefixConfig:e,suffixConfig:t}=c,u=m["currNum"],n=l.value,o=x.value,r=g.value,i=C.value,s=v.prefix,a=v.suffix,d=v.default;return(0,_vue.h)("div",{ref:f,class:["vxe-countdown",o.done?"is--progress":"is-end",{["size--"+n]:n}]},[s||e?(0,_vue.h)("div",{class:"vxe-countdown--prefix"},s?(0,_vn.getSlotVNs)(s({currentValue:u,diffConf:o})):[(0,_vue.h)(_text.default,{content:r.content,icon:r.icon,status:r.status})]):(0,_ui.renderEmptyElement)(w),(0,_vue.h)("div",{class:"vxe-countdown--content"},d?(0,_vn.getSlotVNs)(d({currentValue:u,diffConf:o})):(()=>{var e=c["format"],t=_.value;const u=x.value;var n=p.value;return e?[(0,_vue.h)("div",{key:"format",class:"vxe-countdown--content-format"},n)]:t.map((e,t)=>(0,_vue.h)("div",{key:t,class:"vxe-countdown--content-item"},[(0,_vue.h)("div",{class:"vxe-countdown--content-num"},""+(u[e]||0)),(0,_vue.h)("div",{class:"vxe-countdown--content-unit"},(0,_ui.getI18n)("vxe.countdown.formats."+e))]))})()),a||t?(0,_vue.h)("div",{class:"vxe-countdown--suffix"},a?(0,_vn.getSlotVNs)(a({currentValue:u,diffConf:o})):[(0,_vue.h)(_text.default,{content:i.content,icon:i.icon,status:i.status})]):(0,_ui.renderEmptyElement)(w)])},w},render(){return this.renderVN()}});
@@ -108,10 +108,8 @@ function getComponentOns(renderOpts, params, eFns, eventOns) {
108
108
  const ons = {};
109
109
  _xeUtils.default.objectEach(events, (func, key) => {
110
110
  ons[(0, _vn.getOnName)(key)] = function (...args) {
111
- if (process.env.NODE_ENV === 'development') {
112
- if (!_xeUtils.default.isFunction(func)) {
113
- (0, _log.errLog)('vxe.error.errFunc', [func]);
114
- }
111
+ if (!_xeUtils.default.isFunction(func)) {
112
+ (0, _log.errLog)('vxe.error.errFunc', [func]);
115
113
  }
116
114
  func(params, ...args);
117
115
  };
@@ -1 +1 @@
1
- "use strict";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}}const componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){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){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),m=(0,_vn.getChangeEvent)(e.name),a=m===s,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),a&&o&&o(e),r&&r[s]&&r[s](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(m)]=function(...e){o(...e),r&&r[m]&&r[m](n,...e)}),u}function getComponentOns(e,n,t,o){const r=e["events"],{model:s,change:m}=t||{},a=(0,_vn.getModelEvent)(e.name),u=(0,_vn.getChangeEvent)(e.name),i={};return _xeUtils.default.objectEach(r,(t,e)=>{i[(0,_vn.getOnName)(e)]=function(...e){"development"!==process.env.NODE_ENV||_xeUtils.default.isFunction(t)||(0,_log.errLog)("vxe.error.errFunc",[t]),t(n,...e)}}),s&&(i[(0,_vn.getOnName)(a)]=function(e){s(e),r&&r[a]&&r[a](n,e)}),m&&(i[(0,_vn.getOnName)(u)]=function(...e){m(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(e){n.updateStatus(e)}})}function getNativeItemOns(e,t){const{$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;const s=t.options||"options",m=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[m]},r(e[s],n,o))):[]}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e["name"],s=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},s),{value:!s||"input"!==r||"submit"!==s.type&&"reset"!==s.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){return e.children.map(e=>oldButtonItemRender(e,t)[0])}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;const r=t.label||"label",s=t.value||"value",m=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[m],selected:e[s]==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:s}=t,r=_xeUtils.default.get(r,s);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){const{name:n,options:o,optionProps:r={}}=e;var{data:s,field:m}=t;const a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";s=_xeUtils.default.get(s,m);const d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),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,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",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:"input",renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:"textarea",renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){const{startField:n,endField:o}=e,{$form:r,data:s,field:m}=t;var a=_xeUtils.default.get(s,m),u={},i={};return n&&o&&(u.startValue=_xeUtils.default.get(s,n),u.endValue=_xeUtils.default.get(s,o),i["onUpdate:startValue"]=e=>{n&&_xeUtils.default.set(s,n,e)},i["onUpdate:endValue"]=e=>{o&&_xeUtils.default.set(s,o,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,a,u)),getComponentOns(e,t,{model(e){_xeUtils.default.set(s,m,e)},change(){r.updateStatus(t)}},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:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,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:s,optionGroups:m,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeColorPicker:{formItemAutoFocus:"input",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:"input",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:s,optionGroups:m,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:s,optionGroups:m,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});
1
+ "use strict";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}}const componentDefaultModelProp="modelValue";function getOldComponentName(e){return"vxe-"+e.replace("$","")}function getDefaultComponent({name:e}){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){const r=e["events"],s=(0,_vn.getModelEvent)(e.name),m=(0,_vn.getChangeEvent)(e.name),a=m===s,u={};return r&&_xeUtils.default.objectEach(r,(t,e)=>{u[(0,_vn.getOnName)(e)]=function(...e){t(n,...e)}}),t&&(u[(0,_vn.getOnName)(s)]=function(e){t(e),a&&o&&o(e),r&&r[s]&&r[s](n,e)}),!a&&o&&(u[(0,_vn.getOnName)(m)]=function(...e){o(...e),r&&r[m]&&r[m](n,...e)}),u}function getComponentOns(e,n,t,o){const r=e["events"],{model:s,change:m}=t||{},a=(0,_vn.getModelEvent)(e.name),u=(0,_vn.getChangeEvent)(e.name),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",[t]),t(n,...e)}}),s&&(i[(0,_vn.getOnName)(a)]=function(e){s(e),r&&r[a]&&r[a](n,e)}),m&&(i[(0,_vn.getOnName)(u)]=function(...e){m(...e),r&&r[u]&&r[u](n,...e)}),o?Object.assign(i,o):i}function getItemOns(e,t){const{$form:n,data:o,field:r}=t;return getComponentOns(e,t,{model(e){_xeUtils.default.set(o,r,e)},change(e){n.updateStatus(e)}})}function getNativeItemOns(e,t){const{$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;const s=t.options||"options",m=t.label||"label";return e?e.map((e,t)=>(0,_vue.h)("optgroup",{key:t,label:e[m]},r(e[s],n,o))):[]}function nativeItemRender(e,t){var{data:n,field:o}=t,r=e["name"],s=getNativeAttrs(e),n=_xeUtils.default.get(n,o);return[(0,_vue.h)(r,Object.assign(Object.assign(Object.assign({class:"vxe-default-"+r},s),{value:!s||"input"!==r||"submit"!==s.type&&"reset"!==s.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){return e.children.map(e=>oldButtonItemRender(e,t)[0])}function renderNativeFormOptions(e,t,n){var{data:n,field:o}=n,{optionProps:t={}}=t;const r=t.label||"label",s=t.value||"value",m=t.disabled||"disabled",a=_xeUtils.default.get(n,o);return e?e.map((e,t)=>(0,_vue.h)("option",{key:t,value:e[s],disabled:e[m],selected:e[s]==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:s}=t,r=_xeUtils.default.get(r,s);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){const{name:n,options:o,optionProps:r={}}=e;var{data:s,field:m}=t;const a=r.label||"label",u=r.value||"value",i=r.disabled||"disabled";s=_xeUtils.default.get(s,m);const d=getOldComponentName(n);return o?[(0,_vue.h)((0,_vue.resolveComponent)(d+"-group"),Object.assign(Object.assign({},getComponentFormItemProps(e,t,s)),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,s)),getItemOns(e,t)))]}_ui.renderer.mixin({input:{formItemAutoFocus:"input",renderFormItemContent:nativeItemRender},textarea:{formItemAutoFocus:"textarea",renderFormItemContent:nativeItemRender},select:{formItemAutoFocus:"input",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:"input",renderFormItemContent:defaultItemRender},VxeNumberInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxePasswordInput:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeTextarea:{formItemAutoFocus:"textarea",renderFormItemContent:defaultItemRender},VxeDatePicker:{formItemAutoFocus:"input",renderFormItemContent:defaultItemRender},VxeDateRangePicker:{formItemAutoFocus:"input",renderFormItemContent(e,t){const{startField:n,endField:o}=e,{$form:r,data:s,field:m}=t;var a=_xeUtils.default.get(s,m),u={},i={};return n&&o&&(u.startValue=_xeUtils.default.get(s,n),u.endValue=_xeUtils.default.get(s,o),i["onUpdate:startValue"]=e=>{n&&_xeUtils.default.set(s,n,e)},i["onUpdate:endValue"]=e=>{o&&_xeUtils.default.set(s,o,e)}),[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,a,u)),getComponentOns(e,t,{model(e){_xeUtils.default.set(s,m,e)},change(){r.updateStatus(t)}},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:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s,optionGroups:m,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:s,optionGroups:m,optionGroupProps:a})),getItemOns(e,t)))]}},VxeTreeSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeTableSelect:{formItemAutoFocus:"input",renderFormItemContent(e,t){var{data:n,field:o}=t,{options:r,optionProps:s}=e,n=_xeUtils.default.get(n,o);return[(0,_vue.h)(getDefaultComponent(e),Object.assign(Object.assign({},getComponentFormItemProps(e,t,n,{options:r,optionProps:s})),getItemOns(e,t)))]}},VxeColorPicker:{formItemAutoFocus:"input",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:"input",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:s,optionGroups:m,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:s,optionGroups:m,optionGroupProps:a})),getItemOns(e,t)))]}},$radio:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$checkbox:{renderFormItemContent:oldFormItemRadioAndCheckboxRender},$switch:{renderFormItemContent:oldItemRender}});
@@ -19,6 +19,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
19
19
  const {
20
20
  slots
21
21
  } = context;
22
+ const xID = _xeUtils.default.uniqueId();
22
23
  const refElem = (0, _vue.ref)();
23
24
  const $xeForm = (0, _vue.inject)('$xeForm', {});
24
25
  const $xeParentFormGroup = (0, _vue.inject)('$xeFormGroup', null);
@@ -59,7 +60,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
59
60
  $grid: $xeGrid
60
61
  };
61
62
  if (visible === false) {
62
- return (0, _vue.createCommentVNode)();
63
+ return (0, _ui.renderEmptyElement)($xeFormGroup);
63
64
  }
64
65
  return (0, _vue.h)('div', {
65
66
  ref: refElem,
@@ -72,6 +73,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
72
73
  }, defaultSlot ? defaultSlot({}) : [])]);
73
74
  };
74
75
  const $xeFormGroup = {
76
+ xID,
75
77
  formItem,
76
78
  renderVN
77
79
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_formItem=require("./form-item"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormGroup",props:_formItem.formItemProps,setup(e,t){const _=t["slots"],a=(0,_vue.ref)(),v=(0,_vue.inject)("$xeForm",{}),r=(0,_vue.inject)("$xeFormGroup",null),f=(0,_vue.reactive)((0,_util.createItem)(v,e));f.slots=_,f.children=[];t={itemConfig:f},(0,_vue.provide)("xeFormItemInfo",t),t={formItem:f,renderVN:()=>{var e=v.props,t=v.xeGrid,r=f,{data:e,readonly:u,disabled:i}=e,{visible:l,field:n,itemRender:o,contentStyle:s}=r,o=(0,_utils.isEnableConf)(o)?_ui.renderer.get(o.name):null,d=o?o.formItemStyle||o.itemStyle:null,o=o?o.formItemContentStyle||o.itemContentStyle:null,m=_?_.default:null,e={data:e,disabled:i,readonly:u,field:n,property:n,item:r,$form:v,$grid:t};return!1===l?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:a,key:r.id,class:(0,_render.getItemClass)(v,r,!0),style:_xeUtils.default.isFunction(d)?d(e):d},[(0,_render.renderTitle)(v,r,!0),(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(v,r,!0),style:Object.assign({},_xeUtils.default.isFunction(o)?o(e):o,_xeUtils.default.isFunction(s)?s(e):s)},m?m({}):[])])}};return(0,_util.watchItem)(e,f),(0,_vue.onMounted)(()=>{var e=a.value;(0,_util.assembleItem)(v,e,f,r)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(v,f)}),(0,_vue.provide)("$xeFormGroup",t),(0,_vue.provide)("$xeFormItem",null),t},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_formItem=require("./form-item"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormGroup",props:_formItem.formItemProps,setup(e,t){const _=t["slots"];t=_xeUtils.default.uniqueId();const a=(0,_vue.ref)(),f=(0,_vue.inject)("$xeForm",{}),r=(0,_vue.inject)("$xeFormGroup",null),v=(0,_vue.reactive)((0,_util.createItem)(f,e));v.slots=_,v.children=[];var u={itemConfig:v};(0,_vue.provide)("xeFormItemInfo",u);const p={xID:t,formItem:v,renderVN:()=>{var e=f.props,t=f.xeGrid,r=v,{data:e,readonly:u,disabled:i}=e,{visible:l,field:n,itemRender:o,contentStyle:s}=r,o=(0,_utils.isEnableConf)(o)?_ui.renderer.get(o.name):null,d=o?o.formItemStyle||o.itemStyle:null,o=o?o.formItemContentStyle||o.itemContentStyle:null,m=_?_.default:null,e={data:e,disabled:i,readonly:u,field:n,property:n,item:r,$form:f,$grid:t};return!1===l?(0,_ui.renderEmptyElement)(p):(0,_vue.h)("div",{ref:a,key:r.id,class:(0,_render.getItemClass)(f,r,!0),style:_xeUtils.default.isFunction(d)?d(e):d},[(0,_render.renderTitle)(f,r,!0),(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(f,r,!0),style:Object.assign({},_xeUtils.default.isFunction(o)?o(e):o,_xeUtils.default.isFunction(s)?s(e):s)},m?m({}):[])])}};return(0,_util.watchItem)(e,v),(0,_vue.onMounted)(()=>{var e=a.value;(0,_util.assembleItem)(f,e,v,r)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(f,v)}),(0,_vue.provide)("$xeFormGroup",p),(0,_vue.provide)("$xeFormItem",null),p},render(){return this.renderVN()}});
@@ -97,6 +97,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
97
97
  setup(props, {
98
98
  slots
99
99
  }) {
100
+ const xID = _xeUtils.default.uniqueId();
100
101
  const refElem = (0, _vue.ref)();
101
102
  const $xeForm = (0, _vue.inject)('$xeForm', {});
102
103
  const $xeFormGroup = (0, _vue.inject)('$xeFormGroup', null);
@@ -135,14 +136,14 @@ var _default = exports.default = (0, _vue.defineComponent)({
135
136
  $grid: $xeGrid
136
137
  };
137
138
  if (visible === false) {
138
- return (0, _vue.createCommentVNode)();
139
+ return (0, _ui.renderEmptyElement)($xeFormitem);
139
140
  }
140
141
  return (0, _vue.h)('div', {
141
142
  ref: refElem,
142
143
  key: item.id,
143
144
  class: (0, _render.getItemClass)($xeForm, item),
144
145
  style: _xeUtils.default.isFunction(itemStyle) ? itemStyle(params) : itemStyle
145
- }, [(0, _render.renderTitle)($xeForm, item), showContent === false ? (0, _vue.createCommentVNode)() : (0, _vue.h)('div', {
146
+ }, [(0, _render.renderTitle)($xeForm, item), showContent === false ? (0, _ui.renderEmptyElement)($xeFormitem) : (0, _vue.h)('div', {
146
147
  class: (0, _render.getItemContentClass)($xeForm, item),
147
148
  style: Object.assign({}, _xeUtils.default.isFunction(itemContentStyle) ? itemContentStyle(params) : itemContentStyle, _xeUtils.default.isFunction(contentStyle) ? contentStyle(params) : contentStyle)
148
149
  }, [(0, _render.renderItemContent)($xeForm, item)])]);
@@ -155,6 +156,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
155
156
  });
156
157
  };
157
158
  const $xeFormitem = {
159
+ xID,
158
160
  formItem,
159
161
  renderVN
160
162
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:{type:[String,Number],default:null},align:{type:String,default:null},verticalAlign:{type:String,default:null},titleBackground:{type:Boolean,default:null},titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},formatter:[String,Function],className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},showContent:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const f=(0,_vue.ref)(),p=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGroup",null),_=(0,_vue.reactive)((0,_util.createItem)(p,e));_.slots=t;t={itemConfig:_};(0,_vue.provide)("xeFormItemInfo",t);t={formItem:_,renderVN:()=>{var e,t,l,n,r,o,u,i,a,d,s=!!p&&p.props.customLayout,m=_;return s?(s=p,m=m,d=s.props,e=s.xeGrid,{data:d,readonly:t,disabled:l}=d,{visible:n,field:r,itemRender:a,contentStyle:o,showContent:u}=m,i=(a=(0,_utils.isEnableConf)(a)?_ui.renderer.get(a.name):null)?a.formItemStyle||a.itemStyle:null,a=a?a.formItemContentStyle||a.itemContentStyle:null,!(d={data:d,disabled:l,readonly:t,field:r,property:r,item:m,$form:s,$grid:e})===n?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:f,key:m.id,class:(0,_render.getItemClass)(s,m),style:_xeUtils.default.isFunction(i)?i(d):i},[(0,_render.renderTitle)(s,m),!1===u?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(s,m),style:Object.assign({},_xeUtils.default.isFunction(a)?a(d):a,_xeUtils.default.isFunction(o)?o(d):o)},[(0,_render.renderItemContent)(s,m)])])):(0,_vue.h)("div",{ref:f})}};return(0,_util.watchItem)(e,_),(0,_vue.onMounted)(()=>{var e=f.value;(0,_util.assembleItem)(p,e,_,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(p,_)}),(0,_vue.provide)("$xeFormItem",t),(0,_vue.provide)("$xeFormGroup",null),t},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:{type:[String,Number],default:null},align:{type:String,default:null},verticalAlign:{type:String,default:null},titleBackground:{type:Boolean,default:null},titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},formatter:[String,Function],className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},showContent:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){var l=_xeUtils.default.uniqueId();const f=(0,_vue.ref)(),p=(0,_vue.inject)("$xeForm",{}),n=(0,_vue.inject)("$xeFormGroup",null),_=(0,_vue.reactive)((0,_util.createItem)(p,e));_.slots=t;t={itemConfig:_};(0,_vue.provide)("xeFormItemInfo",t);const c={xID:l,formItem:_,renderVN:()=>{var e,t,l,n,r,i,u,o,a,d,s=!!p&&p.props.customLayout,m=_;return s?(s=p,m=m,d=s.props,e=s.xeGrid,{data:d,readonly:t,disabled:l}=d,{visible:n,field:r,itemRender:a,contentStyle:i,showContent:u}=m,o=(a=(0,_utils.isEnableConf)(a)?_ui.renderer.get(a.name):null)?a.formItemStyle||a.itemStyle:null,a=a?a.formItemContentStyle||a.itemContentStyle:null,!(d={data:d,disabled:l,readonly:t,field:r,property:r,item:m,$form:s,$grid:e})===n?(0,_ui.renderEmptyElement)(c):(0,_vue.h)("div",{ref:f,key:m.id,class:(0,_render.getItemClass)(s,m),style:_xeUtils.default.isFunction(o)?o(d):o},[(0,_render.renderTitle)(s,m),!1===u?(0,_ui.renderEmptyElement)(c):(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(s,m),style:Object.assign({},_xeUtils.default.isFunction(a)?a(d):a,_xeUtils.default.isFunction(i)?i(d):i)},[(0,_render.renderItemContent)(s,m)])])):(0,_vue.h)("div",{ref:f})}};return(0,_util.watchItem)(e,_),(0,_vue.onMounted)(()=>{var e=f.value;(0,_util.assembleItem)(p,e,_,n)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(p,_)}),(0,_vue.provide)("$xeFormItem",c),(0,_vue.provide)("$xeFormGroup",null),c},render(){return this.renderVN()}});
@@ -37,33 +37,108 @@ class Rule {
37
37
  return this.content;
38
38
  }
39
39
  }
40
- const validErrorRuleValue = (rule, val) => {
40
+ // 如果存在 pattern,判断正则
41
+ function validREValue(pattern, val) {
42
+ if (pattern && !(_xeUtils.default.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) {
43
+ return false;
44
+ }
45
+ return true;
46
+ }
47
+ // 如果存在 max,判断最大值
48
+ function validMaxValue(max, num) {
49
+ if (!_xeUtils.default.eqNull(max) && num > _xeUtils.default.toNumber(max)) {
50
+ return false;
51
+ }
52
+ return true;
53
+ }
54
+ // 如果存在 min,判断最小值
55
+ function validMinValue(min, num) {
56
+ if (!_xeUtils.default.eqNull(min) && num < _xeUtils.default.toNumber(min)) {
57
+ return false;
58
+ }
59
+ return true;
60
+ }
61
+ function validRuleValue(rule, val, required) {
41
62
  const {
42
63
  type,
43
64
  min,
44
65
  max,
45
66
  pattern
46
67
  } = rule;
68
+ const isArrType = type === 'array';
47
69
  const isNumType = type === 'number';
48
- const numVal = isNumType ? _xeUtils.default.toNumber(val) : _xeUtils.default.getSize(val);
49
- // 判断数值
50
- if (isNumType && isNaN(val)) {
51
- return true;
70
+ const isStrType = type === 'string';
71
+ const strVal = `${val}`;
72
+ if (!validREValue(pattern, strVal)) {
73
+ return false;
52
74
  }
53
- // 如果存在 min,判断最小值
54
- if (!_xeUtils.default.eqNull(min) && numVal < _xeUtils.default.toNumber(min)) {
55
- return true;
56
- }
57
- // 如果存在 max,判断最大值
58
- if (!_xeUtils.default.eqNull(max) && numVal > _xeUtils.default.toNumber(max)) {
59
- return true;
75
+ if (isArrType) {
76
+ if (!_xeUtils.default.isArray(val)) {
77
+ return false;
78
+ }
79
+ if (required) {
80
+ if (!val.length) {
81
+ return false;
82
+ }
83
+ }
84
+ if (!validMinValue(min, val.length)) {
85
+ return false;
86
+ }
87
+ if (!validMaxValue(max, val.length)) {
88
+ return false;
89
+ }
90
+ } else if (isNumType) {
91
+ const numVal = Number(val);
92
+ if (isNaN(numVal)) {
93
+ return false;
94
+ }
95
+ if (!validMinValue(min, numVal)) {
96
+ return false;
97
+ }
98
+ if (!validMaxValue(max, numVal)) {
99
+ return false;
100
+ }
101
+ } else {
102
+ if (isStrType) {
103
+ if (!_xeUtils.default.isString(val)) {
104
+ return false;
105
+ }
106
+ }
107
+ if (required) {
108
+ if (!strVal) {
109
+ return false;
110
+ }
111
+ }
112
+ if (!validMinValue(min, strVal.length)) {
113
+ return false;
114
+ }
115
+ if (!validMaxValue(max, strVal.length)) {
116
+ return false;
117
+ }
60
118
  }
61
- // 如果存在 pattern,正则校验
62
- if (pattern && !(_xeUtils.default.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) {
63
- return true;
119
+ return true;
120
+ }
121
+ function checkRuleStatus(rule, val) {
122
+ const {
123
+ required
124
+ } = rule;
125
+ const isEmptyVal = _xeUtils.default.eqNull(val);
126
+ if (required) {
127
+ if (isEmptyVal) {
128
+ return false;
129
+ }
130
+ if (!validRuleValue(rule, val, required)) {
131
+ return false;
132
+ }
133
+ } else {
134
+ if (!isEmptyVal) {
135
+ if (!validRuleValue(rule, val, required)) {
136
+ return false;
137
+ }
138
+ }
64
139
  }
65
- return false;
66
- };
140
+ return true;
141
+ }
67
142
  var _default = exports.default = (0, _vue.defineComponent)({
68
143
  name: 'VxeForm',
69
144
  props: {
@@ -441,9 +516,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
441
516
  const itemValue = _xeUtils.default.isUndefined(val) ? _xeUtils.default.get(data, property) : val;
442
517
  rules.forEach(rule => {
443
518
  const {
444
- type,
445
519
  trigger,
446
- required,
447
520
  validator
448
521
  } = rule;
449
522
  if (validType === 'all' || !trigger || validType === trigger) {
@@ -465,14 +538,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
465
538
  if (validatorMethod) {
466
539
  customValid = validatorMethod(validParams);
467
540
  } else {
468
- if (process.env.NODE_ENV === 'development') {
469
- (0, _log.warnLog)('vxe.error.notValidators', [validator]);
470
- }
541
+ (0, _log.warnLog)('vxe.error.notValidators', [validator]);
471
542
  }
472
543
  } else {
473
- if (process.env.NODE_ENV === 'development') {
474
- (0, _log.errLog)('vxe.error.notValidators', [validator]);
475
- }
544
+ (0, _log.errLog)('vxe.error.notValidators', [validator]);
476
545
  }
477
546
  } else {
478
547
  customValid = validator(validParams);
@@ -498,17 +567,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
498
567
  }
499
568
  }
500
569
  } else {
501
- const isArrType = type === 'array';
502
- const isArrVal = _xeUtils.default.isArray(itemValue);
503
- let hasEmpty = true;
504
- if (isArrType || isArrVal) {
505
- hasEmpty = !isArrVal || !itemValue.length;
506
- } else if (_xeUtils.default.isString(itemValue)) {
507
- hasEmpty = (0, _utils.eqEmptyValue)(itemValue.trim());
508
- } else {
509
- hasEmpty = (0, _utils.eqEmptyValue)(itemValue);
510
- }
511
- if (required ? hasEmpty || validErrorRuleValue(rule, itemValue) : !hasEmpty && validErrorRuleValue(rule, itemValue)) {
570
+ if (!checkRuleStatus(rule, itemValue)) {
512
571
  errorRules.push(new Rule(rule));
513
572
  }
514
573
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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}}const validErrorRuleValue=(e,t)=>{var{type:e,min:i,max:l,pattern:r}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(i)&&a<_xeUtils.default.toNumber(i)||!_xeUtils.default.eqNull(l)&&a>_xeUtils.default.toNumber(l)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};var _default=exports.default=(0,_vue.defineComponent)({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}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:d,emit:l}=e,u=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(n)["computeSize"],m=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),f=(0,_vue.reactive)({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}),g=(0,_vue.ref)(),v=(0,_vue.ref)();let i={};const p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig));var r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,n.collapseConfig));const a={refElem:g},o={computeSize:c,computeValidOpts:p,computeTooltipOpts:_,computeCollapseOpts:r},h={xID:t,props:n,context:e,reactData:m,internalData:f,xeGrid:u,getRefMaps:()=>a,getComputeMaps:()=>o};const s=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",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),f.itemFormatCache={},(0,_vue.nextTick)()),x=()=>{const t=[];return _xeUtils.default.eachTree(m.formItems,e=>{t.push(e)},{children:"children"}),t},y=t=>{var e=_xeUtils.default.findTree(m.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},C=()=>m.collapseAll,b=()=>{var e=!C();return m.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()};const E=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)})}else x().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},U=(e,t,i)=>{var{field:l,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:l,item:e,data:t,$form:h,$grid:u}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(i)?[]:r},S=()=>{const o=n["data"];var e=x();return o&&e.forEach(e=>{var t,i,l,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:i}=a,l=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&l?l({data:o,field:r,property:r,item:e,$form:h,$grid:u}):r&&(a=_xeUtils.default.get(o,r),_xeUtils.default.set(o,r,U(e,o,a))),t)&&i&&(_xeUtils.default.set(o,t,U(e,o,_xeUtils.default.get(o,t))),_xeUtils.default.set(o,i,U(e,o,_xeUtils.default.get(o,i))))}),f.itemFormatCache={},E()},T=e=>{e.preventDefault(),S(),i.dispatchEvent("reset",{data:n.data},e)},I=e=>{var i=g.value;if(i)for(let t=0;t<e.length;t++){var l=e[t],r=y(l);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],o=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(i.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(o?o.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:u,item:r,data:n.data,field:l}):!0===a?e=i.querySelector(`.${r.id} input,textarea`):a&&(e=i.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},q=(e,t,i)=>{const{data:f,rules:l}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&l){const c=_xeUtils.default.get(l,s);if(c){const m=_xeUtils.default.isUndefined(i)?_xeUtils.default.get(f,s):i;c.forEach(t=>{const{type:i,trigger:l,required:r,validator:a}=t;if("all"===e||!l||e===l)if(a){var o={itemValue:m,rule:t,rules:c,data:f,field:s,property:s,$form:h};let e;_xeUtils.default.isString(a)?(u=_ui.validators.get(a))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===i,o=_xeUtils.default.isArray(m);let e=!0;e=u||o?!o||!m.length:_xeUtils.default.isString(m)?(0,_utils.eqEmptyValue)(m.trim()):(0,_utils.eqEmptyValue)(m),(r?e||validErrorRuleValue(t,m):!e&&validErrorRuleValue(t,m))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:h,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},w=(t,e,i)=>{var{data:l,rules:r}=n;const a=p.value,o={},u=[],s=[];return clearTimeout(f.meTimeout),l&&r?(t.forEach(t=>{const i=t["field"];i&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&s.push(q(e||"all",i).then(()=>{t.errRule=null}).catch(e=>{e=e[i];return o[i]||(o[i]=[]),o[i].push(e),u.push(i),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{i&&i()}).catch(()=>new Promise(e=>{f.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{I(u)}),i?(i(o),e()):e(o)}))):(i&&i(),Promise.resolve())};const R=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(E(),e?i.dispatchEvent("submit",{data:n.data},t):w(x()).then(e=>{e?i.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):i.dispatchEvent("submit",{data:n.data},t)}))},F=()=>{var e=f["tooltipStore"],t=v.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const O=(e,i,t)=>i?q(e?["blur"].includes(e.type)?"blur":"change":"all",i,t).then(()=>{E(i)}).catch(e=>{var e=e[i],t=y(i);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();i={dispatchEvent(e,t,i){l(e,(0,_ui.createEvent)(i,{$form:h,$grid:u},t))},reset:S,validate:e=>{var t=n["readonly"];return E(),t?(0,_vue.nextTick)():w(x(),"",e)},validateField:(e,t)=>{var i=n["readonly"];if(i)return(0,_vue.nextTick)();let l=[];return e&&(l=_xeUtils.default.isArray(e)?e:[e]),w(l.map(e=>(0,_util.handleFieldOrItem)(h,e)),"",t)},clearValidate:E,updateStatus:(e,t)=>{e=e.field;return O(new Event("change"),e,t)},toggleCollapse:b,getItems:x,getItemByField:y,closeTooltip:F};r={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:O,toggleCollapseEvent:e=>{b();var t=C();i.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),i.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e),(0,_vue.nextTick)(()=>{u&&u.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t["item"],i=f["tooltipStore"],l=v.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(f.stTimeout),i.item!==t&&F(),r&&a&&(Object.assign(i,{item:t,visible:!0}),l)&&l.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=_.value;let t=v.value;t&&t.setActived(!1),e.enterable?f.stTimeout=setTimeout(()=>{(t=v.value)&&!t.isActived()&&F()},e.leaveDelay):F()}};Object.assign(h,i,r);const V=(0,_vue.ref)(0),A=((0,_vue.watch)(()=>m.staticItems.length,()=>{V.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{V.value++}),(0,_vue.watch)(V,()=>{m.formItems=m.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{A.value++}),(0,_vue.watch)(()=>n.items,()=>{A.value++}),(0,_vue.watch)(A,()=>{s(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{E()}),(0,_vue.watch)(()=>n.disabled,()=>{E()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&s(n.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:i,data:l,customLayout:r}=n,a=m["formItems"],o=c.value,u=_.value,s=d.default;return(0,_vue.h)("form",{ref:g,class:["vxe-form",i?_xeUtils.default.isFunction(i)?i({items:a,data:l,$form:h}):i:"",{["size--"+o]:o,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:R,onReset:T},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?s?s({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!r&&s?s({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:v},u))])},h},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_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/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}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,i){var{type:e,min:l,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(i&&!t.length)return!1;if(!validMinValue(l,t.length))return!1;if(!validMaxValue(r,t.length))return!1}else if(o){a=Number(t);if(isNaN(a))return!1;if(!validMinValue(l,a))return!1;if(!validMaxValue(r,a))return!1}else{if(e&&!_xeUtils.default.isString(t))return!1;if(i&&!n)return!1;if(!validMinValue(l,n.length))return!1;if(!validMaxValue(r,n.length))return!1}return!0}function checkRuleStatus(e,t){var i=e["required"],l=_xeUtils.default.eqNull(t);if(i){if(l)return!1;if(!validRuleValue(e,t,i))return!1}else if(!l&&!validRuleValue(e,t,i))return!1;return!0}var _default=exports.default=(0,_vue.defineComponent)({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}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(s,e){const{slots:d,emit:l}=e,o=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();const f=(0,_ui.useSize)(s)["computeSize"],c=(0,_vue.reactive)({collapseAll:s.collapseStatus,staticItems:[],formItems:[]}),m=(0,_vue.reactive)({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}),g=(0,_vue.ref)(),v=(0,_vue.ref)();let i={};const p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,s.validConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,s.tooltipConfig));var r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,s.collapseConfig));const a={refElem:g},u={computeSize:f,computeValidOpts:p,computeTooltipOpts:_,computeCollapseOpts:r},h={xID:t,props:s,context:e,reactData:c,internalData:m,xeGrid:o,getRefMaps:()=>a,getComputeMaps:()=>u};const n=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",[e])})}),c.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),m.itemFormatCache={},(0,_vue.nextTick)()),x=()=>{const t=[];return _xeUtils.default.eachTree(c.formItems,e=>{t.push(e)},{children:"children"}),t},y=t=>{var e=_xeUtils.default.findTree(c.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},C=()=>c.collapseAll,b=()=>{var e=!C();return c.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()};const 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)})}else x().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},S=(e,t,i)=>{var{field:l,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:l,item:e,data:t,$form:h,$grid:o}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(i)?[]:r},E=()=>{const u=s["data"];var e=x();return u&&e.forEach(e=>{var t,i,l,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:i}=a,l=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&l?l({data:u,field:r,property:r,item:e,$form:h,$grid:o}):r&&(a=_xeUtils.default.get(u,r),_xeUtils.default.set(u,r,S(e,u,a))),t)&&i&&(_xeUtils.default.set(u,t,S(e,u,_xeUtils.default.get(u,t))),_xeUtils.default.set(u,i,S(e,u,_xeUtils.default.get(u,i))))}),m.itemFormatCache={},U()},T=e=>{e.preventDefault(),E(),i.dispatchEvent("reset",{data:s.data},e)},R=e=>{var i=g.value;if(i)for(let t=0;t<e.length;t++){var l=e[t],r=y(l);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],u=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(i.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:l}):!0===a?e=i.querySelector(`.${r.id} input,textarea`):a&&(e=i.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},I=(e,t,i)=>{const{data:f,rules:l}=s,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(u=>{const o=[],n=[];if(u&&l){const s=_xeUtils.default.get(l,u);if(s){const d=_xeUtils.default.isUndefined(i)?_xeUtils.default.get(f,u):i;s.forEach(t=>{const{trigger:i,validator:l}=t;if("all"===e||!i||e===i)if(l){var r,a={itemValue:d,rule:t,rules:s,data:f,field:u,property:u,$form:h};let e;_xeUtils.default.isString(l)?(r=_ui.validators.get(l))?(r=r.formItemValidatorMethod||r.itemValidatorMethod)?e=r(a):(0,_log.warnLog)("vxe.error.notValidators",[l]):(0,_log.errLog)("vxe.error.notValidators",[l]):e=l(a),e&&(_xeUtils.default.isError(e)?o.push(new Rule({type:"custom",trigger:i,content:e.message,rule:new Rule(t)})):e.catch&&n.push(e.catch(e=>{o.push(new Rule({type:"custom",trigger:i,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else checkRuleStatus(t,d)||o.push(new Rule(t))})}}return Promise.all(n).then(()=>{o.length&&(r[u]=o.map(e=>({$form:h,rule:e,data:f,field:u,property:u})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},q=(t,e,i)=>{var{data:l,rules:r}=s;const a=p.value,u={},o=[],n=[];return clearTimeout(m.meTimeout),l&&r?(t.forEach(t=>{const i=t["field"];i&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&n.push(I(e||"all",i).then(()=>{t.errRule=null}).catch(e=>{e=e[i];return u[i]||(u[i]=[]),u[i].push(e),o.push(i),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(n).then(()=>{i&&i()}).catch(()=>new Promise(e=>{m.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{R(o)}),i?(i(u),e()):e(u)}))):(i&&i(),Promise.resolve())};const w=t=>{var e=s["readonly"];t.preventDefault(),s.preventSubmit||(U(),e?i.dispatchEvent("submit",{data:s.data},t):q(x()).then(e=>{e?i.dispatchEvent("submit-invalid",{data:s.data,errMap:e},t):i.dispatchEvent("submit",{data:s.data},t)}))},V=()=>{var e=m["tooltipStore"],t=v.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const F=(e,i,t)=>i?I(e?["blur"].includes(e.type)?"blur":"change":"all",i,t).then(()=>{U(i)}).catch(e=>{var e=e[i],t=y(i);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();i={dispatchEvent(e,t,i){l(e,(0,_ui.createEvent)(i,{$form:h,$grid:o},t))},reset:E,validate:e=>{var t=s["readonly"];return U(),t?(0,_vue.nextTick)():q(x(),"",e)},validateField:(e,t)=>{var i=s["readonly"];if(i)return(0,_vue.nextTick)();let l=[];return e&&(l=_xeUtils.default.isArray(e)?e:[e]),q(l.map(e=>(0,_util.handleFieldOrItem)(h,e)),"",t)},clearValidate:U,updateStatus:(e,t)=>{e=e.field;return F(new Event("change"),e,t)},toggleCollapse:b,getItems:x,getItemByField:y,closeTooltip:V};r={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:F,toggleCollapseEvent:e=>{b();var t=C();i.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:s.data},e),i.dispatchEvent("collapse",{status:t,collapse:t,data:s.data},e),(0,_vue.nextTick)(()=>{o&&o.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t["item"],i=m["tooltipStore"],l=v.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(m.stTimeout),i.item!==t&&V(),r&&a&&(Object.assign(i,{item:t,visible:!0}),l)&&l.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=_.value;let t=v.value;t&&t.setActived(!1),e.enterable?m.stTimeout=setTimeout(()=>{(t=v.value)&&!t.isActived()&&V()},e.leaveDelay):V()}};Object.assign(h,i,r);const O=(0,_vue.ref)(0),A=((0,_vue.watch)(()=>c.staticItems.length,()=>{O.value++}),(0,_vue.watch)(()=>c.staticItems,()=>{O.value++}),(0,_vue.watch)(O,()=>{c.formItems=c.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>s.items?s.items.length:-1,()=>{A.value++}),(0,_vue.watch)(()=>s.items,()=>{A.value++}),(0,_vue.watch)(A,()=>{n(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",["custom-layout","items"])})}),s.items&&n(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:i,data:l,customLayout:r}=s,a=c["formItems"],u=f.value,o=_.value,n=d.default;return(0,_vue.h)("form",{ref:g,class:["vxe-form",i?_xeUtils.default.isFunction(i)?i({items:a,data:l,$form:h}):i:"",{["size--"+u]:u,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:w,onReset:T},[(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}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!r&&n?n({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:v},o))])},h},render(){return this.renderVN()}});
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DefaultSettingFormComponent = void 0;
7
7
  var _vue = require("vue");
8
- var _core = require("@vxe-ui/core");
8
+ var _ui = require("../../ui");
9
9
  var _form = _interopRequireDefault(require("../../form/src/form"));
10
10
  var _formItem = _interopRequireDefault(require("../../form/src/form-item"));
11
11
  var _switch = _interopRequireDefault(require("../../switch/src/switch"));
@@ -44,16 +44,16 @@ const DefaultSettingFormComponent = exports.DefaultSettingFormComponent = (0, _v
44
44
  showMobile
45
45
  } = formDesignProps;
46
46
  return [(0, _vue.h)(_formItem.default, {
47
- title: (0, _core.getI18n)('vxe.formDesign.formName'),
47
+ title: (0, _ui.getI18n)('vxe.formDesign.formName'),
48
48
  field: 'title',
49
49
  itemRender: {
50
50
  name: 'VxeInput',
51
51
  props: {
52
- placeholder: (0, _core.getI18n)('vxe.formDesign.defFormTitle')
52
+ placeholder: (0, _ui.getI18n)('vxe.formDesign.defFormTitle')
53
53
  }
54
54
  }
55
55
  }), showPc && showMobile ? (0, _vue.h)(_formItem.default, {
56
- title: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.name')
56
+ title: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.name')
57
57
  }, {
58
58
  default() {
59
59
  return [(0, _vue.h)('div', {
@@ -61,24 +61,24 @@ const DefaultSettingFormComponent = exports.DefaultSettingFormComponent = (0, _v
61
61
  }, [(0, _vue.h)('div', {
62
62
  class: 'vxe-form-design--widget-form-item-pc'
63
63
  }, [(0, _vue.h)(_text.default, {
64
- icon: (0, _core.getIcon)().FORM_DESIGN_PROPS_PC,
65
- content: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.pc')
64
+ icon: (0, _ui.getIcon)().FORM_DESIGN_PROPS_PC,
65
+ content: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.pc')
66
66
  }), (0, _vue.h)(_switch.default, {
67
67
  modelValue: formData.pcVisible,
68
- openLabel: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.visible'),
69
- closeLabel: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.hidden'),
68
+ openLabel: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.visible'),
69
+ closeLabel: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.hidden'),
70
70
  'onUpdate:modelValue'(val) {
71
71
  formData.pcVisible = val;
72
72
  }
73
73
  })]), (0, _vue.h)('div', {
74
74
  class: 'vxe-form-design--widget-form-item-mobile'
75
75
  }, [(0, _vue.h)(_text.default, {
76
- icon: (0, _core.getIcon)().FORM_DESIGN_PROPS_MOBILE,
77
- content: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.mobile')
76
+ icon: (0, _ui.getIcon)().FORM_DESIGN_PROPS_MOBILE,
77
+ content: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.mobile')
78
78
  }), (0, _vue.h)(_switch.default, {
79
79
  modelValue: formData.mobileVisible,
80
- openLabel: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.visible'),
81
- closeLabel: (0, _core.getI18n)('vxe.formDesign.widgetProp.displaySetting.hidden'),
80
+ openLabel: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.visible'),
81
+ closeLabel: (0, _ui.getI18n)('vxe.formDesign.widgetProp.displaySetting.hidden'),
82
82
  'onUpdate:modelValue'(val) {
83
83
  formData.mobileVisible = val;
84
84
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultSettingFormComponent=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_form=_interopRequireDefault(require("../../form/src/form")),_formItem=_interopRequireDefault(require("../../form/src/form-item")),_switch=_interopRequireDefault(require("../../switch/src/switch")),_text=_interopRequireDefault(require("../../text/src/text"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const DefaultSettingFormComponent=exports.DefaultSettingFormComponent=(0,_vue.defineComponent)({name:"DefaultSettingForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(e){var t=(0,_vue.inject)("$xeFormDesign",null);if(!t)return()=>[];const o=t["props"];return()=>{const i=e["formData"];return(0,_vue.h)(_form.default,{data:i,span:24,vertical:!0,titleBold:!0},{default(){var{showPc:e,showMobile:t}=o;return[(0,_vue.h)(_formItem.default,{title:(0,_core.getI18n)("vxe.formDesign.formName"),field:"title",itemRender:{name:"VxeInput",props:{placeholder:(0,_core.getI18n)("vxe.formDesign.defFormTitle")}}}),e&&t?(0,_vue.h)(_formItem.default,{title:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.name")},{default(){return[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices"},[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-pc"},[(0,_vue.h)(_text.default,{icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_PC,content:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.pc")}),(0,_vue.h)(_switch.default,{modelValue:i.pcVisible,openLabel:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(e){i.pcVisible=e}})]),(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-mobile"},[(0,_vue.h)(_text.default,{icon:(0,_core.getIcon)().FORM_DESIGN_PROPS_MOBILE,content:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.mobile")}),(0,_vue.h)(_switch.default,{modelValue:i.mobileVisible,openLabel:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:(0,_core.getI18n)("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(e){i.mobileVisible=e}})])])]}}):(0,_vue.createCommentVNode)()]}})}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.DefaultSettingFormComponent=void 0;var _vue=require("vue"),_ui=require("../../ui"),_form=_interopRequireDefault(require("../../form/src/form")),_formItem=_interopRequireDefault(require("../../form/src/form-item")),_switch=_interopRequireDefault(require("../../switch/src/switch")),_text=_interopRequireDefault(require("../../text/src/text"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const DefaultSettingFormComponent=exports.DefaultSettingFormComponent=(0,_vue.defineComponent)({name:"DefaultSettingForm",props:{formData:{type:Object,default:()=>({})}},emits:[],setup(e){var t=(0,_vue.inject)("$xeFormDesign",null);if(!t)return()=>[];const o=t["props"];return()=>{const i=e["formData"];return(0,_vue.h)(_form.default,{data:i,span:24,vertical:!0,titleBold:!0},{default(){var{showPc:e,showMobile:t}=o;return[(0,_vue.h)(_formItem.default,{title:(0,_ui.getI18n)("vxe.formDesign.formName"),field:"title",itemRender:{name:"VxeInput",props:{placeholder:(0,_ui.getI18n)("vxe.formDesign.defFormTitle")}}}),e&&t?(0,_vue.h)(_formItem.default,{title:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.name")},{default(){return[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-devices"},[(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-pc"},[(0,_vue.h)(_text.default,{icon:(0,_ui.getIcon)().FORM_DESIGN_PROPS_PC,content:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.pc")}),(0,_vue.h)(_switch.default,{modelValue:i.pcVisible,openLabel:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(e){i.pcVisible=e}})]),(0,_vue.h)("div",{class:"vxe-form-design--widget-form-item-mobile"},[(0,_vue.h)(_text.default,{icon:(0,_ui.getIcon)().FORM_DESIGN_PROPS_MOBILE,content:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.mobile")}),(0,_vue.h)(_switch.default,{modelValue:i.mobileVisible,openLabel:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.visible"),closeLabel:(0,_ui.getI18n)("vxe.formDesign.widgetProp.displaySetting.hidden"),"onUpdate:modelValue"(e){i.mobileVisible=e}})])])]}}):(0,_vue.createCommentVNode)()]}})}}});
@@ -276,9 +276,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
276
276
  * @deprecated
277
277
  */
278
278
  updateItemStatus(widget, value) {
279
- if (process.env.NODE_ENV === 'development') {
280
- (0, _log.warnLog)('vxe.error.delFunc', ['updateItemStatus', 'updateWidgetStatus']);
281
- }
279
+ (0, _log.warnLog)('vxe.error.delFunc', ['updateItemStatus', 'updateWidgetStatus']);
282
280
  return updateWidgetStatus(widget, value);
283
281
  }
284
282
  };
@@ -315,7 +313,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
315
313
  class: 'vxe-form-view--top'
316
314
  }, (0, _vn.getSlotVNs)(topSlot({
317
315
  $formView: $xeFormView
318
- }))) : (0, _vue.createCommentVNode)(), (0, _vue.h)(_form.default, Object.assign(Object.assign({
316
+ }))) : (0, _ui.renderEmptyElement)($xeFormView), (0, _vue.h)(_form.default, Object.assign(Object.assign({
319
317
  ref: formRef
320
318
  }, formConfig), {
321
319
  data: modelValue,
@@ -336,7 +334,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
336
334
  default() {
337
335
  return headerSlot({});
338
336
  }
339
- }) : (0, _vue.createCommentVNode)(), ...widgetObjList.map(widget => {
337
+ }) : (0, _ui.renderEmptyElement)($xeFormView), ...widgetObjList.map(widget => {
340
338
  const {
341
339
  name
342
340
  } = widget;
@@ -380,13 +378,13 @@ var _default = exports.default = (0, _vue.defineComponent)({
380
378
  default() {
381
379
  return footerSlot({});
382
380
  }
383
- }) : (0, _vue.createCommentVNode)()];
381
+ }) : (0, _ui.renderEmptyElement)($xeFormView)];
384
382
  }
385
383
  }), bottomSlot ? (0, _vue.h)('div', {
386
384
  class: 'vxe-form-view--bottom'
387
385
  }, (0, _vn.getSlotVNs)(bottomSlot({
388
386
  $formView: $xeFormView
389
- }))) : (0, _vue.createCommentVNode)()]);
387
+ }))) : (0, _ui.renderEmptyElement)($xeFormView)]);
390
388
  };
391
389
  $xeFormView.renderVN = renderVN;
392
390
  (0, _vue.watch)(() => props.config, value => {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_defaultSettingData=require("./default-setting-data"),_form=_interopRequireDefault(require("../../form/src/form")),_formGroup=_interopRequireDefault(require("../../form/src/form-group")),_formItem=_interopRequireDefault(require("../../form/src/form-item")),_widgetInfo=require("./widget-info"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormView",props:{modelValue:Object,config:Object,readonly:Boolean,disabled:Boolean,viewRender:Object,formOptions:Object,createFormConfig:Function,size:{type:String,default:()=>(0,_ui.getConfig)().formView.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","submit","reset"],setup(f,e){const{emit:i,slots:m}=e;var t=_xeUtils.default.uniqueId();const v=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_ui.useSize)(f)["computeSize"],_=(0,_vue.inject)("$xeFormDesignLayoutStyle",null),p=(0,_vue.reactive)({formConfig:{},formRules:{},widgetObjList:[]}),r={refElem:v},a={computeSize:c},V={xID:t,props:f,context:e,reactData:p,getRefMaps:()=>r,getComputeMaps:()=>a};const o=e=>{var t;return e&&({formConfig:e,widgetData:t}=e,n(e||{}),s(t||[])),(0,_vue.nextTick)()};const u=e=>{var{viewRender:t,createFormConfig:r,formOptions:i}=f,e={viewRender:t,formConfig:e};return r?r(e):(r=(t||{})["name"],r=(t=_ui.renderer.get(r)||{})?t.createFormViewFormConfig:null,Object.assign({},(r||_defaultSettingData.createDefaultFormViewPCFormConfig)(e),i))},n=e=>(p.formConfig=u(e),(0,_vue.nextTick)()),d=e=>{const o={},u={};return _xeUtils.default.eachTree(e,e=>{var{name:t,field:r,required:i}=e,t=_ui.renderer.get(t)||{},a=t.createFormDesignWidgetFieldValue,t=t.createFormDesignWidgetFieldRules;o[r]=a?a({widget:e,$formView:V}):w(e),t?(a=t({widget:e,$formView:V}))&&a.length&&(u[r]=a):i&&(u[r]=b())},{children:"children"}),{formData:o,formRules:u}},l=e=>(e||[]).map(e=>(0,_widgetInfo.configToWidget)(e)),s=e=>{var e=l(e),{formData:e,formRules:t}=(p.widgetObjList=e,d(e));return p.formRules=t,i("update:modelValue",Object.assign(e,f.modelValue)),(0,_vue.nextTick)()},w=e=>"subtable"===e.name?[]:null,b=()=>[{required:!0,content:"该填写该字段!"}],D=(e,t)=>{var e=e["field"],r=g.value;return r&&r.updateStatus({field:e},t),(0,_vue.nextTick)()};const x=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$formView:V},t))},C=e=>e?_xeUtils.default.isArray(e)?e.map(e=>e.name):[e.name]:null;t={dispatchEvent:x,clearConfig:()=>o({formConfig:{},widgetData:[]}),loadConfig:o,parseConfig:e=>{var{formConfig:e,widgetData:t}=e||{},t=l(t||[]);return Object.assign(Object.assign({},d(t)),{formConfig:u(e||{}),widgetData:t})},loadFormConfig:n,loadWidgetData:s,updateWidgetStatus:D,setItemValue:(e,t)=>{var r=f["modelValue"],e=e["field"],i=g.value;return r&&(r[e]=t),i&&i.updateStatus({field:e},t),(0,_vue.nextTick)()},getItemValue:e=>{var t=f["modelValue"];return t?t[e.field]:null},validate(){var e=g.value;return e?e.validate():(0,_vue.nextTick)()},validateWidget(e){var t=g.value;return t?t.validateField(C(e)):(0,_vue.nextTick)()},clearValidate(e){var t=g.value;return t?t.clearValidate(C(e)):(0,_vue.nextTick)()},reset(){var e=p["widgetObjList"],e=d(e)["formData"];return i("update:modelValue",Object.assign({},e)),(0,_vue.nextTick)()},updateItemStatus(e,t){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["updateItemStatus","updateWidgetStatus"]),D(e,t)}};const F=e=>{x("submit",e,e.$event)},O=e=>{x("reset",e,e.$event)};Object.assign(V,t,{});return V.renderVN=()=>{var{readonly:e,disabled:t,modelValue:r}=f;const{formConfig:i,formRules:a,widgetObjList:o}=p;var u=c.value,n=m.top,d=m.bottom;const l=m.header,s=m.footer;return(0,_vue.h)("div",{ref:v,class:["vxe-form-view",{["size--"+u]:u}]},[n?(0,_vue.h)("div",{class:"vxe-form-view--top"},(0,_vn.getSlotVNs)(n({$formView:V}))):(0,_vue.createCommentVNode)(),(0,_vue.h)(_form.default,Object.assign(Object.assign({ref:g},i),{data:r,customLayout:!0,readonly:e,disabled:t,span:24,rules:a,onSubmit:F,onReset:O}),{default(){const{readonly:n,disabled:d}=f;return[l?(0,_vue.h)(_formItem.default,{},{default(){return l({})}}):(0,_vue.createCommentVNode)(),...o.map(e=>{var t=e["name"],t=_ui.renderer.get(t)||{};const r=t.renderFormDesignWidgetView,i=t.renderFormDesignWidgetPreview,a=t.renderFormDesignWidgetMobilePreview;t=!!_;const o=e,u={widget:e,readonly:!!n,disabled:!!d,isEditMode:t,isViewMode:!t,$formDesign:null,$formView:V};return(0,_vue.h)(_formGroup.default,{key:e.id},{default(){if(_)if(2===_.reactData.activeTab){if(a)return(0,_vn.getSlotVNs)(a(o,u))}else if(i)return(0,_vn.getSlotVNs)(i(o,u));return r?(0,_vn.getSlotVNs)(r(o,u)):[]}})}),s?(0,_vue.h)(_formGroup.default,{span:24},{default(){return s({})}}):(0,_vue.createCommentVNode)()]}}),d?(0,_vue.h)("div",{class:"vxe-form-view--bottom"},(0,_vn.getSlotVNs)(d({$formView:V}))):(0,_vue.createCommentVNode)()])},(0,_vue.watch)(()=>f.config,e=>{o(e||{})}),f.config&&o(f.config),(0,_vue.provide)("$xeFormView",V),V},render(){return this.renderVN()}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_defaultSettingData=require("./default-setting-data"),_form=_interopRequireDefault(require("../../form/src/form")),_formGroup=_interopRequireDefault(require("../../form/src/form-group")),_formItem=_interopRequireDefault(require("../../form/src/form-item")),_widgetInfo=require("./widget-info"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormView",props:{modelValue:Object,config:Object,readonly:Boolean,disabled:Boolean,viewRender:Object,formOptions:Object,createFormConfig:Function,size:{type:String,default:()=>(0,_ui.getConfig)().formView.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","submit","reset"],setup(f,e){const{emit:i,slots:m}=e;var t=_xeUtils.default.uniqueId();const g=(0,_vue.ref)(),v=(0,_vue.ref)(),c=(0,_ui.useSize)(f)["computeSize"],_=(0,_vue.inject)("$xeFormDesignLayoutStyle",null),p=(0,_vue.reactive)({formConfig:{},formRules:{},widgetObjList:[]}),r={refElem:g},a={computeSize:c},w={xID:t,props:f,context:e,reactData:p,getRefMaps:()=>r,getComputeMaps:()=>a};const u=e=>{var t;return e&&({formConfig:e,widgetData:t}=e,n(e||{}),s(t||[])),(0,_vue.nextTick)()};const o=e=>{var{viewRender:t,createFormConfig:r,formOptions:i}=f,e={viewRender:t,formConfig:e};return r?r(e):(r=(t||{})["name"],r=(t=_ui.renderer.get(r)||{})?t.createFormViewFormConfig:null,Object.assign({},(r||_defaultSettingData.createDefaultFormViewPCFormConfig)(e),i))},n=e=>(p.formConfig=o(e),(0,_vue.nextTick)()),l=e=>{const u={},o={};return _xeUtils.default.eachTree(e,e=>{var{name:t,field:r,required:i}=e,t=_ui.renderer.get(t)||{},a=t.createFormDesignWidgetFieldValue,t=t.createFormDesignWidgetFieldRules;u[r]=a?a({widget:e,$formView:w}):V(e),t?(a=t({widget:e,$formView:w}))&&a.length&&(o[r]=a):i&&(o[r]=b())},{children:"children"}),{formData:u,formRules:o}},d=e=>(e||[]).map(e=>(0,_widgetInfo.configToWidget)(e)),s=e=>{var e=d(e),{formData:e,formRules:t}=(p.widgetObjList=e,l(e));return p.formRules=t,i("update:modelValue",Object.assign(e,f.modelValue)),(0,_vue.nextTick)()},V=e=>"subtable"===e.name?[]:null,b=()=>[{required:!0,content:"该填写该字段!"}],x=(e,t)=>{var e=e["field"],r=v.value;return r&&r.updateStatus({field:e},t),(0,_vue.nextTick)()};const D=(e,t,r)=>{i(e,(0,_ui.createEvent)(r,{$formView:w},t))},C=e=>e?_xeUtils.default.isArray(e)?e.map(e=>e.name):[e.name]:null;t={dispatchEvent:D,clearConfig:()=>u({formConfig:{},widgetData:[]}),loadConfig:u,parseConfig:e=>{var{formConfig:e,widgetData:t}=e||{},t=d(t||[]);return Object.assign(Object.assign({},l(t)),{formConfig:o(e||{}),widgetData:t})},loadFormConfig:n,loadWidgetData:s,updateWidgetStatus:x,setItemValue:(e,t)=>{var r=f["modelValue"],e=e["field"],i=v.value;return r&&(r[e]=t),i&&i.updateStatus({field:e},t),(0,_vue.nextTick)()},getItemValue:e=>{var t=f["modelValue"];return t?t[e.field]:null},validate(){var e=v.value;return e?e.validate():(0,_vue.nextTick)()},validateWidget(e){var t=v.value;return t?t.validateField(C(e)):(0,_vue.nextTick)()},clearValidate(e){var t=v.value;return t?t.clearValidate(C(e)):(0,_vue.nextTick)()},reset(){var e=p["widgetObjList"],e=l(e)["formData"];return i("update:modelValue",Object.assign({},e)),(0,_vue.nextTick)()},updateItemStatus(e,t){return(0,_log.warnLog)("vxe.error.delFunc",["updateItemStatus","updateWidgetStatus"]),x(e,t)}};const F=e=>{D("submit",e,e.$event)},O=e=>{D("reset",e,e.$event)};Object.assign(w,t,{});return w.renderVN=()=>{var{readonly:e,disabled:t,modelValue:r}=f;const{formConfig:i,formRules:a,widgetObjList:u}=p;var o=c.value,n=m.top,l=m.bottom;const d=m.header,s=m.footer;return(0,_vue.h)("div",{ref:g,class:["vxe-form-view",{["size--"+o]:o}]},[n?(0,_vue.h)("div",{class:"vxe-form-view--top"},(0,_vn.getSlotVNs)(n({$formView:w}))):(0,_ui.renderEmptyElement)(w),(0,_vue.h)(_form.default,Object.assign(Object.assign({ref:v},i),{data:r,customLayout:!0,readonly:e,disabled:t,span:24,rules:a,onSubmit:F,onReset:O}),{default(){const{readonly:n,disabled:l}=f;return[d?(0,_vue.h)(_formItem.default,{},{default(){return d({})}}):(0,_ui.renderEmptyElement)(w),...u.map(e=>{var t=e["name"],t=_ui.renderer.get(t)||{};const r=t.renderFormDesignWidgetView,i=t.renderFormDesignWidgetPreview,a=t.renderFormDesignWidgetMobilePreview;t=!!_;const u=e,o={widget:e,readonly:!!n,disabled:!!l,isEditMode:t,isViewMode:!t,$formDesign:null,$formView:w};return(0,_vue.h)(_formGroup.default,{key:e.id},{default(){if(_)if(2===_.reactData.activeTab){if(a)return(0,_vn.getSlotVNs)(a(u,o))}else if(i)return(0,_vn.getSlotVNs)(i(u,o));return r?(0,_vn.getSlotVNs)(r(u,o)):[]}})}),s?(0,_vue.h)(_formGroup.default,{span:24},{default(){return s({})}}):(0,_ui.renderEmptyElement)(w)]}}),l?(0,_vue.h)("div",{class:"vxe-form-view--bottom"},(0,_vn.getSlotVNs)(l({$formView:w}))):(0,_ui.renderEmptyElement)(w)])},(0,_vue.watch)(()=>f.config,e=>{u(e||{})}),f.config&&u(f.config),(0,_vue.provide)("$xeFormView",w),w},render(){return this.renderVN()}});