vben
2020-11-27 81baf1d5c4606aab83c0e65397ce4b090c2e4e08
提交 | 用户 | age
2f6253 1 import type { PropType } from 'vue';
661db0 2 import { ButtonProps } from 'ant-design-vue/es/button/buttonTypes';
dc09de 3
V 4 import { useI18n } from '/@/hooks/web/useI18n';
81baf1 5 import { propTypes } from '/@/utils/propTypes';
dc09de 6 const { t } = useI18n('component.modal');
V 7
2f6253 8 export const modalProps = {
81baf1 9   visible: propTypes.bool,
2f6253 10   // open drag
81baf1 11   draggable: propTypes.bool.def(true),
V 12   centered: propTypes.bool,
13   cancelText: propTypes.string.def(t('cancelText')),
14   okText: propTypes.string.def(t('okText')),
15
2f6253 16   closeFunc: Function as PropType<() => Promise<boolean>>,
17 };
18
19 export const basicProps = Object.assign({}, modalProps, {
20   // Can it be full screen
81baf1 21   canFullscreen: propTypes.bool.def(true),
2f6253 22   // After enabling the wrapper, the bottom can be increased in height
81baf1 23   wrapperFooterOffset: propTypes.number.def(0),
2f6253 24   // Warm reminder message
25   helpMessage: [String, Array] as PropType<string | string[]>,
ba068b 26   // Whether to setting wrapper
81baf1 27   useWrapper: propTypes.bool.def(true),
V 28   loading: propTypes.bool,
2f6253 29   /**
30    * @description: Show close button
31    */
81baf1 32   showCancelBtn: propTypes.bool.def(true),
2f6253 33   /**
34    * @description: Show confirmation button
35    */
81baf1 36   showOkBtn: propTypes.bool.def(true),
2f6253 37
38   wrapperProps: Object as PropType<any>,
39
40   afterClose: Function as PropType<() => Promise<any>>,
41
42   bodyStyle: Object as PropType<any>,
43
44   closable: {
45     type: Boolean as PropType<boolean>,
46     default: true,
47   },
48
49   closeIcon: Object as PropType<any>,
50
51   confirmLoading: Boolean as PropType<boolean>,
52
53   destroyOnClose: Boolean as PropType<boolean>,
54
55   footer: Object as PropType<any>,
56
57   getContainer: Function as PropType<() => any>,
58
59   mask: {
60     type: Boolean as PropType<boolean>,
61     default: true,
62   },
63
64   maskClosable: {
65     type: Boolean as PropType<boolean>,
66     default: true,
67   },
68   keyboard: {
69     type: Boolean as PropType<boolean>,
70     default: true,
71   },
72
73   maskStyle: Object as PropType<any>,
74
75   okType: {
76     type: String as PropType<string>,
77     default: 'primary',
78   },
79
661db0 80   okButtonProps: Object as PropType<ButtonProps>,
2f6253 81
661db0 82   cancelButtonProps: Object as PropType<ButtonProps>,
2f6253 83
84   title: {
85     type: String as PropType<string>,
86   },
87
88   visible: Boolean as PropType<boolean>,
89
90   width: [String, Number] as PropType<string | number>,
91
92   wrapClassName: {
93     type: String as PropType<string>,
94   },
95
96   zIndex: {
97     type: Number as PropType<number>,
98   },
99 });