@silver-formily/element-plus 2.3.0 → 3.0.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/esm/__builtins__/index.mjs +20 -19
- package/esm/__builtins__/shared/index.mjs +11 -10
- package/esm/__builtins__/shared/transform-component.d.ts +1 -1
- package/esm/__builtins__/shared/utils.d.ts +1 -0
- package/esm/__builtins__/shared/utils.mjs +22 -18
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +27 -27
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/symbols.mjs +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.d.ts +0 -1
- package/esm/array-base/utils.mjs +27 -35
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +1 -1
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +2 -5
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-items/index.mjs +1 -1
- package/esm/array-list-tabs/index.mjs +9 -9
- package/esm/array-table/index.mjs +7 -9
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +1 -2
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/autocomplete.d.ts +16 -16
- package/esm/autocomplete/index.d.ts +8 -8
- package/esm/autocomplete/index.mjs +2 -2
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +2 -2
- package/esm/checkbox/index.d.ts +27 -27
- package/esm/checkbox/index.mjs +7 -12
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/editable/editable.d.ts +14 -12
- package/esm/editable/index.d.ts +7 -6
- package/esm/editable/index.mjs +57 -61
- package/esm/editable/index.mjs.map +1 -1
- package/esm/env.d.d.ts +1 -0
- package/esm/form/form.mjs +5 -5
- package/esm/form-button-group/form-button-group.d.ts +9 -0
- package/esm/form-button-group/index.d.ts +15 -0
- package/esm/form-button-group/index.mjs +33 -25
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +1 -1
- package/esm/form-collapse/utils.mjs +0 -2
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.mjs +63 -70
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-drawer/index.mjs +62 -69
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-grid/form-grid.d.ts +2 -2
- package/esm/form-grid/hooks.d.ts +1 -2
- package/esm/form-grid/hooks.mjs +4 -11
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +38 -35
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.d.ts +1 -0
- package/esm/form-item/index.mjs +102 -107
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/types.d.ts +12 -6
- package/esm/form-layout/form-layout.mjs +2 -2
- package/esm/form-layout/utils.mjs +24 -24
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +2 -2
- package/esm/form-step/utils.mjs +0 -3
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.d.ts +2 -1
- package/esm/form-tab/hooks.mjs +13 -20
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +38 -39
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.mjs +62 -58
- package/esm/index.mjs.map +1 -1
- package/esm/input/index.mjs +2 -2
- package/esm/input-number/index.d.ts +15 -15
- package/esm/input-tag/index.mjs +2 -2
- package/esm/mention/index.mjs +2 -2
- package/esm/pagination/pagination.mjs +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/preview-text/index.mjs +33 -42
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/default-components.d.ts +5 -0
- package/esm/query-form/default-components.mjs +47 -0
- package/esm/query-form/default-components.mjs.map +1 -0
- package/esm/query-form/hooks.d.ts +25 -0
- package/esm/query-form/hooks.mjs +29 -0
- package/esm/query-form/hooks.mjs.map +1 -0
- package/esm/query-form/index.d.ts +117 -0
- package/esm/query-form/index.mjs +331 -0
- package/esm/query-form/index.mjs.map +1 -0
- package/esm/query-form/query-form-light.d.ts +27 -0
- package/esm/query-form/query-form.d.ts +52 -0
- package/esm/query-form/types.d.ts +44 -0
- package/esm/query-form/types.mjs +2 -0
- package/esm/query-form/types.mjs.map +1 -0
- package/esm/query-form-item/index.d.ts +151 -0
- package/esm/query-form-item/index.mjs +181 -0
- package/esm/query-form-item/index.mjs.map +1 -0
- package/esm/query-form-item/query-form-item.d.ts +96 -0
- package/esm/query-form-item/types.d.ts +46 -0
- package/esm/query-form-item/types.mjs +2 -0
- package/esm/query-form-item/types.mjs.map +1 -0
- package/esm/radio/index.d.ts +18 -18
- package/esm/radio/index.mjs +7 -12
- package/esm/radio/index.mjs.map +1 -1
- package/esm/reset/index.mjs +2 -2
- package/esm/segmented/index.mjs +2 -2
- package/esm/select/index.d.ts +16 -16
- package/esm/select/index.mjs +1 -1
- package/esm/select-table/index.d.ts +6 -6
- package/esm/select-table/index.mjs +22 -24
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/select-table/select-table.d.ts +2 -2
- package/esm/shared/overlay-elements.mjs +14 -11
- package/esm/shared/overlay-elements.mjs.map +1 -1
- package/esm/styles/form-button-group/index.css +1 -1
- package/esm/styles/form-grid/index.css +1 -1
- package/esm/styles/form-item/index.css +1 -1
- package/esm/styles/query-form/index.css +1 -0
- package/esm/styles/query-form-item/index.css +1 -0
- package/esm/submit/index.mjs +3 -3
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.d.ts +9 -9
- package/esm/time-select/index.d.ts +12 -12
- package/esm/transfer/index.d.ts +12 -12
- package/esm/tree/index.mjs +3 -3
- package/esm/tree/utils.mjs +0 -2
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +2 -2
- package/esm/upload/index.d.ts +12 -12
- package/esm/upload/index.mjs +3 -3
- package/esm/upload/upload.d.ts +24 -24
- package/esm/vendor/icon.mjs.map +1 -1
- package/esm/vendor/lodash.mjs +777 -663
- package/esm/vendor/lodash.mjs.map +1 -1
- package/esm/vendor/runtime.mjs +23 -29
- package/esm/vendor/runtime.mjs.map +1 -1
- package/esm/vendor/shared.esm-bundler.mjs +2 -7
- package/esm/vendor/shared.esm-bundler.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/esm/vendor/types.mjs +5 -5
- package/esm/vendor/types.mjs.map +1 -1
- package/package.json +89 -115
- package/LICENSE +0 -21
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { createForm as
|
|
2
|
-
import { toJS as
|
|
3
|
-
import { isFn as p, isArr as
|
|
4
|
-
import { observer as
|
|
5
|
-
import { defineComponent as
|
|
6
|
-
import { FormProvider as
|
|
7
|
-
import { ElDrawer as
|
|
8
|
-
import { useEnterSubmit as
|
|
9
|
-
import { resolveDrawerElement as
|
|
10
|
-
import { o as
|
|
11
|
-
import { loadElConfigProvider as
|
|
12
|
-
import { useDebonceSubmitting as
|
|
13
|
-
import { stylePrefix as
|
|
14
|
-
import { isVueOptions as
|
|
15
|
-
const
|
|
1
|
+
import { createForm as V } from "@formily/core";
|
|
2
|
+
import { toJS as q } from "@formily/reactive";
|
|
3
|
+
import { isFn as p, isArr as y, isStr as E, pascalCase as S, applyMiddleware as w, isValid as z } from "@formily/shared";
|
|
4
|
+
import { observer as N } from "@silver-formily/reactive-vue";
|
|
5
|
+
import { defineComponent as O, useSlots as R, ref as B, computed as $, openBlock as k, createBlock as A, unref as n, mergeProps as C, createSlots as I, withCtx as c, createElementVNode as J, normalizeClass as U, renderSlot as g, createElementBlock as G, Fragment as H, createVNode as b, createTextVNode as h, toDisplayString as j, normalizeProps as K, guardReactiveProps as L, h as x, createApp as Q } from "vue";
|
|
6
|
+
import { FormProvider as W } from "@silver-formily/vue";
|
|
7
|
+
import { ElDrawer as X, ElButton as D, ElConfigProvider as Y } from "element-plus";
|
|
8
|
+
import { useEnterSubmit as Z } from "../__builtins__/shared/use-enter-submit.mjs";
|
|
9
|
+
import { resolveDrawerElement as _ } from "../shared/overlay-elements.mjs";
|
|
10
|
+
import { o as ee, c as M } from "../vendor/lodash.mjs";
|
|
11
|
+
import { loadElConfigProvider as re } from "../__builtins__/shared/load-config-provider.mjs";
|
|
12
|
+
import { useDebonceSubmitting as oe, loading as F, getTransitionDuration as te } from "../__builtins__/shared/loading.mjs";
|
|
13
|
+
import { stylePrefix as ne } from "../__builtins__/configs/index.mjs";
|
|
14
|
+
import { isVueOptions as ie } from "../__builtins__/shared/utils.mjs";
|
|
15
|
+
const se = /* @__PURE__ */ O({
|
|
16
16
|
name: "FormDrawerContent",
|
|
17
17
|
__name: "drawer-content",
|
|
18
18
|
props: {
|
|
@@ -38,14 +38,14 @@ const le = /* @__PURE__ */ R({
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
setup(o) {
|
|
41
|
-
const s = o, f =
|
|
42
|
-
return
|
|
43
|
-
visible:
|
|
41
|
+
const s = o, f = R(), e = `${ne}-form-drawer`, u = re(), { internalSubmitting: d } = oe(s.form), m = ee(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose", "enterSubmit"]), l = B(null), r = $(() => s.drawerProps.enterSubmit !== !1);
|
|
42
|
+
return Z({
|
|
43
|
+
visible: $(() => s.visible),
|
|
44
44
|
resolve: () => s.resolve(),
|
|
45
45
|
submitting: d,
|
|
46
|
-
getContainer: () =>
|
|
46
|
+
getContainer: () => _(l.value),
|
|
47
47
|
enabled: r
|
|
48
|
-
}), (t, i) => (
|
|
48
|
+
}), (t, i) => (k(), A(n(X), C({
|
|
49
49
|
ref_key: "drawerRef",
|
|
50
50
|
ref: l,
|
|
51
51
|
class: e,
|
|
@@ -55,11 +55,11 @@ const le = /* @__PURE__ */ R({
|
|
|
55
55
|
"before-close": (a) => {
|
|
56
56
|
o.reject(), n(p)(s.drawerProps.beforeClose) ? s.drawerProps.beforeClose(a) : a();
|
|
57
57
|
}
|
|
58
|
-
}),
|
|
58
|
+
}), I({
|
|
59
59
|
default: c(() => [
|
|
60
|
-
b(n(
|
|
60
|
+
b(n(W), { form: o.form }, {
|
|
61
61
|
default: c(() => [
|
|
62
|
-
b(n(
|
|
62
|
+
b(n(Y), K(L(n(u))), {
|
|
63
63
|
default: c(() => [
|
|
64
64
|
g(t.$slots, "default", {
|
|
65
65
|
resolve: o.resolve,
|
|
@@ -74,29 +74,29 @@ const le = /* @__PURE__ */ R({
|
|
|
74
74
|
}, 8, ["form"])
|
|
75
75
|
]),
|
|
76
76
|
footer: c(() => [
|
|
77
|
-
|
|
78
|
-
class:
|
|
77
|
+
J("div", {
|
|
78
|
+
class: U(`${e}-footer`)
|
|
79
79
|
}, [
|
|
80
80
|
f.footer ? g(t.$slots, "footer", {
|
|
81
81
|
key: 0,
|
|
82
82
|
resolve: o.resolve,
|
|
83
83
|
reject: o.reject,
|
|
84
84
|
form: o.form
|
|
85
|
-
}) : (
|
|
86
|
-
b(n(
|
|
85
|
+
}) : (k(), G(H, { key: 1 }, [
|
|
86
|
+
b(n(D), C(n(m).cancelButtonProps, {
|
|
87
87
|
onClick: i[0] || (i[0] = (a) => o.reject())
|
|
88
88
|
}), {
|
|
89
89
|
default: c(() => [
|
|
90
|
-
j(
|
|
90
|
+
h(j(n(m).cancelText || "取消"), 1)
|
|
91
91
|
]),
|
|
92
92
|
_: 1
|
|
93
93
|
}, 16),
|
|
94
|
-
b(n(
|
|
94
|
+
b(n(D), C({ type: "primary" }, n(m).okButtonProps, {
|
|
95
95
|
loading: n(d),
|
|
96
96
|
onClick: i[1] || (i[1] = (a) => o.resolve())
|
|
97
97
|
}), {
|
|
98
98
|
default: c(() => [
|
|
99
|
-
j(
|
|
99
|
+
h(j(n(m).okText || "确定"), 1)
|
|
100
100
|
]),
|
|
101
101
|
_: 1
|
|
102
102
|
}, 16, ["loading"])
|
|
@@ -130,42 +130,40 @@ function Ee(o, s, f) {
|
|
|
130
130
|
confirmMiddlewares: [],
|
|
131
131
|
cancelMiddlewares: []
|
|
132
132
|
};
|
|
133
|
-
if (
|
|
133
|
+
if (y(f))
|
|
134
134
|
for (const r of f) {
|
|
135
|
-
|
|
136
|
-
if (!S(r))
|
|
135
|
+
if (!E(r))
|
|
137
136
|
return;
|
|
138
|
-
const t =
|
|
139
|
-
/* istanbul ignore if -- @preserve */
|
|
137
|
+
const t = M(r);
|
|
140
138
|
if (["open", "cancel", "confirm"].includes(t))
|
|
141
|
-
throw new Error(`for${
|
|
139
|
+
throw new Error(`for${S(t)} is presved`);
|
|
142
140
|
e[`${t}Middlewares`] = [];
|
|
143
141
|
}
|
|
144
142
|
document.body.append(e.root);
|
|
145
|
-
const u =
|
|
143
|
+
const u = E(o) ? { title: o } : o;
|
|
146
144
|
function d(r, t, i) {
|
|
147
|
-
const a =
|
|
145
|
+
const a = ie(s) ? { default: () => x(s) } : s;
|
|
148
146
|
if (!e.instance) {
|
|
149
|
-
const v =
|
|
150
|
-
setup(
|
|
151
|
-
const
|
|
152
|
-
return
|
|
153
|
-
visible:
|
|
154
|
-
}), () =>
|
|
147
|
+
const v = N({
|
|
148
|
+
setup(le, { expose: T }) {
|
|
149
|
+
const P = B(!1);
|
|
150
|
+
return T({
|
|
151
|
+
visible: P
|
|
152
|
+
}), () => x(se, {
|
|
155
153
|
drawerProps: u,
|
|
156
154
|
form: e.form,
|
|
157
155
|
resolve: t,
|
|
158
156
|
reject: i,
|
|
159
|
-
visible:
|
|
157
|
+
visible: P.value
|
|
160
158
|
}, a);
|
|
161
159
|
}
|
|
162
160
|
});
|
|
163
|
-
e.app =
|
|
161
|
+
e.app = Q(v), e.instance = e.app.mount(e.root);
|
|
164
162
|
}
|
|
165
163
|
e.instance.visible = r;
|
|
166
164
|
}
|
|
167
165
|
function m() {
|
|
168
|
-
const r =
|
|
166
|
+
const r = te();
|
|
169
167
|
setTimeout(() => {
|
|
170
168
|
e.app?.unmount?.(), e.app = null, e.instance = null, e.root?.remove(), e.root = void 0;
|
|
171
169
|
}, r);
|
|
@@ -174,34 +172,29 @@ function Ee(o, s, f) {
|
|
|
174
172
|
forOpen: (r) => (p(r) && e.openMiddlewares.push(r), l),
|
|
175
173
|
forConfirm: (r) => (p(r) && e.confirmMiddlewares.push(r), l),
|
|
176
174
|
forCancel: (r) => (p(r) && e.cancelMiddlewares.push(r), l),
|
|
177
|
-
open: (r) => {
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
await (N(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(z(e.form.values)), l.close(), m();
|
|
184
|
-
}).catch((P) => {
|
|
185
|
-
console.warn(P);
|
|
186
|
-
});
|
|
187
|
-
}, async () => {
|
|
188
|
-
await B(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
|
|
175
|
+
open: (r) => (e.promise || (e.promise = new Promise((t, i) => {
|
|
176
|
+
F(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
|
|
177
|
+
e.form = e.form || V(a), d(!0, (v) => {
|
|
178
|
+
e.form.submit(async () => {
|
|
179
|
+
await (z(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(q(e.form.values)), l.close(), m();
|
|
180
|
+
}).catch(() => {
|
|
189
181
|
});
|
|
190
|
-
})
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
182
|
+
}, async () => {
|
|
183
|
+
await F(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
|
|
184
|
+
});
|
|
185
|
+
}).catch(
|
|
186
|
+
/* istanbul ignore next -- @preserve */
|
|
187
|
+
(a) => i(a)
|
|
188
|
+
);
|
|
189
|
+
})), e.promise),
|
|
196
190
|
close: () => {
|
|
197
|
-
/* istanbul ignore if -- @preserve */
|
|
198
191
|
e.root && d(!1);
|
|
199
192
|
}
|
|
200
193
|
};
|
|
201
|
-
if (
|
|
194
|
+
if (y(f))
|
|
202
195
|
for (const r of f) {
|
|
203
|
-
const t =
|
|
204
|
-
l[`for${
|
|
196
|
+
const t = M(r);
|
|
197
|
+
l[`for${S(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
|
|
205
198
|
}
|
|
206
199
|
return l;
|
|
207
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/form-drawer/drawer-content.vue","../../src/form-drawer/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Form } from '@formily/core'\r\nimport type { ComponentPublicInstance, PropType } from 'vue'\r\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\r\nimport { isFn } from '@formily/shared'\r\nimport { FormProvider } from '@silver-formily/vue'\r\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, ref } from 'vue'\r\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\r\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\r\nimport { resolveDrawerElement } from '../shared/overlay-elements'\r\n\r\ndefineOptions({\r\n name: 'FormDrawerContent',\r\n})\r\n\r\nconst props = defineProps({\r\n drawerProps: {\r\n type: Object as PropType<IFormDrawerProps>,\r\n required: true,\r\n },\r\n visible: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n form: {\r\n type: Object as PropType<Form>,\r\n required: true,\r\n },\r\n resolve: {\r\n type: Function as PropType<(type?: string) => void>,\r\n required: true,\r\n },\r\n reject: {\r\n type: Function as PropType<() => void>,\r\n required: true,\r\n },\r\n})\r\nconst slots = defineSlots<FormDrawerSlots>()\r\nconst prefixCls = `${stylePrefix}-form-drawer`\r\nconst elConfig = loadElConfigProvider()\r\n\r\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\r\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\r\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\r\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\r\n\r\nuseEnterSubmit({\r\n visible: computed(() => props.visible),\r\n resolve: () => props.resolve(),\r\n submitting: internalSubmitting,\r\n getContainer: () => resolveDrawerElement(drawerRef.value),\r\n enabled: enableEnterSubmit,\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElDrawer\r\n ref=\"drawerRef\"\r\n :class=\"prefixCls\"\r\n :z-index=\"elConfig.zIndex\"\r\n v-bind=\"_drawerProps\"\r\n :model-value=\"visible\"\r\n :before-close=\"(done) => {\r\n reject()\r\n if (isFn(props.drawerProps.beforeClose)) {\r\n props.drawerProps.beforeClose(done)\r\n }\r\n else {\r\n done()\r\n }\r\n }\"\r\n >\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </template>\r\n\r\n <template #default>\r\n <FormProvider :form=\"form\">\r\n <ElConfigProvider v-bind=\"elConfig\">\r\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </ElConfigProvider>\r\n </FormProvider>\r\n </template>\r\n\r\n <template #footer>\r\n <div :class=\"`${prefixCls}-footer`\">\r\n <template v-if=\"slots.footer\">\r\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </template>\r\n <template v-else>\r\n <ElButton\r\n v-bind=\"_drawerProps.cancelButtonProps\"\r\n @click=\"reject()\"\r\n >\r\n {{ _drawerProps.cancelText || '取消' }}\r\n </ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-bind=\"_drawerProps.okButtonProps\"\r\n :loading=\"internalSubmitting\"\r\n @click=\"resolve()\"\r\n >\r\n {{ _drawerProps.okText || '确定' }}\r\n </ElButton>\r\n </template>\r\n </div>\r\n </template>\r\n </ElDrawer>\r\n</template>\r\n","import type { Form, IFormProps } from '@formily/core'\r\nimport type { IMiddleware } from '@formily/shared'\r\nimport type { App, Component } from 'vue'\r\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\r\nimport { createForm } from '@formily/core'\r\nimport { toJS } from '@formily/reactive'\r\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\r\nimport { observer } from '@silver-formily/reactive-vue'\r\nimport { camelCase } from 'lodash-es'\r\nimport { createApp, h, ref } from 'vue'\r\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\r\nimport DrawerContent from './drawer-content.vue'\r\n\r\nexport function FormDrawer<T extends object = any>(\r\n title: IFormDrawerProps | string,\r\n content?: Component | FormDrawerSlotContent,\r\n dynamicMiddlewareNames?: string[],\r\n): IFormDrawer<T> {\r\n const env: {\r\n root?: HTMLElement\r\n form?: Form<T>\r\n promise?: Promise<any>\r\n instance?: any\r\n app?: App<Element>\r\n openMiddlewares: IMiddleware<IFormProps<T>>[]\r\n confirmMiddlewares: IMiddleware<Form<T>>[]\r\n cancelMiddlewares: IMiddleware<Form<T>>[]\r\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\r\n } = {\r\n root: document.createElement('div'),\r\n form: null,\r\n promise: null,\r\n app: null,\r\n instance: null,\r\n openMiddlewares: [],\r\n confirmMiddlewares: [],\r\n cancelMiddlewares: [],\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n /* istanbul ignore if -- @preserve */\r\n if (!isStr(middlewareName))\r\n return\r\n const _middlewareName = camelCase(middlewareName)\r\n /* istanbul ignore if -- @preserve */\r\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\r\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\r\n }\r\n (env[`${_middlewareName}Middlewares`] = [])\r\n }\r\n }\r\n\r\n document.body.append(env.root)\r\n\r\n const props = (isStr(title) ? ({ title }) : title) as IFormDrawerProps\r\n\r\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\r\n const _content = isVueOptions(content) ? { default: () => h(content) } : content\r\n if (!env.instance) {\r\n const ComponentConstructor = observer({\r\n setup(_, { expose }) {\r\n const visible = ref(false)\r\n expose({\r\n visible,\r\n })\r\n return () => h(DrawerContent, {\r\n drawerProps: props,\r\n form: env.form,\r\n resolve,\r\n reject,\r\n visible: visible.value,\r\n }, _content)\r\n },\r\n })\r\n env.app = createApp(ComponentConstructor)\r\n env.instance = env.app.mount(env.root)\r\n }\r\n env.instance.visible = visible\r\n }\r\n\r\n function disposeDrawer() {\r\n const animationDuration = getTransitionDuration()\r\n setTimeout(() => {\r\n env.app?.unmount?.()\r\n env.app = null\r\n env.instance = null\r\n env.root?.remove()\r\n env.root = undefined\r\n }, animationDuration)\r\n }\r\n\r\n const formDrawer = {\r\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\r\n isFn(middleware) && env.openMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n forCancel: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n open: (payload: IFormProps<T>) => {\r\n /* istanbul ignore if -- @preserve */\r\n if (env.promise)\r\n return env.promise\r\n\r\n env.promise = new Promise((res, rej) => {\r\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\r\n .then((resPayload) => {\r\n env.form = env.form || createForm(resPayload as IFormProps<T>)\r\n render(true, (type: string) => {\r\n env.form.submit(async () => {\r\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\r\n res(toJS(env.form.values))\r\n formDrawer.close()\r\n disposeDrawer()\r\n }).catch((error) => {\r\n console.warn(error)\r\n })\r\n }, async () => {\r\n await loading(props.loadingText, () =>\r\n applyMiddleware(env.form, env.cancelMiddlewares))\r\n formDrawer.close()\r\n disposeDrawer()\r\n rej(new Error('cancel'))\r\n })\r\n })\r\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\r\n })\r\n return env.promise\r\n },\r\n close: () => {\r\n /* istanbul ignore if -- @preserve */\r\n if (!env.root)\r\n return\r\n render(false)\r\n },\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n const _middlewareName = camelCase(middlewareName)\r\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\r\n return formDrawer\r\n }\r\n }\r\n }\r\n\r\n return formDrawer as IFormDrawer<T>\r\n}\r\n\r\nexport default FormDrawer\r\n"],"names":["props","__props","slots","_useSlots","prefixCls","stylePrefix","elConfig","loadElConfigProvider","internalSubmitting","useDebonceSubmitting","_drawerProps","omit","drawerRef","ref","enableEnterSubmit","computed","useEnterSubmit","resolveDrawerElement","_openBlock","_createBlock","_unref","_mergeProps","done","isFn","_createVNode","FormProvider","_renderSlot","_ctx","_createElementVNode","_createElementBlock","_Fragment","ElButton","_createTextVNode","_toDisplayString","FormDrawer","title","content","dynamicMiddlewareNames","env","isArr","middlewareName","isStr","_middlewareName","camelCase","pascalCase","render","visible","resolve","reject","_content","isVueOptions","h","ComponentConstructor","observer","_","expose","DrawerContent","createApp","disposeDrawer","animationDuration","getTransitionDuration","formDrawer","middleware","payload","res","rej","loading","applyMiddleware","resPayload","createForm","type","isValid","toJS","error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/form-drawer/drawer-content.vue","../../src/form-drawer/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport type { Form } from '@formily/core'\r\nimport type { ComponentPublicInstance, PropType } from 'vue'\r\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\r\nimport { isFn } from '@formily/shared'\r\nimport { FormProvider } from '@silver-formily/vue'\r\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\r\nimport { omit } from 'lodash-es'\r\nimport { computed, ref } from 'vue'\r\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\r\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\r\nimport { resolveDrawerElement } from '../shared/overlay-elements'\r\n\r\ndefineOptions({\r\n name: 'FormDrawerContent',\r\n})\r\n\r\nconst props = defineProps({\r\n drawerProps: {\r\n type: Object as PropType<IFormDrawerProps>,\r\n required: true,\r\n },\r\n visible: {\r\n type: Boolean,\r\n required: true,\r\n },\r\n form: {\r\n type: Object as PropType<Form>,\r\n required: true,\r\n },\r\n resolve: {\r\n type: Function as PropType<(type?: string) => void>,\r\n required: true,\r\n },\r\n reject: {\r\n type: Function as PropType<() => void>,\r\n required: true,\r\n },\r\n})\r\nconst slots = defineSlots<FormDrawerSlots>()\r\nconst prefixCls = `${stylePrefix}-form-drawer`\r\nconst elConfig = loadElConfigProvider()\r\n\r\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\r\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\r\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\r\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\r\n\r\nuseEnterSubmit({\r\n visible: computed(() => props.visible),\r\n resolve: () => props.resolve(),\r\n submitting: internalSubmitting,\r\n getContainer: () => resolveDrawerElement(drawerRef.value),\r\n enabled: enableEnterSubmit,\r\n})\r\n</script>\r\n\r\n<template>\r\n <ElDrawer\r\n ref=\"drawerRef\"\r\n :class=\"prefixCls\"\r\n :z-index=\"elConfig.zIndex\"\r\n v-bind=\"_drawerProps\"\r\n :model-value=\"visible\"\r\n :before-close=\"(done) => {\r\n reject()\r\n if (isFn(props.drawerProps.beforeClose)) {\r\n props.drawerProps.beforeClose(done)\r\n }\r\n else {\r\n done()\r\n }\r\n }\"\r\n >\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </template>\r\n\r\n <template #default>\r\n <FormProvider :form=\"form\">\r\n <ElConfigProvider v-bind=\"elConfig\">\r\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </ElConfigProvider>\r\n </FormProvider>\r\n </template>\r\n\r\n <template #footer>\r\n <div :class=\"`${prefixCls}-footer`\">\r\n <template v-if=\"slots.footer\">\r\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\r\n </template>\r\n <template v-else>\r\n <ElButton\r\n v-bind=\"_drawerProps.cancelButtonProps\"\r\n @click=\"reject()\"\r\n >\r\n {{ _drawerProps.cancelText || '取消' }}\r\n </ElButton>\r\n <ElButton\r\n type=\"primary\"\r\n v-bind=\"_drawerProps.okButtonProps\"\r\n :loading=\"internalSubmitting\"\r\n @click=\"resolve()\"\r\n >\r\n {{ _drawerProps.okText || '确定' }}\r\n </ElButton>\r\n </template>\r\n </div>\r\n </template>\r\n </ElDrawer>\r\n</template>\r\n","import type { Form, IFormProps } from '@formily/core'\r\nimport type { IMiddleware } from '@formily/shared'\r\nimport type { App, Component } from 'vue'\r\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\r\nimport { createForm } from '@formily/core'\r\nimport { toJS } from '@formily/reactive'\r\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\r\nimport { observer } from '@silver-formily/reactive-vue'\r\nimport { camelCase } from 'lodash-es'\r\nimport { createApp, h, ref } from 'vue'\r\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\r\nimport DrawerContent from './drawer-content.vue'\r\n\r\nexport function FormDrawer<T extends object = any>(\r\n title: IFormDrawerProps | string,\r\n content?: Component | FormDrawerSlotContent,\r\n dynamicMiddlewareNames?: string[],\r\n): IFormDrawer<T> {\r\n const env: {\r\n root?: HTMLElement\r\n form?: Form<T>\r\n promise?: Promise<any>\r\n instance?: any\r\n app?: App<Element>\r\n openMiddlewares: IMiddleware<IFormProps<T>>[]\r\n confirmMiddlewares: IMiddleware<Form<T>>[]\r\n cancelMiddlewares: IMiddleware<Form<T>>[]\r\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\r\n } = {\r\n root: document.createElement('div'),\r\n form: null,\r\n promise: null,\r\n app: null,\r\n instance: null,\r\n openMiddlewares: [],\r\n confirmMiddlewares: [],\r\n cancelMiddlewares: [],\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n /* istanbul ignore if -- @preserve */\r\n if (!isStr(middlewareName))\r\n return\r\n const _middlewareName = camelCase(middlewareName)\r\n /* istanbul ignore if -- @preserve */\r\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\r\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\r\n }\r\n (env[`${_middlewareName}Middlewares`] = [])\r\n }\r\n }\r\n\r\n document.body.append(env.root)\r\n\r\n const props = (isStr(title) ? ({ title }) : title) as IFormDrawerProps\r\n\r\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\r\n const _content = isVueOptions(content) ? { default: () => h(content) } : content\r\n if (!env.instance) {\r\n const ComponentConstructor = observer({\r\n setup(_, { expose }) {\r\n const visible = ref(false)\r\n expose({\r\n visible,\r\n })\r\n return () => h(DrawerContent, {\r\n drawerProps: props,\r\n form: env.form,\r\n resolve,\r\n reject,\r\n visible: visible.value,\r\n }, _content)\r\n },\r\n })\r\n env.app = createApp(ComponentConstructor)\r\n env.instance = env.app.mount(env.root)\r\n }\r\n env.instance.visible = visible\r\n }\r\n\r\n function disposeDrawer() {\r\n const animationDuration = getTransitionDuration()\r\n setTimeout(() => {\r\n env.app?.unmount?.()\r\n env.app = null\r\n env.instance = null\r\n env.root?.remove()\r\n env.root = undefined\r\n }, animationDuration)\r\n }\r\n\r\n const formDrawer = {\r\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\r\n isFn(middleware) && env.openMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n forCancel: (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\r\n return formDrawer\r\n },\r\n open: (payload: IFormProps<T>) => {\r\n /* istanbul ignore if -- @preserve */\r\n if (env.promise)\r\n return env.promise\r\n\r\n env.promise = new Promise((res, rej) => {\r\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\r\n .then((resPayload) => {\r\n env.form = env.form || createForm(resPayload as IFormProps<T>)\r\n render(true, (type: string) => {\r\n env.form.submit(async () => {\r\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\r\n res(toJS(env.form.values))\r\n formDrawer.close()\r\n disposeDrawer()\r\n }).catch(() => undefined)\r\n }, async () => {\r\n await loading(props.loadingText, () =>\r\n applyMiddleware(env.form, env.cancelMiddlewares))\r\n formDrawer.close()\r\n disposeDrawer()\r\n rej(new Error('cancel'))\r\n })\r\n })\r\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\r\n })\r\n return env.promise\r\n },\r\n close: () => {\r\n /* istanbul ignore if -- @preserve */\r\n if (!env.root)\r\n return\r\n render(false)\r\n },\r\n }\r\n\r\n if (isArr(dynamicMiddlewareNames)) {\r\n for (const middlewareName of dynamicMiddlewareNames) {\r\n const _middlewareName = camelCase(middlewareName)\r\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\r\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\r\n return formDrawer\r\n }\r\n }\r\n }\r\n\r\n return formDrawer as IFormDrawer<T>\r\n}\r\n\r\nexport default FormDrawer\r\n"],"names":["props","__props","slots","_useSlots","prefixCls","stylePrefix","elConfig","loadElConfigProvider","internalSubmitting","useDebonceSubmitting","_drawerProps","omit","drawerRef","ref","enableEnterSubmit","computed","useEnterSubmit","resolveDrawerElement","_openBlock","_createBlock","_unref","_mergeProps","done","isFn","_createVNode","FormProvider","_renderSlot","_ctx","_createElementVNode","_createElementBlock","_Fragment","ElButton","_createTextVNode","_toDisplayString","FormDrawer","title","content","dynamicMiddlewareNames","env","isArr","middlewareName","isStr","_middlewareName","camelCase","pascalCase","render","visible","resolve","reject","_content","isVueOptions","h","ComponentConstructor","observer","_","expose","DrawerContent","createApp","disposeDrawer","animationDuration","getTransitionDuration","formDrawer","middleware","payload","res","rej","loading","applyMiddleware","resPayload","createForm","type","isValid","toJS","error"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Grid, IGridOptions } from '../../../grid/src';
|
|
2
2
|
import { PropType } from 'vue';
|
|
3
3
|
declare function __VLS_template(): {
|
|
4
4
|
attrs: Partial<{}>;
|
|
@@ -88,7 +88,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
|
|
|
88
88
|
}>> & Readonly<{}>, {
|
|
89
89
|
colWrap: boolean;
|
|
90
90
|
strictAutoFit: boolean;
|
|
91
|
-
shouldVisible: (node: import('
|
|
91
|
+
shouldVisible: (node: import('../../../grid/src').GridNode, grid: Grid<HTMLElement>) => boolean;
|
|
92
92
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
93
93
|
rootRef: HTMLDivElement;
|
|
94
94
|
}, HTMLDivElement>;
|
package/esm/form-grid/hooks.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Grid as IGrid } from '
|
|
1
|
+
import { Grid as IGrid } from '../../../grid/src';
|
|
2
2
|
import { InjectionKey, Ref } from 'vue';
|
|
3
3
|
export declare const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>>;
|
|
4
|
-
export declare function createFormGrid(props: any): IGrid<HTMLElement>;
|
|
5
4
|
export declare const useFormGrid: () => Ref<IGrid<HTMLElement>>;
|
package/esm/form-grid/hooks.mjs
CHANGED
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import { inject as t } from "vue";
|
|
4
|
-
const i = Symbol("FormGridContext");
|
|
5
|
-
function d(r) {
|
|
6
|
-
return m(new o(r));
|
|
7
|
-
}
|
|
8
|
-
const G = () => t(i);
|
|
1
|
+
import { inject as o } from "vue";
|
|
2
|
+
const r = /* @__PURE__ */ Symbol("FormGridContext"), t = () => o(r);
|
|
9
3
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
G as useFormGrid
|
|
4
|
+
r as FormGridSymbol,
|
|
5
|
+
t as useFormGrid
|
|
13
6
|
};
|
|
14
7
|
//# sourceMappingURL=hooks.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.mjs","sources":["../../src/form-grid/hooks.ts"],"sourcesContent":["import type { Grid as IGrid } from '@formily/grid'\
|
|
1
|
+
{"version":3,"file":"hooks.mjs","sources":["../../src/form-grid/hooks.ts"],"sourcesContent":["import type { Grid as IGrid } from '@silver-formily/grid'\nimport type { InjectionKey, Ref } from 'vue'\nimport { inject } from 'vue'\n\r\nexport const FormGridSymbol: InjectionKey<Ref<IGrid<HTMLElement>>> = Symbol('FormGridContext')\n\nexport const useFormGrid = (): Ref<IGrid<HTMLElement>> => inject(FormGridSymbol)\n"],"names":["FormGridSymbol","useFormGrid","inject"],"mappings":";AAIO,MAAMA,2BAA+D,iBAAiB,GAEhFC,IAAc,MAA+BC,EAAOF,CAAc;"}
|
package/esm/form-grid/index.mjs
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { observer as i } from "@silver-formily/reactive-vue";
|
|
2
|
-
import { defineComponent as l,
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__PURE__ */ l({
|
|
2
|
+
import { defineComponent as l, computed as u, openBlock as d, createElementBlock as c, normalizeStyle as f, renderSlot as y, ref as b, provide as G, watchEffect as _, normalizeClass as C } from "vue";
|
|
3
|
+
import { createGrid as v } from "@silver-formily/grid";
|
|
4
|
+
import { FormGridSymbol as F } from "./hooks.mjs";
|
|
5
|
+
import { stylePrefix as S } from "../__builtins__/configs/index.mjs";
|
|
6
|
+
import { composeExport as h } from "../__builtins__/shared/utils.mjs";
|
|
7
|
+
import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__PURE__ */ l({
|
|
9
8
|
name: "FFormGridColumn",
|
|
10
9
|
__name: "form-grid-column",
|
|
11
10
|
props: {
|
|
@@ -14,15 +13,20 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
|
|
|
14
13
|
default: 1
|
|
15
14
|
}
|
|
16
15
|
},
|
|
17
|
-
setup(
|
|
18
|
-
const r =
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
setup(a) {
|
|
17
|
+
const r = a, m = u(() => r.gridSpan === -1 ? {
|
|
18
|
+
gridColumn: "1 / -1"
|
|
19
|
+
} : {
|
|
20
|
+
gridColumn: `span ${r.gridSpan} / auto`
|
|
21
|
+
});
|
|
22
|
+
return (t, e) => (d(), c("div", {
|
|
23
|
+
"data-grid-span": r.gridSpan,
|
|
24
|
+
style: f(m.value)
|
|
21
25
|
}, [
|
|
22
|
-
|
|
23
|
-
],
|
|
26
|
+
y(t.$slots, "default")
|
|
27
|
+
], 12, N));
|
|
24
28
|
}
|
|
25
|
-
}),
|
|
29
|
+
}), A = /* @__PURE__ */ l({
|
|
26
30
|
name: "FFormGrid",
|
|
27
31
|
__name: "form-grid",
|
|
28
32
|
props: {
|
|
@@ -65,40 +69,39 @@ import '../styles/form-grid/index.css';const A = ["data-grid-span"], k = /* @__P
|
|
|
65
69
|
type: Object
|
|
66
70
|
}
|
|
67
71
|
},
|
|
68
|
-
setup(
|
|
69
|
-
const r =
|
|
70
|
-
const { grid:
|
|
72
|
+
setup(a) {
|
|
73
|
+
const r = a, m = `${S}-form-grid`, t = b(), e = u(() => {
|
|
74
|
+
const { grid: o, ...n } = r, g = {
|
|
71
75
|
columnGap: r?.columnGap ?? 8,
|
|
72
76
|
rowGap: r.rowGap ?? 4,
|
|
73
77
|
...Object.fromEntries(
|
|
74
|
-
Object.entries(
|
|
78
|
+
Object.entries(n).filter(([s, p]) => p !== void 0).map(([s, p]) => [s, p])
|
|
75
79
|
)
|
|
76
80
|
};
|
|
77
|
-
return
|
|
81
|
+
return o ?? v(g);
|
|
78
82
|
});
|
|
79
|
-
return
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
return G(F, e), _((o) => {
|
|
84
|
+
const n = e.value.connect(t.value);
|
|
85
|
+
o(() => {
|
|
86
|
+
n();
|
|
83
87
|
});
|
|
84
|
-
}), (
|
|
88
|
+
}), (o, n) => (d(), c("div", {
|
|
85
89
|
ref_key: "rootRef",
|
|
86
|
-
ref:
|
|
87
|
-
class:
|
|
88
|
-
style:
|
|
89
|
-
gridTemplateColumns:
|
|
90
|
-
gap:
|
|
90
|
+
ref: t,
|
|
91
|
+
class: C(m),
|
|
92
|
+
style: f({
|
|
93
|
+
gridTemplateColumns: e.value.templateColumns,
|
|
94
|
+
gap: e.value.gap
|
|
91
95
|
})
|
|
92
96
|
}, [
|
|
93
|
-
|
|
97
|
+
y(o.$slots, "default")
|
|
94
98
|
], 4));
|
|
95
99
|
}
|
|
96
|
-
}),
|
|
97
|
-
GridColumn:
|
|
98
|
-
createFormGrid: N
|
|
100
|
+
}), $ = i(A), k = i(x), z = h($, {
|
|
101
|
+
GridColumn: k
|
|
99
102
|
});
|
|
100
103
|
export {
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
z as FormGrid,
|
|
105
|
+
z as default
|
|
103
106
|
};
|
|
104
107
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/form-grid/form-grid-column.vue","../../src/form-grid/form-grid.vue","../../src/form-grid/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\ndefineOptions({\r\n name: 'FFormGridColumn',\r\n})\r\n\r\nconst props = defineProps({\r\n gridSpan: {\r\n type: Number,\r\n default: 1,\r\n },\r\n})\r\n</script>\r\n\r\n<template>\r\n <!-- @formily/grid 会优先使用这个值,如果没有会自动生成 -->\r\n <div :data-grid-span=\"props.gridSpan\">\r\n <slot />\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { IGridOptions } from '@formily/grid'\r\nimport type { PropType } from 'vue'\r\nimport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/form-grid/form-grid-column.vue","../../src/form-grid/form-grid.vue","../../src/form-grid/index.ts"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport { computed } from 'vue'\r\n\r\ndefineOptions({\r\n name: 'FFormGridColumn',\r\n})\r\n\r\nconst props = defineProps({\r\n gridSpan: {\r\n type: Number,\r\n default: 1,\r\n },\r\n})\r\n\r\nconst gridColumnStyle = computed(() => {\r\n if (props.gridSpan === -1) {\r\n return {\r\n gridColumn: '1 / -1',\r\n }\r\n }\r\n return {\r\n gridColumn: `span ${props.gridSpan} / auto`,\r\n }\r\n})\r\n</script>\r\n\r\n<template>\r\n <!-- @silver-formily/grid 会优先使用这个值,如果没有会自动生成 -->\r\n <div :data-grid-span=\"props.gridSpan\" :style=\"gridColumnStyle\">\r\n <slot />\r\n </div>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { Grid, IGridOptions } from '@silver-formily/grid'\r\nimport type { PropType } from 'vue'\r\nimport { createGrid } from '@silver-formily/grid'\r\nimport { computed, provide, ref, watchEffect } from 'vue'\r\nimport { stylePrefix } from '../__builtins__'\r\nimport { FormGridSymbol } from './hooks'\r\n\r\ndefineOptions({\r\n name: 'FFormGrid',\r\n})\r\n\r\nconst props = defineProps({\r\n columnGap: {\r\n type: Number,\r\n },\r\n rowGap: {\r\n type: Number,\r\n },\r\n minColumns: {\r\n type: [Number, Array],\r\n },\r\n minWidth: {\r\n type: [Number, Array],\r\n },\r\n maxColumns: {\r\n type: [Number, Array],\r\n },\r\n maxWidth: {\r\n type: [Number, Array],\r\n },\r\n breakpoints: {\r\n type: Array as PropType<number[]>,\r\n },\r\n colWrap: {\r\n type: Boolean,\r\n default: true,\r\n },\r\n strictAutoFit: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n shouldVisible: {\r\n type: Function as PropType<IGridOptions['shouldVisible']>,\r\n default() {\r\n return () => true\r\n },\r\n },\r\n grid: {\r\n type: Object as PropType<Grid<HTMLElement>>,\r\n },\r\n})\r\n\r\nconst prefixCls = `${stylePrefix}-form-grid`\r\nconst rootRef = ref<HTMLElement>()\r\n\r\nconst gridInstance = computed(() => {\r\n const { grid, ...restProps } = props\r\n const options = {\r\n columnGap: props?.columnGap ?? 8,\r\n rowGap: props.rowGap ?? 4,\r\n ...Object.fromEntries(\r\n Object.entries(restProps)\r\n .filter(([_, v]) => v !== undefined)\r\n .map(([k, v]) => [k, v]),\r\n ),\r\n }\r\n return grid ?? createGrid(options)\r\n})\r\n\r\nprovide(FormGridSymbol, gridInstance)\r\n\r\nwatchEffect((onInvalidate) => {\r\n const dispose = gridInstance.value.connect(rootRef.value)\r\n onInvalidate(() => {\r\n dispose()\r\n })\r\n})\r\n</script>\r\n\r\n<template>\r\n <div\r\n ref=\"rootRef\"\r\n :class=\"prefixCls\"\r\n :style=\"{\r\n gridTemplateColumns: gridInstance.templateColumns,\r\n gap: gridInstance.gap,\r\n }\"\r\n >\r\n <slot />\r\n </div>\r\n</template>\r\n","import { observer } from '@silver-formily/reactive-vue'\r\nimport { composeExport } from '../__builtins__'\nimport FFormGridColumn from './form-grid-column.vue'\nimport FFormGrid from './form-grid.vue'\nimport './style.scss'\n\r\nconst FormGridInner = observer(FFormGrid)\r\n\r\nconst FormGridColumn = observer(FFormGridColumn)\r\n\r\nexport const FormGrid = composeExport(FormGridInner, {\n GridColumn: FormGridColumn,\n})\n\r\nexport default FormGrid\r\n"],"names":["props","__props","gridColumnStyle","computed","_createElementBlock","_renderSlot","_ctx","prefixCls","stylePrefix","rootRef","ref","gridInstance","grid","restProps","options","_","v","k","createGrid","provide","FormGridSymbol","watchEffect","onInvalidate","dispose","_normalizeStyle","FormGridInner","observer","FFormGrid","FormGridColumn","FFormGridColumn","FormGrid","composeExport"],"mappings":";;;;;;;;;;;;;;;;AAOA,UAAMA,IAAQC,GAORC,IAAkBC,EAAS,MAC3BH,EAAM,aAAa,KACd;AAAA,MACL,YAAY;AAAA,IAAA,IAGT;AAAA,MACL,YAAY,QAAQA,EAAM,QAAQ;AAAA,IAAA,CAErC;2BAKCI,EAEM,OAAA;AAAA,MAFA,kBAAgBJ,EAAM;AAAA,MAAW,SAAOE,EAAA,KAAe;AAAA,IAAA;MAC3DG,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBZ,UAAMN,IAAQC,GAyCRM,IAAY,GAAGC,CAAW,cAC1BC,IAAUC,EAAA,GAEVC,IAAeR,EAAS,MAAM;AAClC,YAAM,EAAE,MAAAS,GAAM,GAAGC,EAAA,IAAcb,GACzBc,IAAU;AAAA,QACd,WAAWd,GAAO,aAAa;AAAA,QAC/B,QAAQA,EAAM,UAAU;AAAA,QACxB,GAAG,OAAO;AAAA,UACR,OAAO,QAAQa,CAAS,EACrB,OAAO,CAAC,CAACE,GAAGC,CAAC,MAAMA,MAAM,MAAS,EAClC,IAAI,CAAC,CAACC,GAAGD,CAAC,MAAM,CAACC,GAAGD,CAAC,CAAC;AAAA,QAAA;AAAA,MAC3B;AAEF,aAAOJ,KAAQM,EAAWJ,CAAO;AAAA,IACnC,CAAC;AAED,WAAAK,EAAQC,GAAgBT,CAAY,GAEpCU,EAAY,CAACC,MAAiB;AAC5B,YAAMC,IAAUZ,EAAa,MAAM,QAAQF,EAAQ,KAAK;AACxD,MAAAa,EAAa,MAAM;AACjB,QAAAC,EAAA;AAAA,MACF,CAAC;AAAA,IACH,CAAC,mBAICnB,EASM,OAAA;AAAA,eARA;AAAA,MAAJ,KAAIK;AAAA,MACH,SAAOF,CAAS;AAAA,MAChB,OAAKiB,EAAA;AAAA,QAAgC,qBAAAb,EAAA,MAAa;AAAA,QAA6B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK7FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNmB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AACd,CAAC;"}
|
package/esm/form-item/index.d.ts
CHANGED