@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.
- package/es/src/ag-grid/hooks/use-columns-def.d.ts +2 -2
- package/es/src/ag-grid/hooks/use-columns-def.mjs +29 -29
- package/es/src/ag-grid/hooks/use-columns.d.ts +3 -2
- package/es/src/ag-grid/hooks/use-columns.mjs +16 -12
- package/es/src/ag-grid/hooks/use-pinned-row.d.ts +7 -0
- package/es/src/ag-grid/hooks/use-pinned-row.mjs +32 -0
- package/es/src/ag-grid/hooks/use-selection-col-def.d.ts +5 -0
- package/es/src/ag-grid/hooks/use-selection-col-def.mjs +34 -0
- package/es/src/ag-grid/index.vue.mjs +240 -227
- package/es/src/ag-grid/interface.d.ts +10 -7
- package/es/src/ag-grid/theme.mjs +6 -5
- package/es/src/ap-form/ap-form.vue.d.ts +2 -8
- package/es/src/ap-form/ap-form.vue2.mjs +3 -3
- package/es/src/ap-form/hooks/use-watch.mjs +25 -28
- package/es/src/ap-form/interface.d.ts +1 -1
- package/es/src/ap-grid/interface.d.ts +1 -1
- package/es/src/ap-modal/utils/createModal.mjs +14 -14
- package/es/src/ap-upload/apUpload.vue.d.ts +9 -0
- package/es/src/ap-upload/apUpload.vue.mjs +38 -34
- package/es/src/ap-upload/components/MultipleFile.vue2.mjs +59 -59
- package/es/src/ap-upload/components/Picture.vue2.mjs +74 -74
- package/es/src/ap-upload/components/SingleFile.vue2.mjs +95 -95
- package/es/src/business/ap-value-select-card/index.vue2.mjs +120 -123
- package/es/src/business/hooks/usePageListAgGrid.d.ts +1 -1
- package/es/src/business/hooks/usePageListAgGrid.mjs +4 -4
- package/es/src/business/hooks/usePageListApGrid.mjs +14 -14
- package/es/src/version.d.ts +1 -1
- package/es/src/version.mjs +1 -1
- package/lib/src/ag-grid/hooks/use-columns-def.d.ts +2 -2
- package/lib/src/ag-grid/hooks/use-columns-def.js +1 -1
- package/lib/src/ag-grid/hooks/use-columns.d.ts +3 -2
- package/lib/src/ag-grid/hooks/use-columns.js +1 -1
- package/lib/src/ag-grid/hooks/use-pinned-row.d.ts +7 -0
- package/lib/src/ag-grid/hooks/use-pinned-row.js +1 -0
- package/lib/src/ag-grid/hooks/use-selection-col-def.d.ts +5 -0
- package/lib/src/ag-grid/hooks/use-selection-col-def.js +1 -0
- package/lib/src/ag-grid/index.vue.js +1 -1
- package/lib/src/ag-grid/interface.d.ts +10 -7
- package/lib/src/ag-grid/theme.js +1 -1
- package/lib/src/ap-form/ap-form.vue.d.ts +2 -8
- package/lib/src/ap-form/ap-form.vue2.js +1 -1
- package/lib/src/ap-form/hooks/use-watch.js +1 -1
- package/lib/src/ap-form/interface.d.ts +1 -1
- package/lib/src/ap-grid/interface.d.ts +1 -1
- package/lib/src/ap-modal/utils/createModal.js +1 -1
- package/lib/src/ap-upload/apUpload.vue.d.ts +9 -0
- package/lib/src/ap-upload/apUpload.vue.js +1 -1
- package/lib/src/ap-upload/components/MultipleFile.vue2.js +1 -1
- package/lib/src/ap-upload/components/Picture.vue2.js +1 -1
- package/lib/src/ap-upload/components/SingleFile.vue2.js +1 -1
- package/lib/src/business/ap-value-select-card/index.vue2.js +1 -1
- package/lib/src/business/hooks/usePageListAgGrid.d.ts +1 -1
- package/lib/src/business/hooks/usePageListAgGrid.js +1 -1
- package/lib/src/business/hooks/usePageListApGrid.js +1 -1
- package/lib/src/version.d.ts +1 -1
- package/lib/src/version.js +1 -1
- package/package.json +1 -1
- package/theme/ap-value-select-card/index.css +3 -4
- package/theme/ap-value-select-card/index.less +3 -4
- package/theme/index.css +3 -4
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
import { Popover as
|
|
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"],
|
|
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:
|
|
28
|
-
const
|
|
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) :
|
|
32
|
-
},
|
|
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
|
|
36
|
-
|
|
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
|
|
41
|
-
if (
|
|
42
|
-
const
|
|
43
|
-
|
|
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
|
|
46
|
+
let i;
|
|
47
47
|
if (l.highlightedKeys.includes(e))
|
|
48
48
|
if (l.highlightedKeys.length > 1)
|
|
49
|
-
|
|
49
|
+
i = l.highlightedKeys.filter((t) => t !== e);
|
|
50
50
|
else
|
|
51
51
|
return;
|
|
52
52
|
else
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
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
|
|
59
|
-
popoverVisible:
|
|
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:
|
|
65
|
+
addOption: O,
|
|
66
66
|
removeOption: k,
|
|
67
67
|
highlightOption: w
|
|
68
|
-
}), (e,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
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.
|
|
91
|
+
e.showTitleIcon ? (a(), L(s(q), {
|
|
90
92
|
key: 0,
|
|
91
|
-
class: d(s(n)("title"))
|
|
92
|
-
}, [
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
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),
|
|
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:
|
|
141
|
-
|
|
142
|
-
}
|
|
143
|
-
t.customClass
|
|
106
|
+
select: B(t.key),
|
|
107
|
+
disabled: e.maxSelected && e.selectedKeys.length >= e.maxSelected
|
|
108
|
+
}
|
|
144
109
|
]),
|
|
145
|
-
|
|
146
|
-
onClick: f((O) => w(t.key), ["stop"])
|
|
110
|
+
onClick: f((m) => $(t.key), ["stop"])
|
|
147
111
|
}, [
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
117
|
+
c("div", Y, [
|
|
118
|
+
u(e.$slots, "popover-value", { option: t }, () => [
|
|
119
|
+
g(h(t.value), 1)
|
|
165
120
|
])
|
|
166
121
|
])
|
|
167
|
-
],
|
|
168
|
-
|
|
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(
|
|
171
|
-
onClick:
|
|
148
|
+
class: d(s(n)("list-item-close")),
|
|
149
|
+
onClick: f((m) => k(t.key), ["stop"])
|
|
172
150
|
}, [
|
|
173
|
-
|
|
174
|
-
b(s(
|
|
175
|
-
u("span", le, g(e.addButtonText), 1)
|
|
151
|
+
u(e.$slots, "close-icon", {}, () => [
|
|
152
|
+
b(s(J))
|
|
176
153
|
])
|
|
177
|
-
],
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
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
|
-
|
|
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
|
|
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?.
|
|
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
|
-
|
|
82
|
+
y as usePageListAgGrid
|
|
83
83
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import "../index.mjs";
|
|
2
|
-
import { merge as
|
|
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
|
|
6
|
+
function W(a) {
|
|
7
7
|
const r = R(null), {
|
|
8
|
-
isShowRowSelection:
|
|
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
|
-
...
|
|
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?.
|
|
27
|
-
},
|
|
26
|
+
r.value?.submitWith(!0);
|
|
27
|
+
}, v = () => {
|
|
28
28
|
r.value?.reset();
|
|
29
|
-
}, { isDeactivated:
|
|
29
|
+
}, { isDeactivated: S } = w({
|
|
30
30
|
afterDeactivated: u
|
|
31
31
|
});
|
|
32
|
-
return [
|
|
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 (
|
|
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:
|
|
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:
|
|
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
|
-
|
|
69
|
+
h
|
|
70
70
|
), {
|
|
71
71
|
reload: u,
|
|
72
|
-
reset:
|
|
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
|
-
|
|
91
|
+
W as usePageListApGrid
|
|
92
92
|
};
|
package/es/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "6.
|
|
1
|
+
declare const _default: "6.28.0";
|
|
2
2
|
export default _default;
|
package/es/src/version.mjs
CHANGED
|
@@ -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>(
|
|
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
|
|
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
|
-
|
|
9
|
+
columnKeys: ComputedRef<string[]>;
|
|
9
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
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
|
|
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
|
*/
|
package/lib/src/ag-grid/theme.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
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;
|