cnhis-design-vue 3.1.26-beta.3 → 3.1.26-beta.4

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 (28) hide show
  1. package/es/components/form-config/index.d.ts +888 -872
  2. package/es/components/form-config/src/FormConfig.vue.d.ts +888 -872
  3. package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +444 -436
  4. package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +444 -436
  5. package/es/components/form-render/index.d.ts +445 -436
  6. package/es/components/form-render/index.js +5 -1
  7. package/es/components/form-render/src/FormRender.js +23 -9
  8. package/es/components/form-render/src/FormRender.vue.d.ts +1 -0
  9. package/es/components/form-render/src/FormRenderWrapper.js +46 -0
  10. package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +621 -0
  11. package/es/components/form-render/src/components/renderer/jsonCombination/index.js +2 -2
  12. package/es/components/form-render/src/components/renderer/simpleComponent.js +2 -2
  13. package/es/components/form-render/src/hooks/useFormContext.js +2 -2
  14. package/es/components/form-render/src/types/index.d.ts +3 -1
  15. package/es/components/form-render/src/utils/index.d.ts +2 -1
  16. package/es/components/form-render/src/utils/index.js +26 -4
  17. package/es/components/iho-table/src/IhoTable.js +2 -1
  18. package/es/components/iho-table/src/constants/index.d.ts +4 -2
  19. package/es/components/iho-table/src/constants/index.js +9 -1
  20. package/es/components/iho-table/src/hooks/useTableContext.d.ts +7 -0
  21. package/es/components/iho-table/src/hooks/useTableContext.js +15 -0
  22. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +1 -1
  23. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +1 -1
  24. package/es/components/iho-table/src/types/index.d.ts +6 -2
  25. package/es/components/index.js +4 -0
  26. package/es/components/shortcut-setter/index.d.ts +444 -436
  27. package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +444 -436
  28. package/package.json +2 -2
@@ -27,7 +27,8 @@ export declare type AgeContext = Record<'age' | 'day' | 'month' | 'year', number
27
27
  export declare type IdCardParseInfo = Record<'sex' | 'birthday', string> & AgeContext;
28
28
  export declare type FormRenderExpose = {
29
29
  validate(path?: string): Promise<unknown>;
30
- getFormValues(): AnyObject;
30
+ getFormValues(needCombineExtendKey?: boolean): AnyObject;
31
+ setFormValues(values: AnyObject, needSplitExtendKey?: boolean): AnyObject;
31
32
  setFieldState(path: string, setter: (field: Field) => void): void;
32
33
  resetFields(path?: string): void;
33
34
  queryWidget(key: string): Promise<{
@@ -35,6 +36,7 @@ export declare type FormRenderExpose = {
35
36
  widgetElementList: HTMLInputElement[];
36
37
  decoratorElement: HTMLElement | null;
37
38
  }>;
39
+ reload(): Promise<any>;
38
40
  };
39
41
  export declare type FormChangeContext = Partial<{
40
42
  currentOption: AnyObject;
@@ -17,4 +17,5 @@ export declare function optionMatcher(options: AnyObject[], input: Nullable<stri
17
17
  keyword?: string;
18
18
  }): AnyObject[];
19
19
  export declare function validateMessageParser(message: string, fieldItem: Omit<FieldItem, 'reactions'>): string;
20
- export declare function transformExtendKey(fieldList: FieldItem[], values: AnyObject): AnyObject;
20
+ export declare function combineExtendKey(fieldList: FieldItem[], values: AnyObject): AnyObject;
21
+ export declare function splitExtendKey(fieldList: FieldItem[], values: AnyObject): AnyObject;
@@ -1,9 +1,9 @@
1
- import { computed, createVNode, Fragment, inject, provide } from 'vue';
1
+ import { inject, provide, computed, createVNode, Fragment } from 'vue';
2
2
  import { arrayed } from '../../../../shared/utils/index.js';
3
3
  import { Path } from '@formily/path';
4
4
  import { isObject } from '@vue/shared';
5
5
  import { useMemoize } from '@vueuse/core';
6
- import { isString, isFunction } from 'lodash-es';
6
+ import { isString, isFunction, omit } from 'lodash-es';
7
7
  import 'date-fns';
8
8
  import '@formily/core';
9
9
 
@@ -133,7 +133,7 @@ function validateMessageParser(message, fieldItem) {
133
133
  return (_a = fieldItem[property.trim()]) != null ? _a : "";
134
134
  }
135
135
  }
136
- function transformExtendKey(fieldList, values) {
136
+ function combineExtendKey(fieldList, values) {
137
137
  const fieldListWithExtendKey = fieldList.filter((field) => isString(field.extendKey) && field.extendKey);
138
138
  if (!fieldListWithExtendKey.length)
139
139
  return values;
@@ -157,5 +157,27 @@ function transformExtendKey(fieldList, values) {
157
157
  });
158
158
  return result;
159
159
  }
160
+ function splitExtendKey(fieldList, values) {
161
+ const fieldListWithExtendKey = fieldList.filter((field) => isString(field.extendKey) && field.extendKey);
162
+ if (!fieldListWithExtendKey.length)
163
+ return values;
164
+ const queryFieldValue = useMemoize((extendKey) => {
165
+ try {
166
+ return JSON.parse(values[extendKey]);
167
+ } catch (e) {
168
+ return {};
169
+ }
170
+ });
171
+ const result = omit(values, fieldListWithExtendKey.map((field) => field.extendKey));
172
+ fieldListWithExtendKey.forEach(({
173
+ val_key,
174
+ extendKey
175
+ }) => {
176
+ if (Reflect.has(result, val_key))
177
+ return;
178
+ result[val_key] = queryFieldValue(extendKey)[val_key];
179
+ });
180
+ return result;
181
+ }
160
182
 
161
- export { createInputSlot, createSlot, formRenderLog, injectOrProvide, mergeDeepProperties, optionMatcher, parseNumberFromMaybeString, presetRequestHandler, transformExtendKey, validateMessageParser };
183
+ export { combineExtendKey, createInputSlot, createSlot, formRenderLog, injectOrProvide, mergeDeepProperties, optionMatcher, parseNumberFromMaybeString, presetRequestHandler, splitExtendKey, validateMessageParser };
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, provide, ref, computed, watch, resolveComponent, openBlock, createElementBlock, createVNode, mergeProps, unref, withCtx, Fragment, renderList, createBlock } from 'vue';
2
2
  import { uuidGenerator } from '../../../shared/utils/index.js';
3
3
  import { useDebounceFn } from '@vueuse/core';
4
- import { VxeEventListenerNameList, InjectionIhoTableEmits, InjectionIhoTableUUID, InjectionIhoTableConfig, InjectionIhoTableHandler } from './constants/index.js';
4
+ import { VxeEventListenerNameList, InjectionIhoTableEmits, InjectionIhoTableUUID, InjectionIhoTableConfig, InjectionIhoTableFieldList, InjectionIhoTableHandler } from './constants/index.js';
5
5
  import { createTableHooks, applyTableConfigHooks, applyTableFieldHooks, createTableEventHandlers, createDataTransfer } from './hooks/tapHooks/index.js';
6
6
  import 'lodash-es';
7
7
  import { getEventName } from './utils/index.js';
@@ -37,6 +37,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  configRef.value.uuid = uuidRef.value;
38
38
  }, 10);
39
39
  const fieldListRef = ref([]);
40
+ provide(InjectionIhoTableFieldList, fieldListRef);
40
41
  const updateFieldListRef = useDebounceFn(() => {
41
42
  fieldListRef.value = applyTableFieldHooks(hooks, props.fieldList, configRef.value);
42
43
  }, 10);
@@ -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, IhoTableHandler, UnionToTuple } from '../../../../../es/components/iho-table';
4
+ import { IhoTableConfig, IhoTableEmitPayload, IhoTableFieldItem, IhoTableHandler, UnionToTuple } from '../../../../../es/components/iho-table';
5
5
  export declare enum WIDGET_TYPE {
6
6
  DEFAULT = "DEFAULT",
7
7
  PICTURE = "PICTURE",
@@ -46,7 +46,9 @@ export declare enum EDITABLE_WIDGET_TYPE {
46
46
  TIME = "TIME",
47
47
  NUMBER = "NUMBER"
48
48
  }
49
+ export declare const IhoTableEventNameTuple: readonly ["formChange", "settingClick", ...("toggleRowExpand" | "toggleTreeExpand" | "copy" | "scroll" | "cut" | "paste" | "keydown" | "keydownStart" | "keydownEnd" | "currentChange" | "radioChange" | "checkboxChange" | "checkboxAll" | "checkboxRangeStart" | "checkboxRangeChange" | "checkboxRangeEnd" | "cellClick" | "cellDblclick" | "cellMenu" | "cellMouseenter" | "cellMouseleave" | "headerCellClick" | "headerCellDblclick" | "headerCellMenu" | "footerCellClick" | "footerCellDblclick" | "footerCellMenu" | "sortChange" | "filterChange" | "filterVisible" | "resizableChange" | "menuClick" | "editClosed" | "editActived" | "editDisabled" | "validError" | "custom" | "openFnr" | "fnrChange" | "fnrFind" | "fnrFindAll" | "fnrReplace" | "fnrReplaceAll" | "cellAreaCopy" | "cellAreaCut" | "cellAreaPaste" | "cellAreaMerge" | "clearCellAreaMerge" | "headerCellAreaSelection" | "cellAreaSelectionStart" | "cellAreaSelectionDrag" | "cellAreaSelectionEnd" | "cellAreaExtensionStart" | "cellAreaExtensionDrag" | "cellAreaExtensionEnd" | "cellAreaArrowsStart" | "cellAreaArrowsEnd" | "activeCellChangeStart" | "activeCellChangeEnd")[]];
49
50
  export declare const InjectionIhoTableConfig: InjectionKey<Ref<Nullable<IhoTableConfig>>>;
50
- export declare const InjectionIhoTableEmits: InjectionKey<(event: string, ...args: unknown[]) => void>;
51
+ export declare const InjectionIhoTableFieldList: InjectionKey<Ref<Nullable<IhoTableFieldItem[]>>>;
52
+ export declare const InjectionIhoTableEmits: InjectionKey<(<T extends typeof IhoTableEventNameTuple[number]>(event: T, ...args: IhoTableEmitPayload<T>) => void)>;
51
53
  export declare const InjectionIhoTableUUID: InjectionKey<Ref<string>>;
52
54
  export declare const InjectionIhoTableHandler: InjectionKey<IhoTableHandler>;
@@ -1,3 +1,5 @@
1
+ import { getEventName } from '../utils/index.js';
2
+
1
3
  var WIDGET_TYPE = /* @__PURE__ */ ((WIDGET_TYPE2) => {
2
4
  WIDGET_TYPE2["DEFAULT"] = "DEFAULT";
3
5
  WIDGET_TYPE2["PICTURE"] = "PICTURE";
@@ -115,9 +117,15 @@ var EDITABLE_WIDGET_TYPE = /* @__PURE__ */ ((EDITABLE_WIDGET_TYPE2) => {
115
117
  EDITABLE_WIDGET_TYPE2["NUMBER"] = "NUMBER";
116
118
  return EDITABLE_WIDGET_TYPE2;
117
119
  })(EDITABLE_WIDGET_TYPE || {});
120
+ const IhoTableEventNameTuple = [
121
+ "formChange",
122
+ "settingClick",
123
+ ...VxeEventListenerNameList.map(getEventName)
124
+ ];
118
125
  const InjectionIhoTableConfig = Symbol("injectionIhoTableConfig");
126
+ const InjectionIhoTableFieldList = Symbol("injectionIhoTableFieldList");
119
127
  const InjectionIhoTableEmits = Symbol("InjectionIhoTableEmits");
120
128
  const InjectionIhoTableUUID = Symbol("InjectionIhoTableUUID");
121
129
  const InjectionIhoTableHandler = Symbol("InjectionIhoTableHandler");
122
130
 
123
- export { EDITABLE_WIDGET_TYPE, HIGHEST_PRIORITY, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE };
131
+ export { EDITABLE_WIDGET_TYPE, HIGHEST_PRIORITY, IhoTableEventNameTuple, IhoTableRowGroupSequence, InjectionIhoTableConfig, InjectionIhoTableEmits, InjectionIhoTableFieldList, InjectionIhoTableHandler, InjectionIhoTableUUID, VxeEventListenerNameList, WIDGET_TYPE };
@@ -0,0 +1,7 @@
1
+ export declare function useTableContext(): {
2
+ configRef: import("vue").Ref<import("../../../../shared/types").Nullable<import("../types").IhoTableConfig>> | undefined;
3
+ fieldListRef: import("vue").Ref<import("../../../../shared/types").Nullable<import("../types").IhoTableFieldItem[]>> | undefined;
4
+ tableHandler: import("../types").IhoTableHandler | undefined;
5
+ tableEmit: (<T extends "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">(event: T, ...args: import("../types").IhoTableEmitPayload<T>) => void) | undefined;
6
+ uuid: import("vue").Ref<string> | undefined;
7
+ };
@@ -0,0 +1,15 @@
1
+ import { getCurrentInstance, inject } from 'vue';
2
+ import { InjectionIhoTableConfig, InjectionIhoTableFieldList, InjectionIhoTableHandler, InjectionIhoTableUUID, InjectionIhoTableEmits } from '../constants/index.js';
3
+
4
+ function useTableContext() {
5
+ if (!getCurrentInstance())
6
+ throw new Error("useTableContext can only be used in setup environment");
7
+ const configRef = inject(InjectionIhoTableConfig);
8
+ const fieldListRef = inject(InjectionIhoTableFieldList);
9
+ const tableHandler = inject(InjectionIhoTableHandler);
10
+ const uuid = inject(InjectionIhoTableUUID);
11
+ const tableEmit = inject(InjectionIhoTableEmits);
12
+ return { configRef, fieldListRef, tableHandler, tableEmit, uuid };
13
+ }
14
+
15
+ export { useTableContext };
@@ -42,7 +42,7 @@ declare const _default: import("vue").DefineComponent<{
42
42
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
43
43
  }>>;
44
44
  emit: (event: "update:value", ...args: any[]) => void;
45
- globEmit: (event: string, ...args: unknown[]) => void;
45
+ globEmit: <T extends "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">(event: T, ...args: import("../../../../../../../../es/components/iho-table").IhoTableEmitPayload<T>) => void;
46
46
  formRef: import("vue").Ref<HTMLElement | null>;
47
47
  isShow: import("vue").Ref<boolean>;
48
48
  formattedValue: import("vue").Ref<string | undefined>;
@@ -49,7 +49,7 @@ declare const _default: import("vue").DefineComponent<{
49
49
  }>> & {
50
50
  "onUpdate:value"?: ((...args: any[]) => any) | undefined;
51
51
  }>>;
52
- globEmit: (event: string, ...args: unknown[]) => void;
52
+ globEmit: <T extends "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">(event: T, ...args: import("../../../../../../../../es/components/iho-table").IhoTableEmitPayload<T>) => void;
53
53
  tableHandler: import("../../../../../../../../es/components/iho-table").IhoTableHandler;
54
54
  popoverRef: import("vue").Ref<any>;
55
55
  editContent: import("vue").Ref<any>;
@@ -1,6 +1,7 @@
1
1
  import { AnyObject } from '../../../../../es/shared/types';
2
2
  import { VxeTableProps, VxeTableDefines } from 'vxe-table';
3
- import { IhoTableRowGroupSequence } from '../../../../../es/components/iho-table/src/constants';
3
+ import { VxeTableEventProps } from 'vxe-table/types/table';
4
+ import { IhoTableEventNameTuple, IhoTableRowGroupSequence } from '../../../../../es/components/iho-table/src/constants';
4
5
  export * from './pluginType';
5
6
  export interface IhoTableRowGroupItem {
6
7
  groupName: string;
@@ -40,10 +41,13 @@ export declare type LowCodeTableFieldItem = {
40
41
  treeNode: boolean;
41
42
  }>;
42
43
  export declare type IhoFormChangePayload = {
43
- column: VxeTableDefines.ColumnInfo;
44
+ column: IhoTableFieldItem;
44
45
  row: AnyObject;
45
46
  value: unknown;
46
47
  index: number;
48
+ type?: string;
47
49
  };
48
50
  export declare type EventListenerToEventName<T extends string> = T extends `on${infer R}` ? R extends `${infer F}${infer L}` ? `${Lowercase<F>}${L}` : never : never;
51
+ export declare type EventNameToEventListener<T extends string> = T extends `${infer L}${infer R}` ? `on${Uppercase<L>}${R}` : never;
49
52
  export declare type IhoTableHandler = Record<'updateConfigRef' | 'updateFieldListRef' | 'updateTableDataRef', () => void>;
53
+ export declare type IhoTableEmitPayload<T extends typeof IhoTableEventNameTuple[number]> = T extends 'formChange' ? [IhoFormChangePayload] : T extends 'settingClick' ? [] : Parameters<NonNullable<VxeTableEventProps[EventNameToEventListener<Exclude<T, 'formChange' | 'settingClick'>>]>>;
@@ -55,6 +55,10 @@ export { useAnchor } from './form-render/src/hooks/useAnchor.js';
55
55
  export { useAutographOptions } from './form-render/src/hooks/useAutographOptions.js';
56
56
  export { useFormContext } from './form-render/src/hooks/useFormContext.js';
57
57
  export { useCommonInjection, useSelectOptionProps } from './form-render/src/hooks/useCommonInjection.js';
58
+ export { businessDateParser, isIdCard, isMobile, parseAge2Birthday, parseAge2FromContext, parseBirthday, parseIdCard, transformDateFormat } from './form-render/src/utils/business.js';
59
+ export { queryDecorator, queryInput } from './form-render/src/utils/dom.js';
60
+ export { assignClearBindVisited, assignUpdateValue, assignValueBindKey, createLinebarId, createObjSchema, dotEscape, fieldKeyEscape, getParentLinebar, traverseDependKey, traverseSchema, visitedDecorator } from './form-render/src/utils/schema.js';
61
+ export { combineExtendKey, createInputSlot, createSlot, formRenderLog, injectOrProvide, mergeDeepProperties, optionMatcher, parseNumberFromMaybeString, presetRequestHandler, splitExtendKey, validateMessageParser } from './form-render/src/utils/index.js';
58
62
  export * from '@formily/core';
59
63
  export { GlobalShortcutProvider, ShortcutManager, useShortcuts } from './shortcut-provider/src/hooks/useShortcuts.js';
60
64
  export { useShortcutSignature } from './shortcut-provider/src/hooks/useShortcutSignature.js';