@dazhicheng/ui 1.6.19 → 1.6.21
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/dist/components/tt-form/index.d.ts +2 -2
- package/dist/components/tt-form/src/formApi.d.ts +11 -2
- package/dist/components/tt-form/src/group-form/LazyFormField.vue.js +162 -114
- package/dist/components/tt-form/src/group-form/groupFormApi.js +0 -6
- package/dist/components/tt-form/src/group-form/lazyContext.d.ts +18 -0
- package/dist/components/tt-form/src/group-form/lazyContext.js +64 -36
- package/dist/components/tt-form/src/group-form/types.d.ts +39 -6
- package/dist/components/tt-form/src/group-form/useGroupForm.d.ts +7 -5
- package/dist/components/tt-form/src/types.d.ts +58 -26
- package/dist/components/tt-form/src/useForm.d.ts +1 -1
- package/dist/components/tt-form/src/useForm.js +5 -5
- package/dist/components/tt-modal/index.d.ts +1 -0
- package/dist/components/tt-modal/index.js +8 -3
- package/dist/components/tt-modal/src/RenderModal.vue.js +224 -210
- package/dist/components/tt-modal/src/hooks/useModalRender.js +66 -67
- package/dist/components/tt-modal/src/index.js +9 -7
- package/dist/components/tt-modal/src/utils/modal-api.d.ts +9 -3
- package/dist/components/tt-modal/src/utils/modal-api.js +42 -36
- package/dist/components/tt-modal/src/utils/modal-close-transition.d.ts +13 -0
- package/dist/components/tt-modal/src/utils/modal-close-transition.js +13 -0
- package/dist/components/tt-modal/src/utils/modal-host-app.d.ts +5 -0
- package/dist/components/tt-modal/src/utils/modal-host-app.js +12 -0
- package/dist/components/tt-modal/src/utils/modal-scope.d.ts +21 -0
- package/dist/components/tt-modal/src/utils/modal-scope.js +20 -0
- package/dist/components/tt-modal/src/utils/modal-service.d.ts +23 -0
- package/dist/components/tt-modal/src/utils/modal-service.js +51 -0
- package/dist/components/tt-modal/src/utils/modal-stack.d.ts +14 -13
- package/dist/components/tt-modal/src/utils/modal-stack.js +20 -9
- package/dist/components/tt-modal/src/utils/modal-z-index.d.ts +15 -0
- package/dist/components/tt-modal/src/utils/modal-z-index.js +24 -0
- package/dist/components/tt-modal/src/utils/resolve-modal-target.d.ts +14 -0
- package/dist/components/tt-modal/src/utils/resolve-modal-target.js +83 -47
- package/dist/components/tt-modal-form/props.d.ts +9 -4
- package/dist/components/tt-modal-form/useModalForm.d.ts +1 -1
- package/dist/components/tt-table/index.d.ts +15 -0
- package/dist/components/tt-table/src/Table.vue.d.ts +9 -0
- package/dist/components/tt-table/src/Table.vue.js +240 -242
- package/dist/components/tt-table/src/TableForm.vue.d.ts +7 -5
- package/dist/components/tt-table/src/TableForm.vue.js +199 -180
- package/dist/components/tt-table/src/hooks/usePagination.d.ts +1 -1
- package/dist/components/tt-table/src/hooks/usePagination.js +38 -24
- package/dist/components/tt-table/src/hooks/useTableRender.d.ts +4 -4
- package/dist/components/tt-table/src/props.d.ts +6 -0
- package/dist/components/tt-table/src/props.js +5 -0
- package/dist/components/tt-table/src/types/table.d.ts +8 -0
- package/dist/components/tt-table/src/types/tableForm.d.ts +29 -14
- package/dist/components/tt-table/src/utils/table-form-api.d.ts +11 -11
- package/dist/index.js +132 -127
- package/package.json +1 -1
|
@@ -1,28 +1,39 @@
|
|
|
1
|
+
import { getModalScopeKey as i } from "./modal-scope.js";
|
|
1
2
|
const n = [];
|
|
3
|
+
function a() {
|
|
4
|
+
const e = i();
|
|
5
|
+
return n.filter((t) => t.scope === e).map((t) => t.uid);
|
|
6
|
+
}
|
|
2
7
|
let r = !1;
|
|
3
|
-
function
|
|
8
|
+
function s(e) {
|
|
4
9
|
if (!e || !(e instanceof HTMLElement)) return !1;
|
|
5
10
|
const t = e.tagName;
|
|
6
11
|
return !!(t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable || e.closest(
|
|
7
12
|
".el-select, .el-select-v2, .el-cascader, .el-date-editor, .el-time-picker, .el-color-picker, .el-input, .el-textarea, .el-autocomplete, .el-input-number, .el-mention"
|
|
8
13
|
));
|
|
9
14
|
}
|
|
10
|
-
function
|
|
15
|
+
function c(e) {
|
|
11
16
|
if (e.key !== "Escape" && e.key !== "Esc" || n.length === 0) return;
|
|
12
17
|
const t = e.target ?? document.activeElement;
|
|
13
|
-
if (
|
|
18
|
+
if (s(t))
|
|
14
19
|
return;
|
|
15
20
|
const o = n[n.length - 1];
|
|
16
21
|
o && (e.stopPropagation(), o.close());
|
|
17
22
|
}
|
|
18
|
-
function
|
|
19
|
-
|
|
23
|
+
function d(e) {
|
|
24
|
+
l(e.uid), n.push({ ...e, scope: i() }), !r && typeof document < "u" && (document.addEventListener("keydown", c), r = !0);
|
|
20
25
|
}
|
|
21
|
-
function
|
|
26
|
+
function f() {
|
|
27
|
+
const e = i();
|
|
28
|
+
n.filter((t) => t.scope === e).reverse().forEach((t) => t.close());
|
|
29
|
+
}
|
|
30
|
+
function l(e) {
|
|
22
31
|
const t = n.findIndex((o) => o.uid === e);
|
|
23
|
-
t !== -1 && n.splice(t, 1), n.length === 0 && r && typeof document < "u" && (document.removeEventListener("keydown",
|
|
32
|
+
t !== -1 && n.splice(t, 1), n.length === 0 && r && typeof document < "u" && (document.removeEventListener("keydown", c), r = !1);
|
|
24
33
|
}
|
|
25
34
|
export {
|
|
26
|
-
|
|
27
|
-
|
|
35
|
+
f as closeAllModals,
|
|
36
|
+
a as getOpenModalUids,
|
|
37
|
+
d as pushModal,
|
|
38
|
+
l as removeModal
|
|
28
39
|
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useZIndex } from 'element-plus';
|
|
2
|
+
/** element-plus 层级计数器句柄,必须由组件在 setup 里取才能继承 ElConfigProvider 的基准 */
|
|
3
|
+
export type ElementPlusZIndex = ReturnType<typeof useZIndex>;
|
|
4
|
+
/** 当前已打开弹窗里的最高层级 */
|
|
5
|
+
export declare function getOpenModalMaxZIndex(): number;
|
|
6
|
+
/**
|
|
7
|
+
* 申请一个高于当前所有已打开弹窗的层级。
|
|
8
|
+
*
|
|
9
|
+
* 起点取 element-plus 的 nextZIndex,保证 ElConfigProvider 配的基准仍生效;
|
|
10
|
+
* 但它是模块级计数器,微前端下多份 element-plus 各自起算会让后开的拿到更小的值,
|
|
11
|
+
* 所以再用页面上已打开遮罩的实际层级兜一层。
|
|
12
|
+
* @param elementPlusZIndex 计数器句柄
|
|
13
|
+
* @returns 本次弹窗应使用的 z-index
|
|
14
|
+
*/
|
|
15
|
+
export declare function allocateModalZIndex(elementPlusZIndex: ElementPlusZIndex): number;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getOpenModalOverlays as r, readOverlayZIndex as x } from "./resolve-modal-target.js";
|
|
2
|
+
const a = 1, c = 2e3;
|
|
3
|
+
let o = 0;
|
|
4
|
+
function s() {
|
|
5
|
+
return r().reduce((n, e) => Math.max(n, x(e)), 0);
|
|
6
|
+
}
|
|
7
|
+
function I(n, e) {
|
|
8
|
+
const { currentZIndex: d, nextZIndex: l } = n;
|
|
9
|
+
let t = 0;
|
|
10
|
+
for (; d.value <= e && t < c; )
|
|
11
|
+
l(), t += 1;
|
|
12
|
+
}
|
|
13
|
+
function u(n) {
|
|
14
|
+
const e = Math.max(
|
|
15
|
+
n.nextZIndex(),
|
|
16
|
+
s() + a,
|
|
17
|
+
o + a
|
|
18
|
+
);
|
|
19
|
+
return o = e, I(n, e), e;
|
|
20
|
+
}
|
|
21
|
+
export {
|
|
22
|
+
u as allocateModalZIndex,
|
|
23
|
+
s as getOpenModalMaxZIndex
|
|
24
|
+
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare const MODAL_OVERLAY_CONTAINED_CLASS = "tt-modal-overlay--contained";
|
|
2
|
+
/** 遮罩的稳定标记类。modal 为 false 时 element-plus 不输出 el-overlay,故不能用它定位 */
|
|
3
|
+
export declare const MODAL_OVERLAY_CLASS = "tt-modal-overlay";
|
|
2
4
|
/** 注入全局样式,避免仅依赖 Vue SFC / scopecss 导致 absolute 未生效 */
|
|
3
5
|
export declare function ensureContainedOverlayStyle(doc?: Document): void;
|
|
4
6
|
/** 用内联样式强制区域遮罩,压过 EP 的 position:fixed(含内部 overlay-dialog) */
|
|
@@ -12,6 +14,18 @@ export declare function suspendOverlayByUid(uid: string | number, doc?: Document
|
|
|
12
14
|
export declare function watchOverlayThenSuspend(uid: string | number, doc?: Document, timeoutMs?: number): () => void;
|
|
13
15
|
/** KeepAlive / 切回:恢复未关闭的弹窗遮罩 */
|
|
14
16
|
export declare function resumeOverlayByUid(uid: string | number, doc?: Document): void;
|
|
17
|
+
/** 读取遮罩的层级数值,auto / 空值按 0 计 */
|
|
18
|
+
export declare function readOverlayZIndex(el: HTMLElement): number;
|
|
19
|
+
/** 页面上仍显示着的弹窗遮罩,切页挂起的不算;扫真实 document 以覆盖其它子应用 */
|
|
20
|
+
export declare function getOpenModalOverlays(doc?: Document): HTMLElement[];
|
|
21
|
+
/**
|
|
22
|
+
* 已打开弹窗中层级最高的那个遮罩所在的容器。
|
|
23
|
+
* 后开的弹窗挂到同一容器层级才可比——不同容器可能分属不同 stacking context。
|
|
24
|
+
* @param excludeUid 排除自身的组件 uid
|
|
25
|
+
* @param ownTarget 自身挂载目标,用于限制在同一子应用内
|
|
26
|
+
* @param doc 起点 document
|
|
27
|
+
*/
|
|
28
|
+
export declare function findTopOpenModalOverlayHost(excludeUid?: number, ownTarget?: HTMLElement | null, doc?: Document): HTMLElement | null;
|
|
15
29
|
/**
|
|
16
30
|
* 解析弹窗 Teleport 目标。无可用节点时返回 null,由调用方回退 body。
|
|
17
31
|
* 子应用只要处在 micro 环境,尽量返回内容区节点(含 micro-app-body),以便加 contained class。
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { getClientDocument as S, isSameMicroAppScope as _, resolveScanDocument as C } from "./modal-scope.js";
|
|
2
|
+
import { getOpenModalUids as O } from "./modal-stack.js";
|
|
3
|
+
const A = 48, m = 8, a = "tt-modal-overlay--contained", E = "tt-modal-overlay", y = "tt-modal-overlay-contained-style-v2";
|
|
4
|
+
function M(t = document) {
|
|
3
5
|
var r;
|
|
4
6
|
if (typeof t > "u") return;
|
|
5
7
|
const o = `
|
|
@@ -40,112 +42,146 @@ function y(t = document) {
|
|
|
40
42
|
overflow: auto !important;
|
|
41
43
|
}
|
|
42
44
|
`.trim();
|
|
43
|
-
let e = t.getElementById(
|
|
45
|
+
let e = t.getElementById(y);
|
|
44
46
|
if (e) {
|
|
45
47
|
e.textContent = o;
|
|
46
48
|
return;
|
|
47
49
|
}
|
|
48
|
-
(r = t.getElementById("tt-modal-overlay-contained-style")) == null || r.remove(), e = t.createElement("style"), e.id =
|
|
50
|
+
(r = t.getElementById("tt-modal-overlay-contained-style")) == null || r.remove(), e = t.createElement("style"), e.id = y, e.textContent = o;
|
|
49
51
|
const n = t.head || t.documentElement;
|
|
50
52
|
n == null || n.appendChild(e);
|
|
51
53
|
}
|
|
52
|
-
function
|
|
54
|
+
function f(t) {
|
|
53
55
|
t.style.setProperty("position", "absolute", "important"), t.style.setProperty("top", "0", "important"), t.style.setProperty("right", "0", "important"), t.style.setProperty("bottom", "0", "important"), t.style.setProperty("left", "0", "important"), t.style.setProperty("height", "100%", "important");
|
|
54
56
|
}
|
|
55
|
-
function
|
|
57
|
+
function v(t) {
|
|
58
|
+
["position", "top", "right", "bottom", "left", "height"].forEach((o) => t.style.removeProperty(o));
|
|
59
|
+
}
|
|
60
|
+
function w(t, o = document) {
|
|
56
61
|
const e = o.querySelector(`.el-overlay.tt-id-${t}`);
|
|
57
62
|
if (!e) return;
|
|
58
|
-
const n = !!e.closest("micro-app-body");
|
|
59
|
-
if (!e.classList.contains(a) && !
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
const n = e.querySelector(".el-overlay-dialog"), r = !!e.closest("micro-app-body");
|
|
64
|
+
if (!e.classList.contains(a) && !r) {
|
|
65
|
+
v(e), n && v(n);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
f(e), n && f(n);
|
|
63
69
|
}
|
|
64
|
-
function
|
|
70
|
+
function g(t, o = document) {
|
|
65
71
|
const e = o.querySelector(`.el-overlay.tt-id-${t}`);
|
|
66
72
|
return e ? (e.dataset.ttModalSuspended = "1", e.style.setProperty("display", "none", "important"), !0) : !1;
|
|
67
73
|
}
|
|
68
|
-
function
|
|
69
|
-
if (
|
|
74
|
+
function B(t, o = document, e = 3e3) {
|
|
75
|
+
if (g(t, o)) return () => {
|
|
70
76
|
};
|
|
71
77
|
const n = o.body || o.documentElement;
|
|
72
78
|
if (!n) return () => {
|
|
73
79
|
};
|
|
74
80
|
let r = !1;
|
|
75
81
|
const i = () => {
|
|
76
|
-
r || (r = !0, s.disconnect(), clearTimeout(
|
|
82
|
+
r || (r = !0, s.disconnect(), clearTimeout(c));
|
|
77
83
|
}, s = new MutationObserver(() => {
|
|
78
|
-
|
|
84
|
+
g(t, o) && i();
|
|
79
85
|
});
|
|
80
86
|
s.observe(n, { childList: !0, subtree: !0 });
|
|
81
|
-
const
|
|
87
|
+
const c = window.setTimeout(i, e);
|
|
82
88
|
return i;
|
|
83
89
|
}
|
|
84
|
-
function
|
|
90
|
+
function D(t, o = document) {
|
|
85
91
|
const e = o.querySelector(`.el-overlay.tt-id-${t}`);
|
|
86
|
-
!e || e.dataset.ttModalSuspended !== "1" || (delete e.dataset.ttModalSuspended, e.style.removeProperty("display"),
|
|
92
|
+
!e || e.dataset.ttModalSuspended !== "1" || (delete e.dataset.ttModalSuspended, e.style.removeProperty("display"), w(t, o));
|
|
87
93
|
}
|
|
88
|
-
function
|
|
94
|
+
function h(t) {
|
|
95
|
+
const o = t.style.zIndex || getComputedStyle(t).zIndex, e = Number.parseInt(o, 10);
|
|
96
|
+
return Number.isNaN(e) ? 0 : e;
|
|
97
|
+
}
|
|
98
|
+
function I(t) {
|
|
99
|
+
const o = t ?? S();
|
|
100
|
+
return o ? Array.from(C(o).querySelectorAll(`.${E}`)).filter(
|
|
101
|
+
(e) => e.isConnected && e.dataset.ttModalSuspended !== "1" && e.style.display !== "none"
|
|
102
|
+
) : [];
|
|
103
|
+
}
|
|
104
|
+
function H(t, o, e) {
|
|
105
|
+
const n = S(), r = o ?? (n == null ? void 0 : n.body);
|
|
106
|
+
if (!n || !r) return null;
|
|
107
|
+
const i = O().map((l) => `tt-id-${l}`), s = I(n).filter((l) => {
|
|
108
|
+
if (t != null && l.classList.contains(`tt-id-${t}`) || !i.some((b) => l.classList.contains(b))) return !1;
|
|
109
|
+
const u = l.parentElement;
|
|
110
|
+
return !!u && _(u, r);
|
|
111
|
+
});
|
|
112
|
+
return s.length === 0 ? null : s.reduce((l, u) => h(u) >= h(l) ? u : l).parentElement;
|
|
113
|
+
}
|
|
114
|
+
function P(t) {
|
|
89
115
|
return t.isConnected ? t.getClientRects().length > 0 : !1;
|
|
90
116
|
}
|
|
91
|
-
function
|
|
92
|
-
return t.isConnected ? (t.clientHeight || t.getBoundingClientRect().height) >=
|
|
117
|
+
function T(t) {
|
|
118
|
+
return t.isConnected ? (t.clientHeight || t.getBoundingClientRect().height) >= A : !1;
|
|
93
119
|
}
|
|
94
|
-
function
|
|
120
|
+
function x(t) {
|
|
121
|
+
const o = window.innerHeight || document.documentElement.clientHeight || 0;
|
|
122
|
+
if (o === 0) return !0;
|
|
123
|
+
const e = t.getBoundingClientRect();
|
|
124
|
+
return e.height > o + m ? !1 : e.top >= -m;
|
|
125
|
+
}
|
|
126
|
+
function p(t) {
|
|
95
127
|
return !!t.closest("micro-app-body");
|
|
96
128
|
}
|
|
97
|
-
function
|
|
98
|
-
return !t || !t.isConnected || o && !
|
|
129
|
+
function d(t, o = !0) {
|
|
130
|
+
return !t || !t.isConnected || o && !T(t) || o && !P(t) ? null : t;
|
|
99
131
|
}
|
|
100
|
-
function
|
|
132
|
+
function N(t) {
|
|
101
133
|
getComputedStyle(t).position === "static" && (t.style.position = "relative");
|
|
102
134
|
}
|
|
103
|
-
function
|
|
135
|
+
function R() {
|
|
104
136
|
const t = window.__MICRO_APP_NAME__;
|
|
105
137
|
if (t) {
|
|
106
|
-
const i = typeof CSS < "u" && CSS.escape ? CSS.escape(t) : t, s = document.querySelector(`micro-app[name="${i}"] micro-app-body #app`),
|
|
107
|
-
if (
|
|
138
|
+
const i = typeof CSS < "u" && CSS.escape ? CSS.escape(t) : t, s = document.querySelector(`micro-app[name="${i}"] micro-app-body #app`), c = d(s, !1);
|
|
139
|
+
if (c) return c;
|
|
108
140
|
}
|
|
109
141
|
const o = document.querySelector("#app");
|
|
110
142
|
if (o) {
|
|
111
|
-
const i =
|
|
143
|
+
const i = d(o, !1);
|
|
112
144
|
return i || o;
|
|
113
145
|
}
|
|
114
146
|
const e = document.querySelector("micro-app-body #app");
|
|
115
147
|
if (e) {
|
|
116
|
-
const i =
|
|
148
|
+
const i = d(e, !1);
|
|
117
149
|
if (i) return i;
|
|
118
150
|
}
|
|
119
151
|
const n = document.body;
|
|
120
|
-
return n && (n.tagName === "MICRO-APP-BODY" ||
|
|
152
|
+
return n && (n.tagName === "MICRO-APP-BODY" || p(n)) ? n : document.querySelector("micro-app-body");
|
|
121
153
|
}
|
|
122
|
-
function
|
|
154
|
+
function $() {
|
|
123
155
|
const t = document.querySelector("#app-content");
|
|
124
|
-
if (t && !
|
|
125
|
-
const e =
|
|
156
|
+
if (t && !p(t)) {
|
|
157
|
+
const e = d(t, !0);
|
|
126
158
|
if (e) return e;
|
|
127
159
|
}
|
|
128
160
|
const o = document.querySelectorAll("#app");
|
|
129
161
|
for (const e of Array.from(o)) {
|
|
130
162
|
const n = e;
|
|
131
|
-
if (
|
|
132
|
-
const r =
|
|
163
|
+
if (p(n)) continue;
|
|
164
|
+
const r = d(n, !0);
|
|
133
165
|
if (r) return r;
|
|
134
166
|
}
|
|
135
167
|
return null;
|
|
136
168
|
}
|
|
137
|
-
function
|
|
169
|
+
function V() {
|
|
138
170
|
if (typeof document > "u") return null;
|
|
139
|
-
|
|
140
|
-
const t = window.__MICRO_APP_ENVIRONMENT__ ?
|
|
141
|
-
return t
|
|
171
|
+
M();
|
|
172
|
+
const t = window.__MICRO_APP_ENVIRONMENT__ ? R() : $();
|
|
173
|
+
return !t || !x(t) ? null : (N(t), t);
|
|
142
174
|
}
|
|
143
175
|
export {
|
|
176
|
+
E as MODAL_OVERLAY_CLASS,
|
|
144
177
|
a as MODAL_OVERLAY_CONTAINED_CLASS,
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
178
|
+
w as applyContainedOverlayInline,
|
|
179
|
+
M as ensureContainedOverlayStyle,
|
|
180
|
+
H as findTopOpenModalOverlayHost,
|
|
181
|
+
I as getOpenModalOverlays,
|
|
182
|
+
h as readOverlayZIndex,
|
|
183
|
+
V as resolveModalTarget,
|
|
184
|
+
D as resumeOverlayByUid,
|
|
185
|
+
g as suspendOverlayByUid,
|
|
186
|
+
B as watchOverlayThenSuspend
|
|
151
187
|
};
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ExtendedGroupFormApi, TtExtendedFormApi, TtFormProps, UseGroupFormOptions } from '../tt-form';
|
|
2
2
|
import { ModalApiOptions, TtModalExtendedModalApi } from '../tt-modal';
|
|
3
3
|
/** modal-form 使用的表单类型。 */
|
|
4
4
|
export type ModalFormType = "form" | "groupForm";
|
|
5
|
-
/**
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* modal-form 对外暴露的表单 API 类型。
|
|
7
|
+
*
|
|
8
|
+
* `TValues` 跟着 `formProps` 走,`getFormApi` 拿到的 api 上 `getValues` / `setState({ schema })`
|
|
9
|
+
* 等方法也按业务的值类型收窄。
|
|
10
|
+
*/
|
|
11
|
+
export type ModalFormApi<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>> = TType extends "groupForm" ? ExtendedGroupFormApi<TValues> : TtExtendedFormApi<TValues>;
|
|
7
12
|
/** 根据表单类型收窄的表单配置。 */
|
|
8
13
|
type ModalFormProps<TValues extends Record<string, any>, TType extends ModalFormType> = TType extends "groupForm" ? Partial<UseGroupFormOptions<TValues>> : Partial<TtFormProps<TValues>>;
|
|
9
14
|
export type TtModalFormProps<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>> = {
|
|
@@ -40,7 +45,7 @@ export type TtModalFormProps<TType extends ModalFormType = "form", TValues exten
|
|
|
40
45
|
/** modal props */
|
|
41
46
|
modalProps?: ModalApiOptions;
|
|
42
47
|
/** 获取formApi的回调 */
|
|
43
|
-
getFormApi?: (api: ModalFormApi<TType>) => void;
|
|
48
|
+
getFormApi?: (api: ModalFormApi<TType, TValues>) => void;
|
|
44
49
|
/** 获取modalApi的回调 */
|
|
45
50
|
getModalApi?: (api: TtModalExtendedModalApi) => void;
|
|
46
51
|
/** 处理TtSelect(非多选回显值) */
|
|
@@ -2,6 +2,6 @@ import { TtModalExtendedModalApi } from '../tt-modal';
|
|
|
2
2
|
import { ModalFormApi, ModalFormType, TtModalFormProps } from './props';
|
|
3
3
|
/** 创建普通表单或分组表单的弹窗表单。 */
|
|
4
4
|
export declare function useModalForm<TType extends ModalFormType = "form", TValues extends Record<string, any> = Record<string, any>>(options: TtModalFormProps<TType, TValues>): readonly [import('vue').DefineSetupFnComponent<Partial<TtModalFormProps<ModalFormType>>, {}, {}, Partial<TtModalFormProps<ModalFormType>> & {}, import('vue').PublicProps>, {
|
|
5
|
-
readonly formApi: import('vue').Ref<ModalFormApi<TType> | undefined, ModalFormApi<TType> | undefined>;
|
|
5
|
+
readonly formApi: import('vue').Ref<ModalFormApi<TType, TValues> | undefined, ModalFormApi<TType, TValues> | undefined>;
|
|
6
6
|
readonly modalApi: import('vue').Ref<TtModalExtendedModalApi | undefined, TtModalExtendedModalApi | undefined>;
|
|
7
7
|
}];
|
|
@@ -207,6 +207,10 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
|
|
|
207
207
|
type: import('vue').PropType<import('.').TtTableProps["beforeFetch"]>;
|
|
208
208
|
default: null;
|
|
209
209
|
};
|
|
210
|
+
beforePageChange: {
|
|
211
|
+
type: import('vue').PropType<import('.').TtTableProps["beforePageChange"]>;
|
|
212
|
+
default: null;
|
|
213
|
+
};
|
|
210
214
|
data: {
|
|
211
215
|
type: import('vue').PropType<import('.').TtTableProps["data"]>;
|
|
212
216
|
default: () => import('.').TtTableProps["data"];
|
|
@@ -523,6 +527,7 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
|
|
|
523
527
|
api: (...arg: any[]) => Promise<any>;
|
|
524
528
|
afterFetch: ((data: any[], res: Recordable | Recordable[]) => Promise<any[]>) | undefined;
|
|
525
529
|
beforeFetch: ((params: Recordable) => Promise<Recordable>) | undefined;
|
|
530
|
+
beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
|
|
526
531
|
}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
|
|
527
532
|
wrapRef: HTMLDivElement;
|
|
528
533
|
xGrid: (import('vxe-table').VxeGridMethods<any> & {
|
|
@@ -894,6 +899,10 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
|
|
|
894
899
|
type: import('vue').PropType<import('.').TtTableProps["beforeFetch"]>;
|
|
895
900
|
default: null;
|
|
896
901
|
};
|
|
902
|
+
beforePageChange: {
|
|
903
|
+
type: import('vue').PropType<import('.').TtTableProps["beforePageChange"]>;
|
|
904
|
+
default: null;
|
|
905
|
+
};
|
|
897
906
|
data: {
|
|
898
907
|
type: import('vue').PropType<import('.').TtTableProps["data"]>;
|
|
899
908
|
default: () => import('.').TtTableProps["data"];
|
|
@@ -1208,6 +1217,7 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
|
|
|
1208
1217
|
api: (...arg: any[]) => Promise<any>;
|
|
1209
1218
|
afterFetch: ((data: any[], res: Recordable | Recordable[]) => Promise<any[]>) | undefined;
|
|
1210
1219
|
beforeFetch: ((params: Recordable) => Promise<Recordable>) | undefined;
|
|
1220
|
+
beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
|
|
1211
1221
|
}>;
|
|
1212
1222
|
__isFragment?: never;
|
|
1213
1223
|
__isTeleport?: never;
|
|
@@ -1312,6 +1322,10 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
|
|
|
1312
1322
|
type: import('vue').PropType<import('.').TtTableProps["beforeFetch"]>;
|
|
1313
1323
|
default: null;
|
|
1314
1324
|
};
|
|
1325
|
+
beforePageChange: {
|
|
1326
|
+
type: import('vue').PropType<import('.').TtTableProps["beforePageChange"]>;
|
|
1327
|
+
default: null;
|
|
1328
|
+
};
|
|
1315
1329
|
data: {
|
|
1316
1330
|
type: import('vue').PropType<import('.').TtTableProps["data"]>;
|
|
1317
1331
|
default: () => import('.').TtTableProps["data"];
|
|
@@ -1628,6 +1642,7 @@ export declare const TtTable: import('../../../../utils/src').SFCWithInstall<{
|
|
|
1628
1642
|
api: (...arg: any[]) => Promise<any>;
|
|
1629
1643
|
afterFetch: ((data: any[], res: Recordable | Recordable[]) => Promise<any[]>) | undefined;
|
|
1630
1644
|
beforeFetch: ((params: Recordable) => Promise<Recordable>) | undefined;
|
|
1645
|
+
beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
|
|
1631
1646
|
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
1632
1647
|
$slots: Readonly<{
|
|
1633
1648
|
[key: string]: (props: import('../../../../utils/src').Recordable) => void;
|
|
@@ -393,6 +393,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
393
393
|
type: import('vue').PropType<TtTableProps["beforeFetch"]>;
|
|
394
394
|
default: null;
|
|
395
395
|
};
|
|
396
|
+
beforePageChange: {
|
|
397
|
+
type: import('vue').PropType<TtTableProps["beforePageChange"]>;
|
|
398
|
+
default: null;
|
|
399
|
+
};
|
|
396
400
|
data: {
|
|
397
401
|
type: import('vue').PropType<TtTableProps["data"]>;
|
|
398
402
|
default: () => TtTableProps["data"];
|
|
@@ -744,6 +748,10 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
744
748
|
type: import('vue').PropType<TtTableProps["beforeFetch"]>;
|
|
745
749
|
default: null;
|
|
746
750
|
};
|
|
751
|
+
beforePageChange: {
|
|
752
|
+
type: import('vue').PropType<TtTableProps["beforePageChange"]>;
|
|
753
|
+
default: null;
|
|
754
|
+
};
|
|
747
755
|
data: {
|
|
748
756
|
type: import('vue').PropType<TtTableProps["data"]>;
|
|
749
757
|
default: () => TtTableProps["data"];
|
|
@@ -967,6 +975,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
967
975
|
api: (...arg: any[]) => Promise<any>;
|
|
968
976
|
afterFetch: ((data: any[], res: globalThis.Recordable | globalThis.Recordable[]) => Promise<any[]>) | undefined;
|
|
969
977
|
beforeFetch: ((params: globalThis.Recordable) => Promise<globalThis.Recordable>) | undefined;
|
|
978
|
+
beforePageChange: ((page: import("vxe-table").VxeGridPropTypes.PagerConfig) => boolean | Promise<boolean>) | undefined;
|
|
970
979
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
971
980
|
wrapRef: HTMLDivElement;
|
|
972
981
|
xGrid: (import('vxe-table').VxeGridMethods<any> & {
|