@aplus-frontend/ui 6.28.3 → 6.28.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/src/ag-grid/index.vue.mjs +183 -174
- package/es/src/ag-grid/interface.d.ts +7 -1
- package/es/src/ag-grid/theme.mjs +10 -9
- package/es/src/ag-grid/utils.d.ts +2 -0
- package/es/src/ag-grid/utils.mjs +6 -0
- package/es/src/ap-descriptions/helper.mjs +9 -7
- package/es/src/version.d.ts +1 -1
- package/es/src/version.mjs +1 -1
- package/lib/src/ag-grid/index.vue.js +1 -1
- package/lib/src/ag-grid/interface.d.ts +7 -1
- package/lib/src/ag-grid/theme.js +1 -1
- package/lib/src/ag-grid/utils.d.ts +2 -0
- package/lib/src/ag-grid/utils.js +1 -0
- package/lib/src/ap-descriptions/helper.js +1 -1
- package/lib/src/version.d.ts +1 -1
- package/lib/src/version.js +1 -1
- package/package.json +1 -1
- package/theme/ag-grid/index.css +3 -0
- package/theme/ag-grid/index.less +4 -8
- package/theme/ap-copy/ap-copy.css +2 -0
- package/theme/ap-copy/ap-copy.less +2 -0
- package/theme/index.css +5 -0
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { AgGridVue as
|
|
3
|
-
import { ModuleRegistry as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { defineComponent as Je, useSlots as Qe, ref as F, toRef as k, unref as t, computed as l, nextTick as Xe, watch as P, createElementBlock as z, openBlock as v, normalizeStyle as E, normalizeClass as m, createCommentVNode as oe, createElementVNode as R, createVNode as V, mergeProps as A, createSlots as Ye, withCtx as te, Fragment as Ze, renderList as _e, createBlock as re, resolveDynamicComponent as eo, renderSlot as ae, withDirectives as oo, vShow as to } from "vue";
|
|
2
|
+
import { AgGridVue as ro } from "ag-grid-vue3";
|
|
3
|
+
import { ModuleRegistry as ao, AllCommunityModule as no } from "ag-grid-community";
|
|
4
|
+
import { mergeProps as lo } from "./utils.mjs";
|
|
5
|
+
import { Spin as so, Pagination as io } from "@aplus-frontend/antdv";
|
|
6
|
+
import { isUndefined as b, isFunction as ne } from "lodash-unified";
|
|
6
7
|
import "../config-provider/index.mjs";
|
|
7
|
-
import { ApForm as
|
|
8
|
-
import { recursionApColumns as
|
|
9
|
-
import { useTablePaging as
|
|
10
|
-
import
|
|
11
|
-
import { useProvideSorter as
|
|
12
|
-
import { useProvideApTable as
|
|
13
|
-
import { sizeReverseMap as
|
|
14
|
-
import { useToken as
|
|
15
|
-
import { useTheme as
|
|
16
|
-
import { useColumns as
|
|
8
|
+
import { ApForm as co } from "../ap-form/index.mjs";
|
|
9
|
+
import { recursionApColumns as uo } from "../ap-table/utils.mjs";
|
|
10
|
+
import { useTablePaging as mo } from "../ap-table/hooks/use-table-paging-ng.mjs";
|
|
11
|
+
import po from "./hooks/use-row-selection.mjs";
|
|
12
|
+
import { useProvideSorter as fo } from "./context.mjs";
|
|
13
|
+
import { useProvideApTable as go } from "../ap-table/context.mjs";
|
|
14
|
+
import { sizeReverseMap as So, sizeMap as wo } from "../ap-grid/constants.mjs";
|
|
15
|
+
import { useToken as yo } from "@aplus-frontend/antdv/es/theme/internal";
|
|
16
|
+
import { useTheme as ho } from "./theme.mjs";
|
|
17
|
+
import { useColumns as Co } from "./hooks/use-columns.mjs";
|
|
17
18
|
import { useColumnsDef as vo } from "./hooks/use-columns-def.mjs";
|
|
18
|
-
import { isDef as
|
|
19
|
-
import { getValidVNodeList as
|
|
20
|
-
import { useSearchForm as
|
|
19
|
+
import { isDef as Ro } from "../utils/index.mjs";
|
|
20
|
+
import { getValidVNodeList as bo } from "../utils/slot.mjs";
|
|
21
|
+
import { useSearchForm as Bo } from "./hooks/use-search-form.mjs";
|
|
21
22
|
import "./components/empty/index.vue.mjs";
|
|
22
|
-
import
|
|
23
|
-
import { usePinnedRow as
|
|
24
|
-
import
|
|
25
|
-
import { useNamespace as
|
|
26
|
-
import
|
|
27
|
-
const
|
|
23
|
+
import Fo from "./hooks/use-virtual-config.mjs";
|
|
24
|
+
import { usePinnedRow as ko } from "./hooks/use-pinned-row.mjs";
|
|
25
|
+
import xo from "./hooks/use-selection-col-def.mjs";
|
|
26
|
+
import { useNamespace as Io } from "../config-provider/hooks/use-namespace.mjs";
|
|
27
|
+
import To from "./components/empty/index.vue2.mjs";
|
|
28
|
+
const rt = /* @__PURE__ */ Je({
|
|
28
29
|
name: "AgGrid",
|
|
29
30
|
__name: "index",
|
|
30
31
|
props: {
|
|
@@ -91,24 +92,21 @@ const ot = /* @__PURE__ */ qe({
|
|
|
91
92
|
browserTooltips: { type: Boolean },
|
|
92
93
|
virtual: { type: [Boolean, Object], default: void 0 },
|
|
93
94
|
onRowClicked: {},
|
|
94
|
-
onScrollEnd: {}
|
|
95
|
+
onScrollEnd: {},
|
|
96
|
+
rowClassName: {}
|
|
95
97
|
},
|
|
96
|
-
setup(
|
|
97
|
-
|
|
98
|
-
const o =
|
|
99
|
-
function le(...e) {
|
|
100
|
-
return e.reduce((r, n) => ({ ...r, ...n }), {});
|
|
101
|
-
}
|
|
102
|
-
const { e: B, b: c, be: se } = xo("ag-grid"), y = F(o.size), ie = yo(y, k(o, "rowHeight")), ce = Bo(k(o, "virtual")), { rowPinnedGridConfig: de, getRowPinnedCellClass: ue } = Fo(
|
|
98
|
+
setup(le, { expose: se }) {
|
|
99
|
+
ao.registerModules([no]);
|
|
100
|
+
const o = le, M = Qe(), { e: B, b: d, be: ie } = Io("ag-grid"), y = F(o.size), de = ho(y, k(o, "rowHeight")), ce = Fo(k(o, "virtual")), { rowPinnedGridConfig: O, getRowPinnedCellClass: ue } = ko(
|
|
103
101
|
k(o, "summary")
|
|
104
|
-
),
|
|
102
|
+
), c = F(), [, me] = yo();
|
|
105
103
|
let p = !!o.dataSource;
|
|
106
|
-
const
|
|
107
|
-
|
|
104
|
+
const W = Bo(o), { shownColumns: f, columns: j, columnKeys: pe } = Co(o), { defaultColDef: fe, columnDefs: ge } = vo(
|
|
105
|
+
j,
|
|
108
106
|
o,
|
|
109
107
|
ue
|
|
110
108
|
), x = F({});
|
|
111
|
-
|
|
109
|
+
fo({
|
|
112
110
|
sorter: x,
|
|
113
111
|
setSorter(e) {
|
|
114
112
|
x.value = e;
|
|
@@ -119,43 +117,43 @@ const ot = /* @__PURE__ */ qe({
|
|
|
119
117
|
desc: "descend"
|
|
120
118
|
};
|
|
121
119
|
function we() {
|
|
122
|
-
const e =
|
|
123
|
-
let
|
|
120
|
+
const e = c.value.getColumns()?.filter((s) => s.getSort() !== void 0), r = t(x) || {};
|
|
121
|
+
let a = e?.[0];
|
|
124
122
|
const u = Object.keys(r);
|
|
125
123
|
if (u.length && u.every((s) => r[s] === null)) {
|
|
126
124
|
const s = Object.keys(r)[0];
|
|
127
|
-
s && (
|
|
125
|
+
s && (a = c.value?.getColumn(s));
|
|
128
126
|
}
|
|
129
|
-
if (!
|
|
127
|
+
if (!a)
|
|
130
128
|
return;
|
|
131
|
-
const i =
|
|
132
|
-
|
|
129
|
+
const i = a.getColDef(), w = a.getSort();
|
|
130
|
+
G(void 0, void 0, {
|
|
133
131
|
column: i,
|
|
134
132
|
field: i.field,
|
|
135
133
|
order: w ? Se[w] : null
|
|
136
134
|
});
|
|
137
135
|
}
|
|
138
|
-
const ye = l(() =>
|
|
136
|
+
const ye = l(() => uo(t(f), (e) => {
|
|
139
137
|
if (e.sorter === !0)
|
|
140
138
|
return e.key || e.dataIndex;
|
|
141
|
-
}).filter(Boolean)), he = l(() =>
|
|
139
|
+
}).filter(Boolean)), he = l(() => Ro(o.manual) ? o.manual : bo(M.searchFormExtra?.() || []).some((r) => r.type?.name === "ApView")), {
|
|
142
140
|
formRef: g,
|
|
143
141
|
submit: I,
|
|
144
142
|
reset: T,
|
|
145
143
|
data: S,
|
|
146
|
-
tableProps:
|
|
147
|
-
handleTableChangeOptional:
|
|
148
|
-
submitWith:
|
|
149
|
-
refresh:
|
|
150
|
-
getPaging:
|
|
151
|
-
setPaging:
|
|
144
|
+
tableProps: L,
|
|
145
|
+
handleTableChangeOptional: G,
|
|
146
|
+
submitWith: H,
|
|
147
|
+
refresh: U,
|
|
148
|
+
getPaging: Ce,
|
|
149
|
+
setPaging: ve,
|
|
152
150
|
setDataSource: Re
|
|
153
|
-
} =
|
|
151
|
+
} = mo({
|
|
154
152
|
async request(e) {
|
|
155
|
-
if (p = !1, !Fe.value && b(o.dataSource) &&
|
|
156
|
-
const
|
|
153
|
+
if (p = !1, !Fe.value && b(o.dataSource) && K(), !b(o.dataSource)) {
|
|
154
|
+
const a = e.pageSize * (e.current - 1);
|
|
157
155
|
return {
|
|
158
|
-
data: (o.pagination === !1 ? o.dataSource : o.dataSource.slice(
|
|
156
|
+
data: (o.pagination === !1 ? o.dataSource : o.dataSource.slice(a, a + e.pageSize)) || [],
|
|
159
157
|
total: o.dataSource.length || 0
|
|
160
158
|
};
|
|
161
159
|
}
|
|
@@ -173,7 +171,7 @@ const ot = /* @__PURE__ */ qe({
|
|
|
173
171
|
formatParams: o.beforeSearchSubmit,
|
|
174
172
|
pagination: o.pagination,
|
|
175
173
|
sortFields: ye
|
|
176
|
-
}), be =
|
|
174
|
+
}), be = xo(o, f), Be = l(
|
|
177
175
|
() => b(o.dataSource) ? S.records : o.dataSource
|
|
178
176
|
), Fe = l(() => {
|
|
179
177
|
const e = o.rowSelection === !0 ? {} : o.rowSelection;
|
|
@@ -181,35 +179,35 @@ const ot = /* @__PURE__ */ qe({
|
|
|
181
179
|
}), {
|
|
182
180
|
select: ke,
|
|
183
181
|
unSelect: xe,
|
|
184
|
-
selectedRows:
|
|
182
|
+
selectedRows: N,
|
|
185
183
|
selectedRowKeys: Ie,
|
|
186
184
|
clearAll: Te,
|
|
187
|
-
selectMultiByKeys:
|
|
188
|
-
} =
|
|
185
|
+
selectMultiByKeys: Ne
|
|
186
|
+
} = po({
|
|
189
187
|
...o.rowSelection === !0 ? {} : o.rowSelection,
|
|
190
188
|
dataSource: Be,
|
|
191
189
|
rowKey: o.rowKey
|
|
192
|
-
}),
|
|
190
|
+
}), De = {
|
|
193
191
|
checkbox: "multiRow",
|
|
194
192
|
radio: "singleRow"
|
|
195
|
-
},
|
|
193
|
+
}, Ke = l(() => {
|
|
196
194
|
if (!o.rowSelection)
|
|
197
195
|
return;
|
|
198
196
|
const { type: e = "checkbox", disabled: r } = o.rowSelection === !0 ? {} : o.rowSelection;
|
|
199
197
|
return {
|
|
200
|
-
mode:
|
|
201
|
-
isRowSelectable: (
|
|
198
|
+
mode: De[e],
|
|
199
|
+
isRowSelectable: (a) => r ? !r(a.data) : !0
|
|
202
200
|
};
|
|
203
201
|
});
|
|
204
|
-
function
|
|
205
|
-
return
|
|
202
|
+
function D(e) {
|
|
203
|
+
return ne(o.rowKey) ? o.rowKey(e) : e[o.rowKey];
|
|
206
204
|
}
|
|
207
|
-
const
|
|
208
|
-
api: e =
|
|
205
|
+
const $ = ({
|
|
206
|
+
api: e = c.value
|
|
209
207
|
}) => {
|
|
210
208
|
if (!o.rowSelection)
|
|
211
209
|
return;
|
|
212
|
-
const r =
|
|
210
|
+
const r = N.value;
|
|
213
211
|
if (!r.length) {
|
|
214
212
|
setTimeout(() => {
|
|
215
213
|
p = !0;
|
|
@@ -217,250 +215,261 @@ const ot = /* @__PURE__ */ qe({
|
|
|
217
215
|
return;
|
|
218
216
|
}
|
|
219
217
|
p = !1;
|
|
220
|
-
const
|
|
218
|
+
const a = [];
|
|
221
219
|
e.forEachNode((u) => {
|
|
222
|
-
const h = u.data, i =
|
|
223
|
-
r.find((w) =>
|
|
224
|
-
}), e.setNodesSelected({ nodes:
|
|
220
|
+
const h = u.data, i = D(h);
|
|
221
|
+
r.find((w) => D(w) === i) && a.push(u);
|
|
222
|
+
}), e.setNodesSelected({ nodes: a, newValue: !0 }), setTimeout(() => {
|
|
225
223
|
p = !0;
|
|
226
224
|
}, 0);
|
|
227
|
-
},
|
|
225
|
+
}, Pe = (e) => {
|
|
228
226
|
p && (e.node.isSelected() ? ke(e.data) : xe(e.data));
|
|
229
|
-
},
|
|
227
|
+
}, ze = () => {
|
|
230
228
|
p = !0;
|
|
231
|
-
},
|
|
232
|
-
Te(),
|
|
229
|
+
}, K = () => {
|
|
230
|
+
Te(), c.value?.deselectAll();
|
|
233
231
|
};
|
|
234
|
-
function
|
|
235
|
-
|
|
236
|
-
|
|
232
|
+
function Ee(e) {
|
|
233
|
+
Ne(e), Xe(() => {
|
|
234
|
+
$({});
|
|
237
235
|
});
|
|
238
236
|
}
|
|
239
|
-
function
|
|
237
|
+
function q(e = !1) {
|
|
240
238
|
const r = e ? "getFieldsValueTransformed" : "getFieldsValue";
|
|
241
239
|
return g.value?.apForm?.[r]?.(!0);
|
|
242
240
|
}
|
|
243
|
-
function
|
|
241
|
+
function J(e) {
|
|
244
242
|
g.value?.apForm?.setFieldsValue?.(e);
|
|
245
243
|
}
|
|
246
|
-
function
|
|
244
|
+
function Q() {
|
|
247
245
|
return g.value?.getSorterItems() || [];
|
|
248
246
|
}
|
|
249
|
-
function
|
|
247
|
+
function X(e) {
|
|
250
248
|
g.value?.setSorterItems(e);
|
|
251
249
|
}
|
|
252
|
-
function
|
|
250
|
+
function Y() {
|
|
253
251
|
g.value?.resetSorterItems();
|
|
254
252
|
}
|
|
255
|
-
function
|
|
253
|
+
function Z(e) {
|
|
256
254
|
return e && String(e);
|
|
257
255
|
}
|
|
258
|
-
function
|
|
259
|
-
const r =
|
|
256
|
+
function Ve(e) {
|
|
257
|
+
const r = c.value;
|
|
260
258
|
if (!r)
|
|
261
259
|
return;
|
|
262
|
-
const
|
|
263
|
-
if (!pe.value.includes(
|
|
264
|
-
return
|
|
265
|
-
const
|
|
266
|
-
...
|
|
267
|
-
hide:
|
|
268
|
-
},
|
|
269
|
-
(
|
|
260
|
+
const a = r.getColumnState() || [], u = e.map((n) => n.key ? String(n.key) : n.key).filter(Boolean), h = a.map((n) => {
|
|
261
|
+
if (!pe.value.includes(n.colId))
|
|
262
|
+
return n;
|
|
263
|
+
const C = !u.includes(n.colId), _ = {
|
|
264
|
+
...n,
|
|
265
|
+
hide: C
|
|
266
|
+
}, ee = e.find(
|
|
267
|
+
(qe) => Z(qe.key) === n.colId
|
|
270
268
|
);
|
|
271
|
-
return
|
|
269
|
+
return ee && (_.pinned = ee.fixed || null), _;
|
|
272
270
|
}), i = new Map(
|
|
273
|
-
e.map((
|
|
274
|
-
), w = h.filter((
|
|
275
|
-
(
|
|
271
|
+
e.map((n, C) => [Z(n.key), C])
|
|
272
|
+
), w = h.filter((n) => i.has(n.colId)).sort(
|
|
273
|
+
(n, C) => i.get(n.colId) - i.get(C.colId)
|
|
276
274
|
), s = [];
|
|
277
|
-
let
|
|
278
|
-
for (const
|
|
279
|
-
i.has(
|
|
275
|
+
let $e = 0;
|
|
276
|
+
for (const n of h)
|
|
277
|
+
i.has(n.colId) ? s.push(w[$e++]) : s.push(n);
|
|
280
278
|
r.applyColumnState({
|
|
281
279
|
state: s,
|
|
282
280
|
applyOrder: !0
|
|
283
281
|
});
|
|
284
282
|
}
|
|
285
|
-
|
|
283
|
+
go({
|
|
286
284
|
columns: l(() => f.value),
|
|
287
|
-
columnsBackup: l(() =>
|
|
288
|
-
size: l(() =>
|
|
285
|
+
columnsBackup: l(() => j.value),
|
|
286
|
+
size: l(() => wo[y.value]),
|
|
289
287
|
updateColumns(e) {
|
|
290
|
-
console.log("run reset", e), f.value = e, o.onShownColumnsChange?.(e),
|
|
288
|
+
console.log("run reset", e), f.value = e, o.onShownColumnsChange?.(e), Ve(e);
|
|
291
289
|
},
|
|
292
290
|
updateSize(e) {
|
|
293
|
-
y.value =
|
|
291
|
+
y.value = So[e];
|
|
294
292
|
},
|
|
295
293
|
renderConfig: l(() => ({
|
|
296
|
-
className:
|
|
294
|
+
className: ie("table-header", "title"),
|
|
297
295
|
color: me.value.colorTextTertiary
|
|
298
296
|
})),
|
|
299
297
|
dataSource: l(() => t(S).records),
|
|
300
|
-
getSearchFormValues:
|
|
301
|
-
setSearchFormValues:
|
|
298
|
+
getSearchFormValues: q,
|
|
299
|
+
setSearchFormValues: J,
|
|
302
300
|
submit: I,
|
|
303
|
-
submitWith:
|
|
301
|
+
submitWith: H,
|
|
304
302
|
reset: T,
|
|
305
|
-
refresh:
|
|
306
|
-
getSearchFormSorterItems:
|
|
307
|
-
setSearchFormSorterItems:
|
|
308
|
-
resetSearchFormSorterItems:
|
|
303
|
+
refresh: U,
|
|
304
|
+
getSearchFormSorterItems: Q,
|
|
305
|
+
setSearchFormSorterItems: X,
|
|
306
|
+
resetSearchFormSorterItems: Y
|
|
309
307
|
});
|
|
310
|
-
const
|
|
308
|
+
const Ae = l(
|
|
311
309
|
() => b(o.loading) ? S.loading : o.loading
|
|
312
310
|
), Me = l(() => [
|
|
313
|
-
|
|
314
|
-
o.card ? null :
|
|
315
|
-
|
|
316
|
-
|
|
311
|
+
d(),
|
|
312
|
+
o.card ? null : d("wrapper"),
|
|
313
|
+
d("adaptive"),
|
|
314
|
+
d(`size-${y.value}`)
|
|
317
315
|
].filter(Boolean)), Oe = l(() => ({
|
|
318
316
|
height: "100%",
|
|
319
317
|
...o.tableStyle || {}
|
|
320
318
|
})), We = (e, r) => {
|
|
321
|
-
|
|
319
|
+
G({ current: e, pageSize: r });
|
|
322
320
|
};
|
|
323
321
|
function je(e) {
|
|
324
322
|
const r = e.data;
|
|
325
|
-
return
|
|
323
|
+
return D(r);
|
|
326
324
|
}
|
|
327
325
|
function Le(e, r) {
|
|
328
|
-
|
|
326
|
+
c.value?.ensureIndexVisible(e, r);
|
|
329
327
|
}
|
|
330
328
|
function Ge(e) {
|
|
331
|
-
o.onRowClicked?.(e.data);
|
|
329
|
+
o.onRowClicked?.(e.data, e.event);
|
|
332
330
|
}
|
|
333
331
|
function He(e) {
|
|
334
332
|
o.onScrollEnd?.(e.direction);
|
|
335
333
|
}
|
|
336
|
-
|
|
334
|
+
const Ue = (e) => {
|
|
335
|
+
const r = [
|
|
336
|
+
O.value.getRowClass?.(e)
|
|
337
|
+
];
|
|
338
|
+
if (!e.node.rowPinned) {
|
|
339
|
+
const a = ne(o.rowClassName) ? o.rowClassName(e.data, e.rowIndex) : o.rowClassName;
|
|
340
|
+
r.push(a);
|
|
341
|
+
}
|
|
342
|
+
return r.flat().filter(Boolean);
|
|
343
|
+
};
|
|
344
|
+
return P(
|
|
337
345
|
() => o.dataSource,
|
|
338
346
|
(e) => {
|
|
339
347
|
Re(e);
|
|
340
348
|
},
|
|
341
349
|
{ immediate: !0, deep: !0 }
|
|
342
|
-
),
|
|
350
|
+
), P(
|
|
343
351
|
() => o.size,
|
|
344
352
|
(e) => {
|
|
345
353
|
y.value = e;
|
|
346
354
|
}
|
|
347
|
-
),
|
|
355
|
+
), P(
|
|
348
356
|
() => t(S).loading,
|
|
349
357
|
(e) => {
|
|
350
358
|
o.onLoadingChange?.(e);
|
|
351
359
|
}
|
|
352
|
-
),
|
|
360
|
+
), se({
|
|
353
361
|
submit: I,
|
|
354
362
|
reset: T,
|
|
355
|
-
refresh:
|
|
356
|
-
submitWith:
|
|
357
|
-
setSearchFormValues:
|
|
358
|
-
getSearchFormValues:
|
|
363
|
+
refresh: U,
|
|
364
|
+
submitWith: H,
|
|
365
|
+
setSearchFormValues: J,
|
|
366
|
+
getSearchFormValues: q,
|
|
359
367
|
getShowColumns: () => t(f),
|
|
360
368
|
rowSelection: {
|
|
361
|
-
selectedRows: l(() =>
|
|
362
|
-
setSelectedRowKeys:
|
|
363
|
-
clearAll:
|
|
369
|
+
selectedRows: l(() => N.value),
|
|
370
|
+
setSelectedRowKeys: Ee,
|
|
371
|
+
clearAll: K
|
|
364
372
|
},
|
|
365
373
|
scrollToRow: Le,
|
|
366
374
|
getDataSource: () => t(S.records),
|
|
367
|
-
getPaging:
|
|
368
|
-
setPaging:
|
|
369
|
-
getSearchFormSorterItems:
|
|
370
|
-
setSearchFormSorterItems:
|
|
371
|
-
resetSearchFormSorterItems:
|
|
372
|
-
}), (e, r) => (
|
|
375
|
+
getPaging: Ce,
|
|
376
|
+
setPaging: ve,
|
|
377
|
+
getSearchFormSorterItems: Q,
|
|
378
|
+
setSearchFormSorterItems: X,
|
|
379
|
+
resetSearchFormSorterItems: Y
|
|
380
|
+
}), (e, r) => (v(), z("div", {
|
|
373
381
|
class: m(Me.value),
|
|
374
|
-
style:
|
|
382
|
+
style: E(e.wrapperStyle)
|
|
375
383
|
}, [
|
|
376
|
-
t(b)(e.dataSource) && e.searchForm !== !1 && t(
|
|
384
|
+
t(b)(e.dataSource) && e.searchForm !== !1 && t(W).length > 0 ? (v(), z("div", {
|
|
377
385
|
key: 0,
|
|
378
386
|
class: m(e.card ? t(B)("search-wrapper") : null),
|
|
379
|
-
style:
|
|
387
|
+
style: E(e.searchFormWrapperStyle)
|
|
380
388
|
}, [
|
|
381
|
-
|
|
389
|
+
V(t(co).SearchForm, A(e.searchForm || {}, {
|
|
382
390
|
ref_key: "formRef",
|
|
383
391
|
ref: g,
|
|
384
392
|
"custom-reset": "",
|
|
385
|
-
"submit-loading": t(
|
|
393
|
+
"submit-loading": t(L).loading,
|
|
386
394
|
onSubmit: t(I),
|
|
387
395
|
onReset: t(T)
|
|
388
|
-
}),
|
|
389
|
-
default:
|
|
390
|
-
(
|
|
391
|
-
key:
|
|
396
|
+
}), Ye({
|
|
397
|
+
default: te(() => [
|
|
398
|
+
(v(!0), z(Ze, null, _e(t(W), (a) => (v(), re(eo(a.renderNode), {
|
|
399
|
+
key: a.dataIndex
|
|
392
400
|
}))), 128))
|
|
393
401
|
]),
|
|
394
402
|
_: 2
|
|
395
403
|
}, [
|
|
396
404
|
M.searchFormExtra ? {
|
|
397
405
|
name: "extra",
|
|
398
|
-
fn:
|
|
399
|
-
|
|
406
|
+
fn: te(() => [
|
|
407
|
+
ae(e.$slots, "searchFormExtra")
|
|
400
408
|
]),
|
|
401
409
|
key: "0"
|
|
402
410
|
} : void 0
|
|
403
411
|
]), 1040, ["submit-loading", "onSubmit", "onReset"])
|
|
404
|
-
], 6)) :
|
|
412
|
+
], 6)) : oe("", !0),
|
|
405
413
|
R("div", {
|
|
406
414
|
class: m([t(B)("table-wrapper"), e.card ? t(B)("table-wrapper-card") : null]),
|
|
407
|
-
style:
|
|
415
|
+
style: E(e.tableWrapperStyle)
|
|
408
416
|
}, [
|
|
409
417
|
R("div", {
|
|
410
|
-
class: m(t(
|
|
418
|
+
class: m(t(d)("header-wrapper"))
|
|
411
419
|
}, [
|
|
412
|
-
|
|
413
|
-
selectedRows: t(
|
|
420
|
+
ae(e.$slots, "title", {
|
|
421
|
+
selectedRows: t(N),
|
|
414
422
|
selectedRowKeys: t(Ie),
|
|
415
423
|
shownColumns: t(f),
|
|
416
|
-
clearAll:
|
|
424
|
+
clearAll: K
|
|
417
425
|
})
|
|
418
426
|
], 2),
|
|
419
427
|
R("div", {
|
|
420
|
-
class: m(t(
|
|
428
|
+
class: m(t(d)("grid-wrapper"))
|
|
421
429
|
}, [
|
|
422
|
-
|
|
430
|
+
V(t(ro), A(t(lo)(t(ce), t(O)), {
|
|
431
|
+
"get-row-class": Ue,
|
|
423
432
|
style: Oe.value,
|
|
424
433
|
"row-data": t(S).records,
|
|
425
434
|
"column-defs": t(ge),
|
|
426
435
|
"default-col-def": t(fe),
|
|
427
436
|
"suppress-loading-overlay": "",
|
|
428
|
-
"row-selection":
|
|
437
|
+
"row-selection": Ke.value,
|
|
429
438
|
"selection-column-def": t(be),
|
|
430
439
|
"get-row-id": je,
|
|
431
|
-
theme: t(
|
|
440
|
+
theme: t(de),
|
|
432
441
|
"tooltip-show-delay": 500,
|
|
433
442
|
"enable-browser-tooltips": e.browserTooltips,
|
|
434
443
|
"tooltip-interaction": "",
|
|
435
|
-
"no-rows-overlay-component":
|
|
444
|
+
"no-rows-overlay-component": To,
|
|
436
445
|
onSortChanged: we,
|
|
437
|
-
onGridReady: r[0] || (r[0] = (
|
|
438
|
-
onRowDataUpdated:
|
|
439
|
-
onRowSelected:
|
|
440
|
-
onFirstDataRendered:
|
|
446
|
+
onGridReady: r[0] || (r[0] = (a) => c.value = a.api),
|
|
447
|
+
onRowDataUpdated: $,
|
|
448
|
+
onRowSelected: Pe,
|
|
449
|
+
onFirstDataRendered: ze,
|
|
441
450
|
onRowClicked: Ge,
|
|
442
451
|
onBodyScrollEnd: He
|
|
443
452
|
}), null, 16, ["style", "row-data", "column-defs", "default-col-def", "row-selection", "selection-column-def", "theme", "enable-browser-tooltips"]),
|
|
444
|
-
|
|
453
|
+
oo(R("div", {
|
|
445
454
|
class: m(t(B)("table-loading-wrapper"))
|
|
446
455
|
}, [
|
|
447
|
-
|
|
456
|
+
V(t(so), { delay: 300 })
|
|
448
457
|
], 2), [
|
|
449
|
-
[
|
|
458
|
+
[to, Ae.value]
|
|
450
459
|
])
|
|
451
460
|
], 2),
|
|
452
461
|
R("div", {
|
|
453
|
-
class: m(t(
|
|
462
|
+
class: m(t(d)("pagination-wrapper"))
|
|
454
463
|
}, [
|
|
455
|
-
e.pagination !== !1 ? (
|
|
464
|
+
e.pagination !== !1 ? (v(), re(t(io), A({
|
|
456
465
|
key: 0,
|
|
457
|
-
class: t(
|
|
458
|
-
}, t(
|
|
466
|
+
class: t(d)("pagination")
|
|
467
|
+
}, t(L).pagination, { onChange: We }), null, 16, ["class"])) : oe("", !0)
|
|
459
468
|
], 2)
|
|
460
469
|
], 6)
|
|
461
470
|
], 6));
|
|
462
471
|
}
|
|
463
472
|
});
|
|
464
473
|
export {
|
|
465
|
-
|
|
474
|
+
rt as default
|
|
466
475
|
};
|
|
@@ -235,16 +235,22 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
|
|
|
235
235
|
virtual?: false | AgGridVirtualConfig;
|
|
236
236
|
/**
|
|
237
237
|
* 行点击事件
|
|
238
|
+
* @param event 事件
|
|
238
239
|
* @param record 行数据
|
|
239
240
|
* @returns
|
|
240
241
|
*/
|
|
241
|
-
onRowClicked?: (record: RecordType) => void;
|
|
242
|
+
onRowClicked?: (record: RecordType, event?: Event | null) => void;
|
|
242
243
|
/**
|
|
243
244
|
* 表格滚动结束后的事件
|
|
244
245
|
* @param direction
|
|
245
246
|
* @returns
|
|
246
247
|
*/
|
|
247
248
|
onScrollEnd?: (direction: ScrollDirection) => void;
|
|
249
|
+
/**
|
|
250
|
+
* 非固定行的的自定义行样式类
|
|
251
|
+
* @description 固定行自定义样式类请使用`summary.rowClassName`
|
|
252
|
+
*/
|
|
253
|
+
rowClassName?: string | string[] | ((data: RecordType, rowIndex: number) => string | string[]);
|
|
248
254
|
};
|
|
249
255
|
export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
250
256
|
/**
|
package/es/src/ag-grid/theme.mjs
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
import { useToken as d } from "@aplus-frontend/antdv/es/theme/internal";
|
|
2
2
|
import { themeQuartz as n } from "ag-grid-community";
|
|
3
3
|
import { computed as c } from "vue";
|
|
4
|
-
const
|
|
4
|
+
const h = (o, r) => {
|
|
5
5
|
const [, a] = d();
|
|
6
6
|
return c(() => {
|
|
7
|
-
const t =
|
|
7
|
+
const t = o.value === "mini", e = a.value;
|
|
8
8
|
return n.withParams({
|
|
9
9
|
headerHeight: "36px",
|
|
10
10
|
headerFontSize: "12px",
|
|
11
11
|
dataFontSize: "12px",
|
|
12
12
|
rowHeight: r.value,
|
|
13
13
|
spacing: t ? "5px" : "6.5px",
|
|
14
|
-
foregroundColor:
|
|
14
|
+
foregroundColor: e.colorTextBase,
|
|
15
15
|
wrapperBorder: !1,
|
|
16
|
-
rowBorder: { color:
|
|
17
|
-
headerRowBorder: { color:
|
|
18
|
-
selectedRowBackgroundColor:
|
|
19
|
-
checkboxCheckedBackgroundColor:
|
|
16
|
+
rowBorder: { color: e.colorBorderSecondary },
|
|
17
|
+
headerRowBorder: { color: e.colorBorderSecondary },
|
|
18
|
+
selectedRowBackgroundColor: e.controlItemBgActive,
|
|
19
|
+
checkboxCheckedBackgroundColor: e.colorPrimary,
|
|
20
20
|
rowHoverColor: "var(--ap-color-bg-2)",
|
|
21
21
|
headerBackgroundColor: "var(--ap-table-header-bg)",
|
|
22
22
|
headerColumnResizeHandleHeight: "50%",
|
|
23
|
-
headerColumnResizeHandleWidth: "1px"
|
|
23
|
+
headerColumnResizeHandleWidth: "1px",
|
|
24
|
+
wrapperBorderRadius: "4px"
|
|
24
25
|
});
|
|
25
26
|
});
|
|
26
27
|
};
|
|
27
28
|
export {
|
|
28
|
-
|
|
29
|
+
h as useTheme
|
|
29
30
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { isEmpty as
|
|
1
|
+
import { isEmpty as a } from "lodash-unified";
|
|
2
2
|
import { formatterMap as o } from "./formatter/index.mjs";
|
|
3
|
-
function
|
|
3
|
+
function m(r, e) {
|
|
4
4
|
const t = o[e.valueType];
|
|
5
5
|
return t ? t(r, e.extraProps || {}) : r.value;
|
|
6
6
|
}
|
|
@@ -15,15 +15,17 @@ function l(r, e) {
|
|
|
15
15
|
return r == null || r === "";
|
|
16
16
|
case "array":
|
|
17
17
|
case "attachment":
|
|
18
|
-
return
|
|
18
|
+
return a(r);
|
|
19
19
|
default:
|
|
20
20
|
return !r;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function u(r = {}, e) {
|
|
24
24
|
return e.fromGlobal ? {
|
|
25
25
|
...r,
|
|
26
|
-
downloadFile
|
|
26
|
+
downloadFile(t, n) {
|
|
27
|
+
return e.fromGlobal?.([{ fileName: n, objectName: t }]);
|
|
28
|
+
}
|
|
27
29
|
} : !r?.downloadFile && e.fromConfig ? {
|
|
28
30
|
...r,
|
|
29
31
|
downloadFile: e.fromConfig
|
|
@@ -31,6 +33,6 @@ function m(r = {}, e) {
|
|
|
31
33
|
}
|
|
32
34
|
export {
|
|
33
35
|
l as isEmptyWithType,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
u as mixinsAttachmentExtraProps,
|
|
37
|
+
m as transformValue
|
|
36
38
|
};
|
package/es/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "6.28.
|
|
1
|
+
declare const _default: "6.28.4";
|
|
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 e=require("vue"),Pe=require("ag-grid-vue3"),W=require("ag-grid-community"),G=require("@aplus-frontend/antdv"),S=require("lodash-unified");require("../config-provider/index.js");const De=require("../ap-form/index.js"),Ke=require("../ap-table/utils.js"),Ae=require("../ap-table/hooks/use-table-paging-ng.js"),Me=require("./hooks/use-row-selection.js"),Oe=require("./context.js"),Ue=require("../ap-table/context.js"),L=require("../ap-grid/constants.js"),je=require("@aplus-frontend/antdv/es/theme/internal"),We=require("./theme.js"),Ge=require("./hooks/use-columns.js"),Le=require("./hooks/use-columns-def.js"),$e=require("../utils/index.js"),He=require("../utils/slot.js"),_e=require("./hooks/use-search-form.js");require("./components/empty/index.vue.js");const Je=require("./hooks/use-virtual-config.js"),Qe=require("./hooks/use-pinned-row.js"),Xe=require("./hooks/use-selection-col-def.js"),Ye=require("../config-provider/hooks/use-namespace.js"),Ze=require("./components/empty/index.vue2.js"),eo=e.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customRow:{},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:{},columns:{},rowSelection:{type:Boolean},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{}},setup($,{expose:H}){W.ModuleRegistry.registerModules([W.AllCommunityModule]);const t=$,F=e.useSlots();function _(...o){return o.reduce((r,n)=>({...r,...n}),{})}const{e:C,b:u,be:J}=Ye.useNamespace("ag-grid"),w=e.ref(t.size),Q=We.useTheme(w,e.toRef(t,"rowHeight")),X=Je.default(e.toRef(t,"virtual")),{rowPinnedGridConfig:Y,getRowPinnedCellClass:Z}=Qe.usePinnedRow(e.toRef(t,"summary")),i=e.ref(),[,ee]=je.useToken();let d=!!t.dataSource;const q=_e.useSearchForm(t),{shownColumns:f,columns:z,columnKeys:oe}=Ge.useColumns(t),{defaultColDef:te,columnDefs:re}=Le.useColumnsDef(z,t,Z),v=e.ref({});Oe.useProvideSorter({sorter:v,setSorter(o){v.value=o}});const ne={asc:"ascend",desc:"descend"};function ae(){const o=i.value.getColumns()?.filter(l=>l.getSort()!==void 0),r=e.unref(v)||{};let n=o?.[0];const c=Object.keys(r);if(c.length&&c.every(l=>r[l]===null)){const l=Object.keys(r)[0];l&&(n=i.value?.getColumn(l))}if(!n)return;const s=n.getColDef(),g=n.getSort();I(void 0,void 0,{column:s,field:s.field,order:g?ne[g]:null})}const le=e.computed(()=>Ke.recursionApColumns(e.unref(f),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),se=e.computed(()=>$e.isDef(t.manual)?t.manual:He.getValidVNodeList(F.searchFormExtra?.()||[]).some(r=>r.type?.name==="ApView")),{formRef:p,submit:R,reset:b,data:m,tableProps:V,handleTableChangeOptional:I,submitWith:N,refresh:T,getPaging:ue,setPaging:ie,setDataSource:ce}=Ae.useTablePaging({async request(o){if(d=!1,!pe.value&&S.isUndefined(t.dataSource)&&x(),!S.isUndefined(t.dataSource)){const n=o.pageSize*(o.current-1);return{data:(t.pagination===!1?t.dataSource:t.dataSource.slice(n,n+o.pageSize))||[],total:t.dataSource.length||0}}const r=await t.request?.(o);return{data:r?.data||[],total:r?.total||0}},namespace:"ap-grid",filterFields:e.ref([]),params:e.toRef(t,"params"),defaultData:t.defaultData,manual:e.unref(se),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:le}),de=Xe.default(t,f),fe=e.computed(()=>S.isUndefined(t.dataSource)?m.records:t.dataSource),pe=e.computed(()=>{const o=t.rowSelection===!0?{}:t.rowSelection;return o?o.preserveSelectedRowKeys!==!1:!1}),{select:me,unSelect:ge,selectedRows:B,selectedRowKeys:Se,clearAll:we,selectMultiByKeys:ye}=Me.default({...t.rowSelection===!0?{}:t.rowSelection,dataSource:fe,rowKey:t.rowKey}),he={checkbox:"multiRow",radio:"singleRow"},Ce=e.computed(()=>{if(!t.rowSelection)return;const{type:o="checkbox",disabled:r}=t.rowSelection===!0?{}:t.rowSelection;return{mode:he[o],isRowSelectable:n=>r?!r(n.data):!0}});function k(o){return S.isFunction(t.rowKey)?t.rowKey(o):o[t.rowKey]}const E=({api:o=i.value})=>{if(!t.rowSelection)return;const r=B.value;if(!r.length){setTimeout(()=>{d=!0},0);return}d=!1;const n=[];o.forEachNode(c=>{const y=c.data,s=k(y);r.find(g=>k(g)===s)&&n.push(c)}),o.setNodesSelected({nodes:n,newValue:!0}),setTimeout(()=>{d=!0},0)},ve=o=>{d&&(o.node.isSelected()?me(o.data):ge(o.data))},Re=()=>{d=!0},x=()=>{we(),i.value?.deselectAll()};function be(o){ye(o),e.nextTick(()=>{E({})})}function P(o=!1){const r=o?"getFieldsValueTransformed":"getFieldsValue";return p.value?.apForm?.[r]?.(!0)}function D(o){p.value?.apForm?.setFieldsValue?.(o)}function K(){return p.value?.getSorterItems()||[]}function A(o){p.value?.setSorterItems(o)}function M(){p.value?.resetSorterItems()}function O(o){return o&&String(o)}function Be(o){const r=i.value;if(!r)return;const n=r.getColumnState()||[],c=o.map(a=>a.key?String(a.key):a.key).filter(Boolean),y=n.map(a=>{if(!oe.value.includes(a.colId))return a;const h=!c.includes(a.colId),U={...a,hide:h},j=o.find(Ee=>O(Ee.key)===a.colId);return j&&(U.pinned=j.fixed||null),U}),s=new Map(o.map((a,h)=>[O(a.key),h])),g=y.filter(a=>s.has(a.colId)).sort((a,h)=>s.get(a.colId)-s.get(h.colId)),l=[];let Te=0;for(const a of y)s.has(a.colId)?l.push(g[Te++]):l.push(a);r.applyColumnState({state:l,applyOrder:!0})}Ue.useProvideApTable({columns:e.computed(()=>f.value),columnsBackup:e.computed(()=>z.value),size:e.computed(()=>L.sizeMap[w.value]),updateColumns(o){console.log("run reset",o),f.value=o,t.onShownColumnsChange?.(o),Be(o)},updateSize(o){w.value=L.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:J("table-header","title"),color:ee.value.colorTextTertiary})),dataSource:e.computed(()=>e.unref(m).records),getSearchFormValues:P,setSearchFormValues:D,submit:R,submitWith:N,reset:b,refresh:T,getSearchFormSorterItems:K,setSearchFormSorterItems:A,resetSearchFormSorterItems:M});const ke=e.computed(()=>S.isUndefined(t.loading)?m.loading:t.loading),xe=e.computed(()=>[u(),t.card?null:u("wrapper"),u("adaptive"),u(`size-${w.value}`)].filter(Boolean)),Fe=e.computed(()=>({height:"100%",...t.tableStyle||{}})),qe=(o,r)=>{I({current:o,pageSize:r})};function ze(o){const r=o.data;return k(r)}function Ve(o,r){i.value?.ensureIndexVisible(o,r)}function Ie(o){t.onRowClicked?.(o.data)}function Ne(o){t.onScrollEnd?.(o.direction)}return e.watch(()=>t.dataSource,o=>{ce(o)},{immediate:!0,deep:!0}),e.watch(()=>t.size,o=>{w.value=o}),e.watch(()=>e.unref(m).loading,o=>{t.onLoadingChange?.(o)}),H({submit:R,reset:b,refresh:T,submitWith:N,setSearchFormValues:D,getSearchFormValues:P,getShowColumns:()=>e.unref(f),rowSelection:{selectedRows:e.computed(()=>B.value),setSelectedRowKeys:be,clearAll:x},scrollToRow:Ve,getDataSource:()=>e.unref(m.records),getPaging:ue,setPaging:ie,getSearchFormSorterItems:K,setSearchFormSorterItems:A,resetSearchFormSorterItems:M}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(xe.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(S.isUndefined)(o.dataSource)&&o.searchForm!==!1&&e.unref(q).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(C)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(De.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:p,"custom-reset":"","submit-loading":e.unref(V).loading,onSubmit:e.unref(R),onReset:e.unref(b)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(q),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode),{key:n.dataIndex}))),128))]),_:2},[F.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(C)("table-wrapper"),o.card?e.unref(C)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(B),selectedRowKeys:e.unref(Se),shownColumns:e.unref(f),clearAll:x})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("grid-wrapper"))},[e.createVNode(e.unref(Pe.AgGridVue),e.mergeProps(_(e.unref(X),e.unref(Y)),{style:Fe.value,"row-data":e.unref(m).records,"column-defs":e.unref(re),"default-col-def":e.unref(te),"suppress-loading-overlay":"","row-selection":Ce.value,"selection-column-def":e.unref(de),"get-row-id":ze,theme:e.unref(Q),"tooltip-show-delay":500,"enable-browser-tooltips":o.browserTooltips,"tooltip-interaction":"","no-rows-overlay-component":Ze.default,onSortChanged:ae,onGridReady:r[0]||(r[0]=n=>i.value=n.api),onRowDataUpdated:E,onRowSelected:ve,onFirstDataRendered:Re,onRowClicked:Ie,onBodyScrollEnd:Ne}),null,16,["style","row-data","column-defs","default-col-def","row-selection","selection-column-def","theme","enable-browser-tooltips"]),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(C)("table-loading-wrapper"))},[e.createVNode(e.unref(G.Spin),{delay:300})],2),[[e.vShow,ke.value]])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("pagination-wrapper"))},[o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(G.Pagination),e.mergeProps({key:0,class:e.unref(u)("pagination")},e.unref(V).pagination,{onChange:qe}),null,16,["class"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=eo;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Ee=require("ag-grid-vue3"),$=require("ag-grid-community"),De=require("./utils.js"),G=require("@aplus-frontend/antdv"),d=require("lodash-unified");require("../config-provider/index.js");const Ke=require("../ap-form/index.js"),Ae=require("../ap-table/utils.js"),Me=require("../ap-table/hooks/use-table-paging-ng.js"),Oe=require("./hooks/use-row-selection.js"),Ue=require("./context.js"),je=require("../ap-table/context.js"),L=require("../ap-grid/constants.js"),We=require("@aplus-frontend/antdv/es/theme/internal"),$e=require("./theme.js"),Ge=require("./hooks/use-columns.js"),Le=require("./hooks/use-columns-def.js"),He=require("../utils/index.js"),_e=require("../utils/slot.js"),Je=require("./hooks/use-search-form.js");require("./components/empty/index.vue.js");const Qe=require("./hooks/use-virtual-config.js"),Xe=require("./hooks/use-pinned-row.js"),Ye=require("./hooks/use-selection-col-def.js"),Ze=require("../config-provider/hooks/use-namespace.js"),eo=require("./components/empty/index.vue2.js"),oo=e.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customRow:{},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:{},columns:{},rowSelection:{type:Boolean},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{}},setup(H,{expose:_}){$.ModuleRegistry.registerModules([$.AllCommunityModule]);const t=H,F=e.useSlots(),{e:C,b:u,be:J}=Ze.useNamespace("ag-grid"),w=e.ref(t.size),Q=$e.useTheme(w,e.toRef(t,"rowHeight")),X=Qe.default(e.toRef(t,"virtual")),{rowPinnedGridConfig:q,getRowPinnedCellClass:Y}=Xe.usePinnedRow(e.toRef(t,"summary")),i=e.ref(),[,Z]=We.useToken();let f=!!t.dataSource;const N=Je.useSearchForm(t),{shownColumns:m,columns:z,columnKeys:ee}=Ge.useColumns(t),{defaultColDef:oe,columnDefs:te}=Le.useColumnsDef(z,t,Y),v=e.ref({});Ue.useProvideSorter({sorter:v,setSorter(o){v.value=o}});const re={asc:"ascend",desc:"descend"};function ne(){const o=i.value.getColumns()?.filter(l=>l.getSort()!==void 0),r=e.unref(v)||{};let n=o?.[0];const c=Object.keys(r);if(c.length&&c.every(l=>r[l]===null)){const l=Object.keys(r)[0];l&&(n=i.value?.getColumn(l))}if(!n)return;const s=n.getColDef(),S=n.getSort();P(void 0,void 0,{column:s,field:s.field,order:S?re[S]:null})}const ae=e.computed(()=>Ae.recursionApColumns(e.unref(m),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),le=e.computed(()=>He.isDef(t.manual)?t.manual:_e.getValidVNodeList(F.searchFormExtra?.()||[]).some(r=>r.type?.name==="ApView")),{formRef:p,submit:R,reset:b,data:g,tableProps:I,handleTableChangeOptional:P,submitWith:T,refresh:V,getPaging:se,setPaging:ue,setDataSource:ie}=Me.useTablePaging({async request(o){if(f=!1,!fe.value&&d.isUndefined(t.dataSource)&&x(),!d.isUndefined(t.dataSource)){const n=o.pageSize*(o.current-1);return{data:(t.pagination===!1?t.dataSource:t.dataSource.slice(n,n+o.pageSize))||[],total:t.dataSource.length||0}}const r=await t.request?.(o);return{data:r?.data||[],total:r?.total||0}},namespace:"ap-grid",filterFields:e.ref([]),params:e.toRef(t,"params"),defaultData:t.defaultData,manual:e.unref(le),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:ae}),ce=Ye.default(t,m),de=e.computed(()=>d.isUndefined(t.dataSource)?g.records:t.dataSource),fe=e.computed(()=>{const o=t.rowSelection===!0?{}:t.rowSelection;return o?o.preserveSelectedRowKeys!==!1:!1}),{select:me,unSelect:pe,selectedRows:B,selectedRowKeys:ge,clearAll:Se,selectMultiByKeys:we}=Oe.default({...t.rowSelection===!0?{}:t.rowSelection,dataSource:de,rowKey:t.rowKey}),ye={checkbox:"multiRow",radio:"singleRow"},he=e.computed(()=>{if(!t.rowSelection)return;const{type:o="checkbox",disabled:r}=t.rowSelection===!0?{}:t.rowSelection;return{mode:ye[o],isRowSelectable:n=>r?!r(n.data):!0}});function k(o){return d.isFunction(t.rowKey)?t.rowKey(o):o[t.rowKey]}const E=({api:o=i.value})=>{if(!t.rowSelection)return;const r=B.value;if(!r.length){setTimeout(()=>{f=!0},0);return}f=!1;const n=[];o.forEachNode(c=>{const y=c.data,s=k(y);r.find(S=>k(S)===s)&&n.push(c)}),o.setNodesSelected({nodes:n,newValue:!0}),setTimeout(()=>{f=!0},0)},Ce=o=>{f&&(o.node.isSelected()?me(o.data):pe(o.data))},ve=()=>{f=!0},x=()=>{Se(),i.value?.deselectAll()};function Re(o){we(o),e.nextTick(()=>{E({})})}function D(o=!1){const r=o?"getFieldsValueTransformed":"getFieldsValue";return p.value?.apForm?.[r]?.(!0)}function K(o){p.value?.apForm?.setFieldsValue?.(o)}function A(){return p.value?.getSorterItems()||[]}function M(o){p.value?.setSorterItems(o)}function O(){p.value?.resetSorterItems()}function U(o){return o&&String(o)}function be(o){const r=i.value;if(!r)return;const n=r.getColumnState()||[],c=o.map(a=>a.key?String(a.key):a.key).filter(Boolean),y=n.map(a=>{if(!ee.value.includes(a.colId))return a;const h=!c.includes(a.colId),j={...a,hide:h},W=o.find(Ve=>U(Ve.key)===a.colId);return W&&(j.pinned=W.fixed||null),j}),s=new Map(o.map((a,h)=>[U(a.key),h])),S=y.filter(a=>s.has(a.colId)).sort((a,h)=>s.get(a.colId)-s.get(h.colId)),l=[];let Te=0;for(const a of y)s.has(a.colId)?l.push(S[Te++]):l.push(a);r.applyColumnState({state:l,applyOrder:!0})}je.useProvideApTable({columns:e.computed(()=>m.value),columnsBackup:e.computed(()=>z.value),size:e.computed(()=>L.sizeMap[w.value]),updateColumns(o){console.log("run reset",o),m.value=o,t.onShownColumnsChange?.(o),be(o)},updateSize(o){w.value=L.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:J("table-header","title"),color:Z.value.colorTextTertiary})),dataSource:e.computed(()=>e.unref(g).records),getSearchFormValues:D,setSearchFormValues:K,submit:R,submitWith:T,reset:b,refresh:V,getSearchFormSorterItems:A,setSearchFormSorterItems:M,resetSearchFormSorterItems:O});const Be=e.computed(()=>d.isUndefined(t.loading)?g.loading:t.loading),ke=e.computed(()=>[u(),t.card?null:u("wrapper"),u("adaptive"),u(`size-${w.value}`)].filter(Boolean)),xe=e.computed(()=>({height:"100%",...t.tableStyle||{}})),Fe=(o,r)=>{P({current:o,pageSize:r})};function qe(o){const r=o.data;return k(r)}function Ne(o,r){i.value?.ensureIndexVisible(o,r)}function ze(o){t.onRowClicked?.(o.data,o.event)}function Ie(o){t.onScrollEnd?.(o.direction)}const Pe=o=>{const r=[q.value.getRowClass?.(o)];if(!o.node.rowPinned){const n=d.isFunction(t.rowClassName)?t.rowClassName(o.data,o.rowIndex):t.rowClassName;r.push(n)}return r.flat().filter(Boolean)};return e.watch(()=>t.dataSource,o=>{ie(o)},{immediate:!0,deep:!0}),e.watch(()=>t.size,o=>{w.value=o}),e.watch(()=>e.unref(g).loading,o=>{t.onLoadingChange?.(o)}),_({submit:R,reset:b,refresh:V,submitWith:T,setSearchFormValues:K,getSearchFormValues:D,getShowColumns:()=>e.unref(m),rowSelection:{selectedRows:e.computed(()=>B.value),setSelectedRowKeys:Re,clearAll:x},scrollToRow:Ne,getDataSource:()=>e.unref(g.records),getPaging:se,setPaging:ue,getSearchFormSorterItems:A,setSearchFormSorterItems:M,resetSearchFormSorterItems:O}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(ke.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(d.isUndefined)(o.dataSource)&&o.searchForm!==!1&&e.unref(N).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(C)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(Ke.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:p,"custom-reset":"","submit-loading":e.unref(I).loading,onSubmit:e.unref(R),onReset:e.unref(b)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode),{key:n.dataIndex}))),128))]),_:2},[F.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(C)("table-wrapper"),o.card?e.unref(C)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(B),selectedRowKeys:e.unref(ge),shownColumns:e.unref(m),clearAll:x})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("grid-wrapper"))},[e.createVNode(e.unref(Ee.AgGridVue),e.mergeProps(e.unref(De.mergeProps)(e.unref(X),e.unref(q)),{"get-row-class":Pe,style:xe.value,"row-data":e.unref(g).records,"column-defs":e.unref(te),"default-col-def":e.unref(oe),"suppress-loading-overlay":"","row-selection":he.value,"selection-column-def":e.unref(ce),"get-row-id":qe,theme:e.unref(Q),"tooltip-show-delay":500,"enable-browser-tooltips":o.browserTooltips,"tooltip-interaction":"","no-rows-overlay-component":eo.default,onSortChanged:ne,onGridReady:r[0]||(r[0]=n=>i.value=n.api),onRowDataUpdated:E,onRowSelected:Ce,onFirstDataRendered:ve,onRowClicked:ze,onBodyScrollEnd:Ie}),null,16,["style","row-data","column-defs","default-col-def","row-selection","selection-column-def","theme","enable-browser-tooltips"]),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(C)("table-loading-wrapper"))},[e.createVNode(e.unref(G.Spin),{delay:300})],2),[[e.vShow,Be.value]])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(u)("pagination-wrapper"))},[o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(G.Pagination),e.mergeProps({key:0,class:e.unref(u)("pagination")},e.unref(I).pagination,{onChange:Fe}),null,16,["class"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=oo;
|
|
@@ -235,16 +235,22 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
|
|
|
235
235
|
virtual?: false | AgGridVirtualConfig;
|
|
236
236
|
/**
|
|
237
237
|
* 行点击事件
|
|
238
|
+
* @param event 事件
|
|
238
239
|
* @param record 行数据
|
|
239
240
|
* @returns
|
|
240
241
|
*/
|
|
241
|
-
onRowClicked?: (record: RecordType) => void;
|
|
242
|
+
onRowClicked?: (record: RecordType, event?: Event | null) => void;
|
|
242
243
|
/**
|
|
243
244
|
* 表格滚动结束后的事件
|
|
244
245
|
* @param direction
|
|
245
246
|
* @returns
|
|
246
247
|
*/
|
|
247
248
|
onScrollEnd?: (direction: ScrollDirection) => void;
|
|
249
|
+
/**
|
|
250
|
+
* 非固定行的的自定义行样式类
|
|
251
|
+
* @description 固定行自定义样式类请使用`summary.rowClassName`
|
|
252
|
+
*/
|
|
253
|
+
rowClassName?: string | string[] | ((data: RecordType, rowIndex: number) => string | string[]);
|
|
248
254
|
};
|
|
249
255
|
export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
250
256
|
/**
|
package/lib/src/ag-grid/theme.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@aplus-frontend/antdv/es/theme/internal"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@aplus-frontend/antdv/es/theme/internal"),d=require("ag-grid-community"),c=require("vue"),i=(r,o)=>{const[,a]=n.useToken();return c.computed(()=>{const t=r.value==="mini",e=a.value;return d.themeQuartz.withParams({headerHeight:"36px",headerFontSize:"12px",dataFontSize:"12px",rowHeight:o.value,spacing:t?"5px":"6.5px",foregroundColor:e.colorTextBase,wrapperBorder:!1,rowBorder:{color:e.colorBorderSecondary},headerRowBorder:{color:e.colorBorderSecondary},selectedRowBackgroundColor:e.controlItemBgActive,checkboxCheckedBackgroundColor:e.colorPrimary,rowHoverColor:"var(--ap-color-bg-2)",headerBackgroundColor:"var(--ap-table-header-bg)",headerColumnResizeHandleHeight:"50%",headerColumnResizeHandleWidth:"1px",wrapperBorderRadius:"4px"})})};exports.useTheme=i;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(...e){return e.reduce((r,t)=>({...r,...t}),{})}exports.mergeProps=o;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("lodash-unified"),i=require("./formatter/index.js");function o(e,r){const t=i.formatterMap[r.valueType];return t?t(e,r.extraProps||{}):e.value}function f(e,r){if(r.isShowEmptyPlaceholder===!1)return!1;switch(r.valueType){case"text":case"number":case"dateRange":case"date":return e==null||e==="";case"array":case"attachment":return a.isEmpty(e);default:return!e}}function l(e={},r){return r.fromGlobal?{...e,downloadFile(t,n){return r.fromGlobal?.([{fileName:n,objectName:t}])}}:!e?.downloadFile&&r.fromConfig?{...e,downloadFile:r.fromConfig}:e}exports.isEmptyWithType=f;exports.mixinsAttachmentExtraProps=l;exports.transformValue=o;
|
package/lib/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "6.28.
|
|
1
|
+
declare const _default: "6.28.4";
|
|
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="6.28.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="6.28.4";exports.default=e;
|
package/package.json
CHANGED
package/theme/ag-grid/index.css
CHANGED
package/theme/ag-grid/index.less
CHANGED
|
@@ -154,16 +154,12 @@
|
|
|
154
154
|
max-width: 300px;
|
|
155
155
|
word-break: break-all;
|
|
156
156
|
}
|
|
157
|
-
// .ag-pinned-left-header, .ag-pinned-left-cols-container {
|
|
158
|
-
// z-index: 1;
|
|
159
|
-
// box-shadow: 8px 0px 10px -5px var(--ap-grid-fixed-scrolling-box-shadow-color);
|
|
160
|
-
// border-right-color: transparent !important;
|
|
161
|
-
// }
|
|
162
|
-
// .ag-cell-last-left-pinned {
|
|
163
|
-
// border-right-color: transparent !important;
|
|
164
|
-
// }
|
|
165
157
|
.ag-unselectable {
|
|
166
158
|
user-select: text;
|
|
167
159
|
-webkit-user-select: text;
|
|
168
160
|
}
|
|
161
|
+
// avoid cell selectable style
|
|
162
|
+
.ag-cell-focus:not(.ag-cell-range-selected):focus-within {
|
|
163
|
+
border-color: transparent;
|
|
164
|
+
}
|
|
169
165
|
});
|
package/theme/index.css
CHANGED
|
@@ -1755,6 +1755,8 @@
|
|
|
1755
1755
|
flex-shrink: 0;
|
|
1756
1756
|
width: 16px;
|
|
1757
1757
|
margin-left: 4px;
|
|
1758
|
+
display: flex;
|
|
1759
|
+
align-items: center;
|
|
1758
1760
|
}
|
|
1759
1761
|
.aplus-ap-copy__copy-btn .aplus-frontend-icon {
|
|
1760
1762
|
cursor: pointer;
|
|
@@ -4387,6 +4389,9 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
|
|
|
4387
4389
|
user-select: text;
|
|
4388
4390
|
-webkit-user-select: text;
|
|
4389
4391
|
}
|
|
4392
|
+
.aplus-ag-grid .ag-cell-focus:not(.ag-cell-range-selected):focus-within {
|
|
4393
|
+
border-color: transparent;
|
|
4394
|
+
}
|
|
4390
4395
|
.aplus-ap-value-select-card {
|
|
4391
4396
|
position: relative;
|
|
4392
4397
|
margin-top: 8px;
|