ele-admin-plus 1.2.1 → 1.2.2-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/ele-app/components/form-item-rest.d.ts +4 -0
- package/es/ele-app/components/form-item-rest.js +15 -0
- package/es/ele-cropper/components/cropper-tools.js +1 -1
- package/es/ele-cropper/style/index.scss +10 -1
- package/es/ele-data-table/index.js +3 -3
- package/es/ele-dropdown/components/pro-dropdown.d.ts +9 -0
- package/es/ele-dropdown/index.d.ts +11 -2
- package/es/ele-dropdown/index.js +3 -1
- package/es/ele-dropdown/props.d.ts +11 -2
- package/es/ele-dropdown/props.js +6 -1
- package/es/ele-file-list/index.js +2 -1
- package/es/ele-menus/components/item-title.js +4 -3
- package/es/ele-menus/types.d.ts +2 -0
- package/es/ele-pro-table/components/table-tools.js +1 -0
- package/es/ele-pro-table/index.js +19 -5
- package/es/ele-segmented/index.d.ts +9 -0
- package/es/ele-segmented/index.js +3 -1
- package/es/ele-segmented/props.d.ts +5 -0
- package/es/ele-segmented/props.js +6 -1
- package/es/ele-split-panel/index.d.ts +2 -0
- package/es/ele-split-panel/index.js +8 -8
- package/es/ele-split-panel/props.d.ts +3 -1
- package/es/ele-split-panel/props.js +3 -1
- package/es/ele-tab-wrap/components/tab-dropdown.js +2 -1
- package/es/ele-tabs/index.js +1 -0
- package/es/ele-tabs/style/index.scss +1 -2
- package/es/icons/LoadingOutlined.js +1 -1
- package/es/utils/hook.d.ts +16 -0
- package/es/utils/hook.js +57 -3
- package/lib/ele-app/components/form-item-rest.cjs +14 -0
- package/lib/ele-app/components/form-item-rest.d.ts +4 -0
- package/lib/ele-cropper/components/cropper-tools.cjs +1 -1
- package/lib/ele-cropper/style/index.scss +10 -1
- package/lib/ele-data-table/index.cjs +3 -3
- package/lib/ele-dropdown/components/pro-dropdown.d.ts +9 -0
- package/lib/ele-dropdown/index.cjs +3 -1
- package/lib/ele-dropdown/index.d.ts +11 -2
- package/lib/ele-dropdown/props.cjs +6 -1
- package/lib/ele-dropdown/props.d.ts +11 -2
- package/lib/ele-file-list/index.cjs +2 -1
- package/lib/ele-menus/components/item-title.cjs +4 -3
- package/lib/ele-menus/types.d.ts +2 -0
- package/lib/ele-pro-table/components/table-tools.cjs +1 -0
- package/lib/ele-pro-table/index.cjs +19 -5
- package/lib/ele-segmented/index.cjs +3 -1
- package/lib/ele-segmented/index.d.ts +9 -0
- package/lib/ele-segmented/props.cjs +6 -1
- package/lib/ele-segmented/props.d.ts +5 -0
- package/lib/ele-split-panel/index.cjs +8 -8
- package/lib/ele-split-panel/index.d.ts +2 -0
- package/lib/ele-split-panel/props.cjs +3 -1
- package/lib/ele-split-panel/props.d.ts +3 -1
- package/lib/ele-tab-wrap/components/tab-dropdown.cjs +2 -1
- package/lib/ele-tabs/index.cjs +1 -0
- package/lib/ele-tabs/style/index.scss +1 -2
- package/lib/icons/LoadingOutlined.cjs +1 -1
- package/lib/utils/hook.cjs +56 -2
- package/lib/utils/hook.d.ts +16 -0
- package/package.json +1 -1
- package/typings/global.d.ts +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const vue = require("vue");
|
|
3
|
+
const hook = require("../../utils/hook");
|
|
4
|
+
const formItemRest = vue.defineComponent({
|
|
5
|
+
name: "FormItemRest",
|
|
6
|
+
setup(_props, { slots }) {
|
|
7
|
+
hook.useFormItemRest();
|
|
8
|
+
return () => {
|
|
9
|
+
var _a;
|
|
10
|
+
return (_a = slots.default) == null ? void 0 : _a.call(slots);
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
module.exports = formItemRest;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
|
|
2
|
+
[key: string]: any;
|
|
3
|
+
}>[] | undefined, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>>, {}, {}>;
|
|
4
|
+
export default _default;
|
|
@@ -169,7 +169,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
169
169
|
accept: _ctx.accept,
|
|
170
170
|
showFileList: false,
|
|
171
171
|
beforeUpload: _ctx.handleUpload,
|
|
172
|
-
|
|
172
|
+
class: "ele-cropper-tool-upload"
|
|
173
173
|
}, {
|
|
174
174
|
default: vue.withCtx(() => [
|
|
175
175
|
vue.createVNode(_component_ElButton, {
|
|
@@ -68,12 +68,21 @@
|
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
.ele-cropper-tool-item {
|
|
71
|
-
margin: 10px
|
|
71
|
+
margin: 10px 10px 0 0;
|
|
72
72
|
vertical-align: top;
|
|
73
73
|
|
|
74
74
|
&:last-child {
|
|
75
75
|
margin-right: 0;
|
|
76
76
|
}
|
|
77
|
+
|
|
78
|
+
& > .ele-cropper-tool-upload {
|
|
79
|
+
float: left;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.ele-cropper-tool-upload {
|
|
83
|
+
line-height: 0;
|
|
84
|
+
display: inline-block;
|
|
85
|
+
}
|
|
77
86
|
}
|
|
78
87
|
|
|
79
88
|
.ele-cropper-tool {
|
|
@@ -332,10 +332,10 @@ const index = /* @__PURE__ */ vue.defineComponent({
|
|
|
332
332
|
}), {
|
|
333
333
|
header: (slotProps) => {
|
|
334
334
|
var _a, _b, _c;
|
|
335
|
-
return
|
|
335
|
+
return vue.createVNode("div", {
|
|
336
336
|
"class": "ele-cell-title",
|
|
337
|
-
"title": (
|
|
338
|
-
}, [(_c = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _c.label]);
|
|
337
|
+
"title": (_a = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _a.label
|
|
338
|
+
}, [col.headerSlot && !ownSlots.includes(col.headerSlot) && slots[col.headerSlot] ? (_b = slots[col.headerSlot]) == null ? void 0 : _b.call(slots, slotProps) : (_c = slotProps == null ? void 0 : slotProps.column) == null ? void 0 : _c.label]);
|
|
339
339
|
},
|
|
340
340
|
["filter-icon"]: (slotProps) => {
|
|
341
341
|
var _a;
|
|
@@ -17,6 +17,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
17
17
|
preventContextmenu: BooleanConstructor;
|
|
18
18
|
splitButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
|
|
19
19
|
caretButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
|
|
20
|
+
formValidate: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: boolean;
|
|
23
|
+
};
|
|
20
24
|
type: {
|
|
21
25
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
|
|
22
26
|
readonly required: false;
|
|
@@ -128,6 +132,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
128
132
|
preventContextmenu: BooleanConstructor;
|
|
129
133
|
splitButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
|
|
130
134
|
caretButtonProps: PropType<import('../../ele-app/el').ElButtonProps>;
|
|
135
|
+
formValidate: {
|
|
136
|
+
type: BooleanConstructor;
|
|
137
|
+
default: boolean;
|
|
138
|
+
};
|
|
131
139
|
type: {
|
|
132
140
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
|
|
133
141
|
readonly required: false;
|
|
@@ -234,5 +242,6 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
234
242
|
virtualTriggering: boolean;
|
|
235
243
|
gpuAcceleration: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
236
244
|
preventContextmenu: boolean;
|
|
245
|
+
formValidate: boolean;
|
|
237
246
|
}, {}>;
|
|
238
247
|
export default _default;
|
|
@@ -39,7 +39,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
39
39
|
const updateModelValue = (value) => {
|
|
40
40
|
if (value !== props$1.modelValue) {
|
|
41
41
|
emit("update:modelValue", value);
|
|
42
|
-
|
|
42
|
+
if (props$1.formValidate) {
|
|
43
|
+
validateChange();
|
|
44
|
+
}
|
|
43
45
|
emit("change", value);
|
|
44
46
|
}
|
|
45
47
|
};
|
|
@@ -17,6 +17,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
17
17
|
preventContextmenu: BooleanConstructor;
|
|
18
18
|
splitButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
|
|
19
19
|
caretButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
|
|
20
|
+
formValidate: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: boolean;
|
|
23
|
+
};
|
|
20
24
|
type: {
|
|
21
25
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
|
|
22
26
|
readonly required: false;
|
|
@@ -30,7 +34,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
30
34
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
31
35
|
readonly __epPropKey: true;
|
|
32
36
|
};
|
|
33
|
-
placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
|
|
37
|
+
placement: import('element-plus/es/utils/index').EpPropFinalized<(new (... /** 关闭下拉菜单 */args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
|
|
34
38
|
popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
35
39
|
teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
36
40
|
disabled: BooleanConstructor;
|
|
@@ -120,6 +124,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
120
124
|
preventContextmenu: BooleanConstructor;
|
|
121
125
|
splitButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
|
|
122
126
|
caretButtonProps: import('vue').PropType<import('../ele-app/el').ElButtonProps>;
|
|
127
|
+
formValidate: {
|
|
128
|
+
type: BooleanConstructor;
|
|
129
|
+
default: boolean;
|
|
130
|
+
};
|
|
123
131
|
type: {
|
|
124
132
|
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
|
|
125
133
|
readonly required: false;
|
|
@@ -133,7 +141,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
133
141
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
134
142
|
readonly __epPropKey: true;
|
|
135
143
|
};
|
|
136
|
-
placement: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
|
|
144
|
+
placement: import('element-plus/es/utils/index').EpPropFinalized<(new (... /** 关闭下拉菜单 */args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement) | ((new (...args: any[]) => import('element-plus').Placement & {}) | (() => import('element-plus').Placement))[], unknown, unknown, "bottom", boolean>;
|
|
137
145
|
popperClass: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
138
146
|
teleported: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
139
147
|
disabled: BooleanConstructor;
|
|
@@ -226,5 +234,6 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
226
234
|
virtualTriggering: boolean;
|
|
227
235
|
gpuAcceleration: import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
228
236
|
preventContextmenu: boolean;
|
|
237
|
+
formValidate: boolean;
|
|
229
238
|
}, {}>;
|
|
230
239
|
export default _default;
|
|
@@ -52,7 +52,12 @@ const dropdownProps = {
|
|
|
52
52
|
/** 内容按钮属性 */
|
|
53
53
|
splitButtonProps: Object,
|
|
54
54
|
/** 箭头按钮属性 */
|
|
55
|
-
caretButtonProps: Object
|
|
55
|
+
caretButtonProps: Object,
|
|
56
|
+
/** 是否支持表单验证 */
|
|
57
|
+
formValidate: {
|
|
58
|
+
type: Boolean,
|
|
59
|
+
default: true
|
|
60
|
+
}
|
|
56
61
|
};
|
|
57
62
|
const dropdownEmits = {
|
|
58
63
|
...props.popoverEmits,
|
|
@@ -14,7 +14,9 @@ declare const normalizeDropdownProps: import('../ele-app/types').Mutable<Omit<{
|
|
|
14
14
|
readonly __epPropKey: true;
|
|
15
15
|
};
|
|
16
16
|
readonly type: {
|
|
17
|
-
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
|
|
17
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
|
|
18
|
+
/** 是否支持表单验证 */
|
|
19
|
+
... /** 是否支持表单验证 */args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
|
|
18
20
|
readonly required: false;
|
|
19
21
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
20
22
|
__epPropKey: true;
|
|
@@ -66,8 +68,15 @@ export declare const dropdownProps: {
|
|
|
66
68
|
splitButtonProps: PropType<ElButtonProps>;
|
|
67
69
|
/** 箭头按钮属性 */
|
|
68
70
|
caretButtonProps: PropType<ElButtonProps>;
|
|
71
|
+
/** 是否支持表单验证 */
|
|
72
|
+
formValidate: {
|
|
73
|
+
type: BooleanConstructor;
|
|
74
|
+
default: boolean;
|
|
75
|
+
};
|
|
69
76
|
type: {
|
|
70
|
-
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
|
|
77
|
+
readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (
|
|
78
|
+
/** 是否支持表单验证 */
|
|
79
|
+
... /** 是否支持表单验证 */args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>) | ((new (...args: any[]) => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown> & {}) | (() => import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, "" | "text" | "default" | "success" | "warning" | "info" | "primary" | "danger", unknown>))[], unknown, unknown>>;
|
|
71
80
|
readonly required: false;
|
|
72
81
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
73
82
|
__epPropKey: true;
|
|
@@ -357,7 +357,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
357
357
|
key: 2,
|
|
358
358
|
persistent: false,
|
|
359
359
|
placement: "bottom-start",
|
|
360
|
-
popperClass: "ele-file-list-item-context"
|
|
360
|
+
popperClass: "ele-file-list-item-context",
|
|
361
|
+
formValidate: false
|
|
361
362
|
}, _ctx.contextMenuProps || {}, {
|
|
362
363
|
ref: "ctxMenuDropdownRef",
|
|
363
364
|
componentType: "pro",
|
|
@@ -53,7 +53,7 @@ const _hoisted_1 = {
|
|
|
53
53
|
key: 0,
|
|
54
54
|
class: "ele-menu-title"
|
|
55
55
|
};
|
|
56
|
-
const _hoisted_2 = ["href"];
|
|
56
|
+
const _hoisted_2 = ["href", "target"];
|
|
57
57
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
58
58
|
const _component_ElIcon = vue.resolveComponent("ElIcon");
|
|
59
59
|
const _component_ElBadge = vue.resolveComponent("ElBadge");
|
|
@@ -90,15 +90,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
90
90
|
_ctx.isExternalLink(_ctx.item.path) ? (vue.openBlock(), vue.createElementBlock("a", {
|
|
91
91
|
key: 0,
|
|
92
92
|
href: _ctx.item.path,
|
|
93
|
-
target: "_blank",
|
|
93
|
+
target: _ctx.item.pathTarget || "_blank",
|
|
94
94
|
class: "ele-menu-link",
|
|
95
95
|
onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => {
|
|
96
96
|
}, ["stop"]))
|
|
97
97
|
}, null, 8, _hoisted_2)) : _ctx.item.path ? (vue.openBlock(), vue.createBlock(_component_RouterLink, {
|
|
98
98
|
key: 1,
|
|
99
99
|
to: _ctx.item.path,
|
|
100
|
+
target: _ctx.item.pathTarget,
|
|
100
101
|
class: "ele-menu-link"
|
|
101
|
-
}, null, 8, ["to"])) : vue.createCommentVNode("", true)
|
|
102
|
+
}, null, 8, ["to", "target"])) : vue.createCommentVNode("", true)
|
|
102
103
|
], 64)) : vue.createCommentVNode("", true)
|
|
103
104
|
], 32)
|
|
104
105
|
], 64);
|
package/lib/ele-menus/types.d.ts
CHANGED
|
@@ -307,6 +307,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
307
307
|
vue.createVNode(_component_EleDropdown, {
|
|
308
308
|
trigger: "click",
|
|
309
309
|
placement: "bottom",
|
|
310
|
+
formValidate: false,
|
|
310
311
|
popperClass: "ele-tool-size-popper",
|
|
311
312
|
modelValue: _ctx.size,
|
|
312
313
|
items: _ctx.sizeDropdownItems,
|
|
@@ -236,14 +236,28 @@ const _sfc_main = vue.defineComponent({
|
|
|
236
236
|
);
|
|
237
237
|
requestCallback(data, total, parent, result, resolve);
|
|
238
238
|
}).catch((e) => {
|
|
239
|
-
|
|
239
|
+
const errorMsg = e == null ? void 0 : e.message;
|
|
240
|
+
requestCallback(
|
|
241
|
+
errorMsg == null ? errorMsg : String(errorMsg),
|
|
242
|
+
void 0,
|
|
243
|
+
parent,
|
|
244
|
+
e,
|
|
245
|
+
resolve
|
|
246
|
+
);
|
|
240
247
|
resolve && console.error(e);
|
|
241
248
|
});
|
|
242
249
|
};
|
|
243
250
|
const requestCallback = (data, total, parent, response, resolve) => {
|
|
244
|
-
var _a;
|
|
245
|
-
if (!Array.isArray(data)) {
|
|
246
|
-
|
|
251
|
+
var _a, _b;
|
|
252
|
+
if (data == null || !Array.isArray(data)) {
|
|
253
|
+
if (resolve) {
|
|
254
|
+
if (parent != null) {
|
|
255
|
+
parent[((_a = props2.treeProps) == null ? void 0 : _a.children) || "children"] = [];
|
|
256
|
+
}
|
|
257
|
+
resolve([]);
|
|
258
|
+
} else {
|
|
259
|
+
tableData.value = [];
|
|
260
|
+
}
|
|
247
261
|
tableLoading.value = false;
|
|
248
262
|
if (typeof data === "string" && data) {
|
|
249
263
|
errorText.value = data;
|
|
@@ -260,7 +274,7 @@ const _sfc_main = vue.defineComponent({
|
|
|
260
274
|
}
|
|
261
275
|
if (resolve) {
|
|
262
276
|
if (parent != null) {
|
|
263
|
-
parent[((
|
|
277
|
+
parent[((_b = props2.treeProps) == null ? void 0 : _b.children) || "children"] = data;
|
|
264
278
|
}
|
|
265
279
|
resolve(data);
|
|
266
280
|
} else {
|
|
@@ -17,7 +17,9 @@ const _sfc_main = vue.defineComponent({
|
|
|
17
17
|
const handleUpdateModelValue = (value) => {
|
|
18
18
|
if (props2.modelValue !== value) {
|
|
19
19
|
emit("update:modelValue", value);
|
|
20
|
-
|
|
20
|
+
if (props2.formValidate) {
|
|
21
|
+
validateChange();
|
|
22
|
+
}
|
|
21
23
|
emit("change", value);
|
|
22
24
|
}
|
|
23
25
|
};
|
|
@@ -9,6 +9,10 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
9
9
|
required: boolean;
|
|
10
10
|
};
|
|
11
11
|
size: import('vue').PropType<import('./types').SegmentedSize>;
|
|
12
|
+
formValidate: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
12
16
|
}, {
|
|
13
17
|
tabRef: import('vue').Ref<ElTabsInstance>;
|
|
14
18
|
isEmptyActive: import('vue').ComputedRef<boolean>;
|
|
@@ -26,11 +30,16 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
26
30
|
required: boolean;
|
|
27
31
|
};
|
|
28
32
|
size: import('vue').PropType<import('./types').SegmentedSize>;
|
|
33
|
+
formValidate: {
|
|
34
|
+
type: BooleanConstructor;
|
|
35
|
+
default: boolean;
|
|
36
|
+
};
|
|
29
37
|
}>> & {
|
|
30
38
|
"onUpdate:modelValue"?: ((_value: string | number) => any) | undefined;
|
|
31
39
|
onChange?: ((_active: string | number) => any) | undefined;
|
|
32
40
|
}, {
|
|
33
41
|
disabled: boolean;
|
|
34
42
|
block: boolean;
|
|
43
|
+
formValidate: boolean;
|
|
35
44
|
}, {}>;
|
|
36
45
|
export default _default;
|
|
@@ -18,6 +18,11 @@ export declare const segmentedProps: {
|
|
|
18
18
|
};
|
|
19
19
|
/** 尺寸 */
|
|
20
20
|
size: PropType<SegmentedSize>;
|
|
21
|
+
/** 是否支持表单验证 */
|
|
22
|
+
formValidate: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
21
26
|
};
|
|
22
27
|
export type SegmentedProps = ExtractPropTypes<typeof segmentedProps>;
|
|
23
28
|
/**
|
|
@@ -123,11 +123,7 @@ const _export_sfc = (sfc, props2) => {
|
|
|
123
123
|
}
|
|
124
124
|
return target;
|
|
125
125
|
};
|
|
126
|
-
const _hoisted_1 = {
|
|
127
|
-
ref: "wrapRef",
|
|
128
|
-
class: "ele-split-panel-wrap"
|
|
129
|
-
};
|
|
130
|
-
const _hoisted_2 = { class: "ele-split-panel-space" };
|
|
126
|
+
const _hoisted_1 = { class: "ele-split-panel-space" };
|
|
131
127
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
132
128
|
const _component_ArrowUp = vue.resolveComponent("ArrowUp");
|
|
133
129
|
const _component_ArrowLeft = vue.resolveComponent("ArrowLeft");
|
|
@@ -150,7 +146,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
150
146
|
})
|
|
151
147
|
}, {
|
|
152
148
|
default: vue.withCtx(() => [
|
|
153
|
-
vue.createElementVNode("div",
|
|
149
|
+
vue.createElementVNode("div", {
|
|
150
|
+
ref: "wrapRef",
|
|
151
|
+
class: "ele-split-panel-wrap",
|
|
152
|
+
style: vue.normalizeStyle(_ctx.customWrapStyle)
|
|
153
|
+
}, [
|
|
154
154
|
vue.createElementVNode("div", {
|
|
155
155
|
ref: "sideRef",
|
|
156
156
|
class: "ele-split-panel-side",
|
|
@@ -158,14 +158,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
158
158
|
}, [
|
|
159
159
|
vue.renderSlot(_ctx.$slots, "default")
|
|
160
160
|
], 4),
|
|
161
|
-
vue.createElementVNode("div",
|
|
161
|
+
vue.createElementVNode("div", _hoisted_1, [
|
|
162
162
|
_ctx.resizable ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
163
163
|
key: 0,
|
|
164
164
|
class: "ele-split-resize-line",
|
|
165
165
|
onMousedown: _cache[0] || (_cache[0] = (...args) => _ctx.handleResize && _ctx.handleResize(...args))
|
|
166
166
|
}, null, 32)) : vue.createCommentVNode("", true)
|
|
167
167
|
])
|
|
168
|
-
],
|
|
168
|
+
], 4),
|
|
169
169
|
vue.createElementVNode("div", {
|
|
170
170
|
class: "ele-split-panel-body",
|
|
171
171
|
style: vue.normalizeStyle(_ctx.bodyStyle)
|
|
@@ -6,6 +6,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
6
6
|
maxSize: NumberConstructor;
|
|
7
7
|
space: StringConstructor;
|
|
8
8
|
customStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
9
|
+
customWrapStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
9
10
|
bodyStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
10
11
|
allowCollapse: BooleanConstructor;
|
|
11
12
|
collapseStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
@@ -37,6 +38,7 @@ declare const _default: import('vue').DefineComponent<{
|
|
|
37
38
|
maxSize: NumberConstructor;
|
|
38
39
|
space: StringConstructor;
|
|
39
40
|
customStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
41
|
+
customWrapStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
40
42
|
bodyStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
41
43
|
allowCollapse: BooleanConstructor;
|
|
42
44
|
collapseStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
|
|
@@ -13,8 +13,10 @@ export declare const splitPanelProps: {
|
|
|
13
13
|
maxSize: NumberConstructor;
|
|
14
14
|
/** 间距 */
|
|
15
15
|
space: StringConstructor;
|
|
16
|
-
/**
|
|
16
|
+
/** 自定义边栏样式 */
|
|
17
17
|
customStyle: PropType<StyleValue>;
|
|
18
|
+
/** 自定义边栏容器样式 */
|
|
19
|
+
customWrapStyle: PropType<StyleValue>;
|
|
18
20
|
/** 自定义内容样式 */
|
|
19
21
|
bodyStyle: PropType<StyleValue>;
|
|
20
22
|
/** 是否可折叠 */
|
|
@@ -58,7 +58,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
58
58
|
popperClass: "ele-tab-popup",
|
|
59
59
|
popperOptions: {
|
|
60
60
|
modifiers: [{ name: "offset", options: { offset: [12, 8] } }]
|
|
61
|
-
}
|
|
61
|
+
},
|
|
62
|
+
formValidate: false
|
|
62
63
|
}, _ctx.dropdownProps || {}, {
|
|
63
64
|
ref: "dropdownRef",
|
|
64
65
|
items: _ctx.items,
|
package/lib/ele-tabs/index.cjs
CHANGED
|
@@ -1043,8 +1043,6 @@
|
|
|
1043
1043
|
/* 内部表格高度铺满 */
|
|
1044
1044
|
.ele-tabs.is-flex-table {
|
|
1045
1045
|
flex: 1;
|
|
1046
|
-
display: flex;
|
|
1047
|
-
flex-direction: column;
|
|
1048
1046
|
overflow: auto;
|
|
1049
1047
|
|
|
1050
1048
|
& > .el-tabs__content {
|
|
@@ -1056,6 +1054,7 @@
|
|
|
1056
1054
|
display: flex;
|
|
1057
1055
|
flex-direction: column;
|
|
1058
1056
|
box-sizing: border-box;
|
|
1057
|
+
overflow: auto;
|
|
1059
1058
|
|
|
1060
1059
|
& > .ele-pro-table {
|
|
1061
1060
|
flex: 1;
|
|
@@ -17,7 +17,7 @@ const _hoisted_1 = {
|
|
|
17
17
|
"stroke-width": "4",
|
|
18
18
|
"stroke-linecap": "round"
|
|
19
19
|
};
|
|
20
|
-
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "
|
|
20
|
+
const _hoisted_2 = /* @__PURE__ */ vue.createElementVNode("path", { d: "M22 6C34 6 42 14 42 26" }, null, -1);
|
|
21
21
|
const _hoisted_3 = [
|
|
22
22
|
_hoisted_2
|
|
23
23
|
];
|
package/lib/utils/hook.cjs
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
+
const elementPlus = require("element-plus");
|
|
5
|
+
const SortableJs = require("sortablejs");
|
|
6
|
+
function useFormItemRest() {
|
|
7
|
+
vue.provide(elementPlus.formItemContextKey, null);
|
|
8
|
+
}
|
|
4
9
|
function useTimer(ms, cb) {
|
|
5
10
|
let timer = null;
|
|
6
11
|
const waiting = vue.ref(false);
|
|
@@ -33,10 +38,18 @@ function useMediaQuery(query, onChange) {
|
|
|
33
38
|
};
|
|
34
39
|
const startWatch = () => {
|
|
35
40
|
stopWatch();
|
|
36
|
-
|
|
41
|
+
if ("addEventListener" in mediaQuery) {
|
|
42
|
+
mediaQuery.addEventListener("change", handleChange);
|
|
43
|
+
} else {
|
|
44
|
+
mediaQuery.addListener(handleChange);
|
|
45
|
+
}
|
|
37
46
|
};
|
|
38
47
|
const stopWatch = () => {
|
|
39
|
-
|
|
48
|
+
if ("removeEventListener" in mediaQuery) {
|
|
49
|
+
mediaQuery.removeEventListener("change", handleChange);
|
|
50
|
+
} else {
|
|
51
|
+
mediaQuery.removeListener(handleChange);
|
|
52
|
+
}
|
|
40
53
|
handleChange();
|
|
41
54
|
};
|
|
42
55
|
vue.onBeforeUnmount(() => {
|
|
@@ -255,10 +268,51 @@ function useMoveEvent(option) {
|
|
|
255
268
|
handleTouchstart
|
|
256
269
|
};
|
|
257
270
|
}
|
|
271
|
+
function useSortable(getEl, getData, updateData, options) {
|
|
272
|
+
let sortableIns = null;
|
|
273
|
+
const destroySortable = () => {
|
|
274
|
+
if (sortableIns != null) {
|
|
275
|
+
sortableIns.destroy();
|
|
276
|
+
}
|
|
277
|
+
sortableIns = null;
|
|
278
|
+
};
|
|
279
|
+
const initSortable = () => {
|
|
280
|
+
destroySortable();
|
|
281
|
+
const el = getEl();
|
|
282
|
+
if (el == null) {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
sortableIns = new SortableJs(el, {
|
|
286
|
+
onUpdate: ({ oldDraggableIndex, newDraggableIndex }) => {
|
|
287
|
+
if (typeof oldDraggableIndex === "number" && typeof newDraggableIndex === "number") {
|
|
288
|
+
const data = [...getData() || []];
|
|
289
|
+
data.splice(
|
|
290
|
+
newDraggableIndex,
|
|
291
|
+
0,
|
|
292
|
+
data.splice(oldDraggableIndex, 1)[0]
|
|
293
|
+
);
|
|
294
|
+
updateData(data);
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
setData: () => {
|
|
298
|
+
},
|
|
299
|
+
...options || {}
|
|
300
|
+
});
|
|
301
|
+
};
|
|
302
|
+
vue.onMounted(() => {
|
|
303
|
+
initSortable();
|
|
304
|
+
});
|
|
305
|
+
vue.onBeforeUnmount(() => {
|
|
306
|
+
destroySortable();
|
|
307
|
+
});
|
|
308
|
+
return { initSortable, destroySortable };
|
|
309
|
+
}
|
|
258
310
|
exports.useCollapseAnim = useCollapseAnim;
|
|
311
|
+
exports.useFormItemRest = useFormItemRest;
|
|
259
312
|
exports.useMediaQuery = useMediaQuery;
|
|
260
313
|
exports.useMousewheel = useMousewheel;
|
|
261
314
|
exports.useMoveEvent = useMoveEvent;
|
|
315
|
+
exports.useSortable = useSortable;
|
|
262
316
|
exports.useTimer = useTimer;
|
|
263
317
|
exports.useTouchEvent = useTouchEvent;
|
|
264
318
|
exports.useWindowListener = useWindowListener;
|
package/lib/utils/hook.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { Ref } from 'vue';
|
|
2
|
+
import { default as SortableJs } from 'sortablejs';
|
|
2
3
|
|
|
4
|
+
/**
|
|
5
|
+
* 重置组件表单验证
|
|
6
|
+
*/
|
|
7
|
+
export declare function useFormItemRest(): void;
|
|
3
8
|
/**
|
|
4
9
|
* useTimer 返回结果
|
|
5
10
|
*/
|
|
@@ -111,3 +116,14 @@ export declare function useMoveEvent(option?: UseTouchEventOption<MoveEvent>): {
|
|
|
111
116
|
handleMousedown: (e: MouseEvent) => void;
|
|
112
117
|
handleTouchstart: (e: TouchEvent) => void;
|
|
113
118
|
};
|
|
119
|
+
/**
|
|
120
|
+
* 拖拽排序
|
|
121
|
+
* @param getEl 获取容器方法
|
|
122
|
+
* @param getData 获取数据方法
|
|
123
|
+
* @param updateData 更新数据方法
|
|
124
|
+
* @param options 自定义参数
|
|
125
|
+
*/
|
|
126
|
+
export declare function useSortable<T>(getEl: () => HTMLElement | undefined | null, getData: () => T[] | undefined | null, updateData: (data: T[]) => void, options?: SortableJs.Options): {
|
|
127
|
+
initSortable: () => void;
|
|
128
|
+
destroySortable: () => void;
|
|
129
|
+
};
|