pro-design-vue 1.3.22 → 1.3.25
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/dist/index.css +1 -1
- package/dist/index.full.js +53 -17
- package/dist/index.full.min.js +5 -5
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +5 -5
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +53 -17
- package/es/components/table/src/components/Body/BodyEditCell.d.ts +2 -1
- package/es/components/table/src/components/interface.d.ts +6 -11
- package/es/index.d.ts +6 -11
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +52 -16
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -1
- package/es/packages/components/table/src/components/interface.mjs.map +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs +1 -1
- package/es/packages/components/table/src/hooks/useEdit.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/table/src/components/Body/BodyEditCell.d.ts +2 -1
- package/lib/components/table/src/components/interface.d.ts +6 -11
- package/lib/index.d.ts +6 -11
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +52 -15
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -1
- package/lib/packages/components/table/src/components/interface.js.map +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js +1 -1
- package/lib/packages/components/table/src/hooks/useEdit.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table/table.less +13 -0
package/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! Pro Design Vue v1.3.
|
|
1
|
+
/*! Pro Design Vue v1.3.25 */
|
|
2
2
|
|
|
3
3
|
import { Modal, theme as theme$1, ConfigProvider, App, Button as Button$1, Tooltip, Popconfirm, Dropdown, Menu, Slider, Drawer, Input, InputNumber, Form as Form$1, Space, Textarea, Select, TreeSelect, Checkbox as Checkbox$1, CheckboxGroup, RadioGroup, Radio as Radio$1, Cascader, Switch, Rate, DatePicker, RangePicker, TimePicker, TimeRangePicker, Upload, FormItemRest, Spin, message, Row as Row$1, Col, FormItem as FormItem$1, Steps, Popover, MenuItem, SubMenu, Empty, Badge, Tag, Pagination, InputSearch, Tree, Card, Tabs, TabPane } from 'ant-design-vue';
|
|
4
4
|
import { inject, ref, getCurrentInstance, nextTick, h, reactive, defineComponent, createVNode, isVNode, Fragment, cloneVNode, provide, watch, computed, renderSlot, createPropsRestProxy, createBlock, openBlock, unref, mergeProps, withCtx, normalizeProps, guardReactiveProps, shallowRef, shallowReadonly, toValue, getCurrentScope, onScopeDispose, onMounted, hasInjectionContext, isRef, toRefs as toRefs$1, customRef, toRef as toRef$1, readonly, watchEffect, toRaw, createElementBlock, createCommentVNode, resolveDynamicComponent, createElementVNode, normalizeStyle, toDisplayString, normalizeClass, createSlots, createTextVNode, useAttrs, useTemplateRef, Teleport, onUnmounted, Comment as Comment$1, useSlots, useModel, withModifiers, mergeModels, renderList, camelize, isReactive, onActivated, onDeactivated, triggerRef, onBeforeUnmount, resolveDirective, withDirectives, vShow, render as render$1, resolveComponent } from 'vue';
|
|
@@ -30,7 +30,7 @@ const SCROLL_FIXED_CLASS = `_scroll__fixed_`;
|
|
|
30
30
|
const DEFAULT_NAMESPACE = "pro";
|
|
31
31
|
const DEFAULT_LOCALE = "zh-CN";
|
|
32
32
|
|
|
33
|
-
const version$1 = "1.3.
|
|
33
|
+
const version$1 = "1.3.25";
|
|
34
34
|
|
|
35
35
|
const makeInstaller = (components = []) => {
|
|
36
36
|
const install = (app) => {
|
|
@@ -25155,7 +25155,7 @@ const useEditProvider = (props, {
|
|
|
25155
25155
|
const closeKeys = editCellKeys.value.filter((cellKey) => cellKey !== key);
|
|
25156
25156
|
const closeCells = closeKeys.map((key2) => editingCells.value[key2]).filter((cell) => {
|
|
25157
25157
|
var _a2, _b;
|
|
25158
|
-
return !((_b = (_a2 = cell.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.keepEditMode);
|
|
25158
|
+
return cell && !((_b = (_a2 = cell.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.keepEditMode);
|
|
25159
25159
|
});
|
|
25160
25160
|
const list = closeCells.map(
|
|
25161
25161
|
(cell) => new Promise((resolve) => {
|
|
@@ -32606,6 +32606,34 @@ async function validate(value, rules) {
|
|
|
32606
32606
|
return r;
|
|
32607
32607
|
}
|
|
32608
32608
|
|
|
32609
|
+
const parsingValueEnumToArray = (valueEnum) => {
|
|
32610
|
+
const enumArray = [];
|
|
32611
|
+
const valueKeys = Object.keys(valueEnum != null ? valueEnum : {});
|
|
32612
|
+
if (!(valueKeys == null ? void 0 : valueKeys.length)) {
|
|
32613
|
+
return;
|
|
32614
|
+
}
|
|
32615
|
+
valueKeys.forEach((key) => {
|
|
32616
|
+
const value = valueEnum[key];
|
|
32617
|
+
if (!value) {
|
|
32618
|
+
return;
|
|
32619
|
+
}
|
|
32620
|
+
if (typeof value === "object" && (value == null ? void 0 : value.text)) {
|
|
32621
|
+
enumArray.push({
|
|
32622
|
+
text: value == null ? void 0 : value.text,
|
|
32623
|
+
value: key,
|
|
32624
|
+
label: value == null ? void 0 : value.text,
|
|
32625
|
+
disabled: value.disabled
|
|
32626
|
+
});
|
|
32627
|
+
return;
|
|
32628
|
+
}
|
|
32629
|
+
enumArray.push({
|
|
32630
|
+
text: value,
|
|
32631
|
+
value: key,
|
|
32632
|
+
label: value
|
|
32633
|
+
});
|
|
32634
|
+
});
|
|
32635
|
+
return enumArray;
|
|
32636
|
+
};
|
|
32609
32637
|
var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
32610
32638
|
inheritAttrs: false,
|
|
32611
32639
|
props: {
|
|
@@ -32641,6 +32669,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
32641
32669
|
const columnKey = computed(() => props.column.columnKey);
|
|
32642
32670
|
const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey));
|
|
32643
32671
|
const childrenColumnName = computed(() => tableContext.props.childrenColumnName || "children");
|
|
32672
|
+
const valueEnum = computed(() => {
|
|
32673
|
+
var _a;
|
|
32674
|
+
return parsingValueEnumToArray(runFunction((_a = props.column) == null ? void 0 : _a.valueEnum, props.item));
|
|
32675
|
+
});
|
|
32644
32676
|
const errorList = ref();
|
|
32645
32677
|
const {
|
|
32646
32678
|
editRowsMap,
|
|
@@ -32699,8 +32731,11 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
32699
32731
|
...edit.props
|
|
32700
32732
|
};
|
|
32701
32733
|
});
|
|
32734
|
+
const options = computed(() => {
|
|
32735
|
+
var _a, _b;
|
|
32736
|
+
return (_b = (_a = editProps.value) == null ? void 0 : _a.options) != null ? _b : valueEnum.value;
|
|
32737
|
+
});
|
|
32702
32738
|
const componentProps = computed(() => {
|
|
32703
|
-
var _a;
|
|
32704
32739
|
const {
|
|
32705
32740
|
edit
|
|
32706
32741
|
} = props.column;
|
|
@@ -32710,9 +32745,7 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
32710
32745
|
};
|
|
32711
32746
|
delete tmpProps.onChange;
|
|
32712
32747
|
delete tmpProps.value;
|
|
32713
|
-
|
|
32714
|
-
delete tmpProps[item];
|
|
32715
|
-
});
|
|
32748
|
+
delete tmpProps.options;
|
|
32716
32749
|
return tmpProps;
|
|
32717
32750
|
});
|
|
32718
32751
|
const validateEdit = () => {
|
|
@@ -32796,17 +32829,17 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
32796
32829
|
columnKey: props.column.columnKey,
|
|
32797
32830
|
validateEdit
|
|
32798
32831
|
}, false);
|
|
32799
|
-
(_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b,
|
|
32800
|
-
column: props.column,
|
|
32801
|
-
record: props.isRowEdit ? props.editRow : props.item,
|
|
32802
|
-
recordIndexs: recordIndexs.value,
|
|
32803
|
-
value: cellValue.value
|
|
32804
|
-
});
|
|
32832
|
+
(_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
|
|
32805
32833
|
});
|
|
32806
32834
|
return () => {
|
|
32807
|
-
var _a, _b, _c;
|
|
32835
|
+
var _a, _b, _c, _d;
|
|
32808
32836
|
const Component = (_a = props.column.edit) == null ? void 0 : _a.component;
|
|
32809
32837
|
const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
|
|
32838
|
+
const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
|
|
32839
|
+
const tmpEditOnListeners = {
|
|
32840
|
+
...editOnListeners.value
|
|
32841
|
+
};
|
|
32842
|
+
delete tmpEditOnListeners.onChange;
|
|
32810
32843
|
return createVNode("div", mergeProps(cellProps.value, {
|
|
32811
32844
|
"class": cellClass.value,
|
|
32812
32845
|
"tabindex": "-1",
|
|
@@ -32826,9 +32859,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
32826
32859
|
"value": editValue.value,
|
|
32827
32860
|
"onUpdate:value": ($event) => editValue.value = $event,
|
|
32828
32861
|
"getPopupContainer": () => document.body
|
|
32829
|
-
}, componentProps.value, {
|
|
32862
|
+
}, componentProps.value, tmpEditOnListeners, {
|
|
32863
|
+
"options": options.value,
|
|
32830
32864
|
"onChange": onEditChange
|
|
32831
|
-
}), null), errorMessage && createVNode(Popover, {
|
|
32865
|
+
}), null), errorMessage && (!inlineError ? createVNode(Popover, {
|
|
32832
32866
|
"arrowPointAtCenter": true,
|
|
32833
32867
|
"placement": "topRight",
|
|
32834
32868
|
"getPopupContainer": () => document.body
|
|
@@ -32844,7 +32878,9 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
32844
32878
|
"key": error.message
|
|
32845
32879
|
}, [error.message]))]);
|
|
32846
32880
|
}
|
|
32847
|
-
})
|
|
32881
|
+
}) : createVNode("div", {
|
|
32882
|
+
"class": `${props.prefixCls}-cell-content-error-inline`
|
|
32883
|
+
}, [errorMessage]))])]);
|
|
32848
32884
|
};
|
|
32849
32885
|
}
|
|
32850
32886
|
});
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PropType } from 'vue';
|
|
2
|
-
import type { FinallyColumnType, Key } from '../interface';
|
|
2
|
+
import type { FinallyColumnType, Key, ValueEnumType } from '../interface';
|
|
3
|
+
export declare const parsingValueEnumToArray: (valueEnum: Record<string, ValueEnumType>) => ValueEnumType[] | undefined;
|
|
3
4
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
5
|
prefixCls: PropType<string>;
|
|
5
6
|
rowIndex: {
|
|
@@ -1743,9 +1743,8 @@ export interface CellTooltip {
|
|
|
1743
1743
|
}
|
|
1744
1744
|
export interface EditableCellConfig<T = DefaultRecordType> {
|
|
1745
1745
|
/**
|
|
1746
|
-
*
|
|
1746
|
+
* 触发编辑的事件
|
|
1747
1747
|
*/
|
|
1748
|
-
abortEditOnEvent?: string[];
|
|
1749
1748
|
editableTrigger?: EditableTrigger | EditableTrigger[];
|
|
1750
1749
|
/**
|
|
1751
1750
|
* 组件定义,如:`Input` `Select`。对于完全自定义的组件(非组件库内的组件),组件需要支持 `value` 和 `onChange` ;如果还需要支持校验规则,则组件还需实现 `tips` 和 `status` 两个 API,实现规则可参考 `Input` 组件
|
|
@@ -1761,6 +1760,11 @@ export interface EditableCellConfig<T = DefaultRecordType> {
|
|
|
1761
1760
|
* @default false
|
|
1762
1761
|
*/
|
|
1763
1762
|
keepEditMode?: boolean;
|
|
1763
|
+
/**
|
|
1764
|
+
* 行内错误提示
|
|
1765
|
+
* @default false
|
|
1766
|
+
*/
|
|
1767
|
+
inlineError?: boolean;
|
|
1764
1768
|
/**
|
|
1765
1769
|
* 是否可以编辑
|
|
1766
1770
|
*/
|
|
@@ -1786,15 +1790,6 @@ export interface EditableCellConfig<T = DefaultRecordType> {
|
|
|
1786
1790
|
* 校验规则
|
|
1787
1791
|
*/
|
|
1788
1792
|
rules?: EditableCellRules<T>;
|
|
1789
|
-
/**
|
|
1790
|
-
* 是否显示编辑图标
|
|
1791
|
-
* @default true
|
|
1792
|
-
*/
|
|
1793
|
-
/**
|
|
1794
|
-
* 触发校验的时机,有 2 种:退出编辑时和数据变化时
|
|
1795
|
-
* @default 'exit'
|
|
1796
|
-
*/
|
|
1797
|
-
validateTrigger?: 'exit' | 'change';
|
|
1798
1793
|
}
|
|
1799
1794
|
export interface ColumnType<RecordType = DefaultRecordType> extends ColumnSharedType, Omit<ProFormItemType, 'key' | 'originKey' | 'tooltip' | 'hidden' | 'grid' | 'title' | 'spaceProps' | 'children' | 'width' | 'ignoreWidth' | 'name' | 'originName' | 'rowProps' | 'colProps' | 'valueEnum'> {
|
|
1800
1795
|
search?: ProFormItemType;
|
package/es/index.d.ts
CHANGED
|
@@ -5196,9 +5196,8 @@ declare const drawerOrModalFormProps: () => {
|
|
|
5196
5196
|
};
|
|
5197
5197
|
declare interface EditableCellConfig<T = DefaultRecordType> {
|
|
5198
5198
|
/**
|
|
5199
|
-
*
|
|
5199
|
+
* 触发编辑的事件
|
|
5200
5200
|
*/
|
|
5201
|
-
abortEditOnEvent?: string[];
|
|
5202
5201
|
editableTrigger?: EditableTrigger | EditableTrigger[];
|
|
5203
5202
|
/**
|
|
5204
5203
|
* 组件定义,如:`Input` `Select`。对于完全自定义的组件(非组件库内的组件),组件需要支持 `value` 和 `onChange` ;如果还需要支持校验规则,则组件还需实现 `tips` 和 `status` 两个 API,实现规则可参考 `Input` 组件
|
|
@@ -5214,6 +5213,11 @@ declare interface EditableCellConfig<T = DefaultRecordType> {
|
|
|
5214
5213
|
* @default false
|
|
5215
5214
|
*/
|
|
5216
5215
|
keepEditMode?: boolean;
|
|
5216
|
+
/**
|
|
5217
|
+
* 行内错误提示
|
|
5218
|
+
* @default false
|
|
5219
|
+
*/
|
|
5220
|
+
inlineError?: boolean;
|
|
5217
5221
|
/**
|
|
5218
5222
|
* 是否可以编辑
|
|
5219
5223
|
*/
|
|
@@ -5239,15 +5243,6 @@ declare interface EditableCellConfig<T = DefaultRecordType> {
|
|
|
5239
5243
|
* 校验规则
|
|
5240
5244
|
*/
|
|
5241
5245
|
rules?: EditableCellRules<T>;
|
|
5242
|
-
/**
|
|
5243
|
-
* 是否显示编辑图标
|
|
5244
|
-
* @default true
|
|
5245
|
-
*/
|
|
5246
|
-
/**
|
|
5247
|
-
* 触发校验的时机,有 2 种:退出编辑时和数据变化时
|
|
5248
|
-
* @default 'exit'
|
|
5249
|
-
*/
|
|
5250
|
-
validateTrigger?: "exit" | "change";
|
|
5251
5246
|
}
|
|
5252
5247
|
declare type EditableCellProps<T> = PlainObject | ((params: EditableValueParams<T>) => PlainObject);
|
|
5253
5248
|
declare type EditableCellRules<T> = EditRule[] | ((params: EditableValueParams<T>) => EditRule[]);
|
|
@@ -5,10 +5,38 @@ import { useInjectLevel } from '../../hooks/useLevel.mjs';
|
|
|
5
5
|
import { CloseCircleFilled } from '@ant-design/icons-vue';
|
|
6
6
|
import { useEditInject } from '../../hooks/useEdit.mjs';
|
|
7
7
|
import { validate } from '../../utils/form-model.mjs';
|
|
8
|
-
import { get, set } from 'lodash-unified';
|
|
9
8
|
import { runFunction } from '../../../../../utils/run-function.mjs';
|
|
9
|
+
import { get, set } from 'lodash-unified';
|
|
10
10
|
import { isFunction } from '../../../../../utils/validate.mjs';
|
|
11
11
|
|
|
12
|
+
const parsingValueEnumToArray = (valueEnum) => {
|
|
13
|
+
const enumArray = [];
|
|
14
|
+
const valueKeys = Object.keys(valueEnum != null ? valueEnum : {});
|
|
15
|
+
if (!(valueKeys == null ? void 0 : valueKeys.length)) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
valueKeys.forEach((key) => {
|
|
19
|
+
const value = valueEnum[key];
|
|
20
|
+
if (!value) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (typeof value === "object" && (value == null ? void 0 : value.text)) {
|
|
24
|
+
enumArray.push({
|
|
25
|
+
text: value == null ? void 0 : value.text,
|
|
26
|
+
value: key,
|
|
27
|
+
label: value == null ? void 0 : value.text,
|
|
28
|
+
disabled: value.disabled
|
|
29
|
+
});
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
enumArray.push({
|
|
33
|
+
text: value,
|
|
34
|
+
value: key,
|
|
35
|
+
label: value
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
return enumArray;
|
|
39
|
+
};
|
|
12
40
|
var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
13
41
|
inheritAttrs: false,
|
|
14
42
|
props: {
|
|
@@ -44,6 +72,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
44
72
|
const columnKey = computed(() => props.column.columnKey);
|
|
45
73
|
const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey));
|
|
46
74
|
const childrenColumnName = computed(() => tableContext.props.childrenColumnName || "children");
|
|
75
|
+
const valueEnum = computed(() => {
|
|
76
|
+
var _a;
|
|
77
|
+
return parsingValueEnumToArray(runFunction((_a = props.column) == null ? void 0 : _a.valueEnum, props.item));
|
|
78
|
+
});
|
|
47
79
|
const errorList = ref();
|
|
48
80
|
const {
|
|
49
81
|
editRowsMap,
|
|
@@ -102,8 +134,11 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
102
134
|
...edit.props
|
|
103
135
|
};
|
|
104
136
|
});
|
|
137
|
+
const options = computed(() => {
|
|
138
|
+
var _a, _b;
|
|
139
|
+
return (_b = (_a = editProps.value) == null ? void 0 : _a.options) != null ? _b : valueEnum.value;
|
|
140
|
+
});
|
|
105
141
|
const componentProps = computed(() => {
|
|
106
|
-
var _a;
|
|
107
142
|
const {
|
|
108
143
|
edit
|
|
109
144
|
} = props.column;
|
|
@@ -113,9 +148,7 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
113
148
|
};
|
|
114
149
|
delete tmpProps.onChange;
|
|
115
150
|
delete tmpProps.value;
|
|
116
|
-
|
|
117
|
-
delete tmpProps[item];
|
|
118
|
-
});
|
|
151
|
+
delete tmpProps.options;
|
|
119
152
|
return tmpProps;
|
|
120
153
|
});
|
|
121
154
|
const validateEdit = () => {
|
|
@@ -199,17 +232,17 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
199
232
|
columnKey: props.column.columnKey,
|
|
200
233
|
validateEdit
|
|
201
234
|
}, false);
|
|
202
|
-
(_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b,
|
|
203
|
-
column: props.column,
|
|
204
|
-
record: props.isRowEdit ? props.editRow : props.item,
|
|
205
|
-
recordIndexs: recordIndexs.value,
|
|
206
|
-
value: cellValue.value
|
|
207
|
-
});
|
|
235
|
+
(_c = (_b = (_a = props.column) == null ? void 0 : _a.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
|
|
208
236
|
});
|
|
209
237
|
return () => {
|
|
210
|
-
var _a, _b, _c;
|
|
238
|
+
var _a, _b, _c, _d;
|
|
211
239
|
const Component = (_a = props.column.edit) == null ? void 0 : _a.component;
|
|
212
240
|
const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
|
|
241
|
+
const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
|
|
242
|
+
const tmpEditOnListeners = {
|
|
243
|
+
...editOnListeners.value
|
|
244
|
+
};
|
|
245
|
+
delete tmpEditOnListeners.onChange;
|
|
213
246
|
return createVNode("div", mergeProps(cellProps.value, {
|
|
214
247
|
"class": cellClass.value,
|
|
215
248
|
"tabindex": "-1",
|
|
@@ -229,9 +262,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
229
262
|
"value": editValue.value,
|
|
230
263
|
"onUpdate:value": ($event) => editValue.value = $event,
|
|
231
264
|
"getPopupContainer": () => document.body
|
|
232
|
-
}, componentProps.value, {
|
|
265
|
+
}, componentProps.value, tmpEditOnListeners, {
|
|
266
|
+
"options": options.value,
|
|
233
267
|
"onChange": onEditChange
|
|
234
|
-
}), null), errorMessage && createVNode(Popover, {
|
|
268
|
+
}), null), errorMessage && (!inlineError ? createVNode(Popover, {
|
|
235
269
|
"arrowPointAtCenter": true,
|
|
236
270
|
"placement": "topRight",
|
|
237
271
|
"getPopupContainer": () => document.body
|
|
@@ -247,10 +281,12 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
247
281
|
"key": error.message
|
|
248
282
|
}, [error.message]))]);
|
|
249
283
|
}
|
|
250
|
-
})
|
|
284
|
+
}) : createVNode("div", {
|
|
285
|
+
"class": `${props.prefixCls}-cell-content-error-inline`
|
|
286
|
+
}, [errorMessage]))])]);
|
|
251
287
|
};
|
|
252
288
|
}
|
|
253
289
|
});
|
|
254
290
|
|
|
255
|
-
export { BodyEditCell as default };
|
|
291
|
+
export { BodyEditCell as default, parsingValueEnumToArray };
|
|
256
292
|
//# sourceMappingURL=BodyEditCell.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyEditCell.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyEditCell.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-11-27 10:42:18\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 16:12:31\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { AllValidateResult, FinallyColumnType, Key } from '../interface'\n\nimport { defineComponent, ref, computed, watch, triggerRef, onMounted, onUnmounted } from 'vue'\nimport { set, isFunction, get, runFunction } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { Popover } from 'ant-design-vue'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { CloseCircleFilled } from '@ant-design/icons-vue'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { validate } from '../../utils/form-model'\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] as PropType<Key> },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n isRowEdit: Boolean as PropType<boolean>,\n editRow: { type: Object as PropType<any> },\n },\n emits: ['closeEditor', 'keydown'],\n setup(props) {\n const tableContext = useInjectTable()\n const level = useInjectLevel()\n const columnKey = computed(() => props.column!.columnKey)\n const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey!))\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n const errorList = ref<AllValidateResult[]>()\n const { editRowsMap, setEditingCell } = useEditInject()\n const cellValue = computed(() =>\n props.column!.dataIndex\n ? get(!props.isRowEdit ? props.item : props.editRow, props.column!.dataIndex)\n : undefined,\n )\n const cellRender = computed(\n () => tableContext.allCellProps.value?.[props.rowKey!]?.[props.column!.columnKey] || {},\n )\n const cellProps: any = computed(() => cellRender.value.props || {})\n const cellRowSpan = computed(() => cellProps.value.rowSpan!)\n\n const sorterState = computed(() =>\n tableContext.sorterStates.value.find(({ key }) => key === columnKey.value),\n )\n const sorterOrder = computed(() => (sorterState.value ? sorterState.value?.sortOrder : null))\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-first-cell`]: props.column!.columnIndex === 0,\n [`${props.prefixCls}-body-cell`]: true,\n [`${props.prefixCls}-cell-multi`]: cellRowSpan.value > 1,\n [`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,\n [`${props.prefixCls}-column-sort`]: sorterOrder.value,\n }))\n\n const rules = computed(() => {\n return (\n runFunction(props.column.edit?.rules, {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }) ?? []\n )\n })\n\n const validateEnabled = computed(() => rules.value.length > 0)\n\n const editValue = ref()\n const cellParams = computed(() => ({\n column: props.column,\n record: !props.isRowEdit ? props.item : props.editRow,\n recordIndexs: recordIndexs.value!,\n value: editValue.value,\n }))\n\n const editOnListeners = computed(() => {\n return props.column.edit?.on?.({ ...cellParams.value }) || {}\n })\n\n const editProps = computed(() => {\n const { edit = {} } = props.column\n return isFunction(edit.props) ? edit.props(cellParams.value) : { ...edit.props }\n })\n\n const componentProps = computed(() => {\n const { edit } = props.column\n if (!edit) return {}\n const tmpProps = { ...editProps.value }\n delete tmpProps.onChange\n delete tmpProps.value\n edit.abortEditOnEvent?.forEach((item) => {\n delete tmpProps[item]\n })\n return tmpProps\n })\n\n const validateEdit = (): Promise<true | AllValidateResult[]> => {\n return new Promise((resolve) => {\n if (!validateEnabled.value) {\n resolve(true)\n return true\n }\n validate(editValue.value, rules.value).then((result) => {\n const list = result?.filter((t) => !t.result)\n if (!list || !list.length) {\n errorList.value = []\n resolve(true)\n } else {\n errorList.value = list\n resolve(list)\n }\n })\n })\n }\n\n const onEditChange = (val: any, ...args: any) => {\n const params: any = {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }\n const value = props.column.edit?.valueParser?.(params) ?? editValue.value\n const valueSetter = props.column.edit?.valueSetter\n if (valueSetter) {\n valueSetter(params)\n } else {\n editProps.value?.onChange?.(val, ...args)\n editOnListeners.value?.onChange?.(params)\n if (props.isRowEdit) {\n const record = { ...props.editRow }\n set(record, props.column.dataIndex!, value)\n editRowsMap.value[props.rowKey!] = record\n triggerRef(editRowsMap)\n } else {\n let record: any = {}\n let dataSource = tableContext.rawData.value || []\n recordIndexs.value.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n set(record, props.column.dataIndex!, value)\n triggerRef(tableContext.rawData)\n }\n }\n validateEdit()\n }\n\n watch(\n cellValue,\n (value) => {\n editValue.value = props.column.edit?.valueGetter?.(cellParams.value) ?? value\n },\n { immediate: true },\n )\n\n onMounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n true,\n )\n })\n\n onUnmounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n false,\n )\n props.column?.edit?.onEdited?.({\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n value: cellValue.value,\n })\n })\n\n return () => {\n const Component = props.column.edit?.component\n const errorMessage = errorList.value?.[0]?.message\n return (\n <div\n {...cellProps.value}\n class={cellClass.value}\n tabindex=\"-1\"\n role=\"cell\"\n data-column-key={columnKey.value}\n data-level={level}\n aria-selected=\"true\"\n onClick={(e: MouseEvent) => {\n e.stopPropagation()\n }}\n >\n <div class={`${props.prefixCls}-cell-content`} style=\"width: 100%; position:relative\">\n <Component\n style=\"width: 100%\"\n status={errorMessage ? 'error' : undefined}\n v-model:value={editValue.value}\n getPopupContainer={() => document.body}\n {...componentProps.value}\n onChange={onEditChange}\n />\n {errorMessage && (\n <Popover\n arrowPointAtCenter\n placement=\"topRight\"\n getPopupContainer={() => document.body}\n v-slots={{\n content: () => (\n <div class={`${props.prefixCls}-cell-content-error-message`}>\n {errorList.value?.map((error) => (\n <div key={error.message}>{error.message}</div>\n ))}\n </div>\n ),\n }}\n >\n <span class={`${props.prefixCls}-cell-content-error`}>\n <CloseCircleFilled />\n </span>\n </Popover>\n )}\n </div>\n </div>\n )\n }\n },\n})\n"],"names":["inheritAttrs","props","prefixCls","String","rowIndex","type","Number","required","flattenRowIndex","rowKey","column","Object","default","item","isRowEdit","Boolean","editRow","emits","setup","tableContext","useInjectTable","level","useInjectLevel","columnKey","computed","recordIndexs","getIndexsByKey","childrenColumnName","errorList","ref","editRowsMap","setEditingCell","useEditInject","cellValue","dataIndex","get","undefined","cellRender","allCellProps","value","cellProps","cellRowSpan","rowSpan","sorterState","sorterStates","find","key","sorterOrder","sortOrder","cellClass","columnIndex","rules","runFunction","edit","record","newValue","validateEnabled","length","editValue","cellParams","editOnListeners","on","editProps","isFunction","componentProps","tmpProps","onChange","abortEditOnEvent","forEach","validateEdit","Promise","resolve","validate","then","result","list","filter","t","onEditChange","val","args","params","valueParser","valueSetter","set","triggerRef","dataSource","rawData","index","watch","valueGetter","immediate","onMounted","originRecord","onUnmounted","onEdited","Component","component","errorMessage","message","_createVNode","_mergeProps","e","stopPropagation","$event","getPopupContainer","document","body","Popover","CloseCircleFilled","content","_a","map","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BodyEditCell.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyEditCell.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2025-11-27 10:42:18\n * @LastEditors: shen\n * @LastEditTime: 2025-12-03 09:23:19\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { AllValidateResult, FinallyColumnType, Key, ValueEnumType } from '../interface'\n\nimport { defineComponent, ref, computed, watch, triggerRef, onMounted, onUnmounted } from 'vue'\nimport { set, isFunction, get, runFunction } from '@pro-design-vue/utils'\nimport { useInjectTable } from '../context/TableContext'\nimport { Popover } from 'ant-design-vue'\nimport { useInjectLevel } from '../../hooks/useLevel'\nimport { CloseCircleFilled } from '@ant-design/icons-vue'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { validate } from '../../utils/form-model'\n\nexport const parsingValueEnumToArray = (\n valueEnum: Record<string, ValueEnumType>,\n): ValueEnumType[] | undefined => {\n const enumArray: ValueEnumType[] = []\n const valueKeys = Object.keys(valueEnum ?? {})\n if (!valueKeys?.length) {\n return\n }\n valueKeys.forEach((key) => {\n const value = valueEnum[key] as {\n text: string\n disabled?: boolean\n }\n\n if (!value) {\n return\n }\n\n if (typeof value === 'object' && value?.text) {\n enumArray.push({\n text: value?.text as unknown as string,\n value: key,\n label: value?.text as unknown as string,\n disabled: value.disabled,\n })\n return\n }\n enumArray.push({\n text: value as unknown as string,\n value: key,\n label: value as unknown as string,\n })\n })\n return enumArray\n}\n\nexport default defineComponent({\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n rowIndex: { type: Number as PropType<number>, required: true },\n flattenRowIndex: { type: Number, required: true },\n rowKey: { type: [Number, String] as PropType<Key> },\n column: { type: Object as PropType<FinallyColumnType>, default: () => ({}) },\n item: { type: Object as PropType<any>, default: () => ({}) },\n isRowEdit: Boolean as PropType<boolean>,\n editRow: { type: Object as PropType<any> },\n },\n emits: ['closeEditor', 'keydown'],\n setup(props) {\n const tableContext = useInjectTable()\n const level = useInjectLevel()\n const columnKey = computed(() => props.column!.columnKey)\n const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey!))\n const childrenColumnName = computed(() => tableContext.props.childrenColumnName || 'children')\n const valueEnum = computed(() =>\n parsingValueEnumToArray(runFunction(props.column?.valueEnum, props.item)),\n )\n const errorList = ref<AllValidateResult[]>()\n const { editRowsMap, setEditingCell } = useEditInject()\n const cellValue = computed(() =>\n props.column!.dataIndex\n ? get(!props.isRowEdit ? props.item : props.editRow, props.column!.dataIndex)\n : undefined,\n )\n const cellRender = computed(\n () => tableContext.allCellProps.value?.[props.rowKey!]?.[props.column!.columnKey] || {},\n )\n const cellProps: any = computed(() => cellRender.value.props || {})\n const cellRowSpan = computed(() => cellProps.value.rowSpan!)\n\n const sorterState = computed(() =>\n tableContext.sorterStates.value.find(({ key }) => key === columnKey.value),\n )\n const sorterOrder = computed(() => (sorterState.value ? sorterState.value?.sortOrder : null))\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-first-cell`]: props.column!.columnIndex === 0,\n [`${props.prefixCls}-body-cell`]: true,\n [`${props.prefixCls}-cell-multi`]: cellRowSpan.value > 1,\n [`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,\n [`${props.prefixCls}-column-sort`]: sorterOrder.value,\n }))\n\n const rules = computed(() => {\n return (\n runFunction(props.column.edit?.rules, {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }) ?? []\n )\n })\n\n const validateEnabled = computed(() => rules.value.length > 0)\n\n const editValue = ref()\n const cellParams = computed(() => ({\n column: props.column,\n record: !props.isRowEdit ? props.item : props.editRow,\n recordIndexs: recordIndexs.value!,\n value: editValue.value,\n }))\n\n const editOnListeners = computed(() => {\n return props.column.edit?.on?.({ ...cellParams.value }) || {}\n })\n\n const editProps = computed(() => {\n const { edit = {} } = props.column\n return isFunction(edit.props) ? edit.props(cellParams.value) : { ...edit.props }\n })\n\n const options = computed(() => editProps.value?.options ?? valueEnum.value)\n\n const componentProps = computed(() => {\n const { edit } = props.column\n if (!edit) return {}\n const tmpProps = { ...editProps.value }\n delete tmpProps.onChange\n delete tmpProps.value\n delete tmpProps.options\n return tmpProps\n })\n\n const validateEdit = (): Promise<true | AllValidateResult[]> => {\n return new Promise((resolve) => {\n if (!validateEnabled.value) {\n resolve(true)\n return true\n }\n validate(editValue.value, rules.value).then((result) => {\n const list = result?.filter((t) => !t.result)\n if (!list || !list.length) {\n errorList.value = []\n resolve(true)\n } else {\n errorList.value = list\n resolve(list)\n }\n })\n })\n }\n\n const onEditChange = (val: any, ...args: any) => {\n const params: any = {\n column: props.column,\n record: props.isRowEdit ? props.editRow : props.item,\n recordIndexs: recordIndexs.value,\n newValue: cellValue.value,\n }\n const value = props.column.edit?.valueParser?.(params) ?? editValue.value\n const valueSetter = props.column.edit?.valueSetter\n if (valueSetter) {\n valueSetter(params)\n } else {\n editProps.value?.onChange?.(val, ...args)\n editOnListeners.value?.onChange?.(params)\n if (props.isRowEdit) {\n const record = { ...props.editRow }\n set(record, props.column.dataIndex!, value)\n editRowsMap.value[props.rowKey!] = record\n triggerRef(editRowsMap)\n } else {\n let record: any = {}\n let dataSource = tableContext.rawData.value || []\n recordIndexs.value.forEach((index) => {\n record = dataSource[index]\n dataSource = record[childrenColumnName.value] || []\n })\n set(record, props.column.dataIndex!, value)\n triggerRef(tableContext.rawData)\n }\n }\n validateEdit()\n }\n\n watch(\n cellValue,\n (value) => {\n editValue.value = props.column.edit?.valueGetter?.(cellParams.value) ?? value\n },\n { immediate: true },\n )\n\n onMounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n true,\n )\n })\n\n onUnmounted(() => {\n setEditingCell(\n {\n recordIndexs: recordIndexs.value,\n column: props.column,\n rowKey: props.rowKey!,\n originRecord: props.item,\n rowIndex: props.rowIndex,\n columnKey: props.column.columnKey!,\n validateEdit,\n },\n false,\n )\n props.column?.edit?.onEdited?.(cellParams.value)\n })\n\n return () => {\n const Component = props.column.edit?.component\n const errorMessage = errorList.value?.[0]?.message\n const inlineError = props.column.edit?.inlineError\n const tmpEditOnListeners = { ...editOnListeners.value }\n delete tmpEditOnListeners.onChange\n return (\n <div\n {...cellProps.value}\n class={cellClass.value}\n tabindex=\"-1\"\n role=\"cell\"\n data-column-key={columnKey.value}\n data-level={level}\n aria-selected=\"true\"\n onClick={(e: MouseEvent) => {\n e.stopPropagation()\n }}\n >\n <div class={`${props.prefixCls}-cell-content`} style=\"width: 100%; position:relative\">\n <Component\n style=\"width: 100%\"\n status={errorMessage ? 'error' : undefined}\n v-model:value={editValue.value}\n getPopupContainer={() => document.body}\n {...componentProps.value}\n {...tmpEditOnListeners}\n options={options.value}\n onChange={onEditChange}\n />\n {errorMessage &&\n (!inlineError ? (\n <Popover\n arrowPointAtCenter\n placement=\"topRight\"\n getPopupContainer={() => document.body}\n v-slots={{\n content: () => (\n <div class={`${props.prefixCls}-cell-content-error-message`}>\n {errorList.value?.map((error) => (\n <div key={error.message}>{error.message}</div>\n ))}\n </div>\n ),\n }}\n >\n <span class={`${props.prefixCls}-cell-content-error`}>\n <CloseCircleFilled />\n </span>\n </Popover>\n ) : (\n <div class={`${props.prefixCls}-cell-content-error-inline`}>{errorMessage}</div>\n ))}\n </div>\n </div>\n )\n }\n },\n})\n"],"names":["parsingValueEnumToArray","valueEnum","enumArray","valueKeys","Object","keys","length","forEach","key","value","text","push","label","disabled","inheritAttrs","props","prefixCls","String","rowIndex","type","Number","required","flattenRowIndex","rowKey","column","default","item","isRowEdit","Boolean","editRow","emits","setup","tableContext","useInjectTable","level","useInjectLevel","columnKey","computed","recordIndexs","getIndexsByKey","childrenColumnName","runFunction","errorList","ref","editRowsMap","setEditingCell","useEditInject","cellValue","dataIndex","get","undefined","cellRender","allCellProps","cellProps","cellRowSpan","rowSpan","sorterState","sorterStates","find","sorterOrder","sortOrder","cellClass","columnIndex","rules","edit","record","newValue","validateEnabled","editValue","cellParams","editOnListeners","on","editProps","isFunction","options","componentProps","tmpProps","onChange","validateEdit","Promise","resolve","validate","then","result","list","filter","t","onEditChange","val","args","params","valueParser","valueSetter","set","triggerRef","dataSource","rawData","index","watch","valueGetter","immediate","onMounted","originRecord","onUnmounted","onEdited","Component","component","errorMessage","message","inlineError","tmpEditOnListeners","_createVNode","_mergeProps","e","stopPropagation","$event","getPopupContainer","document","body","Popover","CloseCircleFilled","content","_a","map","error"],"mappings":"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"}
|