@aplus-frontend/ui 0.4.15 → 0.4.16

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,27 @@
1
- import { defineComponent as ze, useSlots as Pe, ref as f, computed as s, unref as r, createVNode as m, Fragment as J, watchEffect as Ne, watch as I, openBlock as y, createElementBlock as x, normalizeClass as g, normalizeStyle as Q, mergeProps as S, createSlots as X, withCtx as w, renderList as Y, createBlock as Z, resolveDynamicComponent as Ie, renderSlot as R, createCommentVNode as ee, createElementVNode as E, normalizeProps as Ee, guardReactiveProps as Ke } from "vue";
1
+ import { defineComponent as ze, useSlots as Pe, ref as S, computed as s, unref as t, createVNode as f, Fragment as G, watchEffect as Ne, watch as J, openBlock as p, createElementBlock as B, normalizeClass as m, normalizeStyle as Q, mergeProps as h, createSlots as X, withCtx as w, renderList as Y, createBlock as Z, resolveDynamicComponent as Ie, renderSlot as R, createCommentVNode as ee, createElementVNode as N, normalizeProps as Ee, guardReactiveProps as Ke } from "vue";
2
2
  import { Divider as Oe, Table as Le } from "@aplus-frontend/antdv";
3
3
  import { useToken as Ve } from "@aplus-frontend/antdv/es/theme/internal";
4
4
  import { ApForm as Ae } from "../ap-form/index.mjs";
5
5
  import { noRenderAsFormItemValueList as oe } from "./constants.mjs";
6
6
  import "../config-provider/index.mjs";
7
7
  import { useTablePaging as De } from "./hooks/use-table-paging-ng.mjs";
8
- import { isUndefined as b, omit as ae, isBoolean as $e } from "lodash-unified";
9
- import { getColumnOrder as re, updateFormProps as je, getFieldProps as We, getSearchFormItemRenderNode as He, recursionApColumns as te, apColumnToColumn as _e, getTableTitle as qe, getTableRenderType as Ue, getTableRenderProps as Ge, getTableCellRenderNode as Me, falseToUndefined as Je } from "./utils.mjs";
8
+ import { isUndefined as y, omit as ae, isBoolean as $e } from "lodash-unified";
9
+ import { getColumnOrder as re, updateFormProps as We, getFieldProps as je, getSearchFormItemRenderNode as _e, recursionApColumns as te, apColumnToColumn as He, getTableTitle as Ue, getTableRenderType as qe, getTableRenderProps as Me, getTableCellRenderNode as Ge, falseToUndefined as Je } from "./utils.mjs";
10
10
  import Qe from "./hooks/use-table-content-height.mjs";
11
11
  import Xe from "./hooks/use-table-row-selection.mjs";
12
- import { getScrollbarSize as Ye, isDef as Ze } from "../utils/index.mjs";
12
+ import { isDef as Ye } from "../utils/index.mjs";
13
13
  import "./components/setting/modal/index.vue.mjs";
14
14
  import "./components/paragraph-ellipsis/index.vue.mjs";
15
- import { useProvideApTable as eo } from "./context.mjs";
15
+ import { useProvideApTable as Ze } from "./context.mjs";
16
16
  import "../scroll-bar/index.mjs";
17
- import { useNamespace as oo } from "../config-provider/hooks/use-namespace.mjs";
18
- import { useGlobalConfig as ao } from "../config-provider/hooks/use-global-config.mjs";
19
- import ro from "./components/paragraph-ellipsis/index.vue2.mjs";
20
- import to from "./components/setting/modal/index.vue2.mjs";
21
- import lo from "../scroll-bar/index.vue.mjs";
22
- const ko = /* @__PURE__ */ ze({
17
+ import { useStickyScroll as eo } from "./hooks/use-sticky-scroll.mjs";
18
+ import { scrollbarSize as oo } from "../config-provider/css-var.mjs";
19
+ import { useNamespace as ao } from "../config-provider/hooks/use-namespace.mjs";
20
+ import { useGlobalConfig as ro } from "../config-provider/hooks/use-global-config.mjs";
21
+ import to from "./components/paragraph-ellipsis/index.vue2.mjs";
22
+ import lo from "./components/setting/modal/index.vue2.mjs";
23
+ import no from "../scroll-bar/index.vue.mjs";
24
+ const No = /* @__PURE__ */ ze({
23
25
  name: "ApTable",
24
26
  __name: "ap-table",
25
27
  props: {
@@ -147,19 +149,22 @@ const ko = /* @__PURE__ */ ze({
147
149
  expose: ne
148
150
  }) {
149
151
  const o = le;
150
- let K = 0;
151
- const se = Ye(), v = Pe(), [, de] = Ve(), {
152
- e: B,
152
+ let I = 0;
153
+ const C = Pe(), [, se] = Ve(), {
154
+ e: x,
153
155
  b: i,
154
- be: O,
155
- bm: ue
156
- } = oo("ap-table"), L = ao("valueTypeMap"), {
157
- height: ie,
158
- contentRef: ce
159
- } = Qe(), k = f(o.size), u = f([]), V = f([]), A = f(), D = f(), $ = f();
160
- eo({
156
+ be: E,
157
+ m: de
158
+ } = ao("ap-table"), K = ro("valueTypeMap"), {
159
+ height: ue,
160
+ contentRef: ie
161
+ } = Qe(), O = S(), L = S(), {
162
+ isStickyMode: V,
163
+ scrollBarRef: ce
164
+ } = eo(O), k = S(o.size), u = S([]), A = S([]);
165
+ Ze({
161
166
  columns: s(() => u.value),
162
- columnsBackup: s(() => V.value),
167
+ columnsBackup: s(() => A.value),
163
168
  size: s(() => k.value),
164
169
  updateColumns(e) {
165
170
  u.value = e;
@@ -167,34 +172,34 @@ const ko = /* @__PURE__ */ ze({
167
172
  updateSize(e) {
168
173
  k.value = e;
169
174
  },
170
- dataSource: s(() => r(c).records)
175
+ dataSource: s(() => t(g).records)
171
176
  });
172
- const j = s(() => {
173
- var e, t, a;
174
- return K++, ((a = (t = (e = o.columns) == null ? void 0 : e.filter((l) => !l.hideInSearch && l.dataIndex && (l.valueType || l.customRenderFormItem) && !oe.includes(l.valueType))) == null ? void 0 : t.sort((l, d) => {
175
- let n = re(l.order);
177
+ const D = s(() => {
178
+ var e, l, a;
179
+ return I++, ((a = (l = (e = o.columns) == null ? void 0 : e.filter((r) => !r.hideInSearch && r.dataIndex && (r.valueType || r.customRenderFormItem) && !oe.includes(r.valueType))) == null ? void 0 : l.sort((r, d) => {
180
+ let n = re(r.order);
176
181
  return re(d.order) - n;
177
- })) == null ? void 0 : a.map((l) => {
178
- const d = je(l, We(l.fieldProps, {})), n = {
179
- ...l,
182
+ })) == null ? void 0 : a.map((r) => {
183
+ const d = We(r, je(r.fieldProps, {})), n = {
184
+ ...r,
180
185
  fieldProps: {
181
- label: l.title,
182
- name: l.dataIndex,
186
+ label: r.title,
187
+ name: r.dataIndex,
183
188
  ...d || {},
184
- _signal: K
189
+ _signal: I
185
190
  },
186
191
  renderNode: void 0
187
192
  };
188
- return n.renderNode = He(n, r(L)), n;
193
+ return n.renderNode = _e(n, t(K)), n;
189
194
  })) || [];
190
- }), pe = s(() => te(r(u), (e) => {
195
+ }), fe = s(() => te(t(u), (e) => {
191
196
  if (e.sorter === !0)
192
197
  return e.key || e.dataIndex;
193
- }).filter(Boolean)), fe = s(() => te(r(u), (e) => {
198
+ }).filter(Boolean)), pe = s(() => te(t(u), (e) => {
194
199
  if (e.filters && !e.onFilter)
195
200
  return e.key || e.dataIndex;
196
- }).filter(Boolean)), me = s(() => b(o.dataSource) ? c.records : o.dataSource), {
197
- rowSelection: C,
201
+ }).filter(Boolean)), me = s(() => y(o.dataSource) ? g.records : o.dataSource), {
202
+ rowSelection: v,
198
203
  selectedRows: T,
199
204
  ...F
200
205
  } = Xe({
@@ -204,85 +209,85 @@ const ko = /* @__PURE__ */ ze({
204
209
  dataSource: me
205
210
  }), {
206
211
  formRef: z,
207
- submit: W,
208
- reset: H,
209
- tableProps: _,
212
+ submit: $,
213
+ reset: W,
214
+ tableProps: j,
210
215
  refresh: ye,
211
- data: c,
216
+ data: g,
212
217
  setDataSource: ge,
213
218
  getColumnSFConfig: be
214
219
  } = De({
215
220
  async request(e) {
216
- var a, l;
217
- if (!C.value.preserveSelectedRowKeys && b(o.dataSource) && F.clearAll(), !b(o.dataSource))
221
+ var a, r;
222
+ if (!v.value.preserveSelectedRowKeys && y(o.dataSource) && F.clearAll(), !y(o.dataSource))
218
223
  return {
219
224
  data: o.dataSource || [],
220
225
  total: o.dataSource.length || 0
221
226
  };
222
- const t = await ((a = o.request) == null ? void 0 : a.call(o, e));
223
- return (l = o.onLoad) == null || l.call(o, (t == null ? void 0 : t.data) || []), {
224
- data: (t == null ? void 0 : t.data) || [],
225
- total: (t == null ? void 0 : t.total) || 0
227
+ const l = await ((a = o.request) == null ? void 0 : a.call(o, e));
228
+ return (r = o.onLoad) == null || r.call(o, (l == null ? void 0 : l.data) || []), {
229
+ data: (l == null ? void 0 : l.data) || [],
230
+ total: (l == null ? void 0 : l.total) || 0
226
231
  };
227
232
  },
228
- filterFields: fe,
229
- sortFields: pe,
233
+ filterFields: pe,
234
+ sortFields: fe,
230
235
  defaultParams: o.params,
231
236
  defaultData: o.defaultData,
232
237
  manual: o.manual,
233
238
  formatParams: o.beforeSearchSubmit,
234
239
  pagination: o.pagination
235
- }), he = () => {
240
+ }), Se = () => {
236
241
  var a;
237
- let e = ((a = o.columns) == null ? void 0 : a.filter((l) => !l.hideInTable)) || [];
238
- function t(l, d) {
239
- return l.map((n) => ({
240
- resizable: Ze(n.resizable) ? n.resizable : o.columnResizable,
241
- ...ae(_e(n), ["ellipsis"]),
242
+ let e = ((a = o.columns) == null ? void 0 : a.filter((r) => !r.hideInTable)) || [];
243
+ function l(r, d) {
244
+ return r.map((n) => ({
245
+ resizable: Ye(n.resizable) ? n.resizable : o.columnResizable,
246
+ ...ae(He(n), ["ellipsis"]),
242
247
  ...be(n),
243
248
  fixed: d ? d.fixed : n.fixed,
244
- title: qe(n, O("table-header", "title"), v.headerCell, r(de).colorPrimary),
249
+ title: Ue(n, E("table-header", "title"), C.headerCell, t(se).colorPrimary),
245
250
  customRender({
246
- value: p,
247
- ...h
251
+ value: c,
252
+ ...b
248
253
  }) {
249
- var G, M;
250
- const q = Ue(n), xe = Ge({
254
+ var q, M;
255
+ const H = qe(n), Be = Me({
251
256
  ...n,
252
- valueType: q
257
+ valueType: H
253
258
  }, {
254
- value: p,
255
- ...h
256
- }), Be = Me(q, xe, h.record, r(L)), U = ((G = n.renderText) == null ? void 0 : G.call(n, {
257
- value: p,
258
- ...h
259
- })) || p, ke = n.renderText ? m(J, null, [(M = n.renderText) == null ? void 0 : M.call(n, {
260
- value: p,
261
- ...h
262
- })]) : Be;
263
- let N = ve(n, U, ke);
264
- return n.customRender && (N = n.customRender({
265
- value: p,
266
- ...h,
259
+ value: c,
260
+ ...b
261
+ }), xe = Ge(H, Be, b.record, t(K)), U = ((q = n.renderText) == null ? void 0 : q.call(n, {
262
+ value: c,
263
+ ...b
264
+ })) || c, ke = n.renderText ? f(G, null, [(M = n.renderText) == null ? void 0 : M.call(n, {
265
+ value: c,
266
+ ...b
267
+ })]) : xe;
268
+ let P = Ce(n, U, ke);
269
+ return n.customRender && (P = n.customRender({
270
+ value: c,
271
+ ...b,
267
272
  column: n,
268
- originalNode: N,
273
+ originalNode: P,
269
274
  originalText: U
270
- })), N;
275
+ })), P;
271
276
  },
272
- children: t(n.children || [], d || n)
277
+ children: l(n.children || [], d || n)
273
278
  }));
274
279
  }
275
- return t(e);
280
+ return l(e);
276
281
  };
277
282
  Ne(() => {
278
- const e = he();
279
- u.value = e, V.value = e;
283
+ const e = Se();
284
+ u.value = e, A.value = e;
280
285
  });
281
- const Se = s(() => {
282
- var t, a;
283
- if (o.adaptive && (c.total > 0 || ((t = o.dataSource) == null ? void 0 : t.length)))
286
+ const he = s(() => {
287
+ var l, a;
288
+ if (o.adaptive && (g.total > 0 || ((l = o.dataSource) == null ? void 0 : l.length)))
284
289
  return {
285
- y: r(ie),
290
+ y: t(ue),
286
291
  x: ((a = o.scroll) == null ? void 0 : a.x) || "100%"
287
292
  };
288
293
  if (o.scroll)
@@ -291,29 +296,26 @@ const ko = /* @__PURE__ */ ze({
291
296
  var e;
292
297
  if (o.tableLayout)
293
298
  return o.tableLayout;
294
- if ((e = o.columns) != null && e.some((t) => t.ellipsis))
299
+ if ((e = o.columns) != null && e.some((l) => l.ellipsis))
295
300
  return "fixed";
296
- }), P = s(() => {
301
+ }), _ = s(() => {
297
302
  var a;
298
- const e = r(_), t = r(C);
303
+ const e = t(j), l = t(v);
299
304
  return {
300
305
  ...o,
301
306
  ...e,
302
307
  rowSelection: o.rowSelection === !0 || ((a = o.rowSelection) == null ? void 0 : a.mode) === "internal" ? {
303
- ...t,
308
+ ...l,
304
309
  // tips 如果是前端分页,则默认会走缓存
305
- preserveSelectedRowKeys: b(o.dataSource) ? t.preserveSelectedRowKeys : !0
310
+ preserveSelectedRowKeys: y(o.dataSource) ? l.preserveSelectedRowKeys : !0
306
311
  } : Je(o.rowSelection),
307
- loading: b(o.loading) ? e.loading : o.loading,
312
+ loading: y(o.loading) ? e.loading : o.loading,
308
313
  pagination: o.pagination === !1 ? !1 : e.pagination,
309
- scroll: r(Se)
314
+ scroll: t(he)
310
315
  };
311
- }), Re = s(() => {
312
- var e;
313
- return [i(), o.card ? null : i("wrapper"), o.adaptive ? i("adaptive") : null, (e = D.value) != null && e.visible ? ue("horizontal", "scrollable") : null].filter(Boolean);
314
- });
315
- function ve(e, t, a) {
316
- return oe.includes(e.valueType) ? a : e.copyable || e.ellipsis ? m(ro, {
316
+ }), Re = s(() => [i(), o.card ? null : i("wrapper"), o.adaptive ? i("adaptive") : null, V ? de(`sticky-${oo === 0 ? "absolute" : "relative"}`) : null].filter(Boolean));
317
+ function Ce(e, l, a) {
318
+ return oe.includes(e.valueType) ? a : e.copyable || e.ellipsis ? f(to, {
317
319
  copyable: e.copyable,
318
320
  ellipsis: e.ellipsis ? $e(e.ellipsis) ? {
319
321
  tooltip: a,
@@ -325,62 +327,55 @@ const ko = /* @__PURE__ */ ze({
325
327
  content: a
326
328
  }, null) : a;
327
329
  }
328
- I(() => r(c).loading, (e) => {
329
- var t;
330
- (t = o.onLoadingChange) == null || t.call(o, e);
331
- }), I(() => r(c).records, () => {
332
- var e;
333
- $.value = (e = A.value) == null ? void 0 : e.querySelector(".ant-table-container > div:last-child");
334
- }, {
335
- flush: "post",
336
- immediate: !0,
337
- deep: !0
338
- }), I(() => o.dataSource, (e) => {
330
+ J(() => t(g).loading, (e) => {
331
+ var l;
332
+ (l = o.onLoadingChange) == null || l.call(o, e);
333
+ }), J(() => o.dataSource, (e) => {
339
334
  ge(e);
340
335
  }, {
341
336
  immediate: !0
342
337
  });
343
- function Ce(e) {
344
- var t, a, l;
345
- (l = (a = (t = z.value) == null ? void 0 : t.apForm) == null ? void 0 : a.setFieldsValue) == null || l.call(a, e);
338
+ function ve(e) {
339
+ var l, a, r;
340
+ (r = (a = (l = z.value) == null ? void 0 : l.apForm) == null ? void 0 : a.setFieldsValue) == null || r.call(a, e);
346
341
  }
347
342
  function Te(e = !1) {
348
- var a, l, d;
349
- const t = e ? "getFieldsValueTransformed" : "getFieldsValue";
350
- return (d = (l = (a = z.value) == null ? void 0 : a.apForm) == null ? void 0 : l[t]) == null ? void 0 : d.call(l, !0);
343
+ var a, r, d;
344
+ const l = e ? "getFieldsValueTransformed" : "getFieldsValue";
345
+ return (d = (r = (a = z.value) == null ? void 0 : a.apForm) == null ? void 0 : r[l]) == null ? void 0 : d.call(r, !0);
351
346
  }
352
347
  function Fe() {
353
- return r(u);
348
+ return t(u);
354
349
  }
355
350
  return ne({
356
- submit: () => W(),
357
- reset: () => H(),
351
+ submit: () => $(),
352
+ reset: () => W(),
358
353
  refresh: () => ye(),
359
- setSearchFormValues: Ce,
354
+ setSearchFormValues: ve,
360
355
  getSearchFormValues: Te,
361
356
  getShownColumns: Fe,
362
- dataSource: s(() => r(c).records),
357
+ dataSource: s(() => t(g).records),
363
358
  rowSelection: {
364
- selectedRows: s(() => r(T)),
359
+ selectedRows: s(() => t(T)),
365
360
  ...F
366
361
  }
367
- }), (e, t) => (y(), x("div", {
368
- ref_key: "apTableRef",
369
- ref: A,
370
- class: g(Re.value)
371
- }, [r(b)(e.dataSource) && e.searchForm !== !1 && j.value.length > 0 ? (y(), x("div", {
362
+ }), (e, l) => (p(), B("div", {
363
+ ref_key: "tableWrapperRef",
364
+ ref: O,
365
+ class: m(Re.value)
366
+ }, [t(y)(e.dataSource) && e.searchForm !== !1 && D.value.length > 0 ? (p(), B("div", {
372
367
  key: 0,
373
- class: g(e.card ? r(B)("search-wrapper") : null),
368
+ class: m(e.card ? t(x)("search-wrapper") : null),
374
369
  style: Q(e.searchFormWrapperStyle)
375
- }, [m(r(Ae).SearchForm, S(e.searchForm || {}, {
370
+ }, [f(t(Ae).SearchForm, h(e.searchForm || {}, {
376
371
  ref_key: "formRef",
377
372
  ref: z,
378
373
  "custom-reset": "",
379
- "submit-loading": r(_).loading,
380
- onSubmit: r(W),
381
- onReset: r(H)
374
+ "submit-loading": t(j).loading,
375
+ onSubmit: t($),
376
+ onReset: t(W)
382
377
  }), X({
383
- default: w(() => [(y(!0), x(J, null, Y(j.value, (a) => (y(), Z(Ie(a.renderNode.Comp), S({
378
+ default: w(() => [(p(!0), B(G, null, Y(D.value, (a) => (p(), Z(Ie(a.renderNode.Comp), h({
384
379
  key: a.dataIndex,
385
380
  item: a,
386
381
  ref_for: !0
@@ -389,66 +384,70 @@ const ko = /* @__PURE__ */ ze({
389
384
  "custom-render": a.renderNode.render
390
385
  }), null, 16, ["item", "span", "custom-render"]))), 128))]),
391
386
  _: 2
392
- }, [v.searchFormExtra ? {
387
+ }, [C.searchFormExtra ? {
393
388
  name: "extra",
394
389
  fn: w(() => [R(e.$slots, "searchFormExtra")]),
395
390
  key: "0"
396
- } : void 0]), 1040, ["submit-loading", "onSubmit", "onReset"])], 6)) : ee("", !0), E("div", {
391
+ } : void 0]), 1040, ["submit-loading", "onSubmit", "onReset"])], 6)) : ee("", !0), N("div", {
397
392
  ref_key: "contentRef",
398
- ref: ce,
399
- class: g([r(B)("table-wrapper"), e.card ? r(B)("table-wrapper-card") : null]),
393
+ ref: ie,
394
+ class: m([t(x)("table-wrapper"), e.card ? t(x)("table-wrapper-card") : null]),
400
395
  style: Q(e.tableWrapperStyle)
401
- }, [E("div", {
402
- class: g(r(i)("header-wrapper"))
403
- }, [e.settings ? (y(), x("div", {
396
+ }, [N("div", {
397
+ class: m(t(i)("header-wrapper"))
398
+ }, [e.settings ? (p(), B("div", {
404
399
  key: 0,
405
- class: g(r(i)("header"))
406
- }, [E("div", {
407
- class: g(r(O)("header", "title"))
408
- }, [R(e.$slots, "title", S({
409
- selectedRows: r(T),
410
- selectedRowKeys: r(C).selectedRowKeys,
400
+ class: m(t(i)("header"))
401
+ }, [N("div", {
402
+ class: m(t(E)("header", "title"))
403
+ }, [R(e.$slots, "title", h({
404
+ selectedRows: t(T),
405
+ selectedRowKeys: t(v).selectedRowKeys,
411
406
  shownColumns: u.value
412
- }, F))], 2), v.title ? (y(), Z(r(Oe), {
407
+ }, F))], 2), C.title ? (p(), Z(t(Oe), {
413
408
  key: 0,
414
409
  type: "vertical"
415
- })) : ee("", !0), m(to, {
410
+ })) : ee("", !0), f(lo, {
416
411
  config: e.settings === !0 ? {} : e.settings
417
- }, null, 8, ["config"])], 2)) : R(e.$slots, "title", S({
412
+ }, null, 8, ["config"])], 2)) : R(e.$slots, "title", h({
418
413
  key: 1,
419
- selectedRows: r(T),
420
- selectedRowKeys: r(C).selectedRowKeys,
414
+ selectedRows: t(T),
415
+ selectedRowKeys: t(v).selectedRowKeys,
421
416
  shownColumns: u.value
422
- }, F))], 2), m(r(Le), S({
423
- class: r(i)("table")
424
- }, P.value, {
417
+ }, F))], 2), f(t(Le), h({
418
+ ref_key: "antdTableRef",
419
+ ref: L,
420
+ class: t(i)("table")
421
+ }, _.value, {
425
422
  size: k.value,
426
423
  "table-layout": we.value,
427
424
  columns: u.value,
428
- onResizeColumn: t[0] || (t[0] = (a, l) => l.width = a)
425
+ onResizeColumn: l[0] || (l[0] = (a, r) => r.width = a)
429
426
  }), X({
430
427
  summary: w(() => [R(e.$slots, "summary", {
431
428
  columns: u.value,
432
- records: P.value.dataSource,
433
- selectedRows: r(T)
429
+ records: _.value.dataSource,
430
+ selectedRows: t(T)
434
431
  })]),
435
- bottomPaginationTop: w(() => {
436
- var a;
437
- return [m(r(lo), {
432
+ _: 2
433
+ }, [t(V) ? {
434
+ name: "bottomPaginationTop",
435
+ fn: w(() => {
436
+ var a, r;
437
+ return [f(t(no), {
438
438
  ref_key: "scrollBarRef",
439
- ref: D,
440
- "scroll-container": $.value,
441
- direction: "horizontal",
442
- "extra-size": (a = P.value.scroll) != null && a.y ? r(se) : 0
443
- }, null, 8, ["scroll-container", "extra-size"])];
439
+ ref: ce,
440
+ "scroll-container": (r = (a = L.value) == null ? void 0 : a.table) == null ? void 0 : r.scrollBodyRef,
441
+ direction: "horizontal"
442
+ }, null, 8, ["scroll-container"])];
444
443
  }),
445
- _: 2
446
- }, [Y(r(ae)(v, ["title", "searchFormExtra", "headerCell", "summary"]), (a, l) => ({
447
- name: l,
448
- fn: w((d) => [R(e.$slots, l, Ee(Ke(d || {})))])
444
+ key: "0"
445
+ } : void 0, Y(t(ae)(C, ["title", "searchFormExtra", "headerCell", "summary"]), (a, r) => ({
446
+ name: r,
447
+ fn: w((d) => [R(e.$slots, r, Ee(Ke(d || {})))])
449
448
  }))]), 1040, ["class", "size", "table-layout", "columns"])], 6)], 2));
450
449
  }
451
450
  });
452
451
  export {
453
- ko as default
452
+ No as default
454
453
  };
@@ -0,0 +1,6 @@
1
+ import { ScrollBarExpose } from '../../scroll-bar';
2
+ import { Ref, ComputedRef } from 'vue';
3
+ export declare const useStickyScroll: (tableWrapper: Ref<HTMLElement | undefined>) => {
4
+ isStickyMode: ComputedRef<boolean>;
5
+ scrollBarRef: Ref<ScrollBarExpose | undefined, ScrollBarExpose | undefined>;
6
+ };
@@ -0,0 +1,16 @@
1
+ import { ref as o, computed as e } from "vue";
2
+ const i = "ap-table--sticky", r = (t) => {
3
+ const c = o();
4
+ return {
5
+ isStickyMode: e(
6
+ () => {
7
+ var s;
8
+ return ((s = t.value) == null ? void 0 : s.classList.contains(i)) || !1;
9
+ }
10
+ ),
11
+ scrollBarRef: c
12
+ };
13
+ };
14
+ export {
15
+ r as useStickyScroll
16
+ };
@@ -5,7 +5,7 @@ import { parseFieldValue as ae, dataIndexToStr as se, isEqualCustom as ce } from
5
5
  import { isArray as N, isEqualWith as ie } from "lodash-unified";
6
6
  import { useLocale as le } from "../../config-provider/hooks/use-locale.mjs";
7
7
  import { useNamespace as ue } from "../../config-provider/hooks/use-namespace.mjs";
8
- const S = 1, L = 100;
8
+ const S = 1, L = 10;
9
9
  function fe(g) {
10
10
  const l = {};
11
11
  return g && (g === !0 ? (l.current = S, l.pageSize = L) : (l.current = g.defaultCurrent || S, l.pageSize = g.defaultPageSize || L)), l;
@@ -1,4 +1,5 @@
1
1
  import { RecursivePartial } from '../type';
2
+ export declare const scrollbarSize: number;
2
3
  declare const aplusCssVarObj: {
3
4
  'ap-form': {
4
5
  bordered: {
@@ -231,5 +231,6 @@ export {
231
231
  m as adminCssVar,
232
232
  g as aplusCssVar,
233
233
  n as generateCssVar,
234
+ l as scrollbarSize,
234
235
  D as setCSSVariables
235
236
  };
@@ -4,6 +4,7 @@ declare const _default: DefineComponent<ScrollBarProps, {
4
4
  currentScroll: ComputedRef<number | undefined>;
5
5
  scroll: ((percent: number) => void) | undefined;
6
6
  visible: ComputedRef<boolean>;
7
+ rootElement: ComputedRef<HTMLElement | undefined>;
7
8
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ScrollBarProps> & Readonly<{}>, {
8
9
  disabled: boolean;
9
10
  direction: ScrollBarDirection;
@@ -1,7 +1,7 @@
1
- import { defineComponent as g, toRef as x, ref as d, watchEffect as _, unref as i, watch as k, computed as p, openBlock as C, createBlock as B, mergeProps as L, createCommentVNode as R } from "vue";
1
+ import { defineComponent as g, toRef as x, ref as p, watchEffect as _, unref as a, watch as k, computed as s, openBlock as C, createBlock as B, mergeProps as L, createCommentVNode as R } from "vue";
2
2
  import "./internal.vue2.mjs";
3
3
  import { omit as w } from "lodash-unified";
4
- import { getScrollable as s, ensureRangeValue as y } from "./utils/index.mjs";
4
+ import { getScrollable as u, ensureRangeValue as y } from "./utils/index.mjs";
5
5
  import { useResizeObserver as E } from "@vueuse/core";
6
6
  import N from "./internal.vue.mjs";
7
7
  const j = /* @__PURE__ */ g({
@@ -25,18 +25,18 @@ const j = /* @__PURE__ */ g({
25
25
  onScrollEnd: {}
26
26
  },
27
27
  setup(S, { expose: m }) {
28
- var f;
29
- const r = S, o = x(r, "scrollContainer"), l = d(), n = d(r.barLength);
28
+ var d;
29
+ const r = S, o = x(r, "scrollContainer"), l = p(), n = p(r.barLength);
30
30
  function v() {
31
31
  if (!o.value || !l.value) return;
32
- const { totalSize: e, visibleSize: t, distance: a } = s(
32
+ const { totalSize: e, visibleSize: t, distance: c } = u(
33
33
  o.value,
34
34
  r.direction
35
- ), c = a / (e + r.extraSize - t || 1) * 100;
36
- l.value.scroll(c);
35
+ ), i = c / (e + r.extraSize - t || 1) * 100;
36
+ l.value.scroll(i);
37
37
  }
38
- function u() {
39
- const { visibleSize: e, totalSize: t } = s(
38
+ function f() {
39
+ const { visibleSize: e, totalSize: t } = u(
40
40
  o.value,
41
41
  r.direction
42
42
  );
@@ -45,11 +45,11 @@ const j = /* @__PURE__ */ g({
45
45
  );
46
46
  }
47
47
  E(o, () => {
48
- u();
48
+ f();
49
49
  }), _(
50
50
  () => {
51
- const e = i(o.value);
52
- e && (u(), e.addEventListener("scroll", v));
51
+ const e = a(o.value);
52
+ e && (f(), e.addEventListener("scroll", v));
53
53
  },
54
54
  { flush: "post" }
55
55
  ), k(
@@ -59,28 +59,32 @@ const j = /* @__PURE__ */ g({
59
59
  }
60
60
  );
61
61
  function b(e) {
62
- const t = i(o);
62
+ const t = a(o);
63
63
  if (!t) return;
64
- const { totalSize: a, visibleSize: c, topOrLeft: h } = s(
64
+ const { totalSize: c, visibleSize: i, topOrLeft: h } = u(
65
65
  t,
66
66
  r.direction
67
67
  );
68
- if (a <= c) return;
68
+ if (c <= i) return;
69
69
  const z = `scroll${h}`;
70
- t[z] = e * (a + r.extraSize - c) / 100;
70
+ t[z] = e * (c + r.extraSize - i) / 100;
71
71
  }
72
72
  return m({
73
- currentScroll: p(() => {
73
+ currentScroll: s(() => {
74
74
  var e;
75
- return i((e = l.value) == null ? void 0 : e.currentScroll);
75
+ return a((e = l.value) == null ? void 0 : e.currentScroll);
76
76
  }),
77
- scroll: (f = l.value) == null ? void 0 : f.scroll,
78
- visible: p(() => n.value < 100)
77
+ scroll: (d = l.value) == null ? void 0 : d.scroll,
78
+ visible: s(() => n.value < 100),
79
+ rootElement: s(() => {
80
+ var e;
81
+ return a((e = l.value) == null ? void 0 : e.container);
82
+ })
79
83
  }), (e, t) => n.value !== 100 ? (C(), B(N, L({
80
84
  key: 0,
81
85
  ref_key: "barRef",
82
86
  ref: l
83
- }, i(w)(r, ["onScroll", "extraSize", "scrollContainer"]), {
87
+ }, a(w)(r, ["onScroll", "extraSize", "scrollContainer"]), {
84
88
  "bar-length": n.value,
85
89
  onScroll: b
86
90
  }), null, 16, ["bar-length"])) : R("", !0);
@@ -64,5 +64,6 @@ export interface InternalScrollBarExpose {
64
64
  scroll: (percent: number) => void;
65
65
  }
66
66
  export type ScrollBarExpose = Pick<InternalScrollBarExpose, 'scroll' | 'currentScroll'> & {
67
- visible?: Ref<boolean>;
67
+ visible: Ref<boolean>;
68
+ rootElement: Ref<HTMLElement>;
68
69
  };
@@ -50,7 +50,7 @@ function C() {
50
50
  }
51
51
  function R() {
52
52
  if (!a)
53
- return 16;
53
+ return 15;
54
54
  const t = document.createElement("div");
55
55
  t.style.width = "100px", t.style.height = "100px", t.style.overflow = "scroll", t.style.position = "absolute", t.style.top = "-9999px", document.body.appendChild(t);
56
56
  const e = t.offsetHeight - t.clientHeight;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),L=require("@aplus-frontend/antdv"),fe=require("@aplus-frontend/antdv/es/theme/internal"),pe=require("../ap-form/index.js"),A=require("./constants.js");require("../config-provider/index.js");const me=require("./hooks/use-table-paging-ng.js"),c=require("lodash-unified"),s=require("./utils.js"),ge=require("./hooks/use-table-content-height.js"),ye=require("./hooks/use-table-row-selection.js"),U=require("../utils/index.js");require("./components/setting/modal/index.vue.js");require("./components/paragraph-ellipsis/index.vue.js");const be=require("./context.js");require("../scroll-bar/index.js");const he=require("../config-provider/hooks/use-namespace.js"),Se=require("../config-provider/hooks/use-global-config.js"),we=require("./components/paragraph-ellipsis/index.vue2.js"),ve=require("./components/setting/modal/index.vue2.js"),Ce=require("../scroll-bar/index.vue.js"),Re=e.defineComponent({name:"ApTable",__name:"ap-table",props:{dropdownPrefixCls:{},loading:{type:[Boolean,Object],default:void 0},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!1},prefixCls:{},rowKey:{default:"key"},tableLayout:{},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},rowSelection:{type:[Boolean,Object]},card:{type:Boolean,default:!1},params:{},searchFormRender:{},request:{},onLoad:{},defaultData:{},dataSource:{},onLoadingChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},manual:{type:Boolean,default:!1},size:{default:"middle"},adaptive:{type:Boolean,default:!1},columnResizable:{type:Boolean,default:!1},settings:{type:[Boolean,Object],default:void 0}},setup(D,{expose:j}){const t=D;let x=0;const $=U.getScrollbarSize(),g=e.useSlots(),[,W]=fe.useToken(),{e:S,b:i,be:B,bm:H}=he.useNamespace("ap-table"),T=Se.useGlobalConfig("valueTypeMap"),{height:M,contentRef:G}=ge.default(),w=e.ref(t.size),d=e.ref([]),F=e.ref([]),k=e.ref(),z=e.ref(),N=e.ref();be.useProvideApTable({columns:e.computed(()=>d.value),columnsBackup:e.computed(()=>F.value),size:e.computed(()=>w.value),updateColumns(r){d.value=r},updateSize(r){w.value=r},dataSource:e.computed(()=>e.unref(f).records)});const q=e.computed(()=>{var r,a,o;return x++,((o=(a=(r=t.columns)==null?void 0:r.filter(n=>!n.hideInSearch&&n.dataIndex&&(n.valueType||n.customRenderFormItem)&&!A.noRenderAsFormItemValueList.includes(n.valueType)))==null?void 0:a.sort((n,u)=>{let l=s.getColumnOrder(n.order);return s.getColumnOrder(u.order)-l}))==null?void 0:o.map(n=>{const u=s.updateFormProps(n,s.getFieldProps(n.fieldProps,{})),l={...n,fieldProps:{label:n.title,name:n.dataIndex,...u||{},_signal:x},renderNode:void 0};return l.renderNode=s.getSearchFormItemRenderNode(l,e.unref(T)),l}))||[]}),J=e.computed(()=>s.recursionApColumns(e.unref(d),r=>{if(r.sorter===!0)return r.key||r.dataIndex}).filter(Boolean)),Q=e.computed(()=>s.recursionApColumns(e.unref(d),r=>{if(r.filters&&!r.onFilter)return r.key||r.dataIndex}).filter(Boolean)),X=e.computed(()=>c.isUndefined(t.dataSource)?f.records:t.dataSource),{rowSelection:y,selectedRows:b,...h}=ye.default({fixed:!0,...t.rowSelection===!0?{}:t.rowSelection,rowKey:t.rowKey,dataSource:X}),{formRef:v,submit:P,reset:_,tableProps:V,refresh:Y,data:f,setDataSource:Z,getColumnSFConfig:ee}=me.useTablePaging({async request(r){var o,n;if(!y.value.preserveSelectedRowKeys&&c.isUndefined(t.dataSource)&&h.clearAll(),!c.isUndefined(t.dataSource))return{data:t.dataSource||[],total:t.dataSource.length||0};const a=await((o=t.request)==null?void 0:o.call(t,r));return(n=t.onLoad)==null||n.call(t,(a==null?void 0:a.data)||[]),{data:(a==null?void 0:a.data)||[],total:(a==null?void 0:a.total)||0}},filterFields:Q,sortFields:J,defaultParams:t.params,defaultData:t.defaultData,manual:t.manual,formatParams:t.beforeSearchSubmit,pagination:t.pagination}),re=()=>{var o;let r=((o=t.columns)==null?void 0:o.filter(n=>!n.hideInTable))||[];function a(n,u){return n.map(l=>({resizable:U.isDef(l.resizable)?l.resizable:t.columnResizable,...c.omit(s.apColumnToColumn(l),["ellipsis"]),...ee(l),fixed:u?u.fixed:l.fixed,title:s.getTableTitle(l,B("table-header","title"),g.headerCell,e.unref(W).colorPrimary),customRender({value:p,...m}){var O,K;const E=s.getTableRenderType(l),de=s.getTableRenderProps({...l,valueType:E},{value:p,...m}),ce=s.getTableCellRenderNode(E,de,m.record,e.unref(T)),I=((O=l.renderText)==null?void 0:O.call(l,{value:p,...m}))||p,ie=l.renderText?e.createVNode(e.Fragment,null,[(K=l.renderText)==null?void 0:K.call(l,{value:p,...m})]):ce;let R=ne(l,I,ie);return l.customRender&&(R=l.customRender({value:p,...m,column:l,originalNode:R,originalText:I})),R},children:a(l.children||[],u||l)}))}return a(r)};e.watchEffect(()=>{const r=re();d.value=r,F.value=r});const te=e.computed(()=>{var a,o;if(t.adaptive&&(f.total>0||((a=t.dataSource)==null?void 0:a.length)))return{y:e.unref(M),x:((o=t.scroll)==null?void 0:o.x)||"100%"};if(t.scroll)return t.scroll}),oe=e.computed(()=>{var r;if(t.tableLayout)return t.tableLayout;if((r=t.columns)!=null&&r.some(a=>a.ellipsis))return"fixed"}),C=e.computed(()=>{var o;const r=e.unref(V),a=e.unref(y);return{...t,...r,rowSelection:t.rowSelection===!0||((o=t.rowSelection)==null?void 0:o.mode)==="internal"?{...a,preserveSelectedRowKeys:c.isUndefined(t.dataSource)?a.preserveSelectedRowKeys:!0}:s.falseToUndefined(t.rowSelection),loading:c.isUndefined(t.loading)?r.loading:t.loading,pagination:t.pagination===!1?!1:r.pagination,scroll:e.unref(te)}}),ae=e.computed(()=>{var r;return[i(),t.card?null:i("wrapper"),t.adaptive?i("adaptive"):null,(r=z.value)!=null&&r.visible?H("horizontal","scrollable"):null].filter(Boolean)});function ne(r,a,o){return A.noRenderAsFormItemValueList.includes(r.valueType)?o:r.copyable||r.ellipsis?e.createVNode(we.default,{copyable:r.copyable,ellipsis:r.ellipsis?c.isBoolean(r.ellipsis)?{tooltip:o,rows:1}:{...r.ellipsis,tooltip:o}:!1,content:o},null):o}e.watch(()=>e.unref(f).loading,r=>{var a;(a=t.onLoadingChange)==null||a.call(t,r)}),e.watch(()=>e.unref(f).records,()=>{var r;N.value=(r=k.value)==null?void 0:r.querySelector(".ant-table-container > div:last-child")},{flush:"post",immediate:!0,deep:!0}),e.watch(()=>t.dataSource,r=>{Z(r)},{immediate:!0});function le(r){var a,o,n;(n=(o=(a=v.value)==null?void 0:a.apForm)==null?void 0:o.setFieldsValue)==null||n.call(o,r)}function se(r=!1){var o,n,u;const a=r?"getFieldsValueTransformed":"getFieldsValue";return(u=(n=(o=v.value)==null?void 0:o.apForm)==null?void 0:n[a])==null?void 0:u.call(n,!0)}function ue(){return e.unref(d)}return j({submit:()=>P(),reset:()=>_(),refresh:()=>Y(),setSearchFormValues:le,getSearchFormValues:se,getShownColumns:ue,dataSource:e.computed(()=>e.unref(f).records),rowSelection:{selectedRows:e.computed(()=>e.unref(b)),...h}}),(r,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"apTableRef",ref:k,class:e.normalizeClass(ae.value)},[e.unref(c.isUndefined)(r.dataSource)&&r.searchForm!==!1&&q.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.card?e.unref(S)("search-wrapper"):null),style:e.normalizeStyle(r.searchFormWrapperStyle)},[e.createVNode(e.unref(pe.ApForm).SearchForm,e.mergeProps(r.searchForm||{},{ref_key:"formRef",ref:v,"custom-reset":"","submit-loading":e.unref(V).loading,onSubmit:e.unref(P),onReset:e.unref(_)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.value,o=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.renderNode.Comp),e.mergeProps({key:o.dataIndex,item:o,ref_for:!0},o.fieldProps||{},{span:o.span,"custom-render":o.renderNode.render}),null,16,["item","span","custom-render"]))),128))]),_:2},[g.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"contentRef",ref:G,class:e.normalizeClass([e.unref(S)("table-wrapper"),r.card?e.unref(S)("table-wrapper-card"):null]),style:e.normalizeStyle(r.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("header-wrapper"))},[r.settings?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(i)("header"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(B)("header","title"))},[e.renderSlot(r.$slots,"title",e.mergeProps({selectedRows:e.unref(b),selectedRowKeys:e.unref(y).selectedRowKeys,shownColumns:d.value},h))],2),g.title?(e.openBlock(),e.createBlock(e.unref(L.Divider),{key:0,type:"vertical"})):e.createCommentVNode("",!0),e.createVNode(ve.default,{config:r.settings===!0?{}:r.settings},null,8,["config"])],2)):e.renderSlot(r.$slots,"title",e.mergeProps({key:1,selectedRows:e.unref(b),selectedRowKeys:e.unref(y).selectedRowKeys,shownColumns:d.value},h))],2),e.createVNode(e.unref(L.Table),e.mergeProps({class:e.unref(i)("table")},C.value,{size:w.value,"table-layout":oe.value,columns:d.value,onResizeColumn:a[0]||(a[0]=(o,n)=>n.width=o)}),e.createSlots({summary:e.withCtx(()=>[e.renderSlot(r.$slots,"summary",{columns:d.value,records:C.value.dataSource,selectedRows:e.unref(b)})]),bottomPaginationTop:e.withCtx(()=>{var o;return[e.createVNode(e.unref(Ce.default),{ref_key:"scrollBarRef",ref:z,"scroll-container":N.value,direction:"horizontal","extra-size":(o=C.value.scroll)!=null&&o.y?e.unref($):0},null,8,["scroll-container","extra-size"])]}),_:2},[e.renderList(e.unref(c.omit)(g,["title","searchFormExtra","headerCell","summary"]),(o,n)=>({name:n,fn:e.withCtx(u=>[e.renderSlot(r.$slots,n,e.normalizeProps(e.guardReactiveProps(u||{})))])}))]),1040,["class","size","table-layout","columns"])],6)],2))}});exports.default=Re;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),L=require("@aplus-frontend/antdv"),ie=require("@aplus-frontend/antdv/es/theme/internal"),fe=require("../ap-form/index.js"),A=require("./constants.js");require("../config-provider/index.js");const pe=require("./hooks/use-table-paging-ng.js"),c=require("lodash-unified"),s=require("./utils.js"),me=require("./hooks/use-table-content-height.js"),ye=require("./hooks/use-table-row-selection.js"),ge=require("../utils/index.js");require("./components/setting/modal/index.vue.js");require("./components/paragraph-ellipsis/index.vue.js");const Se=require("./context.js");require("../scroll-bar/index.js");const be=require("./hooks/use-sticky-scroll.js"),he=require("../config-provider/css-var.js"),we=require("../config-provider/hooks/use-namespace.js"),Ce=require("../config-provider/hooks/use-global-config.js"),ve=require("./components/paragraph-ellipsis/index.vue2.js"),Re=require("./components/setting/modal/index.vue2.js"),Be=require("../scroll-bar/index.vue.js"),ke=e.defineComponent({name:"ApTable",__name:"ap-table",props:{dropdownPrefixCls:{},loading:{type:[Boolean,Object],default:void 0},bordered:{type:Boolean,default:!1},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{default:()=>["ascend","descend"]},showSorterTooltip:{type:[Boolean,Object],default:!1},prefixCls:{},rowKey:{default:"key"},tableLayout:{},rowClassName:{},title:{},footer:{},id:{},showHeader:{type:Boolean,default:!0},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean],default:!1},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean,default:!1},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean,default:!1},indentSize:{default:15},expandIconColumnIndex:{},showExpandColumn:{type:Boolean,default:!0},expandedRowClassName:{},childrenColumnName:{default:"children"},rowExpandable:{},sticky:{type:[Boolean,Object]},transformCellText:{},columns:{},rowSelection:{type:[Boolean,Object]},card:{type:Boolean,default:!1},params:{},searchFormRender:{},request:{},onLoad:{},defaultData:{},dataSource:{},onLoadingChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},manual:{type:Boolean,default:!1},size:{default:"middle"},adaptive:{type:Boolean,default:!1},columnResizable:{type:Boolean,default:!1},settings:{type:[Boolean,Object],default:void 0}},setup(U,{expose:D}){const t=U;let R=0;const y=e.useSlots(),[,$]=ie.useToken(),{e:h,b:i,be:B,m:j}=we.useNamespace("ap-table"),k=Ce.useGlobalConfig("valueTypeMap"),{height:W,contentRef:H}=me.default(),x=e.ref(),T=e.ref(),{isStickyMode:F,scrollBarRef:M}=be.useStickyScroll(x),w=e.ref(t.size),d=e.ref([]),q=e.ref([]);Se.useProvideApTable({columns:e.computed(()=>d.value),columnsBackup:e.computed(()=>q.value),size:e.computed(()=>w.value),updateColumns(r){d.value=r},updateSize(r){w.value=r},dataSource:e.computed(()=>e.unref(p).records)});const z=e.computed(()=>{var r,a,o;return R++,((o=(a=(r=t.columns)==null?void 0:r.filter(n=>!n.hideInSearch&&n.dataIndex&&(n.valueType||n.customRenderFormItem)&&!A.noRenderAsFormItemValueList.includes(n.valueType)))==null?void 0:a.sort((n,u)=>{let l=s.getColumnOrder(n.order);return s.getColumnOrder(u.order)-l}))==null?void 0:o.map(n=>{const u=s.updateFormProps(n,s.getFieldProps(n.fieldProps,{})),l={...n,fieldProps:{label:n.title,name:n.dataIndex,...u||{},_signal:R},renderNode:void 0};return l.renderNode=s.getSearchFormItemRenderNode(l,e.unref(k)),l}))||[]}),G=e.computed(()=>s.recursionApColumns(e.unref(d),r=>{if(r.sorter===!0)return r.key||r.dataIndex}).filter(Boolean)),J=e.computed(()=>s.recursionApColumns(e.unref(d),r=>{if(r.filters&&!r.onFilter)return r.key||r.dataIndex}).filter(Boolean)),Q=e.computed(()=>c.isUndefined(t.dataSource)?p.records:t.dataSource),{rowSelection:g,selectedRows:S,...b}=ye.default({fixed:!0,...t.rowSelection===!0?{}:t.rowSelection,rowKey:t.rowKey,dataSource:Q}),{formRef:C,submit:N,reset:P,tableProps:_,refresh:X,data:p,setDataSource:Y,getColumnSFConfig:Z}=pe.useTablePaging({async request(r){var o,n;if(!g.value.preserveSelectedRowKeys&&c.isUndefined(t.dataSource)&&b.clearAll(),!c.isUndefined(t.dataSource))return{data:t.dataSource||[],total:t.dataSource.length||0};const a=await((o=t.request)==null?void 0:o.call(t,r));return(n=t.onLoad)==null||n.call(t,(a==null?void 0:a.data)||[]),{data:(a==null?void 0:a.data)||[],total:(a==null?void 0:a.total)||0}},filterFields:J,sortFields:G,defaultParams:t.params,defaultData:t.defaultData,manual:t.manual,formatParams:t.beforeSearchSubmit,pagination:t.pagination}),ee=()=>{var o;let r=((o=t.columns)==null?void 0:o.filter(n=>!n.hideInTable))||[];function a(n,u){return n.map(l=>({resizable:ge.isDef(l.resizable)?l.resizable:t.columnResizable,...c.omit(s.apColumnToColumn(l),["ellipsis"]),...Z(l),fixed:u?u.fixed:l.fixed,title:s.getTableTitle(l,B("table-header","title"),y.headerCell,e.unref($).colorPrimary),customRender({value:f,...m}){var O,K;const E=s.getTableRenderType(l),ue=s.getTableRenderProps({...l,valueType:E},{value:f,...m}),de=s.getTableCellRenderNode(E,ue,m.record,e.unref(k)),I=((O=l.renderText)==null?void 0:O.call(l,{value:f,...m}))||f,ce=l.renderText?e.createVNode(e.Fragment,null,[(K=l.renderText)==null?void 0:K.call(l,{value:f,...m})]):de;let v=ne(l,I,ce);return l.customRender&&(v=l.customRender({value:f,...m,column:l,originalNode:v,originalText:I})),v},children:a(l.children||[],u||l)}))}return a(r)};e.watchEffect(()=>{const r=ee();d.value=r,q.value=r});const re=e.computed(()=>{var a,o;if(t.adaptive&&(p.total>0||((a=t.dataSource)==null?void 0:a.length)))return{y:e.unref(W),x:((o=t.scroll)==null?void 0:o.x)||"100%"};if(t.scroll)return t.scroll}),te=e.computed(()=>{var r;if(t.tableLayout)return t.tableLayout;if((r=t.columns)!=null&&r.some(a=>a.ellipsis))return"fixed"}),V=e.computed(()=>{var o;const r=e.unref(_),a=e.unref(g);return{...t,...r,rowSelection:t.rowSelection===!0||((o=t.rowSelection)==null?void 0:o.mode)==="internal"?{...a,preserveSelectedRowKeys:c.isUndefined(t.dataSource)?a.preserveSelectedRowKeys:!0}:s.falseToUndefined(t.rowSelection),loading:c.isUndefined(t.loading)?r.loading:t.loading,pagination:t.pagination===!1?!1:r.pagination,scroll:e.unref(re)}}),oe=e.computed(()=>[i(),t.card?null:i("wrapper"),t.adaptive?i("adaptive"):null,F?j(`sticky-${he.scrollbarSize===0?"absolute":"relative"}`):null].filter(Boolean));function ne(r,a,o){return A.noRenderAsFormItemValueList.includes(r.valueType)?o:r.copyable||r.ellipsis?e.createVNode(ve.default,{copyable:r.copyable,ellipsis:r.ellipsis?c.isBoolean(r.ellipsis)?{tooltip:o,rows:1}:{...r.ellipsis,tooltip:o}:!1,content:o},null):o}e.watch(()=>e.unref(p).loading,r=>{var a;(a=t.onLoadingChange)==null||a.call(t,r)}),e.watch(()=>t.dataSource,r=>{Y(r)},{immediate:!0});function ae(r){var a,o,n;(n=(o=(a=C.value)==null?void 0:a.apForm)==null?void 0:o.setFieldsValue)==null||n.call(o,r)}function le(r=!1){var o,n,u;const a=r?"getFieldsValueTransformed":"getFieldsValue";return(u=(n=(o=C.value)==null?void 0:o.apForm)==null?void 0:n[a])==null?void 0:u.call(n,!0)}function se(){return e.unref(d)}return D({submit:()=>N(),reset:()=>P(),refresh:()=>X(),setSearchFormValues:ae,getSearchFormValues:le,getShownColumns:se,dataSource:e.computed(()=>e.unref(p).records),rowSelection:{selectedRows:e.computed(()=>e.unref(S)),...b}}),(r,a)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"tableWrapperRef",ref:x,class:e.normalizeClass(oe.value)},[e.unref(c.isUndefined)(r.dataSource)&&r.searchForm!==!1&&z.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(r.card?e.unref(h)("search-wrapper"):null),style:e.normalizeStyle(r.searchFormWrapperStyle)},[e.createVNode(e.unref(fe.ApForm).SearchForm,e.mergeProps(r.searchForm||{},{ref_key:"formRef",ref:C,"custom-reset":"","submit-loading":e.unref(_).loading,onSubmit:e.unref(N),onReset:e.unref(P)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,o=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.renderNode.Comp),e.mergeProps({key:o.dataIndex,item:o,ref_for:!0},o.fieldProps||{},{span:o.span,"custom-render":o.renderNode.render}),null,16,["item","span","custom-render"]))),128))]),_:2},[y.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{ref_key:"contentRef",ref:H,class:e.normalizeClass([e.unref(h)("table-wrapper"),r.card?e.unref(h)("table-wrapper-card"):null]),style:e.normalizeStyle(r.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(i)("header-wrapper"))},[r.settings?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(e.unref(i)("header"))},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(B)("header","title"))},[e.renderSlot(r.$slots,"title",e.mergeProps({selectedRows:e.unref(S),selectedRowKeys:e.unref(g).selectedRowKeys,shownColumns:d.value},b))],2),y.title?(e.openBlock(),e.createBlock(e.unref(L.Divider),{key:0,type:"vertical"})):e.createCommentVNode("",!0),e.createVNode(Re.default,{config:r.settings===!0?{}:r.settings},null,8,["config"])],2)):e.renderSlot(r.$slots,"title",e.mergeProps({key:1,selectedRows:e.unref(S),selectedRowKeys:e.unref(g).selectedRowKeys,shownColumns:d.value},b))],2),e.createVNode(e.unref(L.Table),e.mergeProps({ref_key:"antdTableRef",ref:T,class:e.unref(i)("table")},V.value,{size:w.value,"table-layout":te.value,columns:d.value,onResizeColumn:a[0]||(a[0]=(o,n)=>n.width=o)}),e.createSlots({summary:e.withCtx(()=>[e.renderSlot(r.$slots,"summary",{columns:d.value,records:V.value.dataSource,selectedRows:e.unref(S)})]),_:2},[e.unref(F)?{name:"bottomPaginationTop",fn:e.withCtx(()=>{var o,n;return[e.createVNode(e.unref(Be.default),{ref_key:"scrollBarRef",ref:M,"scroll-container":(n=(o=T.value)==null?void 0:o.table)==null?void 0:n.scrollBodyRef,direction:"horizontal"},null,8,["scroll-container"])]}),key:"0"}:void 0,e.renderList(e.unref(c.omit)(y,["title","searchFormExtra","headerCell","summary"]),(o,n)=>({name:n,fn:e.withCtx(u=>[e.renderSlot(r.$slots,n,e.normalizeProps(e.guardReactiveProps(u||{})))])}))]),1040,["class","size","table-layout","columns"])],6)],2))}});exports.default=ke;
@@ -0,0 +1,6 @@
1
+ import { ScrollBarExpose } from '../../scroll-bar';
2
+ import { Ref, ComputedRef } from 'vue';
3
+ export declare const useStickyScroll: (tableWrapper: Ref<HTMLElement | undefined>) => {
4
+ isStickyMode: ComputedRef<boolean>;
5
+ scrollBarRef: Ref<ScrollBarExpose | undefined, ScrollBarExpose | undefined>;
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),o="ap-table--sticky",i=s=>{const c=t.ref();return{isStickyMode:t.computed(()=>{var e;return((e=s.value)==null?void 0:e.classList.contains(o))||!1}),scrollBarRef:c}};exports.useStickyScroll=i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),Y=require("./use-sorted-filtered.js");require("../../config-provider/index.js");const x=require("../utils.js"),v=require("lodash-unified"),k=require("../../config-provider/hooks/use-locale.js"),ee=require("../../config-provider/hooks/use-namespace.js"),m=1,y=100;function te(g){const l={};return g&&(g===!0?(l.current=m,l.pageSize=y):(l.current=g.defaultCurrent||m,l.pageSize=g.defaultPageSize||y)),l}const re=({manual:g=!1,request:l,defaultParams:E={},defaultData:A=[],formatParams:L,paramsValueTypeMap:V,resetFieldsIgnores:N,filterFields:U,sortFields:_,pagination:p={defaultCurrent:m,defaultPageSize:y,showLessItems:!1,showTotal:!0}})=>{let C=0,c={};const I=p??{},M=e=>L?L(e):e,T=n.ref(),i=n.reactive(te(p)),{getColumnSFConfig:B,setSF:K,clearAll:$}=Y.useTableSortedAndFiltered(),{t:z}=k.useLocale(),{b:P}=ee.useNamespace("ap-table"),a=n.reactive({total:A.length,records:A,loading:!1}),F=()=>{var e,t;return((t=(e=T.value)==null?void 0:e.apForm)==null?void 0:t.getFieldsValueTransformed(!0))||{}},D=async e=>{var o;const t=M(e),r=Date.now();C=r,a.loading=!0;try{const s=await l({...n.unref(E),...t});C===r&&(a.total=s.total||((o=s.data)==null?void 0:o.length)||0,a.records=[...s.data||[]])}catch{C===r&&(a.records=[],a.total=0)}finally{a.loading=!1}},R=e=>{const t={};return Object.entries(e).forEach(([r,o])=>{if(t[r]=o,V&&o){const s=V[r];s&&(t[r]=x.parseFieldValue(s,o))}}),t},G=async e=>{var o,s,f,d,S;const t=F(),r={};Object.entries(t).forEach(([h,w])=>{N&&N.indexOf(h)>-1&&(r[h]=w)}),await((s=(o=T.value)==null?void 0:o.apForm)==null?void 0:s.resetFields()),(S=(d=(f=T.value)==null?void 0:f.apForm)==null?void 0:d.setFieldsValue)==null||S.call(d,r),n.nextTick(()=>{e==null||e()})},b=e=>{c=e;const t=R(e);D(t)},J=e=>{b({...c,...e})},q=()=>{const e=F();p&&(i.current=m),b({...e,filter:c.filter,sort:c.sort,current:p?m:void 0,pageSize:p?c.pageSize||i.pageSize:void 0})},Q=()=>{$(),c.sort={},c.filter={},G(q)},O=()=>{b(c)},W=e=>{if(!p)O();else{const{current:t,pageSize:r}=i,o=a.total-e,s=Math.ceil(o/r),f=t>s?s:t;J({current:f>0?f:1})}},j=(e,t,r)=>{var h,w;const o=F();i.current=e.current,i.pageSize=e.pageSize,K(t,r);const s=v.isArray(r)?[...r]:[r],f={};for(const u of s)(h=n.unref(_))!=null&&h.includes(u.columnKey||u.field)&&u.order&&(f[x.dataIndexToStr(u.columnKey||u.field)]=u.order);const d={};for(const u of Object.keys(t))(w=n.unref(U))!=null&&w.includes(u)&&t[u]&&(d[u]=t[u]);const S={...o,filter:d,sort:f,current:e.current,pageSize:e.pageSize};v.isEqualWith(c,S,x.isEqualCustom)||b(S)};n.onMounted(()=>{const e=F(),{current:t,pageSize:r}=i;if(c={current:t,pageSize:r,filter:{},sort:{},...e},!g){const o=R(c);D(o)}}),n.watch(()=>n.unref(E),()=>{q()},{deep:!0});const Z=n.computed(()=>{if(a.total===0)return"-";const{current:e,pageSize:t}=i;return`${e}/${Math.ceil(a.total/t)}`});function H(e){v.isArray(e)&&(a.records=e,a.total=e.length)}const X=n.computed(()=>{const{showLessItems:e,showTotal:t}=I;return{loading:a.loading,pagination:{current:i.current,pageSize:i.pageSize,total:a.total,showSizeChanger:!e,showQuickJumper:!e,showLessItems:e,size:"default",showTotal:t?r=>n.createVNode("span",{class:P("pagination-total-wrapper")},[z("ap.apTable.pagination.totalLeftPrefix")," ",n.createVNode("span",{class:P("pagination-count-text")},[r])," ",z("ap.apTable.pagination.totalLeftSuffix"),n.createVNode("span",{class:P("pagination--total-right")},[z("ap.apTable.pagination.totalRightPrefix")," ",n.createVNode("span",{class:P("pagination-count-text")},[n.unref(Z)])," ",z("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:j,dataSource:a.records}});return{formRef:T,submit:q,reset:Q,refresh:O,refreshByDelete:W,data:a,current:i.current,pageSize:i.pageSize,handleTableChange:j,tableProps:X,dataSource:n.computed(()=>a.records),setDataSource:H,getColumnSFConfig:B}};exports.useTablePaging=re;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),Y=require("./use-sorted-filtered.js");require("../../config-provider/index.js");const x=require("../utils.js"),v=require("lodash-unified"),k=require("../../config-provider/hooks/use-locale.js"),ee=require("../../config-provider/hooks/use-namespace.js"),m=1,y=10;function te(g){const l={};return g&&(g===!0?(l.current=m,l.pageSize=y):(l.current=g.defaultCurrent||m,l.pageSize=g.defaultPageSize||y)),l}const re=({manual:g=!1,request:l,defaultParams:E={},defaultData:A=[],formatParams:L,paramsValueTypeMap:V,resetFieldsIgnores:N,filterFields:U,sortFields:_,pagination:p={defaultCurrent:m,defaultPageSize:y,showLessItems:!1,showTotal:!0}})=>{let C=0,c={};const I=p??{},M=e=>L?L(e):e,T=n.ref(),i=n.reactive(te(p)),{getColumnSFConfig:B,setSF:K,clearAll:$}=Y.useTableSortedAndFiltered(),{t:z}=k.useLocale(),{b:P}=ee.useNamespace("ap-table"),a=n.reactive({total:A.length,records:A,loading:!1}),F=()=>{var e,t;return((t=(e=T.value)==null?void 0:e.apForm)==null?void 0:t.getFieldsValueTransformed(!0))||{}},D=async e=>{var o;const t=M(e),r=Date.now();C=r,a.loading=!0;try{const s=await l({...n.unref(E),...t});C===r&&(a.total=s.total||((o=s.data)==null?void 0:o.length)||0,a.records=[...s.data||[]])}catch{C===r&&(a.records=[],a.total=0)}finally{a.loading=!1}},R=e=>{const t={};return Object.entries(e).forEach(([r,o])=>{if(t[r]=o,V&&o){const s=V[r];s&&(t[r]=x.parseFieldValue(s,o))}}),t},G=async e=>{var o,s,f,d,S;const t=F(),r={};Object.entries(t).forEach(([h,w])=>{N&&N.indexOf(h)>-1&&(r[h]=w)}),await((s=(o=T.value)==null?void 0:o.apForm)==null?void 0:s.resetFields()),(S=(d=(f=T.value)==null?void 0:f.apForm)==null?void 0:d.setFieldsValue)==null||S.call(d,r),n.nextTick(()=>{e==null||e()})},b=e=>{c=e;const t=R(e);D(t)},J=e=>{b({...c,...e})},q=()=>{const e=F();p&&(i.current=m),b({...e,filter:c.filter,sort:c.sort,current:p?m:void 0,pageSize:p?c.pageSize||i.pageSize:void 0})},Q=()=>{$(),c.sort={},c.filter={},G(q)},O=()=>{b(c)},W=e=>{if(!p)O();else{const{current:t,pageSize:r}=i,o=a.total-e,s=Math.ceil(o/r),f=t>s?s:t;J({current:f>0?f:1})}},j=(e,t,r)=>{var h,w;const o=F();i.current=e.current,i.pageSize=e.pageSize,K(t,r);const s=v.isArray(r)?[...r]:[r],f={};for(const u of s)(h=n.unref(_))!=null&&h.includes(u.columnKey||u.field)&&u.order&&(f[x.dataIndexToStr(u.columnKey||u.field)]=u.order);const d={};for(const u of Object.keys(t))(w=n.unref(U))!=null&&w.includes(u)&&t[u]&&(d[u]=t[u]);const S={...o,filter:d,sort:f,current:e.current,pageSize:e.pageSize};v.isEqualWith(c,S,x.isEqualCustom)||b(S)};n.onMounted(()=>{const e=F(),{current:t,pageSize:r}=i;if(c={current:t,pageSize:r,filter:{},sort:{},...e},!g){const o=R(c);D(o)}}),n.watch(()=>n.unref(E),()=>{q()},{deep:!0});const Z=n.computed(()=>{if(a.total===0)return"-";const{current:e,pageSize:t}=i;return`${e}/${Math.ceil(a.total/t)}`});function H(e){v.isArray(e)&&(a.records=e,a.total=e.length)}const X=n.computed(()=>{const{showLessItems:e,showTotal:t}=I;return{loading:a.loading,pagination:{current:i.current,pageSize:i.pageSize,total:a.total,showSizeChanger:!e,showQuickJumper:!e,showLessItems:e,size:"default",showTotal:t?r=>n.createVNode("span",{class:P("pagination-total-wrapper")},[z("ap.apTable.pagination.totalLeftPrefix")," ",n.createVNode("span",{class:P("pagination-count-text")},[r])," ",z("ap.apTable.pagination.totalLeftSuffix"),n.createVNode("span",{class:P("pagination--total-right")},[z("ap.apTable.pagination.totalRightPrefix")," ",n.createVNode("span",{class:P("pagination-count-text")},[n.unref(Z)])," ",z("ap.apTable.pagination.totalRightSuffix")])]):void 0},onChange:j,dataSource:a.records}});return{formRef:T,submit:q,reset:Q,refresh:O,refreshByDelete:W,data:a,current:i.current,pageSize:i.pageSize,handleTableChange:j,tableProps:X,dataSource:n.computed(()=>a.records),setDataSource:H,getColumnSFConfig:B}};exports.useTablePaging=re;
@@ -1,4 +1,5 @@
1
1
  import { RecursivePartial } from '../type';
2
+ export declare const scrollbarSize: number;
2
3
  declare const aplusCssVarObj: {
3
4
  'ap-form': {
4
5
  bordered: {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../utils/index.js"),l=d.getScrollbarSize(),F={"ap-form":{bordered:{"border-color":{base:"#DEE4ED",hover:"#66A9FF",active:"#66A9FF"},"shadow-color":"rgba(5, 155, 255, 0.1)"}},"ap-action":{color:{primary:{base:"#0070FF",hover:"#66A9FF"},success:"#2ED1A3",error:"#FF4D4F",warn:"#FFA940"}},"check-card":{outline:{color:"#E9EDF3"},hover:{outline:{color:"#0070FF"}},checked:{outline:{color:"#0070FF"},bg:"#0070FF"}},"ap-table":{header:{bg:"#F2F6F9"},pagination:{total:{color:"#526A90",count:{color:"#182948"}}},setting:{button:{color:"#8896B0"}}},"ap-batch-action":{color:{font:"#8896B0",active:"#0070FF",border:"#E9EDF3"}},basic:{color:{primary:"#0070ff"},scrollbar:{size:`${l}px`}},"ap-descriptions":{item:{"padding-bottom":"24px","label-width":"auto"},"last-row-item":{"padding-bottom":"0px"}},"ap-appendix":{area:{color:{border:"#DEE4ED",font:"#182948","font-hover":"#0070FF","font-disabled":"#ABB7CC",icon:"#ABB7CC"}}},"ap-upload-single":{color:{main:"#182948",sub:"#ABB7CC",border:"#DEE4ED",primary:"#0070FF"}},"batch-input-group":{trigger:{color:"#526a90","color-disabled":"rgba(24, 41, 72, 0.25)"}}},p={"ap-form":{bordered:{"border-color":{base:"#D9D9D9",hover:"#85D4B0",active:"#85D4B0"},"shadow-color":"rgba(11, 166, 66, 0.09)"}},"ap-action":{color:{primary:{base:"#1890FF",hover:"#5EB1FF"},success:"#52C41A",error:"#FF4D4F",warn:"#FAAD14"}},"check-card":{outline:{color:"#D9D9D9"},hover:{outline:{color:"#34B77C"}},checked:{outline:{color:"#34B77C"},bg:"#34B77C"}},"ap-table":{header:{bg:"#FAFAFA"},pagination:{total:{color:"#666666",count:{color:"#333333"}}},setting:{button:{color:"#999999"}}},"ap-batch-action":{color:{font:"#999999",active:"#34B77C",border:"#E9E9E9"}},basic:{color:{primary:"#34b77c"},scrollbar:{size:`${l}px`}},"ap-descriptions":{item:{"padding-bottom":"24px","label-width":"auto"},"last-row-item":{"padding-bottom":"0px"}},"ap-appendix":{area:{color:{border:"#D9D9D9",font:"#333333","font-hover":"#1890FF","font-disabled":"#BFBFBF",icon:"#BFBFBF"}}},"ap-upload-single":{color:{main:"#333333",sub:"#BFBFBF",border:"#D9D9D9",primary:"#34b77c"}},"batch-input-group":{trigger:{color:"#999999","color-disabled":"rgba(0, 0, 0, 0.25)"}}};function t(a){const o={};function r(c,n){const b=Object.keys(c);for(const i of b){const e=c[i],s=[...n,i];e!==null&&typeof e=="object"?r(e,s):o[`--${s.join("-")}`]=e}}return r(a,[]),o}const u=t(F),g=t(p);function m(a){Object.entries(a).forEach(([o,r])=>{document.documentElement.style.setProperty(o,r)})}exports.adminCssVar=g;exports.aplusCssVar=u;exports.generateCssVar=t;exports.setCSSVariables=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../utils/index.js"),t=d.getScrollbarSize(),F={"ap-form":{bordered:{"border-color":{base:"#DEE4ED",hover:"#66A9FF",active:"#66A9FF"},"shadow-color":"rgba(5, 155, 255, 0.1)"}},"ap-action":{color:{primary:{base:"#0070FF",hover:"#66A9FF"},success:"#2ED1A3",error:"#FF4D4F",warn:"#FFA940"}},"check-card":{outline:{color:"#E9EDF3"},hover:{outline:{color:"#0070FF"}},checked:{outline:{color:"#0070FF"},bg:"#0070FF"}},"ap-table":{header:{bg:"#F2F6F9"},pagination:{total:{color:"#526A90",count:{color:"#182948"}}},setting:{button:{color:"#8896B0"}}},"ap-batch-action":{color:{font:"#8896B0",active:"#0070FF",border:"#E9EDF3"}},basic:{color:{primary:"#0070ff"},scrollbar:{size:`${t}px`}},"ap-descriptions":{item:{"padding-bottom":"24px","label-width":"auto"},"last-row-item":{"padding-bottom":"0px"}},"ap-appendix":{area:{color:{border:"#DEE4ED",font:"#182948","font-hover":"#0070FF","font-disabled":"#ABB7CC",icon:"#ABB7CC"}}},"ap-upload-single":{color:{main:"#182948",sub:"#ABB7CC",border:"#DEE4ED",primary:"#0070FF"}},"batch-input-group":{trigger:{color:"#526a90","color-disabled":"rgba(24, 41, 72, 0.25)"}}},p={"ap-form":{bordered:{"border-color":{base:"#D9D9D9",hover:"#85D4B0",active:"#85D4B0"},"shadow-color":"rgba(11, 166, 66, 0.09)"}},"ap-action":{color:{primary:{base:"#1890FF",hover:"#5EB1FF"},success:"#52C41A",error:"#FF4D4F",warn:"#FAAD14"}},"check-card":{outline:{color:"#D9D9D9"},hover:{outline:{color:"#34B77C"}},checked:{outline:{color:"#34B77C"},bg:"#34B77C"}},"ap-table":{header:{bg:"#FAFAFA"},pagination:{total:{color:"#666666",count:{color:"#333333"}}},setting:{button:{color:"#999999"}}},"ap-batch-action":{color:{font:"#999999",active:"#34B77C",border:"#E9E9E9"}},basic:{color:{primary:"#34b77c"},scrollbar:{size:`${t}px`}},"ap-descriptions":{item:{"padding-bottom":"24px","label-width":"auto"},"last-row-item":{"padding-bottom":"0px"}},"ap-appendix":{area:{color:{border:"#D9D9D9",font:"#333333","font-hover":"#1890FF","font-disabled":"#BFBFBF",icon:"#BFBFBF"}}},"ap-upload-single":{color:{main:"#333333",sub:"#BFBFBF",border:"#D9D9D9",primary:"#34b77c"}},"batch-input-group":{trigger:{color:"#999999","color-disabled":"rgba(0, 0, 0, 0.25)"}}};function c(a){const o={};function r(i,n){const b=Object.keys(i);for(const l of b){const e=i[l],s=[...n,l];e!==null&&typeof e=="object"?r(e,s):o[`--${s.join("-")}`]=e}}return r(a,[]),o}const u=c(F),g=c(p);function m(a){Object.entries(a).forEach(([o,r])=>{document.documentElement.style.setProperty(o,r)})}exports.adminCssVar=g;exports.aplusCssVar=u;exports.generateCssVar=c;exports.scrollbarSize=t;exports.setCSSVariables=m;
@@ -4,6 +4,7 @@ declare const _default: DefineComponent<ScrollBarProps, {
4
4
  currentScroll: ComputedRef<number | undefined>;
5
5
  scroll: ((percent: number) => void) | undefined;
6
6
  visible: ComputedRef<boolean>;
7
+ rootElement: ComputedRef<HTMLElement | undefined>;
7
8
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ScrollBarProps> & Readonly<{}>, {
8
9
  disabled: boolean;
9
10
  direction: ScrollBarDirection;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("./internal.vue2.js");const _=require("lodash-unified"),u=require("./utils/index.js"),g=require("@vueuse/core"),m=require("./internal.vue.js"),z=e.defineComponent({name:"ScrollBar",__name:"index",props:{scrollContainer:{},extraSize:{default:0},direction:{default:"vertical"},scroll:{},barLength:{default:30},width:{},barColor:{},trackColor:{},trackWidth:{},disabled:{type:Boolean,default:!1},showTrack:{type:Boolean,default:!0},trackSpeed:{default:2},onScrollStart:{},onScroll:{},onScrollEnd:{}},setup(d,{expose:S}){var f;const t=d,o=e.toRef(t,"scrollContainer"),n=e.ref(),a=e.ref(t.barLength);function v(){if(!o.value||!n.value)return;const{totalSize:r,visibleSize:l,distance:c}=u.getScrollable(o.value,t.direction),i=c/(r+t.extraSize-l||1)*100;n.value.scroll(i)}function s(){const{visibleSize:r,totalSize:l}=u.getScrollable(o.value,t.direction);a.value=u.ensureRangeValue(r/(l+t.extraSize||1)*100)}g.useResizeObserver(o,()=>{s()}),e.watchEffect(()=>{const r=e.unref(o.value);r&&(s(),r.addEventListener("scroll",v))},{flush:"post"}),e.watch(()=>t.barLength,r=>{a.value=r});function p(r){const l=e.unref(o);if(!l)return;const{totalSize:c,visibleSize:i,topOrLeft:b}=u.getScrollable(l,t.direction);if(c<=i)return;const h=`scroll${b}`;l[h]=r*(c+t.extraSize-i)/100}return S({currentScroll:e.computed(()=>{var r;return e.unref((r=n.value)==null?void 0:r.currentScroll)}),scroll:(f=n.value)==null?void 0:f.scroll,visible:e.computed(()=>a.value<100)}),(r,l)=>a.value!==100?(e.openBlock(),e.createBlock(m.default,e.mergeProps({key:0,ref_key:"barRef",ref:n},e.unref(_.omit)(t,["onScroll","extraSize","scrollContainer"]),{"bar-length":a.value,onScroll:p}),null,16,["bar-length"])):e.createCommentVNode("",!0)}});exports.default=z;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("./internal.vue2.js");const _=require("lodash-unified"),u=require("./utils/index.js"),g=require("@vueuse/core"),m=require("./internal.vue.js"),z=e.defineComponent({name:"ScrollBar",__name:"index",props:{scrollContainer:{},extraSize:{default:0},direction:{default:"vertical"},scroll:{},barLength:{default:30},width:{},barColor:{},trackColor:{},trackWidth:{},disabled:{type:Boolean,default:!1},showTrack:{type:Boolean,default:!0},trackSpeed:{default:2},onScrollStart:{},onScroll:{},onScrollEnd:{}},setup(d,{expose:S}){var f;const t=d,o=e.toRef(t,"scrollContainer"),n=e.ref(),a=e.ref(t.barLength);function v(){if(!o.value||!n.value)return;const{totalSize:r,visibleSize:l,distance:c}=u.getScrollable(o.value,t.direction),i=c/(r+t.extraSize-l||1)*100;n.value.scroll(i)}function s(){const{visibleSize:r,totalSize:l}=u.getScrollable(o.value,t.direction);a.value=u.ensureRangeValue(r/(l+t.extraSize||1)*100)}g.useResizeObserver(o,()=>{s()}),e.watchEffect(()=>{const r=e.unref(o.value);r&&(s(),r.addEventListener("scroll",v))},{flush:"post"}),e.watch(()=>t.barLength,r=>{a.value=r});function p(r){const l=e.unref(o);if(!l)return;const{totalSize:c,visibleSize:i,topOrLeft:b}=u.getScrollable(l,t.direction);if(c<=i)return;const h=`scroll${b}`;l[h]=r*(c+t.extraSize-i)/100}return S({currentScroll:e.computed(()=>{var r;return e.unref((r=n.value)==null?void 0:r.currentScroll)}),scroll:(f=n.value)==null?void 0:f.scroll,visible:e.computed(()=>a.value<100),rootElement:e.computed(()=>{var r;return e.unref((r=n.value)==null?void 0:r.container)})}),(r,l)=>a.value!==100?(e.openBlock(),e.createBlock(m.default,e.mergeProps({key:0,ref_key:"barRef",ref:n},e.unref(_.omit)(t,["onScroll","extraSize","scrollContainer"]),{"bar-length":a.value,onScroll:p}),null,16,["bar-length"])):e.createCommentVNode("",!0)}});exports.default=z;
@@ -64,5 +64,6 @@ export interface InternalScrollBarExpose {
64
64
  scroll: (percent: number) => void;
65
65
  }
66
66
  export type ScrollBarExpose = Pick<InternalScrollBarExpose, 'scroll' | 'currentScroll'> & {
67
- visible?: Ref<boolean>;
67
+ visible: Ref<boolean>;
68
+ rootElement: Ref<HTMLElement>;
68
69
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),f=require("lodash-unified"),l=require("@vueuse/core");function a(e){return(e==null?void 0:e.parentNode)??document.body}function d(e){return typeof e<"u"}function y(e){const t={};return Object.keys(e).map(n=>{t[n]=s.unref(e[n])}),t}function p(e,t=[],n){const o=Object.assign({},e),u=Object.keys(o);for(let r=0;r<u.length;r+=1){const i=u[r];(t.includes(i)||n!=null&&n(i,o[i]))&&delete o[i]}return o}function g(e){return/^[A-Z][A-Za-z]*$/.test(e)}function c(e){if(Array.isArray(e))return e.map(t=>c(t));if(typeof e=="object"&&e!==null){const t={};for(const n in e)t[n]=c(e[n]);return s.markRaw(t)}return e}function m(e){const t={...e};for(const n of Object.keys(t))f.isUndefined(t[n])&&delete t[n];return t}function h(e,...t){return typeof e=="function"?e(...t):e}function v(){const e="history";return typeof window>"u"?e:window.location.href.includes("#/")?"hash":e}function b(){if(!l.isClient)return 16;const e=document.createElement("div");e.style.width="100px",e.style.height="100px",e.style.overflow="scroll",e.style.position="absolute",e.style.top="-9999px",document.body.appendChild(e);const t=e.offsetHeight-e.clientHeight;return document.body.removeChild(e),t}exports.convertReactiveToRaw=c;exports.getDynamicProps=y;exports.getPopupContainer=a;exports.getRouteType=v;exports.getScrollbarSize=b;exports.isDef=d;exports.isPascalCase=g;exports.omitUndefined=m;exports.omitWhen=p;exports.runFunction=h;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("vue"),f=require("lodash-unified"),l=require("@vueuse/core");function a(e){return(e==null?void 0:e.parentNode)??document.body}function d(e){return typeof e<"u"}function y(e){const t={};return Object.keys(e).map(n=>{t[n]=s.unref(e[n])}),t}function p(e,t=[],n){const o=Object.assign({},e),u=Object.keys(o);for(let r=0;r<u.length;r+=1){const i=u[r];(t.includes(i)||n!=null&&n(i,o[i]))&&delete o[i]}return o}function g(e){return/^[A-Z][A-Za-z]*$/.test(e)}function c(e){if(Array.isArray(e))return e.map(t=>c(t));if(typeof e=="object"&&e!==null){const t={};for(const n in e)t[n]=c(e[n]);return s.markRaw(t)}return e}function m(e){const t={...e};for(const n of Object.keys(t))f.isUndefined(t[n])&&delete t[n];return t}function h(e,...t){return typeof e=="function"?e(...t):e}function v(){const e="history";return typeof window>"u"?e:window.location.href.includes("#/")?"hash":e}function b(){if(!l.isClient)return 15;const e=document.createElement("div");e.style.width="100px",e.style.height="100px",e.style.overflow="scroll",e.style.position="absolute",e.style.top="-9999px",document.body.appendChild(e);const t=e.offsetHeight-e.clientHeight;return document.body.removeChild(e),t}exports.convertReactiveToRaw=c;exports.getDynamicProps=y;exports.getPopupContainer=a;exports.getRouteType=v;exports.getScrollbarSize=b;exports.isDef=d;exports.isPascalCase=g;exports.omitUndefined=m;exports.omitWhen=p;exports.runFunction=h;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "0.4.15",
3
+ "version": "0.4.16",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "files": [
@@ -69,13 +69,13 @@
69
69
  "@aplus-frontend/utils": "1.0.49"
70
70
  },
71
71
  "peerDependencies": {
72
- "@aplus-frontend/antdv": "^1.0.11",
72
+ "@aplus-frontend/antdv": "^1.0.12",
73
73
  "@aplus-frontend/icon": "^1.2.1",
74
74
  "@aplus-frontend/oss": "^1.1.2",
75
75
  "vue": "^3.5.13"
76
76
  },
77
77
  "devDependencies": {
78
- "@aplus-frontend/antdv": "^1.0.11",
78
+ "@aplus-frontend/antdv": "^1.0.12",
79
79
  "@aplus-frontend/icon": "^1.2.1",
80
80
  "@aplus-frontend/oss": "^1.1.2",
81
81
  "@types/sortablejs": "^1.15.8",
@@ -566,10 +566,12 @@
566
566
  .aplus-ap-table-setting-trigger-button:hover {
567
567
  color: unset;
568
568
  }
569
- .aplus-ap-table .ant-table-container {
570
- overflow: hidden;
571
- }
572
- .aplus-ap-table-horizontal--scrollable .ant-table-container > div:last-child {
569
+ .aplus-ap-table--sticky-relative .ant-table-container > div:last-child {
573
570
  margin-bottom: calc(var(--basic-scrollbar-size) * -1);
574
- clip-path: inset(0px 0px var(--basic-scrollbar-size) 0px);
571
+ clip-path: inset(0 0 var(--basic-scrollbar-size) 0);
572
+ }
573
+ .aplus-ap-table--sticky-absolute .ant-table-container > div:last-child {
574
+ padding-bottom: 15px;
575
+ margin-bottom: -15px;
576
+ clip-path: inset(0 0 15px 0);
575
577
  }
@@ -157,14 +157,24 @@
157
157
  color: unset;
158
158
  }
159
159
  }
160
- .ant-table-container{
161
- overflow: hidden;
160
+ // 粘贴布局并且滚动条占据空间
161
+ &--sticky-relative {
162
+ .ant-table-container{
163
+ & > div:last-child {
164
+ margin-bottom: calc(var(--basic-scrollbar-size) * -1);
165
+ clip-path: inset(0 0 var(--basic-scrollbar-size) 0);
166
+ }
167
+ }
162
168
  }
163
- &-horizontal--scrollable {
164
- // 隐藏默认可滚动容器的滚动条
165
- .ant-table-container > div:last-child {
166
- margin-bottom: calc(var(--basic-scrollbar-size) * -1);
167
- clip-path: inset(0px 0px var(--basic-scrollbar-size) 0px);
169
+ // 粘贴布局滚动条不占据空间
170
+ &--sticky-absolute {
171
+ .ant-table-container{
172
+ & > div:last-child {
173
+ padding-bottom: 15px;
174
+ margin-bottom: -15px;
175
+ clip-path: inset(0 0 15px 0);
176
+ }
168
177
  }
169
178
  }
179
+
170
180
  });
@@ -566,12 +566,14 @@
566
566
  .aplus-ap-table-setting-trigger-button:hover {
567
567
  color: unset;
568
568
  }
569
- .aplus-ap-table .ant-table-container {
570
- overflow: hidden;
571
- }
572
- .aplus-ap-table-horizontal--scrollable .ant-table-container > div:last-child {
569
+ .aplus-ap-table--sticky-relative .ant-table-container > div:last-child {
573
570
  margin-bottom: calc(var(--basic-scrollbar-size) * -1);
574
- clip-path: inset(0px 0px var(--basic-scrollbar-size) 0px);
571
+ clip-path: inset(0 0 var(--basic-scrollbar-size) 0);
572
+ }
573
+ .aplus-ap-table--sticky-absolute .ant-table-container > div:last-child {
574
+ padding-bottom: 15px;
575
+ margin-bottom: -15px;
576
+ clip-path: inset(0 0 15px 0);
575
577
  }
576
578
  .aplus-ap-table-modal--table-layout {
577
579
  display: flex;
package/theme/index.css CHANGED
@@ -1157,12 +1157,14 @@ div.aplus-ap-info-layout-admin__header-shadow.aplus-ap-info-layout-admin__sticky
1157
1157
  .aplus-ap-table-setting-trigger-button:hover {
1158
1158
  color: unset;
1159
1159
  }
1160
- .aplus-ap-table .ant-table-container {
1161
- overflow: hidden;
1162
- }
1163
- .aplus-ap-table-horizontal--scrollable .ant-table-container > div:last-child {
1160
+ .aplus-ap-table--sticky-relative .ant-table-container > div:last-child {
1164
1161
  margin-bottom: calc(var(--basic-scrollbar-size) * -1);
1165
- clip-path: inset(0px 0px var(--basic-scrollbar-size) 0px);
1162
+ clip-path: inset(0 0 var(--basic-scrollbar-size) 0);
1163
+ }
1164
+ .aplus-ap-table--sticky-absolute .ant-table-container > div:last-child {
1165
+ padding-bottom: 15px;
1166
+ margin-bottom: -15px;
1167
+ clip-path: inset(0 0 15px 0);
1166
1168
  }
1167
1169
  .aplus-tag-wrapper {
1168
1170
  text-wrap: nowrap;