ele-admin-plus 1.1.9 → 1.2.0-beta.1
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/es/core-export.d.ts +1 -0
- package/es/core-export.js +1 -0
- package/es/ele-alert/index.d.ts +2 -2
- package/es/ele-alert/props.d.ts +1 -1
- package/es/ele-app/components/message-body.d.ts +39 -0
- package/es/ele-app/components/message-body.js +92 -0
- package/es/ele-app/el.d.ts +2 -0
- package/es/ele-app/style/message/css-var.scss +0 -4
- package/es/ele-app/style/message/index.scss +199 -77
- package/es/ele-app/style/overwrite/input/index.scss +2 -0
- package/es/ele-app/style/overwrite/message-box/index.scss +31 -0
- package/es/ele-app/style/overwrite/tag/css-var.scss +0 -16
- package/es/ele-app/style/overwrite/tag/index.scss +57 -14
- package/es/ele-app/types.d.ts +6 -1
- package/es/ele-config-provider/components/receiver-view.js +3 -3
- package/es/ele-config-provider/index.d.ts +8 -4
- package/es/ele-config-provider/index.js +19 -5
- package/es/ele-config-provider/props.d.ts +9 -4
- package/es/ele-config-provider/props.js +9 -5
- package/es/ele-config-provider/receiver.js +2 -2
- package/es/ele-config-provider/types.d.ts +22 -1
- package/es/ele-data-table/types.d.ts +2 -0
- package/es/ele-drawer/index.d.ts +2 -2
- package/es/ele-edit-tag/index.d.ts +9 -4
- package/es/ele-edit-tag/index.js +4 -2
- package/es/ele-edit-tag/props.d.ts +3 -1
- package/es/ele-edit-tag/props.js +2 -0
- package/es/ele-edit-tag/style/index.scss +11 -4
- package/es/ele-icon-select/index.d.ts +10 -12
- package/es/ele-icon-select/props.d.ts +1 -1
- package/es/ele-map-picker/index.d.ts +1 -1
- package/es/ele-menus/index.d.ts +2 -2
- package/es/ele-menus/index.js +11 -0
- package/es/ele-modal/index.d.ts +3 -3
- package/es/ele-modal/style/index.scss +2 -0
- package/es/ele-modal/util.d.ts +1 -1
- package/es/ele-modal/util.js +2 -4
- package/es/ele-popconfirm/index.d.ts +3 -3
- package/es/ele-popconfirm/props.d.ts +1 -1
- package/es/ele-popover/index.d.ts +2 -2
- package/es/ele-pro-layout/components/pro-header.d.ts +1 -1
- package/es/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
- package/es/ele-pro-layout/index.js +1 -1
- package/es/ele-pro-layout/types.d.ts +4 -4
- package/es/ele-pro-table/components/table-tools.d.ts +11 -2
- package/es/ele-pro-table/components/table-tools.js +14 -26
- package/es/ele-pro-table/components/tool-column.d.ts +1 -0
- package/es/ele-pro-table/components/tool-export.d.ts +29 -56
- package/es/ele-pro-table/components/tool-export.js +100 -52
- package/es/ele-pro-table/components/tool-print-body-cell.js +50 -6
- package/es/ele-pro-table/components/tool-print-header-cell.js +4 -1
- package/es/ele-pro-table/components/tool-print.d.ts +29 -50
- package/es/ele-pro-table/components/tool-print.js +174 -69
- package/es/ele-pro-table/index.js +59 -50
- package/es/ele-pro-table/style/index.scss +9 -0
- package/es/ele-pro-table/types.d.ts +32 -0
- package/es/ele-pro-table/util.d.ts +18 -3
- package/es/ele-pro-table/util.js +160 -28
- package/es/ele-table/style/index.scss +16 -0
- package/es/ele-tooltip/index.d.ts +3 -3
- package/es/ele-virtual-table/util.d.ts +3 -1
- package/es/ele-virtual-table/util.js +7 -2
- package/es/icons/LoadingOutlined.js +1 -1
- package/es/lang/en_US.js +7 -1
- package/es/lang/zh_CN.js +7 -1
- package/es/lang/zh_TW.js +7 -1
- package/es/style/themes/default.scss +82 -85
- package/es/style/themes/rounded.scss +11 -15
- package/es/utils/core.d.ts +7 -0
- package/es/utils/core.js +16 -2
- package/es/utils/message-box.d.ts +25 -0
- package/es/utils/message-box.js +71 -0
- package/es/utils/message.d.ts +44 -20
- package/es/utils/message.js +220 -37
- package/lib/core-export.cjs +8 -0
- package/lib/core-export.d.ts +1 -0
- package/lib/ele-alert/index.d.ts +2 -2
- package/lib/ele-alert/props.d.ts +1 -1
- package/lib/ele-app/components/message-body.cjs +91 -0
- package/lib/ele-app/components/message-body.d.ts +39 -0
- package/lib/ele-app/el.d.ts +2 -0
- package/lib/ele-app/style/message/css-var.scss +0 -4
- package/lib/ele-app/style/message/index.scss +199 -77
- package/lib/ele-app/style/overwrite/input/index.scss +2 -0
- package/lib/ele-app/style/overwrite/message-box/index.scss +31 -0
- package/lib/ele-app/style/overwrite/tag/css-var.scss +0 -16
- package/lib/ele-app/style/overwrite/tag/index.scss +57 -14
- package/lib/ele-app/types.d.ts +6 -1
- package/lib/ele-config-provider/components/receiver-view.cjs +1 -1
- package/lib/ele-config-provider/index.cjs +18 -4
- package/lib/ele-config-provider/index.d.ts +8 -4
- package/lib/ele-config-provider/props.cjs +9 -5
- package/lib/ele-config-provider/props.d.ts +9 -4
- package/lib/ele-config-provider/receiver.cjs +1 -1
- package/lib/ele-config-provider/types.d.ts +22 -1
- package/lib/ele-data-table/types.d.ts +2 -0
- package/lib/ele-drawer/index.d.ts +2 -2
- package/lib/ele-edit-tag/index.cjs +4 -2
- package/lib/ele-edit-tag/index.d.ts +9 -4
- package/lib/ele-edit-tag/props.cjs +2 -0
- package/lib/ele-edit-tag/props.d.ts +3 -1
- package/lib/ele-edit-tag/style/index.scss +11 -4
- package/lib/ele-icon-select/index.d.ts +10 -12
- package/lib/ele-icon-select/props.d.ts +1 -1
- package/lib/ele-map-picker/index.d.ts +1 -1
- package/lib/ele-menus/index.cjs +11 -0
- package/lib/ele-menus/index.d.ts +2 -2
- package/lib/ele-modal/index.d.ts +3 -3
- package/lib/ele-modal/style/index.scss +2 -0
- package/lib/ele-modal/util.cjs +1 -3
- package/lib/ele-modal/util.d.ts +1 -1
- package/lib/ele-popconfirm/index.d.ts +3 -3
- package/lib/ele-popconfirm/props.d.ts +1 -1
- package/lib/ele-popover/index.d.ts +2 -2
- package/lib/ele-pro-layout/components/pro-header.d.ts +1 -1
- package/lib/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
- package/lib/ele-pro-layout/index.cjs +1 -1
- package/lib/ele-pro-layout/types.d.ts +4 -4
- package/lib/ele-pro-table/components/table-tools.cjs +14 -26
- package/lib/ele-pro-table/components/table-tools.d.ts +11 -2
- package/lib/ele-pro-table/components/tool-column.d.ts +1 -0
- package/lib/ele-pro-table/components/tool-export.cjs +99 -51
- package/lib/ele-pro-table/components/tool-export.d.ts +29 -56
- package/lib/ele-pro-table/components/tool-print-body-cell.cjs +49 -5
- package/lib/ele-pro-table/components/tool-print-header-cell.cjs +4 -1
- package/lib/ele-pro-table/components/tool-print.cjs +172 -67
- package/lib/ele-pro-table/components/tool-print.d.ts +29 -50
- package/lib/ele-pro-table/index.cjs +59 -50
- package/lib/ele-pro-table/style/index.scss +9 -0
- package/lib/ele-pro-table/types.d.ts +32 -0
- package/lib/ele-pro-table/util.cjs +160 -28
- package/lib/ele-pro-table/util.d.ts +18 -3
- package/lib/ele-table/style/index.scss +16 -0
- package/lib/ele-tooltip/index.d.ts +3 -3
- package/lib/ele-virtual-table/util.cjs +7 -2
- package/lib/ele-virtual-table/util.d.ts +3 -1
- package/lib/icons/LoadingOutlined.cjs +1 -1
- package/lib/lang/en_US.cjs +7 -1
- package/lib/lang/zh_CN.cjs +7 -1
- package/lib/lang/zh_TW.cjs +7 -1
- package/lib/style/themes/default.scss +82 -85
- package/lib/style/themes/rounded.scss +11 -15
- package/lib/utils/core.cjs +16 -2
- package/lib/utils/core.d.ts +7 -0
- package/lib/utils/message-box.cjs +71 -0
- package/lib/utils/message-box.d.ts +25 -0
- package/lib/utils/message.cjs +216 -33
- package/lib/utils/message.d.ts +44 -20
- package/package.json +14 -14
|
@@ -123,6 +123,7 @@ $ele: map.deep-merge(
|
|
|
123
123
|
// 消息提示
|
|
124
124
|
'color': elVar('text-color', 'regular'),
|
|
125
125
|
'size': elVar('font-size', 'base'),
|
|
126
|
+
'space': 16px,
|
|
126
127
|
'padding': 12px 14px,
|
|
127
128
|
'radius': elVar('border-radius', 'base'),
|
|
128
129
|
'shadow': elVar('box-shadow', 'light'),
|
|
@@ -135,12 +136,9 @@ $ele: map.deep-merge(
|
|
|
135
136
|
'close-color': elVar('text-color', 'placeholder'),
|
|
136
137
|
'close-hover-color': elVar('text-color', 'primary'),
|
|
137
138
|
'close-hover-bg': transparent,
|
|
138
|
-
'plain-bg': elVar('bg-color', 'overlay')
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
// 消息提示遮罩层
|
|
142
|
-
'color': elVar('overlay-color', 'lighter'),
|
|
143
|
-
'size': 1000vw
|
|
139
|
+
'plain-bg': elVar('bg-color', 'overlay'),
|
|
140
|
+
'alert-padding': 10px 14px,
|
|
141
|
+
'mask-color': elVar('overlay-color', 'lighter')
|
|
144
142
|
),
|
|
145
143
|
'bottom-bar': (
|
|
146
144
|
// 底部工具栏
|
|
@@ -971,85 +969,84 @@ $ele: map.deep-merge(
|
|
|
971
969
|
'danger-border-color': elVar('color-error', 'light-7'),
|
|
972
970
|
'danger-close-color': elVar('color-error'),
|
|
973
971
|
'danger-close-hover-color': elVar('color-error'),
|
|
974
|
-
'danger-close-hover-bg': transparent
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
'
|
|
979
|
-
'
|
|
980
|
-
'
|
|
981
|
-
'
|
|
982
|
-
'close-
|
|
983
|
-
'close-
|
|
984
|
-
'close-
|
|
985
|
-
'
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
'
|
|
990
|
-
'
|
|
991
|
-
'
|
|
992
|
-
'
|
|
993
|
-
'close-
|
|
994
|
-
'close-
|
|
995
|
-
'
|
|
996
|
-
'
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
'color': #fff,
|
|
1001
|
-
'bg':
|
|
1002
|
-
'
|
|
1003
|
-
'
|
|
1004
|
-
'close-
|
|
1005
|
-
'info-color': elVar('text-color', 'primary'),
|
|
1006
|
-
'info-bg':
|
|
1007
|
-
'
|
|
1008
|
-
'
|
|
1009
|
-
'
|
|
1010
|
-
'success-color': #fff,
|
|
1011
|
-
'success-bg':
|
|
1012
|
-
'
|
|
1013
|
-
'
|
|
1014
|
-
'
|
|
1015
|
-
'warning-color': #fff,
|
|
1016
|
-
'warning-bg':
|
|
1017
|
-
'
|
|
1018
|
-
'
|
|
1019
|
-
'
|
|
1020
|
-
'danger-color': #fff,
|
|
1021
|
-
'danger-bg':
|
|
1022
|
-
'
|
|
1023
|
-
'
|
|
1024
|
-
'
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
'color': elVar('color-
|
|
1029
|
-
'
|
|
1030
|
-
'close-color': elVar('color
|
|
1031
|
-
'close-hover-
|
|
1032
|
-
'
|
|
1033
|
-
'
|
|
1034
|
-
'
|
|
1035
|
-
'
|
|
1036
|
-
'
|
|
1037
|
-
'
|
|
1038
|
-
'
|
|
1039
|
-
'
|
|
1040
|
-
'
|
|
1041
|
-
'
|
|
1042
|
-
'
|
|
1043
|
-
'
|
|
1044
|
-
'
|
|
1045
|
-
'
|
|
1046
|
-
'
|
|
1047
|
-
'
|
|
1048
|
-
'
|
|
1049
|
-
'
|
|
1050
|
-
'
|
|
1051
|
-
'danger-
|
|
1052
|
-
'danger-close-hover-bg': transparent
|
|
972
|
+
'danger-close-hover-bg': transparent,
|
|
973
|
+
'round-radius': 12px,
|
|
974
|
+
'round-padding': 0 10px,
|
|
975
|
+
'sm-size': 12px,
|
|
976
|
+
'sm-height': 20px,
|
|
977
|
+
'sm-padding': 0 4px,
|
|
978
|
+
'sm-radius': elVar('border-radius', 'small'),
|
|
979
|
+
'sm-close-size': 13px,
|
|
980
|
+
'sm-close-padding': 0,
|
|
981
|
+
'sm-close-margin': 0 -2px 0 2px,
|
|
982
|
+
'sm-close-radius': 2px,
|
|
983
|
+
'sm-round-radius': 10px,
|
|
984
|
+
'sm-round-padding': 0 6px,
|
|
985
|
+
'lg-size': 14px,
|
|
986
|
+
'lg-height': 32px,
|
|
987
|
+
'lg-padding': 0 12px,
|
|
988
|
+
'lg-radius': elVar('border-radius', 'base'),
|
|
989
|
+
'lg-close-size': 15px,
|
|
990
|
+
'lg-close-padding': 2px,
|
|
991
|
+
'lg-close-margin': 0 -8px 0 4px,
|
|
992
|
+
'lg-close-radius': 4px,
|
|
993
|
+
'lg-round-radius': 16px,
|
|
994
|
+
'lg-round-padding': 0 14px,
|
|
995
|
+
'dark-color': #fff,
|
|
996
|
+
'dark-bg': elVar('color-primary'),
|
|
997
|
+
'dark-close-color': #fff,
|
|
998
|
+
'dark-close-hover-color': #fff,
|
|
999
|
+
'dark-close-hover-bg': transparent,
|
|
1000
|
+
'dark-info-color': elVar('text-color', 'primary'),
|
|
1001
|
+
'dark-info-bg': elVar('color-info', 'light-7'),
|
|
1002
|
+
'dark-info-close-color': elVar('text-color', 'secondary'),
|
|
1003
|
+
'dark-info-close-hover-color': elVar('text-color', 'primary'),
|
|
1004
|
+
'dark-info-close-hover-bg': transparent,
|
|
1005
|
+
'dark-success-color': #fff,
|
|
1006
|
+
'dark-success-bg': elVar('color-success'),
|
|
1007
|
+
'dark-success-close-color': #fff,
|
|
1008
|
+
'dark-success-close-hover-color': #fff,
|
|
1009
|
+
'dark-success-close-hover-bg': transparent,
|
|
1010
|
+
'dark-warning-color': #fff,
|
|
1011
|
+
'dark-warning-bg': elVar('color-warning'),
|
|
1012
|
+
'dark-warning-close-color': #fff,
|
|
1013
|
+
'dark-warning-close-hover-color': #fff,
|
|
1014
|
+
'dark-warning-close-hover-bg': transparent,
|
|
1015
|
+
'dark-danger-color': #fff,
|
|
1016
|
+
'dark-danger-bg': elVar('color-error'),
|
|
1017
|
+
'dark-danger-close-color': #fff,
|
|
1018
|
+
'dark-danger-close-hover-color': #fff,
|
|
1019
|
+
'dark-danger-close-hover-bg': transparent,
|
|
1020
|
+
'plain-color': elVar('color-primary'),
|
|
1021
|
+
'plain-border-color': elVar('color-primary'),
|
|
1022
|
+
'plain-close-color': elVar('color-primary'),
|
|
1023
|
+
'plain-close-hover-color': elVar('color-primary'),
|
|
1024
|
+
'plain-close-hover-bg': transparent,
|
|
1025
|
+
'plain-info-color': elVar('text-color', 'regular'),
|
|
1026
|
+
'plain-info-border-color': elVar('color-info', 'light-3'),
|
|
1027
|
+
'plain-info-close-color': elVar('text-color', 'secondary'),
|
|
1028
|
+
'plain-info-close-hover-color': elVar('text-color', 'primary'),
|
|
1029
|
+
'plain-info-close-hover-bg': transparent,
|
|
1030
|
+
'plain-success-color': elVar('color-success'),
|
|
1031
|
+
'plain-success-border-color': elVar('color-success'),
|
|
1032
|
+
'plain-success-close-color': elVar('color-success'),
|
|
1033
|
+
'plain-success-close-hover-color': elVar('color-success'),
|
|
1034
|
+
'plain-success-close-hover-bg': transparent,
|
|
1035
|
+
'plain-warning-color': elVar('color-warning'),
|
|
1036
|
+
'plain-warning-border-color': elVar('color-warning'),
|
|
1037
|
+
'plain-warning-close-color': elVar('color-warning'),
|
|
1038
|
+
'plain-warning-close-hover-color': elVar('color-warning'),
|
|
1039
|
+
'plain-warning-close-hover-bg': transparent,
|
|
1040
|
+
'plain-danger-color': elVar('color-error'),
|
|
1041
|
+
'plain-danger-border-color': elVar('color-error'),
|
|
1042
|
+
'plain-danger-close-color': elVar('color-error'),
|
|
1043
|
+
'plain-danger-close-hover-color': elVar('color-error'),
|
|
1044
|
+
'plain-danger-close-hover-bg': transparent,
|
|
1045
|
+
'hit-border-color': elVar('color-primary'),
|
|
1046
|
+
'hit-info-border-color': elVar('color-info', 'light-3'),
|
|
1047
|
+
'hit-success-border-color': elVar('color-success'),
|
|
1048
|
+
'hit-warning-border-color': elVar('color-warning'),
|
|
1049
|
+
'hit-danger-border-color': elVar('color-error')
|
|
1053
1050
|
),
|
|
1054
1051
|
'tree': (
|
|
1055
1052
|
// 树
|
|
@@ -218,21 +218,17 @@ $ele-rounded: map.deep-merge(
|
|
|
218
218
|
'info-close-hover-bg': hsla(0, 0%, 60%, 0.25),
|
|
219
219
|
'success-close-hover-bg': elVar('color-success', 'light-8'),
|
|
220
220
|
'warning-close-hover-bg': elVar('color-warning', 'light-8'),
|
|
221
|
-
'danger-close-hover-bg': elVar('color-error', 'light-8')
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
'close-hover-bg': rgba(255, 255, 255, 0.2),
|
|
225
|
-
'
|
|
226
|
-
'
|
|
227
|
-
'
|
|
228
|
-
'
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
'close-hover-bg': elVar('color-
|
|
232
|
-
'info-close-hover-bg': hsla(0, 0%, 60%, 0.25),
|
|
233
|
-
'success-close-hover-bg': elVar('color-success', 'light-8'),
|
|
234
|
-
'warning-close-hover-bg': elVar('color-warning', 'light-8'),
|
|
235
|
-
'danger-close-hover-bg': elVar('color-error', 'light-8')
|
|
221
|
+
'danger-close-hover-bg': elVar('color-error', 'light-8'),
|
|
222
|
+
'dark-close-hover-bg': rgba(255, 255, 255, 0.2),
|
|
223
|
+
'dark-info-close-hover-bg': hsla(0, 0%, 60%, 0.25),
|
|
224
|
+
'dark-success-close-hover-bg': rgba(255, 255, 255, 0.2),
|
|
225
|
+
'dark-warning-close-hover-bg': rgba(255, 255, 255, 0.2),
|
|
226
|
+
'dark-danger-close-hover-bg': rgba(255, 255, 255, 0.2),
|
|
227
|
+
'plain-close-hover-bg': elVar('color-primary', 'light-8'),
|
|
228
|
+
'plain-info-close-hover-bg': hsla(0, 0%, 60%, 0.25),
|
|
229
|
+
'plain-success-close-hover-bg': elVar('color-success', 'light-8'),
|
|
230
|
+
'plain-warning-close-hover-bg': elVar('color-warning', 'light-8'),
|
|
231
|
+
'plain-danger-close-hover-bg': elVar('color-error', 'light-8')
|
|
236
232
|
),
|
|
237
233
|
'tree': (
|
|
238
234
|
'item-margin': 2px,
|
package/es/utils/core.d.ts
CHANGED
|
@@ -142,3 +142,10 @@ export declare function pick<T extends object, K extends keyof T>(obj: T, fields
|
|
|
142
142
|
* @param el 元素节点
|
|
143
143
|
*/
|
|
144
144
|
export declare function contentIsEllipsis(el: HTMLElement, direction?: 'horizontal' | 'vertical'): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* 查找子元素
|
|
147
|
+
* @param parentEl 父元素
|
|
148
|
+
* @param className 类名
|
|
149
|
+
* @param attr 属性
|
|
150
|
+
*/
|
|
151
|
+
export declare function queryChild(parentEl: Element, className?: string, attr?: string[]): Element | undefined;
|
package/es/utils/core.js
CHANGED
|
@@ -221,9 +221,9 @@ function contentIsEllipsis(el, direction) {
|
|
|
221
221
|
range.setEnd(el, el.childNodes.length);
|
|
222
222
|
const { width, height } = range.getBoundingClientRect();
|
|
223
223
|
const floorW = Math.floor(width);
|
|
224
|
-
const rangeWidth = width - floorW <
|
|
224
|
+
const rangeWidth = width - floorW < 8e-3 ? floorW : width;
|
|
225
225
|
const floorH = Math.floor(height);
|
|
226
|
-
const rangeHeight = height - floorH <
|
|
226
|
+
const rangeHeight = height - floorH < 8e-3 ? floorH : height;
|
|
227
227
|
const style = getCurrentStyle(el);
|
|
228
228
|
const top = Number.parseInt(style.paddingTop) || 0;
|
|
229
229
|
const left = Number.parseInt(style.paddingLeft) || 0;
|
|
@@ -239,6 +239,19 @@ function contentIsEllipsis(el, direction) {
|
|
|
239
239
|
}
|
|
240
240
|
return rangeWidth + horizontalPadding > el.offsetWidth || rangeHeight + verticalPadding > el.offsetHeight || el.scrollWidth > el.offsetWidth;
|
|
241
241
|
}
|
|
242
|
+
function queryChild(parentEl, className, attr) {
|
|
243
|
+
return Array.from(parentEl.children).find((el) => {
|
|
244
|
+
if (className && !el.classList.contains(className)) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
if (attr != null && attr[0] != null) {
|
|
248
|
+
if (el.getAttribute(attr[0]) != attr[1]) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return true;
|
|
253
|
+
});
|
|
254
|
+
}
|
|
242
255
|
export {
|
|
243
256
|
assignObject,
|
|
244
257
|
bd09ToGcj02,
|
|
@@ -255,6 +268,7 @@ export {
|
|
|
255
268
|
mapTree,
|
|
256
269
|
omit,
|
|
257
270
|
pick,
|
|
271
|
+
queryChild,
|
|
258
272
|
random,
|
|
259
273
|
requestFullscreen,
|
|
260
274
|
throttle,
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ElMessageBoxOptions, MessageBoxData as ElMessageBoxData } from 'element-plus';
|
|
2
|
+
import { AppContext } from 'vue';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 消息弹窗配置
|
|
6
|
+
*/
|
|
7
|
+
export interface MessageBoxOptions extends ElMessageBoxOptions {
|
|
8
|
+
/** 是否限制在主体内部 */
|
|
9
|
+
inner?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 消息弹窗方法
|
|
13
|
+
*/
|
|
14
|
+
export type MessageBoxMethod = (message: ElMessageBoxOptions['message'], title: ElMessageBoxOptions['title'], options?: MessageBoxOptions, context?: AppContext | null) => Promise<ElMessageBoxData>;
|
|
15
|
+
/**
|
|
16
|
+
* 消息弹窗
|
|
17
|
+
*/
|
|
18
|
+
export interface MessageBox {
|
|
19
|
+
(options?: MessageBoxOptions, context?: AppContext | null): Promise<ElMessageBoxData>;
|
|
20
|
+
alert: MessageBoxMethod;
|
|
21
|
+
confirm: MessageBoxMethod;
|
|
22
|
+
prompt: MessageBoxMethod;
|
|
23
|
+
close: () => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function useMessageBox(globalOpt?: MessageBoxOptions): MessageBox;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { getCurrentInstance, onActivated, onDeactivated } from "vue";
|
|
2
|
+
import { ElMessageBox } from "element-plus";
|
|
3
|
+
import { useLayoutState, useGlobalProps } from "../ele-config-provider/receiver";
|
|
4
|
+
import { omit, queryChild } from "./core";
|
|
5
|
+
function getWrapEl(bodyEl) {
|
|
6
|
+
const parent = bodyEl || document.body;
|
|
7
|
+
const className = "ele-message-box-wrapper";
|
|
8
|
+
const el = queryChild(parent, className);
|
|
9
|
+
if (el != null) {
|
|
10
|
+
return el;
|
|
11
|
+
}
|
|
12
|
+
const elem = document.createElement("div");
|
|
13
|
+
elem.classList.add(className);
|
|
14
|
+
parent.appendChild(elem);
|
|
15
|
+
return elem;
|
|
16
|
+
}
|
|
17
|
+
function useMessageBox(globalOpt) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const layoutState = useLayoutState();
|
|
20
|
+
const globalProps = useGlobalProps("messageBox");
|
|
21
|
+
const appContext = (_b = (_a = getCurrentInstance) == null ? void 0 : _a()) == null ? void 0 : _b.appContext;
|
|
22
|
+
const state = { wrapEl: null, isActivated: true };
|
|
23
|
+
const hideClass = "is-hide";
|
|
24
|
+
onActivated(() => {
|
|
25
|
+
state.isActivated = true;
|
|
26
|
+
state.wrapEl && state.wrapEl.classList.remove(hideClass);
|
|
27
|
+
});
|
|
28
|
+
onDeactivated(() => {
|
|
29
|
+
state.isActivated = false;
|
|
30
|
+
state.wrapEl && state.wrapEl.classList.add(hideClass);
|
|
31
|
+
});
|
|
32
|
+
const getOption = (options) => {
|
|
33
|
+
const opt = {
|
|
34
|
+
...globalProps.value || {},
|
|
35
|
+
...globalOpt || {},
|
|
36
|
+
...options || {}
|
|
37
|
+
};
|
|
38
|
+
if (opt.inner) {
|
|
39
|
+
if (opt.appendTo == null && layoutState.modalsEl != null) {
|
|
40
|
+
if (state.wrapEl == null) {
|
|
41
|
+
state.wrapEl = getWrapEl(layoutState.modalsEl);
|
|
42
|
+
}
|
|
43
|
+
opt.appendTo = state.wrapEl;
|
|
44
|
+
}
|
|
45
|
+
opt.lockScroll = false;
|
|
46
|
+
}
|
|
47
|
+
return omit(opt, ["inner"]);
|
|
48
|
+
};
|
|
49
|
+
const messageBox = function(options) {
|
|
50
|
+
return ElMessageBox(getOption(options), appContext);
|
|
51
|
+
};
|
|
52
|
+
messageBox.alert = function(message, title, options, context) {
|
|
53
|
+
const ctx = context ?? appContext;
|
|
54
|
+
return ElMessageBox.alert(message, title, getOption(options), ctx);
|
|
55
|
+
};
|
|
56
|
+
messageBox.confirm = function(message, title, options, context) {
|
|
57
|
+
const ctx = context ?? appContext;
|
|
58
|
+
return ElMessageBox.confirm(message, title, getOption(options), ctx);
|
|
59
|
+
};
|
|
60
|
+
messageBox.prompt = function(message, title, options, context) {
|
|
61
|
+
const ctx = context ?? appContext;
|
|
62
|
+
return ElMessageBox.prompt(message, title, getOption(options), ctx);
|
|
63
|
+
};
|
|
64
|
+
messageBox.close = function() {
|
|
65
|
+
return ElMessageBox.close();
|
|
66
|
+
};
|
|
67
|
+
return messageBox;
|
|
68
|
+
}
|
|
69
|
+
export {
|
|
70
|
+
useMessageBox
|
|
71
|
+
};
|
package/es/utils/message.d.ts
CHANGED
|
@@ -1,42 +1,66 @@
|
|
|
1
|
-
import { MessageHandler, MessageOptions
|
|
2
|
-
import { AppContext } from 'vue';
|
|
1
|
+
import { MessageHandler as ElMessageHandler, MessageOptions as ElMessageOptions, MessageFn as ElMessageFn } from 'element-plus/es/components/message';
|
|
2
|
+
import { AppContext, InjectionKey } from 'vue';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* 消息提示配置
|
|
6
6
|
*/
|
|
7
|
-
export interface
|
|
7
|
+
export interface MessageOptions extends ElMessageOptions {
|
|
8
8
|
/** 是否为原始风格 */
|
|
9
|
-
original?: boolean |
|
|
10
|
-
/** 是否为简约风格 */
|
|
11
|
-
plain?: boolean | null;
|
|
9
|
+
original?: boolean | 'plain';
|
|
12
10
|
/** 是否显示遮罩层 */
|
|
13
|
-
mask?: boolean
|
|
11
|
+
mask?: boolean;
|
|
14
12
|
/** 是否居中显示 */
|
|
15
|
-
centered?: boolean
|
|
13
|
+
centered?: boolean;
|
|
14
|
+
/** 是否限制在主体内部 */
|
|
15
|
+
inner?: boolean;
|
|
16
|
+
/** 限制在主体内部的分组标识 */
|
|
17
|
+
groupKey?: string;
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
|
-
*
|
|
20
|
+
* 消息提示方法参数
|
|
19
21
|
*/
|
|
20
|
-
export type
|
|
22
|
+
export type MessageParams = MessageOptions | ElMessageOptions['message'];
|
|
21
23
|
/**
|
|
22
24
|
* 消息提示方法
|
|
23
25
|
*/
|
|
24
|
-
export type
|
|
26
|
+
export type MessageFn = (options?: MessageParams, context?: null | AppContext) => ElMessageHandler;
|
|
25
27
|
/**
|
|
26
28
|
* 消息提示
|
|
27
29
|
*/
|
|
28
|
-
export interface
|
|
29
|
-
closeAll:
|
|
30
|
-
success:
|
|
31
|
-
warning:
|
|
32
|
-
error:
|
|
33
|
-
info:
|
|
34
|
-
loading:
|
|
30
|
+
export interface Message extends MessageFn {
|
|
31
|
+
closeAll: ElMessageFn['closeAll'];
|
|
32
|
+
success: MessageFn;
|
|
33
|
+
warning: MessageFn;
|
|
34
|
+
error: MessageFn;
|
|
35
|
+
info: MessageFn;
|
|
36
|
+
loading: MessageFn;
|
|
35
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* 消息提示依赖注入
|
|
40
|
+
*/
|
|
41
|
+
interface MessageProvide {
|
|
42
|
+
/** 限制在主体内部的分组标识 */
|
|
43
|
+
groupKey: string;
|
|
44
|
+
/** 获取限制在主体内部的容器 */
|
|
45
|
+
getInnerWrap: () => HTMLElement;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 消息提示依赖注入key
|
|
49
|
+
*/
|
|
50
|
+
type MessageKey = InjectionKey<MessageProvide>;
|
|
36
51
|
/**
|
|
37
52
|
* 提供各种调用方法
|
|
38
53
|
* @param options 参数
|
|
39
54
|
* @param context 上下文
|
|
40
55
|
*/
|
|
41
|
-
declare const EleMessage:
|
|
56
|
+
declare const EleMessage: Message;
|
|
42
57
|
export { EleMessage };
|
|
58
|
+
/**
|
|
59
|
+
* 消息提示依赖注入key
|
|
60
|
+
*/
|
|
61
|
+
export declare const MESSAGE_KEY: MessageKey;
|
|
62
|
+
/**
|
|
63
|
+
* 带当前上下文的消息提示
|
|
64
|
+
* @param options 参数
|
|
65
|
+
*/
|
|
66
|
+
export declare function useMessage(globalOpt?: MessageOptions): Message;
|