@aplus-frontend/ui 7.19.5 → 7.19.7
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 +66 -62
- package/es/src/ag-grid/editable/index.vue.mjs +56 -52
- package/es/src/ag-grid/editable/interface.d.ts +10 -1
- package/es/src/ag-grid/hooks/use-editable-api.d.ts +2 -0
- package/es/src/ag-grid/hooks/use-editable-api.mjs +118 -94
- package/es/src/ag-grid/hooks/use-editable-columns.mjs +2 -1
- package/es/src/ag-grid/hooks/use-editable-form-item-api.d.ts +2 -0
- package/es/src/ag-grid/hooks/use-editable-form-item-api.mjs +123 -99
- 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 +10 -1
- package/lib/src/ag-grid/hooks/use-editable-api.d.ts +2 -0
- package/lib/src/ag-grid/hooks/use-editable-api.js +1 -1
- package/lib/src/ag-grid/hooks/use-editable-columns.js +1 -1
- package/lib/src/ag-grid/hooks/use-editable-form-item-api.d.ts +2 -0
- package/lib/src/ag-grid/hooks/use-editable-form-item-api.js +1 -1
- package/lib/src/version.d.ts +1 -1
- package/lib/src/version.js +1 -1
- package/package.json +3 -3
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { cloneDeep as u, isEqual as
|
|
1
|
+
import { defineComponent as W, useSlots as $, ref as g, onMounted as q, watch as J, unref as r, createElementBlock as Q, openBlock as X, Fragment as Y, createVNode as f, mergeProps as h, withCtx as C, createSlots as Z, renderList as ee, renderSlot as oe, normalizeProps as te, guardReactiveProps as ae } from "vue";
|
|
2
|
+
import { cloneDeep as u, isEqual as ne, omit as le } from "lodash-unified";
|
|
3
3
|
import { ApForm as R } from "../../ap-form/index.mjs";
|
|
4
|
-
import { useInjectForm as
|
|
5
|
-
import { useWatch as
|
|
6
|
-
import { getModelValue as
|
|
7
|
-
import { transformValues as
|
|
4
|
+
import { useInjectForm as re } from "../../ap-form/context.mjs";
|
|
5
|
+
import { useWatch as se } from "../../ap-form/hooks/use-watch.mjs";
|
|
6
|
+
import { getModelValue as ie } from "../../ap-form/utils/get.mjs";
|
|
7
|
+
import { transformValues as me } from "../../ap-form/utils/transform.mjs";
|
|
8
8
|
import "../../config-provider/index.mjs";
|
|
9
|
-
import { useGetEditableColumns as
|
|
10
|
-
import { useEditableFormItemApi as
|
|
9
|
+
import { useGetEditableColumns as ue } from "../hooks/use-editable-columns.mjs";
|
|
10
|
+
import { useEditableFormItemApi as de } from "../hooks/use-editable-form-item-api.mjs";
|
|
11
11
|
import "../index.vue2.mjs";
|
|
12
|
-
import
|
|
13
|
-
import { getShadowName as
|
|
14
|
-
import { getColumnTransformOptions as
|
|
15
|
-
import { useNamespace as
|
|
16
|
-
import { useGlobalConfig as
|
|
17
|
-
import
|
|
18
|
-
const
|
|
12
|
+
import pe from "../style/editable.mjs";
|
|
13
|
+
import { getShadowName as fe } from "../utils.mjs";
|
|
14
|
+
import { getColumnTransformOptions as ce, arrayToObject as b, getRowKey as we } from "./utils.mjs";
|
|
15
|
+
import { useNamespace as ye } from "../../config-provider/hooks/use-namespace.mjs";
|
|
16
|
+
import { useGlobalConfig as ge } from "../../config-provider/hooks/use-global-config.mjs";
|
|
17
|
+
import he from "../index.vue.mjs";
|
|
18
|
+
const ke = /* @__PURE__ */ W({
|
|
19
19
|
name: "EditableGrid",
|
|
20
20
|
__name: "form-item",
|
|
21
21
|
props: {
|
|
@@ -142,50 +142,52 @@ const Ke = /* @__PURE__ */ G({
|
|
|
142
142
|
name: {},
|
|
143
143
|
formItem: {}
|
|
144
144
|
},
|
|
145
|
-
setup(
|
|
146
|
-
expose:
|
|
145
|
+
setup(B, {
|
|
146
|
+
expose: v
|
|
147
147
|
}) {
|
|
148
|
-
const x =
|
|
148
|
+
const x = $(), t = B, {
|
|
149
149
|
b: S
|
|
150
|
-
} =
|
|
150
|
+
} = ye("editable-aggrid"), I = pe("editable-aggrid"), m = g(), {
|
|
151
151
|
internalInstance: n
|
|
152
|
-
} =
|
|
152
|
+
} = re();
|
|
153
153
|
function F(e) {
|
|
154
|
-
const o =
|
|
154
|
+
const o = ce(t.columns || []);
|
|
155
155
|
if (!Object.keys(o).length || !e?.length)
|
|
156
156
|
return e;
|
|
157
157
|
let a = [];
|
|
158
158
|
for (const i of e)
|
|
159
|
-
a.push(
|
|
159
|
+
a.push(me(i, o));
|
|
160
160
|
return a;
|
|
161
161
|
}
|
|
162
|
-
const s =
|
|
162
|
+
const s = fe(t.name);
|
|
163
163
|
let c = [];
|
|
164
|
-
|
|
165
|
-
const e = t.formItem?.initialValue ??
|
|
166
|
-
e && (n?.updateInitialModel(s, b(u(e), t.rowKey)), c = u(e), l.value ||
|
|
164
|
+
q(() => {
|
|
165
|
+
const e = t.formItem?.initialValue ?? ie(n?.getInitialValues() ?? {}, t.name);
|
|
166
|
+
e && (n?.updateInitialModel(s, b(u(e), t.rowKey)), c = u(e), l.value || _(u(e), "suffix", !0));
|
|
167
167
|
});
|
|
168
|
-
const l = g([]), T =
|
|
169
|
-
|
|
170
|
-
|
|
168
|
+
const l = g([]), T = se(t.name);
|
|
169
|
+
J(() => T.value, (e) => {
|
|
170
|
+
ne(e, l.value) || w(e ?? u(c));
|
|
171
171
|
}, {
|
|
172
172
|
deep: !0,
|
|
173
173
|
flush: "post",
|
|
174
174
|
immediate: !0
|
|
175
175
|
});
|
|
176
|
-
const E =
|
|
177
|
-
add:
|
|
178
|
-
addMultiple:
|
|
179
|
-
__addMultiple:
|
|
180
|
-
remove:
|
|
181
|
-
removeByKey:
|
|
182
|
-
getRowData:
|
|
176
|
+
const E = ge("valueTypeMap"), V = ue(t, E, s), {
|
|
177
|
+
add: K,
|
|
178
|
+
addMultiple: N,
|
|
179
|
+
__addMultiple: _,
|
|
180
|
+
remove: D,
|
|
181
|
+
removeByKey: j,
|
|
182
|
+
getRowData: k,
|
|
183
183
|
getRowsData: O,
|
|
184
|
-
|
|
185
|
-
|
|
184
|
+
getRowDataByKey: z,
|
|
185
|
+
setRowData: H,
|
|
186
|
+
setRowDataByKey: L,
|
|
187
|
+
clear: M,
|
|
186
188
|
refreshRowIds: d
|
|
187
|
-
} =
|
|
188
|
-
function
|
|
189
|
+
} = de(t, n, l, s);
|
|
190
|
+
function P() {
|
|
189
191
|
const e = m.value?._internalGridApi;
|
|
190
192
|
if (!d.value?.length || !e)
|
|
191
193
|
return;
|
|
@@ -204,34 +206,36 @@ const Ke = /* @__PURE__ */ G({
|
|
|
204
206
|
const a = e === "end" ? l.value.length - 1 : e;
|
|
205
207
|
m.value?.scrollToRow(a, o);
|
|
206
208
|
}
|
|
207
|
-
function
|
|
209
|
+
function A(e, o) {
|
|
208
210
|
m.value?.scrollToColumn(e, o);
|
|
209
211
|
}
|
|
210
|
-
function
|
|
212
|
+
function G(e, o) {
|
|
211
213
|
const a = [s, String(e), o].flat();
|
|
212
214
|
return n?.validateFields([a]);
|
|
213
215
|
}
|
|
214
|
-
function
|
|
215
|
-
const a = r(l).map((i, p) => [s, String(
|
|
216
|
+
function U(e) {
|
|
217
|
+
const a = r(l).map((i, p) => [s, String(we(i, p, t.rowKey)), e].flat());
|
|
216
218
|
return n?.validateFields(a);
|
|
217
219
|
}
|
|
218
|
-
return
|
|
219
|
-
add:
|
|
220
|
-
addMultiple:
|
|
221
|
-
remove:
|
|
222
|
-
removeByKey:
|
|
223
|
-
getRowData:
|
|
220
|
+
return v({
|
|
221
|
+
add: K,
|
|
222
|
+
addMultiple: N,
|
|
223
|
+
remove: D,
|
|
224
|
+
removeByKey: j,
|
|
225
|
+
getRowData: k,
|
|
224
226
|
getRowsData: O,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
+
getRowDataByKey: z,
|
|
228
|
+
setRowData: H,
|
|
229
|
+
clear: M,
|
|
227
230
|
setTableData: w,
|
|
228
231
|
scrollTo: y,
|
|
229
232
|
scrollToRow: y,
|
|
230
|
-
scrollToColumn:
|
|
231
|
-
validateCell:
|
|
232
|
-
validateColumn:
|
|
233
|
+
scrollToColumn: A,
|
|
234
|
+
validateCell: G,
|
|
235
|
+
validateColumn: U,
|
|
236
|
+
setRowDataByKey: L,
|
|
233
237
|
table: m
|
|
234
|
-
}), (e, o) => (
|
|
238
|
+
}), (e, o) => (X(), Q(Y, null, [f(r(R).FormItem, {
|
|
235
239
|
hidden: "",
|
|
236
240
|
name: e.name,
|
|
237
241
|
"initial-value": e.formItem?.initialValue,
|
|
@@ -239,7 +243,7 @@ const Ke = /* @__PURE__ */ G({
|
|
|
239
243
|
}, null, 8, ["name", "initial-value"]), f(r(R).FormItem, h({
|
|
240
244
|
label: e.label
|
|
241
245
|
}, e.formItem), {
|
|
242
|
-
default: C(() => [f(
|
|
246
|
+
default: C(() => [f(he, h(r(le)(t, ["name", "maxLength", "onChange", "defaultValue", "formItem"]), {
|
|
243
247
|
ref_key: "tableRef",
|
|
244
248
|
ref: m,
|
|
245
249
|
class: [r(S)(), r(I)],
|
|
@@ -247,17 +251,17 @@ const Ke = /* @__PURE__ */ G({
|
|
|
247
251
|
columns: r(V),
|
|
248
252
|
"data-source": l.value,
|
|
249
253
|
"search-form": !1,
|
|
250
|
-
onUpdate:
|
|
251
|
-
}),
|
|
254
|
+
onUpdate: P
|
|
255
|
+
}), Z({
|
|
252
256
|
_: 2
|
|
253
|
-
}, [
|
|
257
|
+
}, [ee(x, (a, i) => ({
|
|
254
258
|
name: i,
|
|
255
|
-
fn: C((p) => [
|
|
259
|
+
fn: C((p) => [oe(e.$slots, i, te(ae(p || {})))])
|
|
256
260
|
}))]), 1040, ["class", "columns", "data-source"])]),
|
|
257
261
|
_: 3
|
|
258
262
|
}, 16, ["label"])], 64));
|
|
259
263
|
}
|
|
260
264
|
});
|
|
261
265
|
export {
|
|
262
|
-
|
|
266
|
+
ke as default
|
|
263
267
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { isEqual as
|
|
1
|
+
import { defineComponent as q, useSlots as J, ref as h, watch as Q, unref as l, createBlock as X, openBlock as Y, withCtx as m, createVNode as b, mergeProps as Z, createSlots as ee, renderList as oe, renderSlot as ae, normalizeProps as te, guardReactiveProps as ne } from "vue";
|
|
2
|
+
import { isEqual as le, isArray as v, omit as re } from "lodash-unified";
|
|
3
3
|
import { ApForm as c } from "../../ap-form/index.mjs";
|
|
4
4
|
import "../../config-provider/index.mjs";
|
|
5
5
|
import "../../hooks/index.mjs";
|
|
6
|
-
import { useEditableApi as
|
|
7
|
-
import { useGetEditableColumns as
|
|
6
|
+
import { useEditableApi as se } from "../hooks/use-editable-api.mjs";
|
|
7
|
+
import { useGetEditableColumns as ie } from "../hooks/use-editable-columns.mjs";
|
|
8
8
|
import "../index.vue2.mjs";
|
|
9
|
-
import
|
|
10
|
-
import { arrayToObject as f, getRowKey as
|
|
11
|
-
import { useNamespace as
|
|
12
|
-
import { useControllableValue as
|
|
13
|
-
import { useGlobalConfig as
|
|
14
|
-
import
|
|
15
|
-
const
|
|
9
|
+
import de from "../style/editable.mjs";
|
|
10
|
+
import { arrayToObject as f, getRowKey as ue } from "./utils.mjs";
|
|
11
|
+
import { useNamespace as pe } from "../../config-provider/hooks/use-namespace.mjs";
|
|
12
|
+
import { useControllableValue as me } from "../../hooks/useControllableValue.mjs";
|
|
13
|
+
import { useGlobalConfig as ce } from "../../config-provider/hooks/use-global-config.mjs";
|
|
14
|
+
import fe from "../index.vue.mjs";
|
|
15
|
+
const Ke = /* @__PURE__ */ q({
|
|
16
16
|
name: "EditableGrid",
|
|
17
17
|
__name: "index",
|
|
18
18
|
props: {
|
|
@@ -146,30 +146,32 @@ const Fe = /* @__PURE__ */ M({
|
|
|
146
146
|
expose: x,
|
|
147
147
|
emit: B
|
|
148
148
|
}) {
|
|
149
|
-
const S =
|
|
149
|
+
const S = J(), a = C, {
|
|
150
150
|
b: T
|
|
151
|
-
} =
|
|
151
|
+
} = pe("editable-aggrid"), F = de("editable-aggrid"), _ = B, i = h(), {
|
|
152
152
|
value: s,
|
|
153
153
|
updateValue: y
|
|
154
|
-
} =
|
|
155
|
-
|
|
154
|
+
} = me(a, _), r = h(), K = c.useWatch(a.name, r);
|
|
155
|
+
Q(s, (e) => {
|
|
156
156
|
const o = f(e, a.rowKey);
|
|
157
|
-
|
|
157
|
+
le(o, l(K)) || r.value?.setFieldValue(a.name, o);
|
|
158
158
|
}, {
|
|
159
159
|
deep: !0
|
|
160
160
|
});
|
|
161
|
-
const
|
|
161
|
+
const E = ce("valueTypeMap"), k = ie(a, E), {
|
|
162
162
|
add: A,
|
|
163
|
-
addMultiple:
|
|
164
|
-
remove:
|
|
165
|
-
removeByKey:
|
|
166
|
-
getRowData:
|
|
167
|
-
getRowsData:
|
|
168
|
-
|
|
169
|
-
|
|
163
|
+
addMultiple: D,
|
|
164
|
+
remove: N,
|
|
165
|
+
removeByKey: j,
|
|
166
|
+
getRowData: I,
|
|
167
|
+
getRowsData: V,
|
|
168
|
+
getRowDataByKey: z,
|
|
169
|
+
setRowData: H,
|
|
170
|
+
setRowDataByKey: O,
|
|
171
|
+
clear: U,
|
|
170
172
|
refreshRowIds: d
|
|
171
|
-
} =
|
|
172
|
-
function
|
|
173
|
+
} = se(a, r, s, y);
|
|
174
|
+
function L() {
|
|
173
175
|
const e = i.value?._internalGridApi;
|
|
174
176
|
if (!d.value?.length || !e)
|
|
175
177
|
return;
|
|
@@ -179,7 +181,7 @@ const Fe = /* @__PURE__ */ M({
|
|
|
179
181
|
force: !0
|
|
180
182
|
}), d.value = [];
|
|
181
183
|
}
|
|
182
|
-
function
|
|
184
|
+
function P() {
|
|
183
185
|
r.value?.resetFields();
|
|
184
186
|
}
|
|
185
187
|
function w(e) {
|
|
@@ -187,21 +189,21 @@ const Fe = /* @__PURE__ */ M({
|
|
|
187
189
|
}
|
|
188
190
|
function g(e) {
|
|
189
191
|
try {
|
|
190
|
-
const o = Object.keys(e), t = s.value.map((n) =>
|
|
192
|
+
const o = Object.keys(e), t = s.value.map((n) => ue(n, void 0, a.rowKey));
|
|
191
193
|
return o.sort((n, u) => t.findIndex((p) => String(p) === n) - t.findIndex((p) => String(p) === u)), o.map((n) => e[n]);
|
|
192
194
|
} catch {
|
|
193
195
|
return e;
|
|
194
196
|
}
|
|
195
197
|
}
|
|
196
|
-
async function
|
|
198
|
+
async function G(e, o) {
|
|
197
199
|
const n = (await r.value?.validateFields(w(e), o))?.[a.name];
|
|
198
200
|
return g(n);
|
|
199
201
|
}
|
|
200
|
-
async function
|
|
202
|
+
async function W(e, o) {
|
|
201
203
|
const n = (await r.value?.validateFieldsReturnTransformed(w(e), o))?.[a.name];
|
|
202
204
|
return g(n);
|
|
203
205
|
}
|
|
204
|
-
function
|
|
206
|
+
function M(e) {
|
|
205
207
|
y(e);
|
|
206
208
|
const o = f(e, a.rowKey);
|
|
207
209
|
r.value?.setFieldValue(a.name, o);
|
|
@@ -210,27 +212,29 @@ const Fe = /* @__PURE__ */ M({
|
|
|
210
212
|
const t = e === "end" ? s.value.length - 1 : e;
|
|
211
213
|
i.value?.scrollToRow(t, o);
|
|
212
214
|
}
|
|
213
|
-
function
|
|
215
|
+
function $(e, o) {
|
|
214
216
|
i.value?.scrollToColumn(e, o);
|
|
215
217
|
}
|
|
216
218
|
return x({
|
|
217
|
-
resetFields:
|
|
218
|
-
validateFields:
|
|
219
|
-
validateFieldsReturnTransformed:
|
|
219
|
+
resetFields: P,
|
|
220
|
+
validateFields: G,
|
|
221
|
+
validateFieldsReturnTransformed: W,
|
|
220
222
|
add: A,
|
|
221
|
-
addMultiple:
|
|
222
|
-
remove:
|
|
223
|
-
removeByKey:
|
|
224
|
-
getRowData:
|
|
225
|
-
getRowsData:
|
|
226
|
-
setRowData:
|
|
227
|
-
clear:
|
|
228
|
-
setTableData:
|
|
223
|
+
addMultiple: D,
|
|
224
|
+
remove: N,
|
|
225
|
+
removeByKey: j,
|
|
226
|
+
getRowData: I,
|
|
227
|
+
getRowsData: V,
|
|
228
|
+
setRowData: H,
|
|
229
|
+
clear: U,
|
|
230
|
+
setTableData: M,
|
|
229
231
|
scrollTo: R,
|
|
230
232
|
scrollToRow: R,
|
|
231
|
-
scrollToColumn:
|
|
232
|
-
table: i
|
|
233
|
-
|
|
233
|
+
scrollToColumn: $,
|
|
234
|
+
table: i,
|
|
235
|
+
getRowDataByKey: z,
|
|
236
|
+
setRowDataByKey: O
|
|
237
|
+
}), (e, o) => (Y(), X(l(c), {
|
|
234
238
|
ref_key: "formRef",
|
|
235
239
|
ref: r,
|
|
236
240
|
"initial-values": {
|
|
@@ -244,7 +248,7 @@ const Fe = /* @__PURE__ */ M({
|
|
|
244
248
|
name: e.name,
|
|
245
249
|
"no-style": ""
|
|
246
250
|
}, {
|
|
247
|
-
default: m(() => [b(
|
|
251
|
+
default: m(() => [b(fe, Z(l(re)(a, ["name", "value", "onUpdate:value", "maxLength", "onChange", "defaultValue"]), {
|
|
248
252
|
ref_key: "tableRef",
|
|
249
253
|
ref: i,
|
|
250
254
|
class: [l(T)(), l(F)],
|
|
@@ -252,12 +256,12 @@ const Fe = /* @__PURE__ */ M({
|
|
|
252
256
|
columns: l(k),
|
|
253
257
|
"data-source": l(s),
|
|
254
258
|
"search-form": !1,
|
|
255
|
-
onUpdate:
|
|
256
|
-
}),
|
|
259
|
+
onUpdate: L
|
|
260
|
+
}), ee({
|
|
257
261
|
_: 2
|
|
258
|
-
}, [
|
|
262
|
+
}, [oe(S, (t, n) => ({
|
|
259
263
|
name: n,
|
|
260
|
-
fn: m((u) => [
|
|
264
|
+
fn: m((u) => [ae(e.$slots, n, te(ne(u || {})))])
|
|
261
265
|
}))]), 1040, ["class", "columns", "data-source"])]),
|
|
262
266
|
_: 3
|
|
263
267
|
}, 8, ["name"])]),
|
|
@@ -266,5 +270,5 @@ const Fe = /* @__PURE__ */ M({
|
|
|
266
270
|
}
|
|
267
271
|
});
|
|
268
272
|
export {
|
|
269
|
-
|
|
273
|
+
Ke as default
|
|
270
274
|
};
|
|
@@ -77,7 +77,7 @@ export type EditableAgGridProps<RecordType = any> = Omit<AgGridProps<RecordType>
|
|
|
77
77
|
* 当字段值变更的时候触发(注意,向表单设置值并不会触发)
|
|
78
78
|
* @returns
|
|
79
79
|
*/
|
|
80
|
-
onFieldChange?: (rowIndex: number, fieldName: DataIndex, newValue: any) => void;
|
|
80
|
+
onFieldChange?: (rowIndex: number, fieldName: DataIndex, newValue: any, record: RecordType) => void;
|
|
81
81
|
/**
|
|
82
82
|
* 是否禁止在行操作后(添加/删除行等)避免强制更新
|
|
83
83
|
* 默认情况下,表格行会在行操作后强制更新哪些受到影响的行来保证渲染始终是正确的,但这样会导致表单校验被清空、频繁更新导致渲染性能下降等问题
|
|
@@ -95,6 +95,15 @@ export type EditableAgGridExpose<RecordType = any, ModelType = RecordType[]> = O
|
|
|
95
95
|
remove: (data: RecordType | RecordType[]) => void;
|
|
96
96
|
validateFieldsReturnTransformed: EditableTableExpose<ModelType, RecordType>['validateFields'];
|
|
97
97
|
table: AgGridExpose;
|
|
98
|
+
getRowDataByKey: (key: string | number) => RecordType | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* 设置表格行数据(通过行key)
|
|
101
|
+
* @param key
|
|
102
|
+
* @param data
|
|
103
|
+
* @param merge 是否进行数据的浅层合并(默认为true)
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
setRowDataByKey: (key: any, data: Partial<RecordType>, merge?: boolean) => void;
|
|
98
107
|
};
|
|
99
108
|
export type EditableAgGridFormItemExpose<RecordType = any, ModelType = RecordType[]> = Omit<EditableAgGridExpose<RecordType, ModelType>, 'resetFields' | 'validateFields' | 'validateFieldsReturnTransformed'> & {
|
|
100
109
|
/**
|
|
@@ -9,7 +9,9 @@ export declare const useEditableApi: <RecordType>(props: EditableAgGridProps<Rec
|
|
|
9
9
|
removeByKey: (key: Key | Key[]) => void;
|
|
10
10
|
getRowData: (index: number) => RecordType;
|
|
11
11
|
getRowsData: () => RecordType[];
|
|
12
|
+
setRowDataByKey: (key: any, payload: any, merge?: boolean) => void;
|
|
12
13
|
setRowData: (index: string | number, payload: any, merge?: boolean) => void;
|
|
13
14
|
clear: () => void;
|
|
14
15
|
refreshRowIds: ShallowRef<string[], string[]>;
|
|
16
|
+
getRowDataByKey: (key: Key) => RecordType | undefined;
|
|
15
17
|
};
|
|
@@ -1,151 +1,175 @@
|
|
|
1
|
-
import { isFunction as h, isUndefined as
|
|
2
|
-
import { shallowRef as
|
|
1
|
+
import { isFunction as h, isUndefined as z, isNumber as m, cloneDeep as A, isArray as x, isString as E } from "lodash-unified";
|
|
2
|
+
import { shallowRef as N, computed as U, unref as d, isRef as $ } from "vue";
|
|
3
3
|
import "../../utils/index.mjs";
|
|
4
|
-
import { arrayToObject as
|
|
5
|
-
import { isDef as
|
|
6
|
-
let
|
|
7
|
-
function
|
|
8
|
-
return `_ag_grid${
|
|
4
|
+
import { arrayToObject as q } from "../editable/utils.mjs";
|
|
5
|
+
import { isDef as R } from "../../utils/is.mjs";
|
|
6
|
+
let C = 0;
|
|
7
|
+
function F() {
|
|
8
|
+
return `_ag_grid${C++}`;
|
|
9
9
|
}
|
|
10
|
-
const
|
|
11
|
-
const w =
|
|
12
|
-
function
|
|
13
|
-
const
|
|
14
|
-
if (
|
|
10
|
+
const W = (i, K, f, g) => {
|
|
11
|
+
const w = N([]), y = U(() => $(K) ? d(K) : K);
|
|
12
|
+
function I(n, o) {
|
|
13
|
+
const r = d(f)?.length || 0;
|
|
14
|
+
if (R(i.maxLength) && r >= i.maxLength || !n && h(i.rowKey))
|
|
15
15
|
return;
|
|
16
|
-
const
|
|
17
|
-
...
|
|
16
|
+
const u = {
|
|
17
|
+
...n || { [i.rowKey]: F() }
|
|
18
18
|
};
|
|
19
19
|
y.value?.setFieldValue?.(
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
i.name,
|
|
21
|
+
u,
|
|
22
22
|
!0,
|
|
23
|
-
(
|
|
24
|
-
const e = c(
|
|
25
|
-
if (
|
|
26
|
-
|
|
23
|
+
(t, s) => {
|
|
24
|
+
const e = c(u, void 0, i.rowKey);
|
|
25
|
+
if (t[s] ? t[s][e] = u : t[s] = { [e]: u }, !f.value) {
|
|
26
|
+
f.value = [u];
|
|
27
27
|
return;
|
|
28
28
|
}
|
|
29
|
-
|
|
30
|
-
(
|
|
31
|
-
).filter(Boolean),
|
|
29
|
+
z(o) ? f.value.push(u) : (w.value = f.value.map(
|
|
30
|
+
(l, v) => v < o ? null : c(l, v, i.rowKey)
|
|
31
|
+
).filter(Boolean), f.value.splice(o, 0, u));
|
|
32
32
|
}
|
|
33
33
|
);
|
|
34
34
|
}
|
|
35
|
-
function j(
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
35
|
+
function j(n, o = "suffix") {
|
|
36
|
+
const r = d(f)?.length || 0, u = m(n) ? n : n.length;
|
|
37
|
+
if (R(i.maxLength) && r + u > i.maxLength || m(n) && h(i.rowKey))
|
|
38
38
|
return;
|
|
39
|
-
const
|
|
39
|
+
const t = m(n) ? new Array(n).fill(0).map(() => ({ [i.rowKey]: F() })) : A(n), s = q(t, i.rowKey);
|
|
40
40
|
y.value?.setFieldValue?.(
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
i.name,
|
|
42
|
+
t,
|
|
43
43
|
!0,
|
|
44
|
-
(e,
|
|
45
|
-
if (e[
|
|
46
|
-
|
|
44
|
+
(e, l) => {
|
|
45
|
+
if (e[l] ? Object.assign(e[l], s) : e[l] = s, !f.value) {
|
|
46
|
+
f.value = [...t];
|
|
47
47
|
return;
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
(v,
|
|
51
|
-
),
|
|
49
|
+
o === "suffix" ? f.value.push(...t) : (w.value = f.value.map(
|
|
50
|
+
(v, S) => c(v, S, i.rowKey)
|
|
51
|
+
), f.value.unshift(...t));
|
|
52
52
|
}
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
|
-
function
|
|
56
|
-
const
|
|
55
|
+
function O(n) {
|
|
56
|
+
const o = x(n) ? n : [n];
|
|
57
57
|
y.value?.setFieldValue?.(
|
|
58
|
-
|
|
58
|
+
i.name,
|
|
59
59
|
void 0,
|
|
60
60
|
!0,
|
|
61
|
-
(
|
|
62
|
-
for (const e of
|
|
63
|
-
const
|
|
64
|
-
delete
|
|
61
|
+
(r, u) => {
|
|
62
|
+
for (const e of o) {
|
|
63
|
+
const l = c(e, void 0, i.rowKey);
|
|
64
|
+
delete r[u][l];
|
|
65
65
|
}
|
|
66
|
-
const
|
|
67
|
-
(e) => !
|
|
68
|
-
), s =
|
|
69
|
-
(e) =>
|
|
66
|
+
const t = f.value.filter(
|
|
67
|
+
(e) => !o.includes(e)
|
|
68
|
+
), s = f.value.findIndex(
|
|
69
|
+
(e) => o.includes(e)
|
|
70
70
|
);
|
|
71
|
-
w.value =
|
|
72
|
-
(e,
|
|
73
|
-
).filter(Boolean), g?.(
|
|
71
|
+
w.value = f.value.map(
|
|
72
|
+
(e, l) => l <= s ? null : c(e, l, i.rowKey)
|
|
73
|
+
).filter(Boolean), g?.(t);
|
|
74
74
|
}
|
|
75
75
|
);
|
|
76
76
|
}
|
|
77
|
-
function c(
|
|
78
|
-
if (
|
|
79
|
-
return
|
|
77
|
+
function c(n, o, r) {
|
|
78
|
+
if (r)
|
|
79
|
+
return E(r) ? n[r] : r(n, o);
|
|
80
80
|
}
|
|
81
|
-
function
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
function k(n) {
|
|
82
|
+
const o = new Set(x(n) ? n : [n]);
|
|
83
|
+
o.size !== 0 && y.value?.setFieldValue?.(
|
|
84
|
+
i.name,
|
|
85
85
|
void 0,
|
|
86
86
|
!0,
|
|
87
|
-
(
|
|
88
|
-
for (const e of
|
|
89
|
-
delete
|
|
90
|
-
const
|
|
91
|
-
(e,
|
|
92
|
-
), s =
|
|
93
|
-
(e,
|
|
87
|
+
(r, u) => {
|
|
88
|
+
for (const e of o)
|
|
89
|
+
delete r[u][e];
|
|
90
|
+
const t = f.value.filter(
|
|
91
|
+
(e, l) => !o.has(c(e, l, i.rowKey))
|
|
92
|
+
), s = f.value.findIndex(
|
|
93
|
+
(e, l) => o.has(c(e, l, i.rowKey))
|
|
94
94
|
);
|
|
95
|
-
w.value =
|
|
96
|
-
(e,
|
|
97
|
-
).filter(Boolean), g?.(
|
|
95
|
+
w.value = f.value.map(
|
|
96
|
+
(e, l) => l <= s ? null : c(e, l, i.rowKey)
|
|
97
|
+
).filter(Boolean), g?.(t);
|
|
98
98
|
}
|
|
99
99
|
);
|
|
100
100
|
}
|
|
101
|
-
function
|
|
102
|
-
return d(
|
|
101
|
+
function B(n) {
|
|
102
|
+
return d(f)?.[n];
|
|
103
103
|
}
|
|
104
|
-
function V() {
|
|
105
|
-
return
|
|
104
|
+
function V(n) {
|
|
105
|
+
return f.value?.find(
|
|
106
|
+
(o, r) => c(o, r, i.rowKey) === n
|
|
107
|
+
);
|
|
108
|
+
}
|
|
109
|
+
function a() {
|
|
110
|
+
return d(f);
|
|
106
111
|
}
|
|
107
|
-
function
|
|
112
|
+
function L(n, o, r = !0) {
|
|
108
113
|
y.value?.setFieldValue?.(
|
|
109
|
-
|
|
114
|
+
i.name,
|
|
110
115
|
void 0,
|
|
111
116
|
!0,
|
|
112
|
-
(
|
|
113
|
-
const s =
|
|
114
|
-
(
|
|
117
|
+
(u, t) => {
|
|
118
|
+
const s = f.value.findIndex(
|
|
119
|
+
(l, v) => n === v
|
|
115
120
|
);
|
|
116
121
|
if (!~s)
|
|
117
122
|
return;
|
|
118
123
|
const e = c(
|
|
119
|
-
|
|
124
|
+
f.value[s],
|
|
120
125
|
s,
|
|
121
|
-
|
|
126
|
+
i.rowKey
|
|
122
127
|
);
|
|
123
|
-
if (e && !(!
|
|
124
|
-
if (!
|
|
125
|
-
const
|
|
126
|
-
for (const v of
|
|
127
|
-
v !==
|
|
128
|
+
if (e && !(!u[t] || !u[t][e])) {
|
|
129
|
+
if (!r) {
|
|
130
|
+
const l = Object.keys(u[t][e]);
|
|
131
|
+
for (const v of l)
|
|
132
|
+
v !== i.rowKey && delete u[t][e][v];
|
|
128
133
|
}
|
|
129
|
-
Object.assign(
|
|
134
|
+
Object.assign(u[t][e], { ...o });
|
|
130
135
|
}
|
|
131
136
|
}
|
|
132
137
|
);
|
|
133
138
|
}
|
|
134
|
-
function
|
|
135
|
-
y.value?.setFieldValue?.(
|
|
139
|
+
function T(n, o, r = !0) {
|
|
140
|
+
y.value?.setFieldValue?.(
|
|
141
|
+
i.name,
|
|
142
|
+
void 0,
|
|
143
|
+
!0,
|
|
144
|
+
(u, t) => {
|
|
145
|
+
if (!(!u[t] || !u[t][n])) {
|
|
146
|
+
if (!r) {
|
|
147
|
+
const s = Object.keys(u[t][n]);
|
|
148
|
+
for (const e of s)
|
|
149
|
+
e !== i.rowKey && delete u[t][e][e];
|
|
150
|
+
}
|
|
151
|
+
Object.assign(u[t][n], { ...o });
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
function _() {
|
|
157
|
+
y.value?.setFieldValue?.(i.name, {}), g?.([]);
|
|
136
158
|
}
|
|
137
159
|
return {
|
|
138
|
-
add:
|
|
160
|
+
add: I,
|
|
139
161
|
addMultiple: j,
|
|
140
|
-
remove:
|
|
141
|
-
removeByKey:
|
|
142
|
-
getRowData:
|
|
143
|
-
getRowsData:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
162
|
+
remove: O,
|
|
163
|
+
removeByKey: k,
|
|
164
|
+
getRowData: B,
|
|
165
|
+
getRowsData: a,
|
|
166
|
+
setRowDataByKey: T,
|
|
167
|
+
setRowData: L,
|
|
168
|
+
clear: _,
|
|
169
|
+
refreshRowIds: w,
|
|
170
|
+
getRowDataByKey: V
|
|
147
171
|
};
|
|
148
172
|
};
|
|
149
173
|
export {
|
|
150
|
-
|
|
174
|
+
W as useEditableApi
|
|
151
175
|
};
|
|
@@ -10,7 +10,9 @@ export declare const useEditableFormItemApi: <RecordType>(props: EditableAgGridP
|
|
|
10
10
|
removeByKey: (key: Key | Key[]) => void;
|
|
11
11
|
getRowData: (index: number) => RecordType;
|
|
12
12
|
getRowsData: () => RecordType[];
|
|
13
|
+
setRowDataByKey: (key: any, payload: any, merge?: boolean) => void;
|
|
13
14
|
setRowData: (index: number, payload: any, merge?: boolean) => void;
|
|
14
15
|
clear: () => void;
|
|
15
16
|
refreshRowIds: ShallowRef<string[], string[]>;
|
|
17
|
+
getRowDataByKey: (key: Key) => RecordType | undefined;
|
|
16
18
|
};
|
|
@@ -1,181 +1,205 @@
|
|
|
1
|
-
import { isFunction as V, isUndefined as R, isNumber as F, cloneDeep as
|
|
2
|
-
import { shallowRef as
|
|
1
|
+
import { isFunction as V, isUndefined as R, isNumber as F, cloneDeep as q, isArray as j } from "lodash-unified";
|
|
2
|
+
import { shallowRef as C, unref as h } from "vue";
|
|
3
3
|
import "../../utils/index.mjs";
|
|
4
|
-
import { getRowKey as y, arrayToObject as
|
|
5
|
-
import { isDef as
|
|
6
|
-
let
|
|
7
|
-
function
|
|
8
|
-
return `_ag_grid${
|
|
4
|
+
import { getRowKey as y, arrayToObject as G } from "../editable/utils.mjs";
|
|
5
|
+
import { isDef as O } from "../../utils/is.mjs";
|
|
6
|
+
let H = 0;
|
|
7
|
+
function B() {
|
|
8
|
+
return `_ag_grid${H++}`;
|
|
9
9
|
}
|
|
10
|
-
const
|
|
11
|
-
const d =
|
|
12
|
-
function
|
|
13
|
-
const v = h(
|
|
14
|
-
if (
|
|
10
|
+
const Y = (l, r, i, w) => {
|
|
11
|
+
const d = C([]);
|
|
12
|
+
function I(u, t) {
|
|
13
|
+
const v = h(i)?.length || 0;
|
|
14
|
+
if (O(l.maxLength) && v >= l.maxLength || !u && V(l.rowKey))
|
|
15
15
|
return;
|
|
16
|
-
const
|
|
17
|
-
...
|
|
16
|
+
const n = {
|
|
17
|
+
...u || { [l.rowKey]: B() }
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
r?.setFieldValue(
|
|
20
20
|
w,
|
|
21
|
-
|
|
21
|
+
n,
|
|
22
22
|
!1,
|
|
23
|
-
(
|
|
24
|
-
const e = y(
|
|
25
|
-
o
|
|
26
|
-
(
|
|
27
|
-
).filter(Boolean),
|
|
23
|
+
(s, o) => {
|
|
24
|
+
const e = y(n, void 0, l.rowKey);
|
|
25
|
+
s[o] ? s[o][e] = n : s[o] = { [e]: n }, i.value ? R(t) ? i.value.push(n) : (d.value = i.value.map(
|
|
26
|
+
(f, c) => c < t ? null : y(f, c, l.rowKey)
|
|
27
|
+
).filter(Boolean), i.value.splice(t, 0, n)) : i.value = [n], r?.setFieldValue(
|
|
28
28
|
l.name,
|
|
29
|
-
|
|
29
|
+
n,
|
|
30
30
|
!0,
|
|
31
|
-
(
|
|
32
|
-
if (!
|
|
33
|
-
|
|
31
|
+
(f, c) => {
|
|
32
|
+
if (!f[c]) {
|
|
33
|
+
f[c] = [n];
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
|
-
R(t) ?
|
|
36
|
+
R(t) ? f[c].push(n) : f[c].splice(t, 0, n);
|
|
37
37
|
}
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
);
|
|
41
41
|
}
|
|
42
|
-
function x(
|
|
43
|
-
if (!
|
|
42
|
+
function x(u, t = "suffix", v = !1) {
|
|
43
|
+
if (!u)
|
|
44
44
|
return;
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
45
|
+
const n = h(i)?.length || 0, s = F(u) ? u : u.length;
|
|
46
|
+
if (O(l.maxLength) && n + s > l.maxLength || F(u) && V(l.rowKey))
|
|
47
47
|
return;
|
|
48
|
-
const
|
|
49
|
-
|
|
48
|
+
const o = F(u) ? new Array(u).fill(0).map(() => ({ [l.rowKey]: B() })) : q(u), e = G(o, l.rowKey);
|
|
49
|
+
r?.setFieldValue(
|
|
50
50
|
w,
|
|
51
51
|
e,
|
|
52
52
|
!1,
|
|
53
|
-
(
|
|
54
|
-
|
|
55
|
-
(
|
|
56
|
-
),
|
|
53
|
+
(f, c) => {
|
|
54
|
+
f[c] ? Object.assign(f[c], e) : f[c] = e, i.value ? t === "suffix" ? i.value.push(...o) : (d.value = i.value.map(
|
|
55
|
+
(K, g) => y(K, g, l.rowKey)
|
|
56
|
+
), i.value.unshift(...o)) : i.value = [...o], r?.setFieldValue(
|
|
57
57
|
l.name,
|
|
58
|
-
|
|
58
|
+
o,
|
|
59
59
|
!0,
|
|
60
|
-
(
|
|
61
|
-
if (!g
|
|
62
|
-
g
|
|
60
|
+
(K, g) => {
|
|
61
|
+
if (!K[g] || v) {
|
|
62
|
+
K[g] = [...o];
|
|
63
63
|
return;
|
|
64
64
|
}
|
|
65
|
-
t === "suffix" ? g
|
|
65
|
+
t === "suffix" ? K[g].push(...o) : K[g].unshift(...o);
|
|
66
66
|
}
|
|
67
67
|
);
|
|
68
68
|
}
|
|
69
69
|
);
|
|
70
70
|
}
|
|
71
|
-
function
|
|
72
|
-
x(
|
|
71
|
+
function _(u, t = "suffix") {
|
|
72
|
+
x(u, t, !1);
|
|
73
73
|
}
|
|
74
|
-
function
|
|
75
|
-
const t =
|
|
76
|
-
|
|
74
|
+
function k(u) {
|
|
75
|
+
const t = j(u) ? u : [u];
|
|
76
|
+
r?.setFieldValue(
|
|
77
77
|
w,
|
|
78
78
|
void 0,
|
|
79
79
|
!1,
|
|
80
|
-
(v,
|
|
80
|
+
(v, n) => {
|
|
81
81
|
for (const e of t) {
|
|
82
|
-
const
|
|
83
|
-
delete v[
|
|
82
|
+
const f = y(e, void 0, l.rowKey);
|
|
83
|
+
delete v[n][f];
|
|
84
84
|
}
|
|
85
|
-
const
|
|
85
|
+
const s = i.value.filter(
|
|
86
86
|
(e) => !t.includes(e)
|
|
87
|
-
),
|
|
87
|
+
), o = i.value.findIndex(
|
|
88
88
|
(e) => t.includes(e)
|
|
89
89
|
);
|
|
90
|
-
d.value =
|
|
91
|
-
(e,
|
|
92
|
-
).filter(Boolean),
|
|
90
|
+
d.value = i.value.map(
|
|
91
|
+
(e, f) => f <= o ? null : y(e, f, l.rowKey)
|
|
92
|
+
).filter(Boolean), s.length ? i.value = s : i.value.splice(0, i.value.length), r.setFieldValue(
|
|
93
93
|
l.name,
|
|
94
94
|
void 0,
|
|
95
95
|
!0,
|
|
96
|
-
(e,
|
|
97
|
-
e[
|
|
96
|
+
(e, f) => {
|
|
97
|
+
e[f] = [...s];
|
|
98
98
|
}
|
|
99
99
|
);
|
|
100
100
|
}
|
|
101
101
|
);
|
|
102
102
|
}
|
|
103
|
-
function
|
|
104
|
-
const t = new Set(
|
|
105
|
-
t.size !== 0 &&
|
|
103
|
+
function L(u) {
|
|
104
|
+
const t = new Set(j(u) ? u : [u]);
|
|
105
|
+
t.size !== 0 && r?.setFieldValue(
|
|
106
106
|
w,
|
|
107
107
|
void 0,
|
|
108
108
|
!1,
|
|
109
|
-
(v,
|
|
109
|
+
(v, n) => {
|
|
110
110
|
for (const e of t)
|
|
111
|
-
delete v[
|
|
112
|
-
const
|
|
113
|
-
(e,
|
|
114
|
-
),
|
|
115
|
-
(e,
|
|
111
|
+
delete v[n][e];
|
|
112
|
+
const s = i.value.filter(
|
|
113
|
+
(e, f) => !t.has(y(e, f, l.rowKey))
|
|
114
|
+
), o = i.value.findIndex(
|
|
115
|
+
(e, f) => t.has(y(e, f, l.rowKey))
|
|
116
116
|
);
|
|
117
|
-
d.value =
|
|
118
|
-
(e,
|
|
119
|
-
).filter(Boolean),
|
|
117
|
+
d.value = i.value.map(
|
|
118
|
+
(e, f) => f <= o ? null : y(e, f, l.rowKey)
|
|
119
|
+
).filter(Boolean), s.length ? i.value = s : i.value.splice(0, i.value.length), r.setFieldValue(
|
|
120
120
|
l.name,
|
|
121
121
|
void 0,
|
|
122
122
|
!0,
|
|
123
|
-
(e,
|
|
124
|
-
e[
|
|
123
|
+
(e, f) => {
|
|
124
|
+
e[f] = [...s];
|
|
125
125
|
}
|
|
126
126
|
);
|
|
127
127
|
}
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
|
-
function
|
|
131
|
-
return h(
|
|
130
|
+
function T(u) {
|
|
131
|
+
return h(i)?.[u];
|
|
132
132
|
}
|
|
133
|
-
function z() {
|
|
134
|
-
return
|
|
133
|
+
function z(u) {
|
|
134
|
+
return i.value?.find(
|
|
135
|
+
(t, v) => y(t, v, l.rowKey) === u
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
function E() {
|
|
139
|
+
return h(i);
|
|
135
140
|
}
|
|
136
|
-
function
|
|
137
|
-
|
|
141
|
+
function S(u, t, v = !0) {
|
|
142
|
+
r?.setFieldValue?.(
|
|
138
143
|
w,
|
|
139
144
|
void 0,
|
|
140
145
|
!1,
|
|
141
|
-
(
|
|
142
|
-
const
|
|
143
|
-
(
|
|
146
|
+
(n, s) => {
|
|
147
|
+
const o = i.value.findIndex(
|
|
148
|
+
(f, c) => u === c
|
|
144
149
|
);
|
|
145
|
-
if (!~
|
|
150
|
+
if (!~o)
|
|
146
151
|
return;
|
|
147
152
|
const e = y(
|
|
148
|
-
|
|
149
|
-
|
|
153
|
+
i.value[o],
|
|
154
|
+
o,
|
|
150
155
|
l.rowKey
|
|
151
156
|
);
|
|
152
|
-
if (e && !(!
|
|
157
|
+
if (e && !(!n[s] || !n[s][e])) {
|
|
158
|
+
if (!v) {
|
|
159
|
+
const f = Object.keys(n[s][e]);
|
|
160
|
+
for (const c of f)
|
|
161
|
+
c !== l.rowKey && delete n[s][e][c];
|
|
162
|
+
}
|
|
163
|
+
Object.assign(n[s][e], { ...t });
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
);
|
|
167
|
+
}
|
|
168
|
+
function U(u, t, v = !0) {
|
|
169
|
+
r?.setFieldValue?.(
|
|
170
|
+
w,
|
|
171
|
+
void 0,
|
|
172
|
+
!1,
|
|
173
|
+
(n, s) => {
|
|
174
|
+
if (!(!n[s] || !n[s][u])) {
|
|
153
175
|
if (!v) {
|
|
154
|
-
const
|
|
155
|
-
for (const
|
|
156
|
-
|
|
176
|
+
const o = Object.keys(n[s][u]);
|
|
177
|
+
for (const e of o)
|
|
178
|
+
e !== l.rowKey && delete n[s][u][e];
|
|
157
179
|
}
|
|
158
|
-
Object.assign(
|
|
180
|
+
Object.assign(n[s][u], { ...t });
|
|
159
181
|
}
|
|
160
182
|
}
|
|
161
183
|
);
|
|
162
184
|
}
|
|
163
|
-
function
|
|
164
|
-
|
|
185
|
+
function $() {
|
|
186
|
+
r?.setFieldValue(w, {}), r?.setFieldValue(l.name, []);
|
|
165
187
|
}
|
|
166
188
|
return {
|
|
167
|
-
add:
|
|
168
|
-
addMultiple:
|
|
189
|
+
add: I,
|
|
190
|
+
addMultiple: _,
|
|
169
191
|
__addMultiple: x,
|
|
170
|
-
remove:
|
|
171
|
-
removeByKey:
|
|
172
|
-
getRowData:
|
|
173
|
-
getRowsData:
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
192
|
+
remove: k,
|
|
193
|
+
removeByKey: L,
|
|
194
|
+
getRowData: T,
|
|
195
|
+
getRowsData: E,
|
|
196
|
+
setRowDataByKey: U,
|
|
197
|
+
setRowData: S,
|
|
198
|
+
clear: $,
|
|
199
|
+
refreshRowIds: d,
|
|
200
|
+
getRowDataByKey: z
|
|
177
201
|
};
|
|
178
202
|
};
|
|
179
203
|
export {
|
|
180
|
-
|
|
204
|
+
Y as useEditableFormItemApi
|
|
181
205
|
};
|
package/es/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "7.19.
|
|
1
|
+
declare const _default: "7.19.7";
|
|
2
2
|
export default _default;
|
package/es/src/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),i=require("lodash-unified"),y=require("../../ap-form/index.js"),
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=require("vue"),i=require("lodash-unified"),y=require("../../ap-form/index.js"),z=require("../../ap-form/context.js"),H=require("../../ap-form/hooks/use-watch.js"),L=require("../../ap-form/utils/get.js"),G=require("../../ap-form/utils/transform.js");require("../../config-provider/index.js");const U=require("../hooks/use-editable-columns.js"),W=require("../hooks/use-editable-form-item-api.js");require("../index.vue2.js");const $=require("../style/editable.js"),J=require("../utils.js"),c=require("./utils.js"),Q=require("../../config-provider/hooks/use-namespace.js"),X=require("../../config-provider/hooks/use-global-config.js"),Y=require("../index.vue.js"),Z=o.defineComponent({name:"EditableGrid",__name:"form-item",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean},plugins:{},columns:{},defaultValue:{},onChange:{},maxLength:{},onFieldChange:{},supressForceRowUpdate:{type:Boolean,default:!1},label:{},name:{},formItem:{}},setup(h,{expose:b}){const C=o.useSlots(),a=h,{b:R}=Q.useNamespace("editable-aggrid"),v=$.default("editable-aggrid"),d=o.ref(),{internalInstance:l}=z.useInjectForm();function B(e){const t=c.getColumnTransformOptions(a.columns||[]);if(!Object.keys(t).length||!e?.length)return e;let n=[];for(const u of e)n.push(G.transformValues(u,t));return n}const s=J.getShadowName(a.name);let f=[];o.onMounted(()=>{const e=a.formItem?.initialValue??L.getModelValue(l?.getInitialValues()??{},a.name);e&&(l?.updateInitialModel(s,c.arrayToObject(i.cloneDeep(e),a.rowKey)),f=i.cloneDeep(e),r.value||_(i.cloneDeep(e),"suffix",!0))});const r=o.ref([]),x=H.useWatch(a.name);o.watch(()=>x.value,e=>{i.isEqual(e,r.value)||w(e??i.cloneDeep(f))},{deep:!0,flush:"post",immediate:!0});const S=X.useGlobalConfig("valueTypeMap"),q=U.useGetEditableColumns(a,S,s),{add:F,addMultiple:I,__addMultiple:_,remove:T,removeByKey:E,getRowData:N,getRowsData:V,getRowDataByKey:D,setRowData:j,setRowDataByKey:K,clear:O,refreshRowIds:m}=W.useEditableFormItemApi(a,l,r,s);function M(){const e=d.value?._internalGridApi;if(!m.value?.length||!e)return;const t=m.value.map(n=>e.getRowNode(n)).filter(n=>!!n);a.supressForceRowUpdate||e.refreshCells({rowNodes:t,force:!0}),m.value=[]}function w(e){r.value=[...e];const t=c.arrayToObject(e,a.rowKey);l?.setFieldValue(a.name,[...e]),l?.setFieldValue(s,t)}function g(e,t){const n=e==="end"?r.value.length-1:e;d.value?.scrollToRow(n,t)}function P(e,t){d.value?.scrollToColumn(e,t)}function k(e,t){const n=[s,String(e),t].flat();return l?.validateFields([n])}function A(e){const n=o.unref(r).map((u,p)=>[s,String(c.getRowKey(u,p,a.rowKey)),e].flat());return l?.validateFields(n)}return b({add:F,addMultiple:I,remove:T,removeByKey:E,getRowData:N,getRowsData:V,getRowDataByKey:D,setRowData:j,clear:O,setTableData:w,scrollTo:g,scrollToRow:g,scrollToColumn:P,validateCell:k,validateColumn:A,setRowDataByKey:K,table:d}),(e,t)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(y.ApForm).FormItem,{hidden:"",name:e.name,"initial-value":e.formItem?.initialValue,transform:B},null,8,["name","initial-value"]),o.createVNode(o.unref(y.ApForm).FormItem,o.mergeProps({label:e.label},e.formItem),{default:o.withCtx(()=>[o.createVNode(Y.default,o.mergeProps(o.unref(i.omit)(a,["name","maxLength","onChange","defaultValue","formItem"]),{ref_key:"tableRef",ref:d,class:[o.unref(R)(),o.unref(v)],size:"mini",columns:o.unref(q),"data-source":r.value,"search-form":!1,onUpdate:M}),o.createSlots({_:2},[o.renderList(C,(n,u)=>({name:u,fn:o.withCtx(p=>[o.renderSlot(e.$slots,u,o.normalizeProps(o.guardReactiveProps(p||{})))])}))]),1040,["class","columns","data-source"])]),_:3},16,["label"])],64))}});exports.default=Z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("vue"),i=require("lodash-unified"),m=require("../../ap-form/index.js");require("../../config-provider/index.js");require("../../hooks/index.js");const L=require("../hooks/use-editable-api.js"),M=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const W=require("../style/editable.js"),d=require("./utils.js"),$=require("../../config-provider/hooks/use-namespace.js"),J=require("../../hooks/useControllableValue.js"),Q=require("../../config-provider/hooks/use-global-config.js"),X=require("../index.vue.js"),Y=a.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},emptyComponent:{},emptyText:{},onColumnResized:{},animateRows:{type:Boolean},plugins:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{},supressForceRowUpdate:{type:Boolean,default:!1}},emits:["update:value"],setup(R,{expose:v,emit:h}){const C=a.useSlots(),t=R,{b:x}=$.useNamespace("editable-aggrid"),B=W.default("editable-aggrid"),T=h,u=a.ref(),{value:s,updateValue:y}=J.useControllableValue(t,T),l=a.ref(),_=m.ApForm.useWatch(t.name,l);a.watch(s,e=>{const o=d.arrayToObject(e,t.rowKey);i.isEqual(o,a.unref(_))||l.value?.setFieldValue(t.name,o)},{deep:!0});const F=Q.useGlobalConfig("valueTypeMap"),S=M.useGetEditableColumns(t,F),{add:q,addMultiple:A,remove:E,removeByKey:K,getRowData:j,getRowsData:N,getRowDataByKey:V,setRowData:k,setRowDataByKey:D,clear:O,refreshRowIds:c}=L.useEditableApi(t,l,s,y);function I(){const e=u.value?._internalGridApi;if(!c.value?.length||!e)return;const o=c.value.map(n=>e.getRowNode(n)).filter(n=>!!n);t.supressForceRowUpdate||e.refreshCells({rowNodes:o,force:!0}),c.value=[]}function U(){l.value?.resetFields()}function w(e){return e?(i.isArray(e)?e:[e]).map(n=>i.isArray(n)?[t.name,...n]:[t.name,n]):void 0}function g(e){try{const o=Object.keys(e),n=s.value.map(r=>d.getRowKey(r,void 0,t.rowKey));return o.sort((r,p)=>n.findIndex(f=>String(f)===r)-n.findIndex(f=>String(f)===p)),o.map(r=>e[r])}catch{return e}}async function z(e,o){const r=(await l.value?.validateFields(w(e),o))?.[t.name];return g(r)}async function H(e,o){const r=(await l.value?.validateFieldsReturnTransformed(w(e),o))?.[t.name];return g(r)}function P(e){y(e);const o=d.arrayToObject(e,t.rowKey);l.value?.setFieldValue(t.name,o)}function b(e,o){const n=e==="end"?s.value.length-1:e;u.value?.scrollToRow(n,o)}function G(e,o){u.value?.scrollToColumn(e,o)}return v({resetFields:U,validateFields:z,validateFieldsReturnTransformed:H,add:q,addMultiple:A,remove:E,removeByKey:K,getRowData:j,getRowsData:N,setRowData:k,clear:O,setTableData:P,scrollTo:b,scrollToRow:b,scrollToColumn:G,table:u,getRowDataByKey:V,setRowDataByKey:D}),(e,o)=>(a.openBlock(),a.createBlock(a.unref(m.ApForm),{ref_key:"formRef",ref:l,"initial-values":{[t.name]:a.unref(d.arrayToObject)(a.unref(s),t.rowKey)},style:{height:"100%"}},{default:a.withCtx(()=>[a.createVNode(a.unref(m.ApForm).FormItem,{name:e.name,"no-style":""},{default:a.withCtx(()=>[a.createVNode(X.default,a.mergeProps(a.unref(i.omit)(t,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:u,class:[a.unref(x)(),a.unref(B)],size:"mini",columns:a.unref(S),"data-source":a.unref(s),"search-form":!1,onUpdate:I}),a.createSlots({_:2},[a.renderList(C,(n,r)=>({name:r,fn:a.withCtx(p=>[a.renderSlot(e.$slots,r,a.normalizeProps(a.guardReactiveProps(p||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=Y;
|
|
@@ -77,7 +77,7 @@ export type EditableAgGridProps<RecordType = any> = Omit<AgGridProps<RecordType>
|
|
|
77
77
|
* 当字段值变更的时候触发(注意,向表单设置值并不会触发)
|
|
78
78
|
* @returns
|
|
79
79
|
*/
|
|
80
|
-
onFieldChange?: (rowIndex: number, fieldName: DataIndex, newValue: any) => void;
|
|
80
|
+
onFieldChange?: (rowIndex: number, fieldName: DataIndex, newValue: any, record: RecordType) => void;
|
|
81
81
|
/**
|
|
82
82
|
* 是否禁止在行操作后(添加/删除行等)避免强制更新
|
|
83
83
|
* 默认情况下,表格行会在行操作后强制更新哪些受到影响的行来保证渲染始终是正确的,但这样会导致表单校验被清空、频繁更新导致渲染性能下降等问题
|
|
@@ -95,6 +95,15 @@ export type EditableAgGridExpose<RecordType = any, ModelType = RecordType[]> = O
|
|
|
95
95
|
remove: (data: RecordType | RecordType[]) => void;
|
|
96
96
|
validateFieldsReturnTransformed: EditableTableExpose<ModelType, RecordType>['validateFields'];
|
|
97
97
|
table: AgGridExpose;
|
|
98
|
+
getRowDataByKey: (key: string | number) => RecordType | undefined;
|
|
99
|
+
/**
|
|
100
|
+
* 设置表格行数据(通过行key)
|
|
101
|
+
* @param key
|
|
102
|
+
* @param data
|
|
103
|
+
* @param merge 是否进行数据的浅层合并(默认为true)
|
|
104
|
+
* @returns
|
|
105
|
+
*/
|
|
106
|
+
setRowDataByKey: (key: any, data: Partial<RecordType>, merge?: boolean) => void;
|
|
98
107
|
};
|
|
99
108
|
export type EditableAgGridFormItemExpose<RecordType = any, ModelType = RecordType[]> = Omit<EditableAgGridExpose<RecordType, ModelType>, 'resetFields' | 'validateFields' | 'validateFieldsReturnTransformed'> & {
|
|
100
109
|
/**
|
|
@@ -9,7 +9,9 @@ export declare const useEditableApi: <RecordType>(props: EditableAgGridProps<Rec
|
|
|
9
9
|
removeByKey: (key: Key | Key[]) => void;
|
|
10
10
|
getRowData: (index: number) => RecordType;
|
|
11
11
|
getRowsData: () => RecordType[];
|
|
12
|
+
setRowDataByKey: (key: any, payload: any, merge?: boolean) => void;
|
|
12
13
|
setRowData: (index: string | number, payload: any, merge?: boolean) => void;
|
|
13
14
|
clear: () => void;
|
|
14
15
|
refreshRowIds: ShallowRef<string[], string[]>;
|
|
16
|
+
getRowDataByKey: (key: Key) => RecordType | undefined;
|
|
15
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("lodash-unified"),w=require("vue");require("../../utils/index.js");const S=require("../editable/utils.js"),a=require("../../utils/is.js");let T=0;function m(){return`_ag_grid${T++}`}const A=(u,K,f,h)=>{const g=w.shallowRef([]),d=w.computed(()=>w.isRef(K)?w.unref(K):K);function x(n,r){const s=w.unref(f)?.length||0;if(a.isDef(u.maxLength)&&s>=u.maxLength||!n&&v.isFunction(u.rowKey))return;const i={...n||{[u.rowKey]:m()}};d.value?.setFieldValue?.(u.name,i,!0,(t,l)=>{const e=c(i,void 0,u.rowKey);if(t[l]?t[l][e]=i:t[l]={[e]:i},!f.value){f.value=[i];return}v.isUndefined(r)?f.value.push(i):(g.value=f.value.map((o,y)=>y<r?null:c(o,y,u.rowKey)).filter(Boolean),f.value.splice(r,0,i))})}function R(n,r="suffix"){const s=w.unref(f)?.length||0,i=v.isNumber(n)?n:n.length;if(a.isDef(u.maxLength)&&s+i>u.maxLength||v.isNumber(n)&&v.isFunction(u.rowKey))return;const t=v.isNumber(n)?new Array(n).fill(0).map(()=>({[u.rowKey]:m()})):v.cloneDeep(n),l=S.arrayToObject(t,u.rowKey);d.value?.setFieldValue?.(u.name,t,!0,(e,o)=>{if(e[o]?Object.assign(e[o],l):e[o]=l,!f.value){f.value=[...t];return}r==="suffix"?f.value.push(...t):(g.value=f.value.map((y,L)=>c(y,L,u.rowKey)),f.value.unshift(...t))})}function F(n){const r=v.isArray(n)?n:[n];d.value?.setFieldValue?.(u.name,void 0,!0,(s,i)=>{for(const e of r){const o=c(e,void 0,u.rowKey);delete s[i][o]}const t=f.value.filter(e=>!r.includes(e)),l=f.value.findIndex(e=>r.includes(e));g.value=f.value.map((e,o)=>o<=l?null:c(e,o,u.rowKey)).filter(Boolean),h?.(t)})}function c(n,r,s){if(s)return v.isString(s)?n[s]:s(n,r)}function j(n){const r=new Set(v.isArray(n)?n:[n]);r.size!==0&&d.value?.setFieldValue?.(u.name,void 0,!0,(s,i)=>{for(const e of r)delete s[i][e];const t=f.value.filter((e,o)=>!r.has(c(e,o,u.rowKey))),l=f.value.findIndex((e,o)=>r.has(c(e,o,u.rowKey)));g.value=f.value.map((e,o)=>o<=l?null:c(e,o,u.rowKey)).filter(Boolean),h?.(t)})}function I(n){return w.unref(f)?.[n]}function O(n){return f.value?.find((r,s)=>c(r,s,u.rowKey)===n)}function k(){return w.unref(f)}function B(n,r,s=!0){d.value?.setFieldValue?.(u.name,void 0,!0,(i,t)=>{const l=f.value.findIndex((o,y)=>n===y);if(!~l)return;const e=c(f.value[l],l,u.rowKey);if(e&&!(!i[t]||!i[t][e])){if(!s){const o=Object.keys(i[t][e]);for(const y of o)y!==u.rowKey&&delete i[t][e][y]}Object.assign(i[t][e],{...r})}})}function V(n,r,s=!0){d.value?.setFieldValue?.(u.name,void 0,!0,(i,t)=>{if(!(!i[t]||!i[t][n])){if(!s){const l=Object.keys(i[t][n]);for(const e of l)e!==u.rowKey&&delete i[t][e][e]}Object.assign(i[t][n],{...r})}})}function q(){d.value?.setFieldValue?.(u.name,{}),h?.([])}return{add:x,addMultiple:R,remove:F,removeByKey:j,getRowData:I,getRowsData:k,setRowDataByKey:V,setRowData:B,clear:q,refreshRowIds:g,getRowDataByKey:O}};exports.useEditableApi=A;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const F=require("clsx"),b=require("lodash-unified"),x=require("vue"),M=require("../../ap-grid/utils/editable.js"),q=require("../../ap-table/utils.js"),S=require("../../editable-table/utils.js");require("../../utils/index.js");const $=require("../editable/utils.js"),A=require("../../utils/is.js");function v(t,n,r){t.__skipNextRefresh?t.__skipNextRefresh[n]=r:t.__skipNextRefresh={[n]:r}}function
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const F=require("clsx"),b=require("lodash-unified"),x=require("vue"),M=require("../../ap-grid/utils/editable.js"),q=require("../../ap-table/utils.js"),S=require("../../editable-table/utils.js");require("../../utils/index.js");const $=require("../editable/utils.js"),A=require("../../utils/is.js");function v(t,n,r){t.__skipNextRefresh?t.__skipNextRefresh[n]=r:t.__skipNextRefresh={[n]:r}}function G(t,n,r){t.__prevEditable?t.__prevEditable[n]=r:t.__prevEditable={[n]:r}}const w=(t,n,r)=>{const h=x.ref([]);x.watch(()=>t.columns,e=>{if(!e?.length){h.value=[];return}function o(a){return a.map(d=>({...d,_requireMark:S.getColumnIsRequired(d),children:o(d.children||[]),...C(d)}))}h.value=o(e)},{immediate:!0,deep:!0});function C(e){const o=e.editable,a=r?[r]:b.isArray(t.name)?t.name:[t.name];return!o||e.children?.length?{_path:[...a]}:{customRender({value:d,originalNode:N,params:l,...i}){const c=b.isFunction(e.editable)?e.editable(i.text,i.record,i.rowIndex):!!e.editable;let f=N;const k=b.isArray(e.dataIndex)?e.dataIndex:[e.dataIndex],g=$.getRowKey(i.record,i.rowIndex,t.rowKey);if(c){const _=q.updateFormProps(e,q.getFieldProps(e.fieldProps,{value:d,...i})),R={};t.onFieldChange&&(R[`onUpdate:${_.valuePropName||"value"}`]=y=>t.onFieldChange?.(i.rowIndex,e.dataIndex,y,i.record));const E={name:[...a,String(g),...k],..._||{},field:{style:"width: 100%",..._?.field||{},...R,class:F.clsx("is-editable",_.class)}};f=M.getFinalEditableNode(e,E,i.record,x.unref(n))}e.customRender&&(f=e.customRender({value:d,...i,editable:c,originalNode:f,index:i.rowIndex,renderIndex:i.rowIndex,path:[...a,String(g)]}));const u=l.node,s=l.column.getColId(),I=u.__prevEditable?.[s];return!u.__skipNextRefresh?.[s]&&A.isDef(I)&&I!==c&&(v(u,s,!0),setTimeout(()=>{l?.api.refreshCells({rowNodes:[l.node],columns:[l.column.getColId()],force:!0}),v(u,s,!1)},0)),G(u,s,c),f},_path:[...a]}}return h};exports.default=w;exports.useGetEditableColumns=w;
|
|
@@ -10,7 +10,9 @@ export declare const useEditableFormItemApi: <RecordType>(props: EditableAgGridP
|
|
|
10
10
|
removeByKey: (key: Key | Key[]) => void;
|
|
11
11
|
getRowData: (index: number) => RecordType;
|
|
12
12
|
getRowsData: () => RecordType[];
|
|
13
|
+
setRowDataByKey: (key: any, payload: any, merge?: boolean) => void;
|
|
13
14
|
setRowData: (index: number, payload: any, merge?: boolean) => void;
|
|
14
15
|
clear: () => void;
|
|
15
16
|
refreshRowIds: ShallowRef<string[], string[]>;
|
|
17
|
+
getRowDataByKey: (key: Key) => RecordType | undefined;
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("lodash-unified"),h=require("vue");require("../../utils/index.js");const v=require("../editable/utils.js"),V=require("../../utils/is.js");let U=0;function x(){return`_ag_grid${U++}`}const E=(f,y,i,w)=>{const R=h.shallowRef([]);function j(u,s){const c=h.unref(i)?.length||0;if(V.isDef(f.maxLength)&&c>=f.maxLength||!u&&g.isFunction(f.rowKey))return;const n={...u||{[f.rowKey]:x()}};y?.setFieldValue(w,n,!1,(l,o)=>{const e=v.getRowKey(n,void 0,f.rowKey);l[o]?l[o][e]=n:l[o]={[e]:n},i.value?g.isUndefined(s)?i.value.push(n):(R.value=i.value.map((t,r)=>r<s?null:v.getRowKey(t,r,f.rowKey)).filter(Boolean),i.value.splice(s,0,n)):i.value=[n],y?.setFieldValue(f.name,n,!0,(t,r)=>{if(!t[r]){t[r]=[n];return}g.isUndefined(s)?t[r].push(n):t[r].splice(s,0,n)})})}function F(u,s="suffix",c=!1){if(!u)return;const n=h.unref(i)?.length||0,l=g.isNumber(u)?u:u.length;if(V.isDef(f.maxLength)&&n+l>f.maxLength||g.isNumber(u)&&g.isFunction(f.rowKey))return;const o=g.isNumber(u)?new Array(u).fill(0).map(()=>({[f.rowKey]:x()})):g.cloneDeep(u),e=v.arrayToObject(o,f.rowKey);y?.setFieldValue(w,e,!1,(t,r)=>{t[r]?Object.assign(t[r],e):t[r]=e,i.value?s==="suffix"?i.value.push(...o):(R.value=i.value.map((K,d)=>v.getRowKey(K,d,f.rowKey)),i.value.unshift(...o)):i.value=[...o],y?.setFieldValue(f.name,o,!0,(K,d)=>{if(!K[d]||c){K[d]=[...o];return}s==="suffix"?K[d].push(...o):K[d].unshift(...o)})})}function O(u,s="suffix"){F(u,s,!1)}function I(u){const s=g.isArray(u)?u:[u];y?.setFieldValue(w,void 0,!1,(c,n)=>{for(const e of s){const t=v.getRowKey(e,void 0,f.rowKey);delete c[n][t]}const l=i.value.filter(e=>!s.includes(e)),o=i.value.findIndex(e=>s.includes(e));R.value=i.value.map((e,t)=>t<=o?null:v.getRowKey(e,t,f.rowKey)).filter(Boolean),l.length?i.value=l:i.value.splice(0,i.value.length),y.setFieldValue(f.name,void 0,!0,(e,t)=>{e[t]=[...l]})})}function B(u){const s=new Set(g.isArray(u)?u:[u]);s.size!==0&&y?.setFieldValue(w,void 0,!1,(c,n)=>{for(const e of s)delete c[n][e];const l=i.value.filter((e,t)=>!s.has(v.getRowKey(e,t,f.rowKey))),o=i.value.findIndex((e,t)=>s.has(v.getRowKey(e,t,f.rowKey)));R.value=i.value.map((e,t)=>t<=o?null:v.getRowKey(e,t,f.rowKey)).filter(Boolean),l.length?i.value=l:i.value.splice(0,i.value.length),y.setFieldValue(f.name,void 0,!0,(e,t)=>{e[t]=[...l]})})}function T(u){return h.unref(i)?.[u]}function _(u){return i.value?.find((s,c)=>v.getRowKey(s,c,f.rowKey)===u)}function k(){return h.unref(i)}function q(u,s,c=!0){y?.setFieldValue?.(w,void 0,!1,(n,l)=>{const o=i.value.findIndex((t,r)=>u===r);if(!~o)return;const e=v.getRowKey(i.value[o],o,f.rowKey);if(e&&!(!n[l]||!n[l][e])){if(!c){const t=Object.keys(n[l][e]);for(const r of t)r!==f.rowKey&&delete n[l][e][r]}Object.assign(n[l][e],{...s})}})}function L(u,s,c=!0){y?.setFieldValue?.(w,void 0,!1,(n,l)=>{if(!(!n[l]||!n[l][u])){if(!c){const o=Object.keys(n[l][u]);for(const e of o)e!==f.rowKey&&delete n[l][u][e]}Object.assign(n[l][u],{...s})}})}function S(){y?.setFieldValue(w,{}),y?.setFieldValue(f.name,[])}return{add:j,addMultiple:O,__addMultiple:F,remove:I,removeByKey:B,getRowData:T,getRowsData:k,setRowDataByKey:L,setRowData:q,clear:S,refreshRowIds:R,getRowDataByKey:_}};exports.useEditableFormItemApi=E;
|
package/lib/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "7.19.
|
|
1
|
+
declare const _default: "7.19.7";
|
|
2
2
|
export default _default;
|
package/lib/src/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="7.19.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="7.19.7";exports.default=e;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aplus-frontend/ui",
|
|
3
|
-
"version": "7.19.
|
|
3
|
+
"version": "7.19.7",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"typings": "./lib/index.d.ts",
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
42
42
|
"vue-virtual-scroller": "2.0.0-beta.8",
|
|
43
43
|
"vuedraggable": "^4.1.0",
|
|
44
|
-
"@aplus-frontend/
|
|
45
|
-
"@aplus-frontend/
|
|
44
|
+
"@aplus-frontend/utils": "1.0.66",
|
|
45
|
+
"@aplus-frontend/hooks": "1.0.7"
|
|
46
46
|
},
|
|
47
47
|
"peerDependencies": {
|
|
48
48
|
"@aplus-frontend/antdv": "^2.1.4",
|