@gct-paas/core-web 0.1.4-dev.11 → 0.1.4-dev.13

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 (383) hide show
  1. package/dist/de_DE-Dlmr1Wso.js +152 -0
  2. package/dist/en_US-B9GNh9s3.js +173 -0
  3. package/dist/es_ES-CdOh6_BZ.js +159 -0
  4. package/dist/fr_FR-DA5AJaJ_.js +168 -0
  5. package/dist/index.min.css +2 -1
  6. package/dist/ja_JP-DE6fp7p7.js +140 -0
  7. package/dist/loader.esm.min.js +9583 -0
  8. package/dist/monaco-editor-Di2Ob0f2.js +279 -0
  9. package/dist/objectSpread2-fLnUNEWu.js +62 -0
  10. package/dist/pt_PT-DqWIQ8Sv.js +134 -0
  11. package/dist/ru_RU-B7eejpuq.js +165 -0
  12. package/dist/tr_TR-Cp-TWGG5.js +167 -0
  13. package/dist/useMonacoEditor-B4gp3RiK.js +2788 -0
  14. package/dist/vi_VN-BWekEft9.js +85 -0
  15. package/dist/zh_CN-CaadhslE.js +174 -0
  16. package/dist/zh_TW-DHMPuQGm.js +169 -0
  17. package/es/_virtual/_plugin-vue_export-helper.mjs +7 -8
  18. package/es/components/app-modal/app-modal-component.mjs +102 -133
  19. package/es/components/assets-svg-icon/assets-svg-icon.mjs +161 -232
  20. package/es/components/assets-svg-icon/request.mjs +60 -43
  21. package/es/components/assets-svg-icon/utils.mjs +21 -19
  22. package/es/components/assets-svg-icon/validate.mjs +27 -41
  23. package/es/components/base-button/base-button.vue.mjs +7 -7
  24. package/es/components/base-button/base-button.vue_vue_type_script_setup_true_name_BaseButton_lang.mjs +181 -0
  25. package/es/components/basic-button/basic-button.vue.mjs +7 -7
  26. package/es/components/basic-button/basic-button.vue_vue_type_script_setup_true_name_BasicButton_lang.mjs +148 -0
  27. package/es/components/code-editor/code-editor.mjs +59 -63
  28. package/es/components/copy-module-key/copy-module-key.vue.mjs +7 -7
  29. package/es/components/copy-module-key/copy-module-key.vue_vue_type_script_setup_true_name_copy-module-key_lang.mjs +92 -0
  30. package/es/components/double-input/double-input.vue.mjs +5 -158
  31. package/es/components/double-input/double-input.vue_vue_type_script_setup_true_lang.mjs +121 -0
  32. package/es/components/field-upload/index.d.ts +2 -0
  33. package/es/components/field-upload/index.mjs +7 -0
  34. package/es/components/field-upload/src/FieldUpload.vue.d.ts +37 -0
  35. package/es/components/field-upload/src/FieldUpload.vue.mjs +5 -0
  36. package/es/components/field-upload/src/FieldUpload.vue_vue_type_script_setup_true_name_FieldUpload_lang.mjs +111 -0
  37. package/es/components/field-upload/src/components/base-upload.vue.d.ts +21 -0
  38. package/es/components/field-upload/src/components/base-upload.vue.mjs +7 -0
  39. package/es/components/field-upload/src/components/base-upload.vue_vue_type_script_name_baseUpload_setup_true_lang.mjs +227 -0
  40. package/es/components/field-upload/src/components/base-upload.vue_vue_type_style_index_0_scoped_f53b6ac6_lang.css +76 -0
  41. package/es/components/field-upload/src/components/file-list.vue.d.ts +17 -0
  42. package/es/components/field-upload/src/components/file-list.vue.mjs +7 -0
  43. package/es/components/field-upload/src/components/file-list.vue_vue_type_script_setup_true_name_fileList_lang.mjs +129 -0
  44. package/es/components/field-upload/src/components/file-list.vue_vue_type_style_index_0_scoped_3918aad0_lang.css +129 -0
  45. package/es/components/field-upload/src/components/upload-design.vue.d.ts +5 -0
  46. package/es/components/field-upload/src/components/upload-design.vue.mjs +7 -0
  47. package/es/components/field-upload/src/components/upload-design.vue_vue_type_script_name_UploadDesign_setup_true_lang.mjs +43 -0
  48. package/es/components/field-upload/src/components/upload-design.vue_vue_type_style_index_0_scoped_1e5189c1_lang.css +43 -0
  49. package/es/components/field-upload/src/hooks/hooks.d.ts +4 -0
  50. package/es/components/field-upload/src/hooks/hooks.mjs +47 -0
  51. package/es/components/field-upload/src/types/index.d.ts +42 -0
  52. package/es/components/field-upload/src/types/index.mjs +24 -0
  53. package/es/components/icon-next/hooks/useIconAsset.mjs +32 -44
  54. package/es/components/icon-next/hooks/useIconPark.mjs +48 -48
  55. package/es/components/icon-next/hooks/useIconPlatform.mjs +37 -42
  56. package/es/components/icon-next/index.mjs +3 -0
  57. package/es/components/icon-next/src/IconNext.vue.mjs +7 -0
  58. package/es/components/icon-next/src/IconNext.vue_vue_type_script_setup_true_name_IconNext_lang.mjs +113 -0
  59. package/es/components/icon-next/src/IconNextPicker.vue.mjs +6 -0
  60. package/es/components/icon-next/src/IconNextPicker.vue_vue_type_script_setup_true_name_IconNextPicker_lang.mjs +379 -0
  61. package/es/components/icon-next/types/index.mjs +10 -9
  62. package/es/components/image-upload/index.d.ts +2 -0
  63. package/es/components/image-upload/index.mjs +7 -0
  64. package/es/components/image-upload/src/ImageUpload.vue.d.ts +32 -0
  65. package/es/components/image-upload/src/ImageUpload.vue.mjs +5 -0
  66. package/es/components/image-upload/src/ImageUpload.vue_vue_type_script_setup_true_name_ImageUpload_lang.mjs +74 -0
  67. package/es/components/image-upload/src/components/base-upload.vue.d.ts +24 -0
  68. package/es/components/image-upload/src/components/base-upload.vue.mjs +8 -0
  69. package/es/components/image-upload/src/components/base-upload.vue_vue_type_script_name_baseUpload_setup_true_lang.mjs +209 -0
  70. package/es/components/image-upload/src/components/base-upload.vue_vue_type_style_index_0_scoped_3248e630_lang.css +73 -0
  71. package/es/components/image-upload/src/components/base-upload.vue_vue_type_style_index_1_lang.css +3 -0
  72. package/es/components/image-upload/src/components/upload-design.vue.d.ts +6 -0
  73. package/es/components/image-upload/src/components/upload-design.vue.mjs +7 -0
  74. package/es/components/image-upload/src/components/upload-design.vue_vue_type_script_name_UploadDesign_setup_true_lang.mjs +33 -0
  75. package/es/components/image-upload/src/components/upload-design.vue_vue_type_style_index_0_scoped_575d3a1a_lang.css +33 -0
  76. package/es/components/image-upload/src/hooks/hooks.d.ts +2 -0
  77. package/es/components/image-upload/src/types/index.d.ts +34 -0
  78. package/es/components/image-upload/src/types/index.mjs +8 -0
  79. package/es/components/index.d.ts +4 -1
  80. package/es/components/index.mjs +25 -34
  81. package/es/components/layout/view-container/view-container.mjs +24 -35
  82. package/es/components/svg-icon/svg-icon.vue.mjs +6 -50
  83. package/es/components/svg-icon/svg-icon.vue_vue_type_script_setup_true_name_SvgIcon_lang.mjs +52 -0
  84. package/es/components/vue3-grid-dnd-item/vue3-grid-dnd-item.css +103 -0
  85. package/es/components/vue3-grid-dnd-item/vue3-grid-dnd-item.d.ts +44 -0
  86. package/es/components/vue3-grid-dnd-item/vue3-grid-dnd-item.mjs +122 -0
  87. package/es/components/wujie-container/wujie-container.mjs +58 -81
  88. package/es/create-app-vue.mjs +27 -19
  89. package/es/directives/drag-resize.mjs +38 -39
  90. package/es/directives/ellipsis-title.d.ts +7 -0
  91. package/es/directives/ellipsis-title.mjs +21 -0
  92. package/es/directives/index.mjs +14 -6
  93. package/es/directives/target-loading.mjs +28 -36
  94. package/es/hooks/index.mjs +4 -0
  95. package/es/hooks/useDesign.mjs +7 -8
  96. package/es/hooks/useDragLine.mjs +66 -75
  97. package/es/hooks/useLocale.d.ts +365 -1
  98. package/es/hooks/useLocale.mjs +23 -28
  99. package/es/hooks/useTheme.mjs +13 -17
  100. package/es/index.d.ts +1 -0
  101. package/es/index.mjs +96 -137
  102. package/es/loader.d.ts +1 -0
  103. package/es/modules/Cropper/hooks/useFile.mjs +21 -0
  104. package/es/modules/Cropper/index.d.ts +1 -0
  105. package/es/modules/Cropper/index.mjs +12 -0
  106. package/es/modules/Cropper/src/CopperFreeModal.vue.mjs +7 -0
  107. package/es/modules/Cropper/src/CopperFreeModal.vue_vue_type_script_setup_true_name_CropperModal_lang.mjs +299 -0
  108. package/es/modules/Cropper/src/CopperFreeModal.vue_vue_type_style_index_0_scoped_28afc2ab_lang.css +48 -0
  109. package/es/modules/Cropper/src/CopperModal.vue.mjs +7 -0
  110. package/es/modules/Cropper/src/CopperModal.vue_vue_type_script_setup_true_name_CropperModal_lang.mjs +283 -0
  111. package/es/modules/Cropper/src/CopperModal.vue_vue_type_style_index_0_scoped_f42f8311_lang.css +71 -0
  112. package/es/modules/Cropper/src/Cropper.vue.d.ts +1 -1
  113. package/es/modules/Cropper/src/Cropper.vue.mjs +25 -0
  114. package/es/modules/Cropper/src/Cropper.vue_vue_type_script_lang.mjs +173 -0
  115. package/es/modules/Cropper/src/Cropper.vue_vue_type_style_index_0_lang.css +4 -0
  116. package/es/modules/Cropper/src/CropperAvatar.vue.mjs +7 -0
  117. package/es/modules/Cropper/src/CropperAvatar.vue_vue_type_script_setup_true_name_CropperAvatar_lang.mjs +116 -0
  118. package/es/modules/Cropper/src/CropperAvatar.vue_vue_type_style_index_0_scoped_b5d65cd4_lang.css +39 -0
  119. package/es/modules/Cropper/src/CropperFree.vue.mjs +7 -0
  120. package/es/modules/Cropper/src/CropperFree.vue_vue_type_script_setup_true_name_CropperPhoto_lang.mjs +165 -0
  121. package/es/modules/Cropper/src/CropperFree.vue_vue_type_style_index_0_scoped_3cc5e19b_lang.css +83 -0
  122. package/es/modules/code-editor/index.d.ts +3 -3
  123. package/es/modules/code-editor/index.mjs +6 -7
  124. package/es/modules/code-editor/monaco-editor.vue.d.ts +1 -1
  125. package/es/modules/code-editor/monaco-editor.vue.mjs +7 -7
  126. package/es/modules/code-editor/monaco-editor.vue_vue_type_script_setup_true_name_code-editor_lang.mjs +399 -0
  127. package/es/modules/code-editor/{monaco-editor.css → monaco-editor.vue_vue_type_style_index_0_scoped_ccf22884_lang.css} +9 -9
  128. package/es/modules/code-editor/useEditorConsole.mjs +146 -187
  129. package/es/modules/code-editor/useMonacoEditor.mjs +24 -23
  130. package/es/modules/color-picker/index.mjs +1 -0
  131. package/es/modules/color-picker/src/ColorPicker.vue.mjs +8 -8
  132. package/es/modules/color-picker/src/ColorPicker.vue_vue_type_script_setup_true_name_ColorPicker_lang.mjs +482 -0
  133. package/es/modules/formula-editor/constants/index.mjs +8 -6
  134. package/es/modules/formula-editor/formula-editor.mjs +40 -59
  135. package/es/modules/formula-editor/index.mjs +2 -0
  136. package/es/modules/gct-dnd/components/gct-dnd-container/gct-dnd-container.mjs +158 -193
  137. package/es/modules/gct-dnd/components/gct-dnd-drop-line/gct-dnd-drop-line.mjs +81 -95
  138. package/es/modules/gct-dnd/components/gct-dnd-item/gct-dnd-item.mjs +178 -237
  139. package/es/modules/gct-dnd/constants/index.mjs +10 -18
  140. package/es/modules/gct-dnd/index.mjs +4 -0
  141. package/es/modules/gct-form/components/flex-container/flex-container.css +67 -0
  142. package/es/modules/gct-form/components/flex-container/flex-container.d.ts +14 -0
  143. package/es/modules/gct-form/components/flex-container/flex-container.mjs +61 -0
  144. package/es/modules/gct-form/components/flex-item/flex-item.d.ts +13 -0
  145. package/es/modules/gct-form/components/flex-item/flex-item.mjs +37 -0
  146. package/es/modules/gct-form/components/grid-container/grid-container.d.ts +10 -0
  147. package/es/modules/gct-form/components/grid-container/grid-container.mjs +36 -0
  148. package/es/modules/gct-form/components/index.d.ts +3 -0
  149. package/es/modules/gct-form/components/index.mjs +3 -0
  150. package/es/modules/gct-form/constants/editor-register/editor-register.mjs +17 -5
  151. package/es/modules/gct-form/constants/editor-type/editor-type.mjs +133 -34
  152. package/es/modules/gct-form/constants/index.mjs +5 -2
  153. package/es/modules/gct-form/controller/edit-form/edit-form.controller.d.ts +1 -16
  154. package/es/modules/gct-form/controller/edit-form/edit-form.controller.mjs +48 -69
  155. package/es/modules/gct-form/controller/editor-item/editor-item.controller.mjs +18 -22
  156. package/es/modules/gct-form/controller/form-collapse/form-collapse.controller.mjs +20 -10
  157. package/es/modules/gct-form/controller/form-collapse-pane/form-collapse-pane.controller.mjs +20 -10
  158. package/es/modules/gct-form/controller/form-edit-item/form-edit-item.controller.mjs +84 -89
  159. package/es/modules/gct-form/controller/form-group/form-group.controller.mjs +20 -10
  160. package/es/modules/gct-form/controller/form-item/form-item.controller.mjs +35 -36
  161. package/es/modules/gct-form/controller/form-item-basic/form-item-basic.controller.mjs +61 -42
  162. package/es/modules/gct-form/controller/form-item-hidden/form-item-hidden.controller.mjs +16 -6
  163. package/es/modules/gct-form/controller/form-line/form-line.controller.mjs +20 -10
  164. package/es/modules/gct-form/controller/form-tab/form-tab.controller.mjs +20 -10
  165. package/es/modules/gct-form/controller/form-tab-pane/form-tab-pane.controller.mjs +20 -10
  166. package/es/modules/gct-form/controller/gct-form/gct-form.controller.mjs +198 -221
  167. package/es/modules/gct-form/controller/index.mjs +13 -0
  168. package/es/modules/gct-form/editor/gct-form-action/gct-form-action.mjs +44 -49
  169. package/es/modules/gct-form/editor/gct-form-action/index.mjs +10 -14
  170. package/es/modules/gct-form/editor/gct-form-check-switch/gct-form-check-switch.mjs +54 -55
  171. package/es/modules/gct-form/editor/gct-form-check-switch/gct-form-check-switch.provider.mjs +14 -4
  172. package/es/modules/gct-form/editor/gct-form-check-switch/index.mjs +8 -12
  173. package/es/modules/gct-form/editor/gct-form-checkbox/gct-form-checkbox.mjs +100 -125
  174. package/es/modules/gct-form/editor/gct-form-checkbox/index.mjs +10 -14
  175. package/es/modules/gct-form/editor/gct-form-color/gct-form-color.mjs +36 -41
  176. package/es/modules/gct-form/editor/gct-form-color/gct-form-color.provider.mjs +14 -4
  177. package/es/modules/gct-form/editor/gct-form-color/index.mjs +8 -12
  178. package/es/modules/gct-form/editor/gct-form-date/gct-form-date.mjs +71 -78
  179. package/es/modules/gct-form/editor/gct-form-date/gct-form-date.provider.mjs +12 -4
  180. package/es/modules/gct-form/editor/gct-form-date/index.mjs +8 -12
  181. package/es/modules/gct-form/editor/gct-form-date-format-select/gct-form-date-format-select.mjs +102 -107
  182. package/es/modules/gct-form/editor/gct-form-date-format-select/index.mjs +10 -14
  183. package/es/modules/gct-form/editor/gct-form-empty/gct-form-empty.mjs +13 -15
  184. package/es/modules/gct-form/editor/gct-form-empty/index.mjs +10 -14
  185. package/es/modules/gct-form/editor/gct-form-formula/gct-form-formula.mjs +66 -66
  186. package/es/modules/gct-form/editor/gct-form-formula/index.mjs +10 -14
  187. package/es/modules/gct-form/editor/gct-form-group-select/gct-form-group-select.mjs +159 -227
  188. package/es/modules/gct-form/editor/gct-form-group-select/index.mjs +10 -14
  189. package/es/modules/gct-form/editor/gct-form-i18n/gct-form-i18n.mjs +87 -113
  190. package/es/modules/gct-form/editor/gct-form-i18n/gct-form-i18n.provider.mjs +14 -4
  191. package/es/modules/gct-form/editor/gct-form-i18n/index.mjs +8 -12
  192. package/es/modules/gct-form/editor/gct-form-icon-select/gct-form-icon-select.mjs +61 -70
  193. package/es/modules/gct-form/editor/gct-form-icon-select/index.mjs +10 -14
  194. package/es/modules/gct-form/editor/gct-form-info/gct-form-info.mjs +38 -49
  195. package/es/modules/gct-form/editor/gct-form-info/index.mjs +10 -14
  196. package/es/modules/gct-form/editor/gct-form-length-unit/gct-form-length-unit.mjs +36 -41
  197. package/es/modules/gct-form/editor/gct-form-length-unit/gct-form-length-unit.provider.mjs +14 -4
  198. package/es/modules/gct-form/editor/gct-form-length-unit/index.mjs +8 -12
  199. package/es/modules/gct-form/editor/gct-form-model-select/gct-form-model-select.mjs +141 -170
  200. package/es/modules/gct-form/editor/gct-form-model-select/index.mjs +10 -14
  201. package/es/modules/gct-form/editor/gct-form-multiple-choice/gct-form-multiple-choice.mjs +60 -66
  202. package/es/modules/gct-form/editor/gct-form-multiple-choice/index.mjs +10 -14
  203. package/es/modules/gct-form/editor/gct-form-number/gct-form-number.mjs +41 -42
  204. package/es/modules/gct-form/editor/gct-form-number/gct-form-number.provider.mjs +5 -4
  205. package/es/modules/gct-form/editor/gct-form-number/index.mjs +8 -12
  206. package/es/modules/gct-form/editor/gct-form-picker/gct-form-picker.mjs +89 -111
  207. package/es/modules/gct-form/editor/gct-form-picker/gct-form-picker.provider.mjs +14 -4
  208. package/es/modules/gct-form/editor/gct-form-picker/index.mjs +8 -12
  209. package/es/modules/gct-form/editor/gct-form-pixel-config/gct-form-pixel-config.mjs +60 -66
  210. package/es/modules/gct-form/editor/gct-form-pixel-config/index.mjs +10 -14
  211. package/es/modules/gct-form/editor/gct-form-radio/gct-form-radio.mjs +76 -91
  212. package/es/modules/gct-form/editor/gct-form-radio/index.mjs +10 -14
  213. package/es/modules/gct-form/editor/gct-form-select/gct-form-select.mjs +109 -126
  214. package/es/modules/gct-form/editor/gct-form-select/gct-form-select.provider.mjs +14 -4
  215. package/es/modules/gct-form/editor/gct-form-select/index.mjs +8 -12
  216. package/es/modules/gct-form/editor/gct-form-span/gct-form-span.mjs +67 -97
  217. package/es/modules/gct-form/editor/gct-form-span/gct-form-span.provider.mjs +14 -4
  218. package/es/modules/gct-form/editor/gct-form-span/index.mjs +8 -12
  219. package/es/modules/gct-form/editor/gct-form-switch/gct-form-switch.mjs +32 -37
  220. package/es/modules/gct-form/editor/gct-form-switch/gct-form-switch.provider.mjs +14 -4
  221. package/es/modules/gct-form/editor/gct-form-switch/index.mjs +8 -12
  222. package/es/modules/gct-form/editor/gct-form-table/gct-form-table.mjs +29 -30
  223. package/es/modules/gct-form/editor/gct-form-table/index.mjs +10 -14
  224. package/es/modules/gct-form/editor/gct-form-text/gct-form-text.mjs +51 -54
  225. package/es/modules/gct-form/editor/gct-form-text/gct-form-text.provider.mjs +14 -4
  226. package/es/modules/gct-form/editor/gct-form-text/index.mjs +8 -12
  227. package/es/modules/gct-form/editor/gct-form-textarea/gct-form-textarea.mjs +43 -44
  228. package/es/modules/gct-form/editor/gct-form-textarea/gct-form-textarea.provider.mjs +5 -4
  229. package/es/modules/gct-form/editor/gct-form-textarea/index.mjs +8 -12
  230. package/es/modules/gct-form/editor/gct-select-form-table/gct-select-form-table.mjs +59 -76
  231. package/es/modules/gct-form/editor/gct-select-form-table/index.mjs +10 -14
  232. package/es/modules/gct-form/editor/index.mjs +32 -34
  233. package/es/modules/gct-form/hooks/index.mjs +2 -0
  234. package/es/modules/gct-form/hooks/use-form/use-form.mjs +12 -5
  235. package/es/modules/gct-form/hooks/use-gct-form-value/use-gct-form-value.mjs +80 -84
  236. package/es/modules/gct-form/index.mjs +51 -16
  237. package/es/modules/gct-form/props/gct-form-item/gct-form-item.props.mjs +54 -62
  238. package/es/modules/gct-form/register/editor-register/editor-register.mjs +63 -56
  239. package/es/modules/gct-form/register/form-item-register/form-item-register.mjs +45 -41
  240. package/es/modules/gct-form/state/form/form.state.mjs +26 -16
  241. package/es/modules/gct-form/state/form-collapse/form-collapse.state.mjs +14 -5
  242. package/es/modules/gct-form/state/form-collapse-pane/form-collapse-pane.state.mjs +14 -5
  243. package/es/modules/gct-form/state/form-edit-item/form-edit-item.state.mjs +18 -9
  244. package/es/modules/gct-form/state/form-group/form-group.state.mjs +22 -13
  245. package/es/modules/gct-form/state/form-item/form-item.state.mjs +14 -5
  246. package/es/modules/gct-form/state/form-item-basic/form-item-basic.state.mjs +18 -8
  247. package/es/modules/gct-form/state/form-line/form-line.state.mjs +11 -5
  248. package/es/modules/gct-form/state/form-tab/form-tab.state.mjs +16 -6
  249. package/es/modules/gct-form/state/form-tab-pane/form-tab-pane.state.mjs +14 -5
  250. package/es/modules/gct-form/utils/width-install/width-install.mjs +19 -16
  251. package/es/modules/gct-form/widgets/gct-edit-form/gct-edit-form.d.ts +1 -5
  252. package/es/modules/gct-form/widgets/gct-edit-form/gct-edit-form.mjs +122 -148
  253. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/gct-form-collapse.mjs +66 -76
  254. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/gct-form-collapse.provider.mjs +11 -13
  255. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/index.mjs +10 -15
  256. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/gct-form-collapse-pane.mjs +50 -72
  257. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/gct-form-collapse-pane.provider.mjs +11 -15
  258. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/index.mjs +10 -15
  259. package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.css +5 -5
  260. package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.mjs +72 -89
  261. package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.provider.mjs +11 -13
  262. package/es/modules/gct-form/widgets/gct-form/gct-form-group/index.mjs +10 -15
  263. package/es/modules/gct-form/widgets/gct-form/gct-form-hidden-item/gct-form-hidden-item.provider.mjs +11 -15
  264. package/es/modules/gct-form/widgets/gct-form/gct-form-hidden-item/index.mjs +1 -0
  265. package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.css +27 -24
  266. package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.mjs +127 -159
  267. package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.provider.mjs +11 -13
  268. package/es/modules/gct-form/widgets/gct-form/gct-form-item/index.mjs +3 -0
  269. package/es/modules/gct-form/widgets/gct-form/gct-form-line/gct-form-line.css +2 -2
  270. package/es/modules/gct-form/widgets/gct-form/gct-form-line/gct-form-line.mjs +38 -45
  271. package/es/modules/gct-form/widgets/gct-form/gct-form-line/gct-form-line.provider.mjs +11 -13
  272. package/es/modules/gct-form/widgets/gct-form/gct-form-line/index.mjs +10 -12
  273. package/es/modules/gct-form/widgets/gct-form/gct-form-tab/gct-form-tab.mjs +63 -69
  274. package/es/modules/gct-form/widgets/gct-form/gct-form-tab/gct-form-tab.provider.mjs +11 -13
  275. package/es/modules/gct-form/widgets/gct-form/gct-form-tab/index.mjs +10 -12
  276. package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/gct-form-tab-pane.mjs +48 -66
  277. package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/gct-form-tab-pane.provider.mjs +11 -13
  278. package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/index.mjs +10 -15
  279. package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/gct-form-title-group.css +4 -4
  280. package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/gct-form-title-group.mjs +50 -68
  281. package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/gct-form-title-group.provider.mjs +11 -13
  282. package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/index.mjs +11 -16
  283. package/es/modules/gct-form/widgets/gct-form/gct-form.css +2 -2
  284. package/es/modules/gct-form/widgets/gct-form/gct-form.mjs +125 -143
  285. package/es/modules/gct-form/widgets/gct-form/index.mjs +30 -33
  286. package/es/modules/gct-table/controller/gct-table/gct-table.controller.mjs +138 -140
  287. package/es/modules/gct-table/controller/index.mjs +5 -0
  288. package/es/modules/gct-table/controller/table-item/table-action-item.controller.mjs +14 -5
  289. package/es/modules/gct-table/controller/table-item/table-edit-item.controller.mjs +25 -15
  290. package/es/modules/gct-table/controller/table-item/table-item.controller.mjs +32 -25
  291. package/es/modules/gct-table/controller/table-row/table-row.controller.mjs +76 -69
  292. package/es/modules/gct-table/editor/gct-table-date/gct-table-date.mjs +47 -90
  293. package/es/modules/gct-table/editor/gct-table-date/gct-table-date.provider.mjs +12 -4
  294. package/es/modules/gct-table/editor/gct-table-date/index.mjs +10 -52
  295. package/es/modules/gct-table/editor/gct-table-span/gct-table-span.mjs +26 -37
  296. package/es/modules/gct-table/editor/gct-table-span/gct-table-span.provider.mjs +14 -4
  297. package/es/modules/gct-table/editor/gct-table-span/index.mjs +10 -52
  298. package/es/modules/gct-table/editor/gct-table-text/gct-table-text.mjs +60 -103
  299. package/es/modules/gct-table/editor/gct-table-text/gct-table-text.provider.mjs +14 -4
  300. package/es/modules/gct-table/editor/gct-table-text/index.mjs +10 -52
  301. package/es/modules/gct-table/editor/index.mjs +9 -11
  302. package/es/modules/gct-table/hooks/index.mjs +1 -0
  303. package/es/modules/gct-table/hooks/use-ant-table/use-ant-table.mjs +66 -82
  304. package/es/modules/gct-table/index.mjs +22 -15
  305. package/es/modules/gct-table/register/table-editor-register/table-editor-register.mjs +67 -60
  306. package/es/modules/gct-table/state/table/table.state.mjs +46 -36
  307. package/es/modules/gct-table/state/table-item/table-edit-item.state.mjs +19 -9
  308. package/es/modules/gct-table/state/table-item/table-item.state.mjs +29 -19
  309. package/es/modules/gct-table/state/table-row/table-row.state.mjs +16 -6
  310. package/es/modules/gct-table/utils/count-latch/count-latch.mjs +97 -94
  311. package/es/modules/gct-table/utils/index.mjs +2 -0
  312. package/es/modules/gct-table/utils/width-install/width-install.mjs +18 -16
  313. package/es/modules/gct-table/widgets/gct-table/gct-table.mjs +310 -409
  314. package/es/modules/gct-table/widgets/gct-table/index.mjs +8 -10
  315. package/es/modules/gct-table/widgets/index.mjs +7 -9
  316. package/es/modules/global-modal/index.mjs +10 -16
  317. package/es/modules/global-modal/src/BasicModal.vue.mjs +5 -221
  318. package/es/modules/global-modal/src/BasicModal.vue_vue_type_script_setup_true_name_BasicModal_lang.mjs +201 -0
  319. package/es/modules/global-modal/src/components/GlboalModal.mjs +30 -39
  320. package/es/modules/global-modal/src/components/ModalClose.vue.mjs +6 -79
  321. package/es/modules/global-modal/src/components/ModalClose.vue_vue_type_script_setup_true_name_ModalClose_lang.mjs +67 -0
  322. package/es/modules/global-modal/src/components/ModalFooter.vue.mjs +5 -44
  323. package/es/modules/global-modal/src/components/ModalFooter.vue_vue_type_script_setup_true_name_BasicModalFooter_lang.mjs +40 -0
  324. package/es/modules/global-modal/src/components/ModalHeader.vue.mjs +9 -9
  325. package/es/modules/global-modal/src/components/ModalHeader.vue_vue_type_script_lang.mjs +11 -0
  326. package/es/modules/global-modal/src/components/ModalWrapper.vue.mjs +18 -24
  327. package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_script_lang.mjs +126 -0
  328. package/es/modules/global-modal/src/hooks/useModal.mjs +102 -116
  329. package/es/modules/global-modal/src/hooks/useModalContext.mjs +6 -6
  330. package/es/modules/global-modal/src/hooks/useModalDrag.mjs +69 -79
  331. package/es/modules/global-modal/src/hooks/useModalFullScreen.mjs +17 -13
  332. package/es/modules/global-modal/src/props.mjs +87 -55
  333. package/es/modules/target-loading/index.mjs +3 -0
  334. package/es/modules/target-loading/src/createLoading.mjs +42 -54
  335. package/es/modules/target-loading/src/target-loading.vue.mjs +7 -52
  336. package/es/modules/target-loading/src/target-loading.vue_vue_type_script_setup_true_name_target-loading_lang.mjs +55 -0
  337. package/es/modules/target-loading/src/useLoading.mjs +2 -0
  338. package/es/setup-app.mjs +3 -3
  339. package/es/utils/index.mjs +4 -0
  340. package/es/utils/message-util/message-util.mjs +25 -25
  341. package/es/utils/monaco-loader/monaco-loader.mjs +83 -87
  342. package/es/utils/overlay-controller/overlay-controller.mjs +29 -20
  343. package/es/utils/with-install.mjs +10 -11
  344. package/package.json +7 -7
  345. package/dist/index-B8zoAUhR.cjs +0 -20
  346. package/dist/index-BH5PTZ_c.js +0 -20
  347. package/dist/index-Cna4DZog.js +0 -109381
  348. package/dist/index.esm.min.mjs +0 -91
  349. package/dist/index.min.cjs +0 -1
  350. package/dist/index.system.min.js +0 -1
  351. package/dist/monaco-editor-4E2xdOou.cjs +0 -1
  352. package/dist/monaco-editor-C-wvzgow.js +0 -1
  353. package/dist/monaco-editor-Cel355Cg.js +0 -350
  354. package/es/components/base-button/base-button.vue3.mjs +0 -179
  355. package/es/components/basic-button/basic-button.vue3.mjs +0 -130
  356. package/es/components/copy-module-key/copy-module-key.vue3.mjs +0 -104
  357. package/es/components/double-input/double-input.vue2.mjs +0 -5
  358. package/es/components/icon-next/src/IconNext.vue2.mjs +0 -7
  359. package/es/components/icon-next/src/IconNext.vue3.mjs +0 -108
  360. package/es/components/icon-next/src/IconNextPicker.vue2.mjs +0 -452
  361. package/es/components/icon-next/src/IconNextPicker.vue3.mjs +0 -6
  362. package/es/components/svg-icon/svg-icon.vue3.mjs +0 -6
  363. package/es/modules/code-editor/monaco-editor.vue2.mjs +0 -440
  364. package/es/modules/color-picker/src/ColorPicker.vue2.mjs +0 -545
  365. package/es/modules/gct-form/widgets/gct-edit-form/index.d.ts +0 -5
  366. package/es/modules/gct-form/widgets/gct-edit-form/index.mjs +0 -10
  367. package/es/modules/global-modal/src/BasicModal.vue2.mjs +0 -5
  368. package/es/modules/global-modal/src/components/ModalClose.vue3.mjs +0 -6
  369. package/es/modules/global-modal/src/components/ModalFooter.vue2.mjs +0 -5
  370. package/es/modules/global-modal/src/components/ModalHeader.vue2.mjs +0 -13
  371. package/es/modules/global-modal/src/components/ModalWrapper.vue2.mjs +0 -136
  372. package/es/modules/target-loading/src/target-loading.vue3.mjs +0 -7
  373. /package/es/components/base-button/{base-button.css → base-button.vue_vue_type_style_index_0_scoped_5375ec2b_lang.css} +0 -0
  374. /package/es/components/basic-button/{basic-button.css → basic-button.vue_vue_type_style_index_0_scoped_1dbcb2fa_lang.css} +0 -0
  375. /package/es/components/copy-module-key/{copy-module-key.css → copy-module-key.vue_vue_type_style_index_0_scoped_531b3cd2_lang.css} +0 -0
  376. /package/es/components/icon-next/src/{IconNext.css → IconNext.vue_vue_type_style_index_0_scoped_c5a83130_lang.css} +0 -0
  377. /package/es/components/icon-next/src/{IconNextPicker.css → IconNextPicker.vue_vue_type_style_index_0_lang.css} +0 -0
  378. /package/es/components/svg-icon/{svg-icon.css → svg-icon.vue_vue_type_style_index_0_lang.css} +0 -0
  379. /package/es/modules/color-picker/src/{ColorPicker.css → ColorPicker.vue_vue_type_style_index_0_scoped_7bfd9ca3_lang.css} +0 -0
  380. /package/es/modules/color-picker/src/{ColorPicker2.css → ColorPicker.vue_vue_type_style_index_1_lang.css} +0 -0
  381. /package/es/modules/gct-table/editor/{gct-table-text/gct-table-text.css → gct-table-date/gct-table-date.css} +0 -0
  382. /package/es/modules/global-modal/src/components/{ModalClose.css → ModalClose.vue_vue_type_style_index_0_lang.css} +0 -0
  383. /package/es/modules/target-loading/src/{target-loading.css → target-loading.vue_vue_type_style_index_0_scoped_d448466c_lang.css} +0 -0
@@ -1,414 +1,315 @@
1
- import { defineComponent, createVNode, resolveComponent, mergeProps, h, ref, watch, onMounted, onUnmounted, computed, isVNode } from 'vue';
2
- import { isBoolean, cloneDeep, isNil, clone, defaults } from 'lodash-es';
3
- import { isPromise, isAsync } from 'qx-util';
4
- import { useNamespace, t } from '@gct-paas/core';
5
- import { useTableController, GctTableController } from '../../controller/gct-table/gct-table.controller.mjs';
6
- import { useAntTableScrollHeight } from '../../hooks/use-ant-table/use-ant-table.mjs';
1
+ import { GctTableController, useTableController } from "../../controller/gct-table/gct-table.controller.mjs";
2
+ import "../../controller/index.mjs";
3
+ import { useAntTableScrollHeight } from "../../hooks/use-ant-table/use-ant-table.mjs";
4
+ import "../../hooks/index.mjs";
7
5
  import './gct-table.css';/* empty css */
8
-
6
+ import { computed, createVNode, defineComponent, h, isVNode, mergeProps, onMounted, onUnmounted, ref, resolveComponent, watch } from "vue";
7
+ import { isAsync, isPromise } from "qx-util";
8
+ import { clone, cloneDeep, defaults, isBoolean, isNil } from "lodash-es";
9
+ import { t, useNamespace } from "@gct-paas/core";
10
+ //#region src/modules/gct-table/widgets/gct-table/gct-table.tsx
9
11
  function _isSlot(s) {
10
- return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !isVNode(s);
12
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
11
13
  }
12
- const GctTable = /* @__PURE__ */ defineComponent({
13
- name: 'GctTable',
14
- props: {
15
- // local 必给,避免vue的双向数据绑定不生效
16
- count: {
17
- type: Number,
18
- default: 0
19
- },
20
- model: {
21
- type: Object,
22
- required: true
23
- },
24
- data: {
25
- type: Array,
26
- default: () => []
27
- }
28
- },
29
- emits: ['rowChange'],
30
- setup(props, {
31
- emit
32
- }) {
33
- const ns = useNamespace('gct-table');
34
- const loadingState = ref({});
35
- const elRef = ref();
36
- const formRef = ref();
37
- const tableRef = ref();
38
- let hoverRow = null;
39
- let activeRow = null;
40
- const c = useTableController(() => new GctTableController(props.model));
41
- c.evt.on('change', async (data, name, val, oldVal) => {
42
- emit('rowChange', cloneDeep(data), name, val, oldVal);
43
- });
44
- if (c.model.local === true) {
45
- watch(() => props.count, () => {
46
- c.setData(cloneDeep(props.data));
47
- });
48
- }
49
-
50
- // 要放在 return 之前,避免初始化顺序问题导致加载参数异常
51
- if (c.model.local !== true && c.model.autoLoad !== false) {
52
- c.load();
53
- }
54
- const findRowId = el => {
55
- if (!el || el === elRef.value) {
56
- return null;
57
- }
58
- const id = el.getAttribute('data-row-key');
59
- if (id) {
60
- return id;
61
- }
62
- return findRowId(el.parentElement);
63
- };
64
- const mouseOver = e => {
65
- const rowId = findRowId(e.target);
66
- if (rowId) {
67
- const row = c.row[rowId];
68
- if (hoverRow) {
69
- hoverRow.state.hover = false;
70
- }
71
- row.state.hover = true;
72
- hoverRow = row;
73
- }
74
- };
75
- const mouseOut = e => {
76
- const rowId = findRowId(e.target);
77
- if (!rowId && hoverRow) {
78
- hoverRow.state.hover = false;
79
- hoverRow = null;
80
- }
81
- };
82
- const mouseLeave = e => {
83
- const rowId = findRowId(e.target);
84
- if (!rowId && hoverRow) {
85
- hoverRow.state.hover = false;
86
- hoverRow = null;
87
- }
88
- };
89
- const click = e => {
90
- const rowId = findRowId(e.target);
91
- if (rowId) {
92
- const row = c.row[rowId];
93
- if (activeRow) {
94
- activeRow.unActive();
95
- }
96
- row.active();
97
- activeRow = row;
98
- } else {
99
- if (activeRow) {
100
- activeRow.unActive();
101
- activeRow = null;
102
- }
103
- }
104
- };
105
- const winClick = () => {
106
- if (activeRow) {
107
- activeRow.unActive();
108
- activeRow = null;
109
- }
110
- };
111
- onMounted(() => {
112
- if (elRef.value) {
113
- elRef.value.addEventListener('mouseover', mouseOver, {
114
- capture: true
115
- });
116
- elRef.value.addEventListener('mouseout', mouseOver, {
117
- capture: true
118
- });
119
- elRef.value.addEventListener('mouseleave', mouseLeave, {
120
- capture: true
121
- });
122
- elRef.value.addEventListener('click', click, {
123
- capture: true
124
- });
125
- }
126
- window.addEventListener('click', winClick, {
127
- capture: true
128
- });
129
- });
130
- onUnmounted(() => {
131
- if (elRef.value) {
132
- elRef.value.removeEventListener('mouseover', mouseOver, {
133
- capture: true
134
- });
135
- elRef.value.removeEventListener('mouseout', mouseOver, {
136
- capture: true
137
- });
138
- elRef.value.removeEventListener('mouseleave', mouseLeave, {
139
- capture: true
140
- });
141
- elRef.value.removeEventListener('click', click, {
142
- capture: true
143
- });
144
- }
145
- window.removeEventListener('click', winClick, {
146
- capture: true
147
- });
148
- });
149
- const onValidate = (name, status, errorMsgs) => {
150
- const keys = name.split('___');
151
- if (keys.length === 2) {
152
- const [name, id] = keys;
153
- const row = c.row[id];
154
- if (row) {
155
- const item = row.item[name];
156
- if (item) {
157
- item.state.error = !status;
158
- if (errorMsgs && errorMsgs.length > 0) {
159
- item.state.errMessage = errorMsgs[0];
160
- } else {
161
- item.state.errMessage = '';
162
- }
163
- }
164
- }
165
- }
166
- };
167
- const validate = () => {
168
- return formRef.value.validate();
169
- };
170
- const reload = params => {
171
- return c.load(params);
172
- };
173
- const pagination = computed(() => {
174
- if (isNil(props.model.pagination)) {
175
- return false;
176
- }
177
- const pagination = clone(props.model.pagination);
178
- defaults(pagination, {
179
- pageSizeOptions: [10, 20, 30, 40, 50],
180
- showSizeChanger: true,
181
- showTotal: true
182
- });
183
- const showTotal = pagination.showTotal === true ? total => t('sys.component.table.total', {
184
- total
185
- }) : pagination.showTotal || undefined;
186
- const sizeOptions = pagination.pageSizeOptions?.map(item => `${item}`); //ant组件识别纯数字数组的时候不会显示中文
187
-
188
- return {
189
- class: 'pagination-total-left',
190
- total: c.state.total,
191
- current: c.state.page,
192
- pageSize: c.state.size,
193
- pageSizeOptions: sizeOptions,
194
- showSizeChanger: pagination.showSizeChanger,
195
- showTotal: showTotal
196
- };
197
- });
198
- const handleTableChange = (pagination, filters, sorter) => {
199
- console.log('[ pagination ] >', pagination, filters, sorter);
200
- c.updatePagination({
201
- page: pagination.current,
202
- size: pagination.pageSize
203
- });
204
- c.reload();
205
- };
206
- const {
207
- scrollHeight
208
- } = useAntTableScrollHeight(elRef, {
209
- pagination: !!pagination.value
210
- });
211
-
212
- // 是否有编辑项
213
- const isEdit = computed(() => {
214
- return c.model.columns.some(col => col.type === 'edit');
215
- });
216
- return {
217
- ns,
218
- c,
219
- loadingState,
220
- elRef,
221
- formRef,
222
- tableRef,
223
- scrollHeight,
224
- pagination,
225
- isEdit,
226
- handleTableChange,
227
- mouseOver,
228
- mouseOut,
229
- onValidate,
230
- validate,
231
- reload
232
- };
233
- },
234
- render() {
235
- return createVNode("div", {
236
- "ref": "elRef",
237
- "class": this.ns.b(),
238
- "onMouseover": this.mouseOver,
239
- "onMouseout": this.mouseOut
240
- }, [createVNode(resolveComponent("a-form"), {
241
- "ref": "formRef",
242
- "model": this.c.state.formData,
243
- "onValidate": this.onValidate
244
- }, {
245
- default: () => [createVNode(resolveComponent("a-table"), mergeProps({
246
- "ref": "tableRef",
247
- "class": ['flex-1', this.ns.is('pagination', !!this.pagination), this.ns.is('not-edit', !this.isEdit)],
248
- "scroll": {
249
- y: this.scrollHeight
250
- },
251
- "columns": this.model.columns,
252
- "data-source": this.c.state.items,
253
- "row-key": record => record[this.c.model.key],
254
- "pagination": this.pagination,
255
- "onChange": this.handleTableChange
256
- }, this.$attrs), {
257
- headerCell: ({
258
- title,
259
- column
260
- }) => {
261
- const _column = column;
262
- if (_column.type === 'edit' && _column.rules && _column.rules.length > 0) {
263
- const isRequired = _column.rules.some(rule => rule.required === true);
264
- return createVNode("span", {
265
- "title": title,
266
- "class": [this.ns.e('table-header'), this.ns.is('required', isRequired)]
267
- }, [createVNode("span", {
268
- "class": this.ns.e('table-item')
269
- }, [title])]);
270
- }
271
- return title;
272
- },
273
- bodyCell: ({
274
- column,
275
- text,
276
- record
277
- }) => {
278
- if (text == null && this.model.isEmptyText == true) {
279
- text = _gct.store.getEmptyDisplay;
280
- } else {
281
- text = isBoolean(text) ? text.toString() : text;
282
- }
283
- const _column = column;
284
- if (_column.customRender) {
285
- return _column.customRender({
286
- record
287
- });
288
- }
289
- if (column.type === 'edit') {
290
- const key = record[this.c.model.key];
291
- const row = this.c.row[key];
292
- if (row) {
293
- let _slot;
294
- const provider = this.c.editorProviders[column.name];
295
- const com = resolveComponent(provider.component);
296
- const item = row.item[column.name];
297
- const isEdit = row.state.hover === true || item.state.error === true || row.state.active === true || this.c.model.rowEditMode === 'all';
298
- return createVNode(resolveComponent("a-form-item"), {
299
- "name": `${column.name}___${key}`,
300
- "class": [this.ns.b('table-item'), this.ns.bm('table-item', 'edit')],
301
- "rules": item.model.rules || []
302
- }, _isSlot(_slot = h(com, {
303
- key: item.model.name,
304
- c: item,
305
- model: item.model.editor,
306
- readonly: item.state.readonly,
307
- disabled: item.state.disabled,
308
- value: item.value,
309
- itemModel: item.model,
310
- data: row.data,
311
- keepalive: item.state.keepalive,
312
- visible: item.state.visible,
313
- isEdit,
314
- 'onUpdate:value': value => {
315
- item.value = value;
316
- }
317
- })) ? _slot : {
318
- default: () => [_slot]
319
- });
320
- }
321
- }
322
- if (column.type === 'actions') {
323
- const item = column;
324
- return createVNode("div", {
325
- "class": this.ns.b('table-actions')
326
- }, [item.actions.filter(_ => {
327
- if (_.hidden) {
328
- return !_.hidden(record);
329
- }
330
- return true;
331
- }).map(_ => {
332
- if (_.mode === 'divider') {
333
- return createVNode(resolveComponent("a-divider"), {
334
- "type": "vertical"
335
- }, null);
336
- }
337
- const loadingKey = `${_.type}___${_.tag}___${record[this.c.model.key]}`;
338
- const button = createVNode(resolveComponent("a-button"), mergeProps({
339
- "class": this.ns.b('table-action-item'),
340
- "type": _.type,
341
- "size": "small",
342
- "loading": this.loadingState[loadingKey] === true,
343
- "onClick": async e => {
344
- if (_.confirm) {
345
- return;
346
- }
347
- e.stopPropagation();
348
- if (_.action) {
349
- if (isPromise(_.action) || isAsync(_.action)) {
350
- this.loadingState[loadingKey] = true;
351
- try {
352
- await _.action(record);
353
- } catch (error) {
354
- console.log(error);
355
- } finally {
356
- this.loadingState[loadingKey] = false;
357
- }
358
- } else {
359
- _.action(record);
360
- }
361
- } else {
362
- item.action(_.tag, record);
363
- }
364
- }
365
- }, _.props), {
366
- default: () => [_.text]
367
- });
368
- if (_.confirm) {
369
- return createVNode(resolveComponent("a-popconfirm"), mergeProps({
370
- "onConfirm": async () => {
371
- if (_.action) {
372
- if (isPromise(_.action) || isAsync(_.action)) {
373
- this.loadingState[loadingKey] = true;
374
- try {
375
- await _.action(record);
376
- } catch (error) {
377
- console.log(error);
378
- } finally {
379
- this.loadingState[loadingKey] = false;
380
- }
381
- } else {
382
- _.action(record);
383
- }
384
- } else {
385
- item.action(_.tag, record);
386
- }
387
- }
388
- }, _.confirm), _isSlot(button) ? button : {
389
- default: () => [button]
390
- });
391
- } else {
392
- return button;
393
- }
394
- })]);
395
- }
396
- if (column.type === 'link') {
397
- return createVNode("a", {
398
- "class": this.ns.e('table-link'),
399
- "onClick": e => {
400
- e.stopPropagation();
401
- if (_column.click) {
402
- _column.click(record);
403
- }
404
- }
405
- }, [text]);
406
- }
407
- return text;
408
- }
409
- })]
410
- })]);
411
- }
14
+ var GctTable = /* @__PURE__ */ defineComponent({
15
+ name: "GctTable",
16
+ props: {
17
+ count: {
18
+ type: Number,
19
+ default: 0
20
+ },
21
+ model: {
22
+ type: Object,
23
+ required: true
24
+ },
25
+ data: {
26
+ type: Array,
27
+ default: () => []
28
+ }
29
+ },
30
+ emits: ["rowChange"],
31
+ setup(props, { emit }) {
32
+ const ns = useNamespace("gct-table");
33
+ const loadingState = ref({});
34
+ const elRef = ref();
35
+ const formRef = ref();
36
+ const tableRef = ref();
37
+ let hoverRow = null;
38
+ let activeRow = null;
39
+ const c = useTableController(() => new GctTableController(props.model));
40
+ c.evt.on("change", async (data, name, val, oldVal) => {
41
+ emit("rowChange", cloneDeep(data), name, val, oldVal);
42
+ });
43
+ if (c.model.local === true) watch(() => props.count, () => {
44
+ c.setData(cloneDeep(props.data));
45
+ });
46
+ if (c.model.local !== true && c.model.autoLoad !== false) c.load();
47
+ const findRowId = (el) => {
48
+ if (!el || el === elRef.value) return null;
49
+ const id = el.getAttribute("data-row-key");
50
+ if (id) return id;
51
+ return findRowId(el.parentElement);
52
+ };
53
+ const mouseOver = (e) => {
54
+ const rowId = findRowId(e.target);
55
+ if (rowId) {
56
+ const row = c.row[rowId];
57
+ if (hoverRow) hoverRow.state.hover = false;
58
+ row.state.hover = true;
59
+ hoverRow = row;
60
+ }
61
+ };
62
+ const mouseOut = (e) => {
63
+ if (!findRowId(e.target) && hoverRow) {
64
+ hoverRow.state.hover = false;
65
+ hoverRow = null;
66
+ }
67
+ };
68
+ const mouseLeave = (e) => {
69
+ if (!findRowId(e.target) && hoverRow) {
70
+ hoverRow.state.hover = false;
71
+ hoverRow = null;
72
+ }
73
+ };
74
+ const click = (e) => {
75
+ const rowId = findRowId(e.target);
76
+ if (rowId) {
77
+ const row = c.row[rowId];
78
+ if (activeRow) activeRow.unActive();
79
+ row.active();
80
+ activeRow = row;
81
+ } else if (activeRow) {
82
+ activeRow.unActive();
83
+ activeRow = null;
84
+ }
85
+ };
86
+ const winClick = () => {
87
+ if (activeRow) {
88
+ activeRow.unActive();
89
+ activeRow = null;
90
+ }
91
+ };
92
+ onMounted(() => {
93
+ if (elRef.value) {
94
+ elRef.value.addEventListener("mouseover", mouseOver, { capture: true });
95
+ elRef.value.addEventListener("mouseout", mouseOver, { capture: true });
96
+ elRef.value.addEventListener("mouseleave", mouseLeave, { capture: true });
97
+ elRef.value.addEventListener("click", click, { capture: true });
98
+ }
99
+ window.addEventListener("click", winClick, { capture: true });
100
+ });
101
+ onUnmounted(() => {
102
+ if (elRef.value) {
103
+ elRef.value.removeEventListener("mouseover", mouseOver, { capture: true });
104
+ elRef.value.removeEventListener("mouseout", mouseOver, { capture: true });
105
+ elRef.value.removeEventListener("mouseleave", mouseLeave, { capture: true });
106
+ elRef.value.removeEventListener("click", click, { capture: true });
107
+ }
108
+ window.removeEventListener("click", winClick, { capture: true });
109
+ });
110
+ const onValidate = (name, status, errorMsgs) => {
111
+ const keys = name.split("___");
112
+ if (keys.length === 2) {
113
+ const [name, id] = keys;
114
+ const row = c.row[id];
115
+ if (row) {
116
+ const item = row.item[name];
117
+ if (item) {
118
+ item.state.error = !status;
119
+ if (errorMsgs && errorMsgs.length > 0) item.state.errMessage = errorMsgs[0];
120
+ else item.state.errMessage = "";
121
+ }
122
+ }
123
+ }
124
+ };
125
+ const validate = () => {
126
+ return formRef.value.validate();
127
+ };
128
+ const reload = (params) => {
129
+ return c.load(params);
130
+ };
131
+ const pagination = computed(() => {
132
+ if (isNil(props.model.pagination)) return false;
133
+ const pagination = clone(props.model.pagination);
134
+ defaults(pagination, {
135
+ pageSizeOptions: [
136
+ 10,
137
+ 20,
138
+ 30,
139
+ 40,
140
+ 50
141
+ ],
142
+ showSizeChanger: true,
143
+ showTotal: true
144
+ });
145
+ const showTotal = pagination.showTotal === true ? (total) => t("sys.component.table.total", { total }) : pagination.showTotal || void 0;
146
+ const sizeOptions = pagination.pageSizeOptions?.map((item) => `${item}`);
147
+ return {
148
+ class: "pagination-total-left",
149
+ total: c.state.total,
150
+ current: c.state.page,
151
+ pageSize: c.state.size,
152
+ pageSizeOptions: sizeOptions,
153
+ showSizeChanger: pagination.showSizeChanger,
154
+ showTotal
155
+ };
156
+ });
157
+ const handleTableChange = (pagination, filters, sorter) => {
158
+ console.log("[ pagination ] >", pagination, filters, sorter);
159
+ c.updatePagination({
160
+ page: pagination.current,
161
+ size: pagination.pageSize
162
+ });
163
+ c.reload();
164
+ };
165
+ const { scrollHeight } = useAntTableScrollHeight(elRef, { pagination: !!pagination.value });
166
+ return {
167
+ ns,
168
+ c,
169
+ loadingState,
170
+ elRef,
171
+ formRef,
172
+ tableRef,
173
+ scrollHeight,
174
+ pagination,
175
+ isEdit: computed(() => {
176
+ return c.model.columns.some((col) => col.type === "edit");
177
+ }),
178
+ handleTableChange,
179
+ mouseOver,
180
+ mouseOut,
181
+ onValidate,
182
+ validate,
183
+ reload
184
+ };
185
+ },
186
+ render() {
187
+ return createVNode("div", {
188
+ "ref": "elRef",
189
+ "class": this.ns.b(),
190
+ "onMouseover": this.mouseOver,
191
+ "onMouseout": this.mouseOut
192
+ }, [createVNode(resolveComponent("a-form"), {
193
+ "ref": "formRef",
194
+ "model": this.c.state.formData,
195
+ "onValidate": this.onValidate
196
+ }, { default: () => [createVNode(resolveComponent("a-table"), mergeProps({
197
+ "ref": "tableRef",
198
+ "class": [
199
+ "flex-1",
200
+ this.ns.is("pagination", !!this.pagination),
201
+ this.ns.is("not-edit", !this.isEdit)
202
+ ],
203
+ "scroll": { y: this.scrollHeight },
204
+ "columns": this.model.columns,
205
+ "data-source": this.c.state.items,
206
+ "row-key": (record) => record[this.c.model.key],
207
+ "pagination": this.pagination,
208
+ "onChange": this.handleTableChange
209
+ }, this.$attrs), {
210
+ headerCell: ({ title, column }) => {
211
+ const _column = column;
212
+ if (_column.type === "edit" && _column.rules && _column.rules.length > 0) {
213
+ const isRequired = _column.rules.some((rule) => rule.required === true);
214
+ return createVNode("span", {
215
+ "title": title,
216
+ "class": [this.ns.e("table-header"), this.ns.is("required", isRequired)]
217
+ }, [createVNode("span", { "class": this.ns.e("table-item") }, [title])]);
218
+ }
219
+ return title;
220
+ },
221
+ bodyCell: ({ column, text, record }) => {
222
+ if (text == null && this.model.isEmptyText == true) text = _gct.store.getEmptyDisplay;
223
+ else text = isBoolean(text) ? text.toString() : text;
224
+ const _column = column;
225
+ if (_column.customRender) return _column.customRender({ record });
226
+ if (column.type === "edit") {
227
+ const key = record[this.c.model.key];
228
+ const row = this.c.row[key];
229
+ if (row) {
230
+ let _slot;
231
+ const provider = this.c.editorProviders[column.name];
232
+ const com = resolveComponent(provider.component);
233
+ const item = row.item[column.name];
234
+ const isEdit = row.state.hover === true || item.state.error === true || row.state.active === true || this.c.model.rowEditMode === "all";
235
+ return createVNode(resolveComponent("a-form-item"), {
236
+ "name": `${column.name}___${key}`,
237
+ "class": [this.ns.b("table-item"), this.ns.bm("table-item", "edit")],
238
+ "rules": item.model.rules || []
239
+ }, _isSlot(_slot = h(com, {
240
+ key: item.model.name,
241
+ c: item,
242
+ model: item.model.editor,
243
+ readonly: item.state.readonly,
244
+ disabled: item.state.disabled,
245
+ value: item.value,
246
+ itemModel: item.model,
247
+ data: row.data,
248
+ keepalive: item.state.keepalive,
249
+ visible: item.state.visible,
250
+ isEdit,
251
+ "onUpdate:value": (value) => {
252
+ item.value = value;
253
+ }
254
+ })) ? _slot : { default: () => [_slot] });
255
+ }
256
+ }
257
+ if (column.type === "actions") {
258
+ const item = column;
259
+ return createVNode("div", { "class": this.ns.b("table-actions") }, [item.actions.filter((_) => {
260
+ if (_.hidden) return !_.hidden(record);
261
+ return true;
262
+ }).map((_) => {
263
+ if (_.mode === "divider") return createVNode(resolveComponent("a-divider"), { "type": "vertical" }, null);
264
+ const loadingKey = `${_.type}___${_.tag}___${record[this.c.model.key]}`;
265
+ const button = createVNode(resolveComponent("a-button"), mergeProps({
266
+ "class": this.ns.b("table-action-item"),
267
+ "type": _.type,
268
+ "size": "small",
269
+ "loading": this.loadingState[loadingKey] === true,
270
+ "onClick": async (e) => {
271
+ if (_.confirm) return;
272
+ e.stopPropagation();
273
+ if (_.action) if (isPromise(_.action) || isAsync(_.action)) {
274
+ this.loadingState[loadingKey] = true;
275
+ try {
276
+ await _.action(record);
277
+ } catch (error) {
278
+ console.log(error);
279
+ } finally {
280
+ this.loadingState[loadingKey] = false;
281
+ }
282
+ } else _.action(record);
283
+ else item.action(_.tag, record);
284
+ }
285
+ }, _.props), { default: () => [_.text] });
286
+ if (_.confirm) return createVNode(resolveComponent("a-popconfirm"), mergeProps({ "onConfirm": async () => {
287
+ if (_.action) if (isPromise(_.action) || isAsync(_.action)) {
288
+ this.loadingState[loadingKey] = true;
289
+ try {
290
+ await _.action(record);
291
+ } catch (error) {
292
+ console.log(error);
293
+ } finally {
294
+ this.loadingState[loadingKey] = false;
295
+ }
296
+ } else _.action(record);
297
+ else item.action(_.tag, record);
298
+ } }, _.confirm), _isSlot(button) ? button : { default: () => [button] });
299
+ else return button;
300
+ })]);
301
+ }
302
+ if (column.type === "link") return createVNode("a", {
303
+ "class": this.ns.e("table-link"),
304
+ "onClick": (e) => {
305
+ e.stopPropagation();
306
+ if (_column.click) _column.click(record);
307
+ }
308
+ }, [text]);
309
+ return text;
310
+ }
311
+ })] })]);
312
+ }
412
313
  });
413
-
314
+ //#endregion
414
315
  export { GctTable };