vxe-pc-ui 4.1.19 → 4.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +83 -2
- package/es/anchor/src/anchor-link.js +1 -1
- package/es/anchor/src/anchor.js +1 -1
- package/es/breadcrumb/src/breadcrumb.js +1 -1
- package/es/button/src/button-group.js +4 -1
- package/es/button/src/button.js +2 -1
- package/es/calendar/src/calendar.js +64 -32
- package/es/card/src/card.js +4 -3
- package/es/carousel/src/carousel-item.js +13 -3
- package/es/carousel/src/carousel.js +16 -8
- package/es/checkbox/src/checkbox.js +30 -14
- package/es/checkbox/src/group.js +17 -8
- package/es/collapse-pane/index.js +1 -1
- package/es/countdown/src/countdown.js +17 -8
- package/es/date-picker/src/date-picker.js +148 -69
- package/es/drawer/src/drawer.js +86 -46
- package/es/form/render/index.js +1 -2
- package/es/form/src/form-config-item.js +4 -3
- package/es/form/src/form-gather.js +5 -3
- package/es/form/src/form-item.js +15 -10
- package/es/form/src/form.js +11 -8
- package/es/form/src/render.js +2 -1
- package/es/form/src/util.js +2 -1
- package/es/icon/src/icon.js +3 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +24 -11
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +131 -66
- package/es/layout-aside/src/layout-aside.js +1 -1
- package/es/list/src/list.js +7 -5
- package/es/list-design/src/list-design.js +1 -1
- package/es/list-design/src/list-view.js +1 -1
- package/es/loading/src/loading.js +4 -1
- package/es/menu/src/menu.js +4 -3
- package/es/number-input/src/number-input.js +100 -77
- package/es/pager/src/pager.js +85 -45
- package/es/password-input/src/password-input.js +2 -2
- package/es/print/src/page-break.js +11 -2
- package/es/print/src/print.js +6 -4
- package/es/pulldown/src/pulldown.js +19 -13
- package/es/radio/src/button.js +2 -2
- package/es/radio/src/group.js +8 -4
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +19 -10
- package/es/select/src/option.js +17 -9
- package/es/select/src/select.js +64 -41
- package/es/select/src/util.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tab-pane.js +13 -3
- package/es/tabs/src/tabs.js +57 -47
- package/es/textarea/src/textarea.js +28 -10
- package/es/tooltip/src/tooltip.js +107 -78
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +18 -10
- package/es/ui/index.js +1 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -5
- package/lib/anchor/src/anchor-link.js +1 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +1 -1
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
- package/lib/button/src/button-group.js +4 -1
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/button/src/button.js +2 -1
- package/lib/button/src/button.min.js +1 -1
- package/lib/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/card/src/card.js +6 -5
- package/lib/card/src/card.min.js +1 -1
- package/lib/carousel/src/carousel-item.js +16 -3
- package/lib/carousel/src/carousel-item.min.js +1 -1
- package/lib/carousel/src/carousel.js +18 -8
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +16 -12
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +10 -7
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/collapse-pane/index.js +1 -1
- package/lib/collapse-pane/index.min.js +1 -1
- package/lib/countdown/src/countdown.js +15 -7
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +124 -62
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/drawer/src/drawer.js +15 -30
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/form/render/index.js +1 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form-config-item.js +4 -5
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +11 -9
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +11 -12
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +7 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/util.js +2 -1
- package/lib/icon/src/icon.js +3 -0
- package/lib/icon/src/icon.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +22 -12
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +4 -1
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/preview.js +1 -1
- package/lib/image/src/preview.min.js +1 -1
- package/lib/index.umd.js +884 -649
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +79 -51
- package/lib/input/src/input.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +1 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/list/src/list.js +9 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/list-design/src/list-design.js +1 -1
- package/lib/list-design/src/list-design.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/loading/src/loading.js +4 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +4 -3
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +67 -69
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/pager/src/pager.js +40 -39
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/password-input/src/password-input.js +2 -2
- package/lib/print/src/page-break.js +14 -2
- package/lib/print/src/page-break.min.js +1 -1
- package/lib/print/src/print.js +8 -6
- package/lib/print/src/print.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +19 -13
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +2 -2
- package/lib/radio/src/group.js +8 -4
- package/lib/radio/src/group.min.js +1 -1
- package/lib/row/src/row.js +1 -1
- package/lib/row/src/row.min.js +1 -1
- package/lib/select/src/optgroup.js +12 -9
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +9 -7
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +52 -41
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +2 -2
- package/lib/select/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tab-pane.js +16 -3
- package/lib/tabs/src/tab-pane.min.js +1 -1
- package/lib/tabs/src/tabs.js +62 -50
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -4
- package/lib/tooltip/src/tooltip.js +96 -88
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree/src/tree.js +2 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +13 -8
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +3 -10
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +5 -5
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +2 -2
- package/packages/anchor/src/anchor-link.ts +2 -2
- package/packages/anchor/src/anchor.ts +2 -2
- package/packages/breadcrumb/src/breadcrumb.ts +2 -2
- package/packages/button/src/button-group.ts +4 -1
- package/packages/button/src/button.ts +6 -5
- package/packages/calendar/src/calendar.ts +67 -35
- package/packages/card/src/card.ts +6 -4
- package/packages/carousel/src/carousel-item.ts +19 -4
- package/packages/carousel/src/carousel.ts +19 -11
- package/packages/checkbox/src/checkbox.ts +34 -15
- package/packages/checkbox/src/group.ts +22 -10
- package/packages/collapse-pane/index.ts +1 -1
- package/packages/countdown/src/countdown.ts +20 -11
- package/packages/date-picker/src/date-picker.ts +160 -80
- package/packages/drawer/src/drawer.ts +91 -50
- package/packages/form/render/index.ts +1 -3
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-gather.ts +5 -3
- package/packages/form/src/form-item.ts +15 -10
- package/packages/form/src/form.ts +12 -10
- package/packages/form/src/render.ts +2 -1
- package/packages/form/src/util.ts +2 -1
- package/packages/icon/src/icon.ts +3 -0
- package/packages/icon-picker/src/icon-picker.ts +31 -17
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +138 -75
- package/packages/layout-aside/src/layout-aside.ts +2 -2
- package/packages/list/src/list.ts +12 -11
- package/packages/list-design/src/list-design.ts +2 -2
- package/packages/list-design/src/list-view.ts +2 -2
- package/packages/loading/src/loading.ts +5 -2
- package/packages/menu/src/menu.ts +5 -4
- package/packages/number-input/src/number-input.ts +102 -79
- package/packages/pager/src/pager.ts +91 -50
- package/packages/password-input/src/password-input.ts +2 -2
- package/packages/print/src/page-break.ts +18 -4
- package/packages/print/src/print.ts +10 -5
- package/packages/pulldown/src/pulldown.ts +28 -22
- package/packages/radio/src/button.ts +2 -2
- package/packages/radio/src/group.ts +9 -5
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +22 -13
- package/packages/select/src/option.ts +18 -10
- package/packages/select/src/select.ts +79 -52
- package/packages/select/src/util.ts +3 -3
- package/packages/tabs/src/tab-pane.ts +20 -5
- package/packages/tabs/src/tabs.ts +59 -49
- package/packages/textarea/src/textarea.ts +28 -10
- package/packages/tooltip/src/tooltip.ts +118 -84
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +25 -16
- package/packages/ui/index.ts +0 -7
- package/packages/upload/src/upload.ts +6 -6
- package/types/components/calendar.d.ts +6 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/countdown.d.ts +4 -0
- package/types/components/date-picker.d.ts +23 -5
- package/types/components/drawer.d.ts +0 -1
- package/types/components/form.d.ts +4 -2
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/list.d.ts +1 -0
- package/types/components/number-input.d.ts +6 -2
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/pulldown.d.ts +5 -1
- package/types/components/select.d.ts +4 -0
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -0
- package/types/components/tooltip.d.ts +4 -0
- package/types/components/tree-select.d.ts +4 -0
- package/types/ui/index.d.ts +0 -22
- /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/es/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/es/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{iconfont.1725597808239.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/{iconfont.1725597808239.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/{iconfont.1725597808239.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/es/pager/src/pager.js
CHANGED
|
@@ -7,34 +7,73 @@ import VxeInputComponent from '../../input/src/input';
|
|
|
7
7
|
export default defineComponent({
|
|
8
8
|
name: 'VxePager',
|
|
9
9
|
props: {
|
|
10
|
-
size: {
|
|
10
|
+
size: {
|
|
11
|
+
type: String,
|
|
12
|
+
default: () => getConfig().pager.size || getConfig().size
|
|
13
|
+
},
|
|
11
14
|
// 自定义布局
|
|
12
|
-
layouts: {
|
|
15
|
+
layouts: {
|
|
16
|
+
type: Array,
|
|
17
|
+
default: () => getConfig().pager.layouts || ['PrevJump', 'PrevPage', 'Jump', 'PageCount', 'NextPage', 'NextJump', 'Sizes', 'Total']
|
|
18
|
+
},
|
|
13
19
|
// 当前页
|
|
14
|
-
currentPage: {
|
|
20
|
+
currentPage: {
|
|
21
|
+
type: Number,
|
|
22
|
+
default: 1
|
|
23
|
+
},
|
|
15
24
|
// 加载中
|
|
16
25
|
loading: Boolean,
|
|
17
26
|
// 每页大小
|
|
18
|
-
pageSize: {
|
|
27
|
+
pageSize: {
|
|
28
|
+
type: Number,
|
|
29
|
+
default: () => getConfig().pager.pageSize || 10
|
|
30
|
+
},
|
|
19
31
|
// 总条数
|
|
20
32
|
total: { type: Number, default: 0 },
|
|
21
33
|
// 显示页码按钮的数量
|
|
22
|
-
pagerCount: {
|
|
34
|
+
pagerCount: {
|
|
35
|
+
type: Number,
|
|
36
|
+
default: () => getConfig().pager.pagerCount || 7
|
|
37
|
+
},
|
|
23
38
|
// 每页大小选项列表
|
|
24
|
-
pageSizes: {
|
|
39
|
+
pageSizes: {
|
|
40
|
+
type: Array,
|
|
41
|
+
default: () => getConfig().pager.pageSizes || [10, 15, 20, 50, 100]
|
|
42
|
+
},
|
|
25
43
|
// 列对其方式
|
|
26
|
-
align: {
|
|
44
|
+
align: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: () => getConfig().pager.align
|
|
47
|
+
},
|
|
27
48
|
// 带边框
|
|
28
|
-
border: {
|
|
49
|
+
border: {
|
|
50
|
+
type: Boolean,
|
|
51
|
+
default: () => getConfig().pager.border
|
|
52
|
+
},
|
|
29
53
|
// 带背景颜色
|
|
30
|
-
background: {
|
|
54
|
+
background: {
|
|
55
|
+
type: Boolean,
|
|
56
|
+
default: () => getConfig().pager.background
|
|
57
|
+
},
|
|
31
58
|
// 配套的样式
|
|
32
|
-
perfect: {
|
|
59
|
+
perfect: {
|
|
60
|
+
type: Boolean,
|
|
61
|
+
default: () => getConfig().pager.perfect
|
|
62
|
+
},
|
|
33
63
|
// 当只有一页时隐藏
|
|
34
|
-
autoHidden: {
|
|
35
|
-
|
|
64
|
+
autoHidden: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: () => getConfig().pager.autoHidden
|
|
67
|
+
},
|
|
68
|
+
transfer: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: () => getConfig().pager.transfer
|
|
71
|
+
},
|
|
36
72
|
className: [String, Function],
|
|
37
|
-
pageSizePlacement: {
|
|
73
|
+
pageSizePlacement: {
|
|
74
|
+
type: String,
|
|
75
|
+
default: () => getConfig().pager.pageSizePlacement
|
|
76
|
+
},
|
|
38
77
|
// 自定义图标
|
|
39
78
|
iconPrevPage: String,
|
|
40
79
|
iconJumpPrev: String,
|
|
@@ -61,6 +100,33 @@ export default defineComponent({
|
|
|
61
100
|
const refMaps = {
|
|
62
101
|
refElem
|
|
63
102
|
};
|
|
103
|
+
const computePageCount = computed(() => {
|
|
104
|
+
return getPageCount(props.total, props.pageSize);
|
|
105
|
+
});
|
|
106
|
+
const computeNumList = computed(() => {
|
|
107
|
+
const { pagerCount } = props;
|
|
108
|
+
const pageCount = computePageCount.value;
|
|
109
|
+
const len = pageCount > pagerCount ? pagerCount - 2 : pagerCount;
|
|
110
|
+
const rest = [];
|
|
111
|
+
for (let index = 0; index < len; index++) {
|
|
112
|
+
rest.push(index);
|
|
113
|
+
}
|
|
114
|
+
return rest;
|
|
115
|
+
});
|
|
116
|
+
const computeOffsetNumber = computed(() => {
|
|
117
|
+
return Math.floor((props.pagerCount - 2) / 2);
|
|
118
|
+
});
|
|
119
|
+
const computeSizeList = computed(() => {
|
|
120
|
+
return props.pageSizes.map((item) => {
|
|
121
|
+
if (XEUtils.isNumber(item)) {
|
|
122
|
+
return {
|
|
123
|
+
value: item,
|
|
124
|
+
label: `${getI18n('vxe.pager.pagesize', [item])}`
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return Object.assign({ value: '', label: '' }, item);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
64
130
|
const $xePager = {
|
|
65
131
|
xID,
|
|
66
132
|
props,
|
|
@@ -72,9 +138,6 @@ export default defineComponent({
|
|
|
72
138
|
const getPageCount = (total, size) => {
|
|
73
139
|
return Math.max(Math.ceil(total / size), 1);
|
|
74
140
|
};
|
|
75
|
-
const computePageCount = computed(() => {
|
|
76
|
-
return getPageCount(props.total, props.pageSize);
|
|
77
|
-
});
|
|
78
141
|
const jumpPageEvent = (evnt, currentPage) => {
|
|
79
142
|
emit('update:currentPage', currentPage);
|
|
80
143
|
if (evnt && currentPage !== props.currentPage) {
|
|
@@ -98,30 +161,6 @@ export default defineComponent({
|
|
|
98
161
|
reactData.inpCurrPage = currPage;
|
|
99
162
|
changeCurrentPage(current, $event);
|
|
100
163
|
};
|
|
101
|
-
const computeNumList = computed(() => {
|
|
102
|
-
const { pagerCount } = props;
|
|
103
|
-
const pageCount = computePageCount.value;
|
|
104
|
-
const len = pageCount > pagerCount ? pagerCount - 2 : pagerCount;
|
|
105
|
-
const rest = [];
|
|
106
|
-
for (let index = 0; index < len; index++) {
|
|
107
|
-
rest.push(index);
|
|
108
|
-
}
|
|
109
|
-
return rest;
|
|
110
|
-
});
|
|
111
|
-
const computeOffsetNumber = computed(() => {
|
|
112
|
-
return Math.floor((props.pagerCount - 2) / 2);
|
|
113
|
-
});
|
|
114
|
-
const computeSizeList = computed(() => {
|
|
115
|
-
return props.pageSizes.map((item) => {
|
|
116
|
-
if (XEUtils.isNumber(item)) {
|
|
117
|
-
return {
|
|
118
|
-
value: item,
|
|
119
|
-
label: `${getI18n('vxe.pager.pagesize', [item])}`
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
return Object.assign({ value: '', label: '' }, item);
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
164
|
const handleHomePage = (evnt) => {
|
|
126
165
|
const { currentPage } = props;
|
|
127
166
|
if (currentPage > 1) {
|
|
@@ -313,7 +352,7 @@ export default defineComponent({
|
|
|
313
352
|
class: 'vxe-pager--num-btn',
|
|
314
353
|
type: 'button',
|
|
315
354
|
onClick: (evnt) => jumpPageEvent(evnt, 1)
|
|
316
|
-
}, 1), renderPrevJump('span'));
|
|
355
|
+
}, '1'), renderPrevJump('span'));
|
|
317
356
|
}
|
|
318
357
|
numList.forEach((item, index) => {
|
|
319
358
|
const number = startNumber + index;
|
|
@@ -325,7 +364,7 @@ export default defineComponent({
|
|
|
325
364
|
}],
|
|
326
365
|
type: 'button',
|
|
327
366
|
onClick: (evnt) => jumpPageEvent(evnt, number)
|
|
328
|
-
}, number));
|
|
367
|
+
}, `${number}`));
|
|
329
368
|
}
|
|
330
369
|
});
|
|
331
370
|
if (showJump && isGt) {
|
|
@@ -410,10 +449,11 @@ export default defineComponent({
|
|
|
410
449
|
class: 'vxe-pager--total'
|
|
411
450
|
}, getI18n('vxe.pager.total', [props.total]));
|
|
412
451
|
};
|
|
452
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
453
|
+
emit(type, createEvent(evnt, { $pager: $xePager }, params));
|
|
454
|
+
};
|
|
413
455
|
pagerMethods = {
|
|
414
|
-
dispatchEvent
|
|
415
|
-
emit(type, createEvent(evnt, { $pager: $xePager }, params));
|
|
416
|
-
},
|
|
456
|
+
dispatchEvent,
|
|
417
457
|
homePage() {
|
|
418
458
|
handleHomePage();
|
|
419
459
|
return nextTick();
|
|
@@ -99,7 +99,7 @@ export default defineComponent({
|
|
|
99
99
|
const value = inputElem.value;
|
|
100
100
|
emitInputEvent(value, evnt);
|
|
101
101
|
};
|
|
102
|
-
const
|
|
102
|
+
const handleChange = (value, evnt) => {
|
|
103
103
|
reactData.inputValue = value;
|
|
104
104
|
emit('update:modelValue', value);
|
|
105
105
|
passwordInputMethods.dispatchEvent('input', { value }, evnt);
|
|
@@ -140,7 +140,7 @@ export default defineComponent({
|
|
|
140
140
|
};
|
|
141
141
|
const clearValueEvent = (evnt, value) => {
|
|
142
142
|
focus();
|
|
143
|
-
|
|
143
|
+
handleChange('', evnt);
|
|
144
144
|
passwordInputMethods.dispatchEvent('clear', { value }, evnt);
|
|
145
145
|
};
|
|
146
146
|
const clickSuffixEvent = (evnt) => {
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { defineComponent, ref, h, reactive, inject, onMounted, onUnmounted, createCommentVNode } from 'vue';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
|
+
import { createEvent } from '../../ui';
|
|
3
4
|
import { assemblePageBreak, destroyPageBreak } from './util';
|
|
4
5
|
export default defineComponent({
|
|
5
6
|
name: 'VxePrintPageBreak',
|
|
6
7
|
props: {},
|
|
7
8
|
emits: [],
|
|
8
9
|
setup(props, context) {
|
|
9
|
-
const { slots } = context;
|
|
10
|
+
const { slots, emit } = context;
|
|
10
11
|
const xID = XEUtils.uniqueId();
|
|
11
12
|
const $xePrint = inject('$xePrint', null);
|
|
12
13
|
const refElem = ref();
|
|
@@ -27,6 +28,14 @@ export default defineComponent({
|
|
|
27
28
|
getRefMaps: () => refMaps,
|
|
28
29
|
getComputeMaps: () => computeMaps
|
|
29
30
|
};
|
|
31
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
32
|
+
emit(type, createEvent(evnt, { $print: $xePrint }, params));
|
|
33
|
+
};
|
|
34
|
+
const printPageBreakMethods = {
|
|
35
|
+
dispatchEvent
|
|
36
|
+
};
|
|
37
|
+
const printPageBreakPrivateMethods = {};
|
|
38
|
+
Object.assign($xePrintPageBreak, printPageBreakMethods, printPageBreakPrivateMethods);
|
|
30
39
|
if (!$xePrint) {
|
|
31
40
|
$xePrintPageBreak.renderVN = () => {
|
|
32
41
|
return createCommentVNode();
|
|
@@ -38,7 +47,6 @@ export default defineComponent({
|
|
|
38
47
|
ref: refElem
|
|
39
48
|
});
|
|
40
49
|
};
|
|
41
|
-
$xePrintPageBreak.renderVN = renderVN;
|
|
42
50
|
onMounted(() => {
|
|
43
51
|
const elem = refElem.value;
|
|
44
52
|
if ($xePrint && elem) {
|
|
@@ -50,6 +58,7 @@ export default defineComponent({
|
|
|
50
58
|
destroyPageBreak($xePrint, pageBreakConfig);
|
|
51
59
|
}
|
|
52
60
|
});
|
|
61
|
+
$xePrintPageBreak.renderVN = renderVN;
|
|
53
62
|
return $xePrintPageBreak;
|
|
54
63
|
},
|
|
55
64
|
render() {
|
package/es/print/src/print.js
CHANGED
|
@@ -61,10 +61,11 @@ export default defineComponent({
|
|
|
61
61
|
getRefMaps: () => refMaps,
|
|
62
62
|
getComputeMaps: () => computeMaps
|
|
63
63
|
};
|
|
64
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
65
|
+
emit(type, createEvent(evnt, { $print: $xePrint }, params));
|
|
66
|
+
};
|
|
64
67
|
const printMethods = {
|
|
65
|
-
dispatchEvent
|
|
66
|
-
emit(type, createEvent(evnt, { $print: $xePrint }, params));
|
|
67
|
-
},
|
|
68
|
+
dispatchEvent,
|
|
68
69
|
print() {
|
|
69
70
|
const elem = refElem.value;
|
|
70
71
|
return printHtml(Object.assign({}, props, {
|
|
@@ -73,7 +74,8 @@ export default defineComponent({
|
|
|
73
74
|
}));
|
|
74
75
|
}
|
|
75
76
|
};
|
|
76
|
-
|
|
77
|
+
const printPrivateMethods = {};
|
|
78
|
+
Object.assign($xePrint, printMethods, printPrivateMethods);
|
|
77
79
|
const renderPageConfigLayouts = () => {
|
|
78
80
|
const { title, showPageNumber, showAllPageTitle, align, headerAlign, footerAlign } = props;
|
|
79
81
|
const pageBreaks = props.pageBreaks || [];
|
|
@@ -39,6 +39,7 @@ export default defineComponent({
|
|
|
39
39
|
setup(props, context) {
|
|
40
40
|
const { slots, emit } = context;
|
|
41
41
|
const $xeModal = inject('$xeModal', null);
|
|
42
|
+
const $xeDrawer = inject('$xeDrawer', null);
|
|
42
43
|
const $xeTable = inject('$xeTable', null);
|
|
43
44
|
const $xeForm = inject('$xeForm', null);
|
|
44
45
|
const xID = XEUtils.uniqueId();
|
|
@@ -46,15 +47,18 @@ export default defineComponent({
|
|
|
46
47
|
const reactData = reactive({
|
|
47
48
|
initialized: false,
|
|
48
49
|
panelIndex: 0,
|
|
49
|
-
panelStyle:
|
|
50
|
+
panelStyle: {},
|
|
50
51
|
panelPlacement: null,
|
|
51
52
|
visiblePanel: false,
|
|
52
53
|
visibleAnimate: false,
|
|
53
54
|
isActivated: false
|
|
54
55
|
});
|
|
56
|
+
const internalData = {
|
|
57
|
+
hpTimeout: undefined
|
|
58
|
+
};
|
|
55
59
|
const refElem = ref();
|
|
56
|
-
const
|
|
57
|
-
const
|
|
60
|
+
const refPulldownContent = ref();
|
|
61
|
+
const refPulldownPanel = ref();
|
|
58
62
|
const computeBtnTransfer = computed(() => {
|
|
59
63
|
const { transfer } = props;
|
|
60
64
|
if (transfer === null) {
|
|
@@ -62,7 +66,7 @@ export default defineComponent({
|
|
|
62
66
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
63
67
|
return globalTransfer;
|
|
64
68
|
}
|
|
65
|
-
if ($xeTable || $xeModal || $xeForm) {
|
|
69
|
+
if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
|
|
66
70
|
return true;
|
|
67
71
|
}
|
|
68
72
|
}
|
|
@@ -76,6 +80,7 @@ export default defineComponent({
|
|
|
76
80
|
props,
|
|
77
81
|
context,
|
|
78
82
|
reactData,
|
|
83
|
+
internalData,
|
|
79
84
|
getRefMaps: () => refMaps
|
|
80
85
|
};
|
|
81
86
|
let pulldownMethods = {};
|
|
@@ -96,8 +101,8 @@ export default defineComponent({
|
|
|
96
101
|
const { panelIndex, visiblePanel } = reactData;
|
|
97
102
|
const btnTransfer = computeBtnTransfer.value;
|
|
98
103
|
if (visiblePanel) {
|
|
99
|
-
const targetElem =
|
|
100
|
-
const panelElem =
|
|
104
|
+
const targetElem = refPulldownContent.value;
|
|
105
|
+
const panelElem = refPulldownPanel.value;
|
|
101
106
|
if (panelElem && targetElem) {
|
|
102
107
|
const targetHeight = targetElem.offsetHeight;
|
|
103
108
|
const targetWidth = targetElem.offsetWidth;
|
|
@@ -165,7 +170,6 @@ export default defineComponent({
|
|
|
165
170
|
return nextTick();
|
|
166
171
|
});
|
|
167
172
|
};
|
|
168
|
-
let hidePanelTimeout;
|
|
169
173
|
/**
|
|
170
174
|
* 显示下拉面板
|
|
171
175
|
*/
|
|
@@ -175,7 +179,9 @@ export default defineComponent({
|
|
|
175
179
|
}
|
|
176
180
|
return new Promise(resolve => {
|
|
177
181
|
if (!props.disabled) {
|
|
178
|
-
|
|
182
|
+
if (internalData.hpTimeout) {
|
|
183
|
+
clearTimeout(internalData.hpTimeout);
|
|
184
|
+
}
|
|
179
185
|
reactData.isActivated = true;
|
|
180
186
|
reactData.visibleAnimate = true;
|
|
181
187
|
setTimeout(() => {
|
|
@@ -203,7 +209,7 @@ export default defineComponent({
|
|
|
203
209
|
emit('update:modelValue', false);
|
|
204
210
|
return new Promise(resolve => {
|
|
205
211
|
if (reactData.visibleAnimate) {
|
|
206
|
-
|
|
212
|
+
internalData.hpTimeout = window.setTimeout(() => {
|
|
207
213
|
reactData.visibleAnimate = false;
|
|
208
214
|
nextTick(() => {
|
|
209
215
|
resolve();
|
|
@@ -247,7 +253,7 @@ export default defineComponent({
|
|
|
247
253
|
const handleGlobalMousewheelEvent = (evnt) => {
|
|
248
254
|
const { disabled } = props;
|
|
249
255
|
const { visiblePanel } = reactData;
|
|
250
|
-
const panelElem =
|
|
256
|
+
const panelElem = refPulldownPanel.value;
|
|
251
257
|
if (!disabled) {
|
|
252
258
|
if (visiblePanel) {
|
|
253
259
|
if (getEventTargetNode(evnt, panelElem).flag) {
|
|
@@ -264,7 +270,7 @@ export default defineComponent({
|
|
|
264
270
|
const { disabled } = props;
|
|
265
271
|
const { visiblePanel } = reactData;
|
|
266
272
|
const el = refElem.value;
|
|
267
|
-
const panelElem =
|
|
273
|
+
const panelElem = refPulldownPanel.value;
|
|
268
274
|
if (!disabled) {
|
|
269
275
|
reactData.isActivated = getEventTargetNode(evnt, el).flag || getEventTargetNode(evnt, panelElem).flag;
|
|
270
276
|
if (visiblePanel && !reactData.isActivated) {
|
|
@@ -343,7 +349,7 @@ export default defineComponent({
|
|
|
343
349
|
}]
|
|
344
350
|
}, [
|
|
345
351
|
h('div', {
|
|
346
|
-
ref:
|
|
352
|
+
ref: refPulldownContent,
|
|
347
353
|
class: 'vxe-pulldown--content',
|
|
348
354
|
onClick: clickTargetEvent
|
|
349
355
|
}, defaultSlot ? defaultSlot({ $pulldown: $xePulldown }) : []),
|
|
@@ -352,7 +358,7 @@ export default defineComponent({
|
|
|
352
358
|
disabled: btnTransfer ? !initialized : true
|
|
353
359
|
}, [
|
|
354
360
|
h('div', {
|
|
355
|
-
ref:
|
|
361
|
+
ref: refPulldownPanel,
|
|
356
362
|
class: ['vxe-table--ignore-clear vxe-pulldown--panel', popupClassName ? (XEUtils.isFunction(popupClassName) ? popupClassName({ $pulldown: $xePulldown }) : popupClassName) : '', {
|
|
357
363
|
[`size--${vSize}`]: vSize,
|
|
358
364
|
'is--shadow': showPopupShadow,
|
package/es/radio/src/button.js
CHANGED
|
@@ -102,7 +102,7 @@ export default defineComponent({
|
|
|
102
102
|
const vSize = computeSize.value;
|
|
103
103
|
const isDisabled = computeIsDisabled.value;
|
|
104
104
|
const name = computeName.value;
|
|
105
|
-
const
|
|
105
|
+
const isChecked = computeChecked.value;
|
|
106
106
|
return h('label', {
|
|
107
107
|
class: ['vxe-radio', 'vxe-radio-button', {
|
|
108
108
|
[`size--${vSize}`]: vSize,
|
|
@@ -114,7 +114,7 @@ export default defineComponent({
|
|
|
114
114
|
class: 'vxe-radio--input',
|
|
115
115
|
type: 'radio',
|
|
116
116
|
name,
|
|
117
|
-
checked,
|
|
117
|
+
checked: isChecked,
|
|
118
118
|
disabled: isDisabled,
|
|
119
119
|
onChange: changeEvent,
|
|
120
120
|
onClick: clickEvent
|
package/es/radio/src/group.js
CHANGED
|
@@ -78,11 +78,12 @@ export default defineComponent({
|
|
|
78
78
|
};
|
|
79
79
|
const radioGroupPrivateMethods = {
|
|
80
80
|
handleChecked(params, evnt) {
|
|
81
|
-
|
|
81
|
+
const value = params.label;
|
|
82
|
+
emit('update:modelValue', value);
|
|
82
83
|
dispatchEvent('change', params, evnt);
|
|
83
84
|
// 自动更新校验状态
|
|
84
85
|
if ($xeForm && formItemInfo) {
|
|
85
|
-
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field,
|
|
86
|
+
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
};
|
|
@@ -108,8 +109,11 @@ export default defineComponent({
|
|
|
108
109
|
})
|
|
109
110
|
: []));
|
|
110
111
|
};
|
|
111
|
-
$xeRadioGroup.renderVN = renderVN;
|
|
112
112
|
provide('$xeRadioGroup', $xeRadioGroup);
|
|
113
|
-
|
|
113
|
+
$xeRadioGroup.renderVN = renderVN;
|
|
114
|
+
return $xeRadioGroup;
|
|
115
|
+
},
|
|
116
|
+
render() {
|
|
117
|
+
return this.renderVN();
|
|
114
118
|
}
|
|
115
119
|
});
|
package/es/row/src/row.js
CHANGED
|
@@ -3,29 +3,38 @@ import { createOption, watchOption, destroyOption, assembleOption } from './util
|
|
|
3
3
|
export default defineComponent({
|
|
4
4
|
name: 'VxeOptgroup',
|
|
5
5
|
props: {
|
|
6
|
-
label: {
|
|
7
|
-
|
|
6
|
+
label: {
|
|
7
|
+
type: [String, Number, Boolean],
|
|
8
|
+
default: ''
|
|
9
|
+
},
|
|
10
|
+
visible: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: null
|
|
13
|
+
},
|
|
8
14
|
className: [String, Function],
|
|
9
15
|
disabled: Boolean
|
|
10
16
|
},
|
|
17
|
+
emits: [],
|
|
11
18
|
setup(props, { slots }) {
|
|
12
19
|
const elem = ref();
|
|
13
20
|
const $xeSelect = inject('$xeSelect', {});
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
provide('
|
|
18
|
-
watchOption(props,
|
|
21
|
+
const optionConfig = createOption($xeSelect, props);
|
|
22
|
+
const $xeOptgroup = { optionConfig };
|
|
23
|
+
optionConfig.options = [];
|
|
24
|
+
provide('$xeOptgroup', $xeOptgroup);
|
|
25
|
+
watchOption(props, optionConfig);
|
|
19
26
|
onMounted(() => {
|
|
20
|
-
|
|
27
|
+
const el = elem.value;
|
|
28
|
+
assembleOption($xeSelect, el, optionConfig);
|
|
21
29
|
});
|
|
22
30
|
onUnmounted(() => {
|
|
23
|
-
destroyOption($xeSelect,
|
|
31
|
+
destroyOption($xeSelect, optionConfig);
|
|
24
32
|
});
|
|
25
33
|
return () => {
|
|
34
|
+
const defaultSlot = slots.default;
|
|
26
35
|
return h('div', {
|
|
27
36
|
ref: elem
|
|
28
|
-
},
|
|
37
|
+
}, defaultSlot ? defaultSlot({}) : []);
|
|
29
38
|
};
|
|
30
39
|
}
|
|
31
40
|
});
|
package/es/select/src/option.js
CHANGED
|
@@ -3,24 +3,32 @@ import { createOption, watchOption, destroyOption, assembleOption } from './util
|
|
|
3
3
|
export default defineComponent({
|
|
4
4
|
name: 'VxeOption',
|
|
5
5
|
props: {
|
|
6
|
-
value:
|
|
7
|
-
label: {
|
|
8
|
-
|
|
6
|
+
value: [String, Number, Boolean],
|
|
7
|
+
label: {
|
|
8
|
+
type: [String, Number, Boolean],
|
|
9
|
+
default: ''
|
|
10
|
+
},
|
|
11
|
+
visible: {
|
|
12
|
+
type: Boolean,
|
|
13
|
+
default: null
|
|
14
|
+
},
|
|
9
15
|
className: [String, Function],
|
|
10
16
|
disabled: Boolean
|
|
11
17
|
},
|
|
18
|
+
emits: [],
|
|
12
19
|
setup(props, { slots }) {
|
|
13
20
|
const elem = ref();
|
|
14
21
|
const $xeSelect = inject('$xeSelect', {});
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
watchOption(props,
|
|
22
|
+
const $xeOptgroup = inject('$xeOptgroup', null);
|
|
23
|
+
const optionConfig = createOption($xeSelect, props);
|
|
24
|
+
optionConfig.slots = slots;
|
|
25
|
+
watchOption(props, optionConfig);
|
|
19
26
|
onMounted(() => {
|
|
20
|
-
|
|
27
|
+
const el = elem.value;
|
|
28
|
+
assembleOption($xeSelect, el, optionConfig, $xeOptgroup);
|
|
21
29
|
});
|
|
22
30
|
onUnmounted(() => {
|
|
23
|
-
destroyOption($xeSelect,
|
|
31
|
+
destroyOption($xeSelect, optionConfig);
|
|
24
32
|
});
|
|
25
33
|
return () => {
|
|
26
34
|
return h('div', {
|