cnhis-design-vue 3.1.26-beta.2 → 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.
- package/es/components/form-config/index.d.ts +889 -872
- package/es/components/form-config/src/FormConfig.vue.d.ts +889 -872
- package/es/components/form-config/src/components/FormConfigCreator.vue.d.ts +444 -436
- package/es/components/form-config/src/components/FormConfigEdit.vue.d.ts +445 -436
- package/es/components/form-render/index.d.ts +445 -436
- package/es/components/form-render/index.js +5 -1
- package/es/components/form-render/src/FormRender.js +25 -8
- package/es/components/form-render/src/FormRender.vue.d.ts +1 -0
- package/es/components/form-render/src/FormRenderWrapper.js +46 -0
- package/es/components/form-render/src/FormRenderWrapper.vue.d.ts +621 -0
- package/es/components/form-render/src/components/renderer/jsonCombination/index.js +2 -2
- package/es/components/form-render/src/components/renderer/simpleComponent.js +2 -2
- package/es/components/form-render/src/hooks/useFormContext.js +2 -2
- package/es/components/form-render/src/types/fieldItem.d.ts +4 -0
- package/es/components/form-render/src/types/index.d.ts +3 -1
- package/es/components/form-render/src/utils/index.d.ts +2 -0
- package/es/components/form-render/src/utils/index.js +49 -3
- package/es/components/iho-table/src/IhoTable.js +2 -1
- package/es/components/iho-table/src/constants/index.d.ts +6 -4
- package/es/components/iho-table/src/constants/index.js +10 -2
- package/es/components/iho-table/src/hooks/useTableContext.d.ts +7 -0
- package/es/components/iho-table/src/hooks/useTableContext.js +15 -0
- package/es/components/iho-table/src/plugins/defaultConfigPlugin/index.js +5 -1
- package/es/components/iho-table/src/plugins/index.js +2 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.d.ts +1 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js +62 -0
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/editSelect.js +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +1 -1
- package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin.js +11 -11
- package/es/components/iho-table/src/types/index.d.ts +6 -2
- package/es/components/index.js +4 -0
- package/es/components/shortcut-setter/index.d.ts +445 -436
- package/es/components/shortcut-setter/src/ShortcutSetter.vue.d.ts +445 -436
- package/es/shared/types/index.d.ts +8 -0
- 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,3 +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 combineExtendKey(fieldList: FieldItem[], values: AnyObject): AnyObject;
|
|
21
|
+
export declare function splitExtendKey(fieldList: FieldItem[], values: AnyObject): AnyObject;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
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,5 +133,51 @@ function validateMessageParser(message, fieldItem) {
|
|
|
133
133
|
return (_a = fieldItem[property.trim()]) != null ? _a : "";
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
+
function combineExtendKey(fieldList, values) {
|
|
137
|
+
const fieldListWithExtendKey = fieldList.filter((field) => isString(field.extendKey) && field.extendKey);
|
|
138
|
+
if (!fieldListWithExtendKey.length)
|
|
139
|
+
return values;
|
|
140
|
+
const result = {};
|
|
141
|
+
const extendKeyMap = /* @__PURE__ */ new Map();
|
|
142
|
+
Object.entries(values).forEach(([k, v]) => {
|
|
143
|
+
const field = fieldListWithExtendKey.find((field2) => field2.val_key === k);
|
|
144
|
+
if (!field) {
|
|
145
|
+
return result[k] = v;
|
|
146
|
+
}
|
|
147
|
+
const {
|
|
148
|
+
val_key,
|
|
149
|
+
extendKey
|
|
150
|
+
} = field;
|
|
151
|
+
const extendKeyObject = extendKeyMap.get(extendKey) || {};
|
|
152
|
+
extendKeyMap.set(extendKey, extendKeyObject);
|
|
153
|
+
extendKeyObject[val_key] = values[val_key];
|
|
154
|
+
});
|
|
155
|
+
[...extendKeyMap.entries()].forEach(([k, v]) => {
|
|
156
|
+
result[k] = JSON.stringify(v);
|
|
157
|
+
});
|
|
158
|
+
return result;
|
|
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
|
+
}
|
|
136
182
|
|
|
137
|
-
export { createInputSlot, createSlot, formRenderLog, injectOrProvide, mergeDeepProperties, optionMatcher, parseNumberFromMaybeString, presetRequestHandler, 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",
|
|
@@ -24,7 +24,6 @@ export declare enum WIDGET_TYPE {
|
|
|
24
24
|
TASKDATE = "TASKDATE",
|
|
25
25
|
AGE = "AGE",
|
|
26
26
|
STATUS = "STATUS",
|
|
27
|
-
NUMBER = "NUMBER",
|
|
28
27
|
WEBSITE = "WEBSITE",
|
|
29
28
|
IDCARD = "IDCARD",
|
|
30
29
|
COUNTDOWN = "COUNTDOWN",
|
|
@@ -44,9 +43,12 @@ export declare enum EDITABLE_WIDGET_TYPE {
|
|
|
44
43
|
SEPARATE = "SEPARATE",
|
|
45
44
|
SELECT = "SELECT",
|
|
46
45
|
DATE = "DATE",
|
|
47
|
-
TIME = "TIME"
|
|
46
|
+
TIME = "TIME",
|
|
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
|
|
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";
|
|
@@ -20,7 +22,6 @@ var WIDGET_TYPE = /* @__PURE__ */ ((WIDGET_TYPE2) => {
|
|
|
20
22
|
WIDGET_TYPE2["TASKDATE"] = "TASKDATE";
|
|
21
23
|
WIDGET_TYPE2["AGE"] = "AGE";
|
|
22
24
|
WIDGET_TYPE2["STATUS"] = "STATUS";
|
|
23
|
-
WIDGET_TYPE2["NUMBER"] = "NUMBER";
|
|
24
25
|
WIDGET_TYPE2["WEBSITE"] = "WEBSITE";
|
|
25
26
|
WIDGET_TYPE2["IDCARD"] = "IDCARD";
|
|
26
27
|
WIDGET_TYPE2["COUNTDOWN"] = "COUNTDOWN";
|
|
@@ -113,11 +114,18 @@ var EDITABLE_WIDGET_TYPE = /* @__PURE__ */ ((EDITABLE_WIDGET_TYPE2) => {
|
|
|
113
114
|
EDITABLE_WIDGET_TYPE2["SELECT"] = "SELECT";
|
|
114
115
|
EDITABLE_WIDGET_TYPE2["DATE"] = "DATE";
|
|
115
116
|
EDITABLE_WIDGET_TYPE2["TIME"] = "TIME";
|
|
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 };
|
|
@@ -19,7 +19,11 @@ function defaultConfigPlugin() {
|
|
|
19
19
|
mouseConfig: { selected: true },
|
|
20
20
|
editConfig: {
|
|
21
21
|
trigger: "click",
|
|
22
|
-
mode: "cell"
|
|
22
|
+
mode: "cell",
|
|
23
|
+
autoClear: false,
|
|
24
|
+
activeMethod({ row }) {
|
|
25
|
+
return !row.$__SEPARATE;
|
|
26
|
+
}
|
|
23
27
|
},
|
|
24
28
|
keyboardConfig: { isArrow: true, isDel: true, isEnter: true, isTab: true, isEdit: true, isChecked: true }
|
|
25
29
|
},
|
|
@@ -2,6 +2,7 @@ import * as index from './defaultConfigPlugin/index.js';
|
|
|
2
2
|
import * as index$1 from './lowCodeFieldAdaptorPlugin/index.js';
|
|
3
3
|
import * as index$2 from './rendererPlugins/editableWidgets/dateRendererPlugin/index.js';
|
|
4
4
|
import * as inputRendererPlugin from './rendererPlugins/editableWidgets/inputRendererPlugin.js';
|
|
5
|
+
import * as numberRendererPlugin from './rendererPlugins/editableWidgets/numberRendererPlugin.js';
|
|
5
6
|
import * as index$3 from './rendererPlugins/editableWidgets/selectRendererPlugin/index.js';
|
|
6
7
|
import * as index$4 from './rendererPlugins/editableWidgets/separateRendererPlugin/index.js';
|
|
7
8
|
import * as timeRendererPlugin from './rendererPlugins/editableWidgets/timeRendererPlugin.js';
|
|
@@ -20,6 +21,7 @@ const modules = Object.assign({
|
|
|
20
21
|
"./lowCodeFieldAdaptorPlugin/index.ts": index$1,
|
|
21
22
|
"./rendererPlugins/editableWidgets/dateRendererPlugin/index.tsx": index$2,
|
|
22
23
|
"./rendererPlugins/editableWidgets/inputRendererPlugin.tsx": inputRendererPlugin,
|
|
24
|
+
"./rendererPlugins/editableWidgets/numberRendererPlugin.tsx": numberRendererPlugin,
|
|
23
25
|
"./rendererPlugins/editableWidgets/selectRendererPlugin/index.tsx": index$3,
|
|
24
26
|
"./rendererPlugins/editableWidgets/separateRendererPlugin/index.tsx": index$4,
|
|
25
27
|
"./rendererPlugins/editableWidgets/timeRendererPlugin.tsx": timeRendererPlugin,
|
|
@@ -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:
|
|
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>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function numberRendererPlugin(): import("../../../../../../../es/components/iho-table").TablePlugin;
|
package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createVNode, inject, mergeProps } from 'vue';
|
|
2
|
+
import { NInputNumber } from 'naive-ui';
|
|
3
|
+
import '../../../../index.js';
|
|
4
|
+
import { EDITABLE_WIDGET_TYPE, InjectionIhoTableEmits } from '../../../constants/index.js';
|
|
5
|
+
import { defineTablePlugin } from '../../../hooks/useTablePlugin.js';
|
|
6
|
+
|
|
7
|
+
function numberRendererPlugin() {
|
|
8
|
+
const pluginName = "numberRendererPlugin";
|
|
9
|
+
return defineTablePlugin({
|
|
10
|
+
name: pluginName,
|
|
11
|
+
vxe(instance) {
|
|
12
|
+
instance.renderer.add(EDITABLE_WIDGET_TYPE.NUMBER, {
|
|
13
|
+
renderCell(renderOpts, {
|
|
14
|
+
row,
|
|
15
|
+
column
|
|
16
|
+
}) {
|
|
17
|
+
return [createVNode("span", null, [row[column.field]])];
|
|
18
|
+
},
|
|
19
|
+
renderEdit({
|
|
20
|
+
props
|
|
21
|
+
}, {
|
|
22
|
+
row,
|
|
23
|
+
column,
|
|
24
|
+
$rowIndex
|
|
25
|
+
}) {
|
|
26
|
+
const emit = inject(InjectionIhoTableEmits);
|
|
27
|
+
const {
|
|
28
|
+
placeholder = "\u8BF7\u8F93\u5165"
|
|
29
|
+
} = (props == null ? void 0 : props.componentProps) || {};
|
|
30
|
+
const config = {
|
|
31
|
+
...(props == null ? void 0 : props.componentProps) || {},
|
|
32
|
+
clearable: true,
|
|
33
|
+
placeholder,
|
|
34
|
+
onBlur,
|
|
35
|
+
onUpdateValue
|
|
36
|
+
};
|
|
37
|
+
const common = {
|
|
38
|
+
value: row[column.field],
|
|
39
|
+
row,
|
|
40
|
+
column,
|
|
41
|
+
index: $rowIndex
|
|
42
|
+
};
|
|
43
|
+
function onBlur() {
|
|
44
|
+
emit("formChange", {
|
|
45
|
+
...common,
|
|
46
|
+
type: "blur"
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function onUpdateValue() {
|
|
50
|
+
emit("formChange", common);
|
|
51
|
+
}
|
|
52
|
+
return [createVNode(NInputNumber, mergeProps({
|
|
53
|
+
"value": row[column.field],
|
|
54
|
+
"onUpdate:value": ($event) => row[column.field] = $event
|
|
55
|
+
}, config), null)];
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { numberRendererPlugin };
|
|
@@ -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:
|
|
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>;
|
package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin.js
CHANGED
|
@@ -24,29 +24,29 @@ function timeRendererPlugin() {
|
|
|
24
24
|
$rowIndex
|
|
25
25
|
}) {
|
|
26
26
|
const emit = inject(InjectionIhoTableEmits);
|
|
27
|
-
function onUpdateValue() {
|
|
28
|
-
emit("formChange", {
|
|
29
|
-
value: row[column.field],
|
|
30
|
-
row,
|
|
31
|
-
column,
|
|
32
|
-
index: $rowIndex
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
27
|
const {
|
|
36
28
|
placeholder = "\u8BF7\u9009\u62E9",
|
|
37
29
|
valueFormat = "HH:mm"
|
|
38
30
|
} = (props == null ? void 0 : props.componentProps) || {};
|
|
39
|
-
const
|
|
31
|
+
const config = {
|
|
32
|
+
...(props == null ? void 0 : props.componentProps) || {},
|
|
40
33
|
placeholder,
|
|
41
34
|
valueFormat,
|
|
42
35
|
format: valueFormat || "yyyy-MM-dd HH:mm:ss",
|
|
43
|
-
...(props == null ? void 0 : props.componentProps) || {},
|
|
44
36
|
onUpdateFormattedValue: onUpdateValue
|
|
45
37
|
};
|
|
38
|
+
function onUpdateValue() {
|
|
39
|
+
emit("formChange", {
|
|
40
|
+
value: row[column.field],
|
|
41
|
+
row,
|
|
42
|
+
column,
|
|
43
|
+
index: $rowIndex
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
46
|
return [createVNode(NTimePicker, mergeProps({
|
|
47
47
|
"formattedValue": row[column.field],
|
|
48
48
|
"onUpdate:formattedValue": ($event) => row[column.field] = $event
|
|
49
|
-
},
|
|
49
|
+
}, config), null)];
|
|
50
50
|
}
|
|
51
51
|
});
|
|
52
52
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnyObject } from '../../../../../es/shared/types';
|
|
2
2
|
import { VxeTableProps, VxeTableDefines } from 'vxe-table';
|
|
3
|
-
import {
|
|
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:
|
|
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'>>]>>;
|
package/es/components/index.js
CHANGED
|
@@ -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';
|