cnhis-design-vue 3.1.42-beta.2 → 3.1.42-beta.20

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 (147) hide show
  1. package/es/components/annotation-edit/src/AnnotationEdit.js +1 -1
  2. package/es/components/base-search/src/index.vue.js +1 -1
  3. package/es/components/base-search/style/index.css +1 -1
  4. package/es/components/big-table/index.d.ts +3 -4
  5. package/es/components/big-table/src/BigTable.vue.d.ts +3 -4
  6. package/es/components/big-table/src/BigTable.vue2.js +1 -1
  7. package/es/components/big-table/style/index.css +1 -1
  8. package/es/components/button-print/index.d.ts +4 -4
  9. package/es/components/button-print/src/ButtonPrint.vue.d.ts +4 -4
  10. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  11. package/es/components/button-print/src/components/EditFormat.vue.d.ts +4 -4
  12. package/es/components/button-print/src/components/IdentityVerification.vue.d.ts +4 -4
  13. package/es/components/button-print/src/utils/print.js +1 -1
  14. package/es/components/config-provider/src/ConfigProvider.js +1 -1
  15. package/es/components/config-provider/src/interface.d.ts +4 -4
  16. package/es/components/date-picker/src/DatePicker.vue.js +1 -1
  17. package/es/components/fabric-chart/index.d.ts +2 -2
  18. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +2 -2
  19. package/es/components/fabric-chart/src/hooks/useBirthProcess.d.ts +1 -0
  20. package/es/components/fabric-chart/src/hooks/useBirthProcess.js +1 -1
  21. package/es/components/fabric-chart/src/hooks/useBirthProcessChart.js +1 -1
  22. package/es/components/fabric-chart/src/hooks/useCenter.js +1 -1
  23. package/es/components/fabric-chart/src/hooks/useLeft.js +1 -1
  24. package/es/components/fabric-chart/src/hooks/useScaleColumn.d.ts +16 -0
  25. package/es/components/fabric-chart/src/hooks/useScaleColumn.js +1 -0
  26. package/es/components/field-set/index.d.ts +84 -15
  27. package/es/components/field-set/src/FieldSet.vue.d.ts +80 -29
  28. package/es/components/field-set/src/types/index.d.ts +18 -0
  29. package/es/components/field-set/src/types/index.js +1 -0
  30. package/es/components/form-config/index.d.ts +28 -25
  31. package/es/components/form-config/src/FormConfig.vue.d.ts +28 -25
  32. package/es/components/form-config/src/FormConfig.vue.js +1 -1
  33. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +12 -12
  34. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +14 -13
  35. package/es/components/form-config/src/components/FormConfigEdit.vue.js +1 -1
  36. package/es/components/form-config/src/components/renderer/DefaultNode.vue.js +1 -1
  37. package/es/components/form-config/src/constants/index.d.ts +12 -1
  38. package/es/components/form-config/src/constants/index.js +1 -1
  39. package/es/components/form-config/src/hooks/useConfigurationField.js +1 -1
  40. package/es/components/form-config/src/types/index.d.ts +1 -0
  41. package/es/components/form-render/index.d.ts +12 -12
  42. package/es/components/form-render/index.js +1 -1
  43. package/es/components/form-render/src/FormRender.vue.d.ts +12 -12
  44. package/es/components/form-render/src/FormRender.vue.js +1 -1
  45. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +12 -12
  46. package/es/components/form-render/src/components/renderer/complex.d.ts +1 -1
  47. package/es/components/form-render/src/components/renderer/date.js +1 -1
  48. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +1 -1
  49. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +1 -1
  50. package/es/components/form-render/src/components/renderer/radio&checkbox.d.ts +2 -2
  51. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  52. package/es/components/form-render/src/components/renderer/select.js +1 -1
  53. package/es/components/form-render/src/hooks/index.d.ts +1 -1
  54. package/es/components/form-render/src/hooks/index.js +1 -1
  55. package/es/components/form-render/src/hooks/useFormAsyncQueue.d.ts +16 -0
  56. package/es/components/form-render/src/hooks/useFormAsyncQueue.js +1 -0
  57. package/es/components/form-render/src/hooks/useFormContext.js +1 -1
  58. package/es/components/form-render/src/types/index.d.ts +2 -1
  59. package/es/components/iho-table/index.d.ts +3 -0
  60. package/es/components/iho-table/src/IhoTable.vue.d.ts +3 -0
  61. package/es/components/iho-table/src/IhoTable.vue.js +1 -1
  62. package/es/components/iho-table/src/constants/index.d.ts +2 -1
  63. package/es/components/iho-table/src/constants/index.js +1 -1
  64. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -1
  65. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  66. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +3 -1
  67. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.js +1 -1
  68. package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +1 -1
  69. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  70. package/es/components/iho-table/src/plugins/highLightSetPlugin.d.ts +1 -0
  71. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -0
  72. package/es/components/iho-table/src/plugins/index.js +1 -1
  73. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +1 -1
  74. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index.js +1 -1
  75. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
  76. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  77. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.d.ts +1 -1
  78. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js +1 -1
  79. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/defaultRendererPlugin.js +1 -1
  80. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.d.ts +1 -0
  81. package/es/components/iho-table/src/plugins/varialbleHeightPlugin/index.js +1 -0
  82. package/es/components/iho-table/src/types/index.d.ts +2 -1
  83. package/es/components/iho-table/src/types/pluginType.d.ts +3 -1
  84. package/es/components/iho-table/src/utils/index.d.ts +3 -0
  85. package/es/components/iho-table/src/utils/index.js +1 -1
  86. package/es/components/iho-table/style/index.css +1 -1
  87. package/es/components/index.css +1 -1
  88. package/es/components/index.d.ts +1 -0
  89. package/es/components/index.js +1 -1
  90. package/es/components/info-header/index.d.ts +28 -28
  91. package/es/components/info-header/src/InfoHeader.vue.d.ts +28 -28
  92. package/es/components/info-header/src/components/infoDescription/DescriptionItem.vue.d.ts +3 -3
  93. package/es/components/info-header/src/components/infoDescription/DescriptionList.vue.d.ts +3 -3
  94. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.d.ts +2 -2
  95. package/es/components/info-header/src/components/infoDescription/HiddenContent.vue.js +1 -1
  96. package/es/components/info-header/src/components/infoDescription/InfoEllipsis.vue.d.ts +1 -1
  97. package/es/components/info-header/src/components/infoDescription/index.vue.d.ts +15 -15
  98. package/es/components/info-header/src/components/infoDescription/index.vue.js +1 -1
  99. package/es/components/info-header/src/components/patientInfo/index.vue.d.ts +12 -12
  100. package/es/components/info-header/style/index.css +1 -1
  101. package/es/components/keyboard/index.d.ts +1 -1
  102. package/es/components/keyboard/src/Keyboard.vue.d.ts +1 -1
  103. package/es/components/keyboard/src/Keyboard.vue.js +1 -1
  104. package/es/components/keyboard/src/constants/index.js +1 -1
  105. package/es/components/keyboard/style/index.css +1 -1
  106. package/es/components/scale-view/index.d.ts +25 -66
  107. package/es/components/scale-view/src/ScaleView.vue.d.ts +25 -66
  108. package/es/components/scale-view/src/ScaleView.vue.js +1 -1
  109. package/es/components/scale-view/src/components/formitem/standard-modal.d.ts +1 -1
  110. package/es/components/scale-view/style/index.css +1 -1
  111. package/es/components/select-person/index.d.ts +1 -1
  112. package/es/components/select-person/src/SelectPerson.vue.d.ts +1 -1
  113. package/es/components/shortcut-setter/index.d.ts +12 -12
  114. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +12 -12
  115. package/es/components/steps-wheel/src/StepsWheel.vue.js +1 -1
  116. package/es/components/steps-wheel/src/constants/index.js +1 -1
  117. package/es/components/steps-wheel/style/index.css +1 -1
  118. package/es/components/table-filter/index.d.ts +0 -1
  119. package/es/components/table-filter/index.js +1 -1
  120. package/es/components/table-filter/src/components/render-widget/components/CheckboxGroup.vue.d.ts +1 -1
  121. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.d.ts +1 -1
  122. package/es/components/table-filter/src/components/render-widget/widgetCfgMaps.js +1 -1
  123. package/es/components/table-filter/src/hooks/useMixins.js +1 -1
  124. package/es/components/table-filter/src/tool/baseOptions.d.ts +0 -10
  125. package/es/components/table-filter/src/tool/baseOptions.js +1 -1
  126. package/es/components/table-filter/src/tool/generateDefOptions.d.ts +0 -7
  127. package/es/components/table-filter/src/tool/generateDefOptions.js +1 -1
  128. package/es/components/table-filter/src/types/index.d.ts +0 -74
  129. package/es/components/time-picker/src/TimePicker.vue.js +1 -1
  130. package/es/shared/{mixins → hooks}/index.d.ts +1 -0
  131. package/es/shared/{mixins → hooks}/index.js +1 -1
  132. package/es/{components/form-render/src → shared}/hooks/useAsyncQueue.d.ts +0 -14
  133. package/es/shared/hooks/useAsyncQueue.js +1 -0
  134. package/package.json +2 -2
  135. package/es/components/form-render/src/hooks/useAsyncQueue.js +0 -1
  136. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +0 -115
  137. package/es/components/scale-view/src/hooks/scaleview-props.js +0 -1
  138. package/es/components/table-filter/src/hooks/export.d.ts +0 -1
  139. package/es/components/table-filter/src/hooks/export.js +0 -1
  140. package/es/components/table-filter/src/tool/getWidgetType.d.ts +0 -1
  141. package/es/components/table-filter/src/tool/getWidgetType.js +0 -1
  142. package/es/shared/utils/colorLog.d.ts +0 -31
  143. package/es/shared/utils/colorLog.js +0 -1
  144. /package/es/shared/{mixins → hooks}/useDateTime.d.ts +0 -0
  145. /package/es/shared/{mixins → hooks}/useDateTime.js +0 -0
  146. /package/es/shared/{mixins → hooks}/useTheme.d.ts +0 -0
  147. /package/es/shared/{mixins → hooks}/useTheme.js +0 -0
@@ -65,7 +65,7 @@ export declare const LINEBAR: import("vue").DefineComponent<{
65
65
  default: boolean;
66
66
  };
67
67
  }>>, {
68
- show: boolean;
69
68
  disabled: boolean;
69
+ show: boolean;
70
70
  title: string;
71
71
  }>;
@@ -87,10 +87,10 @@ export declare const RADIO: import("vue").DefineComponent<{
87
87
  }>> & {
88
88
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
89
89
  }, {
90
- vertical: boolean;
91
90
  options: AnyObject[];
92
91
  lazyRequest: boolean;
93
92
  requestCache: boolean;
93
+ vertical: boolean;
94
94
  }>;
95
95
  export declare const CHECKBOX: import("vue").DefineComponent<{
96
96
  value: {
@@ -179,8 +179,8 @@ export declare const CHECKBOX: import("vue").DefineComponent<{
179
179
  }>> & {
180
180
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
181
181
  }, {
182
- vertical: boolean;
183
182
  options: AnyObject[];
184
183
  lazyRequest: boolean;
185
184
  requestCache: boolean;
185
+ vertical: boolean;
186
186
  }>;
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as a,inject as o,watch as r,createVNode as l,nextTick as n}from"vue";import{isEqual as i,isArray as u}from"lodash-es";import"../../../index.js";import{useCommonInjection as s}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as c,InjectionFormUUID as p}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import"@vueuse/core";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"date-fns";import"@formily/reactive";import{connect as d,mapProps as v}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{NCascader as f}from"naive-ui";import{createVisitedSetter as h,assignUpdateValue as y,traverseDependKey as j}from"../../utils/schema.js";const b=d(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:d,emit:v}){const y=t(),{field:b,title:k}=m(),C=a((()=>{var t,a;return null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:"text"})),g=a((()=>{var t,a;return null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");return Array.isArray(t)&&t.length?t.map((e=>e[C.value])).join(" / "):null}catch(e){return null}}));function S(e,t,a){v("update:value",a.map((function(e){return{...e,label:e[C.value],children:void 0,parent:void 0}})))}const F=o(c);async function w(t){e.filterable?await async function(){if(!e.urlConfig||y.value&&e.requestCache)return;const t=await F.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:k.value,cache:e.requestCache});function a(e,t){const o={[C.value]:e[C.value],[g.value]:e[g.value],depth:t+1,isLeaf:!0};return u(e.children)&&(o.children=e.children.map((e=>a(e,t+1))),o.isLeaf=!e.children.length),o}y.value=t.map((e=>a(e,0)))}():await async function(t){if(r(e,t))return;const a=await F.addAsync(l(s(t),u(e),k.value,t));if(!a.length&&t)return t.isLeaf=!0,S(0,0,n(t)),void(K.value=!1);const o=a.map((e=>i(e,s(t))));function r(e,t){return!u(e)||!t&&y.value&&e.requestCache||s(t)>=s(e)-1}function l(t,a,o,r){const l={lvlnr:t+1+""};return r&&a.dependKey&&j(a.dependKey,((e,t)=>{l[t]=r[e]})),{params:l,...a,key:o,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function i(a,o){return{[C.value]:a[C.value],[g.value]:a[g.value],depth:o+1,parent:t,isLeaf:o+2>=s(e)}}function u(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=o:y.value=o}(t),await x()}const H=`form-render__cascade--menu-${o(p)}`;async function x(){await n();const e=document.querySelector(`.${H} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}const{injectValueValidate:L,injectValueWatchFromEmpty:q,injectValueBindKey:B}=s();q((()=>e.value),w),L((()=>e.value)),r((()=>e.urlConfig),(async(e,t)=>{i(e,t)||(y.value=null,await w())}));const K=t(!1);function V(e){K.value=!!e,e&&w()}const E=a((()=>y.value||e.options||[])),O=a((()=>!e.filterable)),W=B(A);return()=>l(f,{key:W.value,remote:O.value,filterable:e.filterable,"menu-props":{class:H,onClick:x},checkStrategy:"child",show:!!K.value,"onUpdate:show":V,value:A.value,"onUpdate:value":S,labelField:C.value,valueField:g.value,options:E.value,onLoad:w,onFocus:h(b)},d)}}),v({dataSource:"options"},y));export{b as SEARCH_CASCADER};
1
+ import{defineComponent as e,ref as t,computed as a,inject as o,watch as r,createVNode as l,nextTick as n}from"vue";import{isEqual as i,isArray as u}from"lodash-es";import"../../../index.js";import{useCommonInjection as s}from"../../hooks/useCommonInjection.js";import{InjectionAsyncQueue as c,InjectionFormUUID as p}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NCascader as d}from"naive-ui";import"@vueuse/core";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"date-fns";import"@formily/reactive";import{connect as v,mapProps as f}from"@formily/vue";import"@vue/shared";import"./index.js";import"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as h,assignUpdateValue as y,traverseDependKey as j}from"../../utils/schema.js";const b=v(e({name:"FormCascader",props:{options:{type:Array,default:()=>[]},depth:{type:[Number,String]},urlConfig:{type:Object},requestCache:{type:Boolean,default:!0},onFocus:{type:Function},filterable:{type:Boolean,default:!1},onChange:{},value:{}},emits:["update:value"],setup(e,{slots:v,emit:f}){const y=t(),{field:b,title:k}=m(),C=a((()=>{var t,a;return null!=(a=null==(t=e.urlConfig)?void 0:t.nameKey)?a:"text"})),g=a((()=>{var t,a;return null!=(a=null==(t=e.urlConfig)?void 0:t.valueKey)?a:"value"})),A=a((()=>{try{const t=Array.isArray(e.value)?e.value:JSON.parse(e.value||"");return Array.isArray(t)&&t.length?t.map((e=>e[C.value])).join(" / "):null}catch(e){return null}}));function S(e,t,a){f("update:value",a.map((function(e){return{...e,label:e[C.value],children:void 0,parent:void 0}})))}const F=o(c);async function w(t){e.filterable?await async function(){if(!e.urlConfig||y.value&&e.requestCache)return;const t=await F.addAsync({...e.urlConfig,params:{lvlnr:"1"},key:k.value,cache:e.requestCache});function a(e,t){const o={[C.value]:e[C.value],[g.value]:e[g.value],depth:t+1,isLeaf:!0};return u(e.children)&&(o.children=e.children.map((e=>a(e,t+1))),o.isLeaf=!e.children.length),o}y.value=t.map((e=>a(e,0)))}():await async function(t){if(r(e,t))return;const a=await F.addAsync(l(s(t),u(e),k.value,t));if(!a.length&&t)return t.isLeaf=!0,S(0,0,n(t)),void(K.value=!1);const o=a.map((e=>i(e,s(t))));function r(e,t){return!u(e)||!t&&y.value&&e.requestCache||s(t)>=s(e)-1}function l(t,a,o,r){const l={lvlnr:t+1+""};return r&&a.dependKey&&j(a.dependKey,((e,t)=>{l[t]=r[e]})),{params:l,...a,key:o,cache:e.requestCache}}function n(e){let t=e;const a=[e];for(;t.parent;)a.unshift(t.parent),t=t.parent;return a}function i(a,o){return{[C.value]:a[C.value],[g.value]:a[g.value],depth:o+1,parent:t,isLeaf:o+2>=s(e)}}function u(e){return e.urlConfig}function s(e){var t;return null!=(t=null==e?void 0:e.depth)?t:-1}t?t.children=o:y.value=o}(t),await x()}const H=`form-render__cascade--menu-${o(p)}`;async function x(){await n();const e=document.querySelector(`.${H} .v-vl`);e&&e.dispatchEvent(new CustomEvent("scroll"))}const{injectValueValidate:L,injectValueWatchFromEmpty:q,injectValueBindKey:B}=s();q((()=>e.value),w),L((()=>e.value)),r((()=>e.urlConfig),(async(e,t)=>{i(e,t)||(y.value=null,await w())}));const K=t(!1);function V(e){K.value=!!e,e&&w()}const E=a((()=>y.value||e.options||[])),O=a((()=>!e.filterable)),W=B(A);return()=>l(d,{key:W.value,remote:O.value,filterable:e.filterable,"menu-props":{class:H,onClick:x},checkStrategy:"child",show:!!K.value,"onUpdate:show":V,value:A.value,"onUpdate:value":S,labelField:C.value,valueField:g.value,options:E.value,onLoad:w,onFocus:h(b)},v)}}),f({dataSource:"options"},y));export{b as SEARCH_CASCADER};
@@ -1 +1 @@
1
- import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as r}from"vue";import{useDebounceFn as l}from"@vueuse/core";import{cloneDeep as s,isString as i}from"lodash-es";import{useCommonInjection as n,useSelectOptionProps as u}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as p}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"date-fns";import"@formily/reactive";import{connect as c,mapProps as d}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as y,useAutographOptions as v,useRecommendOptions as f,searchContentMatcher as h}from"../../hooks/useFormRenderOptions.js";import{NSelect as j}from"naive-ui";import{createVisitedSetter as b,assignUpdateValue as k,assignClearBindVisited as S}from"../../utils/schema.js";const g=c(e({name:"FormSelect",props:{value:{type:[String,Array]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},recommendNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:c,emit:d}){const k=o({get:()=>e.value,async set(e){d("update:value",e),C(e)}}),{labelKey:S,valueKey:g,fetchData:A,fullOptions:F,filterOptions:H}=e.urlConfig?y(e,k):v(e,k),{getRecommend:B,postRecommend:C,sortedOptions:x}=f(e,H,d,S,g),{field:O,fieldKey:R}=m();t(p).setContext(R.value,(e=>{return{currentOption:s((o=e,F.value.find((e=>e[g.value]===o))))};var o}));const L=a(""),V=l((async(e="")=>{L.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=n();K(k,V),w(k);const W=P(k),{menuProps:q,nodeProps:I}=u();function N(e){const o=e[S.value];if(!o||!i(o))return"";const t=h(L.value,o);return t?r("section",null,[t.map(((e,o)=>0!==o&&e?r("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const U=o((()=>x.value.length||!e.allowCreate?x.value:L.value?[{[S.value]:L.value,[g.value]:L.value},...x.value]:x.value));return()=>r(j,{key:W.value,remote:!0,filterable:!0,value:k.value,"onUpdate:value":e=>k.value=e,"menu-props":q,"node-props":I,labelField:S.value,valueField:g.value,options:U.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:b(O),renderLabel:N},c)}}),d({dataSource:"options"},k,S));export{g as SELECT};
1
+ import{defineComponent as e,computed as o,inject as t,ref as a,createVNode as r}from"vue";import{useDebounceFn as l}from"@vueuse/core";import{cloneDeep as s,isString as i}from"lodash-es";import{useCommonInjection as n,useSelectOptionProps as u}from"../../hooks/useCommonInjection.js";import{InjectionChangeContextCollector as p}from"../../constants/index.js";import"../../../../../shared/utils/index.js";import"../../../index.js";import"../../utils/index.js";import{useFormField as m}from"../../hooks/useFormField.js";import{NSelect as c}from"naive-ui";import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import"../../hooks/useFormValidator.js";import"@formily/core";import"date-fns";import"@formily/reactive";import{connect as d,mapProps as y}from"@formily/vue";import"@vue/shared";import"./index.js";import{useUrlConfigOptions as v,useAutographOptions as f,useRecommendOptions as h,searchContentMatcher as j}from"../../hooks/useFormRenderOptions.js";import{createVisitedSetter as b,assignUpdateValue as k,assignClearBindVisited as S}from"../../utils/schema.js";const g=d(e({name:"FormSelect",props:{value:{type:[String,Array]},lazyRequest:{type:Boolean,default:!0},requestCache:{type:Boolean,default:!0},options:{type:Array,default:()=>[]},onChange:{},allowCreate:Boolean,urlConfig:{type:Object},autograph:{type:String},wordbook:{type:Object},recommend:{type:Boolean,default:!1},commonList:{type:Array},recentList:{type:Array},getRecommendInfo:{type:Function},recommendNum:{type:Number,default:10},recommendCache:{type:Boolean,default:!1}},emits:["update:value","postRecommend"],setup(e,{slots:d,emit:y}){const k=o({get:()=>e.value,async set(e){y("update:value",e),C(e)}}),{labelKey:S,valueKey:g,fetchData:A,fullOptions:F,filterOptions:H}=e.urlConfig?v(e,k):f(e,k),{getRecommend:B,postRecommend:C,sortedOptions:x}=h(e,H,y,S,g),{field:O,fieldKey:R}=m();t(p).setContext(R.value,(e=>{return{currentOption:s((o=e,F.value.find((e=>e[g.value]===o))))};var o}));const L=a(""),V=l((async(e="")=>{L.value=e,A(e),B(e)}),300),{injectValueValidate:w,injectValueWatchFromEmpty:K,injectValueBindKey:P}=n();K(k,V),w(k);const W=P(k),{menuProps:q,nodeProps:I}=u();function N(e){const o=e[S.value];if(!o||!i(o))return"";const t=j(L.value,o);return t?r("section",null,[t.map(((e,o)=>0!==o&&e?r("span",{style:{color:o%2==0?"var(--n-option-text-color-active)":""}},[e]):null))]):o}const U=o((()=>x.value.length||!e.allowCreate?x.value:L.value?[{[S.value]:L.value,[g.value]:L.value},...x.value]:x.value));return()=>r(c,{key:W.value,remote:!0,filterable:!0,value:k.value,"onUpdate:value":e=>k.value=e,"menu-props":q,"node-props":I,labelField:S.value,valueField:g.value,options:U.value,onSearch:V,"onUpdate:show":e=>e&&V(),onFocus:b(O),renderLabel:N},d)}}),y({dataSource:"options"},k,S));export{g as SELECT};
@@ -2,7 +2,7 @@ export * from './useFieldListAdaptor';
2
2
  export * from './useFormRequest';
3
3
  export * from './useCommonLog';
4
4
  export * from './useFormField';
5
- export * from './useAsyncQueue';
5
+ export * from './useFormAsyncQueue';
6
6
  export * from './useFieldVisitor';
7
7
  export * from './useFieldNormalize';
8
8
  export * from './useFormValidator';
@@ -1 +1 @@
1
- export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useFormRequest}from"./useFormRequest.js";export{useCommonLog}from"./useCommonLog.js";export{useFormField}from"./useFormField.js";export{AsyncQueue,useAsyncQueue}from"./useAsyncQueue.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useAnchor}from"./useAnchor.js";export{useFormContext}from"./useFormContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{searchContentMatcher,useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";
1
+ export{useFieldListAdaptor}from"./useFieldListAdaptor.js";export{useFormRequest}from"./useFormRequest.js";export{useCommonLog}from"./useCommonLog.js";export{useFormField}from"./useFormField.js";export{useFormAsyncQueue}from"./useFormAsyncQueue.js";export{useFieldVisitor}from"./useFieldVisitor.js";export{useFieldNormalize}from"./useFieldNormalize.js";export{useFormValidator,validateMessageLocale}from"./useFormValidator.js";export{BusinessCollector,useBusinessBinding}from"./useBusinessBinding.js";export{ContextCollector,useChangeContext}from"./useChangeContext.js";export{FormItemDepsCollector,useFormItemDeps}from"./useFormItemDeps.js";export{useAnchor}from"./useAnchor.js";export{useFormContext}from"./useFormContext.js";export{useCommonInjection,useSelectOptionProps}from"./useCommonInjection.js";export{searchContentMatcher,useAutographOptions,useRecommendOptions,useUrlConfigOptions}from"./useFormRenderOptions.js";
@@ -0,0 +1,16 @@
1
+ import { AsyncQueue } from '../../../../../es/shared/hooks';
2
+ import { AnyObject, UndefinedAble } from '../../../../../es/shared/types';
3
+ import { ComputedRef } from 'vue';
4
+ import { FormAsyncQueueItem } from '../types';
5
+ import { RequestInstance } from '../../../../../es/components/form-render';
6
+ declare type ProcessorOption = Partial<{
7
+ afterRequest(key: string, payload?: unknown): AnyObject[];
8
+ beforeRequest(key: string, params?: unknown): UndefinedAble<AnyObject> | void;
9
+ }>;
10
+ export declare function useFormAsyncQueue(requestInstance: ComputedRef<UndefinedAble<RequestInstance>>): {
11
+ create: (parallelism?: number, option?: ProcessorOption) => AsyncQueue<FormAsyncQueueItem, any, {
12
+ label: string;
13
+ value: unknown;
14
+ }[]>;
15
+ };
16
+ export {};
@@ -0,0 +1 @@
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import"naive-ui";import{unref as t}from"vue";import"@vueuse/core";import{AsyncQueue as o}from"../../../../shared/hooks/useAsyncQueue.js";import"../../index.js";import{useCommonLog as s}from"./useCommonLog.js";import{useFormRequest as n}from"./useFormRequest.js";function u(u){const{getHttpInstance:a}=n();return{create:function(n=3,i){return new o({name:"FormRenderAsyncQueue",parallelism:n,async processor({key:e,method:o="post",cache:n,params:m,url:c},p,f){var l,d;const h=null!=(l=t(u))?l:a();if(!h)return s().invalidHttpInstanceLog(),p(),void f();try{i&&r(i.beforeRequest)&&(m=null!=(d=i.beforeRequest(e,m))?d:{});let t=await h[o](c,m);i&&r(i.afterRequest)&&(t=i.afterRequest(e,t)),p(void 0,Array.isArray(t)?t:[]),!n&&f()}catch(e){p(new Error(`Request error => ${e}`)),f()}},getKey:({url:r,method:t="post",cache:o,params:s})=>o?r+t+JSON.stringify(s||{}):e()})}}}export{u as useFormAsyncQueue};
@@ -1 +1 @@
1
- import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{createSchemaField as o}from"@formily/vue";import{isObject as t}from"@vue/shared";import{cloneDeep as r}from"lodash-es";import{computed as s,provide as n,readonly as i}from"vue";import"../../index.js";import m from"../components/renderer/index.js";import{InjectionAsyncQueue as a,InjectionSchemaField as u,InjectionBusinessCollector as p,InjectionChangeContextCollector as c,InjectionFormItemDepsCollector as l,InjectionFormUUID as f,InjectionAnnotation as d}from"../constants/index.js";import{useFormRenderLifeCycle as j}from"./useFormRenderLifeCycle.js";import{usePresetScope as y}from"./usePresetScope.js";import{injectOrProvide as C,presetRequestHandler as h}from"../utils/index.js";import{useAsyncQueue as x}from"./useAsyncQueue.js";import{useBusinessBinding as g}from"./useBusinessBinding.js";import{useChangeContext as v}from"./useChangeContext.js";import{useFormItemDeps as b}from"./useFormItemDeps.js";function q(q,F){const{callLifeCycle:R}=j(q),I=C(a,(()=>x(s((()=>q.requestInstance))).create(q.parallelism,{beforeRequest:(...e)=>R("beforeRequest",r(e))||e[1],afterRequest:(...e)=>R("afterRequest",r(e))||h(e[1])}))),D=C(u,(()=>o({components:{...m,...q.components},scope:Object.assign({},y(),q.scope)}).SchemaField)),S=g().create(q.businessFormatter);n(p,S);const B=v().create();n(c,B);const L=b().create();n(l,L);const Q=q.uuid||e();return n(f,Q),n(d,s({get:()=>q.annotation?i(q.annotation):null,set(e){if(!t(q.annotation)||!t(e))return;const o=q.annotation[e.property];q.annotation[e.property]=e.value,F("annotationChange",{fieldKey:e.property,value:e.value,oldValue:o})}})),{asyncQueue:I,SchemaField:D,businessCollector:S,changeContextCollector:B,formItemDepsCollector:L,formUUID:Q}}export{q as useFormContext};
1
+ import{uuidGenerator as e}from"../../../../shared/utils/index.js";import{createSchemaField as o}from"@formily/vue";import{isObject as t}from"@vue/shared";import{cloneDeep as r}from"lodash-es";import{computed as s,provide as n,readonly as i}from"vue";import"../../index.js";import m from"../components/renderer/index.js";import{InjectionAsyncQueue as a,InjectionSchemaField as u,InjectionBusinessCollector as p,InjectionChangeContextCollector as c,InjectionFormItemDepsCollector as l,InjectionFormUUID as f,InjectionAnnotation as d}from"../constants/index.js";import{useFormRenderLifeCycle as j}from"./useFormRenderLifeCycle.js";import{usePresetScope as y}from"./usePresetScope.js";import{injectOrProvide as C,presetRequestHandler as h}from"../utils/index.js";import{useFormAsyncQueue as x}from"./useFormAsyncQueue.js";import{useBusinessBinding as g}from"./useBusinessBinding.js";import{useChangeContext as v}from"./useChangeContext.js";import{useFormItemDeps as F}from"./useFormItemDeps.js";function b(b,q){const{callLifeCycle:R}=j(b),I=C(a,(()=>x(s((()=>b.requestInstance))).create(b.parallelism,{beforeRequest:(...e)=>R("beforeRequest",r(e))||e[1],afterRequest:(...e)=>R("afterRequest",r(e))||h(e[1])}))),D=C(u,(()=>o({components:{...m,...b.components},scope:Object.assign({},y(),b.scope)}).SchemaField)),S=g().create(b.businessFormatter);n(p,S);const B=v().create();n(c,B);const L=F().create();n(l,L);const Q=b.uuid||e();return n(f,Q),n(d,s({get:()=>b.annotation?i(b.annotation):null,set(e){if(!t(b.annotation)||!t(e))return;const o=b.annotation[e.property];b.annotation[e.property]=e.value,q("annotationChange",{fieldKey:e.property,value:e.value,oldValue:o})}})),{asyncQueue:I,SchemaField:D,businessCollector:S,changeContextCollector:B,formItemDepsCollector:L,formUUID:Q}}export{b as useFormContext};
@@ -1,3 +1,4 @@
1
+ import { AsyncQueue } from '../../../../../es/shared/hooks';
1
2
  import { AnyObject, UndefinedAble } from '../../../../../es/shared/types';
2
3
  import { LOW_CODE_VALUE_RELATION } from '../../../../../es/shared/utils';
3
4
  import { DataField, Field, Form } from '@formily/core';
@@ -5,7 +6,7 @@ import { ISchema } from '@formily/json-schema/esm/types';
5
6
  import { Component, FunctionalComponent } from 'vue';
6
7
  import { FIELD_BUSINESS_TYPE } from '../../../../../es/components/form-render/src/constants';
7
8
  import { FieldItem } from '../types';
8
- import { AsyncQueue, RequestInstance } from '../hooks';
9
+ import { RequestInstance } from '../hooks';
9
10
  export * from './fieldItem';
10
11
  export declare type FormCommonState = '0' | '1';
11
12
  export interface FieldVisitorContext {
@@ -103,6 +103,9 @@ declare const IhoTable: SFCWithInstall<import("vue").DefineComponent<{
103
103
  }>>;
104
104
  __emits: (event: "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", ...args: any[]) => void;
105
105
  cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
106
+ styles: import("vue").ComputedRef<{
107
+ height: string;
108
+ }>;
106
109
  eventListener: import("./src/hooks/tapHooks/useEventHooks").IhoTableEventListener;
107
110
  emits: (event: "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", ...args: any[]) => void;
108
111
  hooks: Readonly<{
@@ -102,6 +102,9 @@ declare const _default: import("vue").DefineComponent<{
102
102
  }>>;
103
103
  __emits: (event: "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", ...args: any[]) => void;
104
104
  cssVars: import("vue").ComputedRef<import("vue").CSSProperties>;
105
+ styles: import("vue").ComputedRef<{
106
+ height: string;
107
+ }>;
105
108
  eventListener: import("../../../../es/components/iho-table/src/hooks/tapHooks/useEventHooks").IhoTableEventListener;
106
109
  emits: (event: "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "formClick" | "keyboard" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", ...args: any[]) => void;
107
110
  hooks: Readonly<{
@@ -1 +1 @@
1
- import{defineComponent as e,provide as t,computed as o,ref as a,watch as l,resolveComponent as s,openBlock as i,createElementBlock as n,unref as r,normalizeStyle as u,createBlock as f,resolveDynamicComponent as c,createVNode as d,mergeProps as p,createSlots as m,renderList as v,withCtx as b,createCommentVNode as h,renderSlot as g}from"vue";import{useTheme as x}from"../../../shared/mixins/useTheme.js";import{useDebounceFn as k}from"@vueuse/core";import{uuidGenerator as y}from"../../../shared/utils/index.js";import{promiseTimeout as j}from"@vueuse/shared";import{isFunction as C}from"lodash-es";import{VxeTableEventNameList as D,InjectionIhoTableEmits as _,InjectionIhoTableAnnotation as $,InjectionIhoTableUUID as H,InjectionIhoTableInstance as T,InjectionIhoTableConfig as A,InjectionIhoTableFieldList as L,InjectionIhoTableHandler as w}from"./constants/index.js";import{createTableHooks as R,applyTableConfigHooks as E,applyTableFieldHooks as F,createTableEventHandlers as I,createDomInsertComponent as O,createDataTransfer as S}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as q}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as z}from"./utils/index.js";import B from"../../../_virtual/plugin-vue_export-helper.js";const G=["id"];var J=B(e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object}},emits:["formChange","settingClick","formClick","keyboard",...D],setup(e,{expose:D,emit:B}){var J,K;const M=e,N=x({"--c-border-color":"#e2e2e2","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#f7f7f7"}),P=q(),Q=function(e,...t){B(e,...t);const o=r(X)[z(e)];C(o)&&o(...t),P.trigger(e,...t)};t(_,Q);const U=R();t($,o((()=>M.annotation)));const V=y();t(H,V);const W=a();t(T,W);const X=a({uuid:null!=(K=null==(J=M.tableConfig)?void 0:J.uuid)?K:V});t(A,X);const Y=k(Z,10);function Z(){X.value=E(U,M.tableConfig),X.value.uuid=V}const ee=a([]);t(L,ee);const te=k(oe,10);function oe(){ee.value=F(U,M.fieldList,X.value,{$table:W,emits:Q})}const ae=S(U,X,W),le=a([]),se=k(ie,10);async function ie(){var e;le.value=await ae(M.tableData),null==(e=W.value)||e.recalculate(!0)}const ne={updateTableDataRef:se,updateConfigRef:Y,updateFieldListRef:te};t(w,ne);const re=I({hooks:U,config:X,$table:W,context:ne,emits:Q}),ue=o((()=>({...X.value,...re})));l((()=>M.tableConfig),(()=>{Y(),te(),se()}),{deep:!0}),l((()=>M.fieldList),(()=>{te(),se()}),{deep:!0}),l([()=>M.tableData,()=>{var e;return null==(e=M.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=X.value.treeConfig)?void 0:e.expandAll)&&(await j(11),null==(t=W.value)||t.setAllTreeExpand(!0))})),l((()=>[...M.tableData]),se),Z(),oe(),ie();const{header:fe,footer:ce}=O(U);return D({$table:W,async loadData(e){var t;null==(t=W.value)||t.loadData(await ae(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),...U.exposeHooks.expose.call({},X,{$table:W,emits:Q})}),U.setupHooks.setup.call(X,ee),(e,t)=>{const o=s("vxe-grid");return i(),n("section",{class:"iho-table",id:r(V),style:u(r(N))},[(i(),f(c(r(fe)))),d(o,p({ref_key:"$table",ref:W},r(ue),{columns:ee.value,data:le.value}),m({_:2},[v(e.$slots,((t,o)=>({name:o,fn:b((()=>[h(" 实际上所有的vxe-grid插槽都支持 "),g(e.$slots,o)]))})))]),1040,["columns","data"]),(i(),f(c(r(ce))))],12,G)}}}),[["__file","IhoTable.vue"]]);export{J as default};
1
+ import{defineComponent as e,computed as t,provide as o,ref as a,watch as l,resolveComponent as s,openBlock as n,createElementBlock as i,unref as r,normalizeStyle as u,createBlock as c,resolveDynamicComponent as f,createElementVNode as d,createVNode as p,mergeProps as v,createSlots as m,renderList as b,withCtx as h,createCommentVNode as g,renderSlot as x}from"vue";import{useTheme as k}from"../../../shared/hooks/useTheme.js";import{useDebounceFn as y}from"@vueuse/core";import{isString as C,isFunction as j}from"lodash-es";import{widthAppend as D,uuidGenerator as _}from"../../../shared/utils/index.js";import{promiseTimeout as $}from"@vueuse/shared";import{VxeTableEventNameList as H,InjectionIhoTableEmits as T,InjectionIhoTableAnnotation as A,InjectionIhoTableUUID as L,InjectionIhoTableInstance as w,InjectionIhoTableConfig as R,InjectionIhoTableFieldList as E,InjectionIhoTableHandler as F}from"./constants/index.js";import{createTableHooks as I,applyTableConfigHooks as O,applyTableFieldHooks as S,createTableEventHandlers as W,createDomInsertComponent as q,createDataTransfer as z}from"./hooks/tapHooks/index.js";import{provideIhoTableEventListener as B}from"./hooks/tapHooks/useEventHooks.js";import{eventName2EventListener as G}from"./utils/index.js";import J from"../../../_virtual/plugin-vue_export-helper.js";const K=["id"];var M=J(e({__name:"IhoTable",props:{tableConfig:{type:Object,default:()=>({})},fieldList:{type:Array,default:()=>[]},tableData:{type:Array,default:()=>[]},annotation:{type:Object}},emits:["formChange","settingClick","formClick","keyboard",...H],setup(e,{expose:H,emit:J}){var M,N;const P=e,Q=k({"--c-border-color":"#e2e2e2","--c-head-bg-color":"#f2f2f2","--c-hover-color":"#f7f7f7"}),U=t((()=>{var e,t;const o=null!=(t=null==(e=P.tableConfig)?void 0:e.height)?t:"100%";return{height:"auto"===o?"100%":C(o)&&(o.includes("calc")||o.endsWith("%"))?o:D(o)}})),V=B(),X=function(e,...t){J(e,...t);const o=r(te)[G(e)];j(o)&&o(...t),V.trigger(e,...t)};o(T,X);const Y=I();o(A,t((()=>P.annotation)));const Z=_();o(L,Z);const ee=a();o(w,ee);const te=a({uuid:null!=(N=null==(M=P.tableConfig)?void 0:M.uuid)?N:Z});o(R,te);const oe=y(ae,10);function ae(){te.value=O(Y,P.tableConfig),te.value.uuid=Z}const le=a([]);o(E,le);const se=y(ne,10);function ne(){le.value=S(Y,P.fieldList,te.value,{$table:ee,emits:X})}const ie=z(Y,te,ee),re=a([]),ue=y(ce,10);async function ce(){var e;re.value=await ie(P.tableData),null==(e=ee.value)||e.recalculate(!0)}const fe={updateTableDataRef:ue,updateConfigRef:oe,updateFieldListRef:se};o(F,fe);const de=W({hooks:Y,config:te,$table:ee,context:fe,emits:X}),pe=t((()=>({...te.value,...de})));l((()=>P.tableConfig),(()=>{oe(),se(),ue()}),{deep:!0}),l((()=>P.fieldList),(()=>{se(),ue()}),{deep:!0}),l([()=>P.tableData,()=>{var e;return null==(e=P.tableData)?void 0:e.length}],(async()=>{var e,t;(null==(e=te.value.treeConfig)?void 0:e.expandAll)&&(await $(11),null==(t=ee.value)||t.setAllTreeExpand(!0))})),l((()=>[...P.tableData]),ue),ae(),ne(),ce();const{header:ve,footer:me}=q(Y);return H({$table:ee,async loadData(e){var t;null==(t=ee.value)||t.loadData(await ie(e))},setSort:(e,t)=>({field:e,value:t}),setFilter:(e,t)=>({field:e,value:t}),...Y.exposeHooks.expose.call({},te,{$table:ee,emits:X})}),Y.setupHooks.setup.call(te,le),(e,t)=>{const o=s("vxe-grid");return n(),i("section",{class:"iho-table",id:r(Z),style:u(r(Q))},[(n(),c(f(r(ve)))),d("section",{style:u(r(U))},[p(o,v({ref_key:"$table",ref:ee},r(pe),{columns:le.value,data:re.value}),m({_:2},[b(e.$slots,((t,o)=>({name:o,fn:h((()=>[g(" 实际上所有的vxe-grid插槽都支持 "),x(e.$slots,o)]))})))]),1040,["columns","data"])],4),(n(),c(f(r(me))))],12,K)}}}),[["__file","IhoTable.vue"]]);export{M as default};
@@ -35,7 +35,8 @@ export declare enum WIDGET_TYPE {
35
35
  QR_CODE = "QR_CODE",
36
36
  CUSTOMER_NAME = "CUSTOMER_NAME",
37
37
  BANK_CARD = "BANK_CARD",
38
- SEQUENCE = "SEQUENCE"
38
+ SEQUENCE = "SEQUENCE",
39
+ VARIABLE_HEIGHT = "VARIABLE_HEIGHT"
39
40
  }
40
41
  export declare const VxeEventListenerNameList: Readonly<(keyof VxeTableEventProps)[]>;
41
42
  export declare const VxeTableEventNameList: ("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd")[];
@@ -1 +1 @@
1
- import{eventListener2EventName as e}from"../utils/index.js";var o=(e=>(e.DEFAULT="DEFAULT",e.PICTURE="PICTURE",e.FILE="FILE",e.MONEY="MONEY",e.HEADPORTRAIT="HEADPORTRAIT",e.LABEL="LABEL",e.TELEPHONE="TELEPHONE",e.BIRTHDAY="BIRTHDAY",e.MULTISELECT="MULTISELECT",e.CASCADE="CASCADE",e.SEARCH_TREE="SEARCH_TREE",e.COLOR="COLOR",e.EVALUATE="EVALUATE",e.MAP="MAP",e.VIDEO="VIDEO",e.SYSTEMFIELDS="SYSTEMFIELDS",e.PERCENTAGE="PERCENTAGE",e.CANDIDATE_COMPONENTS="CANDIDATE_COMPONENTS",e.TASKDATE="TASKDATE",e.AGE="AGE",e.STATUS="STATUS",e.WEBSITE="WEBSITE",e.IDCARD="IDCARD",e.COUNTDOWN="COUNTDOWN",e.DURATION="DURATION",e.COMBINATION="COMBINATION",e.PASSWORD="PASSWORD",e.QR_CODE="QR_CODE",e.CUSTOMER_NAME="CUSTOMER_NAME",e.BANK_CARD="BANK_CARD",e.SEQUENCE="SEQUENCE",e))(o||{});const n=Object.freeze(["onKeydownStart","onKeydown","onKeydownEnd","onPaste","onCopy","onCut","onCurrentChange","onRadioChange","onCheckboxChange","onCheckboxAll","onCheckboxRangeStart","onCheckboxRangeChange","onCheckboxRangeEnd","onCellClick","onCellDblclick","onCellMenu","onCellMouseenter","onCellMouseleave","onHeaderCellClick","onHeaderCellDblclick","onHeaderCellMenu","onFooterCellClick","onFooterCellDblclick","onFooterCellMenu","onSortChange","onFilterChange","onFilterVisible","onResizableChange","onToggleRowExpand","onToggleTreeExpand","onMenuClick","onEditClosed","onEditActived","onEditDisabled","onValidError","onScroll","onCustom","onOpenFnr","onFnrChange","onFnrFind","onFnrFindAll","onFnrReplace","onFnrReplaceAll","onCellAreaCopy","onCellAreaCut","onCellAreaPaste","onCellAreaMerge","onClearCellAreaMerge","onHeaderCellAreaSelection","onCellAreaSelectionStart","onCellAreaSelectionDrag","onCellAreaSelectionEnd","onCellAreaExtensionStart","onCellAreaExtensionDrag","onCellAreaExtensionEnd","onCellAreaArrowsStart","onCellAreaArrowsEnd","onActiveCellChangeStart","onActiveCellChangeEnd"]),E=n.map(e),l=Object.freeze(["firstRowGroup","secondRowGroup","thirdRowGroup","fourthRowGroup","fifthRowGroup","sixthRowGroup","seventhRowGroup","eighthRowGroup","ninthRowGroup","tenthRowGroup"]),C=-1/0,A=1/0;var T=(e=>(e.INPUT="INPUT",e.SEPARATE="SEPARATE",e.SELECT="SELECT",e.DATE="DATE",e.TIME="TIME",e.NUMBER="NUMBER",e))(T||{}),r=(e=>(e[e.NEGATIVE=0]="NEGATIVE",e[e.POSITIVE=1]="POSITIVE",e))(r||{}),t=(e=>(e.NEGATIVE="0",e.POSITIVE="1",e))(t||{}),a=(e=>(e.NOT_TREE="0",e.UNKNOWN="1",e.TRANSFORM_TREE_TYPE="2",e.TRANSFORM_WITH_SPAN_METHOD="3",e))(a||{}),i=(e=>(e[e.left=1]="left",e[e.right=2]="right",e))(i||{});const S=["formChange","settingClick","formClick","keyboard"],I=[...S,...E],R=Symbol("injectionIhoTableConfig"),O=Symbol("injectionIhoTableFieldList"),D=Symbol("InjectionIhoTableEmits"),N=Symbol("InjectionIhoTableAnnotation"),c=Symbol("InjectionIhoTableUUID"),h=Symbol("InjectionIhoTableInstance"),d=Symbol("InjectionIhoTableHandler"),M=Symbol("InjectionIhoTableEventListener");export{T as EDITABLE_WIDGET_TYPE,C as HIGHEST_PRIORITY,i as IHO_TABLE_FIXED_STATUS,r as IHO_TABLE_NUMBER_STATUS,t as IHO_TABLE_STRING_STATUS,a as IHO_TABLE_TREE_TYPE,S as IhoTableCustomEventNameTuple,I as IhoTableEventNameTuple,l as IhoTableRowGroupSequence,N as InjectionIhoTableAnnotation,R as InjectionIhoTableConfig,D as InjectionIhoTableEmits,M as InjectionIhoTableEventListener,O as InjectionIhoTableFieldList,d as InjectionIhoTableHandler,h as InjectionIhoTableInstance,c as InjectionIhoTableUUID,A as LOWEST_PRIORITY,n as VxeEventListenerNameList,E as VxeTableEventNameList,o as WIDGET_TYPE};
1
+ import{eventListener2EventName as e}from"../utils/index.js";var o=(e=>(e.DEFAULT="DEFAULT",e.PICTURE="PICTURE",e.FILE="FILE",e.MONEY="MONEY",e.HEADPORTRAIT="HEADPORTRAIT",e.LABEL="LABEL",e.TELEPHONE="TELEPHONE",e.BIRTHDAY="BIRTHDAY",e.MULTISELECT="MULTISELECT",e.CASCADE="CASCADE",e.SEARCH_TREE="SEARCH_TREE",e.COLOR="COLOR",e.EVALUATE="EVALUATE",e.MAP="MAP",e.VIDEO="VIDEO",e.SYSTEMFIELDS="SYSTEMFIELDS",e.PERCENTAGE="PERCENTAGE",e.CANDIDATE_COMPONENTS="CANDIDATE_COMPONENTS",e.TASKDATE="TASKDATE",e.AGE="AGE",e.STATUS="STATUS",e.WEBSITE="WEBSITE",e.IDCARD="IDCARD",e.COUNTDOWN="COUNTDOWN",e.DURATION="DURATION",e.COMBINATION="COMBINATION",e.PASSWORD="PASSWORD",e.QR_CODE="QR_CODE",e.CUSTOMER_NAME="CUSTOMER_NAME",e.BANK_CARD="BANK_CARD",e.SEQUENCE="SEQUENCE",e.VARIABLE_HEIGHT="VARIABLE_HEIGHT",e))(o||{});const n=Object.freeze(["onKeydownStart","onKeydown","onKeydownEnd","onPaste","onCopy","onCut","onCurrentChange","onRadioChange","onCheckboxChange","onCheckboxAll","onCheckboxRangeStart","onCheckboxRangeChange","onCheckboxRangeEnd","onCellClick","onCellDblclick","onCellMenu","onCellMouseenter","onCellMouseleave","onHeaderCellClick","onHeaderCellDblclick","onHeaderCellMenu","onFooterCellClick","onFooterCellDblclick","onFooterCellMenu","onSortChange","onFilterChange","onFilterVisible","onResizableChange","onToggleRowExpand","onToggleTreeExpand","onMenuClick","onEditClosed","onEditActived","onEditDisabled","onValidError","onScroll","onCustom","onOpenFnr","onFnrChange","onFnrFind","onFnrFindAll","onFnrReplace","onFnrReplaceAll","onCellAreaCopy","onCellAreaCut","onCellAreaPaste","onCellAreaMerge","onClearCellAreaMerge","onHeaderCellAreaSelection","onCellAreaSelectionStart","onCellAreaSelectionDrag","onCellAreaSelectionEnd","onCellAreaExtensionStart","onCellAreaExtensionDrag","onCellAreaExtensionEnd","onCellAreaArrowsStart","onCellAreaArrowsEnd","onActiveCellChangeStart","onActiveCellChangeEnd"]),E=n.map(e),l=Object.freeze(["firstRowGroup","secondRowGroup","thirdRowGroup","fourthRowGroup","fifthRowGroup","sixthRowGroup","seventhRowGroup","eighthRowGroup","ninthRowGroup","tenthRowGroup"]),C=-1/0,A=1/0;var T=(e=>(e.INPUT="INPUT",e.SEPARATE="SEPARATE",e.SELECT="SELECT",e.DATE="DATE",e.TIME="TIME",e.NUMBER="NUMBER",e))(T||{}),r=(e=>(e[e.NEGATIVE=0]="NEGATIVE",e[e.POSITIVE=1]="POSITIVE",e))(r||{}),t=(e=>(e.NEGATIVE="0",e.POSITIVE="1",e))(t||{}),a=(e=>(e.NOT_TREE="0",e.UNKNOWN="1",e.TRANSFORM_TREE_TYPE="2",e.TRANSFORM_WITH_SPAN_METHOD="3",e))(a||{}),i=(e=>(e[e.left=1]="left",e[e.right=2]="right",e))(i||{});const I=["formChange","settingClick","formClick","keyboard"],S=[...I,...E],R=Symbol("injectionIhoTableConfig"),O=Symbol("injectionIhoTableFieldList"),D=Symbol("InjectionIhoTableEmits"),N=Symbol("InjectionIhoTableAnnotation"),c=Symbol("InjectionIhoTableUUID"),h=Symbol("InjectionIhoTableInstance"),d=Symbol("InjectionIhoTableHandler"),M=Symbol("InjectionIhoTableEventListener");export{T as EDITABLE_WIDGET_TYPE,C as HIGHEST_PRIORITY,i as IHO_TABLE_FIXED_STATUS,r as IHO_TABLE_NUMBER_STATUS,t as IHO_TABLE_STRING_STATUS,a as IHO_TABLE_TREE_TYPE,I as IhoTableCustomEventNameTuple,S as IhoTableEventNameTuple,l as IhoTableRowGroupSequence,N as InjectionIhoTableAnnotation,R as InjectionIhoTableConfig,D as InjectionIhoTableEmits,M as InjectionIhoTableEventListener,O as InjectionIhoTableFieldList,d as InjectionIhoTableHandler,h as InjectionIhoTableInstance,c as InjectionIhoTableUUID,A as LOWEST_PRIORITY,n as VxeEventListenerNameList,E as VxeTableEventNameList,o as WIDGET_TYPE};
@@ -17,7 +17,7 @@ export declare function applyTableFieldHooks(hooks: TableHooks, fieldList: IhoTa
17
17
  $table: Ref<Nullable<VxeTableInstance>>;
18
18
  emits: IhoTableEmits;
19
19
  }): IhoTableFieldItem[];
20
- export declare function createTableEventHandlers({ hooks, config, $table, emits, context, }: {
20
+ export declare function createTableEventHandlers({ hooks, config, $table, emits, context }: {
21
21
  hooks: TableHooks;
22
22
  config: MaybeRef<IhoTableConfig>;
23
23
  $table: MaybeRef<Nullable<VxeTableInstance>>;
@@ -1 +1 @@
1
- import{arrayed as o}from"../../../../../shared/utils/index.js";import{cloneDeep as e,isArray as r}from"lodash-es";import{unref as s,defineComponent as t}from"vue";import{VxeEventListenerNameList as n}from"../../constants/index.js";import{eventListener2EventName as i}from"../../utils/index.js";import{useConfigHooks as f}from"./useConfigHooks.js";import{useDataHooks as l}from"./useDataHooks.js";import{useDomInsertHooks as a}from"./useDomInsertHooks.js";import{useEventHooks as c}from"./useEventHooks.js";import{useExposeHooks as u}from"./useExposeHooks.js";import{useFieldHooks as m}from"./useFieldHooks.js";import{useSetupHooks as d}from"./useSetupHooks.js";const p=(()=>{let o=null;return()=>o||(o=Object.freeze({configHooks:f().create(),fieldHooks:m().create(),eventHooks:c().create(),dataHooks:l().create(),setupHooks:d().create(),domInsertHooks:a().create(),exposeHooks:u().create()}))})();function k(o,r){const s=o.configHooks.config.call(e(r));return["rowConfig","editConfig","columnConfig","resizableConfig","seqConfig","sortConfig","filterConfig","radioConfig","checkboxConfig","expandConfig","treeConfig","mouseConfig","menuConfig","keyboardConfig","scrollY","scrollX","editRules"].forEach((e=>{s[e]=o.configHooks[e].call(s[e],s)})),s}function H(s,t,n,i){s.fieldHooks.fieldStart.promise(n,i);let f=function e(t){return t.reduce(((t,f,l)=>{const a=[],c=[];let u=!1;return f=s.fieldHooks.field.call(f,{index:l,remove(){u=!0},insertAfter(e){c.push(...o(e))},insertBefore(e){a.push(...o(e))}},n,i),t.push(...a),u||(t.push(f),r(f.children)&&(f.children=e(f.children))),t.push(...c),t}),[])}(e(t));return f=s.fieldHooks.fieldList.call(f,n,i),s.fieldHooks.fieldEnd.promise(n,i),f}function h({hooks:o,config:e,$table:r,emits:t,context:f}){return n.reduce(((n,l)=>(n[l]=n=>function(n,l){var a;const c=i(n);t(c,l),null==(a=o.eventHooks[n])||a.promise(l,s(e),{$table:s(r),emits:t,...f})}(l,n),n)),{})}function g(e,r,t){return async n=>await n.reduce((async(n,i,f)=>{const l=[],a=[];let c=!1;await e.dataHooks.data.promise(i,s(r),{index:f,$table:t,insertBefore(e){l.push(...o(e))},insertAfter(e){a.push(...o(e))},remove(){c=!0}});const u=await n;return u.push(...l),!c&&u.push(i),u.push(...a),u}),Promise.resolve([]))}function C(o){return{header:t({name:"IhoTableHeader",render:()=>o.domInsertHooks.header.call([])}),footer:t({name:"IhoTableFooter",render:()=>o.domInsertHooks.footer.call([])})}}export{k as applyTableConfigHooks,H as applyTableFieldHooks,g as createDataTransfer,C as createDomInsertComponent,h as createTableEventHandlers,p as createTableHooks};
1
+ import{arrayed as o}from"../../../../../shared/utils/index.js";import{cloneDeep as e,isArray as r}from"lodash-es";import{unref as s,defineComponent as t}from"vue";import{VxeEventListenerNameList as n}from"../../constants/index.js";import{eventListener2EventName as i}from"../../utils/index.js";import{useConfigHooks as a}from"./useConfigHooks.js";import{useDataHooks as f}from"./useDataHooks.js";import{useDomInsertHooks as l}from"./useDomInsertHooks.js";import{useEventHooks as c}from"./useEventHooks.js";import{useExposeHooks as u}from"./useExposeHooks.js";import{useFieldHooks as d}from"./useFieldHooks.js";import{useSetupHooks as m}from"./useSetupHooks.js";const p=(()=>{let o=null;return()=>o||(o=Object.freeze({configHooks:a().create(),fieldHooks:d().create(),eventHooks:c().create(),dataHooks:f().create(),setupHooks:m().create(),domInsertHooks:l().create(),exposeHooks:u().create()}))})();function k(o,r){const s=o.configHooks.config.call(e(r));return["rowConfig","editConfig","columnConfig","resizableConfig","seqConfig","sortConfig","filterConfig","radioConfig","checkboxConfig","expandConfig","treeConfig","mouseConfig","menuConfig","keyboardConfig","scrollY","scrollX","editRules"].forEach((e=>{s[e]=o.configHooks[e].call(s[e],s)})),s}function H(s,t,n,i){s.fieldHooks.fieldStart.promise(n,i);let a=function e(t){return t.reduce(((t,a,f)=>{const l=[],c=[];let u=!1;return a=s.fieldHooks.field.call(a,{index:f,remove(){u=!0},insertAfter(e){c.push(...o(e))},insertBefore(e){l.push(...o(e))}},n,i),t.push(...l),u||(t.push(a),r(a.children)&&(a.children=e(a.children))),t.push(...c),t}),[])}(e(t));return a=s.fieldHooks.fieldList.call(a,n,i),s.fieldHooks.fieldEnd.promise(n,i),a}function h({hooks:o,config:e,$table:r,emits:t,context:a}){return n.reduce(((n,f)=>(n[f]=n=>function(n,f){var l;const c=i(n);t(c,f),null==(l=o.eventHooks[n])||l.promise(f,s(e),{$table:s(r),emits:t,...a})}(f,n),n)),{})}function g(e,r,t){return async n=>{e.dataHooks.dataStart.promise(s(r));const i=await n.reduce((async(n,i,a)=>{const f=[],l=[];let c=!1;await e.dataHooks.data.promise(i,s(r),{index:a,$table:t,insertBefore(e){f.push(...o(e))},insertAfter(e){l.push(...o(e))},remove(){c=!0}});const u=await n;return u.push(...f),!c&&u.push(i),u.push(...l),u}),Promise.resolve([]));return e.dataHooks.dataEnd.promise(s(r)),i}}function C(o){return{header:t({name:"IhoTableHeader",render:()=>o.domInsertHooks.header.call([])}),footer:t({name:"IhoTableFooter",render:()=>o.domInsertHooks.footer.call([])})}}export{k as applyTableConfigHooks,H as applyTableFieldHooks,g as createDataTransfer,C as createDomInsertComponent,h as createTableEventHandlers,p as createTableHooks};
@@ -1,7 +1,8 @@
1
1
  import { AnyObject } from '../../../../../../es/shared/types';
2
- import { AsyncSeriesHook } from '../../../../../../es/shared/utils/tapable';
2
+ import { AsyncParallelHook, AsyncSeriesHook } from '../../../../../../es/shared/utils/tapable';
3
3
  import { AbstractDataHooks } from '../../../../../../es/components/iho-table/src/types';
4
4
  declare class TableDataHooks extends AbstractDataHooks {
5
+ readonly dataStart: AsyncParallelHook<WithTableConfig, import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
5
6
  readonly data: AsyncSeriesHook<[AnyObject, import("../../../../../../es/components/iho-table/src/types").IhoTableConfig, {
6
7
  remove(): void;
7
8
  $table: import("@vueuse/shared").MaybeRef<import("../../../../../../es/shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
@@ -9,6 +10,7 @@ declare class TableDataHooks extends AbstractDataHooks {
9
10
  insertBefore(data: import("../../../../../../es/shared/types").ArrayAble<AnyObject>): void;
10
11
  insertAfter(data: import("../../../../../../es/shared/types").ArrayAble<AnyObject>): void;
11
12
  }], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
13
+ readonly dataEnd: AsyncParallelHook<WithTableConfig, import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
12
14
  }
13
15
  export declare function useDataHooks(): {
14
16
  create: () => TableDataHooks;
@@ -1 +1 @@
1
- import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import s from"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{AbstractDataHooks as t}from"../../types/pluginType.js";class a extends t{constructor(){super(...arguments),this.data=new s(["rowData","context","config"])}}function e(){return{create:function(){return new a}}}export{e as useDataHooks};
1
+ import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import t from"../../../../../shared/utils/tapable/AsyncParallelHook.js";import"../../../../../shared/utils/tapable/AsyncParallelBailHook.js";import a from"../../../../../shared/utils/tapable/AsyncSeriesHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesBailHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js";import"../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js";import{AbstractDataHooks as s}from"../../types/pluginType.js";class o extends s{constructor(){super(...arguments),this.dataStart=new t(["config"]),this.data=new a(["rowData","context","config"]),this.dataEnd=new t(["config"])}}function e(){return{create:function(){return new o}}}export{e as useDataHooks};
@@ -1 +1 @@
1
- import{mergeWith as e,isObject as o}from"lodash-es";import{HIGHEST_PRIORITY as i}from"../../constants/index.js";import{defineTablePlugin as t}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as s}from"../../utils/index.js";function n(){const n="defaultTablePlugin";return t({name:n,apply(t){t.configHooks.config.tap({name:n,stage:i},(o=>{const i=e({height:"100%",border:!0,showSeq:!0,columnConfig:{resizable:!0},rowConfig:{height:36,isHover:!0,isCurrent:!0,keyField:"theUniqueKey"},showOverflow:"tooltip",editConfig:{trigger:"click",mode:"cell"}},o);return(s.isPositive(o.isBatchSelect)||o.selectType)&&(i.selectType=o.selectType||"checkbox"),i})),t.configHooks.mouseConfig.tap({name:n,stage:i},((e,i)=>o(i.keyboardConfig)?Object.assign({selected:!!i.keyboardConfig.isEdit},e):e))}})}export{n as defaultConfigPlugin};
1
+ import{mergeWith as e,isObject as o}from"lodash-es";import{HIGHEST_PRIORITY as i}from"../../constants/index.js";import{defineTablePlugin as t}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as s}from"../../utils/index.js";function n(){const n="defaultTablePlugin";return t({name:n,apply(t){t.configHooks.config.tap({name:n,stage:i},(o=>{const i=e({border:!0,showSeq:!0,columnConfig:{resizable:!0},rowConfig:{height:36,useKey:!0,isHover:!0,isCurrent:!0,keyField:"theUniqueKey"},showOverflow:"tooltip",editConfig:{trigger:"click",mode:"cell"}},o,{height:o.height?"auto":void 0});return(s.isPositive(o.isBatchSelect)||o.selectType)&&(i.selectType=o.selectType||"checkbox"),i})),t.configHooks.mouseConfig.tap({name:n,stage:i},((e,i)=>o(i.keyboardConfig)?Object.assign({selected:!!i.keyboardConfig.isEdit},e):e))}})}export{n as defaultConfigPlugin};
@@ -1 +1 @@
1
- import{createVNode as e,nextTick as r}from"vue";import{jsonParse as t,traverse as l,arrayed as i}from"../../../../../shared/utils/index.js";import{isObject as n,first as o,isArray as s}from"lodash-es";import"../../../index.js";import{IHO_TABLE_NUMBER_STATUS as u}from"../../constants/index.js";import{IhoTableRenderHelper as a,IhoTableUtils as d}from"../../utils/index.js";import f from"./filter.vue.js";import{defineTablePlugin as p}from"../../hooks/useTablePlugin.js";function c(){const c="filterRenderPlugin";return p({name:c,vxe(r){r.renderer.mixin({filterRenderPlugin:{showFilterFooter:!1,renderFilter:(r,t)=>e(f,{payload:t},null)}})},apply(e){let f=[];e.fieldHooks.field.tap(c,(e=>{var r,l,i,f,p,c;const v=null==(r=e.editRender)?void 0:r.props;if(!n(v))return e;const m=t(v.fieldSetting||"");if(!a.hasFilter(m))return e;e.editRender={...e.editRender,props:{...null==(l=e.editRender)?void 0:l.props,sortable:e.sortable}},e.filterRender={name:"filterRenderPlugin"};let h=null!=(p=null==(f=null==(i=m.mapping)?void 0:i.mappingFiled)?void 0:f.reduce(((e,r)=>{const t=o(r.value);return n(t)&&e.push({label:t.key,value:t.value,data:t.value}),e}),[]))?p:[];return function(e){const r=["SEARCH","SELECT","RADIO","CHECKBOX"];return(e.notParticipatingSearch||"")!==u.POSITIVE&&r.includes(d.getCellType(e))&&s(e.options)&&e.options.length}(v)&&(h=null!=(c=v.options)?c:[]),e.filters=h,e.sortable?e.headerClassName=({$table:e,column:r})=>{const t=["iho-table__hideSortIcon"];return e.isSort(r)&&t.push("is--filter-active"),t}:e.headerClassName="iho-table__hideSortIcon",e})),e.fieldHooks.fieldList.tap(c,(e=>f=e)),e.fieldHooks.fieldEnd.tapPromise(c,(async(e,{$table:t})=>{var i;try{if(await r(),!t.value)return;const o=null!=(i=t.value.getColumns())?i:[],s=[];if(l(f,(e=>{o.find((r=>r.field===e.field))||s.push(e)})),!s.length)return;setTimeout((()=>{var r,l;if(null==(r=e.sortConfig)?void 0:r.multiple){const e=null!=(l=t.value.getColumns())?l:[],r=s.concat(e).reduce(((e,r)=>{var t;const l=null==(t=r.editRender)?void 0:t.props;return n(l)&&v(l.isOrder)&&e.push({field:r.field,order:l.isOrder}),e}),[]);t.value.sort(r)}else s.reverse().some((e=>{var r;const l=null==(r=e.editRender)?void 0:r.props;if(n(l)&&v(l.isOrder))return e&&t.value.sort(e.field,l.isOrder),!0}))}),100)}finally{f=[]}})),e.exposeHooks.expose.tap(c,((e,r,{$table:t})=>(Object.assign(e,{setSort(e,r){t.value&&t.value.sort(e,r)},setFilter(e,r){if(!t.value)return;const l=t.value.getColumnByField(e);if(!l||!s(l.filters))return;const n=i(r);l.filters.forEach((e=>{e.checked=n.includes(e.value)})),t.value.updateData()}}),e)))}})}function v(e){return["asc","desc",null].includes(e)}export{c as filterRenderPlugin};
1
+ import{createVNode as e,nextTick as l}from"vue";import{jsonParse as t,traverse as r,arrayed as i}from"../../../../../shared/utils/index.js";import{isObject as n,first as o,isArray as s,isString as u}from"lodash-es";import"../../../index.js";import{IHO_TABLE_NUMBER_STATUS as a}from"../../constants/index.js";import{IhoTableRenderHelper as d,parseRichContent as f,IhoTableUtils as c}from"../../utils/index.js";import p from"./filter.vue.js";import{defineTablePlugin as v}from"../../hooks/useTablePlugin.js";function m(){const m="filterRenderPlugin";return v({name:m,vxe(l){l.renderer.mixin({filterRenderPlugin:{showFilterFooter:!1,renderFilter:(l,t)=>e(p,{payload:t,key:t.column.field},null)}})},apply(e){let p=[];e.fieldHooks.field.tap(m,((e,l,r,{$table:i})=>{var p,v,m,h,g,b,C,R;const k=null==(p=e.editRender)?void 0:p.props;if(!n(k))return e;const y=t(k.fieldSetting||"");if(!d.hasFilter(y))return e;e.editRender={...e.editRender,props:{...null==(v=e.editRender)?void 0:v.props,sortable:e.sortable}},e.filterRender={name:"filterRenderPlugin"};const x=null==(m=i.value)?void 0:m.getColumnByField(e.field);let S=null!=(b=null==(g=null==(h=y.mapping)?void 0:h.mappingFiled)?void 0:g.reduce(((e,l)=>{const t=o(l.value);if(n(t)){let l=!1;x&&s(x.filters)&&x.filters.some((e=>{e&&e.label===t.key&&e.value===t.value&&e.value===t.value&&(l=e.checked)})),e.push({label:t.key,value:t.value,data:t.value,checked:l})}return e}),[]))?b:[];if(function(e){const l=["SEARCH","SELECT","RADIO","CHECKBOX"];return(e.notParticipatingSearch||"")!==a.POSITIVE&&l.includes(c.getCellType(e))&&s(e.options)&&e.options.length}(k)&&(S=null!=(C=k.options)?C:[]),e.filters=S,!e.filterMethod){const l=null==(R=r.treeConfig)?void 0:R.children;e.filterMethod=function({option:e,column:t,row:r}){if(l&&s(r[l])&&r[l].length)return!1;const i=r[t.field];if(!u(i))return!1;if(i===e.label)return!0;const{value:n,change_text:o}=f(i);return o===e.label||n===e.value}}return e.sortable?e.headerClassName=({$table:e,column:l})=>{const t=["iho-table__hideSortIcon"];return e.isSort(l)&&t.push("is--filter-active"),t}:e.headerClassName="iho-table__hideSortIcon",e})),e.fieldHooks.fieldList.tap(m,(e=>p=e)),e.fieldHooks.fieldEnd.tapPromise(m,(async(e,{$table:t})=>{var i;try{if(await l(),!t.value)return;const o=null!=(i=t.value.getColumns())?i:[],s=[];if(r(p,(e=>{o.find((l=>l.field===e.field))||s.push(e)})),!s.length)return;setTimeout((()=>{var l,r;if(null==(l=e.sortConfig)?void 0:l.multiple){const e=null!=(r=t.value.getColumns())?r:[],l=s.concat(e).reduce(((e,l)=>{var t;const r=null==(t=l.editRender)?void 0:t.props;return n(r)&&h(r.isOrder)&&e.push({field:l.field,order:r.isOrder}),e}),[]);t.value.sort(l)}else s.reverse().some((e=>{var l;const r=null==(l=e.editRender)?void 0:l.props;if(n(r)&&h(r.isOrder))return e&&t.value.sort(e.field,r.isOrder),!0}))}),100)}finally{p=[]}})),e.exposeHooks.expose.tap(m,((e,l,{$table:t})=>(Object.assign(e,{setSort(e,l){t.value&&t.value.sort(e,l)},setFilter(e,l){if(!t.value)return;const r=t.value.getColumnByField(e);if(!r||!s(r.filters))return;const n=i(l);r.filters.forEach((e=>{e.checked=n.includes(e.value)})),t.value.updateData()}}),e)))}})}function h(e){return["asc","desc",null].includes(e)}export{m as filterRenderPlugin};
@@ -0,0 +1 @@
1
+ export declare function highLightSetPlugin(): import("../../../../../es/components/iho-table").TablePlugin;
@@ -0,0 +1 @@
1
+ import{isFunction as o}from"lodash-es";import"../../index.js";import{useUUIDMap as r}from"../utils/index.js";import{defineTablePlugin as t}from"../hooks/useTablePlugin.js";function e(){const e="highLightSetPlugin",{getItemFromUUID:i,removeItemFromUUID:n,setItemFromUUID:u}=r((()=>!1));return t({name:e,apply(r){r.dataHooks.data.tapPromise(e,(async(o,r)=>{r.uuid&&(o.rowColor||o.fontColor)&&u(r.uuid,!0)})),r.dataHooks.dataEnd.tap(e,(r=>{if(!r.uuid||!i(r.uuid))return;const t=r.rowStyle;r.rowStyle=function(r){const e={backgroundColor:r.row.rowColor,color:r.row.fontColor};return o(t)?Object.assign(e,t(r)):e},n(r.uuid)}))}})}export{e as highLightSetPlugin};
@@ -1 +1 @@
1
- import*as e from"./anchorPlugin/index.js";import*as r from"./defaultConfigPlugin/index.js";import*as i from"./filterRenderPlugin/index.js";import*as n from"./keyboardEventPlugin/index.js";import*as d from"./lowCodeFieldAdaptorPlugin/index.js";import*as s from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as t from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as l from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as g from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as u from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as o from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as P from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as a from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as m from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as x from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as p from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as f from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as R from"./rowClickPlugin/index.js";import*as j from"./rowGroupSettingPlugin/index.js";import*as b from"./virtualTreePlugin/index.js";import{separateMetaModule as w}from"../../../../shared/utils/index.js";var c=w(Object.assign({"./anchorPlugin/index.tsx":e,"./defaultConfigPlugin/index.ts":r,"./filterRenderPlugin/index.tsx":i,"./keyboardEventPlugin/index.ts":n,"./lowCodeFieldAdaptorPlugin/index.tsx":d,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":s,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":t,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":l,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":g,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":u,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":o,"./rendererPlugins/widgets/checkRendererPlugin.tsx":P,"./rendererPlugins/widgets/colorRendererPlugin.tsx":a,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":m,"./rendererPlugins/widgets/labelRendererPlugin.tsx":x,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":p,"./rendererPlugins/widgets/seqRendererPlugin.tsx":f,"./rowClickPlugin/index.ts":R,"./rowGroupSettingPlugin/index.ts":j,"./virtualTreePlugin/index.ts":b}));export{c as default};
1
+ import*as e from"./anchorPlugin/index.js";import*as r from"./defaultConfigPlugin/index.js";import*as i from"./filterRenderPlugin/index.js";import*as n from"./highLightSetPlugin.js";import*as d from"./keyboardEventPlugin/index.js";import*as s from"./lowCodeFieldAdaptorPlugin/index.js";import*as t from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as l from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as g from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as u from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as o from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as P from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as a from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as m from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as x from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as p from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as f from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as R from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as j from"./rowClickPlugin/index.js";import*as b from"./rowGroupSettingPlugin/index.js";import*as w from"./varialbleHeightPlugin/index.js";import*as c from"./virtualTreePlugin/index.js";import{separateMetaModule as h}from"../../../../shared/utils/index.js";var W=h(Object.assign({"./anchorPlugin/index.tsx":e,"./defaultConfigPlugin/index.ts":r,"./filterRenderPlugin/index.tsx":i,"./highLightSetPlugin.tsx":n,"./keyboardEventPlugin/index.ts":d,"./lowCodeFieldAdaptorPlugin/index.tsx":s,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":t,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":l,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":g,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":u,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":o,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":P,"./rendererPlugins/widgets/checkRendererPlugin.tsx":a,"./rendererPlugins/widgets/colorRendererPlugin.tsx":m,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":x,"./rendererPlugins/widgets/labelRendererPlugin.tsx":p,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":f,"./rendererPlugins/widgets/seqRendererPlugin.tsx":R,"./rowClickPlugin/index.ts":j,"./rowGroupSettingPlugin/index.ts":b,"./varialbleHeightPlugin/index.tsx":w,"./virtualTreePlugin/index.ts":c}));export{W as default};
@@ -1 +1 @@
1
- import{targetStringIncludes as e}from"../../../../../shared/utils/index.js";import{promiseTimeout as t}from"@vueuse/shared";import"../../../index.js";import{defineTablePlugin as o}from"../../hooks/useTablePlugin.js";function n(){const n="keyboardEventPlugin";return o({name:n,apply(o){o.eventHooks.onKeydown.tap(n,(async({$event:o,$table:n},r,{emits:i})=>{await t(0);const{row:a,column:l}=n.getSelectedCell()||n.getEditRecord()||{};if(!a||!l)return;const s=o.key;!e(["Arrow","Escape","Control","Shift","Alt","Meta"],s)&&await n.setEditCell(a,l),i("keyboard",{key:s,index:n.getRowIndex(a),value:a[l.field],row:a,column:l})}))}})}export{n as keyboardEventPlugin};
1
+ import{promiseTimeout as e}from"@vueuse/shared";import"../../../index.js";import{defineTablePlugin as o}from"../../hooks/useTablePlugin.js";function t(){const t="keyboardEventPlugin";return o({name:t,apply(o){o.eventHooks.onKeydown.tap(t,(async({$event:o,$table:t},n,{emits:r})=>{await e(0);const{row:i,column:a}=t.getSelectedCell()||t.getEditRecord()||{};if(!i||!a)return;r("keyboard",{key:o.key,index:t.getRowIndex(i),value:i[a.field],row:i,column:a})}))}})}export{t as keyboardEventPlugin};
@@ -1 +1 @@
1
- import{toRaw as e,h as t,inject as i,createVNode as l}from"vue";import{widthAppend as o,arrayed as n}from"../../../../../shared/utils/index.js";import{isObject as s,isFunction as d,cloneDeep as r,isString as a}from"lodash-es";import{NEllipsis as u}from"naive-ui";import f from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as m,IHO_TABLE_FIXED_STATUS as c,LOWEST_PRIORITY as p,WIDGET_TYPE as h,InjectionIhoTableAnnotation as b,InjectionIhoTableConfig as v}from"../../constants/index.js";import{defineTablePlugin as g}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as j,IhoTableUtils as R,IhoTableRenderHelper as P}from"../../utils/index.js";import{getDefaultValue as x}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function S(){const S="lowCodeFieldAdaptorPlugin";return g({name:S,apply(g){g.fieldHooks.field.tap({name:S,stage:m},((m,p,g)=>{const S=m,F={className:S.bold?"iho-table__boldCell":"",field:S.columnName,showOverflow:"tooltip",visible:j.notNegative(S.isShow),minWidth:S.colWidth,sortable:j.isPositive(S.isSort),fixed:c[S.isFixed],...S,title:S.alias||S.title};return function(e,r){const m={default:r.slotFn,header:r.headerSlotFn,edit:r.editSlotFn,footer:r.footerSlotFn,...r.slots};if(d(r.checkEditStatus)){const{default:e}=m;d(e)&&(m.default=i=>r.checkEditStatus(i)?e(i):[t("span",null,x(i.row,i.column.editRender.props))])}if(!1!==r.annotation){const e=m.header;m.header=t=>function(e,t,r){const m=i(b),c=i(v),p=e.column||{},h=s(null==m?void 0:m.value)&&!1!==t.annotation,g=P.isEditableColumn(c.value,p),j=p.sortable||P.hasFilter(t.fieldSetting),R=a(r)?r:d(r)?r(e):null;return l("section",{class:"iho-table__headerWrapper"},[l("section",{style:{width:o(p.renderWidth-(h?36:20)-(j?24:0)-(g?20:0))}},[[...n(null!=R?R:l(u,{style:{maxWidth:"100%"}},{default:()=>p.title}))]]),h?l(f,{modelValue:m.value[p.field],"onUpdate:modelValue":e=>m.value[p.field]=e},null):null])}(t,r,e)}e.slots=m}(F,S),function(t,i,l){var o,n;const a=r(e(i));a.componentProps={size:"mini"===l.size?"small":l.size,...a.componentProps},t.editRender={autofocus:"input",name:R.getCellType(i),props:a},t.editRender.enabled=!Reflect.get(h,t.editRender.name),d(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&d(null==(n=t.slots)?void 0:n.edit));if(!s(i.settingObj))return;Reflect.has(i.settingObj,"isHide")&&(t.visible=t.visible&&j.notPositive(i.settingObj.isHide))}(F,S,g),F})),g.fieldHooks.field.tap({name:S+"After",stage:p},(e=>(s(e.slots)&&Object.entries(e.slots).forEach((([t,i])=>{null==i&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{S as lowCodeFieldAdaptorPlugin};
1
+ import{toRaw as e,h as t,inject as i,createVNode as l}from"vue";import{arrayed as o,widthAppend as s}from"../../../../../shared/utils/index.js";import{isObject as n,isFunction as d,cloneDeep as r,isString as a}from"lodash-es";import{NEllipsis as u}from"naive-ui";import f from"../../../../annotation-edit/index.js";import{HIGHEST_PRIORITY as m,IHO_TABLE_FIXED_STATUS as c,LOWEST_PRIORITY as p,WIDGET_TYPE as h,InjectionIhoTableAnnotation as v,InjectionIhoTableConfig as b}from"../../constants/index.js";import{defineTablePlugin as g}from"../../hooks/useTablePlugin.js";import{IhoTableStatusHelper as R,IhoTableUtils as j,IhoTableRenderHelper as P}from"../../utils/index.js";import{getDefaultValue as x}from"../rendererPlugins/editableWidgets/selectRendererPlugin/selectUtils.js";function S(){const S="lowCodeFieldAdaptorPlugin";return g({name:S,apply(g){g.fieldHooks.field.tap({name:S,stage:m},((m,p,g)=>{const S=m,F={className:S.bold?"iho-table__boldCell":"",field:S.columnName,showOverflow:"tooltip",visible:R.notNegative(S.isShow),minWidth:S.colWidth,sortable:R.isPositive(S.isSort),fixed:c[S.isFixed],...S,title:S.alias||S.title};return function(e,r){const m={default:r.slotFn,header:r.headerSlotFn,edit:r.editSlotFn,footer:r.footerSlotFn,...r.slots};if(d(r.checkEditStatus)){const{default:e}=m;d(e)&&(m.default=i=>r.checkEditStatus(i)?e(i):[t("span",null,x(i.row,i.column.editRender.props))])}const c=m.header;m.header=e=>function(e,t,r){const m=i(v),c=i(b),p=e.column||{},h=n(null==m?void 0:m.value)&&!1!==t.annotation,g=P.isEditableColumn(c.value,p),R=p.sortable||P.hasFilter(t.fieldSetting),j=a(r)?r:d(r)?r(e):null;let x=!1;if(c.value){const e=c.value.editRules&&c.value.editRules[p.field];e&&(x=o(e).some((e=>e.required)))}return l("section",{class:"iho-table__headerWrapper"},[l("section",{style:{width:s(p.renderWidth-(x?14:0)-(h?36:20)-(R?26:0)-(g?20:0))}},[null!=j?j:l(u,{style:{maxWidth:"100%"}},{default:()=>p.title})]),h?l(f,{modelValue:m.value[p.field],"onUpdate:modelValue":e=>m.value[p.field]=e},null):null])}(e,r,c),e.slots=m}(F,S),function(t,i,l){var o,s;const a=r(e(i));a.componentProps={size:"mini"===l.size?"small":l.size,...a.componentProps},t.editRender={autofocus:"input",name:j.getCellType(i),props:a},t.editRender.enabled=!Reflect.get(h,t.editRender.name),d(null==(o=t.slots)?void 0:o.default)&&(t.editRender.enabled=t.editRender.enabled&&d(null==(s=t.slots)?void 0:s.edit));if(!n(i.settingObj))return;Reflect.has(i.settingObj,"isHide")&&(t.visible=t.visible&&R.notPositive(i.settingObj.isHide))}(F,S,g),F})),g.fieldHooks.field.tap({name:S+"After",stage:p},(e=>(n(e.slots)&&Object.entries(e.slots).forEach((([t,i])=>{null==i&&Reflect.deleteProperty(e.slots,t)})),e)))}})}export{S as lowCodeFieldAdaptorPlugin};
@@ -1 +1 @@
1
- import{defineComponent as e,createVNode as t,mergeProps as r}from"vue";import{NSelect as o}from"naive-ui";import{useIhoTableFormEvent as u}from"../../../../utils/index.js";import{useAutoFocus as a}from"../hooks/useAutoFocus.js";var l=e({name:"EditSelect",inheritAttrs:!1,components:{NSelect:o},props:{value:{type:[Array,String,Number],default:void 0},column:{type:Object,required:!0},row:{type:Object,required:!0},rowIndex:{type:Number,required:!0}},emits:["update:value"],setup(e,{attrs:l,emit:i}){const{isShow:s,setRef:n}=a(),{emitFormChangeWithParams:p}=u(e);function m(t){const r=e.value;i("update:value",t),p({oldValue:r})}return()=>t(o,r({ref:n,show:s.value,"onUpdate:show":e=>s.value=e},l,{value:e.value,consistentMenuWidth:!1,clearable:!0,filterable:!0,placeholder:l.placeholder||"请选择",onUpdateValue:m}),null)}});export{l as default};
1
+ import{defineComponent as e,reactive as o,createVNode as t,mergeProps as r}from"vue";import{NSelect as l}from"naive-ui";import{useIhoTableFormEvent as a}from"../../../../utils/index.js";import{useAutoFocus as n}from"../hooks/useAutoFocus.js";import{useDebounceFn as i}from"@vueuse/core";var u=e({name:"EditSelect",inheritAttrs:!1,components:{NSelect:l},props:{value:{type:[Array,String,Number],default:void 0},column:{type:Object,required:!0},row:{type:Object,required:!0},rowIndex:{type:Number,required:!0}},emits:["update:value"],setup(e,{attrs:u,emit:s}){const{isShow:c,setRef:p}=n(),{emitFormChangeWithParams:d}=a(e),m=o({placeholder:u.placeholder||"请选择",options:u.options});async function v(o){var t;m.loading=!0;const r={keyword:o,row:e.row,column:e.column,rowIndex:e.rowIndex};try{m.options=await(null==(t=u.queryOptions)?void 0:t.call(u,r)),m.loading=!1}catch(o){console.log(`获取${e.column.field}_options错误`)}}function h(o){const t=e.value;s("update:value",o),d({oldValue:t})}m.options||(m.remote=!0,m.loading=!1,m.onSearch=i(v,400),m.onSearch(""));const f=()=>({class:"iho-table__selectOption"}),w={class:"iho-table__selectMenu"};return()=>t(l,r({ref:p,show:c.value,"onUpdate:show":e=>c.value=e},u,m,{value:e.value,clearable:!0,filterable:!0,nodeProps:f,menuProps:w,onUpdateValue:h}),null)}});export{u as default};
@@ -1 +1 @@
1
- import{createVNode as e,mergeProps as o}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r}from"../../../../constants/index.js";import{createIhoTableClearActivedInterceptor as n,IhoTableRenderHelper as t}from"../../../../utils/index.js";import i from"./editSelect.js";import{getDefaultValue as l}from"./selectUtils.js";import{defineTablePlugin as s}from"../../../../hooks/useTablePlugin.js";function d(){return s({name:"selectRendererPlugin",vxe(s){s.interceptor.add("event.clearActived",n(r.SELECT,(e=>e.classList.contains("n-base-select-menu-option-wrapper")))),s.renderer.add(r.SELECT,{renderCell:({props:o},{row:r})=>[e("span",null,[l(r,o)])],renderEdit:t.createRenderEdit((({fieldItem:r,emitFormClick:n,row:t,column:l,$rowIndex:s})=>[e(i,o({options:r.options},r.componentProps,{column:l,row:t,"row-index":s,value:t[l.field],"onUpdate:value":e=>t[l.field]=e,onClick:n}),null)]))})}})}export{d as selectRendererPlugin};
1
+ import{reactive as e,inject as o,createVNode as i,mergeProps as t,onBeforeUnmount as n}from"vue";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as l,InjectionIhoTableUUID as r}from"../../../../constants/index.js";import{createIhoTableClearActivedInterceptor as d,IhoTableRenderHelper as s}from"../../../../utils/index.js";import u from"./editSelect.js";import{getDefaultValue as p}from"./selectUtils.js";import{defineTablePlugin as a}from"../../../../hooks/useTablePlugin.js";function c(){const c="selectRendererPlugin",f=e(new Map),m=e(new Map);return a({name:c,vxe(e){e.interceptor.add("event.clearActived",d(l.SELECT,(e=>e.classList.contains("iho-table__selectMenu")))),e.renderer.add(l.SELECT,{renderCell({props:e},{row:t,column:n}){var l,d;const s=o(r),u=(null==(d=null==(l=f.get(s))?void 0:l.find((e=>e.field===n.field)))?void 0:d.options)||[],a=p(t,e,u);return[i("span",null,[a])]},renderEdit:s.createRenderEdit((({fieldItem:e,emitFormClick:o,row:n,column:l,$rowIndex:r})=>[i(u,t({options:e.options,queryOptions:e.queryOptions},e.componentProps,{column:l,row:n,"row-index":r,value:n[l.field],"onUpdate:value":e=>n[l.field]=e,onClick:o}),null)]))})},apply(e){e.fieldHooks.fieldList.tap(c,((e,{uuid:o})=>(o&&m.set(o,e),e))),e.dataHooks.data.tapPromise(c,(async(e,o,{index:i,$table:t})=>{var n;if(!o.uuid)return;const l=m.get(o.uuid),r=f.get(o.uuid)||[];for(const t of l)if(t.field){if("select"===t.formType){if(r.findIndex((e=>e.field===t.field))>-1)continue;let o=t.options||[];if(t.queryOptions)try{const l={keyword:"",row:e,column:t,rowIndex:i};o=await(null==(n=t.queryOptions)?void 0:n.call(t,l))}catch(e){console.log(`获取${t.field}_options错误`)}r.push({field:t.field,options:o})}f.set(o.uuid,r)}})),e.setupHooks.setup.tap(c,(e=>{n((()=>{e.value.uuid&&(m.delete(e.value.uuid),f.delete(e.value.uuid))}))}))}})}export{c as selectRendererPlugin};
@@ -1,2 +1,2 @@
1
1
  import { LowCodeTableFieldItem } from '../../../../../../../../es/components/iho-table/src/types';
2
- export declare function getDefaultValue(row: any, item: LowCodeTableFieldItem | any): any;
2
+ export declare function getDefaultValue(row: any, item: LowCodeTableFieldItem | any, options?: never[]): any;
@@ -1 +1 @@
1
- function n(n,o){const r=n[o.columnName];return Array.isArray(r)?r.map((n=>i(n))).join(","):i(r);function i(n){var r;return i=(null==(r=o.componentProps)?void 0:r.options)||o.options||[],(null==(l=null==i?void 0:i.find((o=>o.value==n)))?void 0:l.label)||n||"";var i,l}}export{n as getDefaultValue};
1
+ function n(n,o,r=[]){const i=n[o.columnName];return Array.isArray(i)?i.map((n=>l(n))).join(","):l(i);function l(n){var i;return l=(null==(i=o.componentProps)?void 0:i.options)||o.options||r,(null==(t=null==l?void 0:l.find((o=>o.value==n)))?void 0:t.label)||n||"";var l,t}}export{n as getDefaultValue};
@@ -1 +1 @@
1
- import{createVNode as n}from"vue";import{isMatchLowCodeCondition as r}from"../../../../../../shared/utils/index.js";import{isString as o,isObject as e,isArray as t}from"lodash-es";import"../../../../index.js";import{WIDGET_TYPE as i}from"../../../constants/index.js";import{IhoTableWarn as c}from"../../../utils/index.js";import{defineTablePlugin as l}from"../../../hooks/useTablePlugin.js";function d(){return l({name:"defaultRendererPlugin",vxe(l){l.renderer.add(i.DEFAULT,{renderCell(i,{row:l,column:d}){const u=l[d.field],s=function(n){return o(n)&&!!n.match(/^###\{[^{}]+}$/)}(u)?function(r){const o=t(r);return[n("div",{style:{color:o.background||o.icon}},[e(o.icon),o.change_text])];function e(r){return r?r.match(/#[\da-f]{6}|[\da-f]{3}/i)?n("i",{class:"icon-dot",style:{"--table-icon-color":r,"--table-icon-shadow":r}},null):n("i",{class:o.icon},null):null}function t(n){try{return JSON.parse(n.replace(/^###/,""))}catch(r){return c(`invalid json-content ${n}`),{}}}}(u):[u];return function(o,e,i,c){if(!t(o)||!o.length)return c;const l=o.find((n=>n.condition&&n.condition.find((n=>{const o=e[n.field_key||i.field];return r(o,n)}))));return l?n("div",{style:{color:l.color},class:l.icon},[c]):c}(function(n){var r,o,t;const i=null==(r=n.editRender)?void 0:r.props;if(!e(i))return;return null!=(t=i.colorAndIcon)?t:null==(o=i.settingObj)?void 0:o.colorAndIcon}(d),l,d,s)}}),l.renderer.add(i.STATUS,l.renderer.get(i.DEFAULT))}})}export{d as defaultRendererPlugin};
1
+ import{createVNode as n}from"vue";import{isMatchLowCodeCondition as o}from"../../../../../../shared/utils/index.js";import{isObject as r,isArray as e}from"lodash-es";import"../../../../index.js";import{WIDGET_TYPE as t}from"../../../constants/index.js";import{isRichContent as i,parseRichContent as l}from"../../../utils/index.js";import{defineTablePlugin as d}from"../../../hooks/useTablePlugin.js";function c(){return d({name:"defaultRendererPlugin",vxe(d){d.renderer.add(t.DEFAULT,{renderCell(t,{row:d,column:c}){const s=d[c.field],u=i(s)?function(o){const r=l(o);return[n("div",{style:{color:r.background||r.icon}},[e(r.icon),r.change_text])];function e(o){return o?o.match(/#[\da-f]{6}|[\da-f]{3}/i)?n("i",{class:"icon-dot",style:{"--table-icon-color":o,"--table-icon-shadow":o}},null):n("i",{class:r.icon},null):null}}(s):[s];return function(r,t,i,l){if(!e(r)||!r.length)return l;const d=r.find((n=>n.condition&&n.condition.find((n=>{const r=t[n.field_key||i.field];return o(r,n)}))));return d?n("div",{style:{color:d.color},class:d.icon},[l]):l}(function(n){var o,e,t;const i=null==(o=n.editRender)?void 0:o.props;if(!r(i))return;return null!=(t=i.colorAndIcon)?t:null==(e=i.settingObj)?void 0:e.colorAndIcon}(c),d,c,u)}}),d.renderer.add(t.STATUS,d.renderer.get(t.DEFAULT))}})}export{c as defaultRendererPlugin};
@@ -0,0 +1 @@
1
+ export declare function variableHeightRendererPlugin(): import("../../../../../../es/components/iho-table").TablePlugin;
@@ -0,0 +1 @@
1
+ import{defineComponent as e,inject as t,ref as o,computed as l,provide as a,watch as r,onMounted as n,createVNode as s,h as i,nextTick as u,onBeforeUnmount as d,reactive as c,unref as m}from"vue";import{traverse as p}from"../../../../../shared/utils/index.js";import{useThrottleFn as f}from"@vueuse/core";import{promiseTimeout as h}from"@vueuse/shared";import{isFunction as g,isNumber as v,omit as x,isString as I,range as y,last as H}from"lodash-es";import"../../../index.js";import{InjectionIhoTableUUID as b,WIDGET_TYPE as D}from"../../constants/index.js";import{useUUIDMap as R}from"../../utils/index.js";import{defineTablePlugin as U}from"../../hooks/useTablePlugin.js";class w{constructor(){this.records={},this.maxRecords=c({})}set(e,t,o){this.records[e]||(this.records[e]={}),this.records[e][t]=o,this.maxRecords[e]=Math.max(...Object.values(this.records[e]),0)}getMax(e){var t;return null!=(t=this.maxRecords[e])?t:0}}const{getItemFromUUID:T,removeItemFromUUID:E}=R((()=>new w),!0),{getItemFromUUID:F,removeItemFromUUID:M,setItemFromUUID:j}=R((()=>null)),{getItemFromUUID:S,removeItemFromUUID:k,setItemFromUUID:A}=R((()=>{})),C=e({props:{payload:{type:Object,required:!0}},setup(e){const d=t(b),c=t("$xetable"),m=o(),p=T(d),f=l((()=>e.payload.row[e.payload.column.field]));async function h(){await u();const{rowIndex:t,column:o}=e.payload;p&&v(t)&&m.value&&p.set(t,o.field,m.value.clientHeight)}a("updateCellHeight",h),r([()=>e.payload.rowIndex,()=>e.payload.column.field,f],h,{immediate:!0}),n((()=>{c&&!F(d)&&j(d,c)}));const x=l((()=>{var t,o,l,a;const r=null!=(o=null==(t=e.payload.column.editRender)?void 0:t.props)?o:{},n=null!=(a=null==(l=r.slots)?void 0:l.default)?a:r.slotFn;return g(n)?n:()=>f.value}));return()=>s("div",{ref:m,style:"padding:7px 0"},[i(x.value,e.payload)])}});function $(e,t,{scrollTop:o=0}){var l,a;const{uuid:r,rowConfig:n={}}=t;if(!r)return;const s=T(r),{oSize:i=0,gt:u=100}=null!=(l=S(r))?l:{},{internalData:d,reactData:c}=e,{scrollYStore:p,elemStore:f,afterFullData:h,fullDataRowIdData:g}=d;if(u>h.length)return;const v=null!=(a=n.height)?a:36,x=f["main-body-wrapper"],I=x?m(x):null,b=I?Math.max(8,Math.ceil(I.clientHeight/v)+2+2*i):8,D=[0];let R=0;o&&y(0,h.length).find((e=>{const t=(H(D)||0)+Math.max(v,s.getMax(e));if(D.push(t),t>o)return R=Math.max(0,e-i),!0})),Object.assign(p,{startIndex:R,endIndex:R+b});const U=`${D[R]}px`,w=`${y(0,h.length).reduce(((e,t)=>e+Math.max(v,s.getMax(t))),0)}px`;["main","left","right"].forEach((e=>{const t=f[`${e}-body-table`],o=t?m(t):null;o&&(o.style.marginTop=U),["header","body","footer"].forEach((t=>{const o=f[`${e}-${t}-ySpace`],l=o?m(o):null;l&&(l.style.height=w)}))}));const E=h.slice(p.startIndex,p.endIndex);E.forEach(((t,o)=>{const l=e.getRowid(t),a=g[l];a&&(a.$index=o)})),c.tableData=E}function L(){const e="variableHeightRendererPlugin";return U({name:e,vxe(e){e.renderer.add(D.VARIABLE_HEIGHT,{renderCell:(e,t)=>s(C,{payload:t},null)})},apply(t){function o(e){if(!e.uuid)return;const t=S(e.uuid);t&&(e.scrollY=t),setTimeout((()=>{const t=F(e.uuid);if(!t)return;e.scrollY={enabled:!1},t.reactData.scrollYLoad=!1;const o=t.getScroll();$(t,e,{scrollTop:o.scrollTop})}),300)}t.dataHooks.dataStart.tap(e,o),t.eventHooks.onFilterChange.tap(e,((e,t)=>o(t))),t.eventHooks.onSortChange.tap(e,((e,t)=>o(t))),t.fieldHooks.field.tap(e,(e=>{if(Reflect.get(e,"variableHeight")){const t=e.slots;e.slots=x(t,["default"]),e.editRender={...e.editRender,name:D.VARIABLE_HEIGHT}}return e})),t.fieldHooks.fieldList.tap(e,((e,t)=>(t.uuid&&p(e,((e,o)=>{var l,a,r;if((null==(l=e.editRender)?void 0:l.name)===D.VARIABLE_HEIGHT){A(t.uuid,t.scrollY),t.scrollY={enabled:!1};const e=null!=(r=null==(a=t.rowConfig)?void 0:a.height)?r:36,l=T(t.uuid),n=t.cellStyle;t.cellStyle=function(t){const o={};if(t.column.fixed){const a=Math.max(e,l.getMax(t.rowIndex));a&&(o.height=`${a}px`)}return Object.assign(o,n?g(n)?n(t):n:null)};const s=t.cellClassName;t.cellClassName=function(e){var t;const o=g(s)?s(e):s,l=o?I(o)?{[o]:!0}:o:{};return Object.assign({"virtual-height":(null==(t=e.column.editRender)?void 0:t.name)===D.VARIABLE_HEIGHT},l)},setTimeout((()=>{const e=F(t.uuid);e&&(e.reactData.scrollYLoad=!1,$(e,t,{scrollTop:0}))}),300),o()}})),e))),t.setupHooks.setup.tap(e,(e=>{d((()=>{e.value.uuid&&(E(e.value.uuid),M(e.value.uuid),k(e.value.uuid))}))})),t.eventHooks.onScroll.tap(e,f((async(e,t)=>{const{uuid:o}=t;if(!o)return;const l=F(o);l&&(await h(0),$(l,t,e))}),200))}})}export{L as variableHeightRendererPlugin};
@@ -45,7 +45,7 @@ export declare namespace IhoTableLowCodeField {
45
45
  };
46
46
  type ColorAndIconItem = {
47
47
  condition?: {
48
- con: LOW_CODE_VALUE_RELATION & string;
48
+ con: LOW_CODE_VALUE_RELATION | string;
49
49
  value: unknown;
50
50
  field_key?: string;
51
51
  }[];
@@ -92,6 +92,7 @@ export declare type LowCodeTableFieldItem = {
92
92
  */
93
93
  checkEditStatus: (payload: VxeTableDefines.CellRenderBodyParams) => boolean | void;
94
94
  colorAndIcon: IhoTableLowCodeField.ColorAndIconItem[];
95
+ variableHeight: boolean;
95
96
  }> & Partial<VxeTableDefines.ColumnInfo>;
96
97
  export declare type IhoTableFormChangePayload = {
97
98
  column: IhoTableFieldItem;
@@ -16,7 +16,7 @@ export declare type IhoTableInstance = {
16
16
  };
17
17
  export declare type TablePlugin = {
18
18
  name: string;
19
- vxe?(xeTable: IhoTableInstance): void;
19
+ vxe?(vxeTable: IhoTableInstance): void;
20
20
  apply?(hooks: TableHooks): void;
21
21
  };
22
22
  export declare type TableHooks = Readonly<{
@@ -150,7 +150,9 @@ declare type DataHookContext = {
150
150
  };
151
151
  export declare type WithTableDataContext<T> = [...WithTableConfig<T>, DataHookContext];
152
152
  export declare abstract class AbstractDataHooks {
153
+ abstract readonly dataStart: AsyncParallelHook<WithTableConfig>;
153
154
  abstract readonly data: AsyncSeriesHook<WithTableDataContext<[AnyObject]>>;
155
+ abstract readonly dataEnd: AsyncParallelHook<WithTableConfig>;
154
156
  }
155
157
  export declare abstract class AbstractSetupHooks {
156
158
  abstract readonly setup: SyncHook<[Ref<IhoTableConfig>, Ref<IhoTableFieldItem[]>]>;
@@ -14,6 +14,7 @@ export declare function eventListener2EventName<T extends string>(eventListenerN
14
14
  export declare function eventName2EventListener<T extends string>(eventName: T): EventNameToEventListener<T>;
15
15
  export declare function useUUIDMap<T>(creator: () => T, isReactive?: boolean): {
16
16
  getItemFromUUID: (uuid: string) => T;
17
+ setItemFromUUID: (uuid: string, value: T) => void;
17
18
  removeItemFromUUID: (uuid: string) => void;
18
19
  };
19
20
  export declare function getColumnRenderWidth(column: AnyObject, $table: MaybeRef<Nullable<VxeTableInstance>>): Promise<number>;
@@ -47,4 +48,6 @@ export declare const createIhoTableClearActivedInterceptor: (type: EDITABLE_WIDG
47
48
  column: VxeTableDefines.ColumnInfo;
48
49
  }) => boolean;
49
50
  export declare function isTransformTreeType(config: IhoTableConfig): boolean;
51
+ export declare function isRichContent(content: string): content is string;
52
+ export declare function parseRichContent(richContent: string): any;
50
53
  export {};
@@ -1 +1 @@
1
- import{inject as e,unref as n,toRaw as t,createVNode as r}from"vue";import{jsonParse as o,findAncestor as i}from"../../../../shared/utils/index.js";import{promiseTimeout as u}from"@vueuse/shared";import{isNumber as l,cloneDeep as c,isString as a,isObject as d}from"lodash-es";import{InjectionIhoTableEmits as s,InjectionIhoTableConfig as f,IHO_TABLE_STRING_STATUS as m,IHO_TABLE_NUMBER_STATUS as v,IHO_TABLE_TREE_TYPE as p}from"../constants/index.js";function I(e){return console.warn(`[IhoTable]: ${e}`)}const E=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function T(){var n,t,r;const o=e(f);return o||I("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(n=null==o?void 0:o.value)?void 0:n.rowConfig)?void 0:t.height)?r:32}function h(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function g(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}async function C(e,t){return r()||await u(0),r()||function(){const n=+e.colWidth;return l(n)?n:64}();function r(){var r,o;return null==(o=null==(r=n(t))?void 0:r.getColumnByField(e.field))?void 0:o.renderWidth}}function w(n){const r=e(s);function o(){var e;return{value:n.row[n.column.field],row:n.row,column:{...n.column,...null==(e=n.column.editRender)?void 0:e.props},index:n.rowIndex>-1?n.rowIndex:n.$rowIndex}}function i(e={}){r("formChange",{...o(),...c(t(e))})}function u(e={}){r("formClick",{...o(),...c(t(e))})}return{emitFormChange:function(){i()},emitFormClick:function(){u()},emitFormChangeWithParams:i,emitFormClickWithParams:u}}const O=Object.freeze({createDefaultRenderCell:function(){return function(e,{row:n,column:t}){return[r("span",null,[n[t.field]])]}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...w(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){return a(e)&&(e=o(e||"")),d(e)&&((n=e).notParticipatingSearch!==m.POSITIVE&&"manual"===(null==(t=n.mapping)?void 0:t.type));var n,t}}),P=Object.freeze({isPositive:e=>e===v.POSITIVE||e===m.POSITIVE,isNegative:e=>e===v.NEGATIVE||e===m.NEGATIVE,notPositive:e=>e!==v.POSITIVE&&e!==m.POSITIVE,notNegative:e=>e!==v.NEGATIVE&&e!==m.NEGATIVE}),R=(e,n)=>({$event:t,column:r})=>{var o;if((null==(o=r.editRender)?void 0:o.name)!==e)return!0;const u=null==t?void 0:t.target;return!d(u)||!i(u,n)};function F(e){return[p.TRANSFORM_WITH_SPAN_METHOD,p.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}export{O as IhoTableRenderHelper,P as IhoTableStatusHelper,E as IhoTableUtils,I as IhoTableWarn,R as createIhoTableClearActivedInterceptor,h as eventListener2EventName,g as eventName2EventListener,C as getColumnRenderWidth,T as getRowHeight,F as isTransformTreeType,w as useIhoTableFormEvent};
1
+ import{reactive as e,inject as n,unref as t,toRaw as r,createVNode as o}from"vue";import{jsonParse as i,findAncestor as u}from"../../../../shared/utils/index.js";import{promiseTimeout as l}from"@vueuse/shared";import{isNumber as c,cloneDeep as a,isString as s,isObject as d}from"lodash-es";import{InjectionIhoTableEmits as f,InjectionIhoTableConfig as m,IHO_TABLE_STRING_STATUS as v,IHO_TABLE_NUMBER_STATUS as I,IHO_TABLE_TREE_TYPE as p}from"../constants/index.js";function h(e){return console.warn(`[IhoTable]: ${e}`)}const E=Object.freeze({getCellType(e){var n;return((null==(n=e.settingObj)?void 0:n.attr)||e.formType||"DEFAULT").toUpperCase()}});function T(){var e,t,r;const o=n(m);return o||h("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(t=null==(e=null==o?void 0:o.value)?void 0:e.rowConfig)?void 0:t.height)?r:32}function g(e){const n=e.slice(2);return`${n[0].toLowerCase()}${n.slice(1)}`}function w(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function C(n,t=!0){const r=t?e(new Map):new Map;return{getItemFromUUID:function(e){return r.set(e,r.get(e)||n()).get(e)},setItemFromUUID:function(e,n){r.set(e,n)},removeItemFromUUID:function(e){r.delete(e)}}}async function O(e,n){return r()||await l(0),r()||function(){const n=+e.colWidth;return c(n)?n:64}();function r(){var r,o;return null==(o=null==(r=t(n))?void 0:r.getColumnByField(e.field))?void 0:o.renderWidth}}function F(e){const t=n(f);function o(){var n;return{value:e.row[e.column.field],row:e.row,column:{...e.column,...null==(n=e.column.editRender)?void 0:n.props},index:e.rowIndex>-1?e.rowIndex:e.$rowIndex}}function i(e={}){t("formChange",{...o(),...a(r(e))})}function u(e={}){t("formClick",{...o(),...a(r(e))})}return{emitFormChange:function(){i()},emitFormClick:function(){u()},emitFormChangeWithParams:i,emitFormClickWithParams:u}}const P=Object.freeze({createDefaultRenderCell:function(){return function(e,{row:n,column:t}){return[o("span",null,[n[t.field]])]}},createRenderEdit:function(e){return function({props:n},t){return e({...t,fieldItem:n||{},...F(t)})}},isEditableColumn(e,n){var t;return!1!==(null==(t=e.editConfig)?void 0:t.showIcon)&&n.editRender&&!1!==n.editRender.enabled},hasFilter(e){return s(e)&&(e=i(e||"")),d(e)&&((n=e).notParticipatingSearch!==v.POSITIVE&&"manual"===(null==(t=n.mapping)?void 0:t.type));var n,t}}),R=Object.freeze({isPositive:e=>e===I.POSITIVE||e===v.POSITIVE,isNegative:e=>e===I.NEGATIVE||e===v.NEGATIVE,notPositive:e=>e!==I.POSITIVE&&e!==v.POSITIVE,notNegative:e=>e!==I.NEGATIVE&&e!==v.NEGATIVE}),N=(e,n)=>({$event:t,column:r})=>{var o;if((null==(o=r.editRender)?void 0:o.name)!==e)return!0;const i=null==t?void 0:t.target;return!d(i)||!u(i,n)};function S(e){return[p.TRANSFORM_WITH_SPAN_METHOD,p.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function U(e){return s(e)&&!!e.match(/^###\{[^{}]+}$/)}function V(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}export{P as IhoTableRenderHelper,R as IhoTableStatusHelper,E as IhoTableUtils,h as IhoTableWarn,N as createIhoTableClearActivedInterceptor,g as eventListener2EventName,w as eventName2EventListener,O as getColumnRenderWidth,T as getRowHeight,U as isRichContent,S as isTransformTreeType,V as parseRichContent,F as useIhoTableFormEvent,C as useUUIDMap};