cnhis-design-vue 3.3.1-beta.4 → 3.3.1-beta.44

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 (255) hide show
  1. package/README.md +87 -87
  2. package/es/components/ai-chat/index.d.ts +394 -43
  3. package/es/components/ai-chat/src/Index.vue.d.ts +394 -43
  4. package/es/components/ai-chat/src/Index.vue2.js +1 -1
  5. package/es/components/ai-chat/src/api/index.d.ts +8 -0
  6. package/es/components/ai-chat/src/api/index.js +1 -0
  7. package/es/components/ai-chat/src/components/ChatAudio.vue.d.ts +38 -0
  8. package/es/components/ai-chat/src/components/ChatAudio.vue.js +1 -0
  9. package/es/components/ai-chat/src/components/ChatAudio.vue2.js +1 -0
  10. package/es/components/ai-chat/src/components/ChatBI.vue.d.ts +2 -2
  11. package/es/components/ai-chat/src/components/ChatBI.vue2.js +1 -1
  12. package/es/components/ai-chat/src/components/ChatCard.js +1 -1
  13. package/es/components/ai-chat/src/components/ChatFooter.vue.d.ts +75 -31
  14. package/es/components/ai-chat/src/components/ChatFooter.vue2.js +1 -1
  15. package/es/components/ai-chat/src/components/ChatMain.d.ts +1 -7
  16. package/es/components/ai-chat/src/components/ChatMain.js +1 -1
  17. package/es/components/ai-chat/src/components/ChatMainDefault.d.ts +2 -0
  18. package/es/components/ai-chat/src/components/ChatMainDefault.js +1 -0
  19. package/es/components/ai-chat/src/components/ChatPatient.vue.d.ts +2 -2
  20. package/es/components/ai-chat/src/components/ChatPatient.vue2.js +1 -1
  21. package/es/components/ai-chat/src/components/ChatPrompt.vue.d.ts +2 -2
  22. package/es/components/ai-chat/src/components/ChatPrompt.vue2.js +1 -1
  23. package/es/components/ai-chat/src/components/ChatRight.vue.d.ts +57 -0
  24. package/es/components/ai-chat/src/components/ChatRight.vue.js +1 -0
  25. package/es/components/ai-chat/src/components/ChatRight.vue2.js +1 -0
  26. package/es/components/ai-chat/src/components/card/JsonCard.d.ts +25 -0
  27. package/es/components/ai-chat/src/components/card/JsonCard.js +1 -0
  28. package/es/components/ai-chat/src/components/message-render/CardRender.d.ts +16 -0
  29. package/es/components/ai-chat/src/components/message-render/CardRender.js +1 -0
  30. package/es/components/ai-chat/src/components/message-render/FormRender.d.ts +16 -0
  31. package/es/components/ai-chat/src/components/message-render/FormRender.js +1 -0
  32. package/es/components/ai-chat/src/components/mobile/MobileChatAudio.vue.d.ts +36 -0
  33. package/es/components/ai-chat/src/components/mobile/MobileChatAudio.vue.js +1 -0
  34. package/es/components/ai-chat/src/components/mobile/MobileChatAudio.vue2.js +1 -0
  35. package/es/components/ai-chat/src/components/mobile/MobileChatFooter.vue.d.ts +105 -0
  36. package/es/components/ai-chat/src/components/mobile/MobileChatFooter.vue.js +1 -0
  37. package/es/components/ai-chat/src/components/mobile/MobileChatFooter.vue2.js +1 -0
  38. package/es/components/ai-chat/src/components/svgs/AddIcon.vue.js +1 -0
  39. package/es/components/ai-chat/src/components/svgs/AudioIcon.vue.js +1 -0
  40. package/es/components/ai-chat/src/components/svgs/KeyboardIcon.vue.js +1 -0
  41. package/es/components/ai-chat/src/components/svgs/MicroPhone.vue.js +1 -0
  42. package/es/components/ai-chat/src/hooks/index.d.ts +2 -0
  43. package/es/components/ai-chat/src/hooks/index.js +1 -0
  44. package/es/components/ai-chat/src/hooks/useChartAudioContext.d.ts +18 -0
  45. package/es/components/ai-chat/src/hooks/useChartAudioContext.js +1 -0
  46. package/es/components/ai-chat/src/hooks/useData.d.ts +77 -0
  47. package/es/components/ai-chat/src/hooks/useData.js +1 -0
  48. package/es/components/ai-chat/src/hooks/useFooterContext.d.ts +38 -0
  49. package/es/components/ai-chat/src/hooks/useFooterContext.js +1 -0
  50. package/es/components/ai-chat/src/hooks/useProgram.d.ts +14 -0
  51. package/es/components/ai-chat/src/hooks/useProgram.js +1 -0
  52. package/es/components/ai-chat/src/hooks/useSSE.d.ts +9 -0
  53. package/es/components/ai-chat/src/hooks/useSSE.js +1 -0
  54. package/es/components/ai-chat/src/hooks/useWebsocket.d.ts +4 -0
  55. package/es/components/ai-chat/src/hooks/useWebsocket.js +1 -0
  56. package/es/components/ai-chat/src/types/index.d.ts +1 -3
  57. package/es/components/ai-chat/src/types/index.js +1 -1
  58. package/es/components/ai-chat/src/utils/index.d.ts +6 -0
  59. package/es/components/ai-chat/src/utils/index.js +1 -1
  60. package/es/components/ai-chat/style/index.css +1 -1
  61. package/es/components/audio-sdk/index.d.ts +274 -2
  62. package/es/components/audio-sdk/index.js +1 -1
  63. package/es/components/audio-sdk/src/Index.vue.d.ts +274 -0
  64. package/es/components/audio-sdk/src/Index.vue.js +1 -0
  65. package/es/components/audio-sdk/src/Index.vue2.js +1 -0
  66. package/es/components/audio-sdk/src/audioSDK.d.ts +60 -28
  67. package/es/components/audio-sdk/src/audioSDK.js +1 -1
  68. package/es/components/audio-sdk/src/components/form.vue.d.ts +51 -0
  69. package/es/components/audio-sdk/src/components/recording-modal.vue.d.ts +100 -0
  70. package/es/components/audio-sdk/src/components/recording-modal.vue.js +1 -0
  71. package/es/components/audio-sdk/src/components/recording-modal.vue2.js +1 -0
  72. package/es/components/audio-sdk/src/components/recording.vue.d.ts +53 -4
  73. package/es/components/audio-sdk/src/components/recording.vue2.js +1 -1
  74. package/es/components/audio-sdk/src/utils/index.d.ts +7 -0
  75. package/es/components/audio-sdk/src/utils/index.js +1 -0
  76. package/es/components/audio-sdk/src/utils/recordingModal.d.ts +7 -3
  77. package/es/components/audio-sdk/src/utils/recordingModal.js +1 -1
  78. package/es/components/audio-sdk/style/index.css +1 -1
  79. package/es/components/button-print/index.d.ts +30 -0
  80. package/es/components/button-print/src/ButtonPrint.vue.d.ts +30 -0
  81. package/es/components/button-print/src/ButtonPrint.vue2.js +1 -1
  82. package/es/components/button-print/src/components/NewPrintComponent.vue.d.ts +9 -0
  83. package/es/components/button-print/src/components/NewPrintComponent.vue2.js +1 -1
  84. package/es/components/button-print/src/components/OldPrintComponent.vue.d.ts +9 -0
  85. package/es/components/button-print/src/components/OldPrintComponent.vue2.js +1 -1
  86. package/es/components/button-print/src/utils/print.d.ts +2 -2
  87. package/es/components/button-print/src/utils/print.js +1 -1
  88. package/es/components/calendar/index.d.ts +126 -3
  89. package/es/components/calendar/src/Calendar.vue.d.ts +126 -2
  90. package/es/components/card-reader-sdk/src/cardReaderSDK.d.ts +4 -8
  91. package/es/components/card-reader-sdk/src/cardReaderSDK.js +1 -1
  92. package/es/components/card-render/src/components/Button.vue.d.ts +3 -0
  93. package/es/components/card-render/src/components/Button.vue2.js +1 -1
  94. package/es/components/card-render/src/components/ScaleView.vue.d.ts +39 -0
  95. package/es/components/card-render/src/components/ScaleView.vue.js +1 -0
  96. package/es/components/card-render/src/components/ScaleView.vue2.js +1 -0
  97. package/es/components/card-render/src/components/Table.vue.d.ts +104 -0
  98. package/es/components/card-render/src/components/Table.vue.js +1 -0
  99. package/es/components/card-render/src/components/Table.vue2.js +1 -0
  100. package/es/components/card-render/src/components/Text.vue.d.ts +1 -0
  101. package/es/components/card-render/src/components/Text.vue2.js +1 -1
  102. package/es/components/card-render/src/components/index.d.ts +162 -23
  103. package/es/components/card-render/src/components/index.js +1 -1
  104. package/es/components/card-render/src/constants/index.d.ts +4 -1
  105. package/es/components/card-render/src/constants/index.js +1 -1
  106. package/es/components/card-render/style/index.css +1 -1
  107. package/es/components/classification/src/components/table-modal/index.vue.d.ts +3 -0
  108. package/es/components/editor/src/Editor.js +1 -1
  109. package/es/components/editor/style/index.css +1 -0
  110. package/es/components/fabric-chart/index.d.ts +6 -2
  111. package/es/components/fabric-chart/src/FabricChart.vue.d.ts +6 -2
  112. package/es/components/fabric-chart/src/FabricChart.vue2.js +1 -1
  113. package/es/components/fabric-chart/src/hooks/temperature/useTemperatureChart.js +1 -1
  114. package/es/components/field-set/src/FieldColor.vue.d.ts +1 -1
  115. package/es/components/field-set/src/FieldFilter.vue.d.ts +1 -1
  116. package/es/components/field-set/src/FieldSet.vue.d.ts +1 -1
  117. package/es/components/field-set/src/components/table-row.vue.d.ts +1 -1
  118. package/es/components/form-config/index.d.ts +40 -10
  119. package/es/components/form-config/src/FormConfig.vue.d.ts +40 -10
  120. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +32 -8
  121. package/es/components/form-config/src/components/FormConfigEventSetting.vue.d.ts +8 -2
  122. package/es/components/form-render/src/components/renderer/date.d.ts +2 -2
  123. package/es/components/form-render/src/components/renderer/formItem.d.ts +2 -0
  124. package/es/components/form-render/src/components/renderer/formItem.js +1 -1
  125. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.d.ts +9 -0
  126. package/es/components/form-render/src/components/renderer/levelSearchCascader/index.js +1 -1
  127. package/es/components/form-render/src/components/renderer/lineBar/FormCollapse.vue.d.ts +12 -1
  128. package/es/components/form-render/src/components/renderer/lineBar/index.d.ts +12 -1
  129. package/es/components/form-render/src/components/renderer/searchCascade.js +1 -1
  130. package/es/components/form-render/src/components/renderer/select.js +1 -1
  131. package/es/components/form-render/src/components/tooltipMessage.vue.d.ts +12 -1
  132. package/es/components/form-render/src/components/tooltipMessage.vue2.js +1 -1
  133. package/es/components/form-render/src/hooks/useBusinessBinding.js +1 -1
  134. package/es/components/form-render/src/hooks/useFieldListAdaptor.js +1 -1
  135. package/es/components/form-render/src/hooks/useLowCodeReactions.js +1 -1
  136. package/es/components/form-render/src/types/fieldItem.d.ts +9 -3
  137. package/es/components/guide/src/renderer.d.ts +2 -2
  138. package/es/components/iho-chat/index.d.ts +206 -4
  139. package/es/components/iho-chat/src/Index.vue.d.ts +206 -4
  140. package/es/components/iho-chat/src/api/index.d.ts +1 -0
  141. package/es/components/iho-chat/src/api/index.js +1 -1
  142. package/es/components/iho-chat/src/components/ChatAdd.vue.d.ts +8 -0
  143. package/es/components/iho-chat/src/components/ChatAdd.vue2.js +1 -1
  144. package/es/components/iho-chat/src/components/ChatFile.vue.d.ts +11 -3
  145. package/es/components/iho-chat/src/components/ChatFile.vue2.js +1 -1
  146. package/es/components/iho-chat/src/components/ChatFooter.vue.d.ts +7 -0
  147. package/es/components/iho-chat/src/components/ChatFooter.vue2.js +1 -1
  148. package/es/components/iho-chat/src/components/ChatHeader.vue.d.ts +96 -2
  149. package/es/components/iho-chat/src/components/ChatMain.vue.d.ts +77 -0
  150. package/es/components/iho-chat/src/components/ChatMain.vue2.js +1 -1
  151. package/es/components/iho-chat/src/components/ChatRecord.vue.d.ts +71 -1
  152. package/es/components/iho-chat/src/components/ChatRecord.vue2.js +1 -1
  153. package/es/components/iho-chat/src/components/ChatSearch.vue.d.ts +8 -2
  154. package/es/components/iho-chat/src/components/ChatSearch.vue2.js +1 -1
  155. package/es/components/iho-chat/src/components/ChatSet.vue.d.ts +10 -0
  156. package/es/components/iho-chat/src/components/ChatSet.vue2.js +1 -1
  157. package/es/components/iho-chat/src/components/MessageMergeForward.vue.d.ts +70 -1
  158. package/es/components/iho-chat/src/components/MessageMergeForward.vue2.js +1 -1
  159. package/es/components/iho-chat/src/components/MultipleVideo.vue.d.ts +7 -0
  160. package/es/components/iho-chat/src/components/PersonProfile.vue.d.ts +3 -0
  161. package/es/components/iho-chat/src/components/PersonProfile.vue2.js +1 -1
  162. package/es/components/iho-chat/src/components/SiderList.vue.d.ts +3 -1
  163. package/es/components/iho-chat/src/components/SiderList.vue2.js +1 -1
  164. package/es/components/iho-chat/src/constants/index.d.ts +9 -2
  165. package/es/components/iho-chat/src/constants/index.js +1 -1
  166. package/es/components/iho-chat/src/hooks/useSearchPatientList.d.ts +11 -0
  167. package/es/components/iho-chat/src/hooks/useSearchPatientList.js +1 -0
  168. package/es/components/iho-chat/src/utils/chatSock.js +1 -1
  169. package/es/components/iho-chat/src/utils/index.d.ts +6 -0
  170. package/es/components/iho-chat/src/utils/index.js +1 -1
  171. package/es/components/iho-chat/style/index.css +1 -1
  172. package/es/components/iho-table/index.d.ts +3 -0
  173. package/es/components/iho-table/index.js +1 -1
  174. package/es/components/iho-table/src/IhoTable.vue2.js +1 -1
  175. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +1 -1
  176. package/es/components/iho-table/src/hooks/tapHooks/index.js +1 -1
  177. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +3 -3
  178. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.js +1 -1
  179. package/es/components/iho-table/src/hooks/useTablePlugin.js +1 -1
  180. package/es/components/iho-table/src/plugins/filterRenderPlugin/index.js +1 -1
  181. package/es/components/iho-table/src/plugins/headerPlugin/index.d.ts +1 -1
  182. package/es/components/iho-table/src/plugins/headerPlugin/index.js +1 -1
  183. package/es/components/iho-table/src/plugins/highLightSetPlugin.js +1 -1
  184. package/es/components/iho-table/src/plugins/index.d.ts +79 -3
  185. package/es/components/iho-table/src/plugins/index.js +1 -1
  186. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +1 -1
  187. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +1 -1
  188. package/es/components/iho-table/src/plugins/stickyFixedPlugin.js +1 -1
  189. package/es/components/iho-table/src/plugins/varialbleHeightPlugin.js +1 -1
  190. package/es/components/iho-table/src/plugins/verticalTablePlugin/src/utils.js +1 -1
  191. package/es/components/iho-table/src/types/pluginType.d.ts +2 -2
  192. package/es/components/iho-table/src/utils/index.js +1 -1
  193. package/es/components/index.css +1 -1
  194. package/es/components/index.d.ts +2 -1
  195. package/es/components/index.js +1 -1
  196. package/es/components/scale-view/index.d.ts +17 -3
  197. package/es/components/scale-view/src/ScaleView.vue.d.ts +17 -3
  198. package/es/components/scale-view/src/ScaleView.vue2.js +1 -1
  199. package/es/components/scale-view/src/components/EvaluateCountdown.vue.d.ts +1 -1
  200. package/es/components/scale-view/src/hooks/scaleview-computed.js +1 -1
  201. package/es/components/scale-view/src/hooks/scaleview-init.d.ts +3 -1
  202. package/es/components/scale-view/src/hooks/scaleview-init.js +1 -1
  203. package/es/components/scale-view/src/hooks/scaleview-props.d.ts +4 -0
  204. package/es/components/scale-view/src/hooks/scaleview-props.js +1 -1
  205. package/es/components/scale-view/src/hooks/use-component.d.ts +1 -2189
  206. package/es/components/shortcut-provider/src/ShortcutProvider.vue2.js +1 -1
  207. package/es/components/shortcut-setter/index.d.ts +8 -2
  208. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +8 -2
  209. package/es/components/steps-wheel/index.d.ts +18 -0
  210. package/es/components/steps-wheel/src/StepsWheel.vue.d.ts +18 -0
  211. package/es/components/steps-wheel/src/StepsWheel.vue2.js +1 -1
  212. package/es/env.d.ts +25 -25
  213. package/es/shared/assets/img/ai__avatar.png.js +1 -1
  214. package/es/shared/assets/img/defaultCover/10review_successful.png.js +1 -1
  215. package/es/shared/assets/img/defaultCover/11review_fail.png.js +1 -1
  216. package/es/shared/assets/img/defaultCover/12no_setting.png.js +1 -1
  217. package/es/shared/assets/img/defaultCover/13no_menu_setting.png.js +1 -1
  218. package/es/shared/assets/img/defaultCover/14no_call_setting.png.js +1 -1
  219. package/es/shared/assets/img/defaultCover/15no_use_tag.png.js +1 -1
  220. package/es/shared/assets/img/defaultCover/16no_table_data.png.js +1 -1
  221. package/es/shared/assets/img/defaultCover/1location.png.js +1 -1
  222. package/es/shared/assets/img/defaultCover/2notfound.png.js +1 -1
  223. package/es/shared/assets/img/defaultCover/3loading.png.js +1 -1
  224. package/es/shared/assets/img/defaultCover/4no_permission.png.js +1 -1
  225. package/es/shared/assets/img/defaultCover/5no_data.png.js +1 -1
  226. package/es/shared/assets/img/defaultCover/6no_network.png.js +1 -1
  227. package/es/shared/assets/img/defaultCover/7no_doctor.png.js +1 -1
  228. package/es/shared/assets/img/defaultCover/8system_error.png.js +1 -1
  229. package/es/shared/assets/img/defaultCover/9system_upgrade.png.js +1 -1
  230. package/es/shared/assets/img/failure.png.js +1 -1
  231. package/es/shared/assets/img/file-emr.png.js +1 -0
  232. package/es/shared/assets/img/file.png.js +1 -0
  233. package/es/shared/assets/img/logo.png.js +1 -1
  234. package/es/shared/assets/img/no-permission.png.js +1 -1
  235. package/es/shared/assets/img/nodata.png.js +1 -1
  236. package/es/shared/assets/img/notfound.png.js +1 -1
  237. package/es/shared/assets/img/qr.png.js +1 -1
  238. package/es/shared/assets/img/success.png.js +1 -1
  239. package/es/shared/assets/img/table_style_2.png.js +1 -1
  240. package/es/shared/assets/img/use.png.js +1 -0
  241. package/es/shared/assets/img/video.png.js +1 -1
  242. package/es/shared/assets/img/video_default_cover.png.js +1 -1
  243. package/es/shared/assets/img/xb_big.png.js +1 -1
  244. package/es/shared/assets/img/xb_small.png.js +1 -1
  245. package/es/shared/hooks/useLevelSearchCascader.d.ts +1 -0
  246. package/es/shared/hooks/useLevelSearchCascader.js +1 -1
  247. package/es/shared/package.json.js +1 -1
  248. package/package.json +5 -3
  249. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  250. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  251. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  252. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  253. package/es/shared/components/VueDraggable/src/vuedraggable.d.ts +0 -86
  254. package/es/shared/utils/fabricjs/index.d.ts +0 -6823
  255. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -1 +1 @@
1
- import{arrayed as e}from"../../../../../shared/utils/index.js";import{cloneDeep as o,isArray as t}from"lodash-es";import{unref as r,defineComponent as s}from"vue";import{VxeEventListenerNameList as n}from"../../constants/index.js";import{eventListener2EventName as i,eventName2EventListener as a}from"../../utils/index.js";import{useConfigHooks as l}from"./useConfigHooks.js";import{useDataHooks as f}from"./useDataHooks.js";import{useDomInsertHooks as c}from"./useDomInsertHooks.js";import{useEventHooks as d}from"./useEventHooks.js";import{useExposeHooks as u}from"./useExposeHooks.js";import{useFieldHooks as m}from"./useFieldHooks.js";import{useSetupHooks as p}from"./useSetupHooks.js";const k=(()=>{let e=null;return()=>e||(e=Object.freeze({configHooks:l().create(),fieldHooks:m().create(),eventHooks:d().create(),dataHooks:f().create(),setupHooks:p().create(),domInsertHooks:c().create(),exposeHooks:u().create()}))})();function H(e,t,r){const s=e.configHooks.config.call(o(t),r);return["rowConfig","editConfig","columnConfig","resizableConfig","seqConfig","sortConfig","filterConfig","radioConfig","checkboxConfig","expandConfig","treeConfig","mouseConfig","menuConfig","keyboardConfig","scrollY","scrollX","editRules"].forEach((o=>{s[o]=e.configHooks[o].call(s[o],s,r)})),s}function g(r,s,n,i){r.fieldHooks.fieldStart.promise(n,i);let a=function o(s){return s.reduce(((s,a,l)=>{const f=[],c=[];let d=!1;return a=r.fieldHooks.field.call(a,{index:l,remove(){d=!0},insertAfter(o){c.push(...e(o))},insertBefore(o){f.push(...e(o))}},n,i),s.push(...f),d||(s.push(a),t(a.children)&&(a.children=o(a.children))),s.push(...c),s}),[])}(o(s));return a=r.fieldHooks.fieldList.call(a,n,i),r.fieldHooks.fieldEnd.promise(n,i),a}function h({hooks:e,config:o,$table:t,emits:s,context:l,globProps:f,loading:c,$xeTable:d}){return n.reduce(((n,u)=>(n[u]=n=>function(n,u){var m;const p=i(n);if(!(u=e.eventHooks.beforeEvent.call(u,r(o),{$table:r(t),emits:s,globProps:f,loading:c,$xeTable:d,...l},p)))return;Reflect.get(u,"eventName")?(s(u.eventName,u),n=a(u.eventName)):s(p,u);null==(m=e.eventHooks[n])||m.promise(u,r(o),{$table:r(t),globProps:f,emits:s,loading:c,$xeTable:d,...l})}(u,n),n)),{})}function b(o,t,s){return async n=>{o.dataHooks.dataStart.promise(r(t));let i=await n.reduce((async(n,i,a)=>{const l=[],f=[];let c=!1;await o.dataHooks.data.promise(i,r(t),{index:a,$table:s,insertBefore(o){l.push(...e(o))},insertAfter(o){f.push(...e(o))},remove(){c=!0}});const d=await n;return d.push(...l),!c&&d.push(i),d.push(...f),d}),Promise.resolve([]));return i=o.dataHooks.dataList.call(i,r(t)),o.dataHooks.dataEnd.promise(r(t)),i}}function C(e){return{header:s({name:"IhoTableHeader",render:()=>e.domInsertHooks.header.call([])}),footer:s({name:"IhoTableFooter",render:()=>e.domInsertHooks.footer.call([])})}}export{H as applyTableConfigHooks,g as applyTableFieldHooks,b as createDataTransfer,C as createDomInsertComponent,h as createTableEventHandlers,k as createTableHooks};
1
+ import{arrayed as e}from"../../../../../shared/utils/index.js";import{cloneDeep as o,isArray as t}from"lodash-es";import{unref as r,defineComponent as s}from"vue";import{VxeEventListenerNameList as n}from"../../constants/index.js";import{eventListener2EventName as i,eventName2EventListener as a}from"../../utils/index.js";import{useConfigHooks as l}from"./useConfigHooks.js";import{useDataHooks as f}from"./useDataHooks.js";import{useDomInsertHooks as c}from"./useDomInsertHooks.js";import{useEventHooks as d}from"./useEventHooks.js";import{useExposeHooks as u}from"./useExposeHooks.js";import{useFieldHooks as m}from"./useFieldHooks.js";import{useSetupHooks as p}from"./useSetupHooks.js";const k=(()=>{let e=null;return()=>e||(e=Object.freeze({configHooks:l().create(),fieldHooks:m().create(),eventHooks:d().create(),dataHooks:f().create(),setupHooks:p().create(),domInsertHooks:c().create(),exposeHooks:u().create()}))})();function H(e,t,r){const s=e.configHooks.config.call(o(t),r);return["rowConfig","editConfig","columnConfig","resizableConfig","seqConfig","sortConfig","filterConfig","radioConfig","checkboxConfig","expandConfig","treeConfig","mouseConfig","menuConfig","keyboardConfig","scrollY","scrollX","editRules"].forEach((o=>{s[o]=e.configHooks[o].call(s[o],s,r)})),s}function g(r,s,n,i){r.fieldHooks.fieldStart.promise(n,i);let a=function o(s){return s.reduce(((s,a,l)=>{const f=[],c=[];let d=!1;return a=r.fieldHooks.field.call(a,{index:l,remove(){d=!0},insertAfter(o){c.push(...e(o))},insertBefore(o){f.push(...e(o))}},n,i),s.push(...f),d||(s.push(a),t(a.children)&&(a.children=o(a.children))),s.push(...c),s}),[])}(o(s));return a=r.fieldHooks.fieldList.call(a,n,i),r.fieldHooks.fieldEnd.promise(n,i),a}function h({hooks:e,config:o,$table:t,emits:s,context:l,globProps:f,loading:c,$xeTable:d}){return n.reduce(((n,u)=>(n[u]=n=>function(n,u){var m;const p=i(n);if(!(u=e.eventHooks.beforeEvent.call(u,r(o),{$table:r(t),emits:s,globProps:f,loading:c,$xeTable:d,...l},p)))return;Reflect.get(u,"eventName")?(s(u.eventName,u),n=a(u.eventName)):s(p,u);null==(m=e.eventHooks[n])||m.promise(u,r(o),{$table:r(t),globProps:f,emits:s,loading:c,$xeTable:d,...l})}(u,n),n)),{})}function b(o,t,s){return async n=>{o.dataHooks.dataStart.promise(r(s),r(t));let i=await n.reduce((async(n,i,a)=>{const l=[],f=[];let c=!1;await o.dataHooks.data.promise(i,r(t),{index:a,$table:r(s).$table,insertBefore(o){l.push(...e(o))},insertAfter(o){f.push(...e(o))},remove(){c=!0}});const d=await n;return d.push(...l),!c&&d.push(i),d.push(...f),d}),Promise.resolve([]));return i=o.dataHooks.dataList.call(i,r(t)),o.dataHooks.dataEnd.promise(r(s),r(t)),i}}function C(e){return{header:s({name:"IhoTableHeader",render:()=>e.domInsertHooks.header.call([])}),footer:s({name:"IhoTableFooter",render:()=>e.domInsertHooks.footer.call([])})}}export{H as applyTableConfigHooks,g as applyTableFieldHooks,b as createDataTransfer,C as createDomInsertComponent,h as createTableEventHandlers,k as createTableHooks};
@@ -1,8 +1,8 @@
1
1
  import { AnyObject } from '../../../../../shared/types';
2
2
  import { AsyncParallelHook, AsyncSeriesHook, SyncWaterfallHook } from '../../../../../shared/utils/tapable';
3
- import { AbstractDataHooks } from '../../../../../components/iho-table/src/types';
3
+ import { AbstractDataHooks, IhoTableHandlerContext } from '../../../../../components/iho-table/src/types';
4
4
  declare class TableDataHooks extends AbstractDataHooks {
5
- readonly dataStart: AsyncParallelHook<[import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
5
+ readonly dataStart: AsyncParallelHook<[IhoTableHandlerContext, import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
6
6
  readonly data: AsyncSeriesHook<[AnyObject, import("../../../../../components/iho-table/src/types").IhoTableConfig, {
7
7
  remove(): void;
8
8
  $table: import("@vueuse/shared").MaybeRef<import("../../../../../shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
@@ -10,7 +10,7 @@ declare class TableDataHooks extends AbstractDataHooks {
10
10
  insertBefore(data: import("../../../../../shared/types").ArrayAble<AnyObject>): void;
11
11
  insertAfter(data: import("../../../../../shared/types").ArrayAble<AnyObject>): void;
12
12
  }], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
13
- readonly dataEnd: AsyncParallelHook<[import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
13
+ readonly dataEnd: AsyncParallelHook<[IhoTableHandlerContext, import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
14
14
  readonly dataList: SyncWaterfallHook<[AnyObject[], import("../../../../../components/iho-table/src/types").IhoTableConfig], import("../../../../../shared/utils/tapable").UnsetAdditionalOptions>;
15
15
  }
16
16
  export declare function useDataHooks(): {
@@ -1 +1 @@
1
- import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import t from"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import a from"../../../../../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 o}from"../../types/pluginType.js";class e extends o{constructor(){super(...arguments),this.dataStart=new a(["config"]),this.data=new s(["rowData","context","config"]),this.dataEnd=new a(["config"]),this.dataList=new t(["dataList","config"])}}function r(){return{create:function(){return new e}}}export{r as useDataHooks};
1
+ import"../../../../../shared/utils/tapable/SyncHook.js";import"../../../../../shared/utils/tapable/SyncBailHook.js";import t from"../../../../../shared/utils/tapable/SyncWaterfallHook.js";import"../../../../../shared/utils/tapable/SyncLoopHook.js";import a from"../../../../../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 o}from"../../types/pluginType.js";class e extends o{constructor(){super(...arguments),this.dataStart=new a(["config","context"]),this.data=new s(["rowData","context","config"]),this.dataEnd=new a(["config","context"]),this.dataList=new t(["dataList","config"])}}function r(){return{create:function(){return new e}}}export{r as useDataHooks};
@@ -1 +1 @@
1
- import{arrayed as o}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import{createTableHooks as t}from"./tapHooks/index.js";function n(){const n=t();return{use:function t(e,s){return o(e).forEach((({vxe:o,apply:t})=>{r(o)&&o(s),r(t)&&t(n)})),{use:t}}}}function e(o){return o}export{e as defineTablePlugin,n as useTablePlugin};
1
+ import{arrayed as o}from"../../../../shared/utils/index.js";import{isFunction as r}from"lodash-es";import{createTableHooks as e}from"./tapHooks/index.js";function n(){const n=e(),t=new Set;return{use:function e(s,i){return o(s).forEach((({name:o,vxe:e,apply:s})=>{t.has(o)||(t.add(o),r(e)&&e(i),r(s)&&s(n))})),{use:e}}}}function t(o){return o}export{t as defineTablePlugin,n as useTablePlugin};
@@ -1 +1 @@
1
- import{createVNode as e}from"vue";import{jsonParse as l,arrayed as i}from"../../../../../shared/utils/index.js";import{isObject as t}from"@vue/shared";import{promiseTimeout as r}from"@vueuse/shared";import{isArray as o,isString as n,first as u,findLastIndex as d}from"lodash-es";import"../../../index.js";import{useUUIDMap as s,IhoTableRenderHelper as a,isCompatibleColumn as f,createIhoTableFilterMethod as v}from"../../utils/index.js";import c from"./filter.vue.js";import{defineTablePlugin as p}from"../../hooks/useTablePlugin.js";function m(){const m="filterRenderPlugin";return p({name:m,vxe(l){l.renderer.mixin({[m]:{showFilterFooter:!1,renderFilter:(l,i)=>e(c,{payload:i,key:i.column.field},null)}})},apply(e){const{getItemFromUUID:c,setItemFromUUID:p,removeItemFromUUID:g}=s((()=>[]),!1);e.fieldHooks.field.tap(m,((e,i,r,{$table:d})=>{var s,c,p,h,g,b,k,y,F,x;const R=null==(s=e.editRender)?void 0:s.props;if(!t(R))return e;if(!a.hasOptionFilter(R))return e;e.editRender={...e.editRender,props:{...null==(c=e.editRender)?void 0:c.props,sortable:e.sortable}},e.filterRender={name:m};const j=null==(p=d.value)?void 0:p.getColumnByField(e.field),C={};let O;if(j&&o(j.filters)&&j.filters.forEach((e=>{e&&(C[`${e.label}_${e.value}`]=e.checked)})),f(R))O=null!=(h=R.options)?h:[];else{const e=null==(b=null==(g=R.settingObj)?void 0:g.showSetting)?void 0:b.reduce(((e,l)=>{var i,t,r;return l&&l.change_text&&null!=(null==(t=null==(i=l.filter)?void 0:i[0])?void 0:t.value)&&e.push({label:l.change_text,value:l.filter[0].value,data:null!=(r=l.filter[0].keyword)?r:l.filter[0].value}),e}),[]);if(null==e?void 0:e.length)O=e;else{O=null!=(F=null==(y=null==(k=(t(R.fieldSetting)?R.fieldSetting:n(R.fieldSetting)?l(R.fieldSetting||""):{}).mapping)?void 0:k.mappingFiled)?void 0:y.reduce(((e,l)=>{var i;const r=u(l.value);return t(r)&&e.push({label:l.key||r.key,value:r.value,data:null!=(i=r.keyword)?i:r.value}),e}),[]))?F:[]}}if(e.filters=O.reduce(((e,l)=>(t(l)&&e.push({...l,checked:!!C[`${l.label}_${l.value}`]}),e)),[]),!e.filterMethod){const l=null==(x=r.treeConfig)?void 0:x.children;e.filterMethod=v(l)}return r.filterConfig={iconMatch:"iho-table--iconfont iho-table-icon-filter",iconNone:"iho-table--iconfont iho-table-icon-filter",...r.filterConfig},e})),e.fieldHooks.fieldList.tap(m,((e,l)=>l.uuid?(p(l.uuid,e),e):e)),e.fieldHooks.fieldEnd.tapPromise(m,(async(e,{$table:l})=>{var i;try{if(!l.value||!e.uuid)return;const t=c(e.uuid);if(null==(i=e.sortConfig)?void 0:i.multiple){const e=t.reduce(((e,i)=>{var t;const r=null==(t=i.editRender)?void 0:t.props;if(!i.sortable)return e;if(r&&h(r.isOrder)){const t=l.value.getColumnByField(i.field);e.push({field:i.field,order:(null==t?void 0:t.order)?t.order:r.isOrder})}return e}),[]);if(!e.length)return;await r(200),await l.value.sort(e)}else d(t,(e=>{var i;const t=null==(i=e.editRender)?void 0:i.props;if(t&&h(t.isOrder))return e&&l.value.sort(e.field,t.isOrder),!0}))}finally{e.uuid&&g(e.uuid)}})),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||!o(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};
1
+ import{createVNode as e,onBeforeUnmount as l}from"vue";import{jsonParse as t,arrayed as i}from"../../../../../shared/utils/index.js";import{isObject as r}from"@vue/shared";import{isArray as o,isString as n,first as u,findLastIndex as d}from"lodash-es";import"../../../index.js";import{useUUIDMap as a,IhoTableRenderHelper as s,isCompatibleColumn as f,createIhoTableFilterMethod as v}from"../../utils/index.js";import c from"./filter.vue.js";import{defineTablePlugin as p}from"../../hooks/useTablePlugin.js";function m(){const m="filterRenderPlugin";return p({name:m,vxe(l){l.renderer.mixin({[m]:{showFilterFooter:!1,renderFilter:(l,t)=>e(c,{payload:t,key:t.column.field},null)}})},apply(e){const{getItemFromUUID:c,setItemFromUUID:p,removeItemFromUUID:g}=a((()=>[]),!1);e.fieldHooks.field.tap(m,((e,l,i,{$table:d})=>{var a,c,p,h,g,b,k,F,x,y;const O=null==(a=e.editRender)?void 0:a.props;if(!r(O))return e;if(!s.hasOptionFilter(O))return e;e.editRender={...e.editRender,props:{...null==(c=e.editRender)?void 0:c.props,sortable:e.sortable}},e.filterRender={name:m};const R=null==(p=d.value)?void 0:p.getColumnByField(e.field),$={};let j;if(R&&o(R.filters)&&R.filters.forEach((e=>{e&&($[`${e.label}_${e.value}`]=e.checked)})),f(O))j=null!=(h=O.options)?h:[];else{const e=null==(b=null==(g=O.settingObj)?void 0:g.showSetting)?void 0:b.reduce(((e,l)=>{var t,i,r;return l&&l.change_text&&null!=(null==(i=null==(t=l.filter)?void 0:t[0])?void 0:i.value)&&e.push({label:l.change_text,value:l.filter[0].value,data:null!=(r=l.filter[0].keyword)?r:l.filter[0].value}),e}),[]);if(null==e?void 0:e.length)j=e;else{j=null!=(x=null==(F=null==(k=(r(O.fieldSetting)?O.fieldSetting:n(O.fieldSetting)?t(O.fieldSetting||""):{}).mapping)?void 0:k.mappingFiled)?void 0:F.reduce(((e,l)=>{var t;const i=u(l.value);return r(i)&&e.push({label:l.key||i.key,value:i.value,data:null!=(t=i.keyword)?t:i.value}),e}),[]))?x:[]}}if(e.filters=j.reduce(((e,l)=>(r(l)&&e.push({...l,checked:!!$[`${l.label}_${l.value}`]}),e)),[]),!e.filterMethod){const l=null==(y=i.treeConfig)?void 0:y.children;e.filterMethod=v(l)}return i.filterConfig={iconMatch:"iho-table--iconfont iho-table-icon-filter",iconNone:"iho-table--iconfont iho-table-icon-filter",...i.filterConfig},e})),e.fieldHooks.fieldList.tap(m,((e,l)=>l.uuid?(p(l.uuid,e),e):e)),e.dataHooks.dataEnd.tapPromise(m,(async({$xeTable:e,$table:l},t)=>{var i;if(!l.value||!t.uuid)return;const r=c(t.uuid);if(null==(i=t.sortConfig)?void 0:i.multiple){const e=r.reduce(((e,t)=>{var i;const r=null==(i=t.editRender)?void 0:i.props;if(!t.sortable)return e;if(r&&h(r.isOrder)){const i=l.value.getColumnByField(t.field);(null==i?void 0:i.order)!==r.isOrder&&e.push({field:t.field,order:(null==i?void 0:i.order)?i.order:r.isOrder})}return e}),[]);if(!e.length)return;await l.value.sort(e)}else d(r,(e=>{var t;const i=null==(t=e.editRender)?void 0:t.props;if(i&&h(i.isOrder))return!l.value.isSort(i.field)&&l.value.sort(e.field,i.isOrder),!0}))})),e.setupHooks.setup.tap(m,((e,t)=>{l((()=>{e.value.uuid&&g(e.value.uuid)}))})),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||!o(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};
@@ -1 +1 @@
1
- export default function HeaderPlugin(): import("../../../../../components/iho-table").TablePlugin;
1
+ export declare function HeaderPlugin(): import("../../../../../components/iho-table").TablePlugin;
@@ -1 +1 @@
1
- import{useAttrs as e,onBeforeUnmount as l,inject as t,createVNode as o,mergeProps as n}from"vue";import{arrayed as i,widthAppend as r}from"../../../../../shared/utils/index.js";import{CodeSlash as s}from"@vicons/ionicons5";import{isObject as a,isString as u,isFunction as d}from"lodash-es";import c from"../../../../annotation-edit/index.js";import"../../../index.js";import{InjectionIhoTableAnnotation as m,InjectionIhoTableConfig as v,InjectionIhoTableXeInstance as f,InjectionIhoTableGlobProps as h}from"../../constants/index.js";import{getLowCodeFieldFromField as p,IhoTableRenderHelper as b}from"../../utils/index.js";import x from"./tooltipMessage.vue.js";import{defineTablePlugin as w}from"../../hooks/useTablePlugin.js";function g(){const g="headerPlugin";return w({name:g,apply(w){let j=null;w.setupHooks.setup.tap(g,(()=>{j=e(),l((()=>{j=null}))})),w.fieldHooks.field.tap(g,((e,l,w)=>{var g;const O=null==(g=e.slots)?void 0:g.header;return e.slots={...e.slots,header:l=>function(e,l,p){var w;const g=t(m),O=t(v),D=t("$xetable"),H=t(f);H&&!(null==H?void 0:H.value)&&(H.value=D);const M=null!=e.column.showHeaderOverflow?0!=e.column.showHeaderOverflow:0!=O.value.showHeaderOverflow,W=e.column||{},y=a(null==g?void 0:g.value)&&!1!==l.annotation,k=b.isEditableColumn(O.value,W),P=b.hasFilter(l),$=b.hasTitlePrefix(e.column),C=u(p)?p:d(p)?p(e):null;let R=null==(w=l.settingObj)?void 0:w.fieldDescDev;if(u(R)&&R){const e=t(h);R=(null==e?void 0:e.developMode)?R:""}let S=!1;if(O.value){const e=O.value.editRules&&O.value.editRules[W.field];e&&(S=i(e).some((e=>e.required)))}const T=O.value.border?Math.max(2,Math.ceil(D.reactData.scrollbarWidth/D.reactData.tableColumn.length)):1,V=r(Math.max(0,W.renderWidth-20-T-(S?14:0)-(y?18:0)-(P?23:0)-(k?22:0)-($?20:0)-(W.sortable?23:0)-(R?20:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:V}},[null!=C?C:o("div",n({style:M?{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{maxWidth:"100%"}},function(){var e;const t=null==(e=l.settingObj)?void 0:e.fieldDescribe;return t?{title:`${W.title}\n${t}`}:{}}()),[function(){const e=W.title,l=/\\n|\n|\r/g;if(!l.test(e))return e;const t=e.replace(l,"<br>").split("<br>");return t.map(((e,l)=>[e,l===t.length-1?null:o("br",null,null)]))}()])]),R?o(x,{message:R},{trigger:()=>o(s,{style:"width:14px"},null)}):null,y?o(c,{modelValue:g.value[W.field],"onUpdate:modelValue":e=>g.value[W.field]=e,shortcuts:j&&(j["annotation-shortcuts"]||j.annotationShortcuts)||[]},null):null])}(l,p(e),O)},e}))}})}export{g as default};
1
+ import{useAttrs as e,onBeforeUnmount as l,inject as t,createVNode as o,mergeProps as n}from"vue";import{arrayed as i,widthAppend as r}from"../../../../../shared/utils/index.js";import{CodeSlash as s}from"@vicons/ionicons5";import{isObject as a,isString as u,isFunction as d}from"lodash-es";import c from"../../../../annotation-edit/index.js";import"../../../index.js";import{InjectionIhoTableAnnotation as m,InjectionIhoTableConfig as v,InjectionIhoTableXeInstance as f,InjectionIhoTableGlobProps as h}from"../../constants/index.js";import{getLowCodeFieldFromField as p,IhoTableRenderHelper as b}from"../../utils/index.js";import x from"./tooltipMessage.vue.js";import{defineTablePlugin as w}from"../../hooks/useTablePlugin.js";function g(){const g="headerPlugin";return w({name:g,apply(w){let j=null;w.setupHooks.setup.tap(g,(()=>{j=e(),l((()=>{j=null}))})),w.fieldHooks.field.tap(g,((e,l,w)=>{var g;const O=null==(g=e.slots)?void 0:g.header;return e.slots={...e.slots,header:l=>function(e,l,p){var w;const g=t(m),O=t(v),D=t("$xetable"),H=t(f);H&&!(null==H?void 0:H.value)&&(H.value=D);const M=null!=e.column.showHeaderOverflow?0!=e.column.showHeaderOverflow:0!=O.value.showHeaderOverflow,W=e.column||{},y=a(null==g?void 0:g.value)&&!1!==l.annotation,k=b.isEditableColumn(O.value,W),P=b.hasFilter(l),$=b.hasTitlePrefix(e.column),C=u(p)?p:d(p)?p(e):null;let R=null==(w=l.settingObj)?void 0:w.fieldDescDev;if(u(R)&&R){const e=t(h);R=(null==e?void 0:e.developMode)?R:""}let S=!1;if(O.value){const e=O.value.editRules&&O.value.editRules[W.field];e&&(S=i(e).some((e=>e.required)))}const T=O.value.border?Math.max(2,Math.ceil(D.reactData.scrollbarWidth/D.reactData.tableColumn.length)):1,V=r(Math.max(0,W.renderWidth-20-T-(S?14:0)-(y?18:0)-(P?23:0)-(k?22:0)-($?20:0)-(W.sortable?23:0)-(R?20:0)));return o("section",{class:"iho-table__headerWrapper"},[o("section",{style:{width:V}},[null!=C?C:o("div",n({style:M?{maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{maxWidth:"100%"}},function(){var e;const t=null==(e=l.settingObj)?void 0:e.fieldDescribe;return t?{title:`${W.title}\n${t}`}:{}}()),[function(){const e=W.title,l=/\\n|\n|\r/g;if(!l.test(e))return e;const t=e.replace(l,"<br>").split("<br>");return t.map(((e,l)=>[e,l===t.length-1?null:o("br",null,null)]))}()])]),R?o(x,{message:R},{trigger:()=>o(s,{style:"width:14px"},null)}):null,y?o(c,{modelValue:g.value[W.field],"onUpdate:modelValue":e=>g.value[W.field]=e,shortcuts:j&&(j["annotation-shortcuts"]||j.annotationShortcuts)||[]},null):null])}(l,p(e),O)},e}))}})}export{g as HeaderPlugin};
@@ -1 +1 @@
1
- import{traverse as o,hex2rgba as r}from"../../../../shared/utils/index.js";import{isFunction as t}from"lodash-es";import"../../index.js";import{useUUIDMap as e,mergeVxeClass as i}from"../utils/index.js";import{defineTablePlugin as n}from"../hooks/useTablePlugin.js";function s(){const s="highLightSetPlugin",{getItemFromUUID:u,removeItemFromUUID:l,setItemFromUUID:a}=e((()=>!1));return n({name:s,apply(e){e.dataHooks.data.tapPromise(s,(async(r,t)=>{if(!t.uuid||u(t.uuid))return;let e=!1;o(r,((o,r)=>{(o.rowColor||o.fontColor)&&(e=!0,r())}),["children","childrenList"]),e&&a(t.uuid,!0)})),e.dataHooks.dataEnd.tap(s,(o=>{if(!o.uuid||!u(o.uuid))return;const e=o.rowStyle;o.rowStyle=function(o){if(o.row.rowColor||o.row.fontColor){const[i,n,s,u]=r(o.row.rowColor||"",.2),l={"--row-background-color":`rgba(${i}, ${n}, ${s}, ${u})`,color:o.row.fontColor};return t(e)?Object.assign(l,e(o)):l}return t(e)?e(o):null};const n=o.rowClassName;o.rowClassName=i((o=>o.row.rowColor?"row--custom":null),n),l(o.uuid)}))}})}export{s as highLightSetPlugin};
1
+ import{traverse as o,hex2rgba as r}from"../../../../shared/utils/index.js";import{isFunction as t}from"lodash-es";import"../../index.js";import{useUUIDMap as e,mergeVxeClass as i}from"../utils/index.js";import{defineTablePlugin as n}from"../hooks/useTablePlugin.js";function s(){const s="highLightSetPlugin",{getItemFromUUID:u,removeItemFromUUID:l,setItemFromUUID:a}=e((()=>!1));return n({name:s,apply(e){e.dataHooks.data.tapPromise(s,(async(r,t)=>{if(!t.uuid||u(t.uuid))return;let e=!1;o(r,((o,r)=>{(o.rowColor||o.fontColor)&&(e=!0,r())}),["children","childrenList"]),e&&a(t.uuid,!0)})),e.dataHooks.dataEnd.tap(s,((o,e)=>{if(!e.uuid||!u(e.uuid))return;const n=e.rowStyle;e.rowStyle=function(o){if(o.row.rowColor||o.row.fontColor){const[e,i,s,u]=r(o.row.rowColor||"",.2),l={"--row-background-color":`rgba(${e}, ${i}, ${s}, ${u})`,color:o.row.fontColor};return t(n)?Object.assign(l,n(o)):l}return t(n)?n(o):null};const s=e.rowClassName;e.rowClassName=i((o=>o.row.rowColor?"row--custom":null),s),l(e.uuid)}))}})}export{s as highLightSetPlugin};
@@ -1,3 +1,79 @@
1
- import { TablePlugin } from '../../../../components/iho-table';
2
- declare const _default: Record<string, () => TablePlugin>;
3
- export default _default;
1
+ import { anchorPlugin } from './anchorPlugin/index';
2
+ import { bindEventSettingPlugin } from './bindEventSettingPlugin';
3
+ import { colorAndIconPlugin } from './colorAndIconPlugin';
4
+ import { copyPastePlugin } from './copyPastePlugin';
5
+ import { crossHeaderPlugin } from './crossHeaderPlugin';
6
+ import { defaultConfigPlugin } from './defaultConfigPlugin';
7
+ import { defaultValuePlugin } from './defaultValuePlugin';
8
+ import { dragScrollPlugin } from './dragScrollPlugin';
9
+ import { dynamicFilterRenderPlugin } from './dynamicFilterRenderPlugin/index';
10
+ import { filterDaterangeRenderPlugin } from './filterDaterangeRenderPlugin/index';
11
+ import { filterRemoteSearchPlugin } from './filterRemoteSearchPlugin/index';
12
+ import { filterRenderPlugin } from './filterRenderPlugin/index';
13
+ import { filterTextRenderPlugin } from './filterTextPlugin/index';
14
+ import { filterVisibleEventPlugin } from './filterVisibleEventPlugin';
15
+ import { forceArrowKeyPlugin } from './forceArrowKeyPlugin';
16
+ import { HeaderPlugin } from './headerPlugin/index';
17
+ import { highLightSetPlugin } from './highLightSetPlugin';
18
+ import { keyboardEventPlugin } from './keyboardEventPlugin';
19
+ import { lowCodeFieldAdaptorPlugin } from './lowCodeFieldAdaptorPlugin';
20
+ import { maxCheckSizePlugin } from './maxCheckSizePlugin';
21
+ import { operationalFormPlugin } from './operationalFormPlugin';
22
+ import { pagerScrollPlugin } from './pagerScrollPlugin/index';
23
+ import { rowClickPlugin } from './rowClickPlugin';
24
+ import { rowDragPlugin } from './rowDragPlugin';
25
+ import { rowGroupSettingPlugin } from './rowGroupSettingPlugin/index';
26
+ import { stickyFixedPlugin } from './stickyFixedPlugin';
27
+ import { variableHeightRendererPlugin } from './varialbleHeightPlugin';
28
+ import { verticalTablePlugin } from './verticalTablePlugin/index';
29
+ import { virtualTreePlugin } from './virtualTreePlugin';
30
+ import { wordbookSettingPlugin } from './wordbookSettingPlugin';
31
+ export { dateRendererPlugin } from './rendererPlugins/editableWidgets/dateRendererPlugin/index';
32
+ export { inputRendererPlugin } from './rendererPlugins/editableWidgets/inputRendererPlugin';
33
+ export { levelSearchCascadePlugin } from './rendererPlugins/editableWidgets/levelSearchCascadePlugin/index';
34
+ export { numberRendererPlugin } from './rendererPlugins/editableWidgets/numberRendererPlugin';
35
+ export { radioRendererPlugin } from './rendererPlugins/editableWidgets/radioRendererPlugin';
36
+ export { selectRendererPlugin } from './rendererPlugins/editableWidgets/selectRendererPlugin/index';
37
+ export { separateRendererPlugins } from './rendererPlugins/editableWidgets/separateRendererPlugin/index';
38
+ export { switchRendererPlugin } from './rendererPlugins/editableWidgets/switchRendererPlugin';
39
+ export { timeRendererPlugin } from './rendererPlugins/editableWidgets/timeRendererPlugin/index';
40
+ export { checkRendererPlugin } from './rendererPlugins/widgets/checkRendererPlugin';
41
+ export { colorRendererPlugin } from './rendererPlugins/widgets/colorRendererPlugin';
42
+ export { defaultRendererPlugin } from './rendererPlugins/widgets/defaultRendererPlugin';
43
+ export { htmlRendererPlugin } from './rendererPlugins/widgets/htmlRendererPlugin';
44
+ export { labelRendererPlugin } from './rendererPlugins/widgets/labelRendererPlugin';
45
+ export { pictureRendererPlugin } from './rendererPlugins/widgets/pictureRendererPlugin';
46
+ export { seqRendererPlugin } from './rendererPlugins/widgets/seqRendererPlugin';
47
+ export declare const commonModules: {
48
+ anchorPlugin: typeof anchorPlugin;
49
+ bindEventSettingPlugin: typeof bindEventSettingPlugin;
50
+ colorAndIconPlugin: typeof colorAndIconPlugin;
51
+ copyPastePlugin: typeof copyPastePlugin;
52
+ crossHeaderPlugin: typeof crossHeaderPlugin;
53
+ defaultConfigPlugin: typeof defaultConfigPlugin;
54
+ defaultValuePlugin: typeof defaultValuePlugin;
55
+ dragScrollPlugin: typeof dragScrollPlugin;
56
+ dynamicFilterRenderPlugin: typeof dynamicFilterRenderPlugin;
57
+ filterDaterangeRenderPlugin: typeof filterDaterangeRenderPlugin;
58
+ filterRemoteSearchPlugin: typeof filterRemoteSearchPlugin;
59
+ filterRenderPlugin: typeof filterRenderPlugin;
60
+ filterTextRenderPlugin: typeof filterTextRenderPlugin;
61
+ filterVisibleEventPlugin: typeof filterVisibleEventPlugin;
62
+ forceArrowKeyPlugin: typeof forceArrowKeyPlugin;
63
+ HeaderPlugin: typeof HeaderPlugin;
64
+ highLightSetPlugin: typeof highLightSetPlugin;
65
+ keyboardEventPlugin: typeof keyboardEventPlugin;
66
+ lowCodeFieldAdaptorPlugin: typeof lowCodeFieldAdaptorPlugin;
67
+ maxCheckSizePlugin: typeof maxCheckSizePlugin;
68
+ operationalFormPlugin: typeof operationalFormPlugin;
69
+ pagerScrollPlugin: typeof pagerScrollPlugin;
70
+ rowClickPlugin: typeof rowClickPlugin;
71
+ rowDragPlugin: typeof rowDragPlugin;
72
+ rowGroupSettingPlugin: typeof rowGroupSettingPlugin;
73
+ stickyFixedPlugin: typeof stickyFixedPlugin;
74
+ variableHeightRendererPlugin: typeof variableHeightRendererPlugin;
75
+ verticalTablePlugin: typeof verticalTablePlugin;
76
+ virtualTreePlugin: typeof virtualTreePlugin;
77
+ wordbookSettingPlugin: typeof wordbookSettingPlugin;
78
+ };
79
+ export default commonModules;
@@ -1 +1 @@
1
- import*as e from"./anchorPlugin/index.js";import*as r from"./bindEventSettingPlugin.js";import*as i from"./colorAndIconPlugin.js";import*as n from"./copyPastePlugin.js";import*as s from"./crossHeaderPlugin.js";import*as t from"./defaultConfigPlugin.js";import*as l from"./defaultValuePlugin.js";import*as d from"./dragScrollPlugin.js";import*as g from"./dynamicFilterRenderPlugin/index.js";import*as o from"./filterDaterangeRenderPlugin/index.js";import*as u from"./filterRemoteSearchPlugin/index.js";import*as a from"./filterRenderPlugin/index.js";import*as P from"./filterTextPlugin/index.js";import*as m from"./filterVisibleEventPlugin.js";import*as f from"./forceArrowKeyPlugin.js";import*as x from"./headerPlugin/index.js";import*as p from"./highLightSetPlugin.js";import*as j from"./keyboardEventPlugin.js";import*as c from"./lowCodeFieldAdaptorPlugin.js";import*as R from"./maxCheckSizePlugin.js";import*as b from"./operationalFormPlugin.js";import*as w from"./pagerScrollPlugin/index.js";import*as h from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";import*as S from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";import*as W from"./rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.js";import*as v from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";import*as k from"./rendererPlugins/editableWidgets/radioRendererPlugin.js";import*as y from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";import*as C from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";import*as F from"./rendererPlugins/editableWidgets/switchRendererPlugin.js";import*as A from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";import*as E from"./rendererPlugins/widgets/checkRendererPlugin.js";import*as T from"./rendererPlugins/widgets/colorRendererPlugin.js";import*as D from"./rendererPlugins/widgets/defaultRendererPlugin.js";import*as H from"./rendererPlugins/widgets/htmlRendererPlugin.js";import*as V from"./rendererPlugins/widgets/labelRendererPlugin.js";import*as q from"./rendererPlugins/widgets/pictureRendererPlugin.js";import*as z from"./rendererPlugins/widgets/seqRendererPlugin.js";import*as G from"./rowClickPlugin.js";import*as I from"./rowDragPlugin.js";import*as K from"./rowGroupSettingPlugin/index.js";import*as L from"./stickyFixedPlugin.js";import*as O from"./varialbleHeightPlugin.js";import*as B from"./verticalTablePlugin/index.js";import*as J from"./virtualTreePlugin.js";import*as M from"./wordbookSettingPlugin.js";import{separateMetaModule as N}from"../../../../shared/utils/index.js";var Q=N(Object.assign({"./anchorPlugin/index.tsx":e,"./bindEventSettingPlugin.ts":r,"./colorAndIconPlugin.ts":i,"./copyPastePlugin.ts":n,"./crossHeaderPlugin.ts":s,"./defaultConfigPlugin.ts":t,"./defaultValuePlugin.ts":l,"./dragScrollPlugin.ts":d,"./dynamicFilterRenderPlugin/index.tsx":g,"./filterDaterangeRenderPlugin/index.tsx":o,"./filterRemoteSearchPlugin/index.tsx":u,"./filterRenderPlugin/index.tsx":a,"./filterTextPlugin/index.tsx":P,"./filterVisibleEventPlugin.ts":m,"./forceArrowKeyPlugin.ts":f,"./headerPlugin/index.tsx":x,"./highLightSetPlugin.tsx":p,"./keyboardEventPlugin.ts":j,"./lowCodeFieldAdaptorPlugin.tsx":c,"./maxCheckSizePlugin.ts":R,"./operationalFormPlugin.ts":b,"./pagerScrollPlugin/index.ts":w,"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx":h,"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx":S,"./rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.tsx":W,"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx":v,"./rendererPlugins/editableWidgets/radioRendererPlugin.tsx":k,"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx":y,"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx":C,"./rendererPlugins/editableWidgets/switchRendererPlugin.tsx":F,"./rendererPlugins/editableWidgets/timeRendererPlugin/index.tsx":A,"./rendererPlugins/widgets/checkRendererPlugin.tsx":E,"./rendererPlugins/widgets/colorRendererPlugin.tsx":T,"./rendererPlugins/widgets/defaultRendererPlugin.tsx":D,"./rendererPlugins/widgets/htmlRendererPlugin.tsx":H,"./rendererPlugins/widgets/labelRendererPlugin.tsx":V,"./rendererPlugins/widgets/pictureRendererPlugin.tsx":q,"./rendererPlugins/widgets/seqRendererPlugin.tsx":z,"./rowClickPlugin.ts":G,"./rowDragPlugin.ts":I,"./rowGroupSettingPlugin/index.ts":K,"./stickyFixedPlugin.tsx":L,"./varialbleHeightPlugin.tsx":O,"./verticalTablePlugin/index.ts":B,"./virtualTreePlugin.ts":J,"./wordbookSettingPlugin.ts":M}));export{Q as default};
1
+ import{anchorPlugin as e}from"./anchorPlugin/index.js";import{bindEventSettingPlugin as r}from"./bindEventSettingPlugin.js";import{colorAndIconPlugin as i}from"./colorAndIconPlugin.js";import{copyPastePlugin as n}from"./copyPastePlugin.js";import{crossHeaderPlugin as l}from"./crossHeaderPlugin.js";import{defaultConfigPlugin as o}from"./defaultConfigPlugin.js";import{defaultValuePlugin as t}from"./defaultValuePlugin.js";import{dragScrollPlugin as g}from"./dragScrollPlugin.js";import{dynamicFilterRenderPlugin as d}from"./dynamicFilterRenderPlugin/index.js";import{filterDaterangeRenderPlugin as u}from"./filterDaterangeRenderPlugin/index.js";import{filterRemoteSearchPlugin as P}from"./filterRemoteSearchPlugin/index.js";import{filterRenderPlugin as s}from"./filterRenderPlugin/index.js";import{filterTextRenderPlugin as m}from"./filterTextPlugin/index.js";import{filterVisibleEventPlugin as a}from"./filterVisibleEventPlugin.js";import{forceArrowKeyPlugin as f}from"./forceArrowKeyPlugin.js";import{HeaderPlugin as p}from"./headerPlugin/index.js";import{highLightSetPlugin as j}from"./highLightSetPlugin.js";import{keyboardEventPlugin as c}from"./keyboardEventPlugin.js";import{lowCodeFieldAdaptorPlugin as R}from"./lowCodeFieldAdaptorPlugin.js";import{maxCheckSizePlugin as x}from"./maxCheckSizePlugin.js";import{operationalFormPlugin as b}from"./operationalFormPlugin.js";import{pagerScrollPlugin as h}from"./pagerScrollPlugin/index.js";import{rowClickPlugin as w}from"./rowClickPlugin.js";import{rowDragPlugin as S}from"./rowDragPlugin.js";import{rowGroupSettingPlugin as v}from"./rowGroupSettingPlugin/index.js";import{stickyFixedPlugin as k}from"./stickyFixedPlugin.js";import{variableHeightRendererPlugin as y}from"./varialbleHeightPlugin.js";import{verticalTablePlugin as C}from"./verticalTablePlugin/index.js";import{virtualTreePlugin as W}from"./virtualTreePlugin.js";import{wordbookSettingPlugin as F}from"./wordbookSettingPlugin.js";export{dateRendererPlugin}from"./rendererPlugins/editableWidgets/dateRendererPlugin/index.js";export{inputRendererPlugin}from"./rendererPlugins/editableWidgets/inputRendererPlugin.js";export{levelSearchCascadePlugin}from"./rendererPlugins/editableWidgets/levelSearchCascadePlugin/index.js";export{numberRendererPlugin}from"./rendererPlugins/editableWidgets/numberRendererPlugin.js";export{radioRendererPlugin}from"./rendererPlugins/editableWidgets/radioRendererPlugin.js";export{selectRendererPlugin}from"./rendererPlugins/editableWidgets/selectRendererPlugin/index.js";export{separateRendererPlugins}from"./rendererPlugins/editableWidgets/separateRendererPlugin/index.js";export{switchRendererPlugin}from"./rendererPlugins/editableWidgets/switchRendererPlugin.js";export{timeRendererPlugin}from"./rendererPlugins/editableWidgets/timeRendererPlugin/index.js";export{checkRendererPlugin}from"./rendererPlugins/widgets/checkRendererPlugin.js";export{colorRendererPlugin}from"./rendererPlugins/widgets/colorRendererPlugin.js";export{defaultRendererPlugin}from"./rendererPlugins/widgets/defaultRendererPlugin.js";export{htmlRendererPlugin}from"./rendererPlugins/widgets/htmlRendererPlugin.js";export{labelRendererPlugin}from"./rendererPlugins/widgets/labelRendererPlugin.js";export{pictureRendererPlugin}from"./rendererPlugins/widgets/pictureRendererPlugin.js";export{seqRendererPlugin}from"./rendererPlugins/widgets/seqRendererPlugin.js";const A={anchorPlugin:e,bindEventSettingPlugin:r,colorAndIconPlugin:i,copyPastePlugin:n,crossHeaderPlugin:l,defaultConfigPlugin:o,defaultValuePlugin:t,dragScrollPlugin:g,dynamicFilterRenderPlugin:d,filterDaterangeRenderPlugin:u,filterRemoteSearchPlugin:P,filterRenderPlugin:s,filterTextRenderPlugin:m,filterVisibleEventPlugin:a,forceArrowKeyPlugin:f,HeaderPlugin:p,highLightSetPlugin:j,keyboardEventPlugin:c,lowCodeFieldAdaptorPlugin:R,maxCheckSizePlugin:x,operationalFormPlugin:b,pagerScrollPlugin:h,rowClickPlugin:w,rowDragPlugin:S,rowGroupSettingPlugin:v,stickyFixedPlugin:k,variableHeightRendererPlugin:y,verticalTablePlugin:C,virtualTreePlugin:W,wordbookSettingPlugin:F};export{A as commonModules,A as default};
@@ -1 +1 @@
1
- import{reactive as e,inject as o,createVNode as l,mergeProps as n,onBeforeUnmount as t}from"vue";import{arrayed as i}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as r,InjectionIhoTableUUID as d}from"../../../../constants/index.js";import{useAutoFocus as s}from"../hooks/useAutoFocus.js";import{getTitle as u,IhoTableRenderHelper as c,getLowCodeFieldFromField as a,IhoTableUtils as p}from"../../../../utils/index.js";import f from"./editSelect.js";import{getDefaultValue as m,getArray as v}from"./selectUtils.js";import{getSelectOptions as w,selectOptionsMap as h,selectColumnMap as g}from"../hooks/useSelectOption.js";import{isString as C,isFunction as y,isEqual as b}from"lodash-es";import{defineTablePlugin as F}from"../../../../hooks/useTablePlugin.js";function E(){const E="selectRendererPlugin",P=e(new Map);function x(e){return!0===e||"1"===e}return F({name:E,vxe(e){e.renderer.add(r.SELECT,{renderCell({props:e},{row:n,column:t,$table:r}){var s,c,a,p,f,v;const h=o(d),g=w(h,t.field,n,r);if(e&&e.labelToValue&&g.length){const o=x(null!=(c=null==(s=e.componentProps)?void 0:s.allowModify)?c:e.allowModify),l=x(null!=(p=null==(a=e.componentProps)?void 0:a.allowCreate)?p:e.allowCreate)||o,i=n[t.field];if(!o&&!l&&null!=i&&""!==i){const{aliasField:o="",labelField:l="label",valueField:r="value"}=e.componentProps||{};if(!g.find((e=>e[r]===i))){const e=g.find((e=>e[l]===i||e[o]===i));e?n[t.field]=e[r]:Reflect.deleteProperty(n,t.field)}}}const C=m(n,e,g),y=i(C).join(","),b=e&&(null==(f=e.componentProps)?void 0:f.multiple)&&(x(e.variableHeight)||(null==(v=e.componentProps)?void 0:v.indexedText));return[l("span",{title:u(t,y),class:"iho-table__colorAndIcon"},[b?i(C).reduce(((e,o)=>(null!=o&&e.push([o,";",l("br",null,null)]),e)),[]):y])]},renderEdit:c.createRenderEdit((({fieldItem:e,emitFormClick:t,row:i,column:r,$rowIndex:s,$table:u})=>{var c,a,p,m;const v=o(d),h=w(v,r.field,i,u),g=x(null!=(a=null==(c=e.componentProps)?void 0:c.allowModify)?a:e.allowModify),C=x(null!=(m=null==(p=e.componentProps)?void 0:p.allowCreate)?m:e.allowCreate)||g;return[l(f,n({queryOptions:e.queryOptions},e.componentProps,{options:h,column:r,row:i,"row-index":s,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,allowModify:g,allowCreate:C,onClick:t}),null)]}))})},apply(e){async function o(e,o={}){var l,n,t;const i=null==(l=e.editRender)?void 0:l.props;if(!i)return[];let r=v(i.options)||v(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const l={column:e,isFullData:!0,...o};r=await(null==(t=i.queryOptions)?void 0:t.call(i,l))}catch(e){console.log(`获取${i.field}_options错误`)}return r}function l(e){return e&&p.getCellType(e)===r.SELECT}s(e).bindAutoFocusConfig(E,r.SELECT,".n-base-selection-input,.n-base-selection-tags"),e.fieldHooks.fieldList.tap(E,((e,{uuid:n})=>{if(n){h.get(n)||h.set(n,{}),P.set(n,e);const t={};e.forEach((e=>{t[e.field]=e})),g.setItemFromUUID(n,{});const i=g.getItemFromUUID(n);e.forEach((e=>{const o=a(e);if(!o||!o.connectField||!C(o.connectField))return;o.connectField.split(",").forEach((o=>{i[o]=i[o]||[],i[o].push(e)}))}));const r=h.get(n);e.forEach((async e=>{var n,t;const d=null==(n=e.editRender)?void 0:n.props;if(e.field&&d&&l(d)&&!(null==(t=i[e.field])?void 0:t.length)){if(y(d.queryOptions)&&r[e.field])return;r[e.field]=[],r[e.field]=await o(e)}}))}return e})),e.dataHooks.data.tap(E,((e,{uuid:n},t)=>{if(!n)return;const i=P.get(n);if(!i||!i.length)return;const r=h.get(n);i.forEach((async n=>{var t;const d=null==(t=n.editRender)?void 0:t.props;if(n.field&&d&&l(d)&&(null==d?void 0:d.connectField)){const l=d.connectField.split(","),t=e[d.columnName];l.forEach((async l=>{const s=null==i?void 0:i.find((e=>e.field===l));if(!s)return;const u=t?`${l}__${d.columnName}-${t}`:l;r[u]||(r[u]=[],r[u]=await o(s,{row:e,connectColumn:n}))}))}}))})),e.setupHooks.setup.tap(E,(e=>{t((()=>{var o;const l=null==(o=e.value)?void 0:o.uuid;l&&(h.delete(l),g.removeItemFromUUID(l),P.delete(l))}))})),e.eventHooks.onCellDblclick.tap(E,((e,o,{emits:n})=>{var t,i,r;const{$table:d,row:s,column:u}=e,c=Reflect.get(e,"verticalState");let{column:a,row:p}=d.reactData.editStore.actived;if(!(a&&p||(c&&(a=null==(t=c.editCell)?void 0:t.column,p=null==(i=c.editCell)?void 0:i.row),a&&p)))return;c&&(a=u,p=s);const f=null==(r=a.editRender)?void 0:r.props,{cellDblclickSelectable:m=!1,multiple:v=!1,valueField:h="value"}=f.componentProps||{};if(!m||!l(f))return;const g=o.uuid&&w(o.uuid,a.field,p,d);if(1!==(null==g?void 0:g.length))return;const C=v?[g[0][h]]:g[0][h],y=p[a.field];d.clearEdit(),b(C,y)||(p[a.field]=C,n("formChange",{column:a,row:p,oldValue:y,value:C,index:d.getRowIndex(p),$table:d,option:g[0]}),c&&(c.editCell=null))}))}})}export{E as selectRendererPlugin};
1
+ import{reactive as e,inject as o,createVNode as l,mergeProps as n,onBeforeUnmount as t}from"vue";import{arrayed as i,traverse as r}from"../../../../../../../shared/utils/index.js";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as d,InjectionIhoTableUUID as s}from"../../../../constants/index.js";import{useAutoFocus as u}from"../hooks/useAutoFocus.js";import{getTitle as c,IhoTableRenderHelper as a,getLowCodeFieldFromField as p,IhoTableUtils as f}from"../../../../utils/index.js";import m from"./editSelect.js";import{getDefaultValue as v,getArray as w}from"./selectUtils.js";import{getSelectOptions as h,selectOptionsMap as g,selectColumnMap as C}from"../hooks/useSelectOption.js";import{isString as y,isFunction as b,isEqual as F}from"lodash-es";import{defineTablePlugin as E}from"../../../../hooks/useTablePlugin.js";function P(){const P="selectRendererPlugin",x=e(new Map);function k(e){return!0===e||"1"===e}return E({name:P,vxe(e){e.renderer.add(d.SELECT,{renderCell({props:e},{row:n,column:t,$table:r}){var d,u,a,p,f,m;const w=o(s),g=h(w,t.field,n,r);if(e&&e.labelToValue&&g.length){const o=k(null!=(u=null==(d=e.componentProps)?void 0:d.allowModify)?u:e.allowModify),l=k(null!=(p=null==(a=e.componentProps)?void 0:a.allowCreate)?p:e.allowCreate)||o,i=n[t.field];if(!o&&!l&&null!=i&&""!==i){const{aliasField:o="",labelField:l="label",valueField:r="value"}=e.componentProps||{};if(!g.find((e=>e[r]===i))){const e=g.find((e=>e[l]===i||e[o]===i));e?n[t.field]=e[r]:Reflect.deleteProperty(n,t.field)}}}const C=v(n,e,g),y=i(C).join(","),b=e&&(null==(f=e.componentProps)?void 0:f.multiple)&&(k(e.variableHeight)||(null==(m=e.componentProps)?void 0:m.indexedText));return[l("span",{title:c(t,y),class:"iho-table__colorAndIcon"},[b?i(C).reduce(((e,o)=>(null!=o&&e.push([o,";",l("br",null,null)]),e)),[]):y])]},renderEdit:a.createRenderEdit((({fieldItem:e,emitFormClick:t,row:i,column:r,$rowIndex:d,$table:u})=>{var c,a,p,f;const v=o(s),w=h(v,r.field,i,u),g=k(null!=(a=null==(c=e.componentProps)?void 0:c.allowModify)?a:e.allowModify),C=k(null!=(f=null==(p=e.componentProps)?void 0:p.allowCreate)?f:e.allowCreate)||g;return[l(m,n({queryOptions:e.queryOptions},e.componentProps,{options:w,column:r,row:i,"row-index":d,value:i[r.field],"onUpdate:value":e=>i[r.field]=e,allowModify:g,allowCreate:C,onClick:t}),null)]}))})},apply(e){async function o(e,o={}){var l,n,t;const i=null==(l=e.editRender)?void 0:l.props;if(!i)return[];let r=w(i.options)||w(null==(n=i.componentProps)?void 0:n.options)||[];if(i.queryOptions)try{const l={column:e,isFullData:!0,...o};r=await(null==(t=i.queryOptions)?void 0:t.call(i,l))}catch(e){console.log(`获取${i.field}_options错误`)}return r}function l(e){return e&&f.getCellType(e)===d.SELECT}u(e).bindAutoFocusConfig(P,d.SELECT,".n-base-selection-input,.n-base-selection-tags"),e.fieldHooks.fieldList.tap(P,((e,{uuid:n})=>{if(n){g.get(n)||g.set(n,{}),x.set(n,e);const t={};e.forEach((e=>{t[e.field]=e})),C.setItemFromUUID(n,{});const i=C.getItemFromUUID(n);r(e,(o=>{e.forEach((e=>{const o=p(e);if(!o||!o.connectField||!y(o.connectField))return;o.connectField.split(",").forEach((o=>{i[o]=i[o]||[],i[o].push(e)}))}))}));const d=g.get(n);r(e,(async e=>{var n,t;const r=null==(n=e.editRender)?void 0:n.props;if(e.field&&r&&l(r)&&!(null==(t=i[e.field])?void 0:t.length)){if(b(r.queryOptions)&&d[e.field])return;d[e.field]=[],d[e.field]=await o(e)}}))}return e})),e.dataHooks.data.tap(P,((e,{uuid:n},t)=>{if(!n)return;const i=x.get(n);if(!i||!i.length)return;const r=g.get(n);i.forEach((async n=>{var t;const d=null==(t=n.editRender)?void 0:t.props;if(n.field&&d&&l(d)&&(null==d?void 0:d.connectField)){const l=d.connectField.split(","),t=e[d.columnName];l.forEach((async l=>{const s=null==i?void 0:i.find((e=>e.field===l));if(!s)return;const u=t?`${l}__${d.columnName}-${t}`:l;r[u]||(r[u]=[],r[u]=await o(s,{row:e,connectColumn:n}))}))}}))})),e.setupHooks.setup.tap(P,(e=>{t((()=>{var o;const l=null==(o=e.value)?void 0:o.uuid;l&&(g.delete(l),C.removeItemFromUUID(l),x.delete(l))}))})),e.eventHooks.onCellDblclick.tap(P,((e,o,{emits:n})=>{var t,i,r;const{$table:d,row:s,column:u}=e,c=Reflect.get(e,"verticalState");let{column:a,row:p}=d.reactData.editStore.actived;if(!(a&&p||(c&&(a=null==(t=c.editCell)?void 0:t.column,p=null==(i=c.editCell)?void 0:i.row),a&&p)))return;c&&(a=u,p=s);const f=null==(r=a.editRender)?void 0:r.props,{cellDblclickSelectable:m=!1,multiple:v=!1,valueField:w="value"}=f.componentProps||{};if(!m||!l(f))return;const g=o.uuid&&h(o.uuid,a.field,p,d);if(1!==(null==g?void 0:g.length))return;const C=v?[g[0][w]]:g[0][w],y=p[a.field];d.clearEdit(),F(C,y)||(p[a.field]=C,n("formChange",{column:a,row:p,oldValue:y,value:C,index:d.getRowIndex(p),$table:d,option:g[0]}),c&&(c.editCell=null))}))}})}export{P as selectRendererPlugin};
@@ -1 +1 @@
1
- import{reactive as e,inject as t,createVNode as a,toRaw as r,h as o,onBeforeUnmount as n}from"vue";import{widthAppend as i,getCharWidth as u,traverse as l,arrayed as s}from"../../../../../../../shared/utils/index.js";import{isFunction as d,isObject as p,isArray as f,compact as c,range as _,uniq as m,flatten as E}from"lodash-es";import{NInput as h}from"naive-ui";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as A,InjectionIhoTableUUID as v,InjectionIhoTableHandler as R}from"../../../../constants/index.js";import{useAutoFocus as g}from"../hooks/useAutoFocus.js";import{getLowCodeFieldFromField as D,IhoTableRenderHelper as T,getRowHeight as w,getColumnRenderWidth as b,parseMergeField as $}from"../../../../utils/index.js";import x from"./editSeparate.vue.js";import{contentSeparate as C,getLengthDiffArray as P,getColumnInfoMaxLength as S,generateSeparateRowData as k,isSeparateColumn as H}from"./separateUtils.js";import{getSeparateInfo as I,setSeparateInfo as j,deleteSeparateInfo as M}from"../../../../utils/separateMap.js";import{defineTablePlugin as O}from"../../../../hooks/useTablePlugin.js";function F(){const F="separateRendererPlugins",y=e(new Map);return O({name:F,vxe(e){e.renderer.add(A.SEPARATE,{renderCell(e,{column:r,row:o}){const n=t(v),{separateData:l={},isOriginRow:s}=I(n,o)||{},d=D(r),p=(null==d?void 0:d.separateFormatter)?d.separateFormatter(l[r.field]):l[r.field];return a("section",{class:[{"iho-table__ellipsis":!1!==(null==d?void 0:d.showOverflow)},"iho-table__colorAndIcon"],title:p,style:{textIndent:s&&(null==d?void 0:d.separateIndent)?i(u("一")*d.separateIndent):0}},[p])},renderEdit:T.createRenderEdit((({fieldItem:e,column:n,row:i,emitFormClick:u})=>{var l,s;const f=t(v),c=I(f,i),_=w(),m={};let E=null!=(s=null==(l=e.componentProps)?void 0:l.separateSlot)?s:e.separateSlot;return E&&(E=r(E),m.menu=d(E)?E:p(E)?e=>o(E,e):void 0),e.separateRowEdit?function(){var e;if(!c)return[];if(c.ihoTableHandler=t(R),c.separateData["__"+n.field]=null!=(e=c.separateData["__"+n.field])?e:c.separateData[n.field],m.menu){const e=m.menu;return a(e,{column:n,col:n,row:i,value:c.separateData["__"+n.field],"onUpdate:value":e=>c.separateData["__"+n.field]=e},null)}return a(h,{value:c.separateData["__"+n.field],"onUpdate:value":e=>c.separateData["__"+n.field]=e},null)}():function(){var t;const r=null==(t=null==c?void 0:c.separateData)?void 0:t[n.field],o=d(e.separateFormatter)?e.separateFormatter(r):r;return[a(x,{value:i[n.field],"onUpdate:value":e=>i[n.field]=e,rowIndex:c.index,height:_,column:n,row:i,displayContent:o,onClick:u},m)]}()}))})},apply(e){function t(e){return(...t)=>{var a;return!(null==(a=t[0].row)?void 0:a.$__SEPARATE)&&(!d(e)||e(...t))}}g(e).bindAutoFocusConfig(F,A.SEPARATE,".iho-table__separateText"),e.eventHooks.onEditClosed.tap(F,(({row:e,column:t,$table:a},r,{emits:o})=>{if(!e.$__uuid)return;const n=D(t);if(!n||!n.separateRowEdit)return;const i=I(e.$__uuid,e);if(!i)return;const{separateData:u,originalData:l,ihoTableHandler:s,index:d}=i,{field:p}=t;if(null!==u["__"+p]&&u["__"+p]!==u[p]&&f(l.$__SEPARATE_DATA)){const e=l.$__SEPARATE_DATA.map((e=>{var t;return null!=(t=e["__"+p])?t:e[p]})),r=l[p];l[p]=f(l[p])?e:e.join(""),o("formChange",{value:l[p],oldValue:r,row:l,column:t,index:d,$table:a}),null==s||s.updateTableDataRef()}})),e.fieldHooks.fieldList.tap(F,((e,{uuid:t})=>(t&&y.set(t,e.reduce(((e,t)=>(l(t,(t=>{H(t)&&e.push(r(t))})),e)),[])),e))),e.dataHooks.data.tapPromise(F,(async(e,t,{insertAfter:a,index:r,$table:o})=>{var n;if(!t.uuid)return;const i=y.get(t.uuid);if(!i||!i.length)return;const u=[];for(const t of i){if(!t.field)continue;const a=await b(t,e,r,o),i={field:t.field,column:t,data:C($(e,t),t,a,null==(n=D(t))?void 0:n.separateDeep)};u.push(i)}function l(e){return u.find((t=>t.field===e))}u.forEach((e=>{const{column:t}=e,a=D(t);if(!a)return;if(!a.separateDeep||!a.separateBinder)return;const r=c(s(a.separateBinder).map(l));if(!r.length)return;const o=r.concat(e),n=Math.max(...o.map((e=>e.data.length)));_(n).forEach((e=>{const t=o.map((t=>({item:t.data[e],data:t.data}))),a=t.map((({item:e})=>n(e)));if(1===m(a).length)return;const r=Math.max(...a);function n(e){return f(e)?e.length:1}t.forEach((({item:t,data:a})=>{const o=n(t);o!==r&&(f(t)?t.push(...P(r,o)):a[e]=_(r).map(((e,a)=>0===a?t:"")))}))}))})),u.forEach((e=>{e.data=E(e.data)})),_(S(u)).forEach(((o,n,i)=>{var l;const s=k(u,n),d={index:r,originalData:e,separateData:s,separateIndex:n,separateLength:i.length,isOriginRow:0===n,isLastRow:n===i.length-1};if(0===n)return e.$__SEPARATE_DATA=[s],e.$__SEPARATE_ROW_CACHE=e.$__SEPARATE_ROW_CACHE||[],e.$__uuid=t.uuid,void j(t.uuid,e,d);const p=null!=(l=e.$__SEPARATE_ROW_CACHE[n-1])?l:e.$__SEPARATE_ROW_CACHE[n-1]={$__SEPARATE:!0,$__uuid:t.uuid,$__SEPARATE_INDEX:n};p.$__ORIGIN_INDEX=r,j(t.uuid,p,d),e.$__SEPARATE_DATA.push(s),a(p)}))})),e.eventHooks.onResizableChange.tap(F,(async(e,t,a)=>{a.updateTableDataRef()})),e.configHooks.editConfig.tap(F,((e={},t)=>{const a=e.beforeEditMethod;return e.beforeEditMethod=(...e)=>{var r;if(!t.uuid)return f();const o=y.get(t.uuid);if(!o||!o.length)return f();const{row:n,column:i}=e[0],u=I(t.uuid,n);if(!u)return f();const l=null==(r=i.editRender)?void 0:r.props;if(!l||l.separateRowEdit)return f();const{isOriginRow:s,isLastRow:p}=u;return("bottom"===l.separatePlacement?p:s)&&f();function f(){return!d(a)||a(...e)}},e})),e.configHooks.checkboxConfig.tap(F,((e={},a)=>(e.checkMethod=t(e.checkMethod),e.visibleMethod=t(e.visibleMethod),e))),e.setupHooks.setup.tap(F,(e=>{n((()=>{e.value.uuid&&(y.delete(e.value.uuid),M(e.value.uuid))}))}))}})}export{F as separateRendererPlugins};
1
+ import{reactive as e,inject as t,createVNode as a,toRaw as r,h as o,onBeforeUnmount as n}from"vue";import{widthAppend as i,getCharWidth as u,traverse as l,arrayed as s}from"../../../../../../../shared/utils/index.js";import{isFunction as d,isObject as p,isArray as f,compact as c,range as _,uniq as m,flatten as E}from"lodash-es";import{NInput as h}from"naive-ui";import"../../../../../index.js";import{EDITABLE_WIDGET_TYPE as A,InjectionIhoTableUUID as v,InjectionIhoTableHandler as R}from"../../../../constants/index.js";import{useAutoFocus as g}from"../hooks/useAutoFocus.js";import{getLowCodeFieldFromField as D,IhoTableRenderHelper as T,getRowHeight as w,getColumnRenderWidth as b,parseMergeField as $}from"../../../../utils/index.js";import x from"./editSeparate.vue.js";import{isSeparateColumn as C,contentSeparate as P,getLengthDiffArray as S,getColumnInfoMaxLength as k,generateSeparateRowData as H}from"./separateUtils.js";import{getSeparateInfo as I,setSeparateInfo as j,deleteSeparateInfo as M}from"../../../../utils/separateMap.js";import{defineTablePlugin as O}from"../../../../hooks/useTablePlugin.js";function F(){const F="separateRendererPlugins",y=e(new Map);return O({name:F,vxe(e){e.renderer.add(A.SEPARATE,{renderCell(e,{column:r,row:o}){const n=t(v),{separateData:l={},isOriginRow:s}=I(n,o)||{},d=D(r),p=(null==d?void 0:d.separateFormatter)?d.separateFormatter(l[r.field]):l[r.field];return a("section",{class:[{"iho-table__ellipsis":!1!==(null==d?void 0:d.showOverflow)},"iho-table__colorAndIcon"],title:p,style:{textIndent:s&&(null==d?void 0:d.separateIndent)?i(u("一")*d.separateIndent):0}},[p])},renderEdit:T.createRenderEdit((({fieldItem:e,column:n,row:i,emitFormClick:u})=>{var l,s;const f=t(v),c=I(f,i),_=w(),m={};let E=null!=(s=null==(l=e.componentProps)?void 0:l.separateSlot)?s:e.separateSlot;return E&&(E=r(E),m.menu=d(E)?E:p(E)?e=>o(E,e):void 0),e.separateRowEdit?function(){var e;if(!c)return[];if(c.ihoTableHandler=t(R),c.separateData["__"+n.field]=null!=(e=c.separateData["__"+n.field])?e:c.separateData[n.field],m.menu){const e=m.menu;return a(e,{column:n,col:n,row:i,value:c.separateData["__"+n.field],"onUpdate:value":e=>c.separateData["__"+n.field]=e},null)}return a(h,{value:c.separateData["__"+n.field],"onUpdate:value":e=>c.separateData["__"+n.field]=e},null)}():function(){var t;const r=null==(t=null==c?void 0:c.separateData)?void 0:t[n.field],o=d(e.separateFormatter)?e.separateFormatter(r):r;return[a(x,{value:i[n.field],"onUpdate:value":e=>i[n.field]=e,rowIndex:c.index,height:_,column:n,row:i,displayContent:o,onClick:u},m)]}()}))})},apply(e){function t(e){return(...t)=>{var a;return!(null==(a=t[0].row)?void 0:a.$__SEPARATE)&&(!d(e)||e(...t))}}g(e).bindAutoFocusConfig(F,A.SEPARATE,".iho-table__separateText"),e.eventHooks.onEditClosed.tap(F,(({row:e,column:t,$table:a},r,{emits:o})=>{if(!e.$__uuid)return;const n=D(t);if(!n||!n.separateRowEdit)return;const i=I(e.$__uuid,e);if(!i)return;const{separateData:u,originalData:l,ihoTableHandler:s,index:d}=i,{field:p}=t;if(null!==u["__"+p]&&u["__"+p]!==u[p]&&f(l.$__SEPARATE_DATA)){const e=l.$__SEPARATE_DATA.map((e=>{var t;return null!=(t=e["__"+p])?t:e[p]})),r=l[p];l[p]=f(l[p])?e:e.join(""),o("formChange",{value:l[p],oldValue:r,row:l,column:t,index:d,$table:a}),null==s||s.updateTableDataRef()}})),e.fieldHooks.fieldList.tap(F,((e,{uuid:t})=>(t&&y.set(t,e.reduce(((e,t)=>(l(t,(t=>{C(t)&&e.push(r(t))})),e)),[])),e))),e.dataHooks.data.tapPromise(F,(async(e,t,{insertAfter:a,index:r,$table:o})=>{var n;if(!t.uuid)return;const i=y.get(t.uuid);if(!i||!i.length)return;const u=[];for(const t of i){if(!t.field)continue;const a=await b(t,e,r,o),i={field:t.field,column:t,data:P($(e,t),t,a,null==(n=D(t))?void 0:n.separateDeep)};u.push(i)}function l(e){return u.find((t=>t.field===e))}u.forEach((e=>{const{column:t}=e,a=D(t);if(!a)return;if(!a.separateDeep||!a.separateBinder)return;const r=c(s(a.separateBinder).map(l));if(!r.length)return;const o=r.concat(e),n=Math.max(...o.map((e=>e.data.length)));_(n).forEach((e=>{const t=o.map((t=>({item:t.data[e],data:t.data}))),a=t.map((({item:e})=>n(e)));if(1===m(a).length)return;const r=Math.max(...a);function n(e){return f(e)?e.length:1}t.forEach((({item:t,data:a})=>{const o=n(t);o!==r&&(f(t)?t.push(...S(r,o)):a[e]=_(r).map(((e,a)=>0===a?t:"")))}))}))})),u.forEach((e=>{e.data=E(e.data)})),_(k(u)).forEach(((o,n,i)=>{var l;const s=H(u,n),d={index:r,originalData:e,separateData:s,separateIndex:n,separateLength:i.length,isOriginRow:0===n,isLastRow:n===i.length-1};if(0===n)return e.$__SEPARATE_DATA=[s],e.$__SEPARATE_ROW_CACHE=e.$__SEPARATE_ROW_CACHE||[],e.$__uuid=t.uuid,void j(t.uuid,e,d);const p=null!=(l=e.$__SEPARATE_ROW_CACHE[n-1])?l:e.$__SEPARATE_ROW_CACHE[n-1]={$__SEPARATE:!0,$__uuid:t.uuid,$__SEPARATE_INDEX:n};p.$__ORIGIN_INDEX=r,j(t.uuid,p,d),e.$__SEPARATE_DATA.push(s),a(p)}))})),e.eventHooks.onResizableChange.tap(F,(async(e,t,a)=>{a.updateTableDataRef()})),e.configHooks.editConfig.tap(F,((e={},t)=>{const a=e.beforeEditMethod;return e.beforeEditMethod=(...e)=>{var r;if(!t.uuid)return f();const o=y.get(t.uuid);if(!o||!o.length)return f();const{row:n,column:i}=e[0],u=I(t.uuid,n);if(!u)return f();const l=null==(r=i.editRender)?void 0:r.props;if(!l||l.separateRowEdit)return f();const{isOriginRow:s,isLastRow:p}=u;return("bottom"===l.separatePlacement?p:s)&&f();function f(){return!d(a)||a(...e)}},e})),e.configHooks.checkboxConfig.tap(F,((e={},a)=>(e.checkMethod=t(e.checkMethod),e.visibleMethod=t(e.visibleMethod),e))),e.setupHooks.setup.tap(F,(e=>{n((()=>{e.value.uuid&&(y.delete(e.value.uuid),M(e.value.uuid))}))}))}})}export{F as separateRendererPlugins};
@@ -1 +1 @@
1
- import{onBeforeUnmount as e,createVNode as l,defineComponent as t,inject as i,computed as r,watch as d,onMounted as o}from"vue";import{traverse as u}from"../../../../shared/utils/index.js";import{promiseTimeout as n}from"@vueuse/shared";import{last as a,first as s}from"lodash-es";import"../../index.js";import{LOWEST_PRIORITY as f,InjectionIhoTableConfig as h,InjectionIhoTableXeInstance as c}from"../constants/index.js";import{useUUIDMap as v,mergeVxeStyle as g,mergeVxeClass as m}from"../utils/index.js";import{defineTablePlugin as x}from"../hooks/useTablePlugin.js";function p(){const p="stickyFixedPlugin";return x({name:p,apply(x){const{getItemFromUUID:y,removeItemFromUUID:b}=v((()=>({$xeTable:null,left:[],noFixed:[],right:[]}))),{getItemFromUUID:B,removeItemFromUUID:L}=v((()=>({tableBody:null,tableHeader:null,leftBorderLeftEle:null,leftBorderTopEle:null,leftShadowEle:null,rightBorderLeftEle:null,rightBorderTopEle:null})),!1);function E(e){const l=B(e),{leftShadowEle:t,rightBorderLeftEle:i,tableBody:r}=l;r&&(t&&(r.scrollLeft>0?t.classList.add("scrolling--middle"):null==t||t.classList.remove("scrolling--middle")),i&&(Math.ceil(r.scrollLeft)<r.scrollWidth-r.clientWidth?i.classList.add("scrolling--middle"):null==i||i.classList.remove("scrolling--middle")))}function F(e){const l=B(e),{tableBody:t,leftBorderLeftEle:i,leftShadowEle:r,leftBorderTopEle:d,rightBorderTopEle:o,rightBorderLeftEle:u,tableHeader:n}=l;if(!t||!n)return;const{$xeTable:f,left:h,right:c}=y(e);if(i&&d&&r)if(f){const e=h.map((e=>f.getColumnByField(e.field))).reduce(((e,l)=>e+((null==l?void 0:l.resizeWidth)||(null==l?void 0:l.renderWidth)||40)),0);r.style.left=e-4+"px",d.style.width=e-1+"px"}else{const e=a(null==n?void 0:n.querySelectorAll("th.iho-table--fixed-left"));e&&(r.style.left=e.offsetLeft+e.clientWidth-4+"px",d.style.width=e.offsetLeft+e.clientWidth-1+"px")}if(o&&u){const e=t.scrollHeight>t.clientHeight;if(f){const l=c.map((e=>f.getColumnByField(e.field))).reduce(((e,l)=>e+((null==l?void 0:l.resizeWidth)||(null==l?void 0:l.renderWidth)||40)),0);u.style.right=l-3+(e?10:0)+"px",o.style.width=l+(e?10:0)+"px",e&&o.style.setProperty("--c-header-height",n.clientHeight-2+"px")}else{const l=s(null==n?void 0:n.querySelectorAll("th.iho-table--fixed-right"));l&&(u.style.right=10+t.clientWidth-l.offsetLeft-(e?0:10)+"px",o.style.width=t.clientWidth-l.offsetLeft+(e?10:0)+"px",e&&o.style.setProperty("--c-header-height",n.clientHeight-2+"px"))}}}x.configHooks.config.tap(p,((e,{$table:l})=>{var t;if(!(null==(t=e.stickyFixedConfig)?void 0:t.enable)||!e.uuid)return e;const i=e=>{if(!l.value)return{left:0,right:0};return{left:l.value.getColumns().slice(0,e).reduce(((e,l)=>e+(l.resizeWidth||l.renderWidth)),0),right:l.value.getColumns().slice(e+1).reduce(((e,l)=>e+(l.resizeWidth||l.renderWidth)),0)}},r=y(e.uuid);function d(e){return r.left.some((l=>l.field===e.field))||r.right.some((l=>l.field===e.field))}return e.cellStyle=g((({_columnIndex:e,column:l})=>{if(d(l))return{"--iho-table-fixed-left":i(e).left,"--iho-table-fixed-right":i(e).right}}),e.cellStyle),e.headerCellStyle=g((({_columnIndex:e,column:l})=>{if(d(l))return{"--iho-table-fixed-left":i(e).left,"--iho-table-fixed-right":i(e).right}}),e.headerCellStyle),e})),x.fieldHooks.fieldList.tap({name:p,stage:f},((e,l)=>{var t;if(!(null==(t=l.stickyFixedConfig)?void 0:t.enable)||!l.uuid)return e;const i=y(l.uuid);return i.left=[],i.noFixed=[],i.right=[],u(e,(e=>{e.fixed?(i[e.fixed].push(e),e.className=m(e.className,`iho-table--fixed-${e.fixed}`),e.headerClassName=m(e.headerClassName,`iho-table--fixed-${e.fixed}`)):i.noFixed.push(e),e.fixed=void 0})),[...i.left||[],...i.noFixed||[],...i.right||[]]})),x.setupHooks.setup.tap(p,(l=>{e((()=>{var e;(null==(e=l.value)?void 0:e.uuid)&&(L(l.value.uuid),b(l.value.uuid))}))})),x.dataHooks.dataEnd.tap(p,(async e=>{var l;(null==(l=e.stickyFixedConfig)?void 0:l.enable)&&e.uuid&&(await n(100),F(e.uuid))})),x.eventHooks.onScroll.tap(p,(({isX:e},l)=>{var t;e&&(null==(t=l.stickyFixedConfig)?void 0:t.enable)&&l.uuid&&E(l.uuid)})),x.eventHooks.onResizableChange.tap(p,((e,l)=>{var t;(null==(t=l.stickyFixedConfig)?void 0:t.enable)&&l.uuid&&E(l.uuid)}));const k=t({setup(){const e=i(h),t=i(c),u=r((()=>{const l=y(e.value.uuid);return!(!l.left||!l.left.length)})),a=r((()=>{const l=y(e.value.uuid);return!(!l.right||!l.right.length)})),s=l=>{B(e.value.uuid).leftBorderLeftEle=l},f=l=>{B(e.value.uuid).leftBorderTopEle=l},v=l=>{B(e.value.uuid).leftShadowEle=l},g=l=>{B(e.value.uuid).rightBorderLeftEle=l},m=l=>{B(e.value.uuid).rightBorderTopEle=l};function x(){if(y(e.value.uuid).$xeTable=t.value,!t.value||!e.value.uuid)return;const{refTableBody:l,refTableHeader:i}=t.value.getRefMaps();if(!l.value)return;const r=B(e.value.uuid);r.tableBody=l.value.$el,r.tableHeader=i.value.$el,E(e.value.uuid),F(e.value.uuid)}return d([()=>y(e.value.uuid).left,()=>y(e.value.uuid).right],x),o((async()=>{await n(100),x()})),()=>[u.value?[l("div",{class:"iho-table__fixedLeftBorderLeft",ref:s},null),l("div",{class:"iho-table__fixedLeftBorderTop",ref:f},null),l("div",{class:"iho-table__fixedLeftShadow",ref:v},null)]:null,a.value?[l("div",{class:"iho-table__fixedRightBorderLeft",ref:g},null),l("div",{class:"iho-table__fixedRightBorderTop",ref:m},null)]:null]}}),C=t({setup(){const e=i(h);return()=>{var t,i;return(null==(i=null==(t=e.value)?void 0:t.stickyFixedConfig)?void 0:i.enable)?l(k,null,null):null}}});x.domInsertHooks.header.tap(p,(e=>(e.push(l(C,null,null)),e)))}})}export{p as stickyFixedPlugin};
1
+ import{onBeforeUnmount as e,createVNode as l,defineComponent as t,inject as i,computed as r,watch as d,onMounted as o}from"vue";import{traverse as u}from"../../../../shared/utils/index.js";import{promiseTimeout as n}from"@vueuse/shared";import{last as a,first as s}from"lodash-es";import"../../index.js";import{LOWEST_PRIORITY as f,InjectionIhoTableConfig as h,InjectionIhoTableXeInstance as c}from"../constants/index.js";import{useUUIDMap as v,mergeVxeStyle as g,mergeVxeClass as m}from"../utils/index.js";import{defineTablePlugin as x}from"../hooks/useTablePlugin.js";function p(){const p="stickyFixedPlugin";return x({name:p,apply(x){const{getItemFromUUID:y,removeItemFromUUID:b}=v((()=>({$xeTable:null,left:[],noFixed:[],right:[]}))),{getItemFromUUID:B,removeItemFromUUID:L}=v((()=>({tableBody:null,tableHeader:null,leftBorderLeftEle:null,leftBorderTopEle:null,leftShadowEle:null,rightBorderLeftEle:null,rightBorderTopEle:null})),!1);function E(e){const l=B(e),{leftShadowEle:t,rightBorderLeftEle:i,tableBody:r}=l;r&&(t&&(r.scrollLeft>0?t.classList.add("scrolling--middle"):null==t||t.classList.remove("scrolling--middle")),i&&(Math.ceil(r.scrollLeft)<r.scrollWidth-r.clientWidth?i.classList.add("scrolling--middle"):null==i||i.classList.remove("scrolling--middle")))}function F(e){const l=B(e),{tableBody:t,leftBorderLeftEle:i,leftShadowEle:r,leftBorderTopEle:d,rightBorderTopEle:o,rightBorderLeftEle:u,tableHeader:n}=l;if(!t||!n)return;const{$xeTable:f,left:h,right:c}=y(e);if(i&&d&&r)if(f){const e=h.map((e=>f.getColumnByField(e.field))).reduce(((e,l)=>e+((null==l?void 0:l.resizeWidth)||(null==l?void 0:l.renderWidth)||40)),0);r.style.left=e-4+"px",d.style.width=e-1+"px"}else{const e=a(null==n?void 0:n.querySelectorAll("th.iho-table--fixed-left"));e&&(r.style.left=e.offsetLeft+e.clientWidth-4+"px",d.style.width=e.offsetLeft+e.clientWidth-1+"px")}if(o&&u){const e=t.scrollHeight>t.clientHeight;if(f){const l=c.map((e=>f.getColumnByField(e.field))).reduce(((e,l)=>e+((null==l?void 0:l.resizeWidth)||(null==l?void 0:l.renderWidth)||40)),0);u.style.right=l-3+(e?10:0)+"px",o.style.width=l+(e?10:0)+"px",e&&o.style.setProperty("--c-header-height",n.clientHeight-2+"px")}else{const l=s(null==n?void 0:n.querySelectorAll("th.iho-table--fixed-right"));l&&(u.style.right=10+t.clientWidth-l.offsetLeft-(e?0:10)+"px",o.style.width=t.clientWidth-l.offsetLeft+(e?10:0)+"px",e&&o.style.setProperty("--c-header-height",n.clientHeight-2+"px"))}}}x.configHooks.config.tap(p,((e,{$table:l})=>{var t;if(!(null==(t=e.stickyFixedConfig)?void 0:t.enable)||!e.uuid)return e;const i=e=>{if(!l.value)return{left:0,right:0};return{left:l.value.getColumns().slice(0,e).reduce(((e,l)=>e+(l.resizeWidth||l.renderWidth)),0),right:l.value.getColumns().slice(e+1).reduce(((e,l)=>e+(l.resizeWidth||l.renderWidth)),0)}},r=y(e.uuid);function d(e){return r.left.some((l=>l.field===e.field))||r.right.some((l=>l.field===e.field))}return e.cellStyle=g((({_columnIndex:e,column:l})=>{if(d(l))return{"--iho-table-fixed-left":i(e).left,"--iho-table-fixed-right":i(e).right}}),e.cellStyle),e.headerCellStyle=g((({_columnIndex:e,column:l})=>{if(d(l))return{"--iho-table-fixed-left":i(e).left,"--iho-table-fixed-right":i(e).right}}),e.headerCellStyle),e})),x.fieldHooks.fieldList.tap({name:p,stage:f},((e,l)=>{var t;if(!(null==(t=l.stickyFixedConfig)?void 0:t.enable)||!l.uuid)return e;const i=y(l.uuid);return i.left=[],i.noFixed=[],i.right=[],u(e,(e=>{e.fixed?(i[e.fixed].push(e),e.className=m(e.className,`iho-table--fixed-${e.fixed}`),e.headerClassName=m(e.headerClassName,`iho-table--fixed-${e.fixed}`)):i.noFixed.push(e),e.fixed=void 0})),[...i.left||[],...i.noFixed||[],...i.right||[]]})),x.setupHooks.setup.tap(p,(l=>{e((()=>{var e;(null==(e=l.value)?void 0:e.uuid)&&(L(l.value.uuid),b(l.value.uuid))}))})),x.dataHooks.dataEnd.tap(p,(async(e,l)=>{var t;(null==(t=l.stickyFixedConfig)?void 0:t.enable)&&l.uuid&&(await n(100),F(l.uuid))})),x.eventHooks.onScroll.tap(p,(({isX:e},l)=>{var t;e&&(null==(t=l.stickyFixedConfig)?void 0:t.enable)&&l.uuid&&E(l.uuid)})),x.eventHooks.onResizableChange.tap(p,((e,l)=>{var t;(null==(t=l.stickyFixedConfig)?void 0:t.enable)&&l.uuid&&E(l.uuid)}));const k=t({setup(){const e=i(h),t=i(c),u=r((()=>{const l=y(e.value.uuid);return!(!l.left||!l.left.length)})),a=r((()=>{const l=y(e.value.uuid);return!(!l.right||!l.right.length)})),s=l=>{B(e.value.uuid).leftBorderLeftEle=l},f=l=>{B(e.value.uuid).leftBorderTopEle=l},v=l=>{B(e.value.uuid).leftShadowEle=l},g=l=>{B(e.value.uuid).rightBorderLeftEle=l},m=l=>{B(e.value.uuid).rightBorderTopEle=l};function x(){if(y(e.value.uuid).$xeTable=t.value,!t.value||!e.value.uuid)return;const{refTableBody:l,refTableHeader:i}=t.value.getRefMaps();if(!l.value)return;const r=B(e.value.uuid);r.tableBody=l.value.$el,r.tableHeader=i.value.$el,E(e.value.uuid),F(e.value.uuid)}return d([()=>y(e.value.uuid).left,()=>y(e.value.uuid).right],x),o((async()=>{await n(100),x()})),()=>[u.value?[l("div",{class:"iho-table__fixedLeftBorderLeft",ref:s},null),l("div",{class:"iho-table__fixedLeftBorderTop",ref:f},null),l("div",{class:"iho-table__fixedLeftShadow",ref:v},null)]:null,a.value?[l("div",{class:"iho-table__fixedRightBorderLeft",ref:g},null),l("div",{class:"iho-table__fixedRightBorderTop",ref:m},null)]:null]}}),C=t({setup(){const e=i(h);return()=>{var t,i;return(null==(i=null==(t=e.value)?void 0:t.stickyFixedConfig)?void 0:i.enable)?l(k,null,null):null}}});x.domInsertHooks.header.tap(p,(e=>(e.push(l(C,null,null)),e)))}})}export{p as stickyFixedPlugin};
@@ -1 +1 @@
1
- import{unref as e,onBeforeUnmount as t,shallowReactive as o,createVNode as l,defineComponent as n,inject as r,ref as a,computed as s,provide as i,watch as u,onMounted as c,h as d}from"vue";import{traverse as p,widthAppend as f}from"../../../../shared/utils/index.js";import{doAnimation as m}from"../../../../shared/utils/anime.js";import{useThrottleFn as h}from"@vueuse/core";import{promiseTimeout as g}from"@vueuse/shared";import{last as v,isFunction as x,isNumber as y}from"lodash-es";import"../../index.js";import{InjectionIhoTableUUID as b}from"../constants/index.js";import{useUUIDMap as I,isVariableHeightColumn as w}from"../utils/index.js";import{defineTablePlugin as T}from"../hooks/useTablePlugin.js";class D{constructor(){this.records={},this.maxRecords=o(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const l=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==l&&this.maxRecords.set(e,l)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:R,removeItemFromUUID:M}=I((()=>new D),!0),{getItemFromUUID:S,removeItemFromUUID:H,setItemFromUUID:U}=I((()=>null)),{getItemFromUUID:C,removeItemFromUUID:$,setItemFromUUID:k}=I((()=>{}));let F={};function j(t,o,{scrollTop:l=0}){var n,r;const{uuid:a,rowConfig:s={}}=o;if(!a)return;const i=R(a),{oSize:u=0,gt:c=100}=null!=(n=C(a))?n:{},{internalData:d,reactData:p}=t,{scrollYStore:f,elemStore:m,afterFullData:h,fullDataRowIdData:g}=d;if(c>h.length)return;const y=null!=(r=s.height)?r:36,b=m["main-body-wrapper"],I=b?e(b):null;let w=I?Math.max(8,Math.ceil(I.clientHeight/y)+2+u):8;const T=[0];let D=0;if(l&&h.find(((e,o)=>{const n=t.getRowSeq(e),r=(v(T)||0)+Math.max(y,i.getMax(n));if(T.push(r),r>l)return D=Math.max(0,o-u),w+=Math.min(D,u),!0})),D>0&&x(o.spanMethod)){const{spanMethod:e}=o,l={rowspan:1,colspan:1};for(;D>0;){if(!t.getColumns().some(((t,o)=>{const{rowspan:n,colspan:r}=e({column:t,columnIndex:o,$columnIndex:o,row:h[D],rowIndex:D,$rowIndex:D,_rowIndex:D,isHidden:!t.visible,fixed:t.fixed,type:t.type,visibleData:h})||l;if(0===n&&0===r)return D--,!0})))break}}const M=`${T[D]}px`,S=`${h.reduce(((e,o)=>{const l=t.getRowSeq(o);return e+Math.max(y,i.getMax(l))}),0)}px`;["main","left","right"].forEach((t=>{const o=m[`${t}-body-table`],n=o?e(o):null;n&&(n.style.marginTop=M,n.scrollTop=l),["header","body","footer"].forEach((o=>{const l=m[`${t}-${o}-ySpace`],n=l?e(l):null;n&&(n.style.height=S)}))}));const H=Math.min(h.length,D+w);if(f.startIndex===D&&f.endIndex===H)return;f.startIndex=D,f.endIndex=H;const U=h.slice(f.startIndex,f.endIndex);U.forEach(((e,o)=>{const l=t.getRowid(e),n=g[l];n&&(n.$index=o)})),p.tableData.length=0,p.tableData.push(...U)}const Y=h(j,300);function E(){const o="variableHeightRendererPlugin";return T({name:o,vxe(e){F=n({props:{payload:{type:Object,required:!0}},setup(t){const o=r(b),n=r("$xetable"),p=a(),m=R(o),h=s((()=>t.payload.row[t.payload.column.field]));function v(){const{row:e,column:o}=t.payload,l=n.getRowSeq(e);if(!m||null==l||!p.value)return;const r=p.value.clientHeight;m.set(l,o.field,r)}i("updateCellHeight",v),u([()=>t.payload.rowIndex,()=>t.payload.column.field,h,()=>t.payload.column.renderWidth],(async()=>{await g(0),v()})),c((()=>{n&&!S(o)&&U(o,n),v()}));const I=s((()=>{var o,l,n,r,a;const s=null!=(l=null==(o=t.payload.column.editRender)?void 0:o.props)?l:{},i=null!=(r=null==(n=s.slots)?void 0:n.default)?r:s.slotFn;if(x(i))return i;const u=null==(a=t.payload.column.editRender)?void 0:a.name;if(u){const o=e.renderer.get(u);if(null==o?void 0:o.renderCell)return()=>o.renderCell(t.payload.column.editRender,t.payload)}return()=>h.value})),w=s((()=>{if(t.payload.column.treeNode)return"";const e=t.payload.column.renderWidth;return y(e)&&e>0?f(e-20-2):""}));return()=>l("div",{ref:p,style:{padding:"7px 0",width:w.value,overflow:"hidden"}},[d(I.value,t.payload)])}})},apply(n){function r(t){const o=S(t.uuid);if(!o)return;t.scrollY={enabled:!1},o.reactData.scrollYLoad=!1;const l=function(t){const o=t.internalData.elemStore["main-body-wrapper"];return o?e(o):null}(o);l&&j(o,t,{scrollTop:l.scrollTop})}function a(e){if(!e.uuid)return;const t=C(e.uuid);t&&(e.scrollY=t),setTimeout((()=>r(e)),300)}function s(e){return l(F,{payload:e},null)}n.dataHooks.dataStart.tap(o,a),n.eventHooks.onFilterChange.tap(o,((e,t)=>a(t))),n.eventHooks.onSortChange.tap(o,((e,t)=>a(t))),n.eventHooks.onToggleTreeExpand.tap(o,((e,t)=>a(t))),n.eventHooks.onResizableChange.tap(o,(async({column:e},t)=>{e.editRender&&e.editRender.props&&w(e.editRender.props)&&a(t)})),n.eventHooks.onScroll.tap(o,h(((e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const l=S(o);l&&j(l,t,e)}),100,!0,!0)),n.fieldHooks.field.tap(o,(e=>{if(w(e)){e.slots={...e.slots,default:s};const t=e.className,o="variable-height";e.className=t?function(e){return x(t)?[t(e),o]:[t,o]}:o}return e})),n.fieldHooks.fieldList.tap(o,((t,o,{$table:l})=>(o.uuid&&p(t,((t,n)=>{var a,s;if(w(t)){const t=null!=(s=null==(a=o.rowConfig)?void 0:a.height)?s:36,i=R(o.uuid),u=o.cellStyle;if(o.cellStyle=function(e){const o={};if(l.value){const n=Math.max(t,i.getMax(l.value.getRowSeq(e.row)));o.height=`${n}px`}return Object.assign(o,u?x(u)?u(e):u:null)},o.sortableConfig&&o.sortableConfig.enable){const t=o.sortableConfig.onEnd;o.sortableConfig.onEnd=function(l){const n=S(o.uuid);if(n){const{internalData:{elemStore:t}}=n,l=t["main-table-body"];l&&e(l)&&j(n,o,{scrollTop:e(l).scrollTop})}x(t)&&t(l)}}o.scrollY={...o.scrollY,mode:"default"},o.onWheel=function(t){let o=null,l=0,n=!0;return function(r){if(!t.uuid)return;const a=S(t.uuid);if(!a)return;const{internalData:s}=a,{isHover:i}=t.rowConfig||{},{deltaX:u,deltaY:c}=r,{refTableLeftBody:d,refTableRightBody:p,refTableBody:f}=a.getRefMaps(),h=c,g=u,v=h<0,x=e(f),y=x?x.$el:null;if(!y)return;if(v?y.scrollTop<=0:y.scrollTop>=y.scrollHeight-y.clientHeight)return;const b=y.scrollTop+h,I=y.scrollLeft+g;if(b===s.lastScrollTop)return;r.preventDefault(),s.lastScrollTop=b,s.lastScrollLeft=I,s.lastScrollTime=Date.now(),i&&a.clearHoverRow();const w=d.value,T=p.value,D=w?w.$el:null,R=T?T.$el:null,M=Math.min(100,Math.abs(Math.floor(h/2)));n&&(l=y.scrollTop,n=!1),l+=M*(v?-1:1),o&&o(),o=m(y.scrollTop,l,400,(e=>{y.scrollTop=e,D&&(D.scrollTop=e),R&&(R.scrollTop=e)}),"easeOutCubic",(()=>{l=y.scrollTop,n=!0})),Y(a,t,y)}}(o),setTimeout((()=>{k(o.uuid,o.scrollY),r(o)}),300),n()}})),t))),n.setupHooks.setup.tap(o,(e=>{t((()=>{e.value.uuid&&(M(e.value.uuid),H(e.value.uuid),$(e.value.uuid))}))}))}})}export{E as variableHeightRendererPlugin};
1
+ import{unref as e,shallowReactive as t,onBeforeUnmount as o,createVNode as l,defineComponent as n,inject as r,ref as a,computed as s,provide as i,watch as u,onMounted as c,h as d}from"vue";import{traverse as p,widthAppend as f}from"../../../../shared/utils/index.js";import{doAnimation as m}from"../../../../shared/utils/anime.js";import{useThrottleFn as h}from"@vueuse/core";import{promiseTimeout as g}from"@vueuse/shared";import{last as v,isFunction as x,isNumber as y}from"lodash-es";import"../../index.js";import{InjectionIhoTableUUID as b}from"../constants/index.js";import{useUUIDMap as I,isVariableHeightColumn as w}from"../utils/index.js";import{defineTablePlugin as T}from"../hooks/useTablePlugin.js";class D{constructor(){this.records={},this.maxRecords=t(new Map)}set(e,t,o){if(this.records[e]||(this.records[e]={}),this.records[e][t]===o)return;this.records[e][t]=o;const l=Math.max(...Object.values(this.records[e]),0);this.maxRecords.get(e)!==l&&this.maxRecords.set(e,l)}getMax(e){return this.maxRecords.get(e)||0}}const{getItemFromUUID:R,removeItemFromUUID:M}=I((()=>new D),!0),{getItemFromUUID:S,removeItemFromUUID:H,setItemFromUUID:U}=I((()=>null)),{getItemFromUUID:C,removeItemFromUUID:$,setItemFromUUID:k}=I((()=>{}));let F={};function j(t,o,{scrollTop:l=0}){var n,r;const{uuid:a,rowConfig:s={}}=o;if(!a)return;const i=R(a),{oSize:u=0,gt:c=100}=null!=(n=C(a))?n:{},{internalData:d,reactData:p}=t,{scrollYStore:f,elemStore:m,afterFullData:h,fullDataRowIdData:g}=d;if(c>h.length)return;const y=null!=(r=s.height)?r:36,b=m["main-body-wrapper"],I=b?e(b):null;let w=I?Math.max(8,Math.ceil(I.clientHeight/y)+2+u):8;const T=[0];let D=0;if(l&&h.find(((e,o)=>{const n=t.getRowSeq(e),r=(v(T)||0)+Math.max(y,i.getMax(n));if(T.push(r),r>l)return D=Math.max(0,o-u),w+=Math.min(D,u),!0})),D>0&&x(o.spanMethod)){const{spanMethod:e}=o,l={rowspan:1,colspan:1};for(;D>0;){if(!t.getColumns().some(((t,o)=>{const{rowspan:n,colspan:r}=e({column:t,columnIndex:o,$columnIndex:o,row:h[D],rowIndex:D,$rowIndex:D,_rowIndex:D,isHidden:!t.visible,fixed:t.fixed,type:t.type,visibleData:h})||l;if(0===n&&0===r)return D--,!0})))break}}const M=`${T[D]}px`,S=`${h.reduce(((e,o)=>{const l=t.getRowSeq(o);return e+Math.max(y,i.getMax(l))}),0)}px`;["main","left","right"].forEach((t=>{const o=m[`${t}-body-table`],n=o?e(o):null;n&&(n.style.marginTop=M,n.scrollTop=l),["header","body","footer"].forEach((o=>{const l=m[`${t}-${o}-ySpace`],n=l?e(l):null;n&&(n.style.height=S)}))}));const H=Math.min(h.length,D+w);if(f.startIndex===D&&f.endIndex===H)return;f.startIndex=D,f.endIndex=H;const U=h.slice(f.startIndex,f.endIndex);U.forEach(((e,o)=>{const l=t.getRowid(e),n=g[l];n&&(n.$index=o)})),p.tableData.length=0,p.tableData.push(...U)}const Y=h(j,300);function E(){const t="variableHeightRendererPlugin";return T({name:t,vxe(e){F=n({props:{payload:{type:Object,required:!0}},setup(t){const o=r(b),n=r("$xetable"),p=a(),m=R(o),h=s((()=>t.payload.row[t.payload.column.field]));function v(){const{row:e,column:o}=t.payload,l=n.getRowSeq(e);if(!m||null==l||!p.value)return;const r=p.value.clientHeight;m.set(l,o.field,r)}i("updateCellHeight",v),u([()=>t.payload.rowIndex,()=>t.payload.column.field,h,()=>t.payload.column.renderWidth],(async()=>{await g(0),v()})),c((()=>{n&&!S(o)&&U(o,n),v()}));const I=s((()=>{var o,l,n,r,a;const s=null!=(l=null==(o=t.payload.column.editRender)?void 0:o.props)?l:{},i=null!=(r=null==(n=s.slots)?void 0:n.default)?r:s.slotFn;if(x(i))return i;const u=null==(a=t.payload.column.editRender)?void 0:a.name;if(u){const o=e.renderer.get(u);if(null==o?void 0:o.renderCell)return()=>o.renderCell(t.payload.column.editRender,t.payload)}return()=>h.value})),w=s((()=>{if(t.payload.column.treeNode)return"";const e=t.payload.column.renderWidth;return y(e)&&e>0?f(e-20-2):""}));return()=>l("div",{ref:p,style:{padding:"7px 0",width:w.value,overflow:"hidden"}},[d(I.value,t.payload)])}})},apply(n){function r(t){const o=S(t.uuid);if(!o)return;t.scrollY={enabled:!1},o.reactData.scrollYLoad=!1;const l=function(t){const o=t.internalData.elemStore["main-body-wrapper"];return o?e(o):null}(o);l&&j(o,t,{scrollTop:l.scrollTop})}function a(e){if(!e.uuid)return;const t=C(e.uuid);t&&(e.scrollY=t),setTimeout((()=>r(e)),300)}function s(e){return l(F,{payload:e},null)}n.dataHooks.dataStart.tap(t,((e,t)=>a(t))),n.eventHooks.onFilterChange.tap(t,((e,t)=>a(t))),n.eventHooks.onSortChange.tap(t,((e,t)=>a(t))),n.eventHooks.onToggleTreeExpand.tap(t,((e,t)=>a(t))),n.eventHooks.onResizableChange.tap(t,(async({column:e},t)=>{e.editRender&&e.editRender.props&&w(e.editRender.props)&&a(t)})),n.eventHooks.onScroll.tap(t,h(((e,t)=>{if(e.isX)return;const{uuid:o}=t;if(!o)return;const l=S(o);l&&j(l,t,e)}),100,!0,!0)),n.fieldHooks.field.tap(t,(e=>{if(w(e)){e.slots={...e.slots,default:s};const t=e.className,o="variable-height";e.className=t?function(e){return x(t)?[t(e),o]:[t,o]}:o}return e})),n.fieldHooks.fieldList.tap(t,((t,o,{$table:l})=>(o.uuid&&p(t,((t,n)=>{var a,s;if(w(t)){const t=null!=(s=null==(a=o.rowConfig)?void 0:a.height)?s:36,i=R(o.uuid),u=o.cellStyle;if(o.cellStyle=function(e){const o={};if(l.value){const n=Math.max(t,i.getMax(l.value.getRowSeq(e.row)));o.height=`${n}px`}return Object.assign(o,u?x(u)?u(e):u:null)},o.sortableConfig&&o.sortableConfig.enable){const t=o.sortableConfig.onEnd;o.sortableConfig.onEnd=function(l){const n=S(o.uuid);if(n){const{internalData:{elemStore:t}}=n,l=t["main-table-body"];l&&e(l)&&j(n,o,{scrollTop:e(l).scrollTop})}x(t)&&t(l)}}o.scrollY={...o.scrollY,mode:"default"},o.onWheel=function(t){let o=null,l=0,n=!0;return function(r){if(!t.uuid)return;const a=S(t.uuid);if(!a)return;const{internalData:s}=a,{isHover:i}=t.rowConfig||{},{deltaX:u,deltaY:c}=r,{refTableLeftBody:d,refTableRightBody:p,refTableBody:f}=a.getRefMaps(),h=c,g=u,v=h<0,x=e(f),y=x?x.$el:null;if(!y)return;if(v?y.scrollTop<=0:y.scrollTop>=y.scrollHeight-y.clientHeight)return;const b=y.scrollTop+h,I=y.scrollLeft+g;if(b===s.lastScrollTop)return;r.preventDefault(),s.lastScrollTop=b,s.lastScrollLeft=I,s.lastScrollTime=Date.now(),i&&a.clearHoverRow();const w=d.value,T=p.value,D=w?w.$el:null,R=T?T.$el:null,M=Math.min(100,Math.abs(Math.floor(h/2)));n&&(l=y.scrollTop,n=!1),l+=M*(v?-1:1),o&&o(),o=m(y.scrollTop,l,400,(e=>{y.scrollTop=e,D&&(D.scrollTop=e),R&&(R.scrollTop=e)}),"easeOutCubic",(()=>{l=y.scrollTop,n=!0})),Y(a,t,y)}}(o),setTimeout((()=>{k(o.uuid,o.scrollY),r(o)}),300),n()}})),t))),n.setupHooks.setup.tap(t,(e=>{o((()=>{e.value.uuid&&(M(e.value.uuid),H(e.value.uuid),$(e.value.uuid))}))}))}})}export{E as variableHeightRendererPlugin};
@@ -1 +1 @@
1
- import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as i,constant as o,isFunction as a,noop as l,range as d,property as u}from"lodash-es";import{IhoTableRenderHelper as c}from"../../../utils/index.js";import{VERTICAL_CELL_TYPE as f}from"./constants.js";function s(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function p(e){return!!r(e)&&e.startsWith("header_")}function h(e){return!!r(e)&&e.startsWith("body_")}function _(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function m(n,t){const r=[];return e(n,((n,i,o)=>{n.parent=o,n.children||(!function(n,t){if(!n.parent)return n[`header_${t}`]=n.title,void d(t+1).forEach((e=>{n[`header_${e}_colspan`]=e===t?t+1:0,n[`header_${e}_rowspan`]=e===t?1:0}));let r=0,i=n;const o=[n];for(;i.parent;)r++,i=i.parent,o.unshift(i);d(t+1).forEach((i=>{var a,l;const d=o[i];if(!d)return n[`header_${i}`]="",n[`header_${i}_colspan`]=0,void(n[`header_${i}_rowspan`]=0);n[`header_${i}`]=null!=(l=null==(a=o[i])?void 0:a.title)?l:"",n[`header_${i}_colspan`]=i<r?1:t-r+1,n[`header_${i}_rowspan`]=function(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}(d)}))}(n,t),r.push(n))})),r.forEach(((e,n)=>{const i=r[n-1];i&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===i[n]&&r&&n!==`header_${t}`&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r}const g=Object.freeze({rowspan:1,colspan:1});function x(e,n,t){var r,i;if(!p(e.column.field)){if(!n||!t)return g;const r=n(j(e,t));return r?{rowspan:r.colspan,colspan:r.rowspan}:g}return{rowspan:null!=(r=e.row[e.column.field+"_rowspan"])?r:1,colspan:null!=(i=e.row[e.column.field+"_colspan"])?i:1}}const w=({cell:e}={})=>{const n=e&&e.querySelector("input,.n-input__input-el,.n-input__textarea-el");return n&&n.click(),n};function $(n,r){let i=120;return e(r,((e,r,o,a)=>{a===n&&(i=Math.max(i,t(e.title||"")+20+(c.hasTitlePrefix(e)?20:0)))})),Math.ceil(i)}function v(e,n,t){const r=D(t);let u=r.getTableConfig("verticalConfig.headerWidth");u="auto"===u?$:i(u)?o(u):a(u)?u:$;let c=r.getTableConfig("verticalConfig.bodyWidth");c=i(c)?o(c):a(c)?c:l;let s=r.getTableConfig("verticalConfig.bodyMinWidth");return s=i(s)?o(s):a(s)?s:o(120),[...d(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:u(e,t.originalFieldList),fixed:"left",editRender:{name:f,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:s(n),width:c(n),editRender:{name:f,props:{},enable:!0,autofocus:w}})))]}function b(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[i,o,a]=r;return{fieldKey:i,type:o,sequence:+a}}function y(e){return e.originalField}function I(e,n){var t;return null==(t=e.originalData)?void 0:t[n]}function C(e,n){const t=_(n.field),r=y(e);return{row:I(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function T(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function D(e){return{getOriginDataByColumn(n){var t;return null==(t=e.originalData)?void 0:t[_(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function W(e,n){return new Proxy({},{get(t,r){var i;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(p(r))return e[r];if(h(r)){const t=_(r);return"seq"===e.type?t+1:null==(i=n[t])?void 0:i[e.field]}return t[r]},set(t,r,i){if(!p(r)){const t=_(r);t>=0&&n[t]&&(n[t][e.field]=i)}return!0}})}function j({$columnIndex:e,$rowIndex:n,column:t,columnIndex:r,row:i,rowIndex:o,type:a,_columnIndex:l,_rowIndex:d},u){var c;if(t){const f=a;if(a=p(t.field)?"header":"body",i){const s=_(t.field);t=y(i),i="header"===a?void 0:I(i,s),l=r=e="header"===f?n||0:((null==(c=u.fixedLeftVerticalData)?void 0:c.length)||0)+(n||0),d=o=n="header"===a?-1:s}}return{column:t,row:i,_columnIndex:l,_rowIndex:d,columnIndex:r,rowIndex:o,$columnIndex:e,$rowIndex:n,type:a}}w.toString=()=>"input,.n-input__input-el";export{j as basicParamsConvert,m as bindHeaderInfoAndFlatten,W as createDataProxy,v as createVerticalFieldList,D as createVerticalStateHandler,T as findFixedLeftFields,_ as getHeaderDepthByField,C as getOriginBasePayload,y as getOriginFieldFromRowData,I as getOriginRowFromRowData,x as getSpanInfo,b as getVerticalInfoFromEvent,h as isVerticalBody,p as isVerticalHeader,s as isVerticalTable};
1
+ import{traverse as e,findAncestor as n,getStringWidth as t}from"../../../../../../shared/utils/index.js";import{isString as r,isNumber as o,constant as i,isFunction as a,noop as l,range as d,property as u}from"lodash-es";import{IhoTableRenderHelper as c}from"../../../utils/index.js";import{VERTICAL_CELL_TYPE as f}from"./constants.js";function s(e){var n;return!!(null==(n=e.verticalConfig)?void 0:n.enable)}function p(e){return!!r(e)&&e.startsWith("header_")}function h(e){return!!r(e)&&e.startsWith("body_")}function _(e){var n;return r(e)?+(null!=(n=e.split("_")[1])?n:-1):-1}function m(n,t){const r=[];return e(n,((n,o,i)=>{n.parent=i,n.children||(!function(n,t){if(!n.parent)return n[`header_${t}`]=n.title,void d(t+1).forEach((e=>{n[`header_${e}_colspan`]=e===t?t+1:0,n[`header_${e}_rowspan`]=e===t?1:0}));let r=0,o=n;const i=[n];for(;o.parent;)r++,o=o.parent,i.unshift(o);d(t+1).forEach((o=>{var a,l;const d=i[o];if(!d)return n[`header_${o}`]="",n[`header_${o}_colspan`]=0,void(n[`header_${o}_rowspan`]=0);n[`header_${o}`]=null!=(l=null==(a=i[o])?void 0:a.title)?l:"",n[`header_${o}_colspan`]=o<r?1:t-r+1,n[`header_${o}_rowspan`]=function(n){if(!n.children)return 1;let t=0;return e(n.children,(e=>{e.children||t++})),t}(d)}))}(n,t),r.push(n))})),r.forEach(((e,n)=>{const o=r[n-1];o&&Object.entries(e).forEach((([n,r])=>{n.match(/^header_(\d+)$/)&&r===o[n]&&r&&n!==`header_${t}`&&(e[`${n}_colspan`]=0,e[`${n}_rowspan`]=0)}))})),r}const g=Object.freeze({rowspan:1,colspan:1});function w(e,n,t){var r,o;if(!p(e.column.field)){if(!n||!t)return g;const r=n(j(e,t));return r?{rowspan:r.colspan,colspan:r.rowspan}:g}return{rowspan:null!=(r=e.row[e.column.field+"_rowspan"])?r:1,colspan:null!=(o=e.row[e.column.field+"_colspan"])?o:1}}const x=({cell:e,row:n}={})=>{const t=e&&e.querySelector("input,.n-input__input-el,.n-input__textarea-el");if(t){const e=n?y(n):void 0;"INPUT"===(null==e?void 0:e.editRender.name)?t.focus():t.click()}return t};function v(n,r){let o=120;return e(r,((e,r,i,a)=>{a===n&&(o=Math.max(o,t(e.title||"")+20+(c.hasTitlePrefix(e)?20:0)))})),Math.ceil(o)}function $(e,n,t){const r=D(t);let u=r.getTableConfig("verticalConfig.headerWidth");u="auto"===u?v:o(u)?i(u):a(u)?u:v;let c=r.getTableConfig("verticalConfig.bodyWidth");c=o(c)?i(c):a(c)?c:l;let s=r.getTableConfig("verticalConfig.bodyMinWidth");return s=o(s)?i(s):a(s)?s:i(120),[...d(n+1).map((e=>({field:`header_${e}`,title:`header_${e}`,width:u(e,t.originalFieldList),fixed:"left",editRender:{name:f,props:{},enable:!1}}))),...e.map(((e,n)=>({field:`body_${n}`,title:`body_${n}`,minWidth:s(n),width:c(n),editRender:{name:f,props:{},enable:!0,autofocus:x}})))]}function b(e){const t=n(e.target,(e=>"TD"===e.tagName||"TH"===e.tagName));if(!t)return;const r=t.className.match(/(body|header)_(\d+)/);if(!r)return;const[o,i,a]=r;return{fieldKey:o,type:i,sequence:+a}}function y(e){return e.originalField}function I(e,n){var t;return null==(t=e.originalData)?void 0:t[n]}function C(e,n){const t=_(n.field),r=y(e);return{row:I(e,t),rowIndex:t,$rowIndex:t,column:r,fixed:r.fixed,type:r.type}}function T(n){const t=[];return e(n,(e=>{"left"===e.fixed&&t.push(e)})),t}function D(e){return{getOriginDataByColumn(n){var t;return null==(t=e.originalData)?void 0:t[_(n.field)]},getTableConfig:n=>u(n)(e.originalTableConfig)}}function W(e,n){return new Proxy({},{get(t,r){var o;if("originalField"===r)return e;if("originalData"===r)return a(n)?n():n;if(p(r))return e[r];if(h(r)){const t=_(r);return"seq"===e.type?t+1:null==(o=n[t])?void 0:o[e.field]}return t[r]},set(t,r,o){if(!p(r)){const t=_(r);t>=0&&n[t]&&(n[t][e.field]=o)}return!0}})}function j({$columnIndex:e,$rowIndex:n,column:t,columnIndex:r,row:o,rowIndex:i,type:a,_columnIndex:l,_rowIndex:d},u){var c;if(t){const f=a;if(a=p(t.field)?"header":"body",o){const s=_(t.field);t=y(o),o="header"===a?void 0:I(o,s),l=r=e="header"===f?n||0:((null==(c=u.fixedLeftVerticalData)?void 0:c.length)||0)+(n||0),d=i=n="header"===a?-1:s}}return{column:t,row:o,_columnIndex:l,_rowIndex:d,columnIndex:r,rowIndex:i,$columnIndex:e,$rowIndex:n,type:a}}x.toString=()=>"input,.n-input__input-el";export{j as basicParamsConvert,m as bindHeaderInfoAndFlatten,W as createDataProxy,$ as createVerticalFieldList,D as createVerticalStateHandler,T as findFixedLeftFields,_ as getHeaderDepthByField,C as getOriginBasePayload,y as getOriginFieldFromRowData,I as getOriginRowFromRowData,w as getSpanInfo,b as getVerticalInfoFromEvent,h as isVerticalBody,p as isVerticalHeader,s as isVerticalTable};
@@ -151,9 +151,9 @@ type DataHookContext = {
151
151
  };
152
152
  export type WithTableDataContext<T> = [...WithTableConfig<T>, DataHookContext];
153
153
  export declare abstract class AbstractDataHooks {
154
- abstract readonly dataStart: AsyncParallelHook<WithTableConfig>;
154
+ abstract readonly dataStart: AsyncParallelHook<WithTableConfig<IhoTableHandlerContext>>;
155
155
  abstract readonly data: AsyncSeriesHook<WithTableDataContext<[AnyObject]>>;
156
- abstract readonly dataEnd: AsyncParallelHook<WithTableConfig>;
156
+ abstract readonly dataEnd: AsyncParallelHook<WithTableConfig<IhoTableHandlerContext>>;
157
157
  abstract readonly dataList: SyncWaterfallHook<WithTableConfig<[AnyObject[]]>>;
158
158
  }
159
159
  export declare abstract class AbstractSetupHooks {
@@ -1 +1 @@
1
- import{reactive as e,inject as t,unref as n,toRaw as r,normalizeStyle as i,createVNode as o}from"vue";import{jsonParse as l}from"../../../../shared/utils/index.js";import{promiseTimeout as u}from"@vueuse/shared";import{parse as a,isValid as c,compareDesc as s}from"date-fns";import{isNumber as d,isFunction as f,isString as p,isObject as m,isArray as v}from"lodash-es";import{InjectionIhoTableEmits as h,InjectionIhoTableConfig as g,IHO_TABLE_STRING_STATUS as I,IHO_TABLE_NUMBER_STATUS as E,IHO_TABLE_TREE_TYPE as T,EDITABLE_WIDGET_TYPE as w,InjectionIhoTableUUID as F}from"../constants/index.js";import{getSeparateInfo as S}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function R(e){return console.warn(`[IhoTable]: ${e}`)}const C=Object.freeze({getCellType(e){var t;return((null==(t=e.settingObj)?void 0:t.attr)||e.formType||"DEFAULT").toUpperCase()}});function b(){var e,n,r;const i=t(g);return i||R("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(n=null==(e=null==i?void 0:i.value)?void 0:e.rowConfig)?void 0:n.height)?r:32}function D(e){const t=e.slice(2);return`${t[0].toLowerCase()}${t.slice(1)}`}function O(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function P(t,n=!0){const r=n?e(new Map):new Map;return{uuidMap:r,getItemFromUUID:function(e){return r.get(e)||r.set(e,t()),r.get(e)},setItemFromUUID:function(e,t){r.set(e,t)},removeItemFromUUID:function(e){r.delete(e)}}}async function x(e,t,r,i,o=2){const l=function(){var o;const l=null==(o=n(i))?void 0:o.getColumnByField(e.field);if(!l)return;const u=y(l);return u?f(u.separateWidth)?u.separateWidth({column:l,row:t,rowIndex:r,$table:n(i)}):d(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return d(l)&&l>0?l:o<=0?function(){const t=+e.colWidth;return d(t)?t:64}():(await u(0),x(e,t,r,i,o-1))}function A(e){const i=t(h);function o(){var t;const r=n(e);return{$table:r.$table,value:r.row[r.column.field],row:r.row,column:{...r.column,...null==(t=r.column.editRender)?void 0:t.props},index:r.rowIndex>-1?r.rowIndex:r.$rowIndex}}function l(e={}){i("formChange",{...o(),...r(e)})}function u(e={}){i("formClick",{...o(),...r(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function y(e){var t;return null==(t=e.editRender)?void 0:t.props}const $=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:n,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(n[r.field]);const i=t(F),l=S(i,n);if(!l)return c(n[r.field]);const{originalData:u=n,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:U(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:t},n){return e({...n,fieldItem:t||{},...A(n)})}},isEditableColumn(e,t){var n;return!1!==(null==(n=e.editConfig)?void 0:n.showIcon)&&t.editRender&&!1!==t.editRender.enabled},hasFilter(e){return this.hasDateFilter(e)||this.hasOptionFilter(e)||this.hasTextFilter(e)},hasDynamicFilter:e=>e.optionInfo&&(e.optionInfo.dynamicOptionInfo||e.optionInfo.list),hasRemoteSearchFilter(e){var t;return"remote"===(null==(t=e.filterSetting)?void 0:t.type)},hasOptionFilter(e){var t;if(M(e))return!0;const n=null==(t=e.settingObj)?void 0:t.showSetting;if(n&&n.length)return n.some((e=>{var t;return e.change_text&&(null==(t=e.filter)?void 0:t.length)}));let r=e.fieldSetting;return p(r)&&(r=l(r||"")),m(r)&&((i=r).notParticipatingSearch!==I.POSITIVE&&"manual"===(null==(o=i.mapping)?void 0:o.type));var i,o},hasDateFilter(e){var t;return"daterange"===(null==(t=null==e?void 0:e.filterSetting)?void 0:t.type)},hasTextFilter(e){var t;return"text"===(null==(t=null==e?void 0:e.filterSetting)?void 0:t.type)},hasTitlePrefix(e){var t,n;return e&&((null==(t=e.titlePrefix)?void 0:t.content)||(null==(n=e.titlePrefix)?void 0:n.useHTML))}}),_=Object.freeze({isPositive:e=>e===E.POSITIVE||e===I.POSITIVE,isNegative:e=>e===E.NEGATIVE||e===I.NEGATIVE,notPositive:e=>e!==E.POSITIVE&&e!==I.POSITIVE,notNegative:e=>e!==E.NEGATIVE&&e!==I.NEGATIVE});function N(e){return[T.TRANSFORM_WITH_SPAN_METHOD,T.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function H(e){return p(e)&&!!e.match(/^###\{[^{}]+}$/)}function V(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function W(e,t){if(e.$__SEPARATE||!t.editRender||!t.editRender.props)return e[t.field];const{fieldSetting:n}=t.editRender.props;if(!p(n))return e[t.field];const{mergedFeildExpression:r}=l(n);return r&&p(r)?r.replace(/#{(.+?)}/g,(function(t,n){let r=n?e[n.trim()]:null;H(r)&&(r=V(r).change_text);return r||(null==r?"--":r)})):e[t.field]}const j=["SEARCH","SELECT","RADIO","CHECKBOX"];function M(e){return e.notParticipatingSearch===E.NEGATIVE&&j.includes(C.getCellType(e))&&v(e.options)&&e.options.length}function U(e,t=""){return"tooltip"!==e.showOverflow&&p(t)?t:""}function G(e,t){var r,i,o;t=n(t)||"";const l=null!=(i=null==(r=e.editRender)?void 0:r.props)?i:{},u=a(t,(null==(o=null==l?void 0:l.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!c(u)}function L(e,t,r){var i,o;const l=null!=(o=null==(i=e.editRender)?void 0:i.props)?o:{};return r=n(r)||"",!c(new Date(r))||p(l.connectField)&&t[l.connectField]&&(l.isStartDate&&s(new Date(r),new Date(t[l.connectField]))<0||l.isEndDate&&s(new Date(r),new Date(t[l.connectField]))>0)}function k(e){var t,n;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(n=null==(t=e.editRender)?void 0:t.name)?n:C.getCellType(e))!==w.SEPARATE}function z(e){const t=e.internalData.tableFullColumn;return!!v(t)&&t.some((e=>{var t,n;return k(null!=(n=null==(t=e.editRender)?void 0:t.props)?n:{})}))}function B(e,t){return t?e?n=>[f(e)?e(n):e,f(t)?t(n):t]:t:e}function J(e,t){return t?e?n=>i([f(e)?e(n):e,f(t)?t(n):t]):t:e}function K(e){return function({option:t,column:n,row:r}){if(e&&v(r[e])&&r[e].length)return!1;const i=r[n.field];if(v(i))return i.some((e=>[t.label,t.value].includes(e)));if(p(i)){if(i===t.value||i===t.label)return!0;const{value:e,change_text:n}=V(i);return n===t.label||e===t.value}return null!=i&&t.value===i}}export{$ as IhoTableRenderHelper,_ as IhoTableStatusHelper,C as IhoTableUtils,R as IhoTableWarn,K as createIhoTableFilterMethod,D as eventListener2EventName,O as eventName2EventListener,x as getColumnRenderWidth,y as getLowCodeFieldFromField,b as getRowHeight,U as getTitle,M as isCompatibleColumn,L as isInvalidDate,G as isInvalidTime,H as isRichContent,N as isTransformTreeType,k as isVariableHeightColumn,z as isVariableHeightTable,B as mergeVxeClass,J as mergeVxeStyle,W as parseMergeField,V as parseRichContent,A as useIhoTableFormEvent,P as useUUIDMap};
1
+ import{reactive as e,inject as t,toRaw as n,unref as r,normalizeStyle as i,createVNode as o}from"vue";import{jsonParse as l}from"../../../../shared/utils/index.js";import{promiseTimeout as u}from"@vueuse/shared";import{parse as a,isValid as c,compareDesc as s}from"date-fns";import{isString as d,isFunction as f,isNumber as p,isObject as m,isArray as v}from"lodash-es";import{InjectionIhoTableEmits as h,IHO_TABLE_NUMBER_STATUS as g,IHO_TABLE_STRING_STATUS as I,IHO_TABLE_TREE_TYPE as E,InjectionIhoTableConfig as T,EDITABLE_WIDGET_TYPE as w,InjectionIhoTableUUID as F}from"../constants/index.js";import{getSeparateInfo as S}from"./separateMap.js";export{deleteSeparateInfo,getSeparateInfo,setSeparateInfo}from"./separateMap.js";function R(e){return console.warn(`[IhoTable]: ${e}`)}const C=Object.freeze({getCellType(e){var t;return((null==(t=e.settingObj)?void 0:t.attr)||e.formType||"DEFAULT").toUpperCase()}});function b(){var e,n,r;const i=t(T);return i||R("this function(getRowHeight) only can be used in setup environment"),null!=(r=null==(n=null==(e=null==i?void 0:i.value)?void 0:e.rowConfig)?void 0:n.height)?r:32}function D(e){const t=e.slice(2);return`${t[0].toLowerCase()}${t.slice(1)}`}function O(e){return`on${e[0].toUpperCase()}${e.slice(1)}`}function P(t,n=!0){const r=n?e(new Map):new Map;return{uuidMap:r,getItemFromUUID:function(e){return r.get(e)||r.set(e,t()),r.get(e)},setItemFromUUID:function(e,t){r.set(e,t)},removeItemFromUUID:function(e){r.delete(e)}}}async function x(e,t,n,i,o=2){const l=function(){var o;const l=null==(o=r(i))?void 0:o.getColumnByField(e.field);if(!l)return;const u=y(l);return u?f(u.separateWidth)?u.separateWidth({column:l,row:t,rowIndex:n,$table:r(i)}):p(u.separateWidth)?u.separateWidth:l.renderWidth:l.renderWidth}();return p(l)&&l>0?l:o<=0?function(){const t=+e.colWidth;return p(t)?t:64}():(await u(0),x(e,t,n,i,o-1))}function A(e){const i=t(h);function o(){var t;const n=r(e);return{$table:n.$table,value:n.row[n.column.field],row:n.row,column:{...n.column,...null==(t=n.column.editRender)?void 0:t.props},index:n.rowIndex>-1?n.rowIndex:n.$rowIndex}}function l(e={}){i("formChange",{...o(),...n(e)})}function u(e={}){i("formClick",{...o(),...n(e)})}return{emitFormChange:function(){l()},emitFormClick:function(){u()},emitFormChangeWithParams:l,emitFormClickWithParams:u}}function y(e){var t;return null==(t=e.editRender)?void 0:t.props}const $=Object.freeze({createDefaultRenderCell:function(){return function({props:e},{row:n,column:r}){if("bottom"!==(null==e?void 0:e.separatePlacement))return c(n[r.field]);const i=t(F),l=S(i,n);if(!l)return c(n[r.field]);const{originalData:u=n,isLastRow:a}=l;return c(a?u[r.field]:null);function c(e){return[o("span",{title:U(r,e),class:"iho-table__colorAndIcon"},[e])]}}},createRenderEdit:function(e){return function({props:t},n){return e({...n,fieldItem:t||{},...A(n)})}},isEditableColumn(e,t){var n;return!1!==(null==(n=e.editConfig)?void 0:n.showIcon)&&t.editRender&&!1!==t.editRender.enabled},hasFilter(e){return this.hasDateFilter(e)||this.hasOptionFilter(e)||this.hasTextFilter(e)},hasDynamicFilter:e=>e.optionInfo&&(e.optionInfo.dynamicOptionInfo||e.optionInfo.list),hasRemoteSearchFilter(e){var t;return"remote"===(null==(t=e.filterSetting)?void 0:t.type)},hasOptionFilter(e){var t;if(M(e))return!0;const n=null==(t=e.settingObj)?void 0:t.showSetting;if(n&&n.length)return n.some((e=>{var t;return e.change_text&&(null==(t=e.filter)?void 0:t.length)}));let r=e.fieldSetting;return d(r)&&(r=l(r||"")),m(r)&&((i=r).notParticipatingSearch!==I.POSITIVE&&"manual"===(null==(o=i.mapping)?void 0:o.type));var i,o},hasDateFilter(e){var t;return"daterange"===(null==(t=null==e?void 0:e.filterSetting)?void 0:t.type)},hasTextFilter(e){var t;return"text"===(null==(t=null==e?void 0:e.filterSetting)?void 0:t.type)},hasTitlePrefix(e){var t,n;return e&&((null==(t=e.titlePrefix)?void 0:t.content)||(null==(n=e.titlePrefix)?void 0:n.useHTML))}}),_=Object.freeze({isPositive:e=>e===g.POSITIVE||e===I.POSITIVE,isNegative:e=>e===g.NEGATIVE||e===I.NEGATIVE,notPositive:e=>e!==g.POSITIVE&&e!==I.POSITIVE,notNegative:e=>e!==g.NEGATIVE&&e!==I.NEGATIVE});function N(e){return[E.TRANSFORM_WITH_SPAN_METHOD,E.TRANSFORM_TREE_TYPE].includes(`${e.isTree}`)}function H(e){return d(e)&&!!e.match(/^###\{[^{}]+}$/)}function V(e){try{return JSON.parse(e.replace(/^###/,""))}catch(e){return{}}}function W(e,t){if(e.$__SEPARATE||!t.editRender||!t.editRender.props)return e[t.field];const{fieldSetting:n}=t.editRender.props;if(!d(n))return e[t.field];const{mergedFeildExpression:r}=l(n);return r&&d(r)?r.replace(/#{(.+?)}/g,(function(t,n){let r=n?e[n.trim()]:null;H(r)&&(r=V(r).change_text);return r||(null==r?"--":r)})):e[t.field]}const j=["SEARCH","SELECT","RADIO","CHECKBOX"];function M(e){return e.notParticipatingSearch===g.NEGATIVE&&j.includes(C.getCellType(e))&&v(e.options)&&e.options.length}function U(e,t=""){return"tooltip"!==e.showOverflow&&d(t)?t:""}function G(e,t){var n,i,o;t=r(t)||"";const l=null!=(i=null==(n=e.editRender)?void 0:n.props)?i:{},u=a(t,(null==(o=null==l?void 0:l.componentProps)?void 0:o.valueFormat)||"HH:mm",new Date);return!c(u)}function L(e,t,n){var i,o;const l=null!=(o=null==(i=e.editRender)?void 0:i.props)?o:{};return n=r(n)||"",!c(new Date(n))||d(l.connectField)&&t[l.connectField]&&(l.isStartDate&&s(new Date(n),new Date(t[l.connectField]))<0||l.isEndDate&&s(new Date(n),new Date(t[l.connectField]))>0)}function k(e){var t,n;return(!0===e.variableHeight||"1"===e.variableHeight)&&(null!=(n=null==(t=e.editRender)?void 0:t.name)?n:C.getCellType(e))!==w.SEPARATE}function z(e){const t=e.internalData.tableFullColumn;return!!v(t)&&t.some((e=>{var t,n;return k(null!=(n=null==(t=e.editRender)?void 0:t.props)?n:{})}))}function B(e,t){return t?e?n=>[f(e)?e(n):e,f(t)?t(n):t]:t:e}function J(e,t){return t?e?n=>i([f(e)?e(n):e,f(t)?t(n):t]):t:e}function K(e){return function({option:t,column:n,row:r}){if(e&&v(r[e])&&r[e].length)return!1;const i=r[n.field];if(v(i))return i.some((e=>[t.label,t.value].includes(e)));if(d(i)){if(i===t.value||i===t.label)return!0;const{value:e,change_text:n}=V(i);return n===t.label||e===t.value}return null!=i&&t.value===i}}export{$ as IhoTableRenderHelper,_ as IhoTableStatusHelper,C as IhoTableUtils,R as IhoTableWarn,K as createIhoTableFilterMethod,D as eventListener2EventName,O as eventName2EventListener,x as getColumnRenderWidth,y as getLowCodeFieldFromField,b as getRowHeight,U as getTitle,M as isCompatibleColumn,L as isInvalidDate,G as isInvalidTime,H as isRichContent,N as isTransformTreeType,k as isVariableHeightColumn,z as isVariableHeightTable,B as mergeVxeClass,J as mergeVxeStyle,W as parseMergeField,V as parseRichContent,A as useIhoTableFormEvent,P as useUUIDMap};