@silver-formily/element-plus 3.0.0 → 3.0.2
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/README.en-US.md +32 -32
- package/README.md +32 -32
- package/esm/__builtins__/configs/index.mjs.map +1 -1
- package/esm/__builtins__/index.mjs +18 -18
- package/esm/__builtins__/shared/loading.mjs +1 -1
- package/esm/__builtins__/shared/loading.mjs.map +1 -1
- package/esm/__builtins__/shared/simple-version-compare.mjs.map +1 -1
- package/esm/__builtins__/shared/transform-component.mjs.map +1 -1
- package/esm/__builtins__/shared/use-enter-submit.mjs +57 -16
- package/esm/__builtins__/shared/use-enter-submit.mjs.map +1 -1
- package/esm/__builtins__/shared/utils.mjs.map +1 -1
- package/esm/array-base/index.mjs +45 -42
- package/esm/array-base/index.mjs.map +1 -1
- package/esm/array-base/symbols.mjs.map +1 -1
- package/esm/array-base/utils.mjs +36 -31
- package/esm/array-base/utils.mjs.map +1 -1
- package/esm/array-cards/index.mjs +34 -32
- package/esm/array-cards/index.mjs.map +1 -1
- package/esm/array-collapse/index.mjs +29 -28
- package/esm/array-collapse/index.mjs.map +1 -1
- package/esm/array-collapse/utils.mjs +8 -2
- package/esm/array-collapse/utils.mjs.map +1 -1
- package/esm/array-items/index.mjs +34 -31
- package/esm/array-items/index.mjs.map +1 -1
- package/esm/array-list-tabs/index.mjs +51 -50
- package/esm/array-list-tabs/index.mjs.map +1 -1
- package/esm/array-list-tabs/utils.mjs +11 -5
- package/esm/array-list-tabs/utils.mjs.map +1 -1
- package/esm/array-table/index.mjs +47 -46
- package/esm/array-table/index.mjs.map +1 -1
- package/esm/array-table/utils.mjs +18 -12
- package/esm/array-table/utils.mjs.map +1 -1
- package/esm/array-tabs/index.mjs +27 -27
- package/esm/array-tabs/index.mjs.map +1 -1
- package/esm/autocomplete/index.mjs +21 -18
- package/esm/autocomplete/index.mjs.map +1 -1
- package/esm/cascader/index.mjs +18 -15
- package/esm/cascader/index.mjs.map +1 -1
- package/esm/checkbox/index.mjs +19 -16
- package/esm/checkbox/index.mjs.map +1 -1
- package/esm/color-picker/index.mjs +9 -6
- package/esm/color-picker/index.mjs.map +1 -1
- package/esm/color-picker-panel/index.mjs +9 -6
- package/esm/color-picker-panel/index.mjs.map +1 -1
- package/esm/date-picker/index.mjs +14 -11
- package/esm/date-picker/index.mjs.map +1 -1
- package/esm/date-picker/utils.mjs.map +1 -1
- package/esm/date-picker-panel/index.mjs +14 -11
- package/esm/date-picker-panel/index.mjs.map +1 -1
- package/esm/editable/index.mjs +34 -32
- package/esm/editable/index.mjs.map +1 -1
- package/esm/form/form.mjs +6 -6
- package/esm/form/form.mjs.map +1 -1
- package/esm/form-button-group/index.mjs +17 -14
- package/esm/form-button-group/index.mjs.map +1 -1
- package/esm/form-button-group/utils.mjs +8 -2
- package/esm/form-button-group/utils.mjs.map +1 -1
- package/esm/form-collapse/index.mjs +20 -18
- package/esm/form-collapse/index.mjs.map +1 -1
- package/esm/form-collapse/utils.mjs.map +1 -1
- package/esm/form-dialog/index.d.ts +1 -1
- package/esm/form-dialog/index.mjs +22 -22
- package/esm/form-dialog/index.mjs.map +1 -1
- package/esm/form-dialog/types.d.ts +13 -5
- package/esm/form-drawer/index.d.ts +1 -1
- package/esm/form-drawer/index.mjs +21 -21
- package/esm/form-drawer/index.mjs.map +1 -1
- package/esm/form-drawer/types.d.ts +13 -5
- package/esm/form-grid/hooks.mjs.map +1 -1
- package/esm/form-grid/index.mjs +20 -18
- package/esm/form-grid/index.mjs.map +1 -1
- package/esm/form-item/index.mjs +54 -53
- package/esm/form-item/index.mjs.map +1 -1
- package/esm/form-item/utils.mjs.map +1 -1
- package/esm/form-layout/form-layout.mjs +13 -10
- package/esm/form-layout/form-layout.mjs.map +1 -1
- package/esm/form-layout/utils.mjs.map +1 -1
- package/esm/form-step/index.mjs +29 -27
- package/esm/form-step/index.mjs.map +1 -1
- package/esm/form-step/utils.mjs.map +1 -1
- package/esm/form-tab/hooks.mjs.map +1 -1
- package/esm/form-tab/index.mjs +22 -21
- package/esm/form-tab/index.mjs.map +1 -1
- package/esm/form-tab/utils.mjs.map +1 -1
- package/esm/index.mjs +72 -72
- package/esm/input/index.mjs +25 -22
- package/esm/input/index.mjs.map +1 -1
- package/esm/input-number/index.mjs +11 -8
- package/esm/input-number/index.mjs.map +1 -1
- package/esm/input-tag/index.mjs +16 -13
- package/esm/input-tag/index.mjs.map +1 -1
- package/esm/mention/index.mjs +20 -17
- package/esm/mention/index.mjs.map +1 -1
- package/esm/pagination/components/jumper.mjs.map +1 -1
- package/esm/pagination/components/next.mjs.map +1 -1
- package/esm/pagination/components/pager.mjs.map +1 -1
- package/esm/pagination/components/prev.mjs.map +1 -1
- package/esm/pagination/components/total.mjs.map +1 -1
- package/esm/pagination/pagination.mjs.map +1 -1
- package/esm/password/index.mjs.map +1 -1
- package/esm/preview-text/index.mjs +30 -27
- package/esm/preview-text/index.mjs.map +1 -1
- package/esm/preview-text/utils.mjs.map +1 -1
- package/esm/query-form/default-components.mjs.map +1 -1
- package/esm/query-form/hooks.mjs.map +1 -1
- package/esm/query-form/index.mjs +142 -140
- package/esm/query-form/index.mjs.map +1 -1
- package/esm/query-form-item/index.mjs +17 -15
- package/esm/query-form-item/index.mjs.map +1 -1
- package/esm/radio/index.mjs +28 -25
- package/esm/radio/index.mjs.map +1 -1
- package/esm/rate/index.mjs +13 -10
- package/esm/rate/index.mjs.map +1 -1
- package/esm/reset/index.mjs.map +1 -1
- package/esm/segmented/index.mjs +15 -12
- package/esm/segmented/index.mjs.map +1 -1
- package/esm/select/index.mjs +22 -19
- package/esm/select/index.mjs.map +1 -1
- package/esm/select-table/index.mjs +15 -12
- package/esm/select-table/index.mjs.map +1 -1
- package/esm/shared/overlay-elements.mjs.map +1 -1
- package/esm/slider/index.mjs +13 -10
- package/esm/slider/index.mjs.map +1 -1
- package/esm/submit/index.mjs.map +1 -1
- package/esm/switch/index.mjs.map +1 -1
- package/esm/time-picker/index.mjs +9 -6
- package/esm/time-picker/index.mjs.map +1 -1
- package/esm/time-select/index.d.ts +8 -8
- package/esm/time-select/index.mjs +9 -6
- package/esm/time-select/index.mjs.map +1 -1
- package/esm/transfer/index.mjs.map +1 -1
- package/esm/tree/index.mjs +31 -28
- package/esm/tree/index.mjs.map +1 -1
- package/esm/tree/utils.mjs.map +1 -1
- package/esm/tree-select/index.mjs +17 -14
- package/esm/tree-select/index.mjs.map +1 -1
- package/esm/upload/index.mjs +36 -37
- package/esm/upload/index.mjs.map +1 -1
- package/esm/vendor/sizes.mjs.map +1 -1
- package/package.json +12 -11
|
@@ -23,11 +23,19 @@ export interface FormDialogSlots {
|
|
|
23
23
|
export type FormDialogSlotContent = SlotsType<FormDialogSlots> | {
|
|
24
24
|
[key in keyof FormDialogSlots]?: FormDialogSlots[key];
|
|
25
25
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
type ReservedFormDialogMiddlewareName = 'open' | 'confirm' | 'cancel';
|
|
27
|
+
type ReservedFormDialogMiddlewareMethodName = `for${Capitalize<ReservedFormDialogMiddlewareName>}`;
|
|
28
|
+
type NormalizeFormDialogDynamicMiddlewareName<T extends string> = string extends T ? string : T extends `${infer Head}-${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDialogDynamicMiddlewareName<Tail>>}` : T extends `${infer Head}_${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDialogDynamicMiddlewareName<Tail>>}` : T extends `${infer Head} ${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDialogDynamicMiddlewareName<Tail>>}` : T;
|
|
29
|
+
type FormDialogDynamicMiddlewareMethodName<T extends string> = `for${Capitalize<NormalizeFormDialogDynamicMiddlewareName<T>>}`;
|
|
30
|
+
type FormDialogDynamicMiddlewareMethods<T extends object, DynamicMiddlewareName extends string> = {
|
|
31
|
+
[K in FormDialogDynamicMiddlewareMethodName<DynamicMiddlewareName> as K extends ReservedFormDialogMiddlewareMethodName ? never : K]: (middleware: IMiddleware<Form<T>>) => IFormDialog<T, DynamicMiddlewareName>;
|
|
32
|
+
};
|
|
33
|
+
interface IFormDialogBase<T extends object = any, DynamicMiddlewareName extends string = never> {
|
|
34
|
+
forOpen: (middleware: IMiddleware<IFormProps<T>>) => IFormDialog<T, DynamicMiddlewareName>;
|
|
35
|
+
forConfirm: (middleware: IMiddleware<Form<T>>) => IFormDialog<T, DynamicMiddlewareName>;
|
|
36
|
+
forCancel: (middleware: IMiddleware<Form<T>>) => IFormDialog<T, DynamicMiddlewareName>;
|
|
31
37
|
open: (props?: IFormProps<T>) => Promise<any>;
|
|
32
38
|
close: () => void;
|
|
33
39
|
}
|
|
40
|
+
export type IFormDialog<T extends object = any, DynamicMiddlewareName extends string = never> = IFormDialogBase<T, DynamicMiddlewareName> & FormDialogDynamicMiddlewareMethods<T, DynamicMiddlewareName>;
|
|
41
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Component } from 'vue';
|
|
2
2
|
import { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types';
|
|
3
|
-
export declare function FormDrawer<T extends object = any>(title: IFormDrawerProps | string, content?: Component | FormDrawerSlotContent, dynamicMiddlewareNames?:
|
|
3
|
+
export declare function FormDrawer<T extends object = any, const DynamicMiddlewareNames extends readonly string[] = []>(title: IFormDrawerProps | string, content?: Component | FormDrawerSlotContent, dynamicMiddlewareNames?: DynamicMiddlewareNames): IFormDrawer<T, DynamicMiddlewareNames[number]>;
|
|
4
4
|
export default FormDrawer;
|
|
@@ -3,15 +3,15 @@ import { toJS as q } from "@formily/reactive";
|
|
|
3
3
|
import { isFn as p, isArr as y, isStr as E, pascalCase as S, applyMiddleware as w, isValid as z } from "@formily/shared";
|
|
4
4
|
import { observer as N } from "@silver-formily/reactive-vue";
|
|
5
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 {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { loadElConfigProvider as
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
6
|
+
import { ElDrawer as W, ElButton as D, ElConfigProvider as X } from "element-plus";
|
|
7
|
+
import { useDebonceSubmitting as Y, loading as M, getTransitionDuration as Z } from "../__builtins__/shared/loading.mjs";
|
|
8
|
+
import { FormProvider as _ } from "@silver-formily/vue";
|
|
9
|
+
import { isVueOptions as ee } from "../__builtins__/shared/utils.mjs";
|
|
10
|
+
import { stylePrefix as re } from "../__builtins__/configs/index.mjs";
|
|
11
|
+
import { loadElConfigProvider as oe } from "../__builtins__/shared/load-config-provider.mjs";
|
|
12
|
+
import { useEnterSubmit as te } from "../__builtins__/shared/use-enter-submit.mjs";
|
|
13
|
+
import { resolveDrawerElement as ne } from "../shared/overlay-elements.mjs";
|
|
14
|
+
import { o as ie, c as F } from "../vendor/lodash.mjs";
|
|
15
15
|
const se = /* @__PURE__ */ O({
|
|
16
16
|
name: "FormDrawerContent",
|
|
17
17
|
__name: "drawer-content",
|
|
@@ -38,14 +38,14 @@ const se = /* @__PURE__ */ O({
|
|
|
38
38
|
}
|
|
39
39
|
},
|
|
40
40
|
setup(o) {
|
|
41
|
-
const s = o, f = R(), e = `${
|
|
42
|
-
return
|
|
41
|
+
const s = o, f = R(), e = `${re}-form-drawer`, u = oe(), { internalSubmitting: d } = Y(s.form), m = ie(s.drawerProps, ["modelValue", "onUpdate:modelValue", "beforeClose", "enterSubmit"]), l = B(null), r = $(() => s.drawerProps.enterSubmit !== !1);
|
|
42
|
+
return te({
|
|
43
43
|
visible: $(() => s.visible),
|
|
44
44
|
resolve: () => s.resolve(),
|
|
45
45
|
submitting: d,
|
|
46
|
-
getContainer: () =>
|
|
46
|
+
getContainer: () => ne(l.value),
|
|
47
47
|
enabled: r
|
|
48
|
-
}), (t, i) => (k(), A(n(
|
|
48
|
+
}), (t, i) => (k(), A(n(W), C({
|
|
49
49
|
ref_key: "drawerRef",
|
|
50
50
|
ref: l,
|
|
51
51
|
class: e,
|
|
@@ -57,9 +57,9 @@ const se = /* @__PURE__ */ O({
|
|
|
57
57
|
}
|
|
58
58
|
}), I({
|
|
59
59
|
default: c(() => [
|
|
60
|
-
b(n(
|
|
60
|
+
b(n(_), { form: o.form }, {
|
|
61
61
|
default: c(() => [
|
|
62
|
-
b(n(
|
|
62
|
+
b(n(X), K(L(n(u))), {
|
|
63
63
|
default: c(() => [
|
|
64
64
|
g(t.$slots, "default", {
|
|
65
65
|
resolve: o.resolve,
|
|
@@ -134,7 +134,7 @@ function Ee(o, s, f) {
|
|
|
134
134
|
for (const r of f) {
|
|
135
135
|
if (!E(r))
|
|
136
136
|
return;
|
|
137
|
-
const t =
|
|
137
|
+
const t = F(r);
|
|
138
138
|
if (["open", "cancel", "confirm"].includes(t))
|
|
139
139
|
throw new Error(`for${S(t)} is presved`);
|
|
140
140
|
e[`${t}Middlewares`] = [];
|
|
@@ -142,7 +142,7 @@ function Ee(o, s, f) {
|
|
|
142
142
|
document.body.append(e.root);
|
|
143
143
|
const u = E(o) ? { title: o } : o;
|
|
144
144
|
function d(r, t, i) {
|
|
145
|
-
const a =
|
|
145
|
+
const a = ee(s) ? { default: () => x(s) } : s;
|
|
146
146
|
if (!e.instance) {
|
|
147
147
|
const v = N({
|
|
148
148
|
setup(le, { expose: T }) {
|
|
@@ -163,7 +163,7 @@ function Ee(o, s, f) {
|
|
|
163
163
|
e.instance.visible = r;
|
|
164
164
|
}
|
|
165
165
|
function m() {
|
|
166
|
-
const r =
|
|
166
|
+
const r = Z();
|
|
167
167
|
setTimeout(() => {
|
|
168
168
|
e.app?.unmount?.(), e.app = null, e.instance = null, e.root?.remove(), e.root = void 0;
|
|
169
169
|
}, r);
|
|
@@ -173,14 +173,14 @@ function Ee(o, s, f) {
|
|
|
173
173
|
forConfirm: (r) => (p(r) && e.confirmMiddlewares.push(r), l),
|
|
174
174
|
forCancel: (r) => (p(r) && e.cancelMiddlewares.push(r), l),
|
|
175
175
|
open: (r) => (e.promise || (e.promise = new Promise((t, i) => {
|
|
176
|
-
|
|
176
|
+
M(u.loadingText, () => w(r, e.openMiddlewares)).then((a) => {
|
|
177
177
|
e.form = e.form || V(a), d(!0, (v) => {
|
|
178
178
|
e.form.submit(async () => {
|
|
179
179
|
await (z(v) ? w(e.form, e[`${v}Middlewares`]) : w(e.form, e.confirmMiddlewares)), t(q(e.form.values)), l.close(), m();
|
|
180
180
|
}).catch(() => {
|
|
181
181
|
});
|
|
182
182
|
}, async () => {
|
|
183
|
-
await
|
|
183
|
+
await M(u.loadingText, () => w(e.form, e.cancelMiddlewares)), l.close(), m(), i(new Error("cancel"));
|
|
184
184
|
});
|
|
185
185
|
}).catch(
|
|
186
186
|
/* istanbul ignore next -- @preserve */
|
|
@@ -193,7 +193,7 @@ function Ee(o, s, f) {
|
|
|
193
193
|
};
|
|
194
194
|
if (y(f))
|
|
195
195
|
for (const r of f) {
|
|
196
|
-
const t =
|
|
196
|
+
const t = F(r);
|
|
197
197
|
l[`for${S(t)}`] = (i) => (p(i) && e[`${t}Middlewares`].push(i), l);
|
|
198
198
|
}
|
|
199
199
|
return l;
|
|
@@ -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(() => 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
|
+
{"version":3,"file":"index.mjs","sources":["../../src/form-drawer/drawer-content.vue","../../src/form-drawer/index.ts"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { Form } from '@formily/core'\nimport type { ComponentPublicInstance, PropType } from 'vue'\nimport type { FormDrawerSlots, IFormDrawerProps } from './types'\nimport { isFn } from '@formily/shared'\nimport { FormProvider } from '@silver-formily/vue'\nimport { ElButton, ElConfigProvider, ElDrawer } from 'element-plus'\nimport { omit } from 'lodash-es'\nimport { computed, ref } from 'vue'\nimport { loadElConfigProvider, stylePrefix, useDebonceSubmitting } from '../__builtins__'\nimport { useEnterSubmit } from '../__builtins__/shared/use-enter-submit'\nimport { resolveDrawerElement } from '../shared/overlay-elements'\n\ndefineOptions({\n name: 'FormDrawerContent',\n})\n\nconst props = defineProps({\n drawerProps: {\n type: Object as PropType<IFormDrawerProps>,\n required: true,\n },\n visible: {\n type: Boolean,\n required: true,\n },\n form: {\n type: Object as PropType<Form>,\n required: true,\n },\n resolve: {\n type: Function as PropType<(type?: string) => void>,\n required: true,\n },\n reject: {\n type: Function as PropType<() => void>,\n required: true,\n },\n})\nconst slots = defineSlots<FormDrawerSlots>()\nconst prefixCls = `${stylePrefix}-form-drawer`\nconst elConfig = loadElConfigProvider()\n\nconst { internalSubmitting } = useDebonceSubmitting(props.form)\nconst _drawerProps = omit(props.drawerProps, ['modelValue', 'onUpdate:modelValue', 'beforeClose', 'enterSubmit'])\nconst drawerRef = ref<ComponentPublicInstance | null>(null)\nconst enableEnterSubmit = computed(() => props.drawerProps.enterSubmit !== false)\n\nuseEnterSubmit({\n visible: computed(() => props.visible),\n resolve: () => props.resolve(),\n submitting: internalSubmitting,\n getContainer: () => resolveDrawerElement(drawerRef.value),\n enabled: enableEnterSubmit,\n})\n</script>\n\n<template>\n <ElDrawer\n ref=\"drawerRef\"\n :class=\"prefixCls\"\n :z-index=\"elConfig.zIndex\"\n v-bind=\"_drawerProps\"\n :model-value=\"visible\"\n :before-close=\"(done) => {\n reject()\n if (isFn(props.drawerProps.beforeClose)) {\n props.drawerProps.beforeClose(done)\n }\n else {\n done()\n }\n }\"\n >\n <template v-if=\"slots.header\" #header>\n <slot name=\"header\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n\n <template #default>\n <FormProvider :form=\"form\">\n <ElConfigProvider v-bind=\"elConfig\">\n <slot :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </ElConfigProvider>\n </FormProvider>\n </template>\n\n <template #footer>\n <div :class=\"`${prefixCls}-footer`\">\n <template v-if=\"slots.footer\">\n <slot name=\"footer\" :resolve=\"resolve\" :reject=\"reject\" :form=\"form\" />\n </template>\n <template v-else>\n <ElButton\n v-bind=\"_drawerProps.cancelButtonProps\"\n @click=\"reject()\"\n >\n {{ _drawerProps.cancelText || '取消' }}\n </ElButton>\n <ElButton\n type=\"primary\"\n v-bind=\"_drawerProps.okButtonProps\"\n :loading=\"internalSubmitting\"\n @click=\"resolve()\"\n >\n {{ _drawerProps.okText || '确定' }}\n </ElButton>\n </template>\n </div>\n </template>\n </ElDrawer>\n</template>\n","import type { Form, IFormProps } from '@formily/core'\nimport type { IMiddleware } from '@formily/shared'\nimport type { App, Component } from 'vue'\nimport type { FormDrawerSlotContent, IFormDrawer, IFormDrawerProps } from './types'\nimport { createForm } from '@formily/core'\nimport { toJS } from '@formily/reactive'\nimport { applyMiddleware, isArr, isFn, isStr, isValid, pascalCase } from '@formily/shared'\nimport { observer } from '@silver-formily/reactive-vue'\nimport { camelCase } from 'lodash-es'\nimport { createApp, h, ref } from 'vue'\nimport { getTransitionDuration, isVueOptions, loading } from '../__builtins__'\nimport DrawerContent from './drawer-content.vue'\n\nexport function FormDrawer<\n T extends object = any,\n const DynamicMiddlewareNames extends readonly string[] = [],\n>(\n title: IFormDrawerProps | string,\n content?: Component | FormDrawerSlotContent,\n dynamicMiddlewareNames?: DynamicMiddlewareNames,\n): IFormDrawer<T, DynamicMiddlewareNames[number]> {\n const env: {\n root?: HTMLElement\n form?: Form<T>\n promise?: Promise<any>\n instance?: any\n app?: App<Element>\n openMiddlewares: IMiddleware<IFormProps<T>>[]\n confirmMiddlewares: IMiddleware<Form<T>>[]\n cancelMiddlewares: IMiddleware<Form<T>>[]\n [key: `${string}Middlewares`]: IMiddleware<Form<T>>[] | IMiddleware<IFormProps<T>>[] | undefined\n } = {\n root: document.createElement('div'),\n form: null,\n promise: null,\n app: null,\n instance: null,\n openMiddlewares: [],\n confirmMiddlewares: [],\n cancelMiddlewares: [],\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n /* istanbul ignore if -- @preserve */\n if (!isStr(middlewareName))\n return\n const _middlewareName = camelCase(middlewareName)\n /* istanbul ignore if -- @preserve */\n if (['open', 'cancel', 'confirm'].includes(_middlewareName)) {\n throw new Error(`for${pascalCase(_middlewareName)} is presved`)\n }\n (env[`${_middlewareName}Middlewares`] = [])\n }\n }\n\n document.body.append(env.root)\n\n const props = (isStr(title) ? ({ title }) : title) as IFormDrawerProps\n\n function render(visible: boolean, resolve?: (type?: string) => any, reject?: () => any) {\n const _content = isVueOptions(content) ? { default: () => h(content) } : content\n if (!env.instance) {\n const ComponentConstructor = observer({\n setup(_, { expose }) {\n const visible = ref(false)\n expose({\n visible,\n })\n return () => h(DrawerContent, {\n drawerProps: props,\n form: env.form,\n resolve,\n reject,\n visible: visible.value,\n }, _content)\n },\n })\n env.app = createApp(ComponentConstructor)\n env.instance = env.app.mount(env.root)\n }\n env.instance.visible = visible\n }\n\n function disposeDrawer() {\n const animationDuration = getTransitionDuration()\n setTimeout(() => {\n env.app?.unmount?.()\n env.app = null\n env.instance = null\n env.root?.remove()\n env.root = undefined\n }, animationDuration)\n }\n\n const formDrawer = {\n forOpen: (middleware: IMiddleware<IFormProps<T>>) => {\n isFn(middleware) && env.openMiddlewares.push(middleware)\n return formDrawer\n },\n forConfirm: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.confirmMiddlewares.push(middleware)\n return formDrawer\n },\n forCancel: (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env.cancelMiddlewares.push(middleware)\n return formDrawer\n },\n open: (payload: IFormProps<T>) => {\n /* istanbul ignore if -- @preserve */\n if (env.promise)\n return env.promise\n\n env.promise = new Promise((res, rej) => {\n loading(props.loadingText, () => applyMiddleware(payload, env.openMiddlewares))\n .then((resPayload) => {\n env.form = env.form || createForm(resPayload as IFormProps<T>)\n render(true, (type: string) => {\n env.form.submit(async () => {\n await (isValid(type) ? applyMiddleware(env.form, env[`${type}Middlewares`]) : applyMiddleware(env.form, env.confirmMiddlewares))\n res(toJS(env.form.values))\n formDrawer.close()\n disposeDrawer()\n }).catch(() => undefined)\n }, async () => {\n await loading(props.loadingText, () =>\n applyMiddleware(env.form, env.cancelMiddlewares))\n formDrawer.close()\n disposeDrawer()\n rej(new Error('cancel'))\n })\n })\n .catch(/* istanbul ignore next -- @preserve */ error => rej(error))\n })\n return env.promise\n },\n close: () => {\n /* istanbul ignore if -- @preserve */\n if (!env.root)\n return\n render(false)\n },\n }\n\n if (isArr(dynamicMiddlewareNames)) {\n for (const middlewareName of dynamicMiddlewareNames) {\n const _middlewareName = camelCase(middlewareName)\n formDrawer[`for${pascalCase(_middlewareName)}`] = (middleware: IMiddleware<Form<T>>) => {\n isFn(middleware) && env[`${_middlewareName}Middlewares`].push(middleware)\n return formDrawer\n }\n }\n }\n\n return formDrawer as IFormDrawer<T, DynamicMiddlewareNames[number]>\n}\n\nexport default FormDrawer\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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"}
|
|
@@ -23,11 +23,19 @@ export interface FormDrawerSlots {
|
|
|
23
23
|
export type FormDrawerSlotContent = SlotsType<FormDrawerSlots> | {
|
|
24
24
|
[key in keyof FormDrawerSlots]?: FormDrawerSlots[key];
|
|
25
25
|
};
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
type ReservedFormDrawerMiddlewareName = 'open' | 'confirm' | 'cancel';
|
|
27
|
+
type ReservedFormDrawerMiddlewareMethodName = `for${Capitalize<ReservedFormDrawerMiddlewareName>}`;
|
|
28
|
+
type NormalizeFormDrawerDynamicMiddlewareName<T extends string> = string extends T ? string : T extends `${infer Head}-${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T extends `${infer Head}_${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T extends `${infer Head} ${infer Tail}` ? `${Lowercase<Head>}${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<Tail>>}` : T;
|
|
29
|
+
type FormDrawerDynamicMiddlewareMethodName<T extends string> = `for${Capitalize<NormalizeFormDrawerDynamicMiddlewareName<T>>}`;
|
|
30
|
+
type FormDrawerDynamicMiddlewareMethods<T extends object, DynamicMiddlewareName extends string> = {
|
|
31
|
+
[K in FormDrawerDynamicMiddlewareMethodName<DynamicMiddlewareName> as K extends ReservedFormDrawerMiddlewareMethodName ? never : K]: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
32
|
+
};
|
|
33
|
+
interface IFormDrawerBase<T extends object = any, DynamicMiddlewareName extends string = never> {
|
|
34
|
+
forOpen: (middleware: IMiddleware<IFormProps<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
35
|
+
forConfirm: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
36
|
+
forCancel: (middleware: IMiddleware<Form<T>>) => IFormDrawer<T, DynamicMiddlewareName>;
|
|
31
37
|
open: (props?: IFormProps<T>) => Promise<any>;
|
|
32
38
|
close: () => void;
|
|
33
39
|
}
|
|
40
|
+
export type IFormDrawer<T extends object = any, DynamicMiddlewareName extends string = never> = IFormDrawerBase<T, DynamicMiddlewareName> & FormDrawerDynamicMiddlewareMethods<T, DynamicMiddlewareName>;
|
|
41
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
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\
|
|
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\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,9 +1,13 @@
|
|
|
1
|
-
import { observer as
|
|
1
|
+
import { observer as s } from "@silver-formily/reactive-vue";
|
|
2
|
+
import "element-plus";
|
|
3
|
+
import "@vueuse/core";
|
|
2
4
|
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
|
|
4
|
-
import
|
|
5
|
+
import "@formily/core";
|
|
6
|
+
import "@silver-formily/vue";
|
|
7
|
+
import { composeExport as v } from "../__builtins__/shared/utils.mjs";
|
|
8
|
+
import { createGrid as F } from "@silver-formily/grid";
|
|
5
9
|
import { stylePrefix as S } from "../__builtins__/configs/index.mjs";
|
|
6
|
-
import {
|
|
10
|
+
import { FormGridSymbol as h } from "./hooks.mjs";
|
|
7
11
|
import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__PURE__ */ l({
|
|
8
12
|
name: "FFormGridColumn",
|
|
9
13
|
__name: "form-grid-column",
|
|
@@ -13,15 +17,13 @@ import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__P
|
|
|
13
17
|
default: 1
|
|
14
18
|
}
|
|
15
19
|
},
|
|
16
|
-
setup(
|
|
17
|
-
const r =
|
|
18
|
-
gridColumn: "1 / -1"
|
|
19
|
-
} : {
|
|
20
|
+
setup(m) {
|
|
21
|
+
const r = m, a = u(() => r.gridSpan === -1 ? {} : {
|
|
20
22
|
gridColumn: `span ${r.gridSpan} / auto`
|
|
21
23
|
});
|
|
22
24
|
return (t, e) => (d(), c("div", {
|
|
23
25
|
"data-grid-span": r.gridSpan,
|
|
24
|
-
style: f(
|
|
26
|
+
style: f(a.value)
|
|
25
27
|
}, [
|
|
26
28
|
y(t.$slots, "default")
|
|
27
29
|
], 12, N));
|
|
@@ -69,18 +71,18 @@ import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__P
|
|
|
69
71
|
type: Object
|
|
70
72
|
}
|
|
71
73
|
},
|
|
72
|
-
setup(
|
|
73
|
-
const r =
|
|
74
|
+
setup(m) {
|
|
75
|
+
const r = m, a = `${S}-form-grid`, t = b(), e = u(() => {
|
|
74
76
|
const { grid: o, ...n } = r, g = {
|
|
75
77
|
columnGap: r?.columnGap ?? 8,
|
|
76
78
|
rowGap: r.rowGap ?? 4,
|
|
77
79
|
...Object.fromEntries(
|
|
78
|
-
Object.entries(n).filter(([
|
|
80
|
+
Object.entries(n).filter(([i, p]) => p !== void 0).map(([i, p]) => [i, p])
|
|
79
81
|
)
|
|
80
82
|
};
|
|
81
|
-
return o ??
|
|
83
|
+
return o ?? F(g);
|
|
82
84
|
});
|
|
83
|
-
return G(
|
|
85
|
+
return G(h, e), _((o) => {
|
|
84
86
|
const n = e.value.connect(t.value);
|
|
85
87
|
o(() => {
|
|
86
88
|
n();
|
|
@@ -88,7 +90,7 @@ import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__P
|
|
|
88
90
|
}), (o, n) => (d(), c("div", {
|
|
89
91
|
ref_key: "rootRef",
|
|
90
92
|
ref: t,
|
|
91
|
-
class: C(
|
|
93
|
+
class: C(a),
|
|
92
94
|
style: f({
|
|
93
95
|
gridTemplateColumns: e.value.templateColumns,
|
|
94
96
|
gap: e.value.gap
|
|
@@ -97,11 +99,11 @@ import '../styles/form-grid/index.css';const N = ["data-grid-span"], x = /* @__P
|
|
|
97
99
|
y(o.$slots, "default")
|
|
98
100
|
], 4));
|
|
99
101
|
}
|
|
100
|
-
}), $ =
|
|
102
|
+
}), $ = s(A), k = s(x), T = v($, {
|
|
101
103
|
GridColumn: k
|
|
102
104
|
});
|
|
103
105
|
export {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
+
T as FormGrid,
|
|
107
|
+
T as default
|
|
106
108
|
};
|
|
107
109
|
//# 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>\
|
|
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>\nimport { computed } from 'vue'\n\ndefineOptions({\n name: 'FFormGridColumn',\n})\n\nconst props = defineProps({\n gridSpan: {\n type: Number,\n default: 1,\n },\n})\n\nconst gridColumnStyle = computed(() => {\n if (props.gridSpan === -1) {\n // gridSpan=-1 means \"fill remaining columns in current row\".\n // Leave gridColumn unset so @silver-formily/grid can manage it dynamically.\n return {}\n }\n return {\n gridColumn: `span ${props.gridSpan} / auto`,\n }\n})\n</script>\n\n<template>\n <!-- @silver-formily/grid 会优先使用这个值,如果没有会自动生成 -->\n <div :data-grid-span=\"props.gridSpan\" :style=\"gridColumnStyle\">\n <slot />\n </div>\n</template>\n","<script lang=\"ts\" setup>\nimport type { Grid, IGridOptions } from '@silver-formily/grid'\nimport type { PropType } from 'vue'\nimport { createGrid } from '@silver-formily/grid'\nimport { computed, provide, ref, watchEffect } from 'vue'\nimport { stylePrefix } from '../__builtins__'\nimport { FormGridSymbol } from './hooks'\n\ndefineOptions({\n name: 'FFormGrid',\n})\n\nconst props = defineProps({\n columnGap: {\n type: Number,\n },\n rowGap: {\n type: Number,\n },\n minColumns: {\n type: [Number, Array],\n },\n minWidth: {\n type: [Number, Array],\n },\n maxColumns: {\n type: [Number, Array],\n },\n maxWidth: {\n type: [Number, Array],\n },\n breakpoints: {\n type: Array as PropType<number[]>,\n },\n colWrap: {\n type: Boolean,\n default: true,\n },\n strictAutoFit: {\n type: Boolean,\n default: false,\n },\n shouldVisible: {\n type: Function as PropType<IGridOptions['shouldVisible']>,\n default() {\n return () => true\n },\n },\n grid: {\n type: Object as PropType<Grid<HTMLElement>>,\n },\n})\n\nconst prefixCls = `${stylePrefix}-form-grid`\nconst rootRef = ref<HTMLElement>()\n\nconst gridInstance = computed(() => {\n const { grid, ...restProps } = props\n const options = {\n columnGap: props?.columnGap ?? 8,\n rowGap: props.rowGap ?? 4,\n ...Object.fromEntries(\n Object.entries(restProps)\n .filter(([_, v]) => v !== undefined)\n .map(([k, v]) => [k, v]),\n ),\n }\n return grid ?? createGrid(options)\n})\n\nprovide(FormGridSymbol, gridInstance)\n\nwatchEffect((onInvalidate) => {\n const dispose = gridInstance.value.connect(rootRef.value)\n onInvalidate(() => {\n dispose()\n })\n})\n</script>\n\n<template>\n <div\n ref=\"rootRef\"\n :class=\"prefixCls\"\n :style=\"{\n gridTemplateColumns: gridInstance.templateColumns,\n gap: gridInstance.gap,\n }\"\n >\n <slot />\n </div>\n</template>\n","import { observer } from '@silver-formily/reactive-vue'\nimport { composeExport } from '../__builtins__'\nimport FFormGridColumn from './form-grid-column.vue'\nimport FFormGrid from './form-grid.vue'\nimport './style.scss'\n\nconst FormGridInner = observer(FFormGrid)\n\nconst FormGridColumn = observer(FFormGridColumn)\n\nexport const FormGrid = composeExport(FormGridInner, {\n GridColumn: FormGridColumn,\n})\n\nexport default FormGrid\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,KAGd,CAAA,IAEF;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,QAA+B,qBAAAb,EAAA,MAAa;AAAA,QAA4B,KAAAA,EAAA,MAAa;AAAA,MAAA;;MAK3FN,EAAQC,EAAA,QAAA,SAAA;AAAA,IAAA;;ICnFNmB,IAAgBC,EAASC,CAAS,GAElCC,IAAiBF,EAASG,CAAe,GAElCC,IAAWC,EAAcN,GAAe;AAAA,EACnD,YAAYG;AACd,CAAC;"}
|