cnhis-design-vue 3.1.22 → 3.1.23-beta.1

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 (71) hide show
  1. package/README.md +123 -123
  2. package/es/components/big-table/index.d.ts +8 -0
  3. package/es/components/big-table/src/BigTable.vue.d.ts +8 -0
  4. package/es/components/big-table/src/components/edit-form/edit-separate.js +4 -1
  5. package/es/components/big-table/src/hooks/useSeparateRow2.js +1 -41
  6. package/es/components/field-set/src/FieldSet.js +5 -1
  7. package/es/components/form-render/src/hooks/useFormContext2.js +2 -1
  8. package/es/components/form-render/src/utils/index.d.ts +0 -1
  9. package/es/components/form-render/src/utils/index.js +1 -10
  10. package/es/components/iho-table/index.d.ts +41 -7
  11. package/es/components/iho-table/index.js +1 -1
  12. package/es/components/iho-table/src/IhoTable.js +52 -31
  13. package/es/components/iho-table/src/IhoTable.vue.d.ts +42 -8
  14. package/es/components/iho-table/src/constants/index.d.ts +5 -2
  15. package/es/components/iho-table/src/constants/index.js +1 -1
  16. package/es/components/iho-table/src/constants/index2.js +8 -5
  17. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +10 -3
  18. package/es/components/iho-table/src/hooks/tapHooks/index2.js +32 -21
  19. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks.d.ts +5 -3
  20. package/es/components/iho-table/src/hooks/tapHooks/useDataHooks2.js +3 -3
  21. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +177 -60
  22. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks2.js +223 -59
  23. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.d.ts +10 -0
  24. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks.js +1 -0
  25. package/es/components/iho-table/src/hooks/tapHooks/useSetupHooks2.js +27 -0
  26. package/es/components/iho-table/src/plugins/index.js +2 -1
  27. package/es/components/iho-table/src/plugins/index2.js +2 -1
  28. package/es/components/iho-table/src/plugins/lowCodeFieldAdaptorPlugin/index2.js +2 -1
  29. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/index.d.ts +2 -0
  30. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/index.js +2 -0
  31. package/es/components/iho-table/src/plugins/rendererPlugins/{inputs → editableWidgets}/inputRendererPlugins.d.ts +0 -0
  32. package/es/components/iho-table/src/plugins/rendererPlugins/{inputs → editableWidgets}/inputRendererPlugins.js +0 -5
  33. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/edit-separate.js +110 -0
  34. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/edit-separate.vue.d.ts +107 -0
  35. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.d.ts +1 -0
  36. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +158 -0
  37. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/separate-utils.d.ts +14 -0
  38. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/separate-utils.js +1 -0
  39. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/separate-utils2.js +54 -0
  40. package/es/components/iho-table/src/plugins/rendererPlugins/index.d.ts +1 -1
  41. package/es/components/iho-table/src/plugins/rendererPlugins/index.js +2 -1
  42. package/es/components/iho-table/src/plugins/rendererPlugins/widgets/pictureRendererPlugin.js +2 -1
  43. package/es/components/iho-table/src/types/index.d.ts +8 -3
  44. package/es/components/iho-table/src/types/index.js +1 -1
  45. package/es/components/iho-table/src/types/pluginType.d.ts +97 -83
  46. package/es/components/iho-table/src/types/pluginType.js +1 -1
  47. package/es/components/iho-table/src/types/pluginType2.js +3 -1
  48. package/es/components/iho-table/src/utils/index2.js +1 -1
  49. package/es/components/index.css +1 -1
  50. package/es/components/index.js +1 -1
  51. package/es/components/info-header/index.d.ts +2 -0
  52. package/es/components/info-header/src/InfoHeader.js +3 -1
  53. package/es/components/info-header/src/InfoHeader.vue.d.ts +2 -0
  54. package/es/components/select-person/index.d.ts +41 -0
  55. package/es/components/select-person/src/SelectPerson.vue.d.ts +41 -0
  56. package/es/components/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.js +45 -10
  57. package/es/components/select-person/style/index.css +1 -1
  58. package/es/shared/utils/index.d.ts +4 -0
  59. package/es/shared/utils/index.js +1 -1
  60. package/es/shared/utils/index2.js +60 -2
  61. package/es/shared/utils/tapable/AsyncSeriesHook.js +17 -2
  62. package/package.json +2 -2
  63. package/es/components/big-table/src/components/edit-form/useCommon.d.ts +0 -4
  64. package/es/components/bpmn-workflow/src/BpmnWorkflow.d.ts +0 -0
  65. package/es/components/bpmn-workflow/types/BpmnViewer.d.ts +0 -1
  66. package/es/components/bpmn-workflow/types/ModelingModule.d.ts +0 -1
  67. package/es/components/bpmn-workflow/types/MoveCanvasModule.d.ts +0 -1
  68. package/es/components/fabric-chart/src/utils/index.d.ts +0 -6823
  69. package/es/components/iho-table/src/plugins/rendererPlugins/inputs/index.d.ts +0 -1
  70. package/es/components/iho-table/src/plugins/rendererPlugins/inputs/index.js +0 -1
  71. package/es/shared/utils/tapable/index.d.ts +0 -139
@@ -1,8 +1,9 @@
1
- import { defineComponent, provide, ref, computed, resolveComponent, openBlock, createElementBlock, createVNode, mergeProps, unref, withCtx, Fragment, renderList, createBlock } from 'vue';
2
- import { watchDebounced } from '@vueuse/shared';
3
- import { isArray } from 'lodash-es';
4
- import { VxeEventListenerNameList, InjectionIhoTableEmits, InjectionIhoTableConfig } from './constants/index2.js';
5
- import { createTableHooks, createTableEventHandlers, applyTableConfigHooks, applyTableFieldHooks } from './hooks/tapHooks/index2.js';
1
+ import { defineComponent, provide, ref, computed, watch, resolveComponent, openBlock, createElementBlock, createVNode, mergeProps, unref, withCtx, Fragment, renderList, createBlock } from 'vue';
2
+ import { uuidGenerator } from '../../../shared/utils/index2.js';
3
+ import { useDebounceFn } from '@vueuse/core';
4
+ import { VxeEventListenerNameList, InjectionIhoTableEmits, InjectionIhoTableUUID, InjectionIhoTableConfig, InjectionIhoTableHandler } from './constants/index2.js';
5
+ import { createTableHooks, applyTableConfigHooks, applyTableFieldHooks, createTableEventHandlers, createDataTransfer } from './hooks/tapHooks/index2.js';
6
+ import 'lodash-es';
6
7
  import { getEventName } from './utils/index2.js';
7
8
  import ColumnComponent from './components/IhoTableColumn.js';
8
9
  import _export_sfc from '../../../_virtual/plugin-vue_export-helper.js';
@@ -11,8 +12,8 @@ const _hoisted_1 = { class: "iho-table" };
11
12
  const _sfc_main = /* @__PURE__ */ defineComponent({
12
13
  __name: "IhoTable",
13
14
  props: {
14
- tableConfig: { type: Object },
15
- fieldList: { type: Array, required: true },
15
+ tableConfig: { type: Object, default: () => ({}) },
16
+ fieldList: { type: Array, default: () => [] },
16
17
  tableData: { type: Array, default: () => [] }
17
18
  },
18
19
  emits: [
@@ -21,42 +22,62 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
22
  ...VxeEventListenerNameList.map(getEventName)
22
23
  ],
23
24
  setup(__props, { expose, emit: emits }) {
25
+ var _a, _b;
24
26
  const props = __props;
25
27
  provide(InjectionIhoTableEmits, emits);
26
- const vxeTableRef = ref();
28
+ const uuid = uuidGenerator();
29
+ const uuidRef = ref(uuid);
30
+ provide(InjectionIhoTableUUID, uuidRef);
31
+ const $table = ref();
27
32
  const hooks = createTableHooks();
28
- const configRef = ref({});
33
+ const configRef = ref({ uuid: (_b = (_a = props.tableConfig) == null ? void 0 : _a.uuid) != null ? _b : uuid });
29
34
  provide(InjectionIhoTableConfig, configRef);
30
- function updateConfigRef(config) {
31
- if (!config)
32
- return;
33
- configRef.value = applyTableConfigHooks(hooks, config);
34
- }
35
+ const updateConfigRef = useDebounceFn(() => {
36
+ configRef.value = applyTableConfigHooks(hooks, props.tableConfig);
37
+ configRef.value.uuid = uuidRef.value;
38
+ }, 10);
35
39
  const fieldListRef = ref([]);
36
- function updateFieldListRef(fieldList, config) {
37
- if (!isArray(fieldList) || !config)
38
- return;
39
- fieldListRef.value = applyTableFieldHooks(hooks, fieldList, config);
40
- }
41
- const eventHookHandler = createTableEventHandlers(hooks, configRef, vxeTableRef, emits);
40
+ const updateFieldListRef = useDebounceFn(() => {
41
+ fieldListRef.value = applyTableFieldHooks(hooks, props.fieldList, configRef.value);
42
+ }, 10);
43
+ const dataTransfer = createDataTransfer(hooks, configRef, $table);
44
+ const tableDataRef = ref([]);
45
+ const updateTableDataRef = useDebounceFn(async () => {
46
+ var _a2;
47
+ tableDataRef.value = await dataTransfer(props.tableData);
48
+ (_a2 = $table.value) == null ? void 0 : _a2.recalculate(true);
49
+ }, 10);
50
+ const tableHandler = { updateTableDataRef, updateConfigRef, updateFieldListRef };
51
+ provide(InjectionIhoTableHandler, tableHandler);
52
+ const eventHookHandler = createTableEventHandlers({
53
+ hooks,
54
+ config: configRef,
55
+ $table,
56
+ context: tableHandler,
57
+ emits
58
+ });
42
59
  const bindProperties = computed(() => ({ ...configRef.value, ...eventHookHandler }));
43
- watchDebounced(() => props.tableConfig, (config) => {
44
- updateConfigRef(config);
45
- updateFieldListRef(props.fieldList);
46
- }, { immediate: true, flush: "post", deep: true, debounce: 50 });
47
- watchDebounced(() => props.fieldList, (fieldList) => {
48
- updateFieldListRef(fieldList, configRef.value);
49
- }, { immediate: true, flush: "post", deep: true, debounce: 50 });
50
- expose({ vxeTable: vxeTableRef });
60
+ watch(() => props.tableConfig, () => {
61
+ updateConfigRef();
62
+ updateFieldListRef();
63
+ updateTableDataRef();
64
+ }, { immediate: true, deep: true });
65
+ watch(() => props.fieldList, () => {
66
+ updateFieldListRef();
67
+ updateTableDataRef();
68
+ }, { immediate: true, deep: true });
69
+ watch(() => props.tableData, updateTableDataRef, { immediate: true });
70
+ expose({ $table });
71
+ hooks.setupHooks.setup.call(configRef, fieldListRef);
51
72
  return (_ctx, _cache) => {
52
73
  const _component_vxe_table = resolveComponent("vxe-table");
53
74
  return openBlock(), createElementBlock("section", _hoisted_1, [
54
75
  createVNode(_component_vxe_table, mergeProps({
55
- ref_key: "vxeTableRef",
56
- ref: vxeTableRef
76
+ ref_key: "$table",
77
+ ref: $table
57
78
  }, unref(bindProperties), {
58
79
  eventHookHandler: "",
59
- data: __props.tableData
80
+ data: tableDataRef.value
60
81
  }), {
61
82
  default: withCtx(() => [
62
83
  (openBlock(true), createElementBlock(Fragment, null, renderList(fieldListRef.value, (field) => {
@@ -1,14 +1,15 @@
1
1
  import { AnyObject } from '../../../../es/shared/types';
2
2
  import { PropType } from 'vue';
3
3
  import { VxeTableInstance } from 'vxe-table';
4
- import { IhoTableConfig, IhoTableFieldItem, LowCodeTableFieldItem } from '../../../../es/components/iho-table/src/types';
4
+ import { IhoTableConfig, IhoTableFieldItem, IhoTableHandler, LowCodeTableFieldItem } from '../../../../es/components/iho-table/src/types';
5
5
  declare const _default: import("vue").DefineComponent<{
6
6
  tableConfig: {
7
7
  type: PropType<IhoTableConfig>;
8
+ default: () => {};
8
9
  };
9
10
  fieldList: {
10
11
  type: PropType<LowCodeTableFieldItem[]>;
11
- required: true;
12
+ default: () => never[];
12
13
  };
13
14
  tableData: {
14
15
  type: PropType<AnyObject[]>;
@@ -18,10 +19,11 @@ declare const _default: import("vue").DefineComponent<{
18
19
  props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
19
20
  tableConfig: {
20
21
  type: PropType<IhoTableConfig>;
22
+ default: () => {};
21
23
  };
22
24
  fieldList: {
23
25
  type: PropType<LowCodeTableFieldItem[]>;
24
- required: true;
26
+ default: () => never[];
25
27
  };
26
28
  tableData: {
27
29
  type: PropType<AnyObject[]>;
@@ -91,12 +93,15 @@ declare const _default: import("vue").DefineComponent<{
91
93
  onSettingClick?: ((...args: any[]) => any) | undefined;
92
94
  }>>;
93
95
  emits: (event: "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", ...args: any[]) => void;
94
- vxeTableRef: import("vue").Ref<VxeTableInstance | undefined>;
96
+ uuid: string;
97
+ uuidRef: import("vue").Ref<string>;
98
+ $table: import("vue").Ref<VxeTableInstance | undefined>;
95
99
  hooks: Readonly<{
96
100
  configHooks: import("../../../../es/components/iho-table/src/types").AbstractConfigHooks;
97
101
  fieldHooks: import("../../../../es/components/iho-table/src/types").AbstractFieldHooks;
98
102
  eventHooks: import("../../../../es/components/iho-table/src/types").AbstractEventHooks;
99
103
  dataHooks: import("../../../../es/components/iho-table/src/types").AbstractDataHooks;
104
+ setupHooks: import("../../../../es/components/iho-table/src/types").AbstractSetupHooks;
100
105
  }>;
101
106
  configRef: import("vue").Ref<{
102
107
  [x: string]: unknown;
@@ -2017,6 +2022,14 @@ declare const _default: import("vue").DefineComponent<{
2017
2022
  showInsertStatus?: boolean | undefined;
2018
2023
  showAsterisk?: boolean | undefined;
2019
2024
  autoClear?: boolean | undefined;
2025
+ beforeEditMethod?: ((params: {
2026
+ row: any;
2027
+ rowIndex: number;
2028
+ column: import("vxe-table").VxeTableDefines.ColumnInfo;
2029
+ columnIndex: number;
2030
+ $table: import("vxe-table").VxeTableConstructor & import("vxe-table").VxeTablePrivateMethods;
2031
+ $grid: import("vxe-table").VxeGridConstructor | null | undefined;
2032
+ }) => boolean) | undefined;
2020
2033
  activeMethod?: ((params: {
2021
2034
  row: any;
2022
2035
  rowIndex: number;
@@ -2055,16 +2068,19 @@ declare const _default: import("vue").DefineComponent<{
2055
2068
  gt?: number | undefined;
2056
2069
  oSize?: number | undefined;
2057
2070
  enabled?: boolean | undefined;
2071
+ scrollToLeftOnChange?: boolean | undefined;
2058
2072
  } | undefined;
2059
2073
  scrollY?: {
2060
2074
  mode?: "default" | "wheel" | undefined;
2061
2075
  gt?: number | undefined;
2062
2076
  oSize?: number | undefined;
2063
2077
  enabled?: boolean | undefined;
2078
+ scrollToTopOnChange?: boolean | undefined;
2064
2079
  rHeight?: number | undefined;
2065
2080
  adaptive?: boolean | undefined;
2066
2081
  } | undefined;
2067
2082
  params?: any;
2083
+ uuid?: string | undefined;
2068
2084
  showSeq?: boolean | undefined;
2069
2085
  selectType?: "checkbox" | "radio" | null | undefined;
2070
2086
  rowGroupSetting?: {
@@ -2120,7 +2136,7 @@ declare const _default: import("vue").DefineComponent<{
2120
2136
  }[] | undefined;
2121
2137
  } | undefined;
2122
2138
  }>;
2123
- updateConfigRef: (config?: IhoTableConfig) => void;
2139
+ updateConfigRef: () => void;
2124
2140
  fieldListRef: import("vue").Ref<{
2125
2141
  [x: string]: unknown;
2126
2142
  property?: string | undefined;
@@ -2439,8 +2455,13 @@ declare const _default: import("vue").DefineComponent<{
2439
2455
  }>[]) | undefined;
2440
2456
  getTitle?: (() => string) | undefined;
2441
2457
  getKey?: (() => string) | undefined;
2458
+ context?: AnyObject | undefined;
2442
2459
  }[]>;
2443
- updateFieldListRef: (fieldList?: LowCodeTableFieldItem[], config?: IhoTableConfig) => void;
2460
+ updateFieldListRef: () => void;
2461
+ dataTransfer: (data: AnyObject[]) => Promise<AnyObject[]>;
2462
+ tableDataRef: import("vue").Ref<AnyObject[]>;
2463
+ updateTableDataRef: () => Promise<void>;
2464
+ tableHandler: IhoTableHandler;
2444
2465
  eventHookHandler: Record<keyof import("vxe-table").VxeTableEventProps, any>;
2445
2466
  bindProperties: import("vue").ComputedRef<{
2446
2467
  onCopy: any;
@@ -4419,6 +4440,14 @@ declare const _default: import("vue").DefineComponent<{
4419
4440
  showInsertStatus?: boolean | undefined;
4420
4441
  showAsterisk?: boolean | undefined;
4421
4442
  autoClear?: boolean | undefined;
4443
+ beforeEditMethod?: ((params: {
4444
+ row: any;
4445
+ rowIndex: number;
4446
+ column: import("vxe-table").VxeTableDefines.ColumnInfo;
4447
+ columnIndex: number;
4448
+ $table: import("vxe-table").VxeTableConstructor & import("vxe-table").VxeTablePrivateMethods;
4449
+ $grid: import("vxe-table").VxeGridConstructor | null | undefined;
4450
+ }) => boolean) | undefined;
4422
4451
  activeMethod?: ((params: {
4423
4452
  row: any;
4424
4453
  rowIndex: number;
@@ -4457,16 +4486,19 @@ declare const _default: import("vue").DefineComponent<{
4457
4486
  gt?: number | undefined;
4458
4487
  oSize?: number | undefined;
4459
4488
  enabled?: boolean | undefined;
4489
+ scrollToLeftOnChange?: boolean | undefined;
4460
4490
  } | undefined;
4461
4491
  scrollY?: {
4462
4492
  mode?: "default" | "wheel" | undefined;
4463
4493
  gt?: number | undefined;
4464
4494
  oSize?: number | undefined;
4465
4495
  enabled?: boolean | undefined;
4496
+ scrollToTopOnChange?: boolean | undefined;
4466
4497
  rHeight?: number | undefined;
4467
4498
  adaptive?: boolean | undefined;
4468
4499
  } | undefined;
4469
4500
  params?: any;
4501
+ uuid?: string | undefined;
4470
4502
  showSeq?: boolean | undefined;
4471
4503
  selectType?: "checkbox" | "radio" | null | undefined;
4472
4504
  rowGroupSetting?: {
@@ -4522,7 +4554,6 @@ declare const _default: import("vue").DefineComponent<{
4522
4554
  }[] | undefined;
4523
4555
  } | undefined;
4524
4556
  }>;
4525
- dataTransfer: (data: AnyObject[]) => AnyObject[];
4526
4557
  IhoTableColumn: import("vue").DefineComponent<{
4527
4558
  field: {
4528
4559
  type: PropType<IhoTableFieldItem>;
@@ -4537,10 +4568,11 @@ declare const _default: import("vue").DefineComponent<{
4537
4568
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd")[], "toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "formChange" | "settingClick" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
4538
4569
  tableConfig: {
4539
4570
  type: PropType<IhoTableConfig>;
4571
+ default: () => {};
4540
4572
  };
4541
4573
  fieldList: {
4542
4574
  type: PropType<LowCodeTableFieldItem[]>;
4543
- required: true;
4575
+ default: () => never[];
4544
4576
  };
4545
4577
  tableData: {
4546
4578
  type: PropType<AnyObject[]>;
@@ -4609,6 +4641,8 @@ declare const _default: import("vue").DefineComponent<{
4609
4641
  onActiveCellChangeEnd?: ((...args: any[]) => any) | undefined;
4610
4642
  onSettingClick?: ((...args: any[]) => any) | undefined;
4611
4643
  }, {
4644
+ fieldList: LowCodeTableFieldItem[];
4645
+ tableConfig: IhoTableConfig;
4612
4646
  tableData: AnyObject[];
4613
4647
  }>;
4614
4648
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { Nullable } from '../../../../../es/shared/types';
2
2
  import { InjectionKey, Ref } from 'vue';
3
3
  import { VxeTableEventProps } from 'vxe-table/types/table';
4
- import { IhoTableConfig, UnionToTuple } from '../../../../../es/components/iho-table';
4
+ import { IhoTableConfig, IhoTableHandler, UnionToTuple } from '../../../../../es/components/iho-table';
5
5
  export declare enum WIDGET_TYPE {
6
6
  DEFAULT = "DEFAULT",
7
7
  PICTURE = "PICTURE",
@@ -41,7 +41,10 @@ export declare const VxeEventListenerNameList: Readonly<UnionToTuple<keyof VxeTa
41
41
  export declare const IhoTableRowGroupSequence: readonly ["firstRowGroup", "secondRowGroup", "thirdRowGroup", "fourthRowGroup", "fifthRowGroup", "sixthRowGroup", "seventhRowGroup", "eighthRowGroup", "ninthRowGroup", "tenthRowGroup"];
42
42
  export declare const HIGHEST_PRIORITY: number;
43
43
  export declare enum INPUT_TYPE {
44
- INPUT = "INPUT"
44
+ INPUT = "INPUT",
45
+ SEPARATE = "SEPARATE"
45
46
  }
46
47
  export declare const InjectionIhoTableConfig: InjectionKey<Ref<Nullable<IhoTableConfig>>>;
47
48
  export declare const InjectionIhoTableEmits: InjectionKey<(event: string, ...args: unknown[]) => void>;
49
+ export declare const InjectionIhoTableUUID: InjectionKey<Ref<string>>;
50
+ export declare const InjectionIhoTableHandler: InjectionKey<IhoTableHandler>;
@@ -1 +1 @@
1
- export { HIGHEST_PRIORITY, INPUT_TYPE, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, VxeEventListenerNameList, WIDGET_TYPE } from './index2.js';
1
+ export { HIGHEST_PRIORITY, INPUT_TYPE, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE } from './index2.js';
@@ -95,7 +95,7 @@ const VxeEventListenerNameList = Object.freeze([
95
95
  "onActiveCellChangeStart",
96
96
  "onActiveCellChangeEnd"
97
97
  ]);
98
- const IhoTableRowGroupSequence = [
98
+ const IhoTableRowGroupSequence = Object.freeze([
99
99
  "firstRowGroup",
100
100
  "secondRowGroup",
101
101
  "thirdRowGroup",
@@ -106,13 +106,16 @@ const IhoTableRowGroupSequence = [
106
106
  "eighthRowGroup",
107
107
  "ninthRowGroup",
108
108
  "tenthRowGroup"
109
- ];
109
+ ]);
110
110
  const HIGHEST_PRIORITY = -Infinity;
111
111
  var INPUT_TYPE = /* @__PURE__ */ ((INPUT_TYPE2) => {
112
112
  INPUT_TYPE2["INPUT"] = "INPUT";
113
+ INPUT_TYPE2["SEPARATE"] = "SEPARATE";
113
114
  return INPUT_TYPE2;
114
115
  })(INPUT_TYPE || {});
115
- const InjectionIhoTableConfig = Symbol("injectionIhoTableConfig ");
116
- const InjectionIhoTableEmits = Symbol("InjectionIhoTableEmits ");
116
+ const InjectionIhoTableConfig = Symbol("injectionIhoTableConfig");
117
+ const InjectionIhoTableEmits = Symbol("InjectionIhoTableEmits");
118
+ const InjectionIhoTableUUID = Symbol("InjectionIhoTableUUID");
119
+ const InjectionIhoTableHandler = Symbol("InjectionIhoTableHandler");
117
120
 
118
- export { HIGHEST_PRIORITY, INPUT_TYPE, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, VxeEventListenerNameList, WIDGET_TYPE };
121
+ export { HIGHEST_PRIORITY, INPUT_TYPE, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE };
@@ -2,14 +2,21 @@ import { AnyObject, Func, Nullable } from '../../../../../../es/shared/types';
2
2
  import { MaybeRef } from '@vueuse/core';
3
3
  import { VxeTableInstance } from 'vxe-table';
4
4
  import { VxeTableEventProps } from 'vxe-table/types/table';
5
- import { IhoTableConfig, IhoTableFieldItem, TableHooks } from '../../../../../../es/components/iho-table/src/types';
5
+ import { IhoTableConfig, IhoTableEventContext, IhoTableFieldItem, TableHooks } from '../../../../../../es/components/iho-table/src/types';
6
6
  export declare const createTableHooks: () => Readonly<{
7
7
  configHooks: import("../../../../../../es/components/iho-table/src/types").AbstractConfigHooks;
8
8
  fieldHooks: import("../../../../../../es/components/iho-table/src/types").AbstractFieldHooks;
9
9
  eventHooks: import("../../../../../../es/components/iho-table/src/types").AbstractEventHooks;
10
10
  dataHooks: import("../../../../../../es/components/iho-table/src/types").AbstractDataHooks;
11
+ setupHooks: import("../../../../../../es/components/iho-table/src/types").AbstractSetupHooks;
11
12
  }>;
12
13
  export declare function applyTableConfigHooks(hooks: TableHooks, config: IhoTableConfig): IhoTableConfig;
13
14
  export declare function applyTableFieldHooks(hooks: TableHooks, fieldList: IhoTableFieldItem[], config: IhoTableConfig): IhoTableFieldItem[];
14
- export declare function createTableEventHandlers(hooks: TableHooks, config: MaybeRef<IhoTableConfig>, $table: MaybeRef<Nullable<VxeTableInstance>>, emits: Func): Record<keyof VxeTableEventProps, any>;
15
- export declare function createDataTransfer(hooks: TableHooks, config: MaybeRef<IhoTableConfig>): (data: AnyObject[]) => AnyObject[];
15
+ export declare function createTableEventHandlers({ hooks, config, $table, emits, context }: {
16
+ hooks: TableHooks;
17
+ config: MaybeRef<IhoTableConfig>;
18
+ $table: MaybeRef<Nullable<VxeTableInstance>>;
19
+ emits: Func;
20
+ context: IhoTableEventContext;
21
+ }): Record<keyof VxeTableEventProps, any>;
22
+ export declare function createDataTransfer(hooks: TableHooks, config: MaybeRef<IhoTableConfig>, $table: MaybeRef<Nullable<VxeTableInstance>>): (data: AnyObject[]) => Promise<AnyObject[]>;
@@ -4,6 +4,7 @@ import { cloneDeep, isArray } from 'lodash-es';
4
4
  import { VxeEventListenerNameList } from '../../constants/index2.js';
5
5
  import { useDataHooks } from './useDataHooks2.js';
6
6
  import { useEventHooks } from './useEventHooks2.js';
7
+ import { useSetupHooks } from './useSetupHooks2.js';
7
8
  import { getEventName } from '../../utils/index2.js';
8
9
  import { useConfigHooks } from './useConfigHooks2.js';
9
10
  import { useFieldHooks } from './useFieldHooks2.js';
@@ -15,7 +16,8 @@ const createTableHooks = (() => {
15
16
  configHooks: useConfigHooks().create(),
16
17
  fieldHooks: useFieldHooks().create(),
17
18
  eventHooks: useEventHooks().create(),
18
- dataHooks: useDataHooks().create()
19
+ dataHooks: useDataHooks().create(),
20
+ setupHooks: useSetupHooks().create()
19
21
  });
20
22
  }
21
23
  return () => {
@@ -56,8 +58,8 @@ function applyTableFieldHooks(hooks, fieldList, config) {
56
58
  return result;
57
59
  function traverseFieldList(fieldList2) {
58
60
  return fieldList2.reduce((finFieldList, field, index) => {
59
- let before;
60
- let after;
61
+ const before = [];
62
+ const after = [];
61
63
  let removed = false;
62
64
  field = hooks.fieldHooks.field.call(field, {
63
65
  index,
@@ -65,57 +67,66 @@ function applyTableFieldHooks(hooks, fieldList, config) {
65
67
  removed = true;
66
68
  },
67
69
  insertAfter(field2) {
68
- after = arrayed(field2);
70
+ after.push(...arrayed(field2));
69
71
  },
70
72
  insertBefore(field2) {
71
- before = arrayed(field2);
73
+ before.push(...arrayed(field2));
72
74
  }
73
75
  }, config);
74
- before && finFieldList.push(...before);
76
+ finFieldList.push(...before);
75
77
  if (!removed) {
76
78
  finFieldList.push(field);
77
79
  if (isArray(field.children)) {
78
80
  field.children = traverseFieldList(field.children);
79
81
  }
80
82
  }
81
- after && finFieldList.push(...after);
83
+ finFieldList.push(...after);
82
84
  return finFieldList;
83
85
  }, []);
84
86
  }
85
87
  }
86
- function createTableEventHandlers(hooks, config, $table, emits) {
88
+ function createTableEventHandlers({
89
+ hooks,
90
+ config,
91
+ $table,
92
+ emits,
93
+ context
94
+ }) {
87
95
  const handler = (eventListenerName, payload) => {
88
96
  var _a;
89
97
  if (VxeEventListenerNameList.includes(eventListenerName))
90
98
  emits(getEventName(eventListenerName), payload);
91
- (_a = hooks.eventHooks[eventListenerName]) == null ? void 0 : _a.promise(payload, unref(config), unref($table));
99
+ (_a = hooks.eventHooks[eventListenerName]) == null ? void 0 : _a.promise(payload, { $table: unref($table), ...context }, unref(config));
92
100
  };
93
101
  return VxeEventListenerNameList.reduce((result, eventName) => {
94
102
  result[eventName] = (payload) => handler(eventName, payload);
95
103
  return result;
96
104
  }, {});
97
105
  }
98
- function createDataTransfer(hooks, config) {
99
- return (data) => data.reduce((res, rowData) => {
100
- let before;
101
- let after;
106
+ function createDataTransfer(hooks, config, $table) {
107
+ return async (data) => await data.reduce(async (res, rowData, index) => {
108
+ const before = [];
109
+ const after = [];
102
110
  let removed = false;
103
- hooks.dataHooks.data.call(rowData, {
111
+ await hooks.dataHooks.data.promise(rowData, {
112
+ index,
113
+ $table,
104
114
  insertBefore(data2) {
105
- before = arrayed(data2);
115
+ before.push(...arrayed(data2));
106
116
  },
107
117
  insertAfter(data2) {
108
- after = arrayed(data2);
118
+ after.push(...arrayed(data2));
109
119
  },
110
120
  remove() {
111
121
  removed = true;
112
122
  }
113
123
  }, unref(config));
114
- before && res.push(...before);
115
- !removed && res.push(rowData);
116
- after && res.push(...after);
117
- return res;
118
- }, []);
124
+ const nextRes = await res;
125
+ nextRes.push(...before);
126
+ !removed && nextRes.push(rowData);
127
+ nextRes.push(...after);
128
+ return nextRes;
129
+ }, Promise.resolve([]));
119
130
  }
120
131
 
121
132
  export { applyTableConfigHooks, applyTableFieldHooks, createDataTransfer, createTableEventHandlers, createTableHooks };
@@ -1,12 +1,14 @@
1
1
  import { AnyObject } from '../../../../../../es/shared/types';
2
- import { SyncHook } from '../../../../../../es/shared/utils/tapable';
2
+ import { AsyncSeriesHook } from '../../../../../../es/shared/utils/tapable';
3
3
  import { AbstractDataHooks } from '../../../../../../es/components/iho-table/src/types';
4
4
  declare class TableDataHooks extends AbstractDataHooks {
5
- readonly data: SyncHook<[AnyObject, {
5
+ readonly data: AsyncSeriesHook<[AnyObject, {
6
6
  remove(): void;
7
+ $table: import("@vueuse/shared").MaybeRef<import("../../../../../../es/shared/types").Nullable<import("vxe-table").VxeTableInstance>>;
8
+ index: number;
7
9
  insertBefore(data: import("../../../../../../es/shared/types").ArrayAble<AnyObject>): void;
8
10
  insertAfter(data: import("../../../../../../es/shared/types").ArrayAble<AnyObject>): void;
9
- }, import("../../../../../../es/components/iho-table/src/types").IhoTableConfig], void, import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
11
+ }, import("../../../../../../es/components/iho-table/src/types").IhoTableConfig], import("../../../../../../es/shared/utils/tapable").UnsetAdditionalOptions>;
10
12
  }
11
13
  export declare function useDataHooks(): {
12
14
  create: () => TableDataHooks;
@@ -1,10 +1,10 @@
1
- import SyncHook from '../../../../../shared/utils/tapable/SyncHook.js';
1
+ import '../../../../../shared/utils/tapable/SyncHook.js';
2
2
  import '../../../../../shared/utils/tapable/SyncBailHook.js';
3
3
  import '../../../../../shared/utils/tapable/SyncWaterfallHook.js';
4
4
  import '../../../../../shared/utils/tapable/SyncLoopHook.js';
5
5
  import '../../../../../shared/utils/tapable/AsyncParallelHook.js';
6
6
  import '../../../../../shared/utils/tapable/AsyncParallelBailHook.js';
7
- import '../../../../../shared/utils/tapable/AsyncSeriesHook.js';
7
+ import AsyncSeriesHook from '../../../../../shared/utils/tapable/AsyncSeriesHook.js';
8
8
  import '../../../../../shared/utils/tapable/AsyncSeriesBailHook.js';
9
9
  import '../../../../../shared/utils/tapable/AsyncSeriesLoopHook.js';
10
10
  import '../../../../../shared/utils/tapable/AsyncSeriesWaterfallHook.js';
@@ -13,7 +13,7 @@ import { AbstractDataHooks } from '../../types/pluginType2.js';
13
13
  class TableDataHooks extends AbstractDataHooks {
14
14
  constructor() {
15
15
  super(...arguments);
16
- this.data = new SyncHook(["rowData", "context", "config"]);
16
+ this.data = new AsyncSeriesHook(["rowData", "context", "config"]);
17
17
  }
18
18
  }
19
19
  function useDataHooks() {