@aplus-frontend/ui 6.26.5 → 6.28.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.
Files changed (60) hide show
  1. package/es/src/ag-grid/hooks/use-columns-def.d.ts +2 -2
  2. package/es/src/ag-grid/hooks/use-columns-def.mjs +29 -29
  3. package/es/src/ag-grid/hooks/use-columns.d.ts +3 -2
  4. package/es/src/ag-grid/hooks/use-columns.mjs +16 -12
  5. package/es/src/ag-grid/hooks/use-pinned-row.d.ts +7 -0
  6. package/es/src/ag-grid/hooks/use-pinned-row.mjs +32 -0
  7. package/es/src/ag-grid/hooks/use-selection-col-def.d.ts +5 -0
  8. package/es/src/ag-grid/hooks/use-selection-col-def.mjs +34 -0
  9. package/es/src/ag-grid/index.vue.mjs +240 -227
  10. package/es/src/ag-grid/interface.d.ts +10 -7
  11. package/es/src/ag-grid/theme.mjs +6 -5
  12. package/es/src/ap-form/ap-form.vue.d.ts +2 -8
  13. package/es/src/ap-form/ap-form.vue2.mjs +3 -3
  14. package/es/src/ap-form/hooks/use-watch.mjs +25 -28
  15. package/es/src/ap-form/interface.d.ts +1 -1
  16. package/es/src/ap-grid/interface.d.ts +1 -1
  17. package/es/src/ap-modal/utils/createModal.mjs +14 -14
  18. package/es/src/ap-upload/apUpload.vue.d.ts +9 -0
  19. package/es/src/ap-upload/apUpload.vue.mjs +38 -34
  20. package/es/src/ap-upload/components/MultipleFile.vue2.mjs +59 -59
  21. package/es/src/ap-upload/components/Picture.vue2.mjs +74 -74
  22. package/es/src/ap-upload/components/SingleFile.vue2.mjs +95 -95
  23. package/es/src/business/ap-value-select-card/index.vue2.mjs +120 -123
  24. package/es/src/business/hooks/usePageListAgGrid.d.ts +1 -1
  25. package/es/src/business/hooks/usePageListAgGrid.mjs +4 -4
  26. package/es/src/business/hooks/usePageListApGrid.mjs +14 -14
  27. package/es/src/version.d.ts +1 -1
  28. package/es/src/version.mjs +1 -1
  29. package/lib/src/ag-grid/hooks/use-columns-def.d.ts +2 -2
  30. package/lib/src/ag-grid/hooks/use-columns-def.js +1 -1
  31. package/lib/src/ag-grid/hooks/use-columns.d.ts +3 -2
  32. package/lib/src/ag-grid/hooks/use-columns.js +1 -1
  33. package/lib/src/ag-grid/hooks/use-pinned-row.d.ts +7 -0
  34. package/lib/src/ag-grid/hooks/use-pinned-row.js +1 -0
  35. package/lib/src/ag-grid/hooks/use-selection-col-def.d.ts +5 -0
  36. package/lib/src/ag-grid/hooks/use-selection-col-def.js +1 -0
  37. package/lib/src/ag-grid/index.vue.js +1 -1
  38. package/lib/src/ag-grid/interface.d.ts +10 -7
  39. package/lib/src/ag-grid/theme.js +1 -1
  40. package/lib/src/ap-form/ap-form.vue.d.ts +2 -8
  41. package/lib/src/ap-form/ap-form.vue2.js +1 -1
  42. package/lib/src/ap-form/hooks/use-watch.js +1 -1
  43. package/lib/src/ap-form/interface.d.ts +1 -1
  44. package/lib/src/ap-grid/interface.d.ts +1 -1
  45. package/lib/src/ap-modal/utils/createModal.js +1 -1
  46. package/lib/src/ap-upload/apUpload.vue.d.ts +9 -0
  47. package/lib/src/ap-upload/apUpload.vue.js +1 -1
  48. package/lib/src/ap-upload/components/MultipleFile.vue2.js +1 -1
  49. package/lib/src/ap-upload/components/Picture.vue2.js +1 -1
  50. package/lib/src/ap-upload/components/SingleFile.vue2.js +1 -1
  51. package/lib/src/business/ap-value-select-card/index.vue2.js +1 -1
  52. package/lib/src/business/hooks/usePageListAgGrid.d.ts +1 -1
  53. package/lib/src/business/hooks/usePageListAgGrid.js +1 -1
  54. package/lib/src/business/hooks/usePageListApGrid.js +1 -1
  55. package/lib/src/version.d.ts +1 -1
  56. package/lib/src/version.js +1 -1
  57. package/package.json +1 -1
  58. package/theme/ap-value-select-card/index.css +3 -4
  59. package/theme/ap-value-select-card/index.less +3 -4
  60. package/theme/index.css +3 -4
@@ -1,11 +1,11 @@
1
- import { defineComponent as L, ref as T, computed as A, resolveComponent as _, createElementBlock as c, openBlock as a, normalizeStyle as V, normalizeClass as d, unref as s, createVNode as b, withCtx as F, createElementVNode as u, createCommentVNode as y, Fragment as N, renderList as R, withModifiers as f, renderSlot as h, createTextVNode as p, toDisplayString as g, createBlock as j } from "vue";
2
- import { Popover as G } from "@aplus-frontend/antdv";
3
- import { PlusOutlined as q } from "@ant-design/icons-vue";
1
+ import { defineComponent as z, ref as I, computed as T, createElementBlock as r, openBlock as a, normalizeStyle as A, normalizeClass as d, unref as s, createVNode as b, withCtx as V, createElementVNode as c, createCommentVNode as y, Fragment as N, renderList as R, withModifiers as f, renderSlot as u, createTextVNode as g, toDisplayString as h, createBlock as L } from "vue";
2
+ import { Popover as j } from "@aplus-frontend/antdv";
3
+ import { PlusOutlined as G, InfoCircleFilled as q } from "@ant-design/icons-vue";
4
4
  import { IconApAdLinePoor as J } from "@aplus-frontend/icon";
5
5
  import "../../config-provider/index.mjs";
6
6
  import { useNamespace as Q } from "../../config-provider/hooks/use-namespace.mjs";
7
7
  import { useGlobalConfig as U } from "../../config-provider/hooks/use-global-config.mjs";
8
- const W = ["onClick"], X = { class: "label" }, Y = { class: "value" }, Z = ["onClick"], x = ["onClick"], ee = { class: "label" }, te = { class: "value" }, le = { class: "text" }, ce = /* @__PURE__ */ L({
8
+ const W = ["onClick"], X = { class: "label" }, Y = { class: "value" }, Z = ["onClick"], _ = ["onClick"], x = { class: "label" }, ee = { class: "value" }, te = { class: "text" }, re = /* @__PURE__ */ z({
9
9
  name: "ApValueSelectCard",
10
10
  __name: "index",
11
11
  props: {
@@ -24,165 +24,162 @@ const W = ["onClick"], X = { class: "label" }, Y = { class: "value" }, Z = ["onC
24
24
  wrapperStyle: { type: [Boolean, null, String, Object, Array] }
25
25
  },
26
26
  emits: ["update:selectedKeys", "update:highlightedKeys", "change", "select", "remove", "highlight"],
27
- setup(v, { expose: H, emit: D }) {
28
- const i = D, l = v, { b: n, m: E } = Q("ap-value-select-card"), M = U("uiMode", "aplus"), P = T(null), m = T(!1), K = A(() => l.options), C = A(() => K.value.filter(
27
+ setup(v, { expose: F, emit: H }) {
28
+ const o = H, l = v, { b: n, m: D } = Q("ap-value-select-card"), E = U("uiMode", "aplus"), M = I(null), p = I(!1), K = T(() => l.options), C = T(() => K.value.filter(
29
29
  (e) => l.selectedKeys.includes(e.key)
30
30
  )), B = (e) => l.selectedKeys.includes(e), S = (e) => l.highlightedKeys.includes(e), $ = (e) => {
31
- l.selectedKeys.includes(e) ? k(e) : I(e);
32
- }, I = (e) => {
31
+ l.selectedKeys.includes(e) ? k(e) : O(e);
32
+ }, O = (e) => {
33
33
  if (l.maxSelected && l.selectedKeys.length >= l.maxSelected)
34
34
  return;
35
- const o = [...l.selectedKeys, e];
36
- i("update:selectedKeys", o), i("change", o), i("select", e), l.highlightedKeys.includes(e) || w(e);
35
+ const i = [...l.selectedKeys, e];
36
+ o("update:selectedKeys", i), o("change", i), o("select", e), l.highlightedKeys.includes(e) || w(e);
37
37
  }, k = (e) => {
38
38
  if (l.selectedKeys.length <= 1 || l.highlightedKeys.length <= 1 && l.highlightedKeys.includes(e))
39
39
  return;
40
- const o = l.selectedKeys.filter((r) => r !== e);
41
- if (i("update:selectedKeys", o), i("change", o), i("remove", e), l.highlightedKeys.includes(e)) {
42
- const r = l.highlightedKeys.filter((t) => t !== e);
43
- i("update:highlightedKeys", r), i("highlight", r);
40
+ const i = l.selectedKeys.filter((t) => t !== e);
41
+ if (o("update:selectedKeys", i), o("change", i), o("remove", e), l.highlightedKeys.includes(e)) {
42
+ const t = l.highlightedKeys.filter((m) => m !== e);
43
+ o("update:highlightedKeys", t), o("highlight", t);
44
44
  }
45
45
  }, w = (e) => {
46
- let o;
46
+ let i;
47
47
  if (l.highlightedKeys.includes(e))
48
48
  if (l.highlightedKeys.length > 1)
49
- o = l.highlightedKeys.filter((r) => r !== e);
49
+ i = l.highlightedKeys.filter((t) => t !== e);
50
50
  else
51
51
  return;
52
52
  else
53
- o = [...l.highlightedKeys, e];
54
- i("update:highlightedKeys", o), i("highlight", o);
55
- }, z = (e) => {
56
- e || (m.value = e);
53
+ i = [...l.highlightedKeys, e];
54
+ o("update:highlightedKeys", i), o("highlight", i);
55
+ }, P = (e) => {
56
+ e || (p.value = e);
57
57
  };
58
- return H({
59
- popoverVisible: m,
58
+ return F({
59
+ popoverVisible: p,
60
60
  allOptions: K,
61
61
  selectedOptions: C,
62
62
  isSelected: B,
63
63
  isHighlighted: S,
64
64
  toggleOption: $,
65
- addOption: I,
65
+ addOption: O,
66
66
  removeOption: k,
67
67
  highlightOption: w
68
- }), (e, o) => {
69
- const r = _("InfoCircleFilled");
70
- return a(), c("div", {
71
- class: d([s(n)(), `${s(E)(s(M))}`]),
72
- style: V({
73
- ...e.wrapperStyle,
74
- "--ap-value-select-card-column-count": e.maxRowDisplay
75
- })
76
- }, [
77
- b(s(G), {
78
- open: m.value,
79
- trigger: "click",
80
- placement: "bottomRight",
81
- arrow: !1,
82
- "get-popup-container": e.getContainer,
83
- onOpenChange: z
84
- }, {
85
- content: F(() => [
86
- u("div", {
87
- class: d(s(n)("popover"))
68
+ }), (e, i) => (a(), r("div", {
69
+ class: d([s(n)(), `${s(D)(s(E))}`]),
70
+ style: A({
71
+ ...e.wrapperStyle,
72
+ "--ap-value-select-card-column-count": e.maxRowDisplay
73
+ })
74
+ }, [
75
+ b(s(j), {
76
+ open: p.value,
77
+ trigger: "click",
78
+ placement: "bottomRight",
79
+ arrow: !1,
80
+ "get-popup-container": e.getContainer,
81
+ onOpenChange: P
82
+ }, {
83
+ content: V(() => [
84
+ c("div", {
85
+ class: d(s(n)("popover"))
86
+ }, [
87
+ e.popoverTitle ? (a(), r("div", {
88
+ key: 0,
89
+ class: d(s(n)("title"))
88
90
  }, [
89
- e.popoverTitle ? (a(), c("div", {
91
+ e.showTitleIcon ? (a(), L(s(q), {
90
92
  key: 0,
91
- class: d(s(n)("title"))
92
- }, [
93
- e.showTitleIcon ? (a(), j(r, {
94
- key: 0,
95
- class: d(s(n)("title-icon"))
96
- }, null, 8, ["class"])) : y("", !0),
97
- p(" " + g(e.popoverTitle), 1)
98
- ], 2)) : y("", !0),
99
- u("div", {
100
- class: d(s(n)("list"))
101
- }, [
102
- (a(!0), c(N, null, R(K.value, (t) => (a(), c("div", {
103
- key: t.key,
104
- class: d([
105
- s(n)("list-item"),
106
- "all",
107
- {
108
- select: B(t.key),
109
- disabled: e.maxSelected && e.selectedKeys.length >= e.maxSelected
110
- }
111
- ]),
112
- onClick: f((O) => $(t.key), ["stop"])
113
- }, [
114
- u("div", X, [
115
- h(e.$slots, "popover-label", { option: t }, () => [
116
- p(g(t.label), 1)
117
- ])
118
- ]),
119
- u("div", Y, [
120
- h(e.$slots, "popover-value", { option: t }, () => [
121
- p(g(t.value), 1)
122
- ])
123
- ])
124
- ], 10, W))), 128))
125
- ], 2)
126
- ], 2)
127
- ]),
128
- default: F(() => [
129
- u("div", {
93
+ class: d(s(n)("title-icon"))
94
+ }, null, 8, ["class"])) : y("", !0),
95
+ g(" " + h(e.popoverTitle), 1)
96
+ ], 2)) : y("", !0),
97
+ c("div", {
130
98
  class: d(s(n)("list"))
131
99
  }, [
132
- (a(!0), c(N, null, R(C.value, (t) => (a(), c("div", {
100
+ (a(!0), r(N, null, R(K.value, (t) => (a(), r("div", {
133
101
  key: t.key,
134
- ref_for: !0,
135
- ref_key: "listItemRef",
136
- ref: P,
137
102
  class: d([
138
103
  s(n)("list-item"),
104
+ "all",
139
105
  {
140
- select: S(t.key),
141
- custom: t.customClass
142
- },
143
- t.customClass
106
+ select: B(t.key),
107
+ disabled: e.maxSelected && e.selectedKeys.length >= e.maxSelected
108
+ }
144
109
  ]),
145
- style: V(e.getCardStyle(t.key)),
146
- onClick: f((O) => w(t.key), ["stop"])
110
+ onClick: f((m) => $(t.key), ["stop"])
147
111
  }, [
148
- e.showCloseIcon && (!(e.highlightedKeys.length === 1 && S(t.key)) && C.value.length > 1) ? (a(), c("div", {
149
- key: 0,
150
- class: d(s(n)("list-item-close")),
151
- onClick: f((O) => k(t.key), ["stop"])
152
- }, [
153
- h(e.$slots, "close-icon", {}, () => [
154
- b(s(J))
155
- ])
156
- ], 10, x)) : y("", !0),
157
- u("div", ee, [
158
- h(e.$slots, "label", { option: t }, () => [
159
- p(g(t.label), 1)
112
+ c("div", X, [
113
+ u(e.$slots, "popover-label", { option: t }, () => [
114
+ g(h(t.label), 1)
160
115
  ])
161
116
  ]),
162
- u("div", te, [
163
- h(e.$slots, "value", { option: t }, () => [
164
- p(g(t.value), 1)
117
+ c("div", Y, [
118
+ u(e.$slots, "popover-value", { option: t }, () => [
119
+ g(h(t.value), 1)
165
120
  ])
166
121
  ])
167
- ], 14, Z))), 128)),
168
- e.showAddButton && (!e.maxSelected || e.selectedKeys.length < e.maxSelected) ? (a(), c("div", {
122
+ ], 10, W))), 128))
123
+ ], 2)
124
+ ], 2)
125
+ ]),
126
+ default: V(() => [
127
+ c("div", {
128
+ class: d(s(n)("list"))
129
+ }, [
130
+ (a(!0), r(N, null, R(C.value, (t) => (a(), r("div", {
131
+ key: t.key,
132
+ ref_for: !0,
133
+ ref_key: "listItemRef",
134
+ ref: M,
135
+ class: d([
136
+ s(n)("list-item"),
137
+ {
138
+ select: S(t.key),
139
+ custom: t.customClass
140
+ },
141
+ t.customClass
142
+ ]),
143
+ style: A(e.getCardStyle(t.key)),
144
+ onClick: f((m) => w(t.key), ["stop"])
145
+ }, [
146
+ e.showCloseIcon && (!(e.highlightedKeys.length === 1 && S(t.key)) && C.value.length > 1) ? (a(), r("div", {
169
147
  key: 0,
170
- class: d([s(n)("list-item"), "choose"]),
171
- onClick: o[0] || (o[0] = f((t) => m.value = !0, ["stop"]))
148
+ class: d(s(n)("list-item-close")),
149
+ onClick: f((m) => k(t.key), ["stop"])
172
150
  }, [
173
- h(e.$slots, "add-button", {}, () => [
174
- b(s(q)),
175
- u("span", le, g(e.addButtonText), 1)
151
+ u(e.$slots, "close-icon", {}, () => [
152
+ b(s(J))
176
153
  ])
177
- ], 2)) : y("", !0)
178
- ], 2)
179
- ]),
180
- _: 3
181
- }, 8, ["open", "get-popup-container"])
182
- ], 6);
183
- };
154
+ ], 10, _)) : y("", !0),
155
+ c("div", x, [
156
+ u(e.$slots, "label", { option: t }, () => [
157
+ g(h(t.label), 1)
158
+ ])
159
+ ]),
160
+ c("div", ee, [
161
+ u(e.$slots, "value", { option: t }, () => [
162
+ g(h(t.value), 1)
163
+ ])
164
+ ])
165
+ ], 14, Z))), 128)),
166
+ e.showAddButton && (!e.maxSelected || e.selectedKeys.length < e.maxSelected) ? (a(), r("div", {
167
+ key: 0,
168
+ class: d([s(n)("list-item"), "choose"]),
169
+ onClick: i[0] || (i[0] = f((t) => p.value = !0, ["stop"]))
170
+ }, [
171
+ u(e.$slots, "add-button", {}, () => [
172
+ b(s(G)),
173
+ c("span", te, h(e.addButtonText), 1)
174
+ ])
175
+ ], 2)) : y("", !0)
176
+ ], 2)
177
+ ]),
178
+ _: 3
179
+ }, 8, ["open", "get-popup-container"])
180
+ ], 6));
184
181
  }
185
182
  });
186
183
  export {
187
- ce as default
184
+ re as default
188
185
  };
@@ -28,7 +28,7 @@ export interface UsePageListAgGrid extends AgGridProps {
28
28
  * 集成了列表页面的AgGrid的默认配置
29
29
  */
30
30
  export declare function usePageListAgGrid(props?: UsePageListAgGrid): [AgGridProps, {
31
- reload: () => void;
31
+ reload: (resetCurrent?: boolean) => void;
32
32
  reset: () => void;
33
33
  getSearchFormValues: (transform?: boolean) => any;
34
34
  getAgGridInstance: () => AgGridExpose | undefined;
@@ -3,7 +3,7 @@ import { merge as v, cloneDeep as A } from "lodash-unified";
3
3
  import { ref as F } from "vue";
4
4
  import { useKeepAliveFlag as R } from "./useKeepAliveFlag.mjs";
5
5
  import { useTableRefresh as w } from "./useTableRefresh.mjs";
6
- function z(a) {
6
+ function y(a) {
7
7
  const r = F(null), {
8
8
  isShowRowSelection: c = !0,
9
9
  clearSelectionOnRequest: i = !0,
@@ -21,8 +21,8 @@ function z(a) {
21
21
  ...V(f),
22
22
  apTableRef: r
23
23
  });
24
- const u = () => {
25
- r.value?.submit();
24
+ const u = (e) => {
25
+ r.value?.submitWith(e);
26
26
  }, p = () => {
27
27
  r.value?.reset();
28
28
  }, { isDeactivated: h } = R({
@@ -79,5 +79,5 @@ function V(a) {
79
79
  } : a;
80
80
  }
81
81
  export {
82
- z as usePageListAgGrid
82
+ y as usePageListAgGrid
83
83
  };
@@ -1,18 +1,18 @@
1
1
  import "../index.mjs";
2
- import { merge as c, cloneDeep as F } from "lodash-unified";
2
+ import { merge as i, cloneDeep as F } from "lodash-unified";
3
3
  import { ref as R } from "vue";
4
4
  import { useKeepAliveFlag as w } from "./useKeepAliveFlag.mjs";
5
5
  import { useTableRefresh as V } from "./useTableRefresh.mjs";
6
- function E(a) {
6
+ function W(a) {
7
7
  const r = R(null), {
8
- isShowRowSelection: i = !0,
8
+ isShowRowSelection: c = !0,
9
9
  clearSelectionOnRequest: f = !0,
10
10
  transformSearchFormValues: o,
11
11
  api: s,
12
12
  tableRefresh: d = !0,
13
13
  virtual: m,
14
14
  clearDataOnDeactivated: p = !0,
15
- ...v
15
+ ...h
16
16
  } = a || {};
17
17
  let l = null;
18
18
  const n = () => {
@@ -23,19 +23,19 @@ function E(a) {
23
23
  apTableRef: r
24
24
  });
25
25
  const u = () => {
26
- r.value?.submit();
27
- }, S = () => {
26
+ r.value?.submitWith(!0);
27
+ }, v = () => {
28
28
  r.value?.reset();
29
- }, { isDeactivated: h } = w({
29
+ }, { isDeactivated: S } = w({
30
30
  afterDeactivated: u
31
31
  });
32
- return [c(
32
+ return [i(
33
33
  {
34
34
  // scroll,tableLayout,columnResizable设置表格可拖动
35
35
  scroll: { x: "100%", y: "100%" },
36
36
  columnResizable: !0,
37
37
  request: s ? async (e) => {
38
- if (h() && p)
38
+ if (S() && p)
39
39
  return {
40
40
  data: [],
41
41
  total: 0
@@ -49,14 +49,14 @@ function E(a) {
49
49
  total: A
50
50
  };
51
51
  } : void 0,
52
- rowSelection: i ? {
52
+ rowSelection: c ? {
53
53
  fixed: "left",
54
54
  columnWidth: 38
55
55
  } : void 0,
56
56
  ref(e) {
57
57
  r.value = e;
58
58
  },
59
- virtual: c(
59
+ virtual: i(
60
60
  {
61
61
  oSize: 20,
62
62
  y: 20
@@ -66,10 +66,10 @@ function E(a) {
66
66
  // 新UI规范,需要都添加分割线
67
67
  card: !0
68
68
  },
69
- v
69
+ h
70
70
  ), {
71
71
  reload: u,
72
- reset: S,
72
+ reset: v,
73
73
  getSearchFormValues: (e = !0) => {
74
74
  const t = r.value?.getSearchFormValues(!!e) || {};
75
75
  return o ? o(t) : t;
@@ -88,5 +88,5 @@ function b(a) {
88
88
  } : a;
89
89
  }
90
90
  export {
91
- E as usePageListApGrid
91
+ W as usePageListApGrid
92
92
  };
@@ -1,2 +1,2 @@
1
- declare const _default: "6.26.5";
1
+ declare const _default: "6.28.0";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "6.26.5";
1
+ const e = "6.28.0";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1,4 +1,4 @@
1
- import { ColDef, ColGroupDef } from 'ag-grid-community';
1
+ import { CellClassFunc, ColDef, ColGroupDef } from 'ag-grid-community';
2
2
  import { AgGridColumnType, AgGridProps } from '../interface';
3
3
  import { Ref, ComputedRef } from 'vue';
4
4
  /**
@@ -7,7 +7,7 @@ import { Ref, ComputedRef } from 'vue';
7
7
  * @param props
8
8
  * @returns
9
9
  */
10
- export declare const useColumnsDef: <RecordType>(shownColumns: Ref<AgGridColumnType<RecordType>[]>, props: AgGridProps<RecordType>) => {
10
+ export declare const useColumnsDef: <RecordType>(columns: Ref<AgGridColumnType<RecordType>[]>, props: AgGridProps<RecordType>, customCellClass: (callback: CellClassFunc) => CellClassFunc) => {
11
11
  columnDefs: ComputedRef<(ColDef<any, any> | ColGroupDef<any>)[]>;
12
12
  defaultColDef: ComputedRef<ColDef<any, any>>;
13
13
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../ap-table/utils.js"),T=require("../renderer/index.js"),n=require("lodash-unified"),p=require("vue");require("../components/body-cell/index.vue.js");require("../components/header-cell/index.vue.js");require("../../config-provider/index.js");const g=require("../../ap-grid/utils/col.js"),h=require("../../utils/index.js"),_=require("../../config-provider/hooks/use-global-config.js"),q=require("../../config-provider/hooks/use-namespace.js"),w=require("../components/body-cell/index.vue2.js"),P=require("../components/header-cell/index.vue2.js");function R(t,s){if(s.bodyCellTooltip)return n.isFunction(s.bodyCellTooltip)?s.bodyCellTooltip(t.value,t.data):s.bodyCellTooltip;if(s.renderText)return s.renderText({value:t.value,record:t.data,column:s,text:t.value});const d=s.valueType||"text",o=T.rendererMap[d];if(o){const f=c.getTableRenderProps({...s,valueType:d},{value:t.value,text:t.value,record:t.data,column:t.column,rowIndex:t.node?.rowIndex,pinned:t.node?.rowPinned});return o(f)}return c.objectToString(t.value)}const S=(t,s)=>{const d=_.useGlobalConfig("valueTypeMap"),{em:o}=q.useNamespace("ag-grid"),v=p.computed(()=>{const C=p.unref(t),b=i=>{const e={cellRenderer:w.default,cellRendererParams:{column:i,extraValueType:p.unref(d)}};if(i.customRender)return e;if(i.renderText)return{valueFormatter:r=>i.renderText({value:r.value,record:r.data,column:i,text:r.value})};const u=i.valueType||"text",a=T.rendererMap[u];return a?{valueFormatter:r=>{const l=c.getTableRenderProps({...i,valueType:u},{value:r.value,text:r.value,record:r.data,column:r.column,rowIndex:r.node?.rowIndex,pinned:r.node?.rowPinned});return a(l)}}:e};function x(i){return i.map(e=>{const u=e.bodyCellTooltip||!e.customRender&&(e.ellipsis===!0||e.ellipsis==="tooltip"||n.isNumber(e.ellipsis)),a={field:g.dataIndexToField(e.dataIndex),colId:h.isDef(e.key)?String(e.key):void 0,sortable:!!e.sorter,comparator:e.sorter===!0?()=>0:e.sorter,headerComponentParams:{column:e},resizable:e.resizable,width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,flex:e.width?void 0:1,pinned:e.fixed||null,colSpan:e.colSpan,cellClass:r=>{const l=e.cellClass||"",y=n.isFunction(l)?l(r.data,r.node):l;return[`${o("cell",e.align||"left")}`,y].flat().filter(Boolean)},cellStyle:{"--ag-grid-line-clamp":n.isNumber(e.ellipsis)?e.ellipsis:1},wrapText:!e.ellipsis||n.isNumber(e.ellipsis)&&e.ellipsis>=2,autoHeight:!0,tooltipValueGetter:u?r=>R(r,e):void 0,...b(e)};return e.children?.length?{...a,children:x(e.children)}:a})}return x(C)}),f=p.computed(()=>({headerComponent:P.default,resizable:s.columnResizable,suppressMovable:!0,cellDataType:!1}));return{columnDefs:v,defaultColDef:f}};exports.useColumnsDef=S;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../../ap-table/utils.js"),T=require("../renderer/index.js"),n=require("lodash-unified"),p=require("vue");require("../components/body-cell/index.vue.js");require("../components/header-cell/index.vue.js");require("../../config-provider/index.js");const h=require("../../ap-grid/utils/col.js"),_=require("../../utils/index.js"),q=require("../../config-provider/hooks/use-global-config.js"),w=require("../../config-provider/hooks/use-namespace.js"),P=require("../components/body-cell/index.vue2.js"),R=require("../components/header-cell/index.vue2.js");function S(t,s){if(s.bodyCellTooltip)return n.isFunction(s.bodyCellTooltip)?s.bodyCellTooltip(t.value,t.data):s.bodyCellTooltip;if(s.renderText)return s.renderText({value:t.value,record:t.data,column:s,text:t.value});const d=s.valueType||"text",o=T.rendererMap[d];if(o){const f=c.getTableRenderProps({...s,valueType:d},{value:t.value,text:t.value,record:t.data,column:t.column,rowIndex:t.node?.rowIndex,pinned:t.node?.rowPinned});return o(f)}return c.objectToString(t.value)}const D=(t,s,d)=>{const o=q.useGlobalConfig("valueTypeMap"),{em:v}=w.useNamespace("ag-grid"),f=p.computed(()=>{const b=p.unref(t),y=i=>{const e={cellRenderer:P.default,cellRendererParams:{column:i,extraValueType:p.unref(o)}};if(i.customRender)return e;if(i.renderText)return{valueFormatter:r=>i.renderText({value:r.value,record:r.data,column:i,text:r.value})};const u=i.valueType||"text",a=T.rendererMap[u];return a?{valueFormatter:r=>{const l=c.getTableRenderProps({...i,valueType:u},{value:r.value,text:r.value,record:r.data,column:r.column,rowIndex:r.node?.rowIndex,pinned:r.node?.rowPinned});return a(l)}}:e};function x(i){return i.map(e=>{const u=e.bodyCellTooltip||!e.customRender&&(e.ellipsis===!0||e.ellipsis==="tooltip"||n.isNumber(e.ellipsis)),a={field:h.dataIndexToField(e.dataIndex),colId:_.isDef(e.key)?String(e.key):void 0,sortable:!!e.sorter,comparator:e.sorter===!0?()=>0:e.sorter,headerComponentParams:{column:e},resizable:e.resizable,width:e.width,minWidth:e.minWidth,maxWidth:e.maxWidth,flex:e.width?void 0:1,pinned:e.fixed||null,colSpan:e.colSpan,cellClass:d(r=>{const l=e.cellClass||"",g=n.isFunction(l)?l(r.data,r.node):l;return[`${v("cell",e.align||"left")}`,g].flat().filter(Boolean)}),cellStyle:{"--ag-grid-line-clamp":n.isNumber(e.ellipsis)?e.ellipsis:1},wrapText:!e.ellipsis||n.isNumber(e.ellipsis)&&e.ellipsis>=2,autoHeight:!0,tooltipValueGetter:u?r=>S(r,e):void 0,...y(e)};return e.children?.length?{...a,children:x(e.children)}:a})}return x(b)}),C=p.computed(()=>({headerComponent:R.default,resizable:s.columnResizable,suppressMovable:!0,cellDataType:!1}));return{columnDefs:f,defaultColDef:C}};exports.useColumnsDef=D;
@@ -1,9 +1,10 @@
1
- import { Ref } from 'vue';
1
+ import { Ref, ComputedRef } from 'vue';
2
2
  import { AgGridColumnType, AgGridProps } from '../interface';
3
3
  /**
4
4
  * 维护/更新表格将要显示的类
5
5
  */
6
6
  export declare const useColumns: <RecordType>(props: AgGridProps<RecordType>) => {
7
+ columns: Ref<AgGridColumnType<RecordType>[], AgGridColumnType<RecordType>[]>;
7
8
  shownColumns: Ref<AgGridColumnType<RecordType>[], AgGridColumnType<RecordType>[]>;
8
- shownColumnsBackup: Ref<AgGridColumnType<RecordType>[], AgGridColumnType<RecordType>[]>;
9
+ columnKeys: ComputedRef<string[]>;
9
10
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("vue"),l=n=>{const o=u.ref([]),t=u.ref([]);function s(){return n.columns?.filter(e=>!e.hideInTable)||[]}return u.watch(()=>n.columns,()=>{const e=s();o.value=e,t.value=e,n.onShownColumnsChange?.(e)},{deep:!0,immediate:!0}),{shownColumns:o,shownColumnsBackup:t}};exports.useColumns=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),m=u=>{const t=n.ref([]),o=n.ref([]);function s(){return u.columns?.filter(e=>!e.hideInTable)||[]}const l=n.computed(()=>t.value.map(e=>e.key?String(e.key):e.key).filter(Boolean));return n.watch(()=>u.columns,()=>{const e=s();t.value=e,o.value=e,u.onShownColumnsChange?.(e)},{deep:!0,immediate:!0}),{columns:t,shownColumns:o,columnKeys:l}};exports.useColumns=m;
@@ -0,0 +1,7 @@
1
+ import { Ref, ComputedRef } from 'vue';
2
+ import { AgGridProps } from '../interface';
3
+ import { CellClassFunc, GridOptions } from 'ag-grid-community';
4
+ export declare const usePinnedRow: (summary: Ref<AgGridProps["summary"]>) => {
5
+ getRowPinnedCellClass: (prevCellClass: CellClassFunc) => CellClassFunc;
6
+ rowPinnedGridConfig: ComputedRef<GridOptions<any>>;
7
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("vue"),l=require("lodash-unified"),w=i=>{const u=c.computed(()=>{const o=i.value;if(!o)return{};const{rowClassName:e,top:t,bottom:n}=o;return{pinnedTopRowData:t,pinnedBottomRowData:n,getRowClass({node:r,data:s,rowIndex:d}){if(!(!r.rowPinned||!e))return l.isFunction(e)?e(s,d,r.rowPinned):e}}});return{getRowPinnedCellClass:o=>e=>{let t;const{cellClassName:n}=i.value||{};return!e.node.rowPinned||!n?t=[o(e)]:t=[o(e),l.isFunction(n)?n(e.data,e.colDef,e.node.rowPinned):n],t.flat().filter(Boolean)},rowPinnedGridConfig:u}};exports.usePinnedRow=w;
@@ -0,0 +1,5 @@
1
+ import { Ref, ComputedRef } from 'vue';
2
+ import { AgGridColumnType, AgGridProps } from '../interface';
3
+ import { SelectionColumnDef } from 'ag-grid-community';
4
+ declare const useRowSelectionColumnDef: <RecordType>(props: AgGridProps<RecordType>, shownColumns: Ref<AgGridColumnType<RecordType>[]>) => ComputedRef<SelectionColumnDef | undefined>;
5
+ export default useRowSelectionColumnDef;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("vue"),f=require("lodash-unified");require("../../ap-grid/index.js");const u=require("../../ap-grid/constants.js");function a(e){return e?.bottom?.length||e?.top?.length}const m=(e,c)=>d.computed(()=>{if(!e.rowSelection)return;const l=e.rowSelection===!0?{}:e.rowSelection,n={sortable:!1,resizable:!1,width:l.columnWidth||60};let i=l.fixed;if(i===void 0&&(i=c.value.some(t=>t.fixed==="left"||t.fixed===!0)?"left":void 0),n.pinned=i,a(e.summary)){const{cellClassName:t}=e.summary;n.cellClass=({node:r,data:s,colDef:o})=>{if(!(!r.rowPinned||!t))return o.field=u.ROW_SELECTION_FIELD,console.log(o),f.isFunction(t)?t(s,o,r.rowPinned):t},n.cellRenderer=({data:r})=>r?.[u.ROW_SELECTION_FIELD]}return n});exports.default=m;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),Re=require("ag-grid-vue3"),I=require("ag-grid-community"),M=require("@aplus-frontend/antdv"),p=require("lodash-unified");require("../config-provider/index.js");const Be=require("../ap-form/index.js"),ke=require("../ap-table/utils.js"),xe=require("../ap-table/hooks/use-table-paging-ng.js"),Fe=require("./hooks/use-row-selection.js"),qe=require("./context.js"),ze=require("../ap-table/context.js"),U=require("../ap-grid/constants.js"),Ne=require("@aplus-frontend/antdv/es/theme/internal"),Te=require("./theme.js"),Ve=require("./hooks/use-columns.js"),Ee=require("./hooks/use-columns-def.js"),De=require("../utils/index.js"),Ke=require("../utils/slot.js"),Pe=require("./hooks/use-search-form.js");require("./components/empty/index.vue.js");const Ae=require("./hooks/use-virtual-config.js"),Ie=require("../config-provider/hooks/use-namespace.js"),Me=require("./components/empty/index.vue2.js"),Ue=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(O,{expose:W}){I.ModuleRegistry.registerModules([I.AllCommunityModule]);const t=O,B=e.useSlots(),{e:g,b:a,be:j}=Ie.useNamespace("ag-grid"),m=e.ref(t.size),L=Te.useTheme(m,e.toRef(t,"rowHeight")),k=Ae.default(e.toRef(t,"virtual")),s=e.ref(),[,$]=Ne.useToken();let i=!!t.dataSource;const x=Pe.useSearchForm(t),{shownColumns:l,shownColumnsBackup:G}=Ve.useColumns(t),{defaultColDef:H,columnDefs:_}=Ee.useColumnsDef(l,t),y=e.ref({});qe.useProvideSorter({sorter:y,setSorter(o){y.value=o}});const J={asc:"ascend",desc:"descend"};function Q(){const o=s.value.getColumns()?.filter(d=>d.getSort()!==void 0),r=e.unref(y)||{};let n=o?.[0];const f=Object.keys(r);if(f.length&&f.every(d=>r[d]===null)){const d=Object.keys(r)[0];d&&(n=s.value?.getColumn(d))}if(!n)return;const S=n.getColDef(),w=n.getSort();q(void 0,void 0,{column:S,field:S.field,order:w?J[w]:null})}const X=e.computed(()=>ke.recursionApColumns(e.unref(l),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),Y=e.computed(()=>De.isDef(t.manual)?t.manual:Ke.getValidVNodeList(B.searchFormExtra?.()||[]).some(r=>r.type?.name==="ApView")),{formRef:u,submit:h,reset:v,data:c,tableProps:F,handleTableChangeOptional:q,submitWith:z,refresh:N,getPaging:Z,setPaging:ee,setDataSource:oe}=xe.useTablePaging({async request(o){if(i=!1,!re.value&&p.isUndefined(t.dataSource)&&R(),!p.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(Y),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:X}),te=e.computed(()=>p.isUndefined(t.dataSource)?c.records:t.dataSource),re=e.computed(()=>{const o=t.rowSelection===!0?{}:t.rowSelection;return o?o.preserveSelectedRowKeys!==!1:!1}),{select:ne,unSelect:ae,selectedRows:C,selectedRowKeys:le,clearAll:se,selectMultiByKeys:ie}=Fe.default({...t.rowSelection===!0?{}:t.rowSelection,dataSource:te,rowKey:t.rowKey}),ue={checkbox:"multiRow",radio:"singleRow"},ce=e.computed(()=>{if(!t.rowSelection)return;const{type:o="checkbox",disabled:r}=t.rowSelection===!0?{}:t.rowSelection;return{mode:ue[o],isRowSelectable:n=>r?!r(n.data):!0}}),de=e.computed(()=>{if(!t.rowSelection)return;const o=t.rowSelection===!0?{}:t.rowSelection;let r=o.fixed;return r===void 0&&(r=l.value.some(n=>n.fixed==="left"||n.fixed===!0)?"left":void 0),{sortable:!1,resizable:!1,width:o.columnWidth||60,pinned:r}});function b(o){return p.isFunction(t.rowKey)?t.rowKey(o):o[t.rowKey]}const T=({api:o=s.value})=>{if(!t.rowSelection)return;const r=C.value;if(!r.length){setTimeout(()=>{i=!0},0);return}i=!1;const n=[];o.forEachNode(f=>{const A=f.data,S=b(A);r.find(w=>b(w)===S)&&n.push(f)}),o.setNodesSelected({nodes:n,newValue:!0}),setTimeout(()=>{i=!0},0)},pe=o=>{i&&(o.node.isSelected()?ne(o.data):ae(o.data))},me=()=>{i=!0},R=()=>{se(),s.value?.deselectAll()};function fe(o){ie(o),e.nextTick(()=>{T({})})}function V(o=!1){const r=o?"getFieldsValueTransformed":"getFieldsValue";return u.value?.apForm?.[r]?.(!0)}function E(o){u.value?.apForm?.setFieldsValue?.(o)}function D(){return u.value?.getSorterItems()||[]}function K(o){u.value?.setSorterItems(o)}function P(){u.value?.resetSorterItems()}ze.useProvideApTable({columns:e.computed(()=>l.value),columnsBackup:e.computed(()=>G.value),size:e.computed(()=>U.sizeMap[m.value]),updateColumns(o){l.value=o,t.onShownColumnsChange?.(o)},updateSize(o){m.value=U.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:j("table-header","title"),color:$.value.colorTextTertiary})),dataSource:e.computed(()=>e.unref(c).records),getSearchFormValues:V,setSearchFormValues:E,submit:h,submitWith:z,reset:v,refresh:N,getSearchFormSorterItems:D,setSearchFormSorterItems:K,resetSearchFormSorterItems:P});const ge=e.computed(()=>p.isUndefined(t.loading)?c.loading:t.loading),Se=e.computed(()=>[a(),t.card?null:a("wrapper"),a("adaptive"),a(`size-${m.value}`)].filter(Boolean)),we=e.computed(()=>({height:"100%",...t.tableStyle||{}})),ye=(o,r)=>{q({current:o,pageSize:r})};function he(o){const r=o.data;return b(r)}function ve(o,r){s.value?.ensureIndexVisible(o,r)}function Ce(o){t.onRowClicked?.(o.data)}function be(o){t.onScrollEnd?.(o.direction)}return e.watch(()=>t.dataSource,o=>{oe(o)},{immediate:!0,deep:!0}),e.watch(()=>t.size,o=>{m.value=o}),e.watch(()=>e.unref(c).loading,o=>{t.onLoadingChange?.(o)}),W({submit:h,reset:v,refresh:N,submitWith:z,setSearchFormValues:E,getSearchFormValues:V,getShowColumns:()=>e.unref(l),rowSelection:{selectedRows:e.computed(()=>C.value),setSelectedRowKeys:fe,clearAll:R},scrollToRow:ve,getDataSource:()=>e.unref(c.records),getPaging:Z,setPaging:ee,getSearchFormSorterItems:D,setSearchFormSorterItems:K,resetSearchFormSorterItems:P}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(Se.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(p.isUndefined)(o.dataSource)&&o.searchForm!==!1&&e.unref(x).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(g)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(Be.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:u,"custom-reset":"","submit-loading":e.unref(F).loading,onSubmit:e.unref(h),onReset:e.unref(v)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(x),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode),{key:n.dataIndex}))),128))]),_:2},[B.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(g)("table-wrapper"),o.card?e.unref(g)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(a)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(C),selectedRowKeys:e.unref(le),shownColumns:e.unref(l),clearAll:R})],2),e.createTextVNode(" "+e.toDisplayString(console.log(e.unref(k)))+" ",1),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a)("grid-wrapper"))},[e.createVNode(e.unref(Re.AgGridVue),e.mergeProps(e.unref(k),{style:we.value,"row-data":e.unref(c).records,"column-defs":e.unref(_),"default-col-def":e.unref(H),"suppress-loading-overlay":"","row-selection":ce.value,"selection-column-def":de.value,"get-row-id":he,"pinned-top-row-data":o.summary?.top,"pinned-bottom-row-data":o.summary?.bottom,theme:e.unref(L),"tooltip-show-delay":500,"enable-browser-tooltips":o.browserTooltips,"tooltip-interaction":"","no-rows-overlay-component":Me.default,onSortChanged:Q,onGridReady:r[0]||(r[0]=n=>s.value=n.api),onRowDataUpdated:T,onRowSelected:pe,onFirstDataRendered:me,onRowClicked:Ce,onBodyScrollEnd:be}),null,16,["style","row-data","column-defs","default-col-def","row-selection","selection-column-def","pinned-top-row-data","pinned-bottom-row-data","theme","enable-browser-tooltips"]),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(g)("table-loading-wrapper"))},[e.createVNode(e.unref(M.Spin),{delay:300})],2),[[e.vShow,ge.value]])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(a)("pagination-wrapper"))},[o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(M.Pagination),e.mergeProps({key:0,class:e.unref(a)("pagination")},e.unref(F).pagination,{onChange:ye}),null,16,["class"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=Ue;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),qe=require("ag-grid-vue3"),A=require("ag-grid-community"),M=require("@aplus-frontend/antdv"),S=require("lodash-unified");require("../config-provider/index.js");const ze=require("../ap-form/index.js"),Ve=require("../ap-table/utils.js"),Ne=require("../ap-table/hooks/use-table-paging-ng.js"),Te=require("./hooks/use-row-selection.js"),Ee=require("./context.js"),Pe=require("../ap-table/context.js"),O=require("../ap-grid/constants.js"),De=require("@aplus-frontend/antdv/es/theme/internal"),Ke=require("./theme.js"),Ie=require("./hooks/use-columns.js"),Ae=require("./hooks/use-columns-def.js"),Me=require("../utils/index.js"),Oe=require("../utils/slot.js"),Ue=require("./hooks/use-search-form.js");require("./components/empty/index.vue.js");const je=require("./hooks/use-virtual-config.js"),We=require("./hooks/use-pinned-row.js"),Ge=require("./hooks/use-selection-col-def.js"),Le=require("../config-provider/hooks/use-namespace.js"),$e=require("./components/empty/index.vue2.js"),He=e.defineComponent({name:"AgGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onChange:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customRow:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},columns:{},rowSelection:{type:Boolean},card:{type:Boolean},params:{},request:{},defaultData:{},dataSource:{},onLoadingChange:{},onShownColumnsChange:{},searchForm:{type:[Boolean,Object],default:void 0},beforeSearchSubmit:{},pagination:{type:[Boolean,Object],default:void 0},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},manual:{type:Boolean,default:void 0},size:{default:"mini"},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{}},setup(U,{expose:j}){A.ModuleRegistry.registerModules([A.AllCommunityModule]);const t=U,k=e.useSlots();function W(...o){return o.reduce((r,n)=>({...r,...n}),{})}const{e:y,b:s,be:G}=Le.useNamespace("ag-grid"),w=e.ref(t.size),L=Ke.useTheme(w,e.toRef(t,"rowHeight")),$=je.default(e.toRef(t,"virtual")),{rowPinnedGridConfig:H,getRowPinnedCellClass:_}=We.usePinnedRow(e.toRef(t,"summary")),u=e.ref(),[,J]=De.useToken();let c=!!t.dataSource;const F=Ue.useSearchForm(t),{shownColumns:d,columns:x,columnKeys:Q}=Ie.useColumns(t),{defaultColDef:X,columnDefs:Y}=Ae.useColumnsDef(x,t,_),h=e.ref({});Ee.useProvideSorter({sorter:h,setSorter(o){h.value=o}});const Z={asc:"ascend",desc:"descend"};function ee(){const o=u.value.getColumns()?.filter(l=>l.getSort()!==void 0),r=e.unref(h)||{};let n=o?.[0];const i=Object.keys(r);if(i.length&&i.every(l=>r[l]===null)){const l=Object.keys(r)[0];l&&(n=u.value?.getColumn(l))}if(!n)return;const g=n.getColDef(),a=n.getSort();z(void 0,void 0,{column:g,field:g.field,order:a?Z[a]:null})}const oe=e.computed(()=>Ve.recursionApColumns(e.unref(d),o=>{if(o.sorter===!0)return o.key||o.dataIndex}).filter(Boolean)),te=e.computed(()=>Me.isDef(t.manual)?t.manual:Oe.getValidVNodeList(k.searchFormExtra?.()||[]).some(r=>r.type?.name==="ApView")),{formRef:f,submit:C,reset:v,data:m,tableProps:q,handleTableChangeOptional:z,submitWith:V,refresh:N,getPaging:re,setPaging:ne,setDataSource:ae}=Ne.useTablePaging({async request(o){if(c=!1,!ue.value&&S.isUndefined(t.dataSource)&&B(),!S.isUndefined(t.dataSource)){const n=o.pageSize*(o.current-1);return{data:(t.pagination===!1?t.dataSource:t.dataSource.slice(n,n+o.pageSize))||[],total:t.dataSource.length||0}}const r=await t.request?.(o);return{data:r?.data||[],total:r?.total||0}},namespace:"ap-grid",filterFields:e.ref([]),params:e.toRef(t,"params"),defaultData:t.defaultData,manual:e.unref(te),formatParams:t.beforeSearchSubmit,pagination:t.pagination,sortFields:oe}),le=Ge.default(t,d),se=e.computed(()=>S.isUndefined(t.dataSource)?m.records:t.dataSource),ue=e.computed(()=>{const o=t.rowSelection===!0?{}:t.rowSelection;return o?o.preserveSelectedRowKeys!==!1:!1}),{select:ie,unSelect:ce,selectedRows:R,selectedRowKeys:de,clearAll:fe,selectMultiByKeys:me}=Te.default({...t.rowSelection===!0?{}:t.rowSelection,dataSource:se,rowKey:t.rowKey}),pe={checkbox:"multiRow",radio:"singleRow"},ge=e.computed(()=>{if(!t.rowSelection)return;const{type:o="checkbox",disabled:r}=t.rowSelection===!0?{}:t.rowSelection;return{mode:pe[o],isRowSelectable:n=>r?!r(n.data):!0}});function b(o){return S.isFunction(t.rowKey)?t.rowKey(o):o[t.rowKey]}const T=({api:o=u.value})=>{if(!t.rowSelection)return;const r=R.value;if(!r.length){setTimeout(()=>{c=!0},0);return}c=!1;const n=[];o.forEachNode(i=>{const p=i.data,g=b(p);r.find(a=>b(a)===g)&&n.push(i)}),o.setNodesSelected({nodes:n,newValue:!0}),setTimeout(()=>{c=!0},0)},Se=o=>{c&&(o.node.isSelected()?ie(o.data):ce(o.data))},we=()=>{c=!0},B=()=>{fe(),u.value?.deselectAll()};function ye(o){me(o),e.nextTick(()=>{T({})})}function E(o=!1){const r=o?"getFieldsValueTransformed":"getFieldsValue";return f.value?.apForm?.[r]?.(!0)}function P(o){f.value?.apForm?.setFieldsValue?.(o)}function D(){return f.value?.getSorterItems()||[]}function K(o){f.value?.setSorterItems(o)}function I(){f.value?.resetSorterItems()}function he(o){const r=u.value;if(!r)return;const n=r.getColumnState()||[],i=o.map(a=>a.key?String(a.key):a.key).filter(Boolean);let p=!1;const g=n.map(a=>{if(!Q.value.includes(a.colId))return a;const l=!i.includes(a.colId);return!p&&l!==a.hide&&(p=!0),{...a,hide:l}});p&&r.applyColumnState({state:g,applyOrder:!0})}Pe.useProvideApTable({columns:e.computed(()=>d.value),columnsBackup:e.computed(()=>x.value),size:e.computed(()=>O.sizeMap[w.value]),updateColumns(o){d.value=o,t.onShownColumnsChange?.(o),he(o)},updateSize(o){w.value=O.sizeReverseMap[o]},renderConfig:e.computed(()=>({className:G("table-header","title"),color:J.value.colorTextTertiary})),dataSource:e.computed(()=>e.unref(m).records),getSearchFormValues:E,setSearchFormValues:P,submit:C,submitWith:V,reset:v,refresh:N,getSearchFormSorterItems:D,setSearchFormSorterItems:K,resetSearchFormSorterItems:I});const Ce=e.computed(()=>S.isUndefined(t.loading)?m.loading:t.loading),ve=e.computed(()=>[s(),t.card?null:s("wrapper"),s("adaptive"),s(`size-${w.value}`)].filter(Boolean)),Re=e.computed(()=>({height:"100%",...t.tableStyle||{}})),be=(o,r)=>{z({current:o,pageSize:r})};function Be(o){const r=o.data;return b(r)}function ke(o,r){u.value?.ensureIndexVisible(o,r)}function Fe(o){t.onRowClicked?.(o.data)}function xe(o){t.onScrollEnd?.(o.direction)}return e.watch(()=>t.dataSource,o=>{ae(o)},{immediate:!0,deep:!0}),e.watch(()=>t.size,o=>{w.value=o}),e.watch(()=>e.unref(m).loading,o=>{t.onLoadingChange?.(o)}),j({submit:C,reset:v,refresh:N,submitWith:V,setSearchFormValues:P,getSearchFormValues:E,getShowColumns:()=>e.unref(d),rowSelection:{selectedRows:e.computed(()=>R.value),setSelectedRowKeys:ye,clearAll:B},scrollToRow:ke,getDataSource:()=>e.unref(m.records),getPaging:re,setPaging:ne,getSearchFormSorterItems:D,setSearchFormSorterItems:K,resetSearchFormSorterItems:I}),(o,r)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(ve.value),style:e.normalizeStyle(o.wrapperStyle)},[e.unref(S.isUndefined)(o.dataSource)&&o.searchForm!==!1&&e.unref(F).length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(o.card?e.unref(y)("search-wrapper"):null),style:e.normalizeStyle(o.searchFormWrapperStyle)},[e.createVNode(e.unref(ze.ApForm).SearchForm,e.mergeProps(o.searchForm||{},{ref_key:"formRef",ref:f,"custom-reset":"","submit-loading":e.unref(q).loading,onSubmit:e.unref(C),onReset:e.unref(v)}),e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(F),n=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.renderNode),{key:n.dataIndex}))),128))]),_:2},[k.searchFormExtra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"searchFormExtra")]),key:"0"}:void 0]),1040,["submit-loading","onSubmit","onReset"])],6)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass([e.unref(y)("table-wrapper"),o.card?e.unref(y)("table-wrapper-card"):null]),style:e.normalizeStyle(o.tableWrapperStyle)},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("header-wrapper"))},[e.renderSlot(o.$slots,"title",{selectedRows:e.unref(R),selectedRowKeys:e.unref(de),shownColumns:e.unref(d),clearAll:B})],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("grid-wrapper"))},[e.createVNode(e.unref(qe.AgGridVue),e.mergeProps(W(e.unref($),e.unref(H)),{style:Re.value,"row-data":e.unref(m).records,"column-defs":e.unref(Y),"default-col-def":e.unref(X),"suppress-loading-overlay":"","row-selection":ge.value,"selection-column-def":e.unref(le),"get-row-id":Be,theme:e.unref(L),"tooltip-show-delay":500,"enable-browser-tooltips":o.browserTooltips,"tooltip-interaction":"","no-rows-overlay-component":$e.default,onSortChanged:ee,onGridReady:r[0]||(r[0]=n=>u.value=n.api),onRowDataUpdated:T,onRowSelected:Se,onFirstDataRendered:we,onRowClicked:Fe,onBodyScrollEnd:xe}),null,16,["style","row-data","column-defs","default-col-def","row-selection","selection-column-def","theme","enable-browser-tooltips"]),e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(e.unref(y)("table-loading-wrapper"))},[e.createVNode(e.unref(M.Spin),{delay:300})],2),[[e.vShow,Ce.value]])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("pagination-wrapper"))},[o.pagination!==!1?(e.openBlock(),e.createBlock(e.unref(M.Pagination),e.mergeProps({key:0,class:e.unref(s)("pagination")},e.unref(q).pagination,{onChange:be}),null,16,["class"])):e.createCommentVNode("",!0)],2)],6)],6))}});exports.default=He;
@@ -4,10 +4,10 @@ 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, ScrollDirection } from 'ag-grid-community';
7
+ import { ColDef, IRowNode, 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
- children?: AgGridColumnType<RecordType, ExtraValueType, ValueType, MergedValueType>[];
10
+ children?: AgGridColumnType<RecordType, ExtraValueType, ValueType>[];
11
11
  /**
12
12
  * 表单项所占据的格子数(1-24格)
13
13
  */
@@ -111,6 +111,12 @@ export type AgGridVirtualConfig = {
111
111
  col?: boolean;
112
112
  rowBuffer?: number;
113
113
  };
114
+ export type AgGridSummaryType<RecordType = any> = {
115
+ top?: RecordType[];
116
+ bottom?: RecordType[];
117
+ cellClassName?: string | string[] | ((data: RecordType, column: ColDef<RecordType>, pinned: RowPinnedType) => string | string[]);
118
+ rowClassName?: string | string[] | ((data: RecordType, rowIndex: number, pinned: RowPinnedType) => string | string[]);
119
+ };
114
120
  export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<RecordType>, 'columns' | 'pagination' | 'dataSource' | 'size' | 'rowSelection' | 'rowClassName' | 'footer' | 'loading' | 'sticky'> & {
115
121
  /**
116
122
  * 列配置
@@ -208,12 +214,9 @@ export type AgGridProps<RecordType = any, ParamsType = any> = Omit<TableProps<Re
208
214
  columnResizable?: boolean;
209
215
  loading?: boolean;
210
216
  /**
211
- * 设置总结栏
217
+ * 总结栏配置项
212
218
  */
213
- summary?: {
214
- top?: RecordType[];
215
- bottom?: RecordType[];
216
- };
219
+ summary?: AgGridSummaryType<RecordType>;
217
220
  /**
218
221
  * 指定每一行占据的高度(大量数据展示时的性能优化)
219
222
  */
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@aplus-frontend/antdv/es/theme/internal"),a=require("ag-grid-community"),i=require("vue"),l=(o,r)=>{const[,t]=n.useToken();return i.computed(()=>{const c=o.value==="mini",e=t.value;return a.themeQuartz.withParams({headerHeight:"36px",headerFontSize:"12px",dataFontSize:"12px",rowHeight:r.value,spacing:c?"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)"})})};exports.useTheme=l;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("@aplus-frontend/antdv/es/theme/internal"),n=require("ag-grid-community"),d=require("vue"),l=(o,r)=>{const[,t]=c.useToken();return d.computed(()=>{const a=o.value==="mini",e=t.value;return n.themeQuartz.withParams({headerHeight:"36px",headerFontSize:"12px",dataFontSize:"12px",rowHeight:r.value,spacing:a?"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)"})})};exports.useTheme=l;