@aplus-frontend/ui 6.28.4 → 6.29.1
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/hooks/use-search-form.mjs +7 -7
- package/es/src/ag-grid/hooks/use-selection-col-def.mjs +14 -13
- package/es/src/ag-grid/index.vue.mjs +103 -92
- package/es/src/ag-grid/interface.d.ts +17 -1
- package/es/src/ag-grid/utils.d.ts +7 -0
- package/es/src/ag-grid/utils.mjs +15 -3
- package/es/src/business/ap-table-modal/interface.d.ts +2 -0
- package/es/src/business/ap-table-modal/table-modal.vue2.mjs +40 -35
- package/es/src/version.d.ts +1 -1
- package/es/src/version.mjs +1 -1
- package/lib/src/ag-grid/hooks/use-search-form.js +1 -1
- package/lib/src/ag-grid/hooks/use-selection-col-def.js +1 -1
- package/lib/src/ag-grid/index.vue.js +1 -1
- package/lib/src/ag-grid/interface.d.ts +17 -1
- package/lib/src/ag-grid/utils.d.ts +7 -0
- package/lib/src/ag-grid/utils.js +1 -1
- package/lib/src/business/ap-table-modal/interface.d.ts +2 -0
- package/lib/src/business/ap-table-modal/table-modal.vue2.js +1 -1
- package/lib/src/version.d.ts +1 -1
- package/lib/src/version.js +1 -1
- package/package.json +3 -3
- package/theme/ag-grid/index.css +0 -3
- package/theme/ag-grid/index.less +0 -4
- package/theme/index.css +0 -3
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
import { noRenderAsFormItemValueList as s } from "../../ap-table/constants.mjs";
|
|
2
2
|
import { computed as p, unref as l } from "vue";
|
|
3
|
-
import { getColumnOrder as d, updateFormProps as
|
|
3
|
+
import { getColumnOrder as d, updateFormProps as u, getFieldProps as m, getSearchFormItemRenderNode as i } from "../../ap-table/utils.mjs";
|
|
4
4
|
import "../../config-provider/index.mjs";
|
|
5
5
|
import { useGlobalConfig as c } from "../../config-provider/hooks/use-global-config.mjs";
|
|
6
|
-
const
|
|
6
|
+
const P = (n) => {
|
|
7
7
|
let t = 0;
|
|
8
8
|
const a = c("valueTypeMap");
|
|
9
9
|
return p(() => (t++, n.columns?.filter(
|
|
10
|
-
(e) => !e.hideInSearch && e.dataIndex && (e.valueType || e.customRenderFormItem) && !s.includes(e.valueType)
|
|
10
|
+
(e) => !e.hideInSearch && (e.dataIndex || e.key) && (e.valueType || e.customRenderFormItem) && !s.includes(e.valueType)
|
|
11
11
|
)?.sort((e, o) => {
|
|
12
12
|
const r = d(e.order);
|
|
13
13
|
return d(o.order) - r;
|
|
14
14
|
})?.map((e) => {
|
|
15
|
-
const o =
|
|
15
|
+
const o = u(
|
|
16
16
|
e,
|
|
17
|
-
|
|
17
|
+
m(e.fieldProps, {})
|
|
18
18
|
), r = {
|
|
19
19
|
...e,
|
|
20
20
|
fieldProps: {
|
|
21
21
|
label: e.title,
|
|
22
|
-
name: e.dataIndex,
|
|
22
|
+
name: e.dataIndex || e.key,
|
|
23
23
|
// tips: 在表格中的查询表单项默认是带边框的
|
|
24
24
|
bordered: !0,
|
|
25
25
|
...o || {},
|
|
@@ -34,5 +34,5 @@ const h = (n) => {
|
|
|
34
34
|
}) || []));
|
|
35
35
|
};
|
|
36
36
|
export {
|
|
37
|
-
|
|
37
|
+
P as useSearchForm
|
|
38
38
|
};
|
|
@@ -1,35 +1,36 @@
|
|
|
1
|
-
import { computed as
|
|
1
|
+
import { computed as u } from "vue";
|
|
2
2
|
import { isFunction as s } from "lodash-unified";
|
|
3
3
|
import "../../ap-grid/index.mjs";
|
|
4
|
-
import {
|
|
5
|
-
|
|
4
|
+
import { pxToNumber as a } from "../utils.mjs";
|
|
5
|
+
import { ROW_SELECTION_FIELD as d } from "../../ap-grid/constants.mjs";
|
|
6
|
+
function w(e) {
|
|
6
7
|
return e?.bottom?.length || e?.top?.length;
|
|
7
8
|
}
|
|
8
|
-
const
|
|
9
|
+
const D = (e, l) => u(() => {
|
|
9
10
|
if (!e.rowSelection)
|
|
10
11
|
return;
|
|
11
|
-
const
|
|
12
|
+
const n = e.rowSelection === !0 ? {} : e.rowSelection, o = {
|
|
12
13
|
sortable: !1,
|
|
13
14
|
resizable: !1,
|
|
14
|
-
width:
|
|
15
|
+
width: a(n.columnWidth, 60)
|
|
15
16
|
};
|
|
16
|
-
let
|
|
17
|
-
if (
|
|
17
|
+
let i = n.fixed;
|
|
18
|
+
if (i === void 0 && (i = l.value.some(
|
|
18
19
|
(t) => t.fixed === "left" || t.fixed === !0
|
|
19
|
-
) ? "left" : void 0), o.pinned =
|
|
20
|
+
) ? "left" : void 0), o.pinned = i, w(e.summary)) {
|
|
20
21
|
const { cellClassName: t } = e.summary;
|
|
21
22
|
o.cellClass = ({
|
|
22
23
|
node: r,
|
|
23
24
|
data: f,
|
|
24
25
|
colDef: c,
|
|
25
|
-
rowIndex:
|
|
26
|
+
rowIndex: m
|
|
26
27
|
}) => {
|
|
27
28
|
if (!(!r.rowPinned || !t))
|
|
28
|
-
return s(t) ? t(f, c, r.rowPinned,
|
|
29
|
-
}, o.cellRenderer = ({ data: r }) => r?.[
|
|
29
|
+
return s(t) ? t(f, c, r.rowPinned, m) : t;
|
|
30
|
+
}, o.cellRenderer = ({ data: r }) => r?.[d];
|
|
30
31
|
}
|
|
31
32
|
return o;
|
|
32
33
|
});
|
|
33
34
|
export {
|
|
34
|
-
|
|
35
|
+
D as default
|
|
35
36
|
};
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { AgGridVue as
|
|
3
|
-
import { ModuleRegistry as
|
|
4
|
-
import { mergeProps as
|
|
5
|
-
import { Spin as
|
|
1
|
+
import { defineComponent as Xe, useSlots as Ye, ref as F, toRef as k, unref as t, computed as l, nextTick as Ze, 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 _e, withCtx as te, Fragment as eo, renderList as oo, createBlock as re, resolveDynamicComponent as to, renderSlot as ae, withDirectives as ro, vShow as ao } from "vue";
|
|
2
|
+
import { AgGridVue as no } from "ag-grid-vue3";
|
|
3
|
+
import { ModuleRegistry as lo, AllCommunityModule as so } from "ag-grid-community";
|
|
4
|
+
import { mergeProps as io } from "./utils.mjs";
|
|
5
|
+
import { Spin as co, Pagination as uo } from "@aplus-frontend/antdv";
|
|
6
6
|
import { isUndefined as b, isFunction as ne } from "lodash-unified";
|
|
7
7
|
import "../config-provider/index.mjs";
|
|
8
|
-
import { ApForm as
|
|
9
|
-
import { recursionApColumns as
|
|
10
|
-
import { useTablePaging as
|
|
11
|
-
import
|
|
12
|
-
import { useProvideSorter as
|
|
13
|
-
import { useProvideApTable as
|
|
14
|
-
import { sizeReverseMap as
|
|
15
|
-
import { useToken as
|
|
16
|
-
import { useTheme as
|
|
17
|
-
import { useColumns as
|
|
18
|
-
import { useColumnsDef as
|
|
19
|
-
import { isDef as
|
|
20
|
-
import { getValidVNodeList as
|
|
21
|
-
import { useSearchForm as
|
|
8
|
+
import { ApForm as mo } from "../ap-form/index.mjs";
|
|
9
|
+
import { recursionApColumns as po } from "../ap-table/utils.mjs";
|
|
10
|
+
import { useTablePaging as fo } from "../ap-table/hooks/use-table-paging-ng.mjs";
|
|
11
|
+
import wo from "./hooks/use-row-selection.mjs";
|
|
12
|
+
import { useProvideSorter as go } from "./context.mjs";
|
|
13
|
+
import { useProvideApTable as So } from "../ap-table/context.mjs";
|
|
14
|
+
import { sizeReverseMap as yo, sizeMap as ho } from "../ap-grid/constants.mjs";
|
|
15
|
+
import { useToken as Co } from "@aplus-frontend/antdv/es/theme/internal";
|
|
16
|
+
import { useTheme as vo } from "./theme.mjs";
|
|
17
|
+
import { useColumns as Ro } from "./hooks/use-columns.mjs";
|
|
18
|
+
import { useColumnsDef as bo } from "./hooks/use-columns-def.mjs";
|
|
19
|
+
import { isDef as Bo } from "../utils/index.mjs";
|
|
20
|
+
import { getValidVNodeList as Fo } from "../utils/slot.mjs";
|
|
21
|
+
import { useSearchForm as ko } from "./hooks/use-search-form.mjs";
|
|
22
22
|
import "./components/empty/index.vue.mjs";
|
|
23
|
-
import
|
|
24
|
-
import { usePinnedRow as
|
|
25
|
-
import
|
|
26
|
-
import { useNamespace as
|
|
27
|
-
import
|
|
28
|
-
const
|
|
23
|
+
import xo from "./hooks/use-virtual-config.mjs";
|
|
24
|
+
import { usePinnedRow as Io } from "./hooks/use-pinned-row.mjs";
|
|
25
|
+
import To from "./hooks/use-selection-col-def.mjs";
|
|
26
|
+
import { useNamespace as No } from "../config-provider/hooks/use-namespace.mjs";
|
|
27
|
+
import Do from "./components/empty/index.vue2.mjs";
|
|
28
|
+
const nt = /* @__PURE__ */ Xe({
|
|
29
29
|
name: "AgGrid",
|
|
30
30
|
__name: "index",
|
|
31
31
|
props: {
|
|
@@ -93,54 +93,55 @@ const rt = /* @__PURE__ */ Je({
|
|
|
93
93
|
virtual: { type: [Boolean, Object], default: void 0 },
|
|
94
94
|
onRowClicked: {},
|
|
95
95
|
onScrollEnd: {},
|
|
96
|
-
rowClassName: {}
|
|
96
|
+
rowClassName: {},
|
|
97
|
+
rowClassRules: {}
|
|
97
98
|
},
|
|
98
99
|
setup(le, { expose: se }) {
|
|
99
|
-
|
|
100
|
-
const o = le, M =
|
|
100
|
+
lo.registerModules([so]);
|
|
101
|
+
const o = le, M = Ye(), { e: B, b: d, be: ie } = No("ag-grid"), y = F(o.size), ce = vo(y, k(o, "rowHeight")), de = xo(k(o, "virtual")), { rowPinnedGridConfig: O, getRowPinnedCellClass: ue } = Io(
|
|
101
102
|
k(o, "summary")
|
|
102
|
-
), c = F(), [, me] =
|
|
103
|
+
), c = F(), [, me] = Co();
|
|
103
104
|
let p = !!o.dataSource;
|
|
104
|
-
const W =
|
|
105
|
+
const W = ko(o), { shownColumns: f, columns: j, columnKeys: pe } = Ro(o), { defaultColDef: fe, columnDefs: we } = bo(
|
|
105
106
|
j,
|
|
106
107
|
o,
|
|
107
108
|
ue
|
|
108
109
|
), x = F({});
|
|
109
|
-
|
|
110
|
+
go({
|
|
110
111
|
sorter: x,
|
|
111
112
|
setSorter(e) {
|
|
112
113
|
x.value = e;
|
|
113
114
|
}
|
|
114
115
|
});
|
|
115
|
-
const
|
|
116
|
+
const ge = {
|
|
116
117
|
asc: "ascend",
|
|
117
118
|
desc: "descend"
|
|
118
119
|
};
|
|
119
|
-
function
|
|
120
|
-
const e = c.value.getColumns()?.filter((
|
|
120
|
+
function Se() {
|
|
121
|
+
const e = c.value.getColumns()?.filter((i) => i.getSort() !== void 0), r = t(x) || {};
|
|
121
122
|
let a = e?.[0];
|
|
122
123
|
const u = Object.keys(r);
|
|
123
|
-
if (u.length && u.every((
|
|
124
|
-
const
|
|
125
|
-
|
|
124
|
+
if (u.length && u.every((i) => r[i] === null)) {
|
|
125
|
+
const i = Object.keys(r)[0];
|
|
126
|
+
i && (a = c.value?.getColumn(i));
|
|
126
127
|
}
|
|
127
128
|
if (!a)
|
|
128
129
|
return;
|
|
129
|
-
const
|
|
130
|
+
const s = a.getColDef(), S = a.getSort();
|
|
130
131
|
G(void 0, void 0, {
|
|
131
|
-
column:
|
|
132
|
-
field:
|
|
133
|
-
order:
|
|
132
|
+
column: s,
|
|
133
|
+
field: s.field || s.colId,
|
|
134
|
+
order: S ? ge[S] : null
|
|
134
135
|
});
|
|
135
136
|
}
|
|
136
|
-
const ye = l(() =>
|
|
137
|
+
const ye = l(() => po(t(f), (e) => {
|
|
137
138
|
if (e.sorter === !0)
|
|
138
139
|
return e.key || e.dataIndex;
|
|
139
|
-
}).filter(Boolean)), he = l(() =>
|
|
140
|
-
formRef:
|
|
140
|
+
}).filter(Boolean)), he = l(() => Bo(o.manual) ? o.manual : Fo(M.searchFormExtra?.() || []).some((r) => r.type?.name === "ApView")), {
|
|
141
|
+
formRef: w,
|
|
141
142
|
submit: I,
|
|
142
143
|
reset: T,
|
|
143
|
-
data:
|
|
144
|
+
data: g,
|
|
144
145
|
tableProps: L,
|
|
145
146
|
handleTableChangeOptional: G,
|
|
146
147
|
submitWith: H,
|
|
@@ -148,7 +149,7 @@ const rt = /* @__PURE__ */ Je({
|
|
|
148
149
|
getPaging: Ce,
|
|
149
150
|
setPaging: ve,
|
|
150
151
|
setDataSource: Re
|
|
151
|
-
} =
|
|
152
|
+
} = fo({
|
|
152
153
|
async request(e) {
|
|
153
154
|
if (p = !1, !Fe.value && b(o.dataSource) && K(), !b(o.dataSource)) {
|
|
154
155
|
const a = e.pageSize * (e.current - 1);
|
|
@@ -171,8 +172,8 @@ const rt = /* @__PURE__ */ Je({
|
|
|
171
172
|
formatParams: o.beforeSearchSubmit,
|
|
172
173
|
pagination: o.pagination,
|
|
173
174
|
sortFields: ye
|
|
174
|
-
}), be =
|
|
175
|
-
() => b(o.dataSource) ?
|
|
175
|
+
}), be = To(o, f), Be = l(
|
|
176
|
+
() => b(o.dataSource) ? g.records : o.dataSource
|
|
176
177
|
), Fe = l(() => {
|
|
177
178
|
const e = o.rowSelection === !0 ? {} : o.rowSelection;
|
|
178
179
|
return e ? e.preserveSelectedRowKeys !== !1 : !1;
|
|
@@ -183,7 +184,7 @@ const rt = /* @__PURE__ */ Je({
|
|
|
183
184
|
selectedRowKeys: Ie,
|
|
184
185
|
clearAll: Te,
|
|
185
186
|
selectMultiByKeys: Ne
|
|
186
|
-
} =
|
|
187
|
+
} = wo({
|
|
187
188
|
...o.rowSelection === !0 ? {} : o.rowSelection,
|
|
188
189
|
dataSource: Be,
|
|
189
190
|
rowKey: o.rowKey
|
|
@@ -217,8 +218,8 @@ const rt = /* @__PURE__ */ Je({
|
|
|
217
218
|
p = !1;
|
|
218
219
|
const a = [];
|
|
219
220
|
e.forEachNode((u) => {
|
|
220
|
-
const h = u.data,
|
|
221
|
-
r.find((
|
|
221
|
+
const h = u.data, s = D(h);
|
|
222
|
+
r.find((S) => D(S) === s) && a.push(u);
|
|
222
223
|
}), e.setNodesSelected({ nodes: a, newValue: !0 }), setTimeout(() => {
|
|
223
224
|
p = !0;
|
|
224
225
|
}, 0);
|
|
@@ -230,25 +231,25 @@ const rt = /* @__PURE__ */ Je({
|
|
|
230
231
|
Te(), c.value?.deselectAll();
|
|
231
232
|
};
|
|
232
233
|
function Ee(e) {
|
|
233
|
-
Ne(e),
|
|
234
|
+
Ne(e), Ze(() => {
|
|
234
235
|
$({});
|
|
235
236
|
});
|
|
236
237
|
}
|
|
237
238
|
function q(e = !1) {
|
|
238
239
|
const r = e ? "getFieldsValueTransformed" : "getFieldsValue";
|
|
239
|
-
return
|
|
240
|
+
return w.value?.apForm?.[r]?.(!0);
|
|
240
241
|
}
|
|
241
242
|
function J(e) {
|
|
242
|
-
|
|
243
|
+
w.value?.apForm?.setFieldsValue?.(e);
|
|
243
244
|
}
|
|
244
245
|
function Q() {
|
|
245
|
-
return
|
|
246
|
+
return w.value?.getSorterItems() || [];
|
|
246
247
|
}
|
|
247
248
|
function X(e) {
|
|
248
|
-
|
|
249
|
+
w.value?.setSorterItems(e);
|
|
249
250
|
}
|
|
250
251
|
function Y() {
|
|
251
|
-
|
|
252
|
+
w.value?.resetSorterItems();
|
|
252
253
|
}
|
|
253
254
|
function Z(e) {
|
|
254
255
|
return e && String(e);
|
|
@@ -264,37 +265,37 @@ const rt = /* @__PURE__ */ Je({
|
|
|
264
265
|
...n,
|
|
265
266
|
hide: C
|
|
266
267
|
}, ee = e.find(
|
|
267
|
-
(
|
|
268
|
+
(Qe) => Z(Qe.key) === n.colId
|
|
268
269
|
);
|
|
269
270
|
return ee && (_.pinned = ee.fixed || null), _;
|
|
270
|
-
}),
|
|
271
|
+
}), s = new Map(
|
|
271
272
|
e.map((n, C) => [Z(n.key), C])
|
|
272
|
-
),
|
|
273
|
-
(n, C) =>
|
|
274
|
-
),
|
|
275
|
-
let
|
|
273
|
+
), S = h.filter((n) => s.has(n.colId)).sort(
|
|
274
|
+
(n, C) => s.get(n.colId) - s.get(C.colId)
|
|
275
|
+
), i = [];
|
|
276
|
+
let Je = 0;
|
|
276
277
|
for (const n of h)
|
|
277
|
-
|
|
278
|
+
s.has(n.colId) ? i.push(S[Je++]) : i.push(n);
|
|
278
279
|
r.applyColumnState({
|
|
279
|
-
state:
|
|
280
|
+
state: i,
|
|
280
281
|
applyOrder: !0
|
|
281
282
|
});
|
|
282
283
|
}
|
|
283
|
-
|
|
284
|
+
So({
|
|
284
285
|
columns: l(() => f.value),
|
|
285
286
|
columnsBackup: l(() => j.value),
|
|
286
|
-
size: l(() =>
|
|
287
|
+
size: l(() => ho[y.value]),
|
|
287
288
|
updateColumns(e) {
|
|
288
|
-
|
|
289
|
+
f.value = e, o.onShownColumnsChange?.(e), Ve(e);
|
|
289
290
|
},
|
|
290
291
|
updateSize(e) {
|
|
291
|
-
y.value =
|
|
292
|
+
y.value = yo[e];
|
|
292
293
|
},
|
|
293
294
|
renderConfig: l(() => ({
|
|
294
295
|
className: ie("table-header", "title"),
|
|
295
296
|
color: me.value.colorTextTertiary
|
|
296
297
|
})),
|
|
297
|
-
dataSource: l(() => t(
|
|
298
|
+
dataSource: l(() => t(g).records),
|
|
298
299
|
getSearchFormValues: q,
|
|
299
300
|
setSearchFormValues: J,
|
|
300
301
|
submit: I,
|
|
@@ -306,7 +307,7 @@ const rt = /* @__PURE__ */ Je({
|
|
|
306
307
|
resetSearchFormSorterItems: Y
|
|
307
308
|
});
|
|
308
309
|
const Ae = l(
|
|
309
|
-
() => b(o.loading) ?
|
|
310
|
+
() => b(o.loading) ? g.loading : o.loading
|
|
310
311
|
), Me = l(() => [
|
|
311
312
|
d(),
|
|
312
313
|
o.card ? null : d("wrapper"),
|
|
@@ -331,7 +332,13 @@ const rt = /* @__PURE__ */ Je({
|
|
|
331
332
|
function He(e) {
|
|
332
333
|
o.onScrollEnd?.(e.direction);
|
|
333
334
|
}
|
|
334
|
-
|
|
335
|
+
function Ue(e) {
|
|
336
|
+
return c.value?.refreshCells(e);
|
|
337
|
+
}
|
|
338
|
+
function $e(e) {
|
|
339
|
+
return c.value?.redrawRows(e);
|
|
340
|
+
}
|
|
341
|
+
const qe = (e) => {
|
|
335
342
|
const r = [
|
|
336
343
|
O.value.getRowClass?.(e)
|
|
337
344
|
];
|
|
@@ -353,7 +360,7 @@ const rt = /* @__PURE__ */ Je({
|
|
|
353
360
|
y.value = e;
|
|
354
361
|
}
|
|
355
362
|
), P(
|
|
356
|
-
() => t(
|
|
363
|
+
() => t(g).loading,
|
|
357
364
|
(e) => {
|
|
358
365
|
o.onLoadingChange?.(e);
|
|
359
366
|
}
|
|
@@ -371,12 +378,14 @@ const rt = /* @__PURE__ */ Je({
|
|
|
371
378
|
clearAll: K
|
|
372
379
|
},
|
|
373
380
|
scrollToRow: Le,
|
|
374
|
-
getDataSource: () => t(
|
|
381
|
+
getDataSource: () => t(g.records),
|
|
375
382
|
getPaging: Ce,
|
|
376
383
|
setPaging: ve,
|
|
377
384
|
getSearchFormSorterItems: Q,
|
|
378
385
|
setSearchFormSorterItems: X,
|
|
379
|
-
resetSearchFormSorterItems: Y
|
|
386
|
+
resetSearchFormSorterItems: Y,
|
|
387
|
+
refreshCells: Ue,
|
|
388
|
+
redrawRows: $e
|
|
380
389
|
}), (e, r) => (v(), z("div", {
|
|
381
390
|
class: m(Me.value),
|
|
382
391
|
style: E(e.wrapperStyle)
|
|
@@ -386,16 +395,16 @@ const rt = /* @__PURE__ */ Je({
|
|
|
386
395
|
class: m(e.card ? t(B)("search-wrapper") : null),
|
|
387
396
|
style: E(e.searchFormWrapperStyle)
|
|
388
397
|
}, [
|
|
389
|
-
V(t(
|
|
398
|
+
V(t(mo).SearchForm, A(e.searchForm || {}, {
|
|
390
399
|
ref_key: "formRef",
|
|
391
|
-
ref:
|
|
400
|
+
ref: w,
|
|
392
401
|
"custom-reset": "",
|
|
393
402
|
"submit-loading": t(L).loading,
|
|
394
403
|
onSubmit: t(I),
|
|
395
404
|
onReset: t(T)
|
|
396
|
-
}),
|
|
405
|
+
}), _e({
|
|
397
406
|
default: te(() => [
|
|
398
|
-
(v(!0), z(
|
|
407
|
+
(v(!0), z(eo, null, oo(t(W), (a) => (v(), re(to(a.renderNode), {
|
|
399
408
|
key: a.dataIndex
|
|
400
409
|
}))), 128))
|
|
401
410
|
]),
|
|
@@ -427,41 +436,43 @@ const rt = /* @__PURE__ */ Je({
|
|
|
427
436
|
R("div", {
|
|
428
437
|
class: m(t(d)("grid-wrapper"))
|
|
429
438
|
}, [
|
|
430
|
-
V(t(
|
|
431
|
-
"get-row-class":
|
|
439
|
+
V(t(no), A(t(io)(t(de), t(O)), {
|
|
440
|
+
"get-row-class": qe,
|
|
432
441
|
style: Oe.value,
|
|
433
|
-
"row-data": t(
|
|
434
|
-
"column-defs": t(
|
|
442
|
+
"row-data": t(g).records,
|
|
443
|
+
"column-defs": t(we),
|
|
435
444
|
"default-col-def": t(fe),
|
|
436
445
|
"suppress-loading-overlay": "",
|
|
437
446
|
"row-selection": Ke.value,
|
|
438
447
|
"selection-column-def": t(be),
|
|
439
448
|
"get-row-id": je,
|
|
440
|
-
theme: t(
|
|
449
|
+
theme: t(ce),
|
|
441
450
|
"tooltip-show-delay": 500,
|
|
442
451
|
"enable-browser-tooltips": e.browserTooltips,
|
|
443
452
|
"tooltip-interaction": "",
|
|
444
|
-
"
|
|
445
|
-
|
|
453
|
+
"row-class-rules": e.rowClassRules,
|
|
454
|
+
"no-rows-overlay-component": Do,
|
|
455
|
+
"suppress-cell-focus": "",
|
|
456
|
+
onSortChanged: Se,
|
|
446
457
|
onGridReady: r[0] || (r[0] = (a) => c.value = a.api),
|
|
447
458
|
onRowDataUpdated: $,
|
|
448
459
|
onRowSelected: Pe,
|
|
449
460
|
onFirstDataRendered: ze,
|
|
450
461
|
onRowClicked: Ge,
|
|
451
462
|
onBodyScrollEnd: He
|
|
452
|
-
}), null, 16, ["style", "row-data", "column-defs", "default-col-def", "row-selection", "selection-column-def", "theme", "enable-browser-tooltips"]),
|
|
453
|
-
|
|
463
|
+
}), null, 16, ["style", "row-data", "column-defs", "default-col-def", "row-selection", "selection-column-def", "theme", "enable-browser-tooltips", "row-class-rules"]),
|
|
464
|
+
ro(R("div", {
|
|
454
465
|
class: m(t(B)("table-loading-wrapper"))
|
|
455
466
|
}, [
|
|
456
|
-
V(t(
|
|
467
|
+
V(t(co), { delay: 300 })
|
|
457
468
|
], 2), [
|
|
458
|
-
[
|
|
469
|
+
[ao, Ae.value]
|
|
459
470
|
])
|
|
460
471
|
], 2),
|
|
461
472
|
R("div", {
|
|
462
473
|
class: m(t(d)("pagination-wrapper"))
|
|
463
474
|
}, [
|
|
464
|
-
e.pagination !== !1 ? (v(), re(t(
|
|
475
|
+
e.pagination !== !1 ? (v(), re(t(uo), A({
|
|
465
476
|
key: 0,
|
|
466
477
|
class: t(d)("pagination")
|
|
467
478
|
}, t(L).pagination, { onChange: We }), null, 16, ["class"])) : oe("", !0)
|
|
@@ -471,5 +482,5 @@ const rt = /* @__PURE__ */ Je({
|
|
|
471
482
|
}
|
|
472
483
|
});
|
|
473
484
|
export {
|
|
474
|
-
|
|
485
|
+
nt as default
|
|
475
486
|
};
|
|
@@ -4,7 +4,7 @@ import { TableProps } from '@aplus-frontend/antdv';
|
|
|
4
4
|
import { ApFormSearchFormPopoverSorterItem, ApFormSearchFormProps } from '../ap-form/interface';
|
|
5
5
|
import { Recordable } from '../type';
|
|
6
6
|
import { SortOrder, TableRowSelection } from '@aplus-frontend/antdv/es/table/interface';
|
|
7
|
-
import { ColDef, IRowNode, RowPinnedType, ScrollDirection } from 'ag-grid-community';
|
|
7
|
+
import { ColDef, IRowNode, RedrawRowsParams, RefreshCellsParams, RowClassRules, RowPinnedType, ScrollDirection } from 'ag-grid-community';
|
|
8
8
|
import { InternalPagingType } from '../ap-table/hooks/use-table-paging-ng';
|
|
9
9
|
export type AgGridColumnType<RecordType = any, ExtraValueType = 'text', ValueType extends ApTableValueTypes = ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType = ExtraValueType | ValueType> = MergedValueType extends ExtraValueType | ValueType ? Omit<ExtraProColumnType<RecordType>, 'sorter' | 'rowSpan' | 'customCell' | 'customHeaderCell' | 'minWidth' | 'width' | 'maxWidth' | 'className' | 'class' | 'colSpan'> & {
|
|
10
10
|
children?: AgGridColumnType<RecordType, ExtraValueType, ValueType>[];
|
|
@@ -251,6 +251,10 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
|
|
|
251
251
|
* @description 固定行自定义样式类请使用`summary.rowClassName`
|
|
252
252
|
*/
|
|
253
253
|
rowClassName?: string | string[] | ((data: RecordType, rowIndex: number) => string | string[]);
|
|
254
|
+
/**
|
|
255
|
+
* 表格行自定义样式规则集
|
|
256
|
+
*/
|
|
257
|
+
rowClassRules?: RowClassRules<RecordType>;
|
|
254
258
|
};
|
|
255
259
|
export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
256
260
|
/**
|
|
@@ -344,4 +348,16 @@ export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
|
344
348
|
* @returns
|
|
345
349
|
*/
|
|
346
350
|
resetSearchFormSorterItems: () => void;
|
|
351
|
+
/**
|
|
352
|
+
* 刷新单元格
|
|
353
|
+
* @param params
|
|
354
|
+
* @returns
|
|
355
|
+
*/
|
|
356
|
+
refreshCells: (params?: RefreshCellsParams<RecordType>) => void;
|
|
357
|
+
/**
|
|
358
|
+
* 重新绘制行
|
|
359
|
+
* @param params
|
|
360
|
+
* @returns
|
|
361
|
+
*/
|
|
362
|
+
redrawRows: (params?: RedrawRowsParams<RecordType>) => void;
|
|
347
363
|
};
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { GridOptions } from 'ag-grid-community';
|
|
2
2
|
export declare function mergeProps(...options: GridOptions[]): GridOptions<any>;
|
|
3
|
+
/**
|
|
4
|
+
* 将尺寸单位px去掉
|
|
5
|
+
* @param value
|
|
6
|
+
* @param defaultValue
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function pxToNumber(value?: string | number, defaultValue?: number): number;
|
package/es/src/ag-grid/utils.mjs
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
1
|
-
function
|
|
2
|
-
return
|
|
1
|
+
function e(...r) {
|
|
2
|
+
return r.reduce((n, t) => ({ ...n, ...t }), {});
|
|
3
|
+
}
|
|
4
|
+
function c(r, n = 0) {
|
|
5
|
+
if (!r)
|
|
6
|
+
return n;
|
|
7
|
+
if (typeof r == "number")
|
|
8
|
+
return r;
|
|
9
|
+
const t = r.match(/^(-?\d+(?:\.\d+)?)px$/);
|
|
10
|
+
if (!t)
|
|
11
|
+
return n;
|
|
12
|
+
const o = parseFloat(t[1]);
|
|
13
|
+
return o > 0 ? o : n;
|
|
3
14
|
}
|
|
4
15
|
export {
|
|
5
|
-
|
|
16
|
+
e as mergeProps,
|
|
17
|
+
c as pxToNumber
|
|
6
18
|
};
|
|
@@ -26,6 +26,8 @@ export interface ApTableModalProps<TableRowType = any> extends Omit<ModalProps,
|
|
|
26
26
|
tableLayoutConfig?: TableLayoutConfig;
|
|
27
27
|
/** 渲染头部信息 */
|
|
28
28
|
renderHeader?: () => VNodeChild;
|
|
29
|
+
/** 弹框ok事件回调 */
|
|
30
|
+
onOk?: (data: OpenReturnType<TableRowType>) => Promise<boolean> | void;
|
|
29
31
|
}
|
|
30
32
|
/** useCreateTableModal参数类型 */
|
|
31
33
|
export interface UseCreateTableModalProps extends ApTableModalProps {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent as E, ref as d, unref as r, computed as G, h as H, createBlock as
|
|
1
|
+
import { defineComponent as E, ref as d, unref as r, computed as G, h as H, createBlock as w, openBlock as g, mergeProps as m, withCtx as k, createCommentVNode as U, createVNode as R, resolveDynamicComponent as q } from "vue";
|
|
2
2
|
import { message as h, Modal as V } from "@aplus-frontend/antdv";
|
|
3
3
|
import "../../config-provider/index.mjs";
|
|
4
4
|
import { ApTable as $ } from "../../ap-table/index.mjs";
|
|
@@ -10,7 +10,7 @@ import "./table-layout/index.vue.mjs";
|
|
|
10
10
|
import { useLocale as W } from "../../config-provider/hooks/use-locale.mjs";
|
|
11
11
|
import J from "./modal-title.vue2.mjs";
|
|
12
12
|
import Q from "./table-layout/index.vue2.mjs";
|
|
13
|
-
const
|
|
13
|
+
const ue = /* @__PURE__ */ E({
|
|
14
14
|
__name: "table-modal",
|
|
15
15
|
props: {
|
|
16
16
|
columns: {},
|
|
@@ -24,6 +24,7 @@ const ie = /* @__PURE__ */ E({
|
|
|
24
24
|
rowSelection: {},
|
|
25
25
|
tableLayoutConfig: {},
|
|
26
26
|
renderHeader: {},
|
|
27
|
+
onOk: {},
|
|
27
28
|
prefixCls: {},
|
|
28
29
|
confirmLoading: { type: Boolean, default: void 0 },
|
|
29
30
|
title: {},
|
|
@@ -62,24 +63,24 @@ const ie = /* @__PURE__ */ E({
|
|
|
62
63
|
},
|
|
63
64
|
emits: ["finish"],
|
|
64
65
|
setup(S, { expose: B, emit: P }) {
|
|
65
|
-
const e = S, M = P, s = d(!1), v = d({}),
|
|
66
|
-
let f = null,
|
|
67
|
-
const { t:
|
|
68
|
-
switch (a.value = [...t], s.value = !0, v.value = o?.extraParams,
|
|
66
|
+
const e = S, M = P, s = d(!1), v = d({}), i = d(null), a = d([]), C = d();
|
|
67
|
+
let f = null, u = null;
|
|
68
|
+
const { t: b } = W(), K = async (t = [], o = {}) => {
|
|
69
|
+
switch (a.value = [...t], s.value = !0, v.value = o?.extraParams, C.value = o.apTableDataSources || e.apTableProps?.dataSource, o.refreshMode || "reset") {
|
|
69
70
|
case "reset":
|
|
70
|
-
|
|
71
|
+
i.value?.reset();
|
|
71
72
|
break;
|
|
72
73
|
case "submit":
|
|
73
|
-
|
|
74
|
+
i.value?.submit();
|
|
74
75
|
break;
|
|
75
76
|
case "none":
|
|
76
77
|
break;
|
|
77
78
|
}
|
|
78
79
|
return new Promise((n, l) => {
|
|
79
|
-
f = n,
|
|
80
|
+
f = n, u = l;
|
|
80
81
|
});
|
|
81
|
-
},
|
|
82
|
-
s.value = !1, f = null,
|
|
82
|
+
}, x = () => {
|
|
83
|
+
s.value = !1, f = null, u?.(y.ModalCancel), u = null;
|
|
83
84
|
}, _ = async (t) => {
|
|
84
85
|
t = z({
|
|
85
86
|
...t,
|
|
@@ -90,20 +91,24 @@ const ie = /* @__PURE__ */ E({
|
|
|
90
91
|
data: n,
|
|
91
92
|
total: l
|
|
92
93
|
};
|
|
93
|
-
}, I = () => {
|
|
94
|
+
}, I = async () => {
|
|
94
95
|
if (a.value.length > e.maxCount) {
|
|
95
|
-
|
|
96
|
+
u?.(y.ExceedMaxCount);
|
|
96
97
|
return;
|
|
97
98
|
}
|
|
98
99
|
if (e.getRowKey) {
|
|
99
100
|
const t = j(r(a)), o = t.map(e.getRowKey);
|
|
100
|
-
M("finish", o, t), f?.({ keys: o, rows: t })
|
|
101
|
+
if (M("finish", o, t), f?.({ keys: o, rows: t }), e.onOk && await e.onOk({
|
|
102
|
+
keys: o,
|
|
103
|
+
rows: t
|
|
104
|
+
}) === !1)
|
|
105
|
+
return;
|
|
101
106
|
} else {
|
|
102
|
-
|
|
107
|
+
u?.(y.NotFineGetRowKey);
|
|
103
108
|
return;
|
|
104
109
|
}
|
|
105
110
|
s.value = !1;
|
|
106
|
-
},
|
|
111
|
+
}, O = G(() => {
|
|
107
112
|
if (!e.getRowKey) return;
|
|
108
113
|
const t = e.getRowKey;
|
|
109
114
|
return {
|
|
@@ -114,15 +119,15 @@ const ie = /* @__PURE__ */ E({
|
|
|
114
119
|
onSelectAll(o, n) {
|
|
115
120
|
if (n.length > e.maxCount) {
|
|
116
121
|
h.warning(
|
|
117
|
-
|
|
122
|
+
b("ap.apTableModal.messageMaxCount", {
|
|
118
123
|
maxCount: e.maxCount
|
|
119
124
|
})
|
|
120
125
|
);
|
|
121
126
|
return;
|
|
122
127
|
}
|
|
123
|
-
const l =
|
|
128
|
+
const l = i.value?.dataSource;
|
|
124
129
|
if (o) {
|
|
125
|
-
const c = r(l).filter((p) => !a.value.some((
|
|
130
|
+
const c = r(l).filter((p) => !a.value.some((F) => t(F) === t(p)));
|
|
126
131
|
a.value = a.value.concat(c);
|
|
127
132
|
} else
|
|
128
133
|
a.value = a.value?.filter((c) => !l.some((p) => t(p) === t(c)));
|
|
@@ -131,7 +136,7 @@ const ie = /* @__PURE__ */ E({
|
|
|
131
136
|
if (n) {
|
|
132
137
|
if (a.value.length >= e.maxCount) {
|
|
133
138
|
h.warning(
|
|
134
|
-
|
|
139
|
+
b("ap.apTableModal.messageMaxCount", {
|
|
135
140
|
maxCount: e.maxCount
|
|
136
141
|
})
|
|
137
142
|
);
|
|
@@ -151,7 +156,7 @@ const ie = /* @__PURE__ */ E({
|
|
|
151
156
|
}),
|
|
152
157
|
...e.rowSelection || {}
|
|
153
158
|
};
|
|
154
|
-
}),
|
|
159
|
+
}), D = () => e.isRenderModalTitleSuffix ? H(
|
|
155
160
|
J,
|
|
156
161
|
{
|
|
157
162
|
title: e.title,
|
|
@@ -161,9 +166,9 @@ const ie = /* @__PURE__ */ E({
|
|
|
161
166
|
{
|
|
162
167
|
default: e.renderModalTitleSuffix ?? void 0
|
|
163
168
|
}
|
|
164
|
-
) : e.title,
|
|
169
|
+
) : e.title, L = () => i.value, N = () => {
|
|
165
170
|
a.value = [];
|
|
166
|
-
},
|
|
171
|
+
}, A = (t) => {
|
|
167
172
|
const o = e.getRowKey;
|
|
168
173
|
if (!o) return;
|
|
169
174
|
const n = a.value.findIndex(
|
|
@@ -173,9 +178,9 @@ const ie = /* @__PURE__ */ E({
|
|
|
173
178
|
};
|
|
174
179
|
return B({
|
|
175
180
|
open: K,
|
|
176
|
-
close:
|
|
177
|
-
getApTableInstance:
|
|
178
|
-
}), (t, o) => (
|
|
181
|
+
close: x,
|
|
182
|
+
getApTableInstance: L
|
|
183
|
+
}), (t, o) => (g(), w(r(V), m(
|
|
179
184
|
{
|
|
180
185
|
open: s.value,
|
|
181
186
|
"onUpdate:open": o[0] || (o[0] = (n) => s.value = n)
|
|
@@ -195,30 +200,30 @@ const ie = /* @__PURE__ */ E({
|
|
|
195
200
|
"tableLayoutConfig"
|
|
196
201
|
]),
|
|
197
202
|
{
|
|
198
|
-
title:
|
|
203
|
+
title: D(),
|
|
199
204
|
centered: e.centered ?? !0,
|
|
200
205
|
onOk: I,
|
|
201
|
-
onCancel:
|
|
206
|
+
onCancel: x
|
|
202
207
|
}
|
|
203
208
|
), {
|
|
204
209
|
default: k(() => [
|
|
205
|
-
e.renderHeader ? (
|
|
210
|
+
e.renderHeader ? (g(), w(q(e.renderHeader), { key: 0 })) : U("", !0),
|
|
206
211
|
R(Q, m(e.tableLayoutConfig || {}, {
|
|
207
212
|
"selected-list": a.value,
|
|
208
|
-
onClear:
|
|
209
|
-
onDeleteItem:
|
|
213
|
+
onClear: N,
|
|
214
|
+
onDeleteItem: A
|
|
210
215
|
}), {
|
|
211
216
|
default: k(() => [
|
|
212
217
|
R(r($), m({
|
|
213
218
|
ref_key: "apTableRef",
|
|
214
|
-
ref:
|
|
219
|
+
ref: i,
|
|
215
220
|
scroll: { y: 450 },
|
|
216
221
|
style: { padding: "0px" },
|
|
217
222
|
columns: t.columns,
|
|
218
223
|
request: _,
|
|
219
224
|
"row-key": t.getRowKey,
|
|
220
|
-
"row-selection":
|
|
221
|
-
"data-source":
|
|
225
|
+
"row-selection": O.value,
|
|
226
|
+
"data-source": C.value,
|
|
222
227
|
"search-form": {
|
|
223
228
|
sortable: !1,
|
|
224
229
|
countPerRow: 2
|
|
@@ -233,5 +238,5 @@ const ie = /* @__PURE__ */ E({
|
|
|
233
238
|
}
|
|
234
239
|
});
|
|
235
240
|
export {
|
|
236
|
-
|
|
241
|
+
ue as default
|
|
237
242
|
};
|
package/es/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "6.
|
|
1
|
+
declare const _default: "6.29.1";
|
|
2
2
|
export default _default;
|
package/es/src/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../ap-table/constants.js"),n=require("vue"),o=require("../../ap-table/utils.js");require("../../config-provider/index.js");const l=require("../../config-provider/hooks/use-global-config.js"),c=s=>{let d=0;const u=l.useGlobalConfig("valueTypeMap");return n.computed(()=>(d++,s.columns?.filter(e=>!e.hideInSearch&&e.dataIndex&&(e.valueType||e.customRenderFormItem)&&!a.noRenderAsFormItemValueList.includes(e.valueType))?.sort((e,t)=>{const r=o.getColumnOrder(e.order);return o.getColumnOrder(t.order)-r})?.map(e=>{const t=o.updateFormProps(e,o.getFieldProps(e.fieldProps,{})),r={...e,fieldProps:{label:e.title,name:e.dataIndex,bordered:!0,...t||{},_signal:d},renderNode:void 0};return r.renderNode=o.getSearchFormItemRenderNode(r,n.unref(u)),r})||[]))};exports.useSearchForm=c;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../../ap-table/constants.js"),n=require("vue"),o=require("../../ap-table/utils.js");require("../../config-provider/index.js");const l=require("../../config-provider/hooks/use-global-config.js"),c=s=>{let d=0;const u=l.useGlobalConfig("valueTypeMap");return n.computed(()=>(d++,s.columns?.filter(e=>!e.hideInSearch&&(e.dataIndex||e.key)&&(e.valueType||e.customRenderFormItem)&&!a.noRenderAsFormItemValueList.includes(e.valueType))?.sort((e,t)=>{const r=o.getColumnOrder(e.order);return o.getColumnOrder(t.order)-r})?.map(e=>{const t=o.updateFormProps(e,o.getFieldProps(e.fieldProps,{})),r={...e,fieldProps:{label:e.title,name:e.dataIndex||e.key,bordered:!0,...t||{},_signal:d},renderNode:void 0};return r.renderNode=o.getSearchFormItemRenderNode(r,n.unref(u)),r})||[]))};exports.useSearchForm=c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("vue"),d=require("lodash-unified");require("../../ap-grid/index.js");const a=require("../../ap-grid/constants.js");function
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const f=require("vue"),d=require("lodash-unified");require("../../ap-grid/index.js");const a=require("../utils.js"),m=require("../../ap-grid/constants.js");function S(e){return e?.bottom?.length||e?.top?.length}const w=(e,l)=>f.computed(()=>{if(!e.rowSelection)return;const o=e.rowSelection===!0?{}:e.rowSelection,r={sortable:!1,resizable:!1,width:a.pxToNumber(o.columnWidth,60)};let i=o.fixed;if(i===void 0&&(i=l.value.some(t=>t.fixed==="left"||t.fixed===!0)?"left":void 0),r.pinned=i,S(e.summary)){const{cellClassName:t}=e.summary;r.cellClass=({node:n,data:u,colDef:c,rowIndex:s})=>{if(!(!n.rowPinned||!t))return d.isFunction(t)?t(u,c,n.rowPinned,s):t},r.cellRenderer=({data:n})=>n?.[m.ROW_SELECTION_FIELD]}return r});exports.default=w;
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Ke=require("ag-grid-vue3"),$=require("ag-grid-community"),Ae=require("./utils.js"),G=require("@aplus-frontend/antdv"),d=require("lodash-unified");require("../config-provider/index.js");const Me=require("../ap-form/index.js"),Oe=require("../ap-table/utils.js"),Ue=require("../ap-table/hooks/use-table-paging-ng.js"),je=require("./hooks/use-row-selection.js"),We=require("./context.js"),$e=require("../ap-table/context.js"),L=require("../ap-grid/constants.js"),Ge=require("@aplus-frontend/antdv/es/theme/internal"),Le=require("./theme.js"),He=require("./hooks/use-columns.js"),_e=require("./hooks/use-columns-def.js"),Je=require("../utils/index.js"),Qe=require("../utils/slot.js"),Xe=require("./hooks/use-search-form.js");require("./components/empty/index.vue.js");const Ye=require("./hooks/use-virtual-config.js"),Ze=require("./hooks/use-pinned-row.js"),eo=require("./hooks/use-selection-col-def.js"),oo=require("../config-provider/hooks/use-namespace.js"),to=require("./components/empty/index.vue2.js"),ro=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:{},rowClassRules:{}},setup(H,{expose:_}){$.ModuleRegistry.registerModules([$.AllCommunityModule]);const t=H,F=e.useSlots(),{e:h,b:i,be:J}=oo.useNamespace("ag-grid"),S=e.ref(t.size),Q=Le.useTheme(S,e.toRef(t,"rowHeight")),X=Ye.default(e.toRef(t,"virtual")),{rowPinnedGridConfig:q,getRowPinnedCellClass:Y}=Ze.usePinnedRow(e.toRef(t,"summary")),u=e.ref(),[,Z]=Ge.useToken();let f=!!t.dataSource;const N=Xe.useSearchForm(t),{shownColumns:m,columns:I,columnKeys:ee}=He.useColumns(t),{defaultColDef:oe,columnDefs:te}=_e.useColumnsDef(I,t,Y),v=e.ref({});We.useProvideSorter({sorter:v,setSorter(o){v.value=o}});const re={asc:"ascend",desc:"descend"};function ne(){const o=u.value.getColumns()?.filter(s=>s.getSort()!==void 0),r=e.unref(v)||{};let n=o?.[0];const c=Object.keys(r);if(c.length&&c.every(s=>r[s]===null)){const s=Object.keys(r)[0];s&&(n=u.value?.getColumn(s))}if(!n)return;const l=n.getColDef(),w=n.getSort();P(void 0,void 0,{column:l,field:l.field||l.colId,order:w?re[w]:null})}const ae=e.computed(()=>Oe.recursionApColumns(e.unref(m),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),le=e.computed(()=>Je.isDef(t.manual)?t.manual:Qe.getValidVNodeList(F.searchFormExtra?.()||[]).some(r=>r.type?.name==="ApView")),{formRef:p,submit:R,reset:b,data:g,tableProps:z,handleTableChangeOptional:P,submitWith:T,refresh:V,getPaging:se,setPaging:ue,setDataSource:ie}=Ue.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=eo.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:we,selectMultiByKeys:Se}=je.default({...t.rowSelection===!0?{}:t.rowSelection,dataSource:de,rowKey:t.rowKey}),ye={checkbox:"multiRow",radio:"singleRow"},Ce=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=u.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,l=k(y);r.find(w=>k(w)===l)&&n.push(c)}),o.setNodesSelected({nodes:n,newValue:!0}),setTimeout(()=>{f=!0},0)},he=o=>{f&&(o.node.isSelected()?me(o.data):pe(o.data))},ve=()=>{f=!0},x=()=>{we(),u.value?.deselectAll()};function Re(o){Se(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=u.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 C=!c.includes(a.colId),j={...a,hide:C},W=o.find(De=>U(De.key)===a.colId);return W&&(j.pinned=W.fixed||null),j}),l=new Map(o.map((a,C)=>[U(a.key),C])),w=y.filter(a=>l.has(a.colId)).sort((a,C)=>l.get(a.colId)-l.get(C.colId)),s=[];let Ee=0;for(const a of y)l.has(a.colId)?s.push(w[Ee++]):s.push(a);r.applyColumnState({state:s,applyOrder:!0})}$e.useProvideApTable({columns:e.computed(()=>m.value),columnsBackup:e.computed(()=>I.value),size:e.computed(()=>L.sizeMap[S.value]),updateColumns(o){m.value=o,t.onShownColumnsChange?.(o),be(o)},updateSize(o){S.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(()=>[i(),t.card?null:i("wrapper"),i("adaptive"),i(`size-${S.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){u.value?.ensureIndexVisible(o,r)}function Ie(o){t.onRowClicked?.(o.data,o.event)}function ze(o){t.onScrollEnd?.(o.direction)}function Pe(o){return u.value?.refreshCells(o)}function Te(o){return u.value?.redrawRows(o)}const Ve=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=>{S.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,refreshCells:Pe,redrawRows:Te}),(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(h)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(Me.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:p,"custom-reset":"","submit-loading":e.unref(z).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(h)("table-wrapper"),o.card?e.unref(h)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("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(i)("grid-wrapper"))},[e.createVNode(e.unref(Ke.AgGridVue),e.mergeProps(e.unref(Ae.mergeProps)(e.unref(X),e.unref(q)),{"get-row-class":Ve,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":Ce.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":"","row-class-rules":o.rowClassRules,"no-rows-overlay-component":to.default,"suppress-cell-focus":"",onSortChanged:ne,onGridReady:r[0]||(r[0]=n=>u.value=n.api),onRowDataUpdated:E,onRowSelected:he,onFirstDataRendered:ve,onRowClicked:Ie,onBodyScrollEnd:ze}),null,16,["style","row-data","column-defs","default-col-def","row-selection","selection-column-def","theme","enable-browser-tooltips","row-class-rules"]),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(h)("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(i)("pagination-wrapper"))},[o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(G.Pagination),e.mergeProps({key:0,class:e.unref(i)("pagination")},e.unref(z).pagination,{onChange:Fe}),null,16,["class"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=ro;
|
|
@@ -4,7 +4,7 @@ import { TableProps } from '@aplus-frontend/antdv';
|
|
|
4
4
|
import { ApFormSearchFormPopoverSorterItem, ApFormSearchFormProps } from '../ap-form/interface';
|
|
5
5
|
import { Recordable } from '../type';
|
|
6
6
|
import { SortOrder, TableRowSelection } from '@aplus-frontend/antdv/es/table/interface';
|
|
7
|
-
import { ColDef, IRowNode, RowPinnedType, ScrollDirection } from 'ag-grid-community';
|
|
7
|
+
import { ColDef, IRowNode, RedrawRowsParams, RefreshCellsParams, RowClassRules, RowPinnedType, ScrollDirection } from 'ag-grid-community';
|
|
8
8
|
import { InternalPagingType } from '../ap-table/hooks/use-table-paging-ng';
|
|
9
9
|
export type AgGridColumnType<RecordType = any, ExtraValueType = 'text', ValueType extends ApTableValueTypes = ApTableValueTypes, MergedValueType extends ExtraValueType | ValueType = ExtraValueType | ValueType> = MergedValueType extends ExtraValueType | ValueType ? Omit<ExtraProColumnType<RecordType>, 'sorter' | 'rowSpan' | 'customCell' | 'customHeaderCell' | 'minWidth' | 'width' | 'maxWidth' | 'className' | 'class' | 'colSpan'> & {
|
|
10
10
|
children?: AgGridColumnType<RecordType, ExtraValueType, ValueType>[];
|
|
@@ -251,6 +251,10 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
|
|
|
251
251
|
* @description 固定行自定义样式类请使用`summary.rowClassName`
|
|
252
252
|
*/
|
|
253
253
|
rowClassName?: string | string[] | ((data: RecordType, rowIndex: number) => string | string[]);
|
|
254
|
+
/**
|
|
255
|
+
* 表格行自定义样式规则集
|
|
256
|
+
*/
|
|
257
|
+
rowClassRules?: RowClassRules<RecordType>;
|
|
254
258
|
};
|
|
255
259
|
export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
256
260
|
/**
|
|
@@ -344,4 +348,16 @@ export type AgGridExpose<SearchParamsType = Recordable, RecordType = any> = {
|
|
|
344
348
|
* @returns
|
|
345
349
|
*/
|
|
346
350
|
resetSearchFormSorterItems: () => void;
|
|
351
|
+
/**
|
|
352
|
+
* 刷新单元格
|
|
353
|
+
* @param params
|
|
354
|
+
* @returns
|
|
355
|
+
*/
|
|
356
|
+
refreshCells: (params?: RefreshCellsParams<RecordType>) => void;
|
|
357
|
+
/**
|
|
358
|
+
* 重新绘制行
|
|
359
|
+
* @param params
|
|
360
|
+
* @returns
|
|
361
|
+
*/
|
|
362
|
+
redrawRows: (params?: RedrawRowsParams<RecordType>) => void;
|
|
347
363
|
};
|
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
import { GridOptions } from 'ag-grid-community';
|
|
2
2
|
export declare function mergeProps(...options: GridOptions[]): GridOptions<any>;
|
|
3
|
+
/**
|
|
4
|
+
* 将尺寸单位px去掉
|
|
5
|
+
* @param value
|
|
6
|
+
* @param defaultValue
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function pxToNumber(value?: string | number, defaultValue?: number): number;
|
package/lib/src/ag-grid/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(...
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(...r){return r.reduce((e,t)=>({...e,...t}),{})}function c(r,e=0){if(!r)return e;if(typeof r=="number")return r;const t=r.match(/^(-?\d+(?:\.\d+)?)px$/);if(!t)return e;const n=parseFloat(t[1]);return n>0?n:e}exports.mergeProps=o;exports.pxToNumber=c;
|
|
@@ -26,6 +26,8 @@ export interface ApTableModalProps<TableRowType = any> extends Omit<ModalProps,
|
|
|
26
26
|
tableLayoutConfig?: TableLayoutConfig;
|
|
27
27
|
/** 渲染头部信息 */
|
|
28
28
|
renderHeader?: () => VNodeChild;
|
|
29
|
+
/** 弹框ok事件回调 */
|
|
30
|
+
onOk?: (data: OpenReturnType<TableRowType>) => Promise<boolean> | void;
|
|
29
31
|
}
|
|
30
32
|
/** useCreateTableModal参数类型 */
|
|
31
33
|
export interface UseCreateTableModalProps extends ApTableModalProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),p=require("@aplus-frontend/antdv");require("../../config-provider/index.js");const
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue"),p=require("@aplus-frontend/antdv");require("../../config-provider/index.js");const O=require("../../ap-table/index.js"),m=require("lodash-unified"),I=require("@aplus-frontend/utils");require("./modal-title.vue.js");const y=require("./interface.js");require("./table-layout/index.vue.js");const A=require("../../config-provider/hooks/use-locale.js"),L=require("./modal-title.vue2.js"),N=require("./table-layout/index.vue2.js"),D=t.defineComponent({__name:"table-modal",props:{columns:{},getRowKey:{},api:{type:Function,default:async()=>({records:[],total:0})},apTableProps:{},maxCount:{default:1/0},isRenderModalTitleSuffix:{type:Boolean,default:!0},renderModalTitleSuffix:{},disabledCheckbox:{type:[Boolean,Function]},rowSelection:{},tableLayoutConfig:{},renderHeader:{},onOk:{},prefixCls:{},confirmLoading:{type:Boolean,default:void 0},title:{},closable:{type:Boolean,default:void 0},closeIcon:{},onCancel:{},"onUpdate:visible":{},"onUpdate:open":{},onChange:{},afterClose:{},centered:{type:Boolean,default:void 0},width:{},footer:{},okText:{},okType:{},cancelText:{},icon:{},maskClosable:{type:Boolean,default:void 0},forceRender:{type:Boolean,default:void 0},okButtonProps:{},cancelButtonProps:{},destroyOnClose:{type:Boolean,default:void 0},wrapClassName:{},maskTransitionName:{},transitionName:{},getContainer:{type:[String,Boolean,Function],default:void 0},zIndex:{},bodyStyle:{},maskStyle:{},mask:{type:Boolean,default:void 0},keyboard:{type:Boolean,default:void 0},wrapProps:{},focusTriggerAfterClose:{type:Boolean,default:void 0},modalRender:{},mousePosition:{}},emits:["finish"],setup(g,{expose:w,emit:k}){const e=g,R=k,s=t.ref(!1),v=t.ref({}),u=t.ref(null),a=t.ref([]),b=t.ref();let d=null,i=null;const{t:x}=A.useLocale(),h=async(o=[],n={})=>{switch(a.value=[...o],s.value=!0,v.value=n?.extraParams,b.value=n.apTableDataSources||e.apTableProps?.dataSource,n.refreshMode||"reset"){case"reset":u.value?.reset();break;case"submit":u.value?.submit();break;case"none":break}return new Promise((l,r)=>{d=l,i=r})},C=()=>{s.value=!1,d=null,i?.(y.AsyncOpenResultError.ModalCancel),i=null},T=async o=>{o=I.transformTableParams({...o,...v.value});const n=e.api,{records:l,total:r}=await n(o);return{data:l,total:r}},S=async()=>{if(a.value.length>e.maxCount){i?.(y.AsyncOpenResultError.ExceedMaxCount);return}if(e.getRowKey){const o=m.cloneDeep(t.unref(a)),n=o.map(e.getRowKey);if(R("finish",n,o),d?.({keys:n,rows:o}),e.onOk&&await e.onOk({keys:n,rows:o})===!1)return}else{i?.(y.AsyncOpenResultError.NotFineGetRowKey);return}s.value=!1},_=t.computed(()=>{if(!e.getRowKey)return;const o=e.getRowKey;return{fixed:!0,selectedRowKeys:a.value.map(o),columnWidth:50,preserveSelectedRowKeys:!0,onSelectAll(n,l){if(l.length>e.maxCount){p.message.warning(x("ap.apTableModal.messageMaxCount",{maxCount:e.maxCount}));return}const r=u.value?.dataSource;if(n){const c=t.unref(r).filter(f=>!a.value.some(K=>o(K)===o(f)));a.value=a.value.concat(c)}else a.value=a.value?.filter(c=>!r.some(f=>o(f)===o(c)))},onSelect(n,l){if(l){if(a.value.length>=e.maxCount){p.message.warning(x("ap.apTableModal.messageMaxCount",{maxCount:e.maxCount}));return}a.value.push(n)}else{const r=a.value.findIndex(c=>o(n)===o(c));a.value.splice(r,1)}},getCheckboxProps:n=>({disabled:typeof e.disabledCheckbox=="function"?e.disabledCheckbox(n,a.value):e.disabledCheckbox}),...e.rowSelection||{}}}),B=()=>e.isRenderModalTitleSuffix?t.h(L.default,{title:e.title,count:a.value.length||0,maxCount:e.maxCount},{default:e.renderModalTitleSuffix??void 0}):e.title,P=()=>u.value,M=()=>{a.value=[]},q=o=>{const n=e.getRowKey;if(!n)return;const l=a.value.findIndex(r=>n(o)===n(r));a.value.splice(l,1)};return w({open:h,close:C,getApTableInstance:P}),(o,n)=>(t.openBlock(),t.createBlock(t.unref(p.Modal),t.mergeProps({open:s.value,"onUpdate:open":n[0]||(n[0]=l=>s.value=l)},t.unref(m.omit)(e,["api","getRowKey","centered","apTableProps","onOk","maxCount","title","renderModalTitleSuffix","isRenderModalTitleSuffix","rowSelection","disabledCheckbox","tableLayoutConfig"]),{title:B(),centered:e.centered??!0,onOk:S,onCancel:C}),{default:t.withCtx(()=>[e.renderHeader?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(e.renderHeader),{key:0})):t.createCommentVNode("",!0),t.createVNode(N.default,t.mergeProps(e.tableLayoutConfig||{},{"selected-list":a.value,onClear:M,onDeleteItem:q}),{default:t.withCtx(()=>[t.createVNode(t.unref(O.ApTable),t.mergeProps({ref_key:"apTableRef",ref:u,scroll:{y:450},style:{padding:"0px"},columns:o.columns,request:T,"row-key":o.getRowKey,"row-selection":_.value,"data-source":b.value,"search-form":{sortable:!1,countPerRow:2}},t.unref(m.omit)(e.apTableProps,"dataSource")),null,16,["columns","row-key","row-selection","data-source"])]),_:1},16,["selected-list"])]),_:1},16,["open","title","centered"]))}});exports.default=D;
|
package/lib/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "6.
|
|
1
|
+
declare const _default: "6.29.1";
|
|
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.
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="6.29.1";exports.default=e;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aplus-frontend/ui",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.29.1",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -37,8 +37,8 @@
|
|
|
37
37
|
"scroll-into-view-if-needed": "^3.1.0",
|
|
38
38
|
"vue-virtual-scroller": "2.0.0-beta.8",
|
|
39
39
|
"vuedraggable": "^4.1.0",
|
|
40
|
-
"@aplus-frontend/
|
|
41
|
-
"@aplus-frontend/
|
|
40
|
+
"@aplus-frontend/hooks": "1.0.7",
|
|
41
|
+
"@aplus-frontend/utils": "1.0.61"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@aplus-frontend/antdv": "^1.2.6",
|
package/theme/ag-grid/index.css
CHANGED
package/theme/ag-grid/index.less
CHANGED
package/theme/index.css
CHANGED
|
@@ -4389,9 +4389,6 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
|
|
|
4389
4389
|
user-select: text;
|
|
4390
4390
|
-webkit-user-select: text;
|
|
4391
4391
|
}
|
|
4392
|
-
.aplus-ag-grid .ag-cell-focus:not(.ag-cell-range-selected):focus-within {
|
|
4393
|
-
border-color: transparent;
|
|
4394
|
-
}
|
|
4395
4392
|
.aplus-ap-value-select-card {
|
|
4396
4393
|
position: relative;
|
|
4397
4394
|
margin-top: 8px;
|