@aplus-frontend/ui 7.19.3 → 7.19.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/src/ag-grid/editable/form-item.vue.mjs +43 -39
- package/es/src/ag-grid/editable/index.vue.mjs +14 -10
- package/es/src/ag-grid/editable/interface.d.ts +9 -0
- package/es/src/ag-grid/hooks/use-editable-columns.d.ts +2 -2
- package/es/src/ag-grid/hooks/use-editable-columns.mjs +83 -76
- package/es/src/ap-field/select/index.vue.mjs +184 -154
- package/es/src/ap-table/hooks/use-table-template-storage.mjs +44 -44
- package/es/src/business/ap-product-info/constans.mjs +1 -1
- package/es/src/version.d.ts +1 -1
- package/es/src/version.mjs +1 -1
- package/lib/src/ag-grid/editable/form-item.vue.js +1 -1
- package/lib/src/ag-grid/editable/index.vue.js +1 -1
- package/lib/src/ag-grid/editable/interface.d.ts +9 -0
- package/lib/src/ag-grid/hooks/use-editable-columns.d.ts +2 -2
- package/lib/src/ag-grid/hooks/use-editable-columns.js +1 -1
- package/lib/src/ap-field/select/index.vue.js +1 -1
- package/lib/src/ap-table/hooks/use-table-template-storage.js +1 -1
- package/lib/src/business/ap-product-info/constans.js +1 -1
- package/lib/src/version.d.ts +1 -1
- package/lib/src/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { defineComponent as G, useSlots as
|
|
1
|
+
import { defineComponent as G, useSlots as U, ref as g, onMounted as W, watch as $, unref as r, createElementBlock as q, openBlock as J, Fragment as Q, createVNode as f, mergeProps as h, withCtx as C, createSlots as X, renderList as Y, renderSlot as Z, normalizeProps as ee, guardReactiveProps as oe } from "vue";
|
|
2
2
|
import { cloneDeep as u, isEqual as te, omit as ae } from "lodash-unified";
|
|
3
|
-
import { ApForm as
|
|
3
|
+
import { ApForm as R } from "../../ap-form/index.mjs";
|
|
4
4
|
import { useInjectForm as ne } from "../../ap-form/context.mjs";
|
|
5
5
|
import { useWatch as le } from "../../ap-form/hooks/use-watch.mjs";
|
|
6
6
|
import { getModelValue as re } from "../../ap-form/utils/get.mjs";
|
|
7
|
-
import { transformValues as
|
|
7
|
+
import { transformValues as se } from "../../ap-form/utils/transform.mjs";
|
|
8
8
|
import "../../config-provider/index.mjs";
|
|
9
|
-
import { useGetEditableColumns as
|
|
9
|
+
import { useGetEditableColumns as ie } from "../hooks/use-editable-columns.mjs";
|
|
10
10
|
import { useEditableFormItemApi as me } from "../hooks/use-editable-form-item-api.mjs";
|
|
11
11
|
import "../index.vue2.mjs";
|
|
12
12
|
import ue from "../style/editable.mjs";
|
|
13
13
|
import { getShadowName as de } from "../utils.mjs";
|
|
14
|
-
import { getColumnTransformOptions as pe, arrayToObject as
|
|
14
|
+
import { getColumnTransformOptions as pe, arrayToObject as b, getRowKey as fe } from "./utils.mjs";
|
|
15
15
|
import { useNamespace as ce } from "../../config-provider/hooks/use-namespace.mjs";
|
|
16
16
|
import { useGlobalConfig as we } from "../../config-provider/hooks/use-global-config.mjs";
|
|
17
|
-
import
|
|
17
|
+
import ye from "../index.vue.mjs";
|
|
18
18
|
const Ke = /* @__PURE__ */ G({
|
|
19
19
|
name: "EditableGrid",
|
|
20
20
|
__name: "form-item",
|
|
@@ -134,6 +134,10 @@ const Ke = /* @__PURE__ */ G({
|
|
|
134
134
|
onChange: {},
|
|
135
135
|
maxLength: {},
|
|
136
136
|
onFieldChange: {},
|
|
137
|
+
supressForceRowUpdate: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: !1
|
|
140
|
+
},
|
|
137
141
|
label: {},
|
|
138
142
|
name: {},
|
|
139
143
|
formItem: {}
|
|
@@ -141,27 +145,27 @@ const Ke = /* @__PURE__ */ G({
|
|
|
141
145
|
setup(v, {
|
|
142
146
|
expose: B
|
|
143
147
|
}) {
|
|
144
|
-
const x =
|
|
148
|
+
const x = U(), t = v, {
|
|
145
149
|
b: S
|
|
146
|
-
} = ce("editable-aggrid"), I = ue("editable-aggrid"), m =
|
|
150
|
+
} = ce("editable-aggrid"), I = ue("editable-aggrid"), m = g(), {
|
|
147
151
|
internalInstance: n
|
|
148
152
|
} = ne();
|
|
149
153
|
function F(e) {
|
|
150
|
-
const o = pe(
|
|
154
|
+
const o = pe(t.columns || []);
|
|
151
155
|
if (!Object.keys(o).length || !e?.length)
|
|
152
156
|
return e;
|
|
153
|
-
let
|
|
154
|
-
for (const
|
|
155
|
-
|
|
156
|
-
return
|
|
157
|
+
let a = [];
|
|
158
|
+
for (const i of e)
|
|
159
|
+
a.push(se(i, o));
|
|
160
|
+
return a;
|
|
157
161
|
}
|
|
158
|
-
const
|
|
162
|
+
const s = de(t.name);
|
|
159
163
|
let c = [];
|
|
160
|
-
|
|
161
|
-
const e =
|
|
162
|
-
e && (n?.updateInitialModel(
|
|
164
|
+
W(() => {
|
|
165
|
+
const e = t.formItem?.initialValue ?? re(n?.getInitialValues() ?? {}, t.name);
|
|
166
|
+
e && (n?.updateInitialModel(s, b(u(e), t.rowKey)), c = u(e), l.value || j(u(e), "suffix", !0));
|
|
163
167
|
});
|
|
164
|
-
const l =
|
|
168
|
+
const l = g([]), T = le(t.name);
|
|
165
169
|
$(() => T.value, (e) => {
|
|
166
170
|
te(e, l.value) || w(e ?? u(c));
|
|
167
171
|
}, {
|
|
@@ -169,7 +173,7 @@ const Ke = /* @__PURE__ */ G({
|
|
|
169
173
|
flush: "post",
|
|
170
174
|
immediate: !0
|
|
171
175
|
});
|
|
172
|
-
const E = we("valueTypeMap"), V =
|
|
176
|
+
const E = we("valueTypeMap"), V = ie(t, E, s), {
|
|
173
177
|
add: N,
|
|
174
178
|
addMultiple: _,
|
|
175
179
|
__addMultiple: j,
|
|
@@ -180,36 +184,36 @@ const Ke = /* @__PURE__ */ G({
|
|
|
180
184
|
setRowData: z,
|
|
181
185
|
clear: H,
|
|
182
186
|
refreshRowIds: d
|
|
183
|
-
} = me(
|
|
187
|
+
} = me(t, n, l, s);
|
|
184
188
|
function L() {
|
|
185
189
|
const e = m.value?._internalGridApi;
|
|
186
190
|
if (!d.value?.length || !e)
|
|
187
191
|
return;
|
|
188
|
-
const o = d.value.map((
|
|
189
|
-
e.refreshCells({
|
|
192
|
+
const o = d.value.map((a) => e.getRowNode(a)).filter((a) => !!a);
|
|
193
|
+
t.supressForceRowUpdate || e.refreshCells({
|
|
190
194
|
rowNodes: o,
|
|
191
195
|
force: !0
|
|
192
196
|
}), d.value = [];
|
|
193
197
|
}
|
|
194
198
|
function w(e) {
|
|
195
199
|
l.value = [...e];
|
|
196
|
-
const o =
|
|
197
|
-
n?.setFieldValue(
|
|
200
|
+
const o = b(e, t.rowKey);
|
|
201
|
+
n?.setFieldValue(t.name, [...e]), n?.setFieldValue(s, o);
|
|
198
202
|
}
|
|
199
|
-
function
|
|
200
|
-
const
|
|
201
|
-
m.value?.scrollToRow(
|
|
203
|
+
function y(e, o) {
|
|
204
|
+
const a = e === "end" ? l.value.length - 1 : e;
|
|
205
|
+
m.value?.scrollToRow(a, o);
|
|
202
206
|
}
|
|
203
207
|
function M(e, o) {
|
|
204
208
|
m.value?.scrollToColumn(e, o);
|
|
205
209
|
}
|
|
206
210
|
function P(e, o) {
|
|
207
|
-
const
|
|
208
|
-
return n?.validateFields([
|
|
211
|
+
const a = [s, String(e), o].flat();
|
|
212
|
+
return n?.validateFields([a]);
|
|
209
213
|
}
|
|
210
214
|
function A(e) {
|
|
211
|
-
const
|
|
212
|
-
return n?.validateFields(
|
|
215
|
+
const a = r(l).map((i, p) => [s, String(fe(i, p, t.rowKey)), e].flat());
|
|
216
|
+
return n?.validateFields(a);
|
|
213
217
|
}
|
|
214
218
|
return B({
|
|
215
219
|
add: N,
|
|
@@ -221,21 +225,21 @@ const Ke = /* @__PURE__ */ G({
|
|
|
221
225
|
setRowData: z,
|
|
222
226
|
clear: H,
|
|
223
227
|
setTableData: w,
|
|
224
|
-
scrollTo:
|
|
225
|
-
scrollToRow:
|
|
228
|
+
scrollTo: y,
|
|
229
|
+
scrollToRow: y,
|
|
226
230
|
scrollToColumn: M,
|
|
227
231
|
validateCell: P,
|
|
228
232
|
validateColumn: A,
|
|
229
233
|
table: m
|
|
230
|
-
}), (e, o) => (J(), q(Q, null, [f(r(
|
|
234
|
+
}), (e, o) => (J(), q(Q, null, [f(r(R).FormItem, {
|
|
231
235
|
hidden: "",
|
|
232
236
|
name: e.name,
|
|
233
237
|
"initial-value": e.formItem?.initialValue,
|
|
234
238
|
transform: F
|
|
235
|
-
}, null, 8, ["name", "initial-value"]), f(r(
|
|
239
|
+
}, null, 8, ["name", "initial-value"]), f(r(R).FormItem, h({
|
|
236
240
|
label: e.label
|
|
237
241
|
}, e.formItem), {
|
|
238
|
-
default: C(() => [f(
|
|
242
|
+
default: C(() => [f(ye, h(r(ae)(t, ["name", "maxLength", "onChange", "defaultValue", "formItem"]), {
|
|
239
243
|
ref_key: "tableRef",
|
|
240
244
|
ref: m,
|
|
241
245
|
class: [r(S)(), r(I)],
|
|
@@ -246,9 +250,9 @@ const Ke = /* @__PURE__ */ G({
|
|
|
246
250
|
onUpdate: L
|
|
247
251
|
}), X({
|
|
248
252
|
_: 2
|
|
249
|
-
}, [Y(x, (
|
|
250
|
-
name:
|
|
251
|
-
fn: C((p) => [Z(e.$slots,
|
|
253
|
+
}, [Y(x, (a, i) => ({
|
|
254
|
+
name: i,
|
|
255
|
+
fn: C((p) => [Z(e.$slots, i, ee(oe(p || {})))])
|
|
252
256
|
}))]), 1040, ["class", "columns", "data-source"])]),
|
|
253
257
|
_: 3
|
|
254
258
|
}, 16, ["label"])], 64));
|
|
@@ -135,7 +135,11 @@ const Fe = /* @__PURE__ */ M({
|
|
|
135
135
|
name: {
|
|
136
136
|
default: "ap-editable-table-inner-name"
|
|
137
137
|
},
|
|
138
|
-
onFieldChange: {}
|
|
138
|
+
onFieldChange: {},
|
|
139
|
+
supressForceRowUpdate: {
|
|
140
|
+
type: Boolean,
|
|
141
|
+
default: !1
|
|
142
|
+
}
|
|
139
143
|
},
|
|
140
144
|
emits: ["update:value"],
|
|
141
145
|
setup(C, {
|
|
@@ -170,12 +174,12 @@ const Fe = /* @__PURE__ */ M({
|
|
|
170
174
|
if (!d.value?.length || !e)
|
|
171
175
|
return;
|
|
172
176
|
const o = d.value.map((t) => e.getRowNode(t)).filter((t) => !!t);
|
|
173
|
-
e.refreshCells({
|
|
177
|
+
a.supressForceRowUpdate || e.refreshCells({
|
|
174
178
|
rowNodes: o,
|
|
175
179
|
force: !0
|
|
176
180
|
}), d.value = [];
|
|
177
181
|
}
|
|
178
|
-
function
|
|
182
|
+
function U() {
|
|
179
183
|
r.value?.resetFields();
|
|
180
184
|
}
|
|
181
185
|
function w(e) {
|
|
@@ -189,15 +193,15 @@ const Fe = /* @__PURE__ */ M({
|
|
|
189
193
|
return e;
|
|
190
194
|
}
|
|
191
195
|
}
|
|
192
|
-
async function
|
|
196
|
+
async function L(e, o) {
|
|
193
197
|
const n = (await r.value?.validateFields(w(e), o))?.[a.name];
|
|
194
198
|
return g(n);
|
|
195
199
|
}
|
|
196
|
-
async function
|
|
200
|
+
async function P(e, o) {
|
|
197
201
|
const n = (await r.value?.validateFieldsReturnTransformed(w(e), o))?.[a.name];
|
|
198
202
|
return g(n);
|
|
199
203
|
}
|
|
200
|
-
function
|
|
204
|
+
function G(e) {
|
|
201
205
|
y(e);
|
|
202
206
|
const o = f(e, a.rowKey);
|
|
203
207
|
r.value?.setFieldValue(a.name, o);
|
|
@@ -210,9 +214,9 @@ const Fe = /* @__PURE__ */ M({
|
|
|
210
214
|
i.value?.scrollToColumn(e, o);
|
|
211
215
|
}
|
|
212
216
|
return x({
|
|
213
|
-
resetFields:
|
|
214
|
-
validateFields:
|
|
215
|
-
validateFieldsReturnTransformed:
|
|
217
|
+
resetFields: U,
|
|
218
|
+
validateFields: L,
|
|
219
|
+
validateFieldsReturnTransformed: P,
|
|
216
220
|
add: A,
|
|
217
221
|
addMultiple: N,
|
|
218
222
|
remove: j,
|
|
@@ -221,7 +225,7 @@ const Fe = /* @__PURE__ */ M({
|
|
|
221
225
|
getRowsData: D,
|
|
222
226
|
setRowData: z,
|
|
223
227
|
clear: H,
|
|
224
|
-
setTableData:
|
|
228
|
+
setTableData: G,
|
|
225
229
|
scrollTo: R,
|
|
226
230
|
scrollToRow: R,
|
|
227
231
|
scrollToColumn: W,
|
|
@@ -78,6 +78,15 @@ export type EditableAgGridProps<RecordType = any> = Omit<AgGridProps<RecordType>
|
|
|
78
78
|
* @returns
|
|
79
79
|
*/
|
|
80
80
|
onFieldChange?: (rowIndex: number, fieldName: DataIndex, newValue: any) => void;
|
|
81
|
+
/**
|
|
82
|
+
* 是否禁止在行操作后(添加/删除行等)避免强制更新
|
|
83
|
+
* 默认情况下,表格行会在行操作后强制更新哪些受到影响的行来保证渲染始终是正确的,但这样会导致表单校验被清空、频繁更新导致渲染性能下降等问题
|
|
84
|
+
* 设置为`true`后,在行操作后不会主动强制更新受影响的行,由于不再更新行,配置中如果`editable`/`fieldProps`/`customRender`等函数使用
|
|
85
|
+
* 到了`rowIndex`等字段可能会出现渲染异常的问题
|
|
86
|
+
* @default false
|
|
87
|
+
* @since 7.19.5
|
|
88
|
+
*/
|
|
89
|
+
supressForceRowUpdate?: boolean;
|
|
81
90
|
};
|
|
82
91
|
export type EditableAgGridExpose<RecordType = any, ModelType = RecordType[]> = Omit<EditableTableExpose<ModelType, RecordType>, 'scrollTo' | 'remove'> & {
|
|
83
92
|
scrollTo: (index: number | 'end', position?: 'top' | 'bottom' | 'middle') => void;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
2
|
import { ValueTypeRenderConfig } from '../../config-provider';
|
|
3
3
|
import { EditableAgGridProps } from '../editable/interface';
|
|
4
4
|
import { AgGridColumnType } from '../interface';
|
|
5
|
-
export declare const useGetEditableColumns: (props: EditableAgGridProps, extraValueTypes: Ref<Record<string, ValueTypeRenderConfig> | undefined>, shadowName?: string) =>
|
|
5
|
+
export declare const useGetEditableColumns: (props: EditableAgGridProps, extraValueTypes: Ref<Record<string, ValueTypeRenderConfig> | undefined>, shadowName?: string) => Ref<AgGridColumnType[]>;
|
|
6
6
|
export default useGetEditableColumns;
|
|
@@ -1,104 +1,111 @@
|
|
|
1
|
-
import { clsx as
|
|
2
|
-
import { isArray as g, isFunction as
|
|
3
|
-
import {
|
|
4
|
-
import { getFinalEditableNode as
|
|
5
|
-
import { updateFormProps as
|
|
6
|
-
import { getColumnIsRequired as
|
|
1
|
+
import { clsx as v } from "clsx";
|
|
2
|
+
import { isArray as g, isFunction as C } from "lodash-unified";
|
|
3
|
+
import { ref as E, watch as F, unref as y } from "vue";
|
|
4
|
+
import { getFinalEditableNode as q } from "../../ap-grid/utils/editable.mjs";
|
|
5
|
+
import { updateFormProps as A, getFieldProps as K } from "../../ap-table/utils.mjs";
|
|
6
|
+
import { getColumnIsRequired as M } from "../../editable-table/utils.mjs";
|
|
7
7
|
import "../../utils/index.mjs";
|
|
8
|
-
import { getRowKey as
|
|
9
|
-
import { isDef as
|
|
10
|
-
function
|
|
11
|
-
t.__skipNextRefresh ? t.__skipNextRefresh[
|
|
8
|
+
import { getRowKey as S } from "../editable/utils.mjs";
|
|
9
|
+
import { isDef as D } from "../../utils/is.mjs";
|
|
10
|
+
function I(t, d, r) {
|
|
11
|
+
t.__skipNextRefresh ? t.__skipNextRefresh[d] = r : t.__skipNextRefresh = { [d]: r };
|
|
12
12
|
}
|
|
13
|
-
function
|
|
14
|
-
t.__prevEditable ? t.__prevEditable[
|
|
13
|
+
function G(t, d, r) {
|
|
14
|
+
t.__prevEditable ? t.__prevEditable[d] = r : t.__prevEditable = { [d]: r };
|
|
15
15
|
}
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const Q = (t, d, r) => {
|
|
17
|
+
const _ = E([]);
|
|
18
|
+
F(
|
|
19
|
+
() => t.columns,
|
|
20
|
+
(e) => {
|
|
21
|
+
if (!e?.length) {
|
|
22
|
+
_.value = [];
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
function c(a) {
|
|
26
|
+
return a.map((n) => ({
|
|
27
|
+
...n,
|
|
28
|
+
_requireMark: M(n),
|
|
29
|
+
children: c(n.children || []),
|
|
30
|
+
// 处理可编辑/不可编辑下的单元格渲染
|
|
31
|
+
...R(n)
|
|
32
|
+
}));
|
|
33
|
+
}
|
|
34
|
+
_.value = c(e);
|
|
35
|
+
},
|
|
36
|
+
{ immediate: !0, deep: !0 }
|
|
37
|
+
);
|
|
38
|
+
function R(e) {
|
|
39
|
+
const c = e.editable, a = r ? [r] : g(t.name) ? t.name : [t.name];
|
|
40
|
+
return !c || e.children?.length ? {
|
|
41
|
+
_path: [...a]
|
|
21
42
|
} : {
|
|
22
|
-
customRender({ value:
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
43
|
+
customRender({ value: n, originalNode: p, params: o, ...i }) {
|
|
44
|
+
const s = C(e.editable) ? e.editable(
|
|
45
|
+
i.text,
|
|
46
|
+
i.record,
|
|
47
|
+
i.rowIndex
|
|
27
48
|
) : !!e.editable;
|
|
28
|
-
let u =
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
49
|
+
let u = p;
|
|
50
|
+
const w = g(e.dataIndex) ? e.dataIndex : [e.dataIndex], x = S(
|
|
51
|
+
i.record,
|
|
52
|
+
i.rowIndex,
|
|
32
53
|
t.rowKey
|
|
33
54
|
);
|
|
34
|
-
if (
|
|
35
|
-
const
|
|
55
|
+
if (s) {
|
|
56
|
+
const h = A(
|
|
36
57
|
e,
|
|
37
|
-
|
|
38
|
-
value:
|
|
39
|
-
...
|
|
58
|
+
K(e.fieldProps, {
|
|
59
|
+
value: n,
|
|
60
|
+
...i
|
|
40
61
|
})
|
|
41
|
-
),
|
|
42
|
-
t.onFieldChange && (
|
|
43
|
-
|
|
62
|
+
), b = {};
|
|
63
|
+
t.onFieldChange && (b[`onUpdate:${h.valuePropName || "value"}`] = (k) => t.onFieldChange?.(
|
|
64
|
+
i.rowIndex,
|
|
44
65
|
e.dataIndex,
|
|
45
|
-
|
|
66
|
+
k
|
|
46
67
|
));
|
|
47
|
-
const
|
|
48
|
-
name: [...
|
|
49
|
-
...
|
|
68
|
+
const N = {
|
|
69
|
+
name: [...a, String(x), ...w],
|
|
70
|
+
...h || {},
|
|
50
71
|
field: {
|
|
51
72
|
style: "width: 100%",
|
|
52
|
-
...
|
|
53
|
-
...
|
|
54
|
-
class:
|
|
73
|
+
...h?.field || {},
|
|
74
|
+
...b,
|
|
75
|
+
class: v("is-editable", h.class)
|
|
55
76
|
}
|
|
56
77
|
};
|
|
57
|
-
u =
|
|
78
|
+
u = q(
|
|
58
79
|
e,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
80
|
+
N,
|
|
81
|
+
i.record,
|
|
82
|
+
y(d)
|
|
62
83
|
);
|
|
63
84
|
}
|
|
64
85
|
e.customRender && (u = e.customRender({
|
|
65
|
-
value:
|
|
66
|
-
...
|
|
67
|
-
editable:
|
|
86
|
+
value: n,
|
|
87
|
+
...i,
|
|
88
|
+
editable: s,
|
|
68
89
|
originalNode: u,
|
|
69
|
-
index:
|
|
70
|
-
renderIndex:
|
|
71
|
-
path: [...
|
|
90
|
+
index: i.rowIndex,
|
|
91
|
+
renderIndex: i.rowIndex,
|
|
92
|
+
path: [...a, String(x)]
|
|
72
93
|
}));
|
|
73
|
-
const l =
|
|
74
|
-
return !l.__skipNextRefresh?.[f] &&
|
|
75
|
-
|
|
76
|
-
rowNodes: [
|
|
77
|
-
columns: [
|
|
94
|
+
const l = o.node, f = o.column.getColId(), m = l.__prevEditable?.[f];
|
|
95
|
+
return !l.__skipNextRefresh?.[f] && D(m) && m !== s && (I(l, f, !0), setTimeout(() => {
|
|
96
|
+
o?.api.refreshCells({
|
|
97
|
+
rowNodes: [o.node],
|
|
98
|
+
columns: [o.column.getColId()],
|
|
78
99
|
force: !0
|
|
79
|
-
}),
|
|
80
|
-
}, 0)),
|
|
100
|
+
}), I(l, f, !1);
|
|
101
|
+
}, 0)), G(l, f, s), u;
|
|
81
102
|
},
|
|
82
|
-
_path: [...
|
|
103
|
+
_path: [...a]
|
|
83
104
|
};
|
|
84
105
|
}
|
|
85
|
-
return
|
|
86
|
-
const e = t.columns;
|
|
87
|
-
if (!e)
|
|
88
|
-
return [];
|
|
89
|
-
function s(o) {
|
|
90
|
-
return o.map((d) => ({
|
|
91
|
-
...d,
|
|
92
|
-
_requireMark: A(d),
|
|
93
|
-
children: s(d.children || []),
|
|
94
|
-
// 处理可编辑/不可编辑下的单元格渲染
|
|
95
|
-
...I(d)
|
|
96
|
-
}));
|
|
97
|
-
}
|
|
98
|
-
return s(e);
|
|
99
|
-
});
|
|
106
|
+
return _;
|
|
100
107
|
};
|
|
101
108
|
export {
|
|
102
|
-
|
|
103
|
-
|
|
109
|
+
Q as default,
|
|
110
|
+
Q as useGetEditableColumns
|
|
104
111
|
};
|