@aplus-frontend/ui 6.28.2 → 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.
@@ -1,6 +1,6 @@
1
1
  import { getTableRenderProps as y, objectToString as P } from "../../ap-table/utils.mjs";
2
2
  import { rendererMap as h } from "../renderer/index.mjs";
3
- import { isFunction as b, isNumber as f } from "lodash-unified";
3
+ import { isNumber as p, isFunction as b } from "lodash-unified";
4
4
  import { computed as v, unref as T } from "vue";
5
5
  import "../components/body-cell/index.vue.mjs";
6
6
  import "../components/header-cell/index.vue.mjs";
@@ -11,75 +11,78 @@ import { useGlobalConfig as I } from "../../config-provider/hooks/use-global-con
11
11
  import { useNamespace as S } from "../../config-provider/hooks/use-namespace.mjs";
12
12
  import G from "../components/body-cell/index.vue2.mjs";
13
13
  import C from "../components/header-cell/index.vue2.mjs";
14
- function _(t, a) {
15
- if (a.bodyCellTooltip)
16
- return b(a.bodyCellTooltip) ? a.bodyCellTooltip(t.value, t.data) : a.bodyCellTooltip;
17
- if (a.renderText)
18
- return a.renderText({
19
- value: t.value,
20
- record: t.data,
21
- column: a,
22
- text: t.value
14
+ function _(r) {
15
+ return p(r) && r > 1;
16
+ }
17
+ function z(r, i) {
18
+ if (i.bodyCellTooltip)
19
+ return b(i.bodyCellTooltip) ? i.bodyCellTooltip(r.value, r.data) : i.bodyCellTooltip;
20
+ if (i.renderText)
21
+ return i.renderText({
22
+ value: r.value,
23
+ record: r.data,
24
+ column: i,
25
+ text: r.value
23
26
  });
24
- const s = a.valueType || "text", d = h[s];
25
- if (d) {
26
- const p = y(
27
- { ...a, valueType: s },
27
+ const s = i.valueType || "text", n = h[s];
28
+ if (n) {
29
+ const u = y(
30
+ { ...i, valueType: s },
28
31
  {
29
- value: t.value,
30
- text: t.value,
31
- record: t.data,
32
- column: t.column,
33
- rowIndex: t.node?.rowIndex,
34
- pinned: t.node?.rowPinned
32
+ value: r.value,
33
+ text: r.value,
34
+ record: r.data,
35
+ column: r.column,
36
+ rowIndex: r.node?.rowIndex,
37
+ pinned: r.node?.rowPinned
35
38
  }
36
39
  );
37
- return d(p);
40
+ return n(u);
38
41
  }
39
- return P(t.value);
42
+ return P(r.value);
40
43
  }
41
- const J = (t, a, s) => {
42
- const d = I("valueTypeMap"), { em: u } = S("ag-grid"), p = v(() => {
43
- const g = T(t), m = (i) => {
44
+ const J = (r, i, s) => {
45
+ const n = I("valueTypeMap"), { em: f } = S("ag-grid"), u = v(() => {
46
+ const g = T(r), m = (a) => {
44
47
  const e = {
45
48
  cellRenderer: G,
46
49
  cellRendererParams: {
47
- column: i,
48
- extraValueType: T(d)
50
+ column: a,
51
+ extraValueType: T(n)
49
52
  }
50
53
  };
51
- if (i.customRender)
54
+ if (a.customRender)
52
55
  return e;
53
- if (i.renderText)
56
+ if (a.renderText)
54
57
  return {
55
- valueFormatter: (r) => i.renderText({
56
- value: r.value,
57
- record: r.data,
58
- column: i,
59
- text: r.value
58
+ valueFormatter: (t) => a.renderText({
59
+ value: t.value,
60
+ record: t.data,
61
+ column: a,
62
+ text: t.value
60
63
  })
61
64
  };
62
- const n = i.valueType || "text", o = h[n];
63
- return o ? {
64
- valueFormatter: (r) => {
65
- const l = y(
66
- { ...i, valueType: n },
65
+ const d = a.valueType || "text", l = h[d];
66
+ return l ? {
67
+ valueFormatter: (t) => {
68
+ const o = y(
69
+ { ...a, valueType: d },
67
70
  {
68
- value: r.value,
69
- text: r.value,
70
- record: r.data,
71
- column: r.column,
72
- rowIndex: r.node?.rowIndex,
73
- pinned: r.node?.rowPinned
71
+ value: t.value,
72
+ text: t.value,
73
+ record: t.data,
74
+ column: t.column,
75
+ rowIndex: t.node?.rowIndex,
76
+ pinned: t.node?.rowPinned
74
77
  }
75
78
  );
76
- return o(l);
79
+ return l(o);
77
80
  }
78
81
  } : e;
79
82
  };
80
- function x(i) {
81
- return i.map((e) => {
82
- const n = e.bodyCellTooltip || !e.customRender && (e.ellipsis === !0 || e.ellipsis === "tooltip" || f(e.ellipsis)), o = {
83
+ function x(a) {
84
+ return a.map((e) => {
85
+ const d = e.bodyCellTooltip || !e.customRender && (e.ellipsis === !0 || e.ellipsis === "tooltip" || p(e.ellipsis)), l = {
83
86
  field: R(e.dataIndex),
84
87
  colId: D(e.key) ? String(e.key) : void 0,
85
88
  sortable: !!e.sorter,
@@ -96,43 +99,44 @@ const J = (t, a, s) => {
96
99
  pinned: e.fixed || null,
97
100
  // undefined to null
98
101
  colSpan: e.colSpan,
99
- cellClass: s((r) => {
100
- const l = e.cellClass || "", w = b(l) ? l(r.data, r.node) : l;
102
+ cellClass: s((t) => {
103
+ const o = e.cellClass || "", w = b(o) ? o(t.data, t.node) : o;
101
104
  return [
102
- `${u("cell", e.align || "left")}`,
105
+ `${f("cell", e.align || "left")}`,
106
+ _(e.ellipsis) ? f("cell", "multiline") : null,
103
107
  w
104
108
  ].flat().filter(Boolean);
105
109
  }),
106
110
  cellStyle: {
107
- "--ag-grid-line-clamp": f(e.ellipsis) ? e.ellipsis : 1
111
+ "--ag-grid-line-clamp": p(e.ellipsis) ? e.ellipsis : 1
108
112
  },
109
- wrapText: !e.ellipsis || f(e.ellipsis) && e.ellipsis >= 2,
113
+ wrapText: !e.ellipsis || p(e.ellipsis) && e.ellipsis > 1,
110
114
  autoHeight: !0,
111
115
  // 设置自动计算高度以自适应多行换行的场景
112
- tooltipValueGetter: n ? (r) => _(r, e) : void 0,
116
+ tooltipValueGetter: d ? (t) => z(t, e) : void 0,
113
117
  ...m(e)
114
118
  };
115
119
  return e.children?.length ? {
116
- ...o,
120
+ ...l,
117
121
  headerGroupComponent: C,
118
122
  headerGroupComponentParams: {
119
123
  column: e
120
124
  },
121
125
  children: x(e.children)
122
- } : o;
126
+ } : l;
123
127
  });
124
128
  }
125
129
  return x(g);
126
130
  }), c = v(
127
131
  () => ({
128
132
  headerComponent: C,
129
- resizable: a.columnResizable,
133
+ resizable: i.columnResizable,
130
134
  suppressMovable: !0,
131
135
  cellDataType: !1
132
136
  })
133
137
  );
134
138
  return {
135
- columnDefs: p,
139
+ columnDefs: u,
136
140
  defaultColDef: c
137
141
  };
138
142
  };
@@ -1,30 +1,31 @@
1
- import { defineComponent as We, useSlots as je, ref as b, toRef as B, unref as t, computed as l, nextTick as Le, watch as P, createElementBlock as z, openBlock as h, normalizeStyle as E, normalizeClass as u, createCommentVNode as Q, createElementVNode as v, createVNode as I, mergeProps as V, createSlots as Ge, withCtx as X, Fragment as He, renderList as Ue, createBlock as Y, resolveDynamicComponent as $e, renderSlot as Z, withDirectives as qe, vShow as Je } from "vue";
2
- import { AgGridVue as Qe } from "ag-grid-vue3";
3
- import { ModuleRegistry as Xe, AllCommunityModule as Ye } from "ag-grid-community";
4
- import { Spin as Ze, Pagination as _e } from "@aplus-frontend/antdv";
5
- import { isUndefined as C, isFunction as eo } from "lodash-unified";
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 oo } from "../ap-form/index.mjs";
8
- import { recursionApColumns as to } from "../ap-table/utils.mjs";
9
- import { useTablePaging as ro } from "../ap-table/hooks/use-table-paging-ng.mjs";
10
- import ao from "./hooks/use-row-selection.mjs";
11
- import { useProvideSorter as no } from "./context.mjs";
12
- import { useProvideApTable as lo } from "../ap-table/context.mjs";
13
- import { sizeReverseMap as so, sizeMap as io } from "../ap-grid/constants.mjs";
14
- import { useToken as co } from "@aplus-frontend/antdv/es/theme/internal";
15
- import { useTheme as uo } from "./theme.mjs";
16
- import { useColumns as mo } from "./hooks/use-columns.mjs";
17
- import { useColumnsDef as po } from "./hooks/use-columns-def.mjs";
18
- import { isDef as fo } from "../utils/index.mjs";
19
- import { getValidVNodeList as So } from "../utils/slot.mjs";
20
- import { useSearchForm as go } from "./hooks/use-search-form.mjs";
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";
18
+ import { useColumnsDef as vo } from "./hooks/use-columns-def.mjs";
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 wo from "./hooks/use-virtual-config.mjs";
23
- import { usePinnedRow as yo } from "./hooks/use-pinned-row.mjs";
24
- import ho from "./hooks/use-selection-col-def.mjs";
25
- import { useNamespace as vo } from "../config-provider/hooks/use-namespace.mjs";
26
- import Co from "./components/empty/index.vue2.mjs";
27
- const Jo = /* @__PURE__ */ We({
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,68 +92,65 @@ const Jo = /* @__PURE__ */ We({
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(_, { expose: ee }) {
97
- Xe.registerModules([Ye]);
98
- const o = _, A = je();
99
- function oe(...e) {
100
- return e.reduce((r, a) => ({ ...r, ...a }), {});
101
- }
102
- const { e: R, b: i, be: te } = vo("ag-grid"), y = b(o.size), re = uo(y, B(o, "rowHeight")), ae = wo(B(o, "virtual")), { rowPinnedGridConfig: ne, getRowPinnedCellClass: le } = yo(
103
- B(o, "summary")
104
- ), d = b(), [, se] = co();
105
- let m = !!o.dataSource;
106
- const N = go(o), { shownColumns: p, columns: M, columnKeys: ie } = mo(o), { defaultColDef: de, columnDefs: ce } = po(
107
- M,
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(
101
+ k(o, "summary")
102
+ ), c = F(), [, me] = yo();
103
+ let p = !!o.dataSource;
104
+ const W = Bo(o), { shownColumns: f, columns: j, columnKeys: pe } = Co(o), { defaultColDef: fe, columnDefs: ge } = vo(
105
+ j,
108
106
  o,
109
- le
110
- ), F = b({});
111
- no({
112
- sorter: F,
107
+ ue
108
+ ), x = F({});
109
+ fo({
110
+ sorter: x,
113
111
  setSorter(e) {
114
- F.value = e;
112
+ x.value = e;
115
113
  }
116
114
  });
117
- const ue = {
115
+ const Se = {
118
116
  asc: "ascend",
119
117
  desc: "descend"
120
118
  };
121
- function me() {
122
- const e = d.value.getColumns()?.filter((s) => s.getSort() !== void 0), r = t(F) || {};
119
+ function we() {
120
+ const e = c.value.getColumns()?.filter((s) => s.getSort() !== void 0), r = t(x) || {};
123
121
  let a = e?.[0];
124
- const c = Object.keys(r);
125
- if (c.length && c.every((s) => r[s] === null)) {
122
+ const u = Object.keys(r);
123
+ if (u.length && u.every((s) => r[s] === null)) {
126
124
  const s = Object.keys(r)[0];
127
- s && (a = d.value?.getColumn(s));
125
+ s && (a = c.value?.getColumn(s));
128
126
  }
129
127
  if (!a)
130
128
  return;
131
- const w = a.getColDef(), n = a.getSort();
132
- W(void 0, void 0, {
133
- column: w,
134
- field: w.field,
135
- order: n ? ue[n] : null
129
+ const i = a.getColDef(), w = a.getSort();
130
+ G(void 0, void 0, {
131
+ column: i,
132
+ field: i.field,
133
+ order: w ? Se[w] : null
136
134
  });
137
135
  }
138
- const pe = l(() => to(t(p), (e) => {
136
+ const ye = l(() => uo(t(f), (e) => {
139
137
  if (e.sorter === !0)
140
138
  return e.key || e.dataIndex;
141
- }).filter(Boolean)), fe = l(() => fo(o.manual) ? o.manual : So(A.searchFormExtra?.() || []).some((r) => r.type?.name === "ApView")), {
142
- formRef: f,
143
- submit: k,
144
- reset: x,
139
+ }).filter(Boolean)), he = l(() => Ro(o.manual) ? o.manual : bo(M.searchFormExtra?.() || []).some((r) => r.type?.name === "ApView")), {
140
+ formRef: g,
141
+ submit: I,
142
+ reset: T,
145
143
  data: S,
146
- tableProps: O,
147
- handleTableChangeOptional: W,
148
- submitWith: j,
149
- refresh: L,
150
- getPaging: Se,
151
- setPaging: ge,
152
- setDataSource: we
153
- } = ro({
144
+ tableProps: L,
145
+ handleTableChangeOptional: G,
146
+ submitWith: H,
147
+ refresh: U,
148
+ getPaging: Ce,
149
+ setPaging: ve,
150
+ setDataSource: Re
151
+ } = mo({
154
152
  async request(e) {
155
- if (m = !1, !ve.value && C(o.dataSource) && K(), !C(o.dataSource)) {
153
+ if (p = !1, !Fe.value && b(o.dataSource) && K(), !b(o.dataSource)) {
156
154
  const a = e.pageSize * (e.current - 1);
157
155
  return {
158
156
  data: (o.pagination === !1 ? o.dataSource : o.dataSource.slice(a, a + e.pageSize)) || [],
@@ -166,167 +164,187 @@ const Jo = /* @__PURE__ */ We({
166
164
  };
167
165
  },
168
166
  namespace: "ap-grid",
169
- filterFields: b([]),
170
- params: B(o, "params"),
167
+ filterFields: F([]),
168
+ params: k(o, "params"),
171
169
  defaultData: o.defaultData,
172
- manual: t(fe),
170
+ manual: t(he),
173
171
  formatParams: o.beforeSearchSubmit,
174
172
  pagination: o.pagination,
175
- sortFields: pe
176
- }), ye = ho(o, p), he = l(
177
- () => C(o.dataSource) ? S.records : o.dataSource
178
- ), ve = l(() => {
173
+ sortFields: ye
174
+ }), be = xo(o, f), Be = l(
175
+ () => b(o.dataSource) ? S.records : o.dataSource
176
+ ), Fe = l(() => {
179
177
  const e = o.rowSelection === !0 ? {} : o.rowSelection;
180
178
  return e ? e.preserveSelectedRowKeys !== !1 : !1;
181
179
  }), {
182
- select: Ce,
183
- unSelect: Re,
184
- selectedRows: T,
185
- selectedRowKeys: be,
186
- clearAll: Be,
187
- selectMultiByKeys: Fe
188
- } = ao({
180
+ select: ke,
181
+ unSelect: xe,
182
+ selectedRows: N,
183
+ selectedRowKeys: Ie,
184
+ clearAll: Te,
185
+ selectMultiByKeys: Ne
186
+ } = po({
189
187
  ...o.rowSelection === !0 ? {} : o.rowSelection,
190
- dataSource: he,
188
+ dataSource: Be,
191
189
  rowKey: o.rowKey
192
- }), ke = {
190
+ }), De = {
193
191
  checkbox: "multiRow",
194
192
  radio: "singleRow"
195
- }, xe = l(() => {
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: ke[e],
198
+ mode: De[e],
201
199
  isRowSelectable: (a) => r ? !r(a.data) : !0
202
200
  };
203
201
  });
204
202
  function D(e) {
205
- return eo(o.rowKey) ? o.rowKey(e) : e[o.rowKey];
203
+ return ne(o.rowKey) ? o.rowKey(e) : e[o.rowKey];
206
204
  }
207
- const G = ({
208
- api: e = d.value
205
+ const $ = ({
206
+ api: e = c.value
209
207
  }) => {
210
208
  if (!o.rowSelection)
211
209
  return;
212
- const r = T.value;
210
+ const r = N.value;
213
211
  if (!r.length) {
214
212
  setTimeout(() => {
215
- m = !0;
213
+ p = !0;
216
214
  }, 0);
217
215
  return;
218
216
  }
219
- m = !1;
217
+ p = !1;
220
218
  const a = [];
221
- e.forEachNode((c) => {
222
- const g = c.data, w = D(g);
223
- r.find((n) => D(n) === w) && a.push(c);
219
+ e.forEachNode((u) => {
220
+ const h = u.data, i = D(h);
221
+ r.find((w) => D(w) === i) && a.push(u);
224
222
  }), e.setNodesSelected({ nodes: a, newValue: !0 }), setTimeout(() => {
225
- m = !0;
223
+ p = !0;
226
224
  }, 0);
227
- }, Te = (e) => {
228
- m && (e.node.isSelected() ? Ce(e.data) : Re(e.data));
229
- }, De = () => {
230
- m = !0;
225
+ }, Pe = (e) => {
226
+ p && (e.node.isSelected() ? ke(e.data) : xe(e.data));
227
+ }, ze = () => {
228
+ p = !0;
231
229
  }, K = () => {
232
- Be(), d.value?.deselectAll();
230
+ Te(), c.value?.deselectAll();
233
231
  };
234
- function Ke(e) {
235
- Fe(e), Le(() => {
236
- G({});
232
+ function Ee(e) {
233
+ Ne(e), Xe(() => {
234
+ $({});
237
235
  });
238
236
  }
239
- function H(e = !1) {
237
+ function q(e = !1) {
240
238
  const r = e ? "getFieldsValueTransformed" : "getFieldsValue";
241
- return f.value?.apForm?.[r]?.(!0);
239
+ return g.value?.apForm?.[r]?.(!0);
240
+ }
241
+ function J(e) {
242
+ g.value?.apForm?.setFieldsValue?.(e);
242
243
  }
243
- function U(e) {
244
- f.value?.apForm?.setFieldsValue?.(e);
244
+ function Q() {
245
+ return g.value?.getSorterItems() || [];
245
246
  }
246
- function $() {
247
- return f.value?.getSorterItems() || [];
247
+ function X(e) {
248
+ g.value?.setSorterItems(e);
248
249
  }
249
- function q(e) {
250
- f.value?.setSorterItems(e);
250
+ function Y() {
251
+ g.value?.resetSorterItems();
251
252
  }
252
- function J() {
253
- f.value?.resetSorterItems();
253
+ function Z(e) {
254
+ return e && String(e);
254
255
  }
255
- function Pe(e) {
256
- const r = d.value;
256
+ function Ve(e) {
257
+ const r = c.value;
257
258
  if (!r)
258
259
  return;
259
- const a = r.getColumnState() || [], c = e.map((n) => n.key ? String(n.key) : n.key).filter(Boolean);
260
- let g = !1;
261
- const w = a.map((n) => {
262
- if (!ie.value.includes(n.colId))
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))
263
262
  return n;
264
- const s = !c.includes(n.colId);
265
- return !g && s !== n.hide && (g = !0), {
263
+ const C = !u.includes(n.colId), _ = {
266
264
  ...n,
267
- hide: s
268
- };
269
- });
270
- g && r.applyColumnState({
271
- state: w,
265
+ hide: C
266
+ }, ee = e.find(
267
+ (qe) => Z(qe.key) === n.colId
268
+ );
269
+ return ee && (_.pinned = ee.fixed || null), _;
270
+ }), i = new Map(
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)
274
+ ), s = [];
275
+ let $e = 0;
276
+ for (const n of h)
277
+ i.has(n.colId) ? s.push(w[$e++]) : s.push(n);
278
+ r.applyColumnState({
279
+ state: s,
272
280
  applyOrder: !0
273
281
  });
274
282
  }
275
- lo({
276
- columns: l(() => p.value),
277
- columnsBackup: l(() => M.value),
278
- size: l(() => io[y.value]),
283
+ go({
284
+ columns: l(() => f.value),
285
+ columnsBackup: l(() => j.value),
286
+ size: l(() => wo[y.value]),
279
287
  updateColumns(e) {
280
- p.value = e, o.onShownColumnsChange?.(e), Pe(e);
288
+ console.log("run reset", e), f.value = e, o.onShownColumnsChange?.(e), Ve(e);
281
289
  },
282
290
  updateSize(e) {
283
- y.value = so[e];
291
+ y.value = So[e];
284
292
  },
285
293
  renderConfig: l(() => ({
286
- className: te("table-header", "title"),
287
- color: se.value.colorTextTertiary
294
+ className: ie("table-header", "title"),
295
+ color: me.value.colorTextTertiary
288
296
  })),
289
297
  dataSource: l(() => t(S).records),
290
- getSearchFormValues: H,
291
- setSearchFormValues: U,
292
- submit: k,
293
- submitWith: j,
294
- reset: x,
295
- refresh: L,
296
- getSearchFormSorterItems: $,
297
- setSearchFormSorterItems: q,
298
- resetSearchFormSorterItems: J
298
+ getSearchFormValues: q,
299
+ setSearchFormValues: J,
300
+ submit: I,
301
+ submitWith: H,
302
+ reset: T,
303
+ refresh: U,
304
+ getSearchFormSorterItems: Q,
305
+ setSearchFormSorterItems: X,
306
+ resetSearchFormSorterItems: Y
299
307
  });
300
- const ze = l(
301
- () => C(o.loading) ? S.loading : o.loading
302
- ), Ee = l(() => [
303
- i(),
304
- o.card ? null : i("wrapper"),
305
- i("adaptive"),
306
- i(`size-${y.value}`)
307
- ].filter(Boolean)), Ie = l(() => ({
308
+ const Ae = l(
309
+ () => b(o.loading) ? S.loading : o.loading
310
+ ), Me = l(() => [
311
+ d(),
312
+ o.card ? null : d("wrapper"),
313
+ d("adaptive"),
314
+ d(`size-${y.value}`)
315
+ ].filter(Boolean)), Oe = l(() => ({
308
316
  height: "100%",
309
317
  ...o.tableStyle || {}
310
- })), Ve = (e, r) => {
311
- W({ current: e, pageSize: r });
318
+ })), We = (e, r) => {
319
+ G({ current: e, pageSize: r });
312
320
  };
313
- function Ae(e) {
321
+ function je(e) {
314
322
  const r = e.data;
315
323
  return D(r);
316
324
  }
317
- function Ne(e, r) {
318
- d.value?.ensureIndexVisible(e, r);
325
+ function Le(e, r) {
326
+ c.value?.ensureIndexVisible(e, r);
319
327
  }
320
- function Me(e) {
321
- o.onRowClicked?.(e.data);
328
+ function Ge(e) {
329
+ o.onRowClicked?.(e.data, e.event);
322
330
  }
323
- function Oe(e) {
331
+ function He(e) {
324
332
  o.onScrollEnd?.(e.direction);
325
333
  }
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
+ };
326
344
  return P(
327
345
  () => o.dataSource,
328
346
  (e) => {
329
- we(e);
347
+ Re(e);
330
348
  },
331
349
  { immediate: !0, deep: !0 }
332
350
  ), P(
@@ -339,118 +357,119 @@ const Jo = /* @__PURE__ */ We({
339
357
  (e) => {
340
358
  o.onLoadingChange?.(e);
341
359
  }
342
- ), ee({
343
- submit: k,
344
- reset: x,
345
- refresh: L,
346
- submitWith: j,
347
- setSearchFormValues: U,
348
- getSearchFormValues: H,
349
- getShowColumns: () => t(p),
360
+ ), se({
361
+ submit: I,
362
+ reset: T,
363
+ refresh: U,
364
+ submitWith: H,
365
+ setSearchFormValues: J,
366
+ getSearchFormValues: q,
367
+ getShowColumns: () => t(f),
350
368
  rowSelection: {
351
- selectedRows: l(() => T.value),
352
- setSelectedRowKeys: Ke,
369
+ selectedRows: l(() => N.value),
370
+ setSelectedRowKeys: Ee,
353
371
  clearAll: K
354
372
  },
355
- scrollToRow: Ne,
373
+ scrollToRow: Le,
356
374
  getDataSource: () => t(S.records),
357
- getPaging: Se,
358
- setPaging: ge,
359
- getSearchFormSorterItems: $,
360
- setSearchFormSorterItems: q,
361
- resetSearchFormSorterItems: J
362
- }), (e, r) => (h(), z("div", {
363
- class: u(Ee.value),
375
+ getPaging: Ce,
376
+ setPaging: ve,
377
+ getSearchFormSorterItems: Q,
378
+ setSearchFormSorterItems: X,
379
+ resetSearchFormSorterItems: Y
380
+ }), (e, r) => (v(), z("div", {
381
+ class: m(Me.value),
364
382
  style: E(e.wrapperStyle)
365
383
  }, [
366
- t(C)(e.dataSource) && e.searchForm !== !1 && t(N).length > 0 ? (h(), z("div", {
384
+ t(b)(e.dataSource) && e.searchForm !== !1 && t(W).length > 0 ? (v(), z("div", {
367
385
  key: 0,
368
- class: u(e.card ? t(R)("search-wrapper") : null),
386
+ class: m(e.card ? t(B)("search-wrapper") : null),
369
387
  style: E(e.searchFormWrapperStyle)
370
388
  }, [
371
- I(t(oo).SearchForm, V(e.searchForm || {}, {
389
+ V(t(co).SearchForm, A(e.searchForm || {}, {
372
390
  ref_key: "formRef",
373
- ref: f,
391
+ ref: g,
374
392
  "custom-reset": "",
375
- "submit-loading": t(O).loading,
376
- onSubmit: t(k),
377
- onReset: t(x)
378
- }), Ge({
379
- default: X(() => [
380
- (h(!0), z(He, null, Ue(t(N), (a) => (h(), Y($e(a.renderNode), {
393
+ "submit-loading": t(L).loading,
394
+ onSubmit: t(I),
395
+ onReset: t(T)
396
+ }), Ye({
397
+ default: te(() => [
398
+ (v(!0), z(Ze, null, _e(t(W), (a) => (v(), re(eo(a.renderNode), {
381
399
  key: a.dataIndex
382
400
  }))), 128))
383
401
  ]),
384
402
  _: 2
385
403
  }, [
386
- A.searchFormExtra ? {
404
+ M.searchFormExtra ? {
387
405
  name: "extra",
388
- fn: X(() => [
389
- Z(e.$slots, "searchFormExtra")
406
+ fn: te(() => [
407
+ ae(e.$slots, "searchFormExtra")
390
408
  ]),
391
409
  key: "0"
392
410
  } : void 0
393
411
  ]), 1040, ["submit-loading", "onSubmit", "onReset"])
394
- ], 6)) : Q("", !0),
395
- v("div", {
396
- class: u([t(R)("table-wrapper"), e.card ? t(R)("table-wrapper-card") : null]),
412
+ ], 6)) : oe("", !0),
413
+ R("div", {
414
+ class: m([t(B)("table-wrapper"), e.card ? t(B)("table-wrapper-card") : null]),
397
415
  style: E(e.tableWrapperStyle)
398
416
  }, [
399
- v("div", {
400
- class: u(t(i)("header-wrapper"))
417
+ R("div", {
418
+ class: m(t(d)("header-wrapper"))
401
419
  }, [
402
- Z(e.$slots, "title", {
403
- selectedRows: t(T),
404
- selectedRowKeys: t(be),
405
- shownColumns: t(p),
420
+ ae(e.$slots, "title", {
421
+ selectedRows: t(N),
422
+ selectedRowKeys: t(Ie),
423
+ shownColumns: t(f),
406
424
  clearAll: K
407
425
  })
408
426
  ], 2),
409
- v("div", {
410
- class: u(t(i)("grid-wrapper"))
427
+ R("div", {
428
+ class: m(t(d)("grid-wrapper"))
411
429
  }, [
412
- I(t(Qe), V(oe(t(ae), t(ne)), {
413
- style: Ie.value,
430
+ V(t(ro), A(t(lo)(t(ce), t(O)), {
431
+ "get-row-class": Ue,
432
+ style: Oe.value,
414
433
  "row-data": t(S).records,
415
- "column-defs": t(ce),
416
- "default-col-def": t(de),
434
+ "column-defs": t(ge),
435
+ "default-col-def": t(fe),
417
436
  "suppress-loading-overlay": "",
418
- "row-selection": xe.value,
419
- "selection-column-def": t(ye),
420
- "get-row-id": Ae,
421
- theme: t(re),
437
+ "row-selection": Ke.value,
438
+ "selection-column-def": t(be),
439
+ "get-row-id": je,
440
+ theme: t(de),
422
441
  "tooltip-show-delay": 500,
423
442
  "enable-browser-tooltips": e.browserTooltips,
424
443
  "tooltip-interaction": "",
425
- "no-rows-overlay-component": Co,
426
- onSortChanged: me,
427
- onGridReady: r[0] || (r[0] = (a) => d.value = a.api),
428
- onRowDataUpdated: G,
429
- onRowSelected: Te,
430
- onFirstDataRendered: De,
431
- onRowClicked: Me,
432
- onBodyScrollEnd: Oe
444
+ "no-rows-overlay-component": To,
445
+ onSortChanged: we,
446
+ onGridReady: r[0] || (r[0] = (a) => c.value = a.api),
447
+ onRowDataUpdated: $,
448
+ onRowSelected: Pe,
449
+ onFirstDataRendered: ze,
450
+ onRowClicked: Ge,
451
+ onBodyScrollEnd: He
433
452
  }), null, 16, ["style", "row-data", "column-defs", "default-col-def", "row-selection", "selection-column-def", "theme", "enable-browser-tooltips"]),
434
- qe(v("div", {
435
- class: u(t(R)("table-loading-wrapper"))
453
+ oo(R("div", {
454
+ class: m(t(B)("table-loading-wrapper"))
436
455
  }, [
437
- I(t(Ze), { delay: 300 })
456
+ V(t(so), { delay: 300 })
438
457
  ], 2), [
439
- [Je, ze.value]
458
+ [to, Ae.value]
440
459
  ])
441
460
  ], 2),
442
- v("div", {
443
- class: u(t(i)("pagination-wrapper"))
461
+ R("div", {
462
+ class: m(t(d)("pagination-wrapper"))
444
463
  }, [
445
- e.pagination !== !1 ? (h(), Y(t(_e), V({
464
+ e.pagination !== !1 ? (v(), re(t(io), A({
446
465
  key: 0,
447
- class: t(i)("pagination")
448
- }, t(O).pagination, { onChange: Ve }), null, 16, ["class"])) : Q("", !0)
466
+ class: t(d)("pagination")
467
+ }, t(L).pagination, { onChange: We }), null, 16, ["class"])) : oe("", !0)
449
468
  ], 2)
450
469
  ], 6)
451
470
  ], 6));
452
471
  }
453
472
  });
454
473
  export {
455
- Jo as default
474
+ rt as default
456
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
  /**
@@ -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 p = (e, r) => {
4
+ const h = (o, r) => {
5
5
  const [, a] = d();
6
6
  return c(() => {
7
- const t = e.value === "mini", o = a.value;
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: o.colorTextBase,
14
+ foregroundColor: e.colorTextBase,
15
15
  wrapperBorder: !1,
16
- rowBorder: { color: o.colorBorderSecondary },
17
- headerRowBorder: { color: o.colorBorderSecondary },
18
- selectedRowBackgroundColor: o.controlItemBgActive,
19
- checkboxCheckedBackgroundColor: o.colorPrimary,
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
- p as useTheme
29
+ h as useTheme
29
30
  };
@@ -0,0 +1,2 @@
1
+ import { GridOptions } from 'ag-grid-community';
2
+ export declare function mergeProps(...options: GridOptions[]): GridOptions<any>;
@@ -0,0 +1,6 @@
1
+ function o(...e) {
2
+ return e.reduce((r, n) => ({ ...r, ...n }), {});
3
+ }
4
+ export {
5
+ o as mergeProps
6
+ };
@@ -1,6 +1,6 @@
1
- import { isEmpty as n } from "lodash-unified";
1
+ import { isEmpty as a } from "lodash-unified";
2
2
  import { formatterMap as o } from "./formatter/index.mjs";
3
- function i(r, e) {
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 n(r);
18
+ return a(r);
19
19
  default:
20
20
  return !r;
21
21
  }
22
22
  }
23
- function m(r = {}, e) {
23
+ function u(r = {}, e) {
24
24
  return e.fromGlobal ? {
25
25
  ...r,
26
- downloadFile: e.fromGlobal
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
- m as mixinsAttachmentExtraProps,
35
- i as transformValue
36
+ u as mixinsAttachmentExtraProps,
37
+ m as transformValue
36
38
  };
@@ -1,2 +1,2 @@
1
- declare const _default: "6.28.2";
1
+ declare const _default: "6.28.4";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "6.28.2";
1
+ const e = "6.28.4";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("../../ap-table/utils.js"),C=require("../renderer/index.js"),n=require("lodash-unified"),p=require("vue");require("../components/body-cell/index.vue.js");require("../components/header-cell/index.vue.js");require("../../config-provider/index.js");const _=require("../../ap-grid/utils/col.js"),q=require("../../utils/index.js"),w=require("../../config-provider/hooks/use-global-config.js"),P=require("../../config-provider/hooks/use-namespace.js"),R=require("../components/body-cell/index.vue2.js"),T=require("../components/header-cell/index.vue2.js");function S(t,s){if(s.bodyCellTooltip)return n.isFunction(s.bodyCellTooltip)?s.bodyCellTooltip(t.value,t.data):s.bodyCellTooltip;if(s.renderText)return s.renderText({value:t.value,record:t.data,column:s,text:t.value});const d=s.valueType||"text",o=C.rendererMap[d];if(o){const f=v.getTableRenderProps({...s,valueType:d},{value:t.value,text:t.value,record:t.data,column:t.column,rowIndex:t.node?.rowIndex,pinned:t.node?.rowPinned});return o(f)}return v.objectToString(t.value)}const D=(t,s,d)=>{const o=w.useGlobalConfig("valueTypeMap"),{em:c}=P.useNamespace("ag-grid"),f=p.computed(()=>{const y=p.unref(t),g=a=>{const e={cellRenderer:R.default,cellRendererParams:{column:a,extraValueType:p.unref(o)}};if(a.customRender)return e;if(a.renderText)return{valueFormatter:r=>a.renderText({value:r.value,record:r.data,column:a,text:r.value})};const u=a.valueType||"text",i=C.rendererMap[u];return i?{valueFormatter:r=>{const l=v.getTableRenderProps({...a,valueType:u},{value:r.value,text:r.value,record:r.data,column:r.column,rowIndex:r.node?.rowIndex,pinned:r.node?.rowPinned});return i(l)}}:e};function x(a){return a.map(e=>{const u=e.bodyCellTooltip||!e.customRender&&(e.ellipsis===!0||e.ellipsis==="tooltip"||n.isNumber(e.ellipsis)),i={field:_.dataIndexToField(e.dataIndex),colId:q.isDef(e.key)?String(e.key):void 0,sortable:!!e.sorter,comparator:e.sorter===!0?()=>0:e.sorter,headerComponentParams:{column:e},resizable:e.resizable,width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,flex:e.width?void 0:1,pinned:e.fixed||null,colSpan:e.colSpan,cellClass:d(r=>{const l=e.cellClass||"",h=n.isFunction(l)?l(r.data,r.node):l;return[`${c("cell",e.align||"left")}`,h].flat().filter(Boolean)}),cellStyle:{"--ag-grid-line-clamp":n.isNumber(e.ellipsis)?e.ellipsis:1},wrapText:!e.ellipsis||n.isNumber(e.ellipsis)&&e.ellipsis>=2,autoHeight:!0,tooltipValueGetter:u?r=>S(r,e):void 0,...g(e)};return e.children?.length?{...i,headerGroupComponent:T.default,headerGroupComponentParams:{column:e},children:x(e.children)}:i})}return x(y)}),b=p.computed(()=>({headerComponent:T.default,resizable:s.columnResizable,suppressMovable:!0,cellDataType:!1}));return{columnDefs:f,defaultColDef:b}};exports.useColumnsDef=D;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../ap-table/utils.js"),C=require("../renderer/index.js"),l=require("lodash-unified"),p=require("vue");require("../components/body-cell/index.vue.js");require("../components/header-cell/index.vue.js");require("../../config-provider/index.js");const _=require("../../ap-grid/utils/col.js"),q=require("../../utils/index.js"),w=require("../../config-provider/hooks/use-global-config.js"),P=require("../../config-provider/hooks/use-namespace.js"),R=require("../components/body-cell/index.vue2.js"),T=require("../components/header-cell/index.vue2.js");function S(r){return l.isNumber(r)&&r>1}function D(r,i){if(i.bodyCellTooltip)return l.isFunction(i.bodyCellTooltip)?i.bodyCellTooltip(r.value,r.data):i.bodyCellTooltip;if(i.renderText)return i.renderText({value:r.value,record:r.data,column:i,text:r.value});const d=i.valueType||"text",o=C.rendererMap[d];if(o){const v=c.getTableRenderProps({...i,valueType:d},{value:r.value,text:r.value,record:r.data,column:r.column,rowIndex:r.node?.rowIndex,pinned:r.node?.rowPinned});return o(v)}return c.objectToString(r.value)}const I=(r,i,d)=>{const o=w.useGlobalConfig("valueTypeMap"),{em:f}=P.useNamespace("ag-grid"),v=p.computed(()=>{const y=p.unref(r),g=s=>{const e={cellRenderer:R.default,cellRendererParams:{column:s,extraValueType:p.unref(o)}};if(s.customRender)return e;if(s.renderText)return{valueFormatter:t=>s.renderText({value:t.value,record:t.data,column:s,text:t.value})};const u=s.valueType||"text",a=C.rendererMap[u];return a?{valueFormatter:t=>{const n=c.getTableRenderProps({...s,valueType:u},{value:t.value,text:t.value,record:t.data,column:t.column,rowIndex:t.node?.rowIndex,pinned:t.node?.rowPinned});return a(n)}}:e};function x(s){return s.map(e=>{const u=e.bodyCellTooltip||!e.customRender&&(e.ellipsis===!0||e.ellipsis==="tooltip"||l.isNumber(e.ellipsis)),a={field:_.dataIndexToField(e.dataIndex),colId:q.isDef(e.key)?String(e.key):void 0,sortable:!!e.sorter,comparator:e.sorter===!0?()=>0:e.sorter,headerComponentParams:{column:e},resizable:e.resizable,width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,flex:e.width?void 0:1,pinned:e.fixed||null,colSpan:e.colSpan,cellClass:d(t=>{const n=e.cellClass||"",h=l.isFunction(n)?n(t.data,t.node):n;return[`${f("cell",e.align||"left")}`,S(e.ellipsis)?f("cell","multiline"):null,h].flat().filter(Boolean)}),cellStyle:{"--ag-grid-line-clamp":l.isNumber(e.ellipsis)?e.ellipsis:1},wrapText:!e.ellipsis||l.isNumber(e.ellipsis)&&e.ellipsis>1,autoHeight:!0,tooltipValueGetter:u?t=>D(t,e):void 0,...g(e)};return e.children?.length?{...a,headerGroupComponent:T.default,headerGroupComponentParams:{column:e},children:x(e.children)}:a})}return x(y)}),b=p.computed(()=>({headerComponent:T.default,resizable:i.columnResizable,suppressMovable:!0,cellDataType:!1}));return{columnDefs:v,defaultColDef:b}};exports.useColumnsDef=I;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),qe=require("ag-grid-vue3"),A=require("ag-grid-community"),M=require("@aplus-frontend/antdv"),S=require("lodash-unified");require("../config-provider/index.js");const ze=require("../ap-form/index.js"),Ve=require("../ap-table/utils.js"),Ne=require("../ap-table/hooks/use-table-paging-ng.js"),Te=require("./hooks/use-row-selection.js"),Ee=require("./context.js"),Pe=require("../ap-table/context.js"),O=require("../ap-grid/constants.js"),De=require("@aplus-frontend/antdv/es/theme/internal"),Ke=require("./theme.js"),Ie=require("./hooks/use-columns.js"),Ae=require("./hooks/use-columns-def.js"),Me=require("../utils/index.js"),Oe=require("../utils/slot.js"),Ue=require("./hooks/use-search-form.js");require("./components/empty/index.vue.js");const je=require("./hooks/use-virtual-config.js"),We=require("./hooks/use-pinned-row.js"),Ge=require("./hooks/use-selection-col-def.js"),Le=require("../config-provider/hooks/use-namespace.js"),$e=require("./components/empty/index.vue2.js"),He=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(U,{expose:j}){A.ModuleRegistry.registerModules([A.AllCommunityModule]);const t=U,k=e.useSlots();function W(...o){return o.reduce((r,n)=>({...r,...n}),{})}const{e:y,b:s,be:G}=Le.useNamespace("ag-grid"),w=e.ref(t.size),L=Ke.useTheme(w,e.toRef(t,"rowHeight")),$=je.default(e.toRef(t,"virtual")),{rowPinnedGridConfig:H,getRowPinnedCellClass:_}=We.usePinnedRow(e.toRef(t,"summary")),u=e.ref(),[,J]=De.useToken();let c=!!t.dataSource;const F=Ue.useSearchForm(t),{shownColumns:d,columns:x,columnKeys:Q}=Ie.useColumns(t),{defaultColDef:X,columnDefs:Y}=Ae.useColumnsDef(x,t,_),h=e.ref({});Ee.useProvideSorter({sorter:h,setSorter(o){h.value=o}});const Z={asc:"ascend",desc:"descend"};function ee(){const o=u.value.getColumns()?.filter(l=>l.getSort()!==void 0),r=e.unref(h)||{};let n=o?.[0];const i=Object.keys(r);if(i.length&&i.every(l=>r[l]===null)){const l=Object.keys(r)[0];l&&(n=u.value?.getColumn(l))}if(!n)return;const g=n.getColDef(),a=n.getSort();z(void 0,void 0,{column:g,field:g.field,order:a?Z[a]:null})}const oe=e.computed(()=>Ve.recursionApColumns(e.unref(d),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),te=e.computed(()=>Me.isDef(t.manual)?t.manual:Oe.getValidVNodeList(k.searchFormExtra?.()||[]).some(r=>r.type?.name==="ApView")),{formRef:f,submit:C,reset:v,data:m,tableProps:q,handleTableChangeOptional:z,submitWith:V,refresh:N,getPaging:re,setPaging:ne,setDataSource:ae}=Ne.useTablePaging({async request(o){if(c=!1,!ue.value&&S.isUndefined(t.dataSource)&&B(),!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(te),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:oe}),le=Ge.default(t,d),se=e.computed(()=>S.isUndefined(t.dataSource)?m.records:t.dataSource),ue=e.computed(()=>{const o=t.rowSelection===!0?{}:t.rowSelection;return o?o.preserveSelectedRowKeys!==!1:!1}),{select:ie,unSelect:ce,selectedRows:R,selectedRowKeys:de,clearAll:fe,selectMultiByKeys:me}=Te.default({...t.rowSelection===!0?{}:t.rowSelection,dataSource:se,rowKey:t.rowKey}),pe={checkbox:"multiRow",radio:"singleRow"},ge=e.computed(()=>{if(!t.rowSelection)return;const{type:o="checkbox",disabled:r}=t.rowSelection===!0?{}:t.rowSelection;return{mode:pe[o],isRowSelectable:n=>r?!r(n.data):!0}});function b(o){return S.isFunction(t.rowKey)?t.rowKey(o):o[t.rowKey]}const T=({api:o=u.value})=>{if(!t.rowSelection)return;const r=R.value;if(!r.length){setTimeout(()=>{c=!0},0);return}c=!1;const n=[];o.forEachNode(i=>{const p=i.data,g=b(p);r.find(a=>b(a)===g)&&n.push(i)}),o.setNodesSelected({nodes:n,newValue:!0}),setTimeout(()=>{c=!0},0)},Se=o=>{c&&(o.node.isSelected()?ie(o.data):ce(o.data))},we=()=>{c=!0},B=()=>{fe(),u.value?.deselectAll()};function ye(o){me(o),e.nextTick(()=>{T({})})}function E(o=!1){const r=o?"getFieldsValueTransformed":"getFieldsValue";return f.value?.apForm?.[r]?.(!0)}function P(o){f.value?.apForm?.setFieldsValue?.(o)}function D(){return f.value?.getSorterItems()||[]}function K(o){f.value?.setSorterItems(o)}function I(){f.value?.resetSorterItems()}function he(o){const r=u.value;if(!r)return;const n=r.getColumnState()||[],i=o.map(a=>a.key?String(a.key):a.key).filter(Boolean);let p=!1;const g=n.map(a=>{if(!Q.value.includes(a.colId))return a;const l=!i.includes(a.colId);return!p&&l!==a.hide&&(p=!0),{...a,hide:l}});p&&r.applyColumnState({state:g,applyOrder:!0})}Pe.useProvideApTable({columns:e.computed(()=>d.value),columnsBackup:e.computed(()=>x.value),size:e.computed(()=>O.sizeMap[w.value]),updateColumns(o){d.value=o,t.onShownColumnsChange?.(o),he(o)},updateSize(o){w.value=O.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:G("table-header","title"),color:J.value.colorTextTertiary})),dataSource:e.computed(()=>e.unref(m).records),getSearchFormValues:E,setSearchFormValues:P,submit:C,submitWith:V,reset:v,refresh:N,getSearchFormSorterItems:D,setSearchFormSorterItems:K,resetSearchFormSorterItems:I});const Ce=e.computed(()=>S.isUndefined(t.loading)?m.loading:t.loading),ve=e.computed(()=>[s(),t.card?null:s("wrapper"),s("adaptive"),s(`size-${w.value}`)].filter(Boolean)),Re=e.computed(()=>({height:"100%",...t.tableStyle||{}})),be=(o,r)=>{z({current:o,pageSize:r})};function Be(o){const r=o.data;return b(r)}function ke(o,r){u.value?.ensureIndexVisible(o,r)}function Fe(o){t.onRowClicked?.(o.data)}function xe(o){t.onScrollEnd?.(o.direction)}return e.watch(()=>t.dataSource,o=>{ae(o)},{immediate:!0,deep:!0}),e.watch(()=>t.size,o=>{w.value=o}),e.watch(()=>e.unref(m).loading,o=>{t.onLoadingChange?.(o)}),j({submit:C,reset:v,refresh:N,submitWith:V,setSearchFormValues:P,getSearchFormValues:E,getShowColumns:()=>e.unref(d),rowSelection:{selectedRows:e.computed(()=>R.value),setSelectedRowKeys:ye,clearAll:B},scrollToRow:ke,getDataSource:()=>e.unref(m.records),getPaging:re,setPaging:ne,getSearchFormSorterItems:D,setSearchFormSorterItems:K,resetSearchFormSorterItems:I}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(ve.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(S.isUndefined)(o.dataSource)&&o.searchForm!==!1&&e.unref(F).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(y)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(ze.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:f,"custom-reset":"","submit-loading":e.unref(q).loading,onSubmit:e.unref(C),onReset:e.unref(v)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(F),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode),{key:n.dataIndex}))),128))]),_:2},[k.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(y)("table-wrapper"),o.card?e.unref(y)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(R),selectedRowKeys:e.unref(de),shownColumns:e.unref(d),clearAll:B})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("grid-wrapper"))},[e.createVNode(e.unref(qe.AgGridVue),e.mergeProps(W(e.unref($),e.unref(H)),{style:Re.value,"row-data":e.unref(m).records,"column-defs":e.unref(Y),"default-col-def":e.unref(X),"suppress-loading-overlay":"","row-selection":ge.value,"selection-column-def":e.unref(le),"get-row-id":Be,theme:e.unref(L),"tooltip-show-delay":500,"enable-browser-tooltips":o.browserTooltips,"tooltip-interaction":"","no-rows-overlay-component":$e.default,onSortChanged:ee,onGridReady:r[0]||(r[0]=n=>u.value=n.api),onRowDataUpdated:T,onRowSelected:Se,onFirstDataRendered:we,onRowClicked:Fe,onBodyScrollEnd:xe}),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(y)("table-loading-wrapper"))},[e.createVNode(e.unref(M.Spin),{delay:300})],2),[[e.vShow,Ce.value]])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("pagination-wrapper"))},[o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(M.Pagination),e.mergeProps({key:0,class:e.unref(s)("pagination")},e.unref(q).pagination,{onChange:be}),null,16,["class"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=He;
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
  /**
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@aplus-frontend/antdv/es/theme/internal"),c=require("ag-grid-community"),d=require("vue"),l=(o,r)=>{const[,a]=n.useToken();return d.computed(()=>{const t=o.value==="mini",e=a.value;return c.themeQuartz.withParams({headerHeight:"36px",headerFontSize:"12px",dataFontSize:"12px",rowHeight:r.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"})})};exports.useTheme=l;
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,2 @@
1
+ import { GridOptions } from 'ag-grid-community';
2
+ export declare function mergeProps(...options: GridOptions[]): GridOptions<any>;
@@ -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 n=require("lodash-unified"),a=require("./formatter/index.js");function i(e,r){const t=a.formatterMap[r.valueType];return t?t(e,r.extraProps||{}):e.value}function o(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 n.isEmpty(e);default:return!e}}function f(e={},r){return r.fromGlobal?{...e,downloadFile:r.fromGlobal}:!e?.downloadFile&&r.fromConfig?{...e,downloadFile:r.fromConfig}:e}exports.isEmptyWithType=o;exports.mixinsAttachmentExtraProps=f;exports.transformValue=i;
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;
@@ -1,2 +1,2 @@
1
- declare const _default: "6.28.2";
1
+ declare const _default: "6.28.4";
2
2
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="6.28.2";exports.default=e;
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "6.28.2",
3
+ "version": "6.28.4",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "files": [
@@ -656,6 +656,12 @@
656
656
  .aplus-ag-grid__cell--right {
657
657
  text-align: right;
658
658
  }
659
+ .aplus-ag-grid__cell--multiline .ag-cell-value {
660
+ display: -webkit-box;
661
+ -webkit-box-orient: vertical;
662
+ -webkit-line-clamp: var(--ag-grid-line-clamp);
663
+ word-break: break-all;
664
+ }
659
665
  .aplus-ag-grid-size-mini .ag-cell {
660
666
  line-height: 18px;
661
667
  padding-block: 6px;
@@ -675,17 +681,15 @@
675
681
  .aplus-ag-grid-size-medium .ag-cell > div {
676
682
  width: 100%;
677
683
  }
678
- .aplus-ag-grid .ag-cell-value {
679
- display: -webkit-box;
680
- -webkit-box-orient: vertical;
681
- -webkit-line-clamp: var(--ag-grid-line-clamp);
682
- word-break: break-all;
683
- }
684
684
  .aplus-ag-grid .ag-tooltip {
685
685
  max-width: 300px;
686
+ word-break: break-all;
686
687
  }
687
688
  .aplus-ag-grid .ag-unselectable {
688
689
  -moz-user-select: text;
689
690
  user-select: text;
690
691
  -webkit-user-select: text;
691
692
  }
693
+ .aplus-ag-grid .ag-cell-focus:not(.ag-cell-range-selected):focus-within {
694
+ border-color: transparent;
695
+ }
@@ -119,6 +119,14 @@
119
119
  &__cell--right {
120
120
  text-align: right;
121
121
  }
122
+ &__cell--multiline {
123
+ .ag-cell-value {
124
+ display: -webkit-box;
125
+ -webkit-box-orient: vertical;
126
+ -webkit-line-clamp: var(--ag-grid-line-clamp);
127
+ word-break: break-all;
128
+ }
129
+ }
122
130
  &-size-mini {
123
131
  .ag-cell {
124
132
  line-height: @line-height-base;
@@ -142,25 +150,16 @@
142
150
  }
143
151
  }
144
152
  }
145
- .ag-cell-value {
146
- display: -webkit-box;
147
- -webkit-box-orient: vertical;
148
- -webkit-line-clamp: var(--ag-grid-line-clamp);
149
- word-break: break-all;
150
- }
151
153
  .ag-tooltip {
152
154
  max-width: 300px;
155
+ word-break: break-all;
153
156
  }
154
- // .ag-pinned-left-header, .ag-pinned-left-cols-container {
155
- // z-index: 1;
156
- // box-shadow: 8px 0px 10px -5px var(--ap-grid-fixed-scrolling-box-shadow-color);
157
- // border-right-color: transparent !important;
158
- // }
159
- // .ag-cell-last-left-pinned {
160
- // border-right-color: transparent !important;
161
- // }
162
157
  .ag-unselectable {
163
158
  user-select: text;
164
159
  -webkit-user-select: text;
165
160
  }
161
+ // avoid cell selectable style
162
+ .ag-cell-focus:not(.ag-cell-range-selected):focus-within {
163
+ border-color: transparent;
164
+ }
166
165
  });
@@ -80,6 +80,8 @@
80
80
  flex-shrink: 0;
81
81
  width: 16px;
82
82
  margin-left: 4px;
83
+ display: flex;
84
+ align-items: center;
83
85
  }
84
86
  .aplus-ap-copy__copy-btn .aplus-frontend-icon {
85
87
  cursor: pointer;
@@ -38,6 +38,8 @@
38
38
  flex-shrink: 0; // 防止按钮被压缩
39
39
  width: 16px;
40
40
  margin-left:4px;
41
+ display: flex;
42
+ align-items: center;
41
43
  .aplus-frontend-icon{
42
44
  cursor: pointer;
43
45
  color:#ABB7CC;
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;
@@ -4353,6 +4355,12 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
4353
4355
  .aplus-ag-grid__cell--right {
4354
4356
  text-align: right;
4355
4357
  }
4358
+ .aplus-ag-grid__cell--multiline .ag-cell-value {
4359
+ display: -webkit-box;
4360
+ -webkit-box-orient: vertical;
4361
+ -webkit-line-clamp: var(--ag-grid-line-clamp);
4362
+ word-break: break-all;
4363
+ }
4356
4364
  .aplus-ag-grid-size-mini .ag-cell {
4357
4365
  line-height: 18px;
4358
4366
  padding-block: 6px;
@@ -4372,20 +4380,18 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
4372
4380
  .aplus-ag-grid-size-medium .ag-cell > div {
4373
4381
  width: 100%;
4374
4382
  }
4375
- .aplus-ag-grid .ag-cell-value {
4376
- display: -webkit-box;
4377
- -webkit-box-orient: vertical;
4378
- -webkit-line-clamp: var(--ag-grid-line-clamp);
4379
- word-break: break-all;
4380
- }
4381
4383
  .aplus-ag-grid .ag-tooltip {
4382
4384
  max-width: 300px;
4385
+ word-break: break-all;
4383
4386
  }
4384
4387
  .aplus-ag-grid .ag-unselectable {
4385
4388
  -moz-user-select: text;
4386
4389
  user-select: text;
4387
4390
  -webkit-user-select: text;
4388
4391
  }
4392
+ .aplus-ag-grid .ag-cell-focus:not(.ag-cell-range-selected):focus-within {
4393
+ border-color: transparent;
4394
+ }
4389
4395
  .aplus-ap-value-select-card {
4390
4396
  position: relative;
4391
4397
  margin-top: 8px;