pro-design-vue 1.3.25 → 1.3.26
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.full.js +144 -56
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -7
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +144 -57
- package/es/components/table/src/components/Body/Body.vue.d.ts +1 -1
- package/es/components/table/src/components/Body/BodyRow.vue.d.ts +1 -1
- package/es/components/table/src/components/Body/BodyRows.vue.d.ts +1 -1
- package/es/components/table/src/components/InteralTable.vue.d.ts +1 -1
- package/es/components/table/src/components/interface.d.ts +8 -0
- package/es/components/table/src/hooks/useEdit.d.ts +1 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/use-fetch-data/index.d.ts +3 -0
- package/es/index.d.ts +11 -0
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyCell.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyCell.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs +122 -55
- package/es/packages/components/table/src/components/Body/BodyEditCell.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue.mjs.map +1 -1
- package/es/packages/components/table/src/components/Body/BodyRow.vue2.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.map +1 -1
- package/es/packages/hooks/index.mjs +1 -0
- package/es/packages/hooks/index.mjs.map +1 -1
- package/es/packages/hooks/use-fetch-data/index.mjs +25 -0
- package/es/packages/hooks/use-fetch-data/index.mjs.map +1 -0
- 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/Body.vue.d.ts +1 -1
- package/lib/components/table/src/components/Body/BodyRow.vue.d.ts +1 -1
- package/lib/components/table/src/components/Body/BodyRows.vue.d.ts +1 -1
- package/lib/components/table/src/components/InteralTable.vue.d.ts +1 -1
- package/lib/components/table/src/components/interface.d.ts +8 -0
- package/lib/components/table/src/hooks/useEdit.d.ts +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/use-fetch-data/index.d.ts +3 -0
- package/lib/index.d.ts +11 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyCell.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyCell.vue2.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js +120 -53
- package/lib/packages/components/table/src/components/Body/BodyEditCell.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue.js.map +1 -1
- package/lib/packages/components/table/src/components/Body/BodyRow.vue2.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.map +1 -1
- package/lib/packages/hooks/index.js +2 -0
- package/lib/packages/hooks/index.js.map +1 -1
- package/lib/packages/hooks/use-fetch-data/index.js +27 -0
- package/lib/packages/hooks/use-fetch-data/index.js.map +1 -0
- 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
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { defineComponent, computed,
|
|
1
|
+
import { defineComponent, ref, computed, triggerRef, watch, onMounted, onUnmounted, createVNode, mergeProps } from 'vue';
|
|
2
2
|
import { useInjectTable } from '../context/TableContext.mjs';
|
|
3
3
|
import { Popover } from 'ant-design-vue';
|
|
4
4
|
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 { useFetchData } from '../../../../../hooks/use-fetch-data/index.mjs';
|
|
8
9
|
import { runFunction } from '../../../../../utils/run-function.mjs';
|
|
9
|
-
import { get, set } from 'lodash-unified';
|
|
10
|
+
import { get, debounce, set, isEqual } from 'lodash-unified';
|
|
10
11
|
import { isFunction } from '../../../../../utils/validate.mjs';
|
|
11
12
|
|
|
12
13
|
const parsingValueEnumToArray = (valueEnum) => {
|
|
@@ -67,24 +68,27 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
67
68
|
},
|
|
68
69
|
emits: ["closeEditor", "keydown"],
|
|
69
70
|
setup(props) {
|
|
71
|
+
var _a;
|
|
72
|
+
const loading = ref(false);
|
|
70
73
|
const tableContext = useInjectTable();
|
|
71
74
|
const level = useInjectLevel();
|
|
75
|
+
const fetchOptions = ref();
|
|
72
76
|
const columnKey = computed(() => props.column.columnKey);
|
|
73
77
|
const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey));
|
|
74
|
-
const childrenColumnName = computed(() => tableContext.props.childrenColumnName || "children");
|
|
75
78
|
const valueEnum = computed(() => {
|
|
76
|
-
var
|
|
77
|
-
return parsingValueEnumToArray(runFunction((
|
|
79
|
+
var _a2;
|
|
80
|
+
return parsingValueEnumToArray(runFunction((_a2 = props.column) == null ? void 0 : _a2.valueEnum, props.item));
|
|
78
81
|
});
|
|
82
|
+
const originValue = get(props.item, props.column.dataIndex);
|
|
79
83
|
const errorList = ref();
|
|
80
84
|
const {
|
|
81
85
|
editRowsMap,
|
|
82
86
|
setEditingCell
|
|
83
87
|
} = useEditInject();
|
|
84
|
-
const cellValue = computed(() => props.column.dataIndex ? get(
|
|
88
|
+
const cellValue = computed(() => props.column.dataIndex ? get(props.editRow, props.column.dataIndex) : void 0);
|
|
85
89
|
const cellRender = computed(() => {
|
|
86
|
-
var
|
|
87
|
-
return ((_b = (
|
|
90
|
+
var _a2, _b;
|
|
91
|
+
return ((_b = (_a2 = tableContext.allCellProps.value) == null ? void 0 : _a2[props.rowKey]) == null ? void 0 : _b[props.column.columnKey]) || {};
|
|
88
92
|
});
|
|
89
93
|
const cellProps = computed(() => cellRender.value.props || {});
|
|
90
94
|
const cellRowSpan = computed(() => cellProps.value.rowSpan);
|
|
@@ -92,8 +96,8 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
92
96
|
key
|
|
93
97
|
}) => key === columnKey.value));
|
|
94
98
|
const sorterOrder = computed(() => {
|
|
95
|
-
var
|
|
96
|
-
return sorterState.value ? (
|
|
99
|
+
var _a2;
|
|
100
|
+
return sorterState.value ? (_a2 = sorterState.value) == null ? void 0 : _a2.sortOrder : null;
|
|
97
101
|
});
|
|
98
102
|
const cellClass = computed(() => ({
|
|
99
103
|
[`${props.prefixCls}-cell`]: true,
|
|
@@ -103,26 +107,41 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
103
107
|
[`${props.prefixCls}-cell-hidden`]: cellRowSpan.value === 0,
|
|
104
108
|
[`${props.prefixCls}-column-sort`]: sorterOrder.value
|
|
105
109
|
}));
|
|
110
|
+
const hasFetchOptions = computed(() => {
|
|
111
|
+
var _a2, _b, _c;
|
|
112
|
+
return ((_a2 = props.column.edit) == null ? void 0 : _a2.request) && ((_c = (_b = props.column.edit) == null ? void 0 : _b.dependencies) == null ? void 0 : _c.length);
|
|
113
|
+
});
|
|
106
114
|
const rules = computed(() => {
|
|
107
|
-
var
|
|
108
|
-
return (_b = runFunction((
|
|
115
|
+
var _a2, _b;
|
|
116
|
+
return (_b = runFunction((_a2 = props.column.edit) == null ? void 0 : _a2.rules, {
|
|
109
117
|
column: props.column,
|
|
110
|
-
record: props.
|
|
118
|
+
record: props.editRow,
|
|
111
119
|
recordIndexs: recordIndexs.value,
|
|
112
120
|
newValue: cellValue.value
|
|
113
121
|
})) != null ? _b : [];
|
|
114
122
|
});
|
|
115
123
|
const validateEnabled = computed(() => rules.value.length > 0);
|
|
116
124
|
const editValue = ref();
|
|
125
|
+
const updateEditedCellValue = (key, value) => {
|
|
126
|
+
setTimeout(() => {
|
|
127
|
+
const editRow = {
|
|
128
|
+
...props.editRow
|
|
129
|
+
};
|
|
130
|
+
set(editRow, key, value);
|
|
131
|
+
editRowsMap.value[props.rowKey] = editRow;
|
|
132
|
+
triggerRef(editRowsMap);
|
|
133
|
+
}, 10);
|
|
134
|
+
};
|
|
117
135
|
const cellParams = computed(() => ({
|
|
118
136
|
column: props.column,
|
|
119
|
-
record:
|
|
137
|
+
record: props.editRow,
|
|
120
138
|
recordIndexs: recordIndexs.value,
|
|
121
|
-
value: editValue.value
|
|
139
|
+
value: editValue.value,
|
|
140
|
+
updateEditedCellValue
|
|
122
141
|
}));
|
|
123
142
|
const editOnListeners = computed(() => {
|
|
124
|
-
var
|
|
125
|
-
return ((_b = (
|
|
143
|
+
var _a2, _b;
|
|
144
|
+
return ((_b = (_a2 = props.column.edit) == null ? void 0 : _a2.on) == null ? void 0 : _b.call(_a2, {
|
|
126
145
|
...cellParams.value
|
|
127
146
|
})) || {};
|
|
128
147
|
});
|
|
@@ -135,8 +154,8 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
135
154
|
};
|
|
136
155
|
});
|
|
137
156
|
const options = computed(() => {
|
|
138
|
-
var
|
|
139
|
-
return (_b = (
|
|
157
|
+
var _a2, _b, _c;
|
|
158
|
+
return (_c = (_b = fetchOptions.value) != null ? _b : (_a2 = editProps.value) == null ? void 0 : _a2.options) != null ? _c : valueEnum.value;
|
|
140
159
|
});
|
|
141
160
|
const componentProps = computed(() => {
|
|
142
161
|
const {
|
|
@@ -157,6 +176,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
157
176
|
resolve(true);
|
|
158
177
|
return true;
|
|
159
178
|
}
|
|
179
|
+
if (isEqual(originValue, editValue.value) && !(originValue === void 0 || originValue === null || originValue === "")) {
|
|
180
|
+
resolve(true);
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
160
183
|
validate(editValue.value, rules.value).then((result) => {
|
|
161
184
|
const list = result == null ? void 0 : result.filter((t) => !t.result);
|
|
162
185
|
if (!list || !list.length) {
|
|
@@ -169,48 +192,92 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
169
192
|
});
|
|
170
193
|
});
|
|
171
194
|
};
|
|
172
|
-
const
|
|
173
|
-
|
|
195
|
+
const updateEditRow = () => {
|
|
196
|
+
const editRow = {
|
|
197
|
+
...props.editRow
|
|
198
|
+
};
|
|
199
|
+
set(editRow, props.column.dataIndex, editValue.value);
|
|
200
|
+
editRowsMap.value[props.rowKey] = {
|
|
201
|
+
...editRow
|
|
202
|
+
};
|
|
203
|
+
triggerRef(editRowsMap);
|
|
204
|
+
};
|
|
205
|
+
const fetchData = useFetchData({
|
|
206
|
+
request: (_a = props.column.edit) == null ? void 0 : _a.request
|
|
207
|
+
});
|
|
208
|
+
const requestOptions = debounce(async (newRow) => {
|
|
209
|
+
var _a2, _b;
|
|
210
|
+
const row = {
|
|
211
|
+
...props.item,
|
|
212
|
+
...newRow
|
|
213
|
+
};
|
|
174
214
|
const params = {
|
|
175
|
-
|
|
176
|
-
record: props.isRowEdit ? props.editRow : props.item,
|
|
177
|
-
recordIndexs: recordIndexs.value,
|
|
178
|
-
newValue: cellValue.value
|
|
215
|
+
rowKey: props.rowKey
|
|
179
216
|
};
|
|
180
|
-
|
|
181
|
-
|
|
217
|
+
(_b = (_a2 = props.column.edit) == null ? void 0 : _a2.dependencies) == null ? void 0 : _b.forEach((dataIndex) => {
|
|
218
|
+
const newValue = get(row, dataIndex);
|
|
219
|
+
set(params, dataIndex, newValue);
|
|
220
|
+
});
|
|
221
|
+
loading.value = true;
|
|
222
|
+
const result = await fetchData(params);
|
|
223
|
+
fetchOptions.value = result;
|
|
224
|
+
loading.value = false;
|
|
225
|
+
}, 200);
|
|
226
|
+
const onEditChange = (val, ...args) => {
|
|
227
|
+
var _a2, _b, _c, _d, _e;
|
|
228
|
+
const valueSetter = (_a2 = props.column.edit) == null ? void 0 : _a2.valueSetter;
|
|
182
229
|
if (valueSetter) {
|
|
183
|
-
valueSetter(
|
|
230
|
+
valueSetter(cellParams.value);
|
|
184
231
|
} else {
|
|
185
|
-
(
|
|
186
|
-
(
|
|
187
|
-
|
|
188
|
-
const record = {
|
|
189
|
-
...props.editRow
|
|
190
|
-
};
|
|
191
|
-
set(record, props.column.dataIndex, value);
|
|
192
|
-
editRowsMap.value[props.rowKey] = record;
|
|
193
|
-
triggerRef(editRowsMap);
|
|
194
|
-
} else {
|
|
195
|
-
let record = {};
|
|
196
|
-
let dataSource = tableContext.rawData.value || [];
|
|
197
|
-
recordIndexs.value.forEach((index) => {
|
|
198
|
-
record = dataSource[index];
|
|
199
|
-
dataSource = record[childrenColumnName.value] || [];
|
|
200
|
-
});
|
|
201
|
-
set(record, props.column.dataIndex, value);
|
|
202
|
-
triggerRef(tableContext.rawData);
|
|
203
|
-
}
|
|
232
|
+
(_c = (_b = editProps.value) == null ? void 0 : _b.onChange) == null ? void 0 : _c.call(_b, val, ...args, cellParams.value);
|
|
233
|
+
(_e = (_d = editOnListeners.value) == null ? void 0 : _d.onChange) == null ? void 0 : _e.call(_d, cellParams.value);
|
|
234
|
+
updateEditRow();
|
|
204
235
|
}
|
|
205
236
|
validateEdit();
|
|
206
237
|
};
|
|
238
|
+
const updateRecordValue = debounce(async (newValue) => {
|
|
239
|
+
let record = {};
|
|
240
|
+
let dataSource = tableContext.rawData.value || [];
|
|
241
|
+
recordIndexs.value.forEach((index) => {
|
|
242
|
+
record = dataSource[index];
|
|
243
|
+
dataSource = record[tableContext.childrenColumnName.value] || [];
|
|
244
|
+
});
|
|
245
|
+
set(record, props.column.dataIndex, newValue);
|
|
246
|
+
triggerRef(tableContext.rawData);
|
|
247
|
+
}, 200);
|
|
207
248
|
watch(cellValue, (value) => {
|
|
208
|
-
var
|
|
209
|
-
editValue.value = (_c = (_b = (
|
|
249
|
+
var _a2, _b, _c;
|
|
250
|
+
editValue.value = (_c = (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.valueGetter) == null ? void 0 : _b.call(_a2, cellParams.value)) != null ? _c : value;
|
|
251
|
+
if (!props.isRowEdit) {
|
|
252
|
+
updateRecordValue(value);
|
|
253
|
+
}
|
|
210
254
|
}, {
|
|
211
255
|
immediate: true
|
|
212
256
|
});
|
|
257
|
+
watch(() => props.editRow, (newRow, oldRow) => {
|
|
258
|
+
var _a2, _b;
|
|
259
|
+
if (hasFetchOptions.value) {
|
|
260
|
+
const isSame = (_b = (_a2 = props.column.edit) == null ? void 0 : _a2.dependencies) == null ? void 0 : _b.every((dataIndex) => {
|
|
261
|
+
const newValue = get(newRow, dataIndex);
|
|
262
|
+
const oldIndex = get(oldRow, dataIndex);
|
|
263
|
+
return isEqual(newValue, oldIndex);
|
|
264
|
+
});
|
|
265
|
+
if (!isSame) {
|
|
266
|
+
requestOptions(newRow);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
});
|
|
213
270
|
onMounted(() => {
|
|
271
|
+
var _a2;
|
|
272
|
+
if (!props.isRowEdit && !editRowsMap.value[props.rowKey]) {
|
|
273
|
+
editRowsMap.value[props.rowKey] = {
|
|
274
|
+
...props.item
|
|
275
|
+
};
|
|
276
|
+
triggerRef(editRowsMap);
|
|
277
|
+
}
|
|
278
|
+
if ((_a2 = props.column.edit) == null ? void 0 : _a2.request) {
|
|
279
|
+
requestOptions();
|
|
280
|
+
}
|
|
214
281
|
setEditingCell({
|
|
215
282
|
recordIndexs: recordIndexs.value,
|
|
216
283
|
column: props.column,
|
|
@@ -222,7 +289,7 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
222
289
|
}, true);
|
|
223
290
|
});
|
|
224
291
|
onUnmounted(() => {
|
|
225
|
-
var
|
|
292
|
+
var _a2, _b, _c;
|
|
226
293
|
setEditingCell({
|
|
227
294
|
recordIndexs: recordIndexs.value,
|
|
228
295
|
column: props.column,
|
|
@@ -232,11 +299,11 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
232
299
|
columnKey: props.column.columnKey,
|
|
233
300
|
validateEdit
|
|
234
301
|
}, false);
|
|
235
|
-
(_c = (_b = (
|
|
302
|
+
(_c = (_b = (_a2 = props.column) == null ? void 0 : _a2.edit) == null ? void 0 : _b.onEdited) == null ? void 0 : _c.call(_b, cellParams.value);
|
|
236
303
|
});
|
|
237
304
|
return () => {
|
|
238
|
-
var
|
|
239
|
-
const Component = (
|
|
305
|
+
var _a2, _b, _c, _d;
|
|
306
|
+
const Component = (_a2 = props.column.edit) == null ? void 0 : _a2.component;
|
|
240
307
|
const errorMessage = (_c = (_b = errorList.value) == null ? void 0 : _b[0]) == null ? void 0 : _c.message;
|
|
241
308
|
const inlineError = (_d = props.column.edit) == null ? void 0 : _d.inlineError;
|
|
242
309
|
const tmpEditOnListeners = {
|
|
@@ -274,10 +341,10 @@ var BodyEditCell = /* @__PURE__ */ defineComponent({
|
|
|
274
341
|
"class": `${props.prefixCls}-cell-content-error`
|
|
275
342
|
}, [createVNode(CloseCircleFilled, null, null)])],
|
|
276
343
|
content: () => {
|
|
277
|
-
var
|
|
344
|
+
var _a3;
|
|
278
345
|
return createVNode("div", {
|
|
279
346
|
"class": `${props.prefixCls}-cell-content-error-message`
|
|
280
|
-
}, [(
|
|
347
|
+
}, [(_a3 = errorList.value) == null ? void 0 : _a3.map((error) => createVNode("div", {
|
|
281
348
|
"key": error.message
|
|
282
349
|
}, [error.message]))]);
|
|
283
350
|
}
|
|
@@ -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-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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"}
|
|
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-04 17:40:28\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type {\n AllValidateResult,\n DataIndex,\n FinallyColumnType,\n Key,\n ValueEnumType,\n} from '../interface'\n\nimport { defineComponent, ref, computed, watch, triggerRef, onMounted, onUnmounted } from 'vue'\nimport { set, isFunction, get, runFunction, isEqual, debounce } 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'\nimport { useFetchData } from '@pro-design-vue/hooks'\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 loading = ref(false)\n const tableContext = useInjectTable()\n const level = useInjectLevel()\n const fetchOptions = ref<any>()\n const columnKey = computed(() => props.column!.columnKey)\n const recordIndexs = computed(() => tableContext.getIndexsByKey(props.rowKey!))\n const valueEnum = computed(() =>\n parsingValueEnumToArray(runFunction(props.column?.valueEnum, props.item)),\n )\n const originValue = get(props.item, props.column!.dataIndex!)\n const errorList = ref<AllValidateResult[]>()\n const { editRowsMap, setEditingCell } = useEditInject()\n const cellValue = computed(() =>\n props.column!.dataIndex ? get(props.editRow, props.column!.dataIndex) : 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 hasFetchOptions = computed(\n () => props.column.edit?.request && props.column.edit?.dependencies?.length,\n )\n\n const rules = computed(() => {\n return (\n runFunction(props.column.edit?.rules, {\n column: props.column,\n record: props.editRow,\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\n const updateEditedCellValue = (key: DataIndex, value: any) => {\n setTimeout(() => {\n const editRow = { ...props.editRow }\n set(editRow, key, value)\n editRowsMap.value[props.rowKey!] = editRow\n triggerRef(editRowsMap)\n }, 10)\n }\n\n const cellParams = computed(() => ({\n column: props.column,\n record: props.editRow,\n recordIndexs: recordIndexs.value!,\n value: editValue.value,\n updateEditedCellValue,\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(\n () => fetchOptions.value ?? editProps.value?.options ?? valueEnum.value,\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 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\n // 值相同且不为空时不触发变化及校验\n if (\n isEqual(originValue, editValue.value) &&\n !(originValue === undefined || originValue === null || originValue === '')\n ) {\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 updateEditRow = () => {\n const editRow = { ...props.editRow }\n set(editRow, props.column.dataIndex!, editValue.value)\n editRowsMap.value[props.rowKey!] = { ...editRow }\n triggerRef(editRowsMap)\n }\n\n const fetchData = useFetchData({ request: props.column.edit?.request })\n\n const requestOptions = debounce(async (newRow?: any) => {\n const row = { ...props.item, ...newRow }\n const params = { rowKey: props.rowKey }\n props.column.edit?.dependencies?.forEach((dataIndex) => {\n const newValue = get(row, dataIndex)\n set(params, dataIndex, newValue)\n })\n loading.value = true\n const result = await fetchData(params)\n fetchOptions.value = result\n loading.value = false\n }, 200)\n\n const onEditChange = (val: any, ...args: any) => {\n const valueSetter = props.column.edit?.valueSetter\n if (valueSetter) {\n valueSetter(cellParams.value)\n } else {\n editProps.value?.onChange?.(val, ...args, cellParams.value)\n editOnListeners.value?.onChange?.(cellParams.value)\n updateEditRow()\n }\n validateEdit()\n }\n\n const updateRecordValue = debounce(async (newValue) => {\n let record: any = {}\n let dataSource = tableContext.rawData.value || []\n recordIndexs.value.forEach((index) => {\n record = dataSource[index]\n dataSource = record[tableContext.childrenColumnName.value] || []\n })\n set(record, props.column.dataIndex!, newValue)\n triggerRef(tableContext.rawData)\n }, 200)\n\n watch(\n cellValue,\n (value) => {\n editValue.value = props.column.edit?.valueGetter?.(cellParams.value) ?? value\n if (!props.isRowEdit) {\n updateRecordValue(value)\n }\n },\n { immediate: true },\n )\n\n watch(\n () => props.editRow,\n (newRow, oldRow) => {\n if (hasFetchOptions.value) {\n const isSame = props.column.edit?.dependencies?.every((dataIndex) => {\n const newValue = get(newRow, dataIndex)\n const oldIndex = get(oldRow, dataIndex)\n return isEqual(newValue, oldIndex)\n })\n if (!isSame) {\n requestOptions(newRow)\n }\n }\n },\n )\n\n onMounted(() => {\n if (!props.isRowEdit && !editRowsMap.value[props.rowKey!]) {\n editRowsMap.value[props.rowKey!] = { ...props.item }\n triggerRef(editRowsMap)\n }\n if (props.column.edit?.request) {\n requestOptions()\n }\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","loading","ref","tableContext","useInjectTable","level","useInjectLevel","fetchOptions","columnKey","computed","recordIndexs","getIndexsByKey","_a","runFunction","originValue","get","dataIndex","errorList","editRowsMap","setEditingCell","useEditInject","cellValue","undefined","cellRender","allCellProps","cellProps","cellRowSpan","rowSpan","sorterState","sorterStates","find","sorterOrder","sortOrder","cellClass","columnIndex","hasFetchOptions","edit","request","dependencies","rules","record","newValue","validateEnabled","editValue","updateEditedCellValue","setTimeout","set","triggerRef","cellParams","editOnListeners","on","editProps","isFunction","options","componentProps","tmpProps","onChange","validateEdit","Promise","resolve","isEqual","validate","then","result","list","filter","t","updateEditRow","fetchData","useFetchData","requestOptions","debounce","newRow","row","params","onEditChange","val","args","valueSetter","updateRecordValue","dataSource","rawData","index","childrenColumnName","watch","valueGetter","immediate","oldRow","isSame","every","oldIndex","onMounted","originRecord","onUnmounted","onEdited","Component","component","errorMessage","message","inlineError","tmpEditOnListeners","_createVNode","_mergeProps","e","stopPropagation","$event","getPopupContainer","document","body","Popover","CloseCircleFilled","content","map","error"],"mappings":"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"}
|
|
@@ -69,7 +69,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
69
69
|
record: _ctx.record,
|
|
70
70
|
onMouseenter: ($event) => _ctx.handleCellHover(_ctx.rowKey, column.columnKey, _ctx.tableContext.draggingRowKey.value),
|
|
71
71
|
onMouseleave: _ctx.handleCellBlur
|
|
72
|
-
}, null, 8, ["prefix-cls", "row-key", "row-index", "type", "column", "expanded", "expandIconType", "support-expand", "record", "onMouseenter", "onMouseleave"])) : column && ((_b = column.edit) == null ? void 0 : _b.component)
|
|
72
|
+
}, null, 8, ["prefix-cls", "row-key", "row-index", "type", "column", "expanded", "expandIconType", "support-expand", "record", "onMouseenter", "onMouseleave"])) : column && ((_b = column.edit) == null ? void 0 : _b.component) ? (openBlock(), createBlock(_component_BodyCell, {
|
|
73
73
|
key: 1,
|
|
74
74
|
"prefix-cls": _ctx.prefixCls,
|
|
75
75
|
item: _ctx.record,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyRow.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-12-02 15:53:41\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell.vue'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\nimport BodyTextCell from './BodyTextCell'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n BodyTextCell,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, isRowEdit, mergedEditableKeys, editRowsMap, closeEditor, openEditor } =\n useEditInject()\n const editRow = computed(() => editRowsMap.value[props.rowKey])\n let isUnmount = false\n const bodyRow = ref()\n\n const isCurrentEditRow = computed(() => {\n if (isRowEdit.value) {\n return mergedEditableKeys.value?.includes(props.rowKey)\n }\n return true\n })\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expandIconType = computed(() => tableContext.expandIconType.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n isCurrentEditRow,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n expandIconType,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n editCellKeys,\n isRowEdit,\n editRow,\n mergedEditableKeys,\n openEditor,\n closeEditor,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n mergedTooltipOpen,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column && column.edit?.component && isCurrentEditRow\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex!\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n :editable-keys=\"mergedEditableKeys\"\n :is-row-edit=\"isRowEdit\"\n :edit-row=\"editRow\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n <BodyTextCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyTextCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_normalizeClass","_normalizeStyle","_createVNode","_mergeProps","_withCtx","_renderList","_createBlock","_createElementVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BodyRow.vue.mjs","sources":["../../../../../../../../../packages/components/table/src/components/Body/BodyRow.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2023-11-08 21:59:48\n * @LastEditors: shen\n * @LastEditTime: 2025-12-04 17:30:59\n * @Description:\n-->\n<script lang=\"ts\">\nimport {\n defineComponent,\n getCurrentInstance,\n ref,\n watch,\n onBeforeUnmount,\n computed,\n nextTick,\n watchEffect,\n} from 'vue'\nimport { useInjectTable } from '../context/TableContext'\nimport { useInjectBody } from '../context/BodyContext'\nimport { useInjectBodyRows, useProvideBodyRow } from '../context/BodyRowsContext'\nimport { ExpandColumnKey } from '../../hooks/useColumns'\nimport { RenderSlot } from '../../utils/renderVNode'\nimport { useInjectHover } from '../../hooks/useHover'\nimport { addClass, removeClass } from '../../utils/class'\nimport { useEditInject } from '../../hooks/useEdit'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\nimport ResizeObserver from 'resize-observer-polyfill'\nimport eagerComputed from '../../utils/eagerComputed'\nimport classNames from '../../utils/classNames'\nimport BodyCell from './BodyCell.vue'\nimport ExpandedRow from './ExpandedRow.vue'\nimport BodyExtraCell from './BodyExtraCell.vue'\nimport ExpandIcon from '../ExpandIcon.vue'\nimport BodyTextCell from './BodyTextCell'\n\nimport type { CSSProperties, PropType } from 'vue'\nimport type { RowClassName, RowType, Key } from '../interface'\n\nlet uniIdCount = 0\nexport default defineComponent({\n name: 'ProTableBodyRow',\n components: {\n ExpandIcon,\n BodyCell,\n ExpandedRow,\n BodyExtraCell,\n RenderSlot,\n BodyTextCell,\n },\n inheritAttrs: false,\n props: {\n prefixCls: String as PropType<string>,\n isExpandRow: Boolean as PropType<boolean>,\n record: { type: Object },\n type: { type: String as PropType<RowType> },\n rowKey: { type: [Number, String] as PropType<Key>, required: true },\n supportExpand: Boolean,\n pos: Number as PropType<number>,\n rowIndex: Number as PropType<number>,\n flattenRowIndex: Number,\n indent: Number as PropType<number>,\n wrapText: { type: Boolean as PropType<boolean>, default: false },\n getRowClassName: { type: Function as PropType<RowClassName<any>> },\n },\n setup(props) {\n const rowUniId = 'row_uni_id_' + uniIdCount++\n const tableContext = useInjectTable()\n const rowInstance = getCurrentInstance()\n const { table } = useProConfigInject()\n const { editCellKeys, isRowEdit, mergedEditableKeys, editRowsMap, closeEditor, openEditor } =\n useEditInject()\n const editRow = computed(() => editRowsMap.value[props.rowKey])\n let isUnmount = false\n const bodyRow = ref()\n\n const isCurrentEditRow = computed(() => {\n if (isRowEdit.value) {\n return mergedEditableKeys.value?.includes(props.rowKey)\n }\n return true\n })\n\n const calMaxHeight = () => {\n if (isUnmount) return\n let rowHeight = 0\n let autoCells: HTMLDivElement[] = []\n if (bodyRow.value) {\n autoCells = bodyRow.value.querySelectorAll('div[data-cell-auto=true]')\n }\n autoCells.forEach((autoCell: HTMLDivElement) => {\n const { offsetWidth, offsetHeight } = autoCell\n let autoCellHeight = offsetWidth ? offsetHeight : 0\n const parentStyle = getComputedStyle(autoCell.parentNode as Element)\n autoCellHeight +=\n parseFloat(parentStyle.getPropertyValue('border-top-width')) +\n parseFloat(parentStyle.getPropertyValue('border-bottom-width'))\n rowHeight = rowHeight > autoCellHeight ? rowHeight : autoCellHeight\n })\n if (autoCells.length) {\n tableContext.addRowHeight(rowUniId, props.rowKey!, rowHeight)\n } else {\n tableContext.removeRowHeight(rowUniId)\n }\n }\n\n watch(\n () => props.rowKey,\n () => {\n calMaxHeight()\n },\n { flush: 'post' },\n )\n\n const resizeObserver: ResizeObserver = new ResizeObserver(() => {\n calMaxHeight()\n })\n\n const { columns, columnStartIndex } = useInjectBodyRows()\n const mergedColumns = computed(() =>\n (props.type === 'center'\n ? tableContext.centerRowColumnsMap.value.get(props.rowKey)\n : columns.value)!.filter((item) => !!item),\n )\n\n const { tooltipOpen, leftPopupContainer, centerPopupContainer, rightPopupContainer } =\n useInjectBody()\n const { handleCellBlur, handleCellHover, hoverRowKey, hoverColumnKey, rowHover } =\n useInjectHover()\n\n const popupContainer = computed(() =>\n props.type === 'left'\n ? leftPopupContainer.value\n : props.type === 'center'\n ? centerPopupContainer.value\n : props.type === 'right'\n ? rightPopupContainer.value\n : null,\n )\n\n const isDragging = eagerComputed(() => tableContext.draggingRowKey.value === props.rowKey)\n const isRowHover = eagerComputed(() => hoverRowKey.value === props.rowKey)\n\n watch(\n [isRowHover, bodyRow],\n () => {\n bodyRow.value &&\n rowHover.value &&\n (isRowHover.value\n ? addClass(bodyRow.value, `${props.prefixCls}-row-hover`)\n : removeClass(bodyRow.value, `${props.prefixCls}-row-hover`))\n },\n { immediate: true, flush: 'post' },\n )\n\n const mergedTooltipOpen = eagerComputed(() => tooltipOpen.value && isRowHover.value)\n\n let timer: any\n onBeforeUnmount(() => {\n isUnmount = true\n resizeObserver.disconnect()\n clearTimeout(timer)\n tableContext.removeRowHeight(rowUniId)\n })\n\n const hasMultiRowSpanInfo = eagerComputed(() => {\n return !tableContext.hasMultiRowSpanInfo.value[props.rowKey!]\n })\n\n const customRowProps = computed(() => {\n return tableContext.props.customRow?.(props.record!, props.rowIndex)\n })\n\n const rowSelectionType = computed(() => {\n return tableContext.props.rowSelection?.type\n })\n\n const isExpanded = ref(false)\n const expandedRowKeys = computed(() => tableContext.expandedRowKeys.value)\n const expandIconType = computed(() => tableContext.expandIconType.value)\n const expanded = eagerComputed(() => expandedRowKeys.value.has?.(props.rowKey!))\n const expandIconColumnIndex = computed(() => tableContext.expandIconColumnIndex.value || 0)\n const indentSize = computed(() => tableContext.indentSize.value)\n\n watchEffect(() => {\n if (expanded.value) {\n isExpanded.value = true\n }\n })\n\n const rowExpandable = computed(\n () =>\n tableContext.expandType.value === 'row' &&\n tableContext.props.rowExpandable?.(props.record!),\n )\n\n const nestExpandable = computed(() => tableContext.expandType.value === 'nest')\n\n const hasNestChildren = computed(\n () =>\n !!(\n tableContext.childrenColumnName.value &&\n props.record?.[tableContext.childrenColumnName.value]?.length\n ),\n )\n const mergedExpandable = computed(() => rowExpandable.value || nestExpandable.value)\n\n const onInternalTriggerExpand = (record: any, event: any) => {\n tableContext.onTriggerExpand(record, props.rowKey!, event)\n }\n\n const mergedRowHeights = computed(() => tableContext.mergedRowHeights.value)\n\n const height = eagerComputed(() => mergedRowHeights.value[props.rowKey!])\n const cellHeight = eagerComputed(() => tableContext.rowHeights.value[props.rowKey!])\n\n const isSelected = computed(() => {\n const highlightSelectRow =\n tableContext.props.highlightSelectRow ?? table?.value?.highlightSelectRow\n return (\n highlightSelectRow && tableContext.selection.derivedSelectedKeySet.value.has(props.rowKey!)\n )\n })\n\n const rowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n const isEven = rowIndex! % 2 == 0\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-row-level-${indent}`]: true,\n [`${prefixCls}-row-hover`]: isRowHover.value && rowHover.value,\n [`${prefixCls}-row-dragging`]: isDragging.value,\n [`${prefixCls}-row-dragging-insert-target`]:\n tableContext.insertToRowKey.value === props.rowKey,\n [`${prefixCls}-row-odd`]: !isEven,\n [`${prefixCls}-row-even`]: isEven,\n [`${prefixCls}-no-height`]: !height.value,\n [`${prefixCls}-row-selected`]: isSelected.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandRowClass = computed(() => {\n const { prefixCls, record, rowIndex, indent } = props\n return classNames(\n {\n [`${prefixCls}-row`]: true,\n [`${prefixCls}-expanded-row`]: true,\n [`${prefixCls}-expanded-row-level-${indent! + 1}`]: true,\n [`${prefixCls}-no-height`]: !height.value,\n },\n props.getRowClassName?.(record, rowIndex!, indent),\n )\n })\n\n const expandColumnWidth = eagerComputed(() => {\n return tableContext.allCellProps.value[props.rowKey!]?.[ExpandColumnKey]?.props?.style?.width\n })\n\n const rowStyle = computed<CSSProperties>(() => {\n const style: CSSProperties = {\n opacity: 1,\n [`--${props.prefixCls}-row-bg`]: `var(--${props.prefixCls}-row-bg-${props.rowKey}, var(--${props.prefixCls}-bg))`,\n }\n if (hasMultiRowSpanInfo.value) {\n style.transform = `translateY(${props.pos}px)`\n } else {\n style.top = `${props.pos}px`\n }\n if (height.value !== undefined) {\n style.height = `${height.value}px`\n } else {\n style.height = `${tableContext.baseHeight.value}px`\n }\n if (props.isExpandRow && columnStartIndex.value === 0) {\n style.width = expandColumnWidth.value\n style.minWidth = '100%'\n }\n return style\n })\n\n watch(\n () => ({ ...rowStyle.value }),\n (newStyle, oldStyle = {}) => {\n if (tableContext.animateRows.value && !tableContext.useAnimate.value) {\n if (\n newStyle.top !== oldStyle.top ||\n newStyle.height !== oldStyle.height ||\n newStyle.transform !== oldStyle.transform\n ) {\n nextTick(() => {\n clearTimeout(timer)\n if (rowInstance?.vnode.el && rowInstance.vnode.el.style) {\n rowInstance.vnode.el.style.transition = 'none'\n timer = setTimeout(() => {\n if (rowInstance?.vnode?.el?.style) {\n rowInstance.vnode.el.style.transition = null\n }\n }, 100)\n }\n })\n }\n }\n },\n { immediate: true },\n )\n\n useProvideBodyRow({\n top: computed(() => props.pos!),\n height: computed(() =>\n height.value !== undefined ? height.value : tableContext.baseHeight.value,\n ),\n rowKey: computed(() => props.rowKey),\n })\n\n const cellClass = computed(() => ({\n [`${props.prefixCls}-cell`]: true,\n [`${props.prefixCls}-position-absolute`]: true,\n }))\n\n return {\n rowClass,\n rowStyle,\n cellClass,\n tableContext,\n isCurrentEditRow,\n mergedRowHeights,\n handleCellBlur,\n handleCellHover,\n handleClick: (event: any) => {\n const expandRowByClick =\n tableContext.props.expandRowByClick ?? table?.value?.expandRowByClick\n expandRowByClick && mergedExpandable.value && onInternalTriggerExpand(props.record, event)\n },\n rowSelectionType,\n nestExpandable,\n hasNestChildren,\n mergedExpandable,\n expandIconColumnIndex,\n indentSize,\n expanded,\n expandIconType,\n onInternalTriggerExpand,\n customRowProps,\n expandColumnKey: ExpandColumnKey,\n expandRowClass,\n mergedColumns,\n height,\n cellHeight,\n columnStartIndex,\n resizeObserver,\n calMaxHeight,\n bodyRow,\n editCellKeys,\n isRowEdit,\n editRow,\n mergedEditableKeys,\n openEditor,\n closeEditor,\n hoverRowKey,\n hoverColumnKey,\n xVirtual: eagerComputed(() => tableContext.xVirtual.value),\n getPopupContainer: () => popupContainer.value!,\n mergedTooltipOpen,\n }\n },\n})\n</script>\n\n<template>\n <template v-if=\"isExpandRow\">\n <div\n v-if=\"columnStartIndex === 0\"\n ref=\"bodyRow\"\n :data-row-key=\"rowKey\"\n :class=\"expandRowClass\"\n :style=\"rowStyle\"\n role=\"row\"\n >\n <ExpandedRow\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n />\n </div>\n </template>\n <div\n v-else\n v-bind=\"customRowProps\"\n ref=\"bodyRow\"\n :class=\"rowClass\"\n :style=\"rowStyle\"\n :data-row-key=\"rowKey\"\n role=\"row\"\n @click=\"handleClick\"\n >\n <RenderSlot>\n <template v-for=\"(column, index) in mergedColumns\" :key=\"column && column.columnKey\">\n <BodyExtraCell\n v-if=\"column && column.__Internal__Column__\"\n :prefix-cls=\"prefixCls\"\n :row-key=\"rowKey\"\n :row-index=\"rowIndex!\"\n :type=\"type\"\n :column=\"mergedColumns?.[index]\"\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :support-expand=\"mergedExpandable\"\n :record=\"record\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @mouseleave=\"handleCellBlur\"\n />\n <BodyCell\n v-else-if=\"column && column.edit?.component\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex!\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n :editable-keys=\"mergedEditableKeys\"\n :is-row-edit=\"isRowEdit\"\n :edit-row=\"editRow\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyCell>\n <BodyTextCell\n v-else-if=\"column\"\n :prefix-cls=\"prefixCls\"\n :item=\"record\"\n :row-key=\"rowKey\"\n :type=\"type\"\n :row-index=\"rowIndex!\"\n :flatten-row-index=\"flattenRowIndex\"\n :wrap-text=\"wrapText\"\n :column=\"column\"\n :resize-observer=\"resizeObserver\"\n :cal-max-height=\"calMaxHeight\"\n :has-append-node=\"column.columnIndex === expandIconColumnIndex && nestExpandable\"\n :height=\"cellHeight\"\n :get-popup-container=\"getPopupContainer\"\n :tooltip-open=\"mergedTooltipOpen && hoverColumnKey === column.columnKey\"\n :edit-cell-keys=\"editCellKeys\"\n @closeEditor=\"closeEditor\"\n @openEditor=\"openEditor\"\n @mouseenter=\"\n handleCellHover(rowKey, column.columnKey, tableContext.draggingRowKey.value!)\n \"\n @cellLeave=\"handleCellBlur\"\n >\n <template #appendNode>\n <div :class=\"`${prefixCls}-append-node`\">\n <span\n :style=\"`padding-left: ${(indent || 0) * indentSize}px`\"\n :class=\"`${prefixCls}-row-indent indent-level-${indent}`\"\n ></span>\n <ExpandIcon\n :expanded=\"expanded\"\n :expandIconType=\"expandIconType\"\n :prefix-cls=\"prefixCls\"\n :expandable=\"hasNestChildren\"\n :record=\"record\"\n :disabled=\"!mergedExpandable\"\n @expand=\"onInternalTriggerExpand\"\n />\n </div>\n </template>\n </BodyTextCell>\n </template>\n </RenderSlot>\n <div v-if=\"type !== 'center'\" :class=\"`${prefixCls}-cell-shadow-${type}`\"></div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","_normalizeClass","_normalizeStyle","_createVNode","_mergeProps","_withCtx","_renderList","_createBlock","_createElementVNode"],"mappings":"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"}
|