pro-design-vue 1.2.29 → 1.2.31
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/index.css +1 -1
- package/dist/index.full.js +27 -16
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -7
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +27 -16
- package/es/packages/components/form/src/components/FormSubmitter.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs +3 -2
- package/es/packages/components/form/src/fields/FieldUploadButton.mjs.map +1 -1
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs +6 -2
- package/es/packages/components/form/src/fields/FieldUploadDragger.mjs.map +1 -1
- package/es/packages/components/form/src/layouts/DrawerForm.mjs +9 -5
- package/es/packages/components/form/src/layouts/DrawerForm.mjs.map +1 -1
- package/es/packages/components/form/src/layouts/ModalForm.mjs +8 -4
- package/es/packages/components/form/src/layouts/ModalForm.mjs.map +1 -1
- package/es/packages/components/modal/src/modal.vue2.mjs +1 -1
- package/es/packages/components/modal/src/modal.vue2.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/packages/components/form/src/components/FormSubmitter.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadButton.js +3 -2
- package/lib/packages/components/form/src/fields/FieldUploadButton.js.map +1 -1
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js +6 -2
- package/lib/packages/components/form/src/fields/FieldUploadDragger.js.map +1 -1
- package/lib/packages/components/form/src/layouts/DrawerForm.js +11 -7
- package/lib/packages/components/form/src/layouts/DrawerForm.js.map +1 -1
- package/lib/packages/components/form/src/layouts/ModalForm.js +10 -6
- package/lib/packages/components/form/src/layouts/ModalForm.js.map +1 -1
- package/lib/packages/components/modal/src/modal.vue2.js +1 -1
- package/lib/packages/components/modal/src/modal.vue2.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/pro-form.css +1 -1
- package/theme-chalk/src/form.less +6 -0
|
@@ -4,6 +4,7 @@ import { Modal } from 'ant-design-vue';
|
|
|
4
4
|
import { drawerOrModalFormProps } from '../props.mjs';
|
|
5
5
|
import BaseForm from '../base/BaseForm.mjs';
|
|
6
6
|
import { useIntl } from '../../../config-provider/src/useIntl.mjs';
|
|
7
|
+
import { usePrefixCls } from '../../../../hooks/use-prefix-cls/index.mjs';
|
|
7
8
|
import { omitUndefined, omit } from '../../../../utils/omit.mjs';
|
|
8
9
|
import { pickKeys } from '../../../../utils/pick-keys.mjs';
|
|
9
10
|
import { merge } from 'lodash-unified';
|
|
@@ -28,6 +29,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
|
28
29
|
const loading = ref(false);
|
|
29
30
|
const valuesChanged = ref(false);
|
|
30
31
|
const intl = useIntl();
|
|
32
|
+
const prefixCls = usePrefixCls("modal-form");
|
|
31
33
|
const formRef = ref();
|
|
32
34
|
const footerRef = ref(null);
|
|
33
35
|
const open = computed({
|
|
@@ -50,7 +52,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
|
50
52
|
const formProps = computed(() => {
|
|
51
53
|
var _a;
|
|
52
54
|
return {
|
|
53
|
-
...omitUndefined(omit(props, ["onInit", "onOpenChange", "closeOnFinish", "modalProps", "title", "width", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
|
55
|
+
...omitUndefined(omit(props, ["onInit", "onOpenChange", "closeOnFinish", "modalProps", "title", "width", "onReset", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter", "onValuesChange"])),
|
|
54
56
|
layout: (_a = props.layout) != null ? _a : "vertical"
|
|
55
57
|
};
|
|
56
58
|
});
|
|
@@ -62,7 +64,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
|
62
64
|
const modalProps = computed(() => {
|
|
63
65
|
var _a;
|
|
64
66
|
return omitUndefined({
|
|
65
|
-
...omit((_a = props.modalProps) != null ? _a : {}, ["title", "width", "footer"]),
|
|
67
|
+
...omit((_a = props.modalProps) != null ? _a : {}, ["title", "width", "footer", "onCancel", "afterClose"]),
|
|
66
68
|
width: props.width,
|
|
67
69
|
title: props.title,
|
|
68
70
|
footer: props.submitter === false ? null : void 0
|
|
@@ -85,6 +87,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
|
85
87
|
submitText: (_b = (_a = modalProps.value) == null ? void 0 : _a.okText) != null ? _b : intl.getMessage("confirm.okText", "\u786E\u8BA4"),
|
|
86
88
|
resetText: (_d = (_c = modalProps.value) == null ? void 0 : _c.cancelText) != null ? _d : intl.getMessage("confirm.cancelText", "\u53D6\u6D88")
|
|
87
89
|
},
|
|
90
|
+
class: `${prefixCls}-submitter`,
|
|
88
91
|
resetButtonProps: {
|
|
89
92
|
preventDefault: true,
|
|
90
93
|
disabled: props.submitTimeout ? loading.value : void 0,
|
|
@@ -125,7 +128,7 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
|
125
128
|
});
|
|
126
129
|
} else {
|
|
127
130
|
open.value = false;
|
|
128
|
-
(_b = (_a = modalProps
|
|
131
|
+
(_b = (_a = props.modalProps) == null ? void 0 : _a.onCancel) == null ? void 0 : _b.call(_a, e);
|
|
129
132
|
}
|
|
130
133
|
};
|
|
131
134
|
const resetFields = () => {
|
|
@@ -158,12 +161,13 @@ var ModalForm = /* @__PURE__ */ defineComponent({
|
|
|
158
161
|
return result;
|
|
159
162
|
};
|
|
160
163
|
return () => createVNode(Fragment, null, [createVNode(ProModal, mergeProps(modalProps.value, {
|
|
164
|
+
"class": prefixCls,
|
|
161
165
|
"open": open.value,
|
|
162
166
|
"afterClose": () => {
|
|
163
167
|
var _a, _b;
|
|
164
168
|
resetFields();
|
|
165
169
|
valuesChanged.value = false;
|
|
166
|
-
(_b = (_a = modalProps
|
|
170
|
+
(_b = (_a = props.modalProps) == null ? void 0 : _a.afterClose) == null ? void 0 : _b.call(_a);
|
|
167
171
|
},
|
|
168
172
|
"onCancel": (e) => {
|
|
169
173
|
if (props.submitTimeout && loading.value) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModalForm.mjs","sources":["../../../../../../../../packages/components/form/src/layouts/ModalForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-09-21 23:53:22\n * @Description:\n */\nimport { ref, computed, watch, defineComponent } from 'vue'\nimport { ProModal, type ProModalProps } from '@pro-design-vue/components/modal'\nimport { Modal } from 'ant-design-vue'\nimport { drawerOrModalFormProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport {\n cloneElement,\n filterEmpty,\n merge,\n omit,\n omitUndefined,\n pickKeys,\n} from '@pro-design-vue/utils'\nimport BaseForm from '../base/BaseForm'\n\nimport type { PropType } from 'vue'\nimport type { ProFormActionType } from '../type'\n\nexport default defineComponent({\n name: 'ProModalForm',\n inheritAttrs: false,\n props: {\n ...drawerOrModalFormProps(),\n modalProps: {\n type: Object as PropType<ProModalProps>,\n default: undefined,\n },\n },\n emits: ['update:open'],\n setup(props, { slots, emit }) {\n const _open = ref(false)\n const loading = ref(false)\n const valuesChanged = ref(false)\n const intl = useIntl()\n const formRef = ref<ProFormActionType>()\n const footerRef = ref<HTMLDivElement | null>(null)\n const open = computed({\n get: () => {\n return props.open ?? _open.value\n },\n set: (val) => {\n if (typeof props.open === 'undefined') {\n _open.value = val\n } else {\n emit('update:open', val)\n }\n },\n })\n\n watch(open, () => {\n props.onOpenChange?.(open.value)\n })\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'onInit',\n 'onOpenChange',\n 'closeOnFinish',\n 'modalProps',\n 'title',\n 'width',\n 'confirmOnValuesChange',\n 'submitTimeout',\n 'onFinish',\n 'submitter',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formSlots = computed(() => {\n return {\n ...omitUndefined(omit(slots, ['trigger', 'closeIcon', 'extra', 'footer', 'title'])),\n }\n })\n\n const modalProps = computed<ProModalProps>(() =>\n omitUndefined({\n ...omit(props.modalProps ?? {}, ['title', 'width', 'footer']),\n width: props.width,\n title: props.title,\n footer: props.submitter === false ? null : undefined,\n }),\n )\n\n const modalSlots = computed(() => {\n return {\n ...omitUndefined(pickKeys(slots, ['closeIcon', 'title'])),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n teleport: footerRef.value,\n reverse: true,\n searchConfig: {\n submitText: modalProps.value?.okText ?? intl.getMessage('confirm.okText', '确认'),\n resetText:\n modalProps.value?.cancelText ?? intl.getMessage('confirm.cancelText', '取消'),\n },\n resetButtonProps: {\n preventDefault: true,\n disabled: props.submitTimeout ? loading.value : undefined,\n onClick: (e: any) => {\n closeConfirm(e)\n },\n },\n },\n props.submitter,\n )\n })\n\n const triggerDom = computed(() => {\n if (!slots.trigger) {\n return null\n }\n const trigger: any = filterEmpty(slots.trigger())[0]\n return cloneElement(trigger, {\n key: 'trigger',\n ...trigger?.props,\n onClick: async (e: any) => {\n open.value = !open.value\n trigger?.props?.onClick?.(e)\n },\n })\n })\n\n const closeConfirm = (e) => {\n if (props.confirmOnValuesChange && valuesChanged.value) {\n Modal.confirm({\n title: intl.getMessage('confirm.title', '提示'),\n content: intl.getMessage(\n 'confirm.formModalCloseContent',\n '您的表单还没有保存,您确定关闭吗?',\n ),\n onOk() {\n open.value = false\n modalProps.value?.onCancel?.(e)\n },\n onCancel() {},\n })\n } else {\n open.value = false\n modalProps.value?.onCancel?.(e)\n }\n }\n\n const resetFields = () => {\n if (formRef.value && !modalProps.value?.destroyOnClose) {\n formRef.value?.reset?.()\n }\n }\n\n const onFinishHandle = async (values: any) => {\n const response = props.onFinish?.(values)\n if (props.submitTimeout && response instanceof Promise) {\n loading.value = true\n const timer = setTimeout(() => {\n loading.value = false\n }, props.submitTimeout)\n response.finally(() => {\n clearTimeout(timer)\n loading.value = false\n })\n }\n const result = await response\n if (result) {\n if (props.closeOnFinish) {\n open.value = false\n } else {\n valuesChanged.value = false\n }\n }\n return result\n }\n\n return () => (\n <>\n <ProModal\n {...modalProps.value}\n open={open.value}\n afterClose={() => {\n resetFields()\n valuesChanged.value = false\n modalProps.value?.afterClose?.()\n }}\n onCancel={(e) => {\n if (props.submitTimeout && loading.value) return\n closeConfirm(e)\n }}\n v-slots={{\n ...modalSlots.value,\n footer:\n props.submitter !== false\n ? () => (\n <div style=\"display: flex; justify-content: flex-end;\" ref={footerRef}></div>\n )\n : undefined,\n }}\n >\n <BaseForm\n {...formProps.value}\n submitter={submitterConfig.value}\n v-slots={formSlots.value}\n onFinish={async (values) => {\n const result = await onFinishHandle(values)\n return result\n }}\n onValuesChange={(values) => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = true\n }\n props.onValuesChange?.(values)\n }}\n onReset={() => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = false\n }\n props.onReset?.()\n }}\n onInit={(values, action) => {\n formRef.value = action\n props.onInit?.(values, action)\n }}\n />\n </ProModal>\n {triggerDom.value}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","drawerOrModalFormProps","modalProps","type","Object","default","undefined","emits","setup","slots","emit","_open","ref","loading","valuesChanged","intl","useIntl","formRef","footerRef","open","computed","get","value","set","val","watch","onOpenChange","formProps","omitUndefined","omit","layout","formSlots","width","title","footer","submitter","modalSlots","pickKeys","submitterConfig","merge","teleport","reverse","searchConfig","submitText","okText","getMessage","resetText","cancelText","resetButtonProps","preventDefault","disabled","submitTimeout","onClick","e","closeConfirm","triggerDom","trigger","filterEmpty","cloneElement","key","confirmOnValuesChange","Modal","confirm","content","onOk","_a","_b","onCancel","resetFields","destroyOnClose","reset","onFinishHandle","values","response","onFinish","Promise","timer","setTimeout","finally","clearTimeout","result","closeOnFinish","_createVNode","_Fragment","ProModal","_mergeProps","afterClose","BaseForm","onValuesChange","onReset","onInit","action"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ModalForm.mjs","sources":["../../../../../../../../packages/components/form/src/layouts/ModalForm.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-28 13:01:45\n * @LastEditors: shen\n * @LastEditTime: 2025-11-05 08:51:45\n * @Description:\n */\nimport { ref, computed, watch, defineComponent } from 'vue'\nimport { ProModal, type ProModalProps } from '@pro-design-vue/components/modal'\nimport { Modal } from 'ant-design-vue'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { drawerOrModalFormProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport {\n cloneElement,\n filterEmpty,\n merge,\n omit,\n omitUndefined,\n pickKeys,\n} from '@pro-design-vue/utils'\nimport BaseForm from '../base/BaseForm'\n\nimport type { PropType } from 'vue'\nimport type { ProFormActionType } from '../type'\n\nexport default defineComponent({\n name: 'ProModalForm',\n inheritAttrs: false,\n props: {\n ...drawerOrModalFormProps(),\n modalProps: {\n type: Object as PropType<ProModalProps>,\n default: undefined,\n },\n },\n emits: ['update:open'],\n setup(props, { slots, emit }) {\n const _open = ref(false)\n const loading = ref(false)\n const valuesChanged = ref(false)\n const intl = useIntl()\n const prefixCls = usePrefixCls('modal-form')\n const formRef = ref<ProFormActionType>()\n const footerRef = ref<HTMLDivElement | null>(null)\n const open = computed({\n get: () => {\n return props.open ?? _open.value\n },\n set: (val) => {\n if (typeof props.open === 'undefined') {\n _open.value = val\n } else {\n emit('update:open', val)\n }\n },\n })\n\n watch(open, () => {\n props.onOpenChange?.(open.value)\n })\n\n const formProps = computed(() => {\n return {\n ...omitUndefined(\n omit(props, [\n 'onInit',\n 'onOpenChange',\n 'closeOnFinish',\n 'modalProps',\n 'title',\n 'width',\n 'onReset',\n 'confirmOnValuesChange',\n 'submitTimeout',\n 'onFinish',\n 'submitter',\n 'onValuesChange',\n ]),\n ),\n layout: props.layout ?? 'vertical',\n }\n })\n\n const formSlots = computed(() => {\n return {\n ...omitUndefined(omit(slots, ['trigger', 'closeIcon', 'extra', 'footer', 'title'])),\n }\n })\n\n const modalProps = computed<ProModalProps>(() =>\n omitUndefined({\n ...omit(props.modalProps ?? {}, ['title', 'width', 'footer', 'onCancel', 'afterClose']),\n width: props.width,\n title: props.title,\n footer: props.submitter === false ? null : undefined,\n }),\n )\n\n const modalSlots = computed(() => {\n return {\n ...omitUndefined(pickKeys(slots, ['closeIcon', 'title'])),\n }\n })\n\n const submitterConfig = computed(() => {\n if (props.submitter === false) {\n return false\n }\n\n return merge(\n {\n teleport: footerRef.value,\n reverse: true,\n searchConfig: {\n submitText: modalProps.value?.okText ?? intl.getMessage('confirm.okText', '确认'),\n resetText:\n modalProps.value?.cancelText ?? intl.getMessage('confirm.cancelText', '取消'),\n },\n class: `${prefixCls}-submitter`,\n resetButtonProps: {\n preventDefault: true,\n disabled: props.submitTimeout ? loading.value : undefined,\n onClick: (e: any) => {\n closeConfirm(e)\n },\n },\n },\n props.submitter,\n )\n })\n\n const triggerDom = computed(() => {\n if (!slots.trigger) {\n return null\n }\n const trigger: any = filterEmpty(slots.trigger())[0]\n return cloneElement(trigger, {\n key: 'trigger',\n ...trigger?.props,\n onClick: async (e: any) => {\n open.value = !open.value\n trigger?.props?.onClick?.(e)\n },\n })\n })\n\n const closeConfirm = (e) => {\n if (props.confirmOnValuesChange && valuesChanged.value) {\n Modal.confirm({\n title: intl.getMessage('confirm.title', '提示'),\n content: intl.getMessage(\n 'confirm.formModalCloseContent',\n '您的表单还没有保存,您确定关闭吗?',\n ),\n onOk() {\n open.value = false\n modalProps.value?.onCancel?.(e)\n },\n onCancel() {},\n })\n } else {\n open.value = false\n props.modalProps?.onCancel?.(e)\n }\n }\n\n const resetFields = () => {\n if (formRef.value && !modalProps.value?.destroyOnClose) {\n formRef.value?.reset?.()\n }\n }\n\n const onFinishHandle = async (values: any) => {\n const response = props.onFinish?.(values)\n if (props.submitTimeout && response instanceof Promise) {\n loading.value = true\n const timer = setTimeout(() => {\n loading.value = false\n }, props.submitTimeout)\n response.finally(() => {\n clearTimeout(timer)\n loading.value = false\n })\n }\n const result = await response\n if (result) {\n if (props.closeOnFinish) {\n open.value = false\n } else {\n valuesChanged.value = false\n }\n }\n return result\n }\n\n return () => (\n <>\n <ProModal\n {...modalProps.value}\n class={prefixCls}\n open={open.value}\n afterClose={() => {\n resetFields()\n valuesChanged.value = false\n props.modalProps?.afterClose?.()\n }}\n onCancel={(e) => {\n if (props.submitTimeout && loading.value) return\n closeConfirm(e)\n }}\n v-slots={{\n ...modalSlots.value,\n footer:\n props.submitter !== false\n ? () => (\n <div style=\"display: flex; justify-content: flex-end;\" ref={footerRef}></div>\n )\n : undefined,\n }}\n >\n <BaseForm\n {...formProps.value}\n submitter={submitterConfig.value}\n v-slots={formSlots.value}\n onFinish={async (values) => {\n const result = await onFinishHandle(values)\n return result\n }}\n onValuesChange={(values) => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = true\n }\n props.onValuesChange?.(values)\n }}\n onReset={() => {\n if (props.confirmOnValuesChange) {\n valuesChanged.value = false\n }\n props.onReset?.()\n }}\n onInit={(values, action) => {\n formRef.value = action\n props.onInit?.(values, action)\n }}\n />\n </ProModal>\n {triggerDom.value}\n </>\n )\n },\n})\n"],"names":["name","inheritAttrs","props","drawerOrModalFormProps","modalProps","type","Object","default","undefined","emits","setup","slots","emit","_open","ref","loading","valuesChanged","intl","useIntl","prefixCls","usePrefixCls","formRef","footerRef","open","computed","get","value","set","val","watch","onOpenChange","formProps","omitUndefined","omit","layout","formSlots","width","title","footer","submitter","modalSlots","pickKeys","submitterConfig","merge","teleport","reverse","searchConfig","submitText","okText","getMessage","resetText","cancelText","class","resetButtonProps","preventDefault","disabled","submitTimeout","onClick","e","closeConfirm","triggerDom","trigger","filterEmpty","cloneElement","key","confirmOnValuesChange","Modal","confirm","content","onOk","_a","_b","onCancel","resetFields","destroyOnClose","reset","onFinishHandle","values","response","onFinish","Promise","timer","setTimeout","finally","clearTimeout","result","closeOnFinish","_createVNode","_Fragment","ProModal","_mergeProps","afterClose","BaseForm","onValuesChange","onReset","onInit","action"],"mappings":"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"}
|
|
@@ -97,7 +97,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
97
97
|
);
|
|
98
98
|
const modalClass = computed(() => ({
|
|
99
99
|
[prefixCls]: true,
|
|
100
|
-
[attrs.class]: true,
|
|
100
|
+
[attrs.class || ""]: true,
|
|
101
101
|
[`${prefixCls}--fullscreen`]: hasFullscreen.value,
|
|
102
102
|
[`${prefixCls}--draggable`]: hasDraggable.value
|
|
103
103
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.vue2.mjs","sources":["../../../../../../../packages/components/modal/src/modal.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-23 16:43:27\n * @LastEditors: shen\n * @LastEditTime: 2025-10-18 19:12:36\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ModalProps } from 'ant-design-vue'\n\nimport { computed, ref, useTemplateRef, useAttrs } from 'vue'\nimport { Modal } from 'ant-design-vue'\nimport { CloseOutlined, FullscreenOutlined, FullscreenExitOutlined } from '@ant-design/icons-vue'\nimport { ProButton } from '@pro-design-vue/components/button'\nimport { omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useIsMobile, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useDraggable, useElementBounding, useResizeObserver } from '@vueuse/core'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport interface Props extends Omit<ModalProps, 'visible'> {\n /**\n * @zh_CN 标题描述信息\n */\n description?: string\n /**\n * @zh_CN 是否可以切换全屏\n */\n showFullscreen?: boolean\n /**\n * @zh_CN 默认全屏\n */\n defaultFullscreen?: boolean\n /**\n * @zh_CN 是否可以拖拽\n */\n draggable?: boolean\n /**\n * @zh_CN 距离顶部距离\n */\n top?: number\n}\ndefineOptions({\n name: 'ProModal',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n autofocus: false,\n closable: true,\n destroyOnClose: true,\n getContainer: () => document.body,\n mask: true,\n keyboard: true,\n maskClosable: true,\n open: false,\n showFullscreen: undefined,\n draggable: undefined,\n top: 100,\n})\nconst emit = defineEmits<{ cancel: [e: Event]; fullScreen: [value: boolean] }>()\nconst attrs = useAttrs()\nconst prefixCls = usePrefixCls('modal')\n// const open = defineModel<boolean>('open')\nconst isDrag = ref(false)\nconst fullscreen = ref(props.defaultFullscreen)\nconst { isMobile } = useIsMobile()\nconst { modal } = useProConfigInject()\nconst bodyWidth = ref(0)\nconst modalHeaderEl = useTemplateRef<HTMLElement>('modalHeaderRef')\nconst { width } = useElementBounding(modalHeaderEl)\nuseResizeObserver(document.body, (entries) => {\n const entry = entries[0]\n const { width } = entry?.contentRect || ({} as DOMRectReadOnly)\n bodyWidth.value = width\n})\n\nconst mergeShowFullscreen = computed(() => props.showFullscreen ?? modal?.value?.showFullscreen)\nconst mergeDraggable = computed(() => props.draggable ?? modal?.value?.draggable)\n\nconst hasFullscreen = computed(() => isMobile.value || fullscreen.value)\nconst hasDraggable = computed(() => mergeDraggable.value && !hasFullscreen.value)\n\nconst { style } = useDraggable(modalHeaderEl, {\n disabled: computed(() => !hasDraggable.value),\n onMove() {\n isDrag.value = true\n },\n})\n\nconst modalProps = computed(() =>\n omitKeysAndUndefined(props, ['closable', 'onCancel', 'title', 'width', 'height']),\n)\n\nconst modalClass = computed(() => ({\n [prefixCls]: true,\n [attrs.class as string]: true,\n [`${prefixCls}--fullscreen`]: hasFullscreen.value,\n [`${prefixCls}--draggable`]: hasDraggable.value,\n}))\n\nconst modalStyle = computed(() => {\n if (isDrag.value) {\n return style.value\n }\n if (hasDraggable.value) {\n return {\n left: (bodyWidth.value - width.value) / 2 + 'px',\n top: `${props.top}px`,\n }\n }\n return {\n top: `${props.top}px`,\n }\n})\n\nconst modalWidth = computed(() => {\n if (hasFullscreen.value) {\n return '100%'\n }\n return props.width\n})\n\nconst handleClose = (e: Event) => {\n fullscreen.value = props.defaultFullscreen\n props['onUpdate:open']?.(false)\n emit('cancel', e)\n}\n\nconst handleBtnClose = (e: Event) => {\n e.stopPropagation()\n handleClose(e)\n}\n\nconst handleFullScreen = () => {\n fullscreen.value = !fullscreen.value\n emit('fullScreen', fullscreen.value)\n}\n</script>\n\n<template>\n <Modal\n v-bind=\"modalProps\"\n :class=\"modalClass\"\n :closable=\"false\"\n :width=\"modalWidth\"\n :style=\"modalStyle\"\n @cancel=\"handleClose\"\n >\n <template #title v-if=\"title || $slots.title\">\n <div ref=\"modalHeaderRef\" :class=\"`${prefixCls}-header`\">\n <slot name=\"title\">\n <div :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n <slot name=\"description\">\n <div :class=\"`${prefixCls}-description`\">{{ description }}</div>\n </slot>\n <div :class=\"`${prefixCls}-extra`\">\n <ProButton\n v-if=\"mergeShowFullscreen && !isMobile\"\n :class=\"`${prefixCls}-fullscreen`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleFullScreen\"\n >\n <template #icon>\n <FullscreenOutlined v-if=\"!fullscreen\" />\n <FullscreenExitOutlined v-else />\n </template>\n </ProButton>\n <ProButton\n v-if=\"closable\"\n :class=\"`${prefixCls}-close`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleBtnClose\"\n >\n <template #icon>\n <CloseOutlined />\n </template>\n </ProButton>\n </div>\n </div>\n </template>\n <template #default>\n <slot />\n </template>\n\n <template #footer v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </template>\n </Modal>\n</template>\n"],"names":["width","_createBlock","_unref","_mergeProps","_renderSlot","title","$slots","_createElementVNode","description","closable","_createVNode"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modal.vue2.mjs","sources":["../../../../../../../packages/components/modal/src/modal.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-23 16:43:27\n * @LastEditors: shen\n * @LastEditTime: 2025-11-05 08:49:56\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { ModalProps } from 'ant-design-vue'\n\nimport { computed, ref, useTemplateRef, useAttrs } from 'vue'\nimport { Modal } from 'ant-design-vue'\nimport { CloseOutlined, FullscreenOutlined, FullscreenExitOutlined } from '@ant-design/icons-vue'\nimport { ProButton } from '@pro-design-vue/components/button'\nimport { omitKeysAndUndefined } from '@pro-design-vue/utils'\nimport { useIsMobile, usePrefixCls } from '@pro-design-vue/hooks'\nimport { useDraggable, useElementBounding, useResizeObserver } from '@vueuse/core'\nimport { useProConfigInject } from '@pro-design-vue/components/config-provider'\n\nexport interface Props extends Omit<ModalProps, 'visible'> {\n /**\n * @zh_CN 标题描述信息\n */\n description?: string\n /**\n * @zh_CN 是否可以切换全屏\n */\n showFullscreen?: boolean\n /**\n * @zh_CN 默认全屏\n */\n defaultFullscreen?: boolean\n /**\n * @zh_CN 是否可以拖拽\n */\n draggable?: boolean\n /**\n * @zh_CN 距离顶部距离\n */\n top?: number\n}\ndefineOptions({\n name: 'ProModal',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n autofocus: false,\n closable: true,\n destroyOnClose: true,\n getContainer: () => document.body,\n mask: true,\n keyboard: true,\n maskClosable: true,\n open: false,\n showFullscreen: undefined,\n draggable: undefined,\n top: 100,\n})\nconst emit = defineEmits<{ cancel: [e: Event]; fullScreen: [value: boolean] }>()\nconst attrs = useAttrs()\nconst prefixCls = usePrefixCls('modal')\n// const open = defineModel<boolean>('open')\nconst isDrag = ref(false)\nconst fullscreen = ref(props.defaultFullscreen)\nconst { isMobile } = useIsMobile()\nconst { modal } = useProConfigInject()\nconst bodyWidth = ref(0)\nconst modalHeaderEl = useTemplateRef<HTMLElement>('modalHeaderRef')\nconst { width } = useElementBounding(modalHeaderEl)\nuseResizeObserver(document.body, (entries) => {\n const entry = entries[0]\n const { width } = entry?.contentRect || ({} as DOMRectReadOnly)\n bodyWidth.value = width\n})\n\nconst mergeShowFullscreen = computed(() => props.showFullscreen ?? modal?.value?.showFullscreen)\nconst mergeDraggable = computed(() => props.draggable ?? modal?.value?.draggable)\n\nconst hasFullscreen = computed(() => isMobile.value || fullscreen.value)\nconst hasDraggable = computed(() => mergeDraggable.value && !hasFullscreen.value)\n\nconst { style } = useDraggable(modalHeaderEl, {\n disabled: computed(() => !hasDraggable.value),\n onMove() {\n isDrag.value = true\n },\n})\n\nconst modalProps = computed(() =>\n omitKeysAndUndefined(props, ['closable', 'onCancel', 'title', 'width', 'height']),\n)\n\nconst modalClass = computed(() => ({\n [prefixCls]: true,\n [(attrs.class || '') as string]: true,\n [`${prefixCls}--fullscreen`]: hasFullscreen.value,\n [`${prefixCls}--draggable`]: hasDraggable.value,\n}))\n\nconst modalStyle = computed(() => {\n if (isDrag.value) {\n return style.value\n }\n if (hasDraggable.value) {\n return {\n left: (bodyWidth.value - width.value) / 2 + 'px',\n top: `${props.top}px`,\n }\n }\n return {\n top: `${props.top}px`,\n }\n})\n\nconst modalWidth = computed(() => {\n if (hasFullscreen.value) {\n return '100%'\n }\n return props.width\n})\n\nconst handleClose = (e: Event) => {\n fullscreen.value = props.defaultFullscreen\n props['onUpdate:open']?.(false)\n emit('cancel', e)\n}\n\nconst handleBtnClose = (e: Event) => {\n e.stopPropagation()\n handleClose(e)\n}\n\nconst handleFullScreen = () => {\n fullscreen.value = !fullscreen.value\n emit('fullScreen', fullscreen.value)\n}\n</script>\n\n<template>\n <Modal\n v-bind=\"modalProps\"\n :class=\"modalClass\"\n :closable=\"false\"\n :width=\"modalWidth\"\n :style=\"modalStyle\"\n @cancel=\"handleClose\"\n >\n <template #title v-if=\"title || $slots.title\">\n <div ref=\"modalHeaderRef\" :class=\"`${prefixCls}-header`\">\n <slot name=\"title\">\n <div :class=\"`${prefixCls}-title`\">{{ title }}</div>\n </slot>\n <slot name=\"description\">\n <div :class=\"`${prefixCls}-description`\">{{ description }}</div>\n </slot>\n <div :class=\"`${prefixCls}-extra`\">\n <ProButton\n v-if=\"mergeShowFullscreen && !isMobile\"\n :class=\"`${prefixCls}-fullscreen`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleFullScreen\"\n >\n <template #icon>\n <FullscreenOutlined v-if=\"!fullscreen\" />\n <FullscreenExitOutlined v-else />\n </template>\n </ProButton>\n <ProButton\n v-if=\"closable\"\n :class=\"`${prefixCls}-close`\"\n size=\"small\"\n shape=\"circle\"\n type=\"text\"\n @click=\"handleBtnClose\"\n >\n <template #icon>\n <CloseOutlined />\n </template>\n </ProButton>\n </div>\n </div>\n </template>\n <template #default>\n <slot />\n </template>\n\n <template #footer v-if=\"$slots.footer\">\n <slot name=\"footer\" />\n </template>\n </Modal>\n</template>\n"],"names":["width","_createBlock","_unref","_mergeProps","_renderSlot","title","$slots","_createElementVNode","description","closable","_createVNode"],"mappings":"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"}
|
package/es/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.2.
|
|
1
|
+
export declare const version = "1.2.31";
|
package/es/version.mjs
CHANGED
package/es/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../packages/pro-design-vue/version.ts"],"sourcesContent":["export const version = '1.2.31'\n"],"names":[],"mappings":"AAAO,MAAM,OAAA,GAAU;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSubmitter.js","sources":["../../../../../../../../packages/components/form/src/components/FormSubmitter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:25:01\n * @LastEditors: shen\n * @LastEditTime: 2025-
|
|
1
|
+
{"version":3,"file":"FormSubmitter.js","sources":["../../../../../../../../packages/components/form/src/components/FormSubmitter.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-27 12:25:01\n * @LastEditors: shen\n * @LastEditTime: 2025-11-05 08:45:35\n * @Description:\n */\nimport type { CSSProperties, PropType } from 'vue'\nimport type { SubmitterProps } from '../type'\n\nimport { computed, defineComponent } from 'vue'\nimport { Button } from 'ant-design-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { omit } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n name: 'FormSubmitter',\n inheritAttrs: false,\n props: {\n loading: {\n type: Boolean,\n default: undefined,\n },\n reverse: {\n type: Boolean,\n default: undefined,\n },\n onSubmit: {\n type: Function as PropType<SubmitterProps['onSubmit']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<SubmitterProps['onReset']>,\n default: undefined,\n },\n searchConfig: {\n type: Object as PropType<SubmitterProps['searchConfig']>,\n default: undefined,\n },\n submitButtonProps: {\n type: [Object, Boolean] as PropType<SubmitterProps['submitButtonProps']>,\n default: undefined,\n },\n resetButtonProps: {\n type: [Object, Boolean] as PropType<SubmitterProps['resetButtonProps']>,\n default: undefined,\n },\n render: {\n type: [Function, Boolean] as PropType<SubmitterProps['render']>,\n default: undefined,\n },\n },\n setup(props, { attrs }) {\n const { action } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n\n const submit = async () => {\n if (!props.onSubmit) {\n action.submit()\n return\n }\n const values = action.getFieldsValue()\n const response = props.onSubmit?.(values!, action)\n const result = await response\n if (result) {\n action.submit()\n }\n return result\n }\n\n const reset = async () => {\n if (!props.onReset) {\n action.reset()\n return\n }\n const values = action.getFieldsValue()\n const response = props.onReset?.(values!, action)\n const result = await response\n if (result) {\n action.reset()\n }\n return result\n }\n const resetButton = computed(() => {\n const { searchConfig = {}, resetButtonProps = {} } = props\n if (resetButtonProps === false) {\n return null\n }\n const { resetText = '重置' } = searchConfig\n return (\n <Button\n {...omit(resetButtonProps, ['preventDefault', 'onClick'])}\n key=\"reset\"\n onClick={(e) => {\n if (!resetButtonProps.preventDefault) {\n reset()\n }\n ;(resetButtonProps as any).onClick?.(e)\n }}\n >\n {resetText}\n </Button>\n )\n })\n\n const submitButton = computed(() => {\n const { searchConfig = {}, submitButtonProps = {} } = props\n if (submitButtonProps === false) {\n return null\n }\n const { submitText = '提交' } = searchConfig\n return (\n <Button\n type=\"primary\"\n {...omit(submitButtonProps || {}, ['preventDefault', 'onClick'])}\n key=\"submit\"\n onClick={(e) => {\n if (!submitButtonProps.preventDefault) {\n submit()\n }\n ;(submitButtonProps as any).onClick?.(e)\n }}\n >\n {submitText}\n </Button>\n )\n })\n return () => {\n if (props.render === false) {\n return null\n }\n const { render = formSlotsContext['submitter'] } = props\n const dom = props.reverse ? (\n <>\n {resetButton.value}\n {submitButton.value}\n </>\n ) : (\n <>\n {submitButton.value}\n {resetButton.value}\n </>\n )\n\n const renderDom = render\n ? render({ props: { ...props, submit, reset }, action, defaultDoms: dom })\n : dom\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '8px',\n alignItems: 'center',\n ...(attrs.style as CSSProperties),\n }}\n class={attrs.class}\n >\n {renderDom}\n </div>\n )\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","inheritAttrs","props","loading","type","Boolean","default","undefined","reverse","onSubmit","Function","onReset","searchConfig","submitButtonProps","resetButtonProps","render","setup","attrs","action","useInjectForm","formSlotsContext","useInjectSlots","submit","values","getFieldsValue","response","result","reset","resetButton","computed","resetText","_createVNode","Button","_mergeProps","omit","e","preventDefault","onClick","submitButton","submitText","dom","_Fragment","value","renderDom","defaultDoms","display","gap","alignItems","style","class"],"mappings":"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"}
|
|
@@ -97,10 +97,11 @@ var FieldUploadButton = /* @__PURE__ */ vue.defineComponent({
|
|
|
97
97
|
SLOT_NAMES.forEach((name) => {
|
|
98
98
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
99
99
|
if (slot) {
|
|
100
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
100
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
101
101
|
"vnode": slot,
|
|
102
102
|
"props": {
|
|
103
|
-
formData: formData.value
|
|
103
|
+
formData: formData.value,
|
|
104
|
+
...props2 != null ? props2 : {}
|
|
104
105
|
}
|
|
105
106
|
}, null);
|
|
106
107
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadButton.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-04 18:11:31\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'text',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} props={{ formData: formData.value }} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","_Fragment","Button","marginInlineStart"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldUploadButton.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadButton.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-04 19:35:16\n * @Description:\n */\nimport type { PropType } from 'vue'\n\nimport { computed, defineComponent, ref, watch } from 'vue'\nimport { Form, Button, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { UploadOutlined } from '@ant-design/icons-vue'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport { useInjectForm } from '../context/FormContext'\nimport getSlot from '../utils/getSlot'\n\nconst SLOT_NAMES = [\n 'downloadIcon',\n 'itemRender',\n 'previewIcon',\n 'removeIcon',\n 'description',\n 'title',\n]\n\nexport default defineComponent({\n name: 'FieldUploadButton',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n maxCount: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listType: {\n type: String as PropType<'text' | 'picture' | 'picture-card'>,\n default: 'text',\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const intl = useIntl()\n const { prefixCls, formData } = useInjectForm()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const isPictureCard = computed(() => props.listType === 'picture-card')\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <UploadOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.button', '单击上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n maxCount={props.maxCount}\n listType={props.listType}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n {isPictureCard.value ? (\n props.maxCount !== undefined &&\n fileList.value?.length < props.maxCount && (\n <div>\n {icon.value}\n <div style=\"margin-top: 8px\"> {title.value}</div>\n </div>\n )\n ) : (\n <>\n <Button disabled={props.disabled} {...props.buttonProps}>\n {icon.value}\n {title.value}\n </Button>\n {description.value && (\n <span style={{ marginInlineStart: '10px' }}>{description.value}</span>\n )}\n </>\n )}\n </Upload>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","maxCount","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listType","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","intl","useIntl","prefixCls","formData","useInjectForm","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","isPictureCard","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","UploadOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","_mergeProps","readonly","$event","style","_createTextVNode","_Fragment","Button","marginInlineStart"],"mappings":"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"}
|
|
@@ -92,8 +92,12 @@ var FieldUploadDragger = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
92
|
SLOT_NAMES.forEach((name) => {
|
|
93
93
|
const slot = getSlot.default(props[name], formSlotsContext);
|
|
94
94
|
if (slot) {
|
|
95
|
-
temp[name] = () => vue.createVNode(renderVnode.RenderVNode, {
|
|
96
|
-
"vnode": slot
|
|
95
|
+
temp[name] = (props2) => vue.createVNode(renderVnode.RenderVNode, {
|
|
96
|
+
"vnode": slot,
|
|
97
|
+
"props": {
|
|
98
|
+
formData: formData.value,
|
|
99
|
+
...props2 != null ? props2 : {}
|
|
100
|
+
}
|
|
97
101
|
}, null);
|
|
98
102
|
}
|
|
99
103
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldUploadDragger.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadDragger.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-04 18:12:22\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { InboxOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadDragger',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n max: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = () => <RenderVNode vnode={slot} />\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <InboxOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.dragger.text', '单击或拖动文件到此区域进行上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description || intl.getMessage('upload.dragger.hint', '支持单次或批量上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\n {icon.value}\n </p>\n <p class={`${baseClassName.value}-text`}>{title.value}</p>\n <p class={`${baseClassName.value}-hint`}>{description.value}</p>\n </Upload.Dragger>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","max","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","icon","render","isFunction","value","InboxOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","Dragger","_mergeProps","readonly","$event","style","color"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldUploadDragger.js","sources":["../../../../../../../../packages/components/form/src/fields/FieldUploadDragger.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-08-10 14:34:03\n * @LastEditors: shen\n * @LastEditTime: 2025-11-04 19:34:39\n * @Description:\n */\nimport { computed, defineComponent, ref, watch, type PropType } from 'vue'\nimport { Form, Upload, type UploadChangeParam, type UploadProps } from 'ant-design-vue'\nimport { InboxOutlined } from '@ant-design/icons-vue'\nimport { useInjectForm } from '../context/FormContext'\nimport { useInjectSlots } from '../context/FormSlotsContext'\nimport { commonFieldProps } from '../props'\nimport { useIntl } from '@pro-design-vue/components/config-provider'\nimport { isFunction, RenderVNode } from '@pro-design-vue/utils'\nimport getSlot from '../utils/getSlot'\nconst SLOT_NAMES = ['downloadIcon', 'itemRender', 'previewIcon', 'removeIcon']\n\nexport default defineComponent({\n name: 'FieldUploadDragger',\n props: {\n ...commonFieldProps(),\n iconRender: {\n type: String,\n default: '',\n },\n downloadIcon: {\n type: String,\n default: '',\n },\n itemRender: {\n type: String,\n default: '',\n },\n previewIcon: {\n type: String,\n default: '',\n },\n removeIcon: {\n type: String,\n default: '',\n },\n title: {\n type: String,\n },\n description: {\n type: String,\n },\n name: {\n type: String,\n default: 'file',\n },\n max: {\n type: Number,\n default: undefined,\n },\n disabled: {\n type: Boolean,\n default: undefined,\n },\n buttonProps: {\n type: Object,\n default: undefined,\n },\n fileList: {\n type: Array,\n default: undefined,\n },\n listIgnore: {\n type: Boolean,\n default: true,\n },\n showUploadList: {\n type: [Boolean, Object] as PropType<UploadProps['showUploadList']>,\n default: true,\n },\n customRequest: Function,\n beforeUpload: Function,\n },\n setup(props, { attrs }) {\n const { prefixCls, formData } = useInjectForm()\n const intl = useIntl()\n const formSlotsContext = useInjectSlots()\n const fileList = ref<any[]>([])\n const formItemContext = Form.useInjectFormItemContext()\n const baseClassName = computed(() => `${prefixCls}-upload`)\n const slotsGetter = computed(() => {\n const temp = {}\n SLOT_NAMES.forEach((name) => {\n const slot = getSlot(props[name], formSlotsContext)\n if (slot) {\n temp[name] = (props) => (\n <RenderVNode vnode={slot} props={{ formData: formData.value, ...(props ?? {}) }} />\n )\n }\n })\n return temp\n })\n\n const icon = computed(() => {\n const render = getSlot(props.iconRender, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return <InboxOutlined />\n })\n\n const title = computed(() => {\n const render = getSlot(props.title, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.title || intl.getMessage('upload.dragger.text', '单击或拖动文件到此区域进行上传')\n })\n\n const description = computed(() => {\n const render = getSlot(props.description, formSlotsContext)\n if (isFunction(render)) {\n return <RenderVNode vnode={render} props={{ formData: formData.value }} />\n }\n return props.description || intl.getMessage('upload.dragger.hint', '支持单次或批量上传')\n })\n\n const beforeUpload: UploadProps['beforeUpload'] = async (file, fileList) => {\n const result = await props.beforeUpload?.(file, fileList)\n if (!result && props.listIgnore) {\n return Upload.LIST_IGNORE\n }\n return result\n }\n\n const customRequest: UploadProps['customRequest'] = async (option) => {\n const formData = new FormData()\n formData.append(props.name, option.file)\n const onUploadProgress = (e) => {\n if (e.total > 0) {\n e.percent = (e.loaded / e.total) * 100\n }\n option?.onProgress?.(e)\n }\n const { success, error, data } =\n (await props.customRequest!(formData, onUploadProgress)) ?? {}\n if (success) {\n option.onSuccess?.(data)\n formItemContext.onFieldChange()\n } else {\n option.onError?.(error, data)\n }\n }\n\n const uploadProps = computed(() => {\n const newProps = { ...attrs }\n if (props.customRequest) {\n newProps.customRequest = customRequest\n }\n if (props.beforeUpload) {\n newProps.beforeUpload = beforeUpload\n }\n return newProps\n })\n\n watch(\n () => props.value,\n (newValue) => {\n if (newValue) {\n fileList.value = [...newValue?.map((item) => ({ ...item, name: item.name || item.url }))]\n if (!fileList.value?.length) {\n formItemContext.onFieldChange()\n }\n } else {\n fileList.value = []\n }\n },\n )\n\n const onUploadChange = (info: UploadChangeParam) => {\n props.onChange?.(\n info.fileList.map((item) => ({\n ...item,\n name: item.name || item.response?.name || item.url || item.response?.url,\n url: item.response?.url || item.url,\n })),\n info.file,\n )\n }\n\n return () => (\n <Upload.Dragger\n {...uploadProps.value}\n class={{ [`${baseClassName.value}-readonly`]: props.readonly }}\n v-model:fileList={fileList.value}\n name={props.name}\n showUploadList={props.readonly || props.showUploadList}\n disabled={props.readonly || props.disabled}\n style={(attrs as any)?.style}\n v-slots={slotsGetter.value}\n onChange={onUploadChange}\n >\n <p class={`${baseClassName.value}-drag-icon`} style={{ color: 'hsl(var(--pro-primary))' }}>\n {icon.value}\n </p>\n <p class={`${baseClassName.value}-text`}>{title.value}</p>\n <p class={`${baseClassName.value}-hint`}>{description.value}</p>\n </Upload.Dragger>\n )\n },\n})\n"],"names":["SLOT_NAMES","name","props","commonFieldProps","iconRender","type","String","default","downloadIcon","itemRender","previewIcon","removeIcon","title","description","max","Number","undefined","disabled","Boolean","buttonProps","Object","fileList","Array","listIgnore","showUploadList","customRequest","Function","beforeUpload","setup","attrs","prefixCls","formData","useInjectForm","intl","useIntl","formSlotsContext","useInjectSlots","ref","formItemContext","Form","useInjectFormItemContext","baseClassName","computed","slotsGetter","temp","forEach","slot","getSlot","_createVNode","RenderVNode","value","icon","render","isFunction","InboxOutlined","getMessage","file","result","Upload","LIST_IGNORE","option","FormData","append","onUploadProgress","e","_a","total","percent","loaded","onProgress","success","error","data","onSuccess","onFieldChange","onError","uploadProps","newProps","watch","newValue","map","item","url","length","onUploadChange","info","onChange","response","Dragger","_mergeProps","readonly","$event","style","color"],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var antDesignVue = require('ant-design-vue');
|
|
7
|
-
var index = require('../../../drawer/index.js');
|
|
7
|
+
var index$1 = require('../../../drawer/index.js');
|
|
8
8
|
var props = require('../props.js');
|
|
9
9
|
var BaseForm = require('../base/BaseForm.js');
|
|
10
10
|
var cloneElement = require('../../../../utils/clone-element.js');
|
|
11
11
|
var useIntl = require('../../../config-provider/src/useIntl.js');
|
|
12
|
+
var index = require('../../../../hooks/use-prefix-cls/index.js');
|
|
12
13
|
var omit = require('../../../../utils/omit.js');
|
|
13
14
|
var pickKeys = require('../../../../utils/pick-keys.js');
|
|
14
15
|
var lodashUnified = require('lodash-unified');
|
|
@@ -32,6 +33,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
32
33
|
const loading = vue.ref(false);
|
|
33
34
|
const valuesChanged = vue.ref(false);
|
|
34
35
|
const intl = useIntl.useIntl();
|
|
36
|
+
const prefixCls = index.usePrefixCls("drawer-form");
|
|
35
37
|
const formRef = vue.ref();
|
|
36
38
|
const footerRef = vue.ref(null);
|
|
37
39
|
const open = vue.computed({
|
|
@@ -53,7 +55,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
53
55
|
});
|
|
54
56
|
const formProps = vue.computed(() => {
|
|
55
57
|
return {
|
|
56
|
-
...omit.omitUndefined(omit.omit(props, ["onOpenChange", "closeOnFinish", "drawerProps", "title", "width", "onInit", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter"])),
|
|
58
|
+
...omit.omitUndefined(omit.omit(props, ["onOpenChange", "closeOnFinish", "drawerProps", "title", "width", "onInit", "confirmOnValuesChange", "submitTimeout", "onFinish", "submitter", "onReset", "onValuesChange"])),
|
|
57
59
|
layout: "vertical"
|
|
58
60
|
};
|
|
59
61
|
});
|
|
@@ -65,7 +67,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
65
67
|
const drawerProps = vue.computed(() => {
|
|
66
68
|
var _a;
|
|
67
69
|
return omit.omitUndefined({
|
|
68
|
-
...omit.omit((_a = props.drawerProps) != null ? _a : {}, ["title", "width", "open", "footer", "okText", "cancelText"]),
|
|
70
|
+
...omit.omit((_a = props.drawerProps) != null ? _a : {}, ["title", "width", "open", "footer", "okText", "onClose", "cancelText", "onAfterOpenChange"]),
|
|
69
71
|
width: props.width,
|
|
70
72
|
title: props.title
|
|
71
73
|
});
|
|
@@ -87,6 +89,7 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
87
89
|
submitText: (_b = (_a = props.drawerProps) == null ? void 0 : _a.okText) != null ? _b : intl.getMessage("confirm.okText", "\u786E\u8BA4"),
|
|
88
90
|
resetText: (_d = (_c = props.drawerProps) == null ? void 0 : _c.cancelText) != null ? _d : intl.getMessage("confirm.cancelText", "\u53D6\u6D88")
|
|
89
91
|
},
|
|
92
|
+
class: `${prefixCls}-submitter`,
|
|
90
93
|
resetButtonProps: {
|
|
91
94
|
preventDefault: true,
|
|
92
95
|
disabled: props.submitTimeout ? loading.value : void 0,
|
|
@@ -120,14 +123,14 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
120
123
|
onOk() {
|
|
121
124
|
var _a2, _b2;
|
|
122
125
|
open.value = false;
|
|
123
|
-
(_b2 = (_a2 = drawerProps
|
|
126
|
+
(_b2 = (_a2 = props.drawerProps) == null ? void 0 : _a2.onClose) == null ? void 0 : _b2.call(_a2, e);
|
|
124
127
|
},
|
|
125
128
|
onCancel() {
|
|
126
129
|
}
|
|
127
130
|
});
|
|
128
131
|
} else {
|
|
129
132
|
open.value = false;
|
|
130
|
-
(_b = (_a = drawerProps
|
|
133
|
+
(_b = (_a = props.drawerProps) == null ? void 0 : _a.onClose) == null ? void 0 : _b.call(_a, e);
|
|
131
134
|
}
|
|
132
135
|
};
|
|
133
136
|
const resetFields = () => {
|
|
@@ -159,13 +162,14 @@ var DrawerForm = /* @__PURE__ */ vue.defineComponent({
|
|
|
159
162
|
}
|
|
160
163
|
return result;
|
|
161
164
|
};
|
|
162
|
-
return () => vue.createVNode(vue.Fragment, null, [vue.createVNode(index.ProDrawer, vue.mergeProps(drawerProps.value, {
|
|
165
|
+
return () => vue.createVNode(vue.Fragment, null, [vue.createVNode(index$1.ProDrawer, vue.mergeProps(drawerProps.value, {
|
|
163
166
|
"open": open.value,
|
|
167
|
+
"rootClassName": prefixCls,
|
|
164
168
|
"onAfterOpenChange": (e) => {
|
|
165
169
|
var _a, _b;
|
|
166
170
|
if (!e) resetFields();
|
|
167
171
|
valuesChanged.value = false;
|
|
168
|
-
(_b = (_a = drawerProps
|
|
172
|
+
(_b = (_a = props.drawerProps) == null ? void 0 : _a.onAfterOpenChange) == null ? void 0 : _b.call(_a, e);
|
|
169
173
|
},
|
|
170
174
|
"onClose": (e) => {
|
|
171
175
|
if (props.submitTimeout && loading.value) return;
|