@aplus-frontend/ui 6.28.3 → 6.29.0

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