vxe-pc-ui 4.1.20 → 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 +82 -1
- 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/calendar/src/calendar.js +64 -32
- 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 +1 -1
- package/es/date-picker/src/date-picker.js +12 -12
- package/es/drawer/src/drawer.js +1 -1
- 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/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +22 -10
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +129 -65
- 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 +1 -1
- package/es/menu/src/menu.js +1 -1
- package/es/number-input/src/number-input.js +6 -6
- 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/radio/src/group.js +5 -2
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +11 -8
- package/es/select/src/option.js +9 -7
- package/es/select/src/select.js +32 -29
- 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 +4 -4
- package/es/tooltip/src/tooltip.js +1 -1
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +16 -9
- 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/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.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 +1 -1
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +12 -12
- package/lib/drawer/src/drawer.js +1 -1
- 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/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +20 -11
- 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 +522 -377
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +77 -50
- 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 +1 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +6 -6
- 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/radio/src/group.js +5 -2
- 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 +33 -32
- 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 +1 -1
- 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 +11 -7
- 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/calendar/src/calendar.ts +67 -35
- 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 +2 -2
- package/packages/date-picker/src/date-picker.ts +12 -12
- package/packages/drawer/src/drawer.ts +2 -2
- 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-picker/src/icon-picker.ts +26 -13
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +133 -71
- 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 +2 -2
- package/packages/menu/src/menu.ts +2 -2
- package/packages/number-input/src/number-input.ts +6 -6
- 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/radio/src/group.ts +6 -3
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +16 -13
- package/packages/select/src/option.ts +10 -8
- package/packages/select/src/select.ts +42 -36
- 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 +4 -4
- package/packages/tooltip/src/tooltip.ts +2 -2
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +20 -12
- 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/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/optgroup.d.ts +10 -4
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -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.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/es/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/{iconfont.1725680652286.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.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/es/tabs/src/tab-pane.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineComponent, ref, h, reactive, watch, inject, onMounted, onUnmounted } from 'vue';
|
|
2
2
|
import XEUtils from 'xe-utils';
|
|
3
|
+
import { createEvent } from '../../ui';
|
|
3
4
|
import { assembleAnchorTab, destroyAnchorTab } from './util';
|
|
4
5
|
export default defineComponent({
|
|
5
6
|
name: 'VxeTabPane',
|
|
@@ -14,7 +15,7 @@ export default defineComponent({
|
|
|
14
15
|
},
|
|
15
16
|
emits: [],
|
|
16
17
|
setup(props, context) {
|
|
17
|
-
const { slots } = context;
|
|
18
|
+
const { slots, emit } = context;
|
|
18
19
|
const xID = XEUtils.uniqueId();
|
|
19
20
|
const refElem = ref();
|
|
20
21
|
const $xeTabs = inject('$xeTabs', null);
|
|
@@ -44,6 +45,14 @@ export default defineComponent({
|
|
|
44
45
|
getRefMaps: () => refMaps,
|
|
45
46
|
getComputeMaps: () => computeMaps
|
|
46
47
|
};
|
|
48
|
+
const dispatchEvent = (type, params, evnt) => {
|
|
49
|
+
emit(type, createEvent(evnt, { $tabPane: $xeTabPane }, params));
|
|
50
|
+
};
|
|
51
|
+
const tabPaneMethods = {
|
|
52
|
+
dispatchEvent
|
|
53
|
+
};
|
|
54
|
+
const tabPanePrivateMethods = {};
|
|
55
|
+
Object.assign($xeTabPane, tabPaneMethods, tabPanePrivateMethods);
|
|
47
56
|
watch(() => props.title, (val) => {
|
|
48
57
|
tabConfig.title = val;
|
|
49
58
|
});
|
|
@@ -57,8 +66,9 @@ export default defineComponent({
|
|
|
57
66
|
tabConfig.permissionCode = val;
|
|
58
67
|
});
|
|
59
68
|
onMounted(() => {
|
|
60
|
-
|
|
61
|
-
|
|
69
|
+
const elem = refElem.value;
|
|
70
|
+
if ($xeTabs && elem) {
|
|
71
|
+
assembleAnchorTab($xeTabs, elem, tabConfig);
|
|
62
72
|
}
|
|
63
73
|
});
|
|
64
74
|
onUnmounted(() => {
|
package/es/tabs/src/tabs.js
CHANGED
|
@@ -47,25 +47,19 @@ export default defineComponent({
|
|
|
47
47
|
isTabOver: false,
|
|
48
48
|
resizeFlag: 1
|
|
49
49
|
});
|
|
50
|
+
const internalData = {
|
|
51
|
+
slTimeout: undefined
|
|
52
|
+
};
|
|
50
53
|
const refMaps = {
|
|
51
54
|
refElem
|
|
52
55
|
};
|
|
53
|
-
const handleFilterTab = (item) => {
|
|
54
|
-
const { permissionCode } = item;
|
|
55
|
-
if (permissionCode) {
|
|
56
|
-
if (!permission.checkVisible(permissionCode)) {
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return true;
|
|
61
|
-
};
|
|
62
56
|
const computeTabOptions = computed(() => {
|
|
63
57
|
const { options } = props;
|
|
64
|
-
return (options || []).filter(handleFilterTab);
|
|
58
|
+
return (options || []).filter((item) => handleFilterTab(item));
|
|
65
59
|
});
|
|
66
60
|
const computeTabStaticOptions = computed(() => {
|
|
67
61
|
const { staticTabs } = reactData;
|
|
68
|
-
return staticTabs.filter(handleFilterTab);
|
|
62
|
+
return staticTabs.filter((item) => handleFilterTab(item));
|
|
69
63
|
});
|
|
70
64
|
const computeMaps = {};
|
|
71
65
|
const $xeTabs = {
|
|
@@ -76,6 +70,15 @@ export default defineComponent({
|
|
|
76
70
|
getRefMaps: () => refMaps,
|
|
77
71
|
getComputeMaps: () => computeMaps
|
|
78
72
|
};
|
|
73
|
+
const handleFilterTab = (item) => {
|
|
74
|
+
const { permissionCode } = item;
|
|
75
|
+
if (permissionCode) {
|
|
76
|
+
if (!permission.checkVisible(permissionCode)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
};
|
|
79
82
|
const callSlot = (slotFunc, params) => {
|
|
80
83
|
if (slotFunc) {
|
|
81
84
|
if (XEUtils.isString(slotFunc)) {
|
|
@@ -199,12 +202,15 @@ export default defineComponent({
|
|
|
199
202
|
dispatchEvent('tab-close-fail', { value, name, nextName }, evnt);
|
|
200
203
|
}
|
|
201
204
|
};
|
|
202
|
-
let scrollTimeout = null;
|
|
203
205
|
const startScrollAnimation = (offsetPos, offsetSize) => {
|
|
206
|
+
const { slTimeout } = internalData;
|
|
204
207
|
let offsetLeft = offsetSize;
|
|
205
208
|
let scrollCount = 6;
|
|
206
209
|
let delayNum = 35;
|
|
207
|
-
|
|
210
|
+
if (slTimeout) {
|
|
211
|
+
clearTimeout(slTimeout);
|
|
212
|
+
internalData.slTimeout = undefined;
|
|
213
|
+
}
|
|
208
214
|
const scrollAnimate = () => {
|
|
209
215
|
const headerWrapperEl = refHeadWrapperElem.value;
|
|
210
216
|
if (scrollCount > 0) {
|
|
@@ -216,14 +222,14 @@ export default defineComponent({
|
|
|
216
222
|
if (clientWidth + scrollLeft < scrollWidth) {
|
|
217
223
|
headerWrapperEl.scrollLeft += offsetLeft;
|
|
218
224
|
delayNum -= 4;
|
|
219
|
-
|
|
225
|
+
internalData.slTimeout = setTimeout(scrollAnimate, delayNum);
|
|
220
226
|
}
|
|
221
227
|
}
|
|
222
228
|
else {
|
|
223
229
|
if (scrollLeft > 0) {
|
|
224
230
|
headerWrapperEl.scrollLeft -= offsetLeft;
|
|
225
231
|
delayNum -= 4;
|
|
226
|
-
|
|
232
|
+
internalData.slTimeout = setTimeout(scrollAnimate, delayNum);
|
|
227
233
|
}
|
|
228
234
|
}
|
|
229
235
|
updateTabStyle();
|
|
@@ -273,41 +279,43 @@ export default defineComponent({
|
|
|
273
279
|
}
|
|
274
280
|
});
|
|
275
281
|
};
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
if (
|
|
286
|
-
|
|
287
|
-
item = list[index + 1];
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
else {
|
|
291
|
-
if (index > 0) {
|
|
292
|
-
item = list[index - 1];
|
|
293
|
-
}
|
|
282
|
+
const handlePrevNext = (isNext) => {
|
|
283
|
+
const { activeName } = reactData;
|
|
284
|
+
const tabOptions = computeTabOptions.value;
|
|
285
|
+
const tabStaticOptions = computeTabStaticOptions.value;
|
|
286
|
+
const list = tabStaticOptions.length ? tabStaticOptions : tabOptions;
|
|
287
|
+
const index = XEUtils.findIndexOf(list, item => item.name === activeName);
|
|
288
|
+
if (index > -1) {
|
|
289
|
+
let item = null;
|
|
290
|
+
if (isNext) {
|
|
291
|
+
if (index < list.length - 1) {
|
|
292
|
+
item = list[index + 1];
|
|
294
293
|
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
emit('update:modelValue', value);
|
|
300
|
-
addInitName(name, null);
|
|
294
|
+
}
|
|
295
|
+
else {
|
|
296
|
+
if (index > 0) {
|
|
297
|
+
item = list[index - 1];
|
|
301
298
|
}
|
|
302
299
|
}
|
|
303
|
-
|
|
304
|
-
|
|
300
|
+
if (item) {
|
|
301
|
+
const name = item.name;
|
|
302
|
+
const value = name;
|
|
303
|
+
reactData.activeName = name;
|
|
304
|
+
emit('update:modelValue', value);
|
|
305
|
+
addInitName(name, null);
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return nextTick();
|
|
305
309
|
};
|
|
306
310
|
const tabsMethods = {
|
|
307
311
|
dispatchEvent,
|
|
308
312
|
scrollToTab,
|
|
309
|
-
prev
|
|
310
|
-
|
|
313
|
+
prev() {
|
|
314
|
+
return handlePrevNext(false);
|
|
315
|
+
},
|
|
316
|
+
next() {
|
|
317
|
+
return handlePrevNext(true);
|
|
318
|
+
},
|
|
311
319
|
prevTab() {
|
|
312
320
|
if (process.env.NODE_ENV === 'development') {
|
|
313
321
|
warnLog('vxe.error.delFunc', ['prevTab', 'prev']);
|
|
@@ -445,9 +453,9 @@ export default defineComponent({
|
|
|
445
453
|
const { activeName } = reactData;
|
|
446
454
|
const activeDefaultTab = tabList.find(item => item.name === activeName);
|
|
447
455
|
if (destroyOnClose) {
|
|
448
|
-
return activeDefaultTab ?
|
|
456
|
+
return [activeDefaultTab ? renderTabPane(activeDefaultTab) : createCommentVNode()];
|
|
449
457
|
}
|
|
450
|
-
return tabList.map(renderTabPane);
|
|
458
|
+
return tabList.map((item) => renderTabPane(item));
|
|
451
459
|
};
|
|
452
460
|
const renderVN = () => {
|
|
453
461
|
const { type, height, padding, trigger } = props;
|
|
@@ -514,7 +522,9 @@ export default defineComponent({
|
|
|
514
522
|
});
|
|
515
523
|
}
|
|
516
524
|
watch(() => reactData.resizeFlag, () => {
|
|
517
|
-
nextTick(
|
|
525
|
+
nextTick(() => {
|
|
526
|
+
updateTabStyle();
|
|
527
|
+
});
|
|
518
528
|
});
|
|
519
529
|
nextTick(() => {
|
|
520
530
|
globalEvents.on($xeTabs, 'resize', updateTabStyle);
|
|
@@ -525,10 +535,10 @@ export default defineComponent({
|
|
|
525
535
|
onUnmounted(() => {
|
|
526
536
|
globalEvents.off($xeTabs, 'resize');
|
|
527
537
|
});
|
|
528
|
-
$xeTabs.renderVN = renderVN;
|
|
529
538
|
provide('$xeTabs', $xeTabs);
|
|
530
539
|
addInitName(props.modelValue, null);
|
|
531
540
|
initDefaultName(reactData.staticTabs.length ? reactData.staticTabs : props.options);
|
|
541
|
+
$xeTabs.renderVN = renderVN;
|
|
532
542
|
return $xeTabs;
|
|
533
543
|
},
|
|
534
544
|
render() {
|
|
@@ -189,7 +189,7 @@ export default defineComponent({
|
|
|
189
189
|
const value = reactData.inputValue;
|
|
190
190
|
$xeTextarea.dispatchEvent(evnt.type, { value }, evnt);
|
|
191
191
|
};
|
|
192
|
-
const
|
|
192
|
+
const handleChange = (value, evnt) => {
|
|
193
193
|
reactData.inputValue = value;
|
|
194
194
|
emit('update:modelValue', value);
|
|
195
195
|
if (XEUtils.toValueString(props.modelValue) !== value) {
|
|
@@ -206,7 +206,7 @@ export default defineComponent({
|
|
|
206
206
|
const value = textElem.value;
|
|
207
207
|
reactData.inputValue = value;
|
|
208
208
|
if (immediate) {
|
|
209
|
-
|
|
209
|
+
handleChange(value, evnt);
|
|
210
210
|
}
|
|
211
211
|
$xeTextarea.dispatchEvent('input', { value }, evnt);
|
|
212
212
|
handleResize();
|
|
@@ -217,14 +217,14 @@ export default defineComponent({
|
|
|
217
217
|
triggerEvent(evnt);
|
|
218
218
|
}
|
|
219
219
|
else {
|
|
220
|
-
|
|
220
|
+
handleChange(reactData.inputValue, evnt);
|
|
221
221
|
}
|
|
222
222
|
};
|
|
223
223
|
const blurEvent = (evnt) => {
|
|
224
224
|
const { immediate } = props;
|
|
225
225
|
const { inputValue } = reactData;
|
|
226
226
|
if (!immediate) {
|
|
227
|
-
|
|
227
|
+
handleChange(inputValue, evnt);
|
|
228
228
|
}
|
|
229
229
|
$xeTextarea.dispatchEvent('blur', { value: inputValue }, evnt);
|
|
230
230
|
};
|
package/es/tree/src/tree.js
CHANGED
|
@@ -105,7 +105,10 @@ export default defineComponent({
|
|
|
105
105
|
type: String,
|
|
106
106
|
default: () => getConfig().tree.iconLoaded
|
|
107
107
|
},
|
|
108
|
-
size: {
|
|
108
|
+
size: {
|
|
109
|
+
type: String,
|
|
110
|
+
default: () => getConfig().tree.size || getConfig().size
|
|
111
|
+
}
|
|
109
112
|
},
|
|
110
113
|
emits: [
|
|
111
114
|
'update:modelValue',
|
|
@@ -444,7 +447,7 @@ export default defineComponent({
|
|
|
444
447
|
const { lazy, transform } = props;
|
|
445
448
|
const { nodeMaps } = reactData;
|
|
446
449
|
if (!lazy) {
|
|
447
|
-
return
|
|
450
|
+
return Promise.resolve([]);
|
|
448
451
|
}
|
|
449
452
|
const childrenField = computeChildrenField.value;
|
|
450
453
|
const parentNodeItem = nodeMaps[getNodeId(node)];
|
|
@@ -1069,7 +1072,6 @@ export default defineComponent({
|
|
|
1069
1072
|
: {})
|
|
1070
1073
|
]);
|
|
1071
1074
|
};
|
|
1072
|
-
$xeTree.renderVN = renderVN;
|
|
1073
1075
|
const dataFlag = ref(0);
|
|
1074
1076
|
watch(() => props.data ? props.data.length : 0, () => {
|
|
1075
1077
|
dataFlag.value++;
|
|
@@ -1100,6 +1102,7 @@ export default defineComponent({
|
|
|
1100
1102
|
});
|
|
1101
1103
|
updateData(props.data || []);
|
|
1102
1104
|
updateCheckboxChecked(props.checkNodeKeys || []);
|
|
1105
|
+
$xeTree.renderVN = renderVN;
|
|
1103
1106
|
return $xeTree;
|
|
1104
1107
|
},
|
|
1105
1108
|
render() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, h, nextTick, inject, reactive, Teleport, createCommentVNode, onMounted, onUnmounted, watch } from 'vue';
|
|
1
|
+
import { defineComponent, ref, computed, h, nextTick, inject, provide, reactive, Teleport, createCommentVNode, onMounted, onUnmounted, watch } from 'vue';
|
|
2
2
|
import { getConfig, getI18n, getIcon, globalEvents, createEvent, useSize } from '../../ui';
|
|
3
3
|
import { getEventTargetNode, getAbsolutePos } from '../../ui/src/dom';
|
|
4
4
|
import { getLastZIndex, nextZIndex } from '../../ui/src/utils';
|
|
@@ -33,7 +33,10 @@ export default defineComponent({
|
|
|
33
33
|
placement: String,
|
|
34
34
|
options: Array,
|
|
35
35
|
optionProps: Object,
|
|
36
|
-
size: {
|
|
36
|
+
size: {
|
|
37
|
+
type: String,
|
|
38
|
+
default: () => getConfig().select.size || getConfig().size
|
|
39
|
+
},
|
|
37
40
|
remote: Boolean,
|
|
38
41
|
remoteMethod: Function,
|
|
39
42
|
treeConfig: Object,
|
|
@@ -77,6 +80,9 @@ export default defineComponent({
|
|
|
77
80
|
visibleAnimate: false,
|
|
78
81
|
isActivated: false
|
|
79
82
|
});
|
|
83
|
+
const internalData = {
|
|
84
|
+
hpTimeout: undefined
|
|
85
|
+
};
|
|
80
86
|
const refMaps = {
|
|
81
87
|
refElem
|
|
82
88
|
};
|
|
@@ -162,9 +168,9 @@ export default defineComponent({
|
|
|
162
168
|
const computeSelectLabel = computed(() => {
|
|
163
169
|
const { modelValue } = props;
|
|
164
170
|
const { fullNodeMaps } = reactData;
|
|
171
|
+
const labelField = computeLabelField.value;
|
|
165
172
|
return (XEUtils.isArray(modelValue) ? modelValue : [modelValue]).map(value => {
|
|
166
173
|
const cacheItem = fullNodeMaps[value];
|
|
167
|
-
const labelField = computeLabelField.value;
|
|
168
174
|
return cacheItem ? cacheItem.item[labelField] : value;
|
|
169
175
|
}).join(', ');
|
|
170
176
|
});
|
|
@@ -174,6 +180,7 @@ export default defineComponent({
|
|
|
174
180
|
props,
|
|
175
181
|
context,
|
|
176
182
|
reactData,
|
|
183
|
+
internalData,
|
|
177
184
|
getRefMaps: () => refMaps,
|
|
178
185
|
getComputeMaps: () => computeMaps
|
|
179
186
|
};
|
|
@@ -198,7 +205,7 @@ export default defineComponent({
|
|
|
198
205
|
const valueField = computeValueField.value;
|
|
199
206
|
const childrenField = computeChildrenField.value;
|
|
200
207
|
const nodeMaps = {};
|
|
201
|
-
XEUtils.eachTree(options, (item, index, items, parent, nodes) => {
|
|
208
|
+
XEUtils.eachTree(options, (item, index, items, path, parent, nodes) => {
|
|
202
209
|
let nodeid = getOptid(item);
|
|
203
210
|
if (!nodeid) {
|
|
204
211
|
nodeid = getOptUniqueId();
|
|
@@ -288,12 +295,11 @@ export default defineComponent({
|
|
|
288
295
|
}
|
|
289
296
|
});
|
|
290
297
|
};
|
|
291
|
-
let hidePanelTimeout;
|
|
292
298
|
const showOptionPanel = () => {
|
|
293
299
|
const { loading } = props;
|
|
294
300
|
const isDisabled = computeIsDisabled.value;
|
|
295
301
|
if (!loading && !isDisabled) {
|
|
296
|
-
clearTimeout(
|
|
302
|
+
clearTimeout(internalData.hpTimeout);
|
|
297
303
|
if (!reactData.initialized) {
|
|
298
304
|
reactData.initialized = true;
|
|
299
305
|
}
|
|
@@ -308,15 +314,15 @@ export default defineComponent({
|
|
|
308
314
|
};
|
|
309
315
|
const hideOptionPanel = () => {
|
|
310
316
|
reactData.visiblePanel = false;
|
|
311
|
-
|
|
317
|
+
internalData.hpTimeout = window.setTimeout(() => {
|
|
312
318
|
reactData.visibleAnimate = false;
|
|
313
319
|
}, 350);
|
|
314
320
|
};
|
|
315
321
|
const changeEvent = (evnt, selectValue) => {
|
|
316
322
|
const { fullNodeMaps } = reactData;
|
|
323
|
+
emit('update:modelValue', selectValue);
|
|
317
324
|
if (selectValue !== props.modelValue) {
|
|
318
325
|
const cacheItem = fullNodeMaps[selectValue];
|
|
319
|
-
emit('update:modelValue', selectValue);
|
|
320
326
|
treeSelectMethods.dispatchEvent('change', { value: selectValue, option: cacheItem ? cacheItem.item : null }, evnt);
|
|
321
327
|
// 自动更新校验状态
|
|
322
328
|
if ($xeForm && formItemInfo) {
|
|
@@ -554,7 +560,6 @@ export default defineComponent({
|
|
|
554
560
|
])
|
|
555
561
|
]);
|
|
556
562
|
};
|
|
557
|
-
$xeTreeSelect.renderVN = renderVN;
|
|
558
563
|
watch(() => props.options, () => {
|
|
559
564
|
cacheItemMap();
|
|
560
565
|
});
|
|
@@ -569,6 +574,8 @@ export default defineComponent({
|
|
|
569
574
|
globalEvents.off($xeTreeSelect, 'mousedown');
|
|
570
575
|
globalEvents.off($xeTreeSelect, 'blur');
|
|
571
576
|
});
|
|
577
|
+
provide('$xeTreeSelect', $xeTreeSelect);
|
|
578
|
+
$xeTreeSelect.renderVN = renderVN;
|
|
572
579
|
return $xeTreeSelect;
|
|
573
580
|
},
|
|
574
581
|
render() {
|
package/es/ui/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { getFuncText } from './src/utils';
|
|
4
4
|
import { warnLog } from './src/log';
|
|
5
|
-
export const version = "4.1.
|
|
5
|
+
export const version = "4.1.21";
|
|
6
6
|
VxeUI.version = version;
|
|
7
7
|
VxeUI.uiVersion = version;
|
|
8
8
|
VxeUI.tableVersion = '';
|
|
@@ -23,12 +23,6 @@ export function setup(options) {
|
|
|
23
23
|
}
|
|
24
24
|
VxeUI.config = config;
|
|
25
25
|
VxeUI.setup = setup;
|
|
26
|
-
/**
|
|
27
|
-
* 已废弃
|
|
28
|
-
* @deprecated
|
|
29
|
-
*/
|
|
30
|
-
export const globalStore = {};
|
|
31
|
-
VxeUI.globalStore = globalStore;
|
|
32
26
|
setConfig({
|
|
33
27
|
alert: {},
|
|
34
28
|
anchor: {},
|
package/es/ui/src/log.js
CHANGED
package/es/upload/src/upload.js
CHANGED
|
@@ -337,7 +337,7 @@ export default defineComponent({
|
|
|
337
337
|
const dispatchEvent = (type, params, evnt) => {
|
|
338
338
|
emit(type, createEvent(evnt, { $upload: $xeUpload }, params));
|
|
339
339
|
};
|
|
340
|
-
const
|
|
340
|
+
const handleChange = (value) => {
|
|
341
341
|
const { singleMode, urlMode } = props;
|
|
342
342
|
const urlProp = computeUrlProp.value;
|
|
343
343
|
let restList = value ? value.slice(0) : [];
|
|
@@ -492,7 +492,7 @@ export default defineComponent({
|
|
|
492
492
|
cacheItem.percent = 0;
|
|
493
493
|
handleUploadResult(item, file).then(() => {
|
|
494
494
|
if (urlMode) {
|
|
495
|
-
|
|
495
|
+
handleChange(reactData.fileList);
|
|
496
496
|
}
|
|
497
497
|
});
|
|
498
498
|
}
|
|
@@ -598,7 +598,7 @@ export default defineComponent({
|
|
|
598
598
|
reactData.fileList = newFileList;
|
|
599
599
|
reactData.fileCacheMaps = cacheMaps;
|
|
600
600
|
Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
|
|
601
|
-
|
|
601
|
+
handleChange(newFileList);
|
|
602
602
|
// 自动更新校验状态
|
|
603
603
|
if ($xeForm && formItemInfo) {
|
|
604
604
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, newFileList);
|
|
@@ -632,7 +632,7 @@ export default defineComponent({
|
|
|
632
632
|
const handleRemoveEvent = (evnt, item, index) => {
|
|
633
633
|
const { fileList } = reactData;
|
|
634
634
|
fileList.splice(index, 1);
|
|
635
|
-
|
|
635
|
+
handleChange(fileList);
|
|
636
636
|
// 自动更新校验状态
|
|
637
637
|
if ($xeForm && formItemInfo) {
|
|
638
638
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, fileList);
|
|
@@ -1192,7 +1192,6 @@ export default defineComponent({
|
|
|
1192
1192
|
: createCommentVNode()
|
|
1193
1193
|
]);
|
|
1194
1194
|
};
|
|
1195
|
-
$xeUpload.renderVN = renderVN;
|
|
1196
1195
|
const listFlag = ref(0);
|
|
1197
1196
|
watch(() => props.modelValue ? props.modelValue.length : 0, () => {
|
|
1198
1197
|
listFlag.value++;
|
|
@@ -1214,6 +1213,7 @@ export default defineComponent({
|
|
|
1214
1213
|
reactData.isDrag = false;
|
|
1215
1214
|
});
|
|
1216
1215
|
updateFileList();
|
|
1216
|
+
$xeUpload.renderVN = renderVN;
|
|
1217
1217
|
return $xeUpload;
|
|
1218
1218
|
},
|
|
1219
1219
|
render() {
|
|
@@ -97,8 +97,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
97
97
|
class: 'vxe-anchor-link--sub-items'
|
|
98
98
|
}, subSlot({})) : (0, _vue.createCommentVNode)()]);
|
|
99
99
|
};
|
|
100
|
-
$xeAnchorLink.renderVN = renderVN;
|
|
101
100
|
(0, _vue.provide)('$xeAnchorLink', $xeAnchorLink);
|
|
101
|
+
$xeAnchorLink.renderVN = renderVN;
|
|
102
102
|
return $xeAnchorLink;
|
|
103
103
|
},
|
|
104
104
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchorLink",props:{content:[String,Number],title:[String,Number],href:String},emits:[],setup(l,e){const a=e["slots"],r=(0,_vue.inject)("$xeAnchor",null),t=(0,_vue.inject)("$xeAnchorLink",null);var n=_xeUtils.default.uniqueId();const o=(0,_vue.ref)();var u=(0,_vue.reactive)({});const i=(0,_vue.reactive)({id:n,href:l.href,children:[]}),v={refElem:o},s=(0,_vue.computed)(()=>{var e=l["href"];return r?r.reactData.activeHref===e:null}),c={};n={xID:n,props:l,context:e,reactData:u,linkConfig:i,getRefMaps:()=>v,getComputeMaps:()=>c};const _=e=>{var t=l["href"];r&&r.handleClickLink(e,t)};(0,_vue.watch)(()=>l.href,e=>{i.href=e}),(0,_vue.onMounted)(()=>{var e=o.value;r&&e&&(0,_util.assembleAnchorLink)(r,e,i,t)}),(0,_vue.onUnmounted)(()=>{r&&(0,_util.destroyAnchorLink)(r,i)});return
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchorLink",props:{content:[String,Number],title:[String,Number],href:String},emits:[],setup(l,e){const a=e["slots"],r=(0,_vue.inject)("$xeAnchor",null),t=(0,_vue.inject)("$xeAnchorLink",null);var n=_xeUtils.default.uniqueId();const o=(0,_vue.ref)();var u=(0,_vue.reactive)({});const i=(0,_vue.reactive)({id:n,href:l.href,children:[]}),v={refElem:o},s=(0,_vue.computed)(()=>{var e=l["href"];return r?r.reactData.activeHref===e:null}),c={};n={xID:n,props:l,context:e,reactData:u,linkConfig:i,getRefMaps:()=>v,getComputeMaps:()=>c};const _=e=>{var t=l["href"];r&&r.handleClickLink(e,t)};(0,_vue.watch)(()=>l.href,e=>{i.href=e}),(0,_vue.onMounted)(()=>{var e=o.value;r&&e&&(0,_util.assembleAnchorLink)(r,e,i,t)}),(0,_vue.onUnmounted)(()=>{r&&(0,_util.destroyAnchorLink)(r,i)});return(0,_vue.provide)("$xeAnchorLink",n),n.renderVN=()=>{var{href:e,content:t,title:r}=l,n=a.default,u=a.sub,i=s.value;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor-link",{"is--active":i}]},[(0,_vue.h)("a",{class:"vxe-anchor-link--item",href:e,title:r,onClick:_},n?n({}):_xeUtils.default.toValueString(t)),u?(0,_vue.h)("div",{class:"vxe-anchor-link--sub-items"},u({})):(0,_vue.createCommentVNode)()])},n},render(){return this.renderVN()}});
|
package/lib/anchor/src/anchor.js
CHANGED
|
@@ -217,8 +217,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
217
217
|
(0, _vue.onBeforeUnmount)(() => {
|
|
218
218
|
removeContainerElemScroll();
|
|
219
219
|
});
|
|
220
|
-
$xeAnchor.renderVN = renderVN;
|
|
221
220
|
(0, _vue.provide)('$xeAnchor', $xeAnchor);
|
|
221
|
+
$xeAnchor.renderVN = renderVN;
|
|
222
222
|
return $xeAnchor;
|
|
223
223
|
},
|
|
224
224
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_anchorLink=_interopRequireDefault(require("./anchor-link"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchor",props:{modelValue:String,options:Array,container:[String,Object,Function],showMarker:{type:Boolean,default:!0}},emits:["update:modelValue","change","click"],setup(n,e){const{slots:i,emit:a}=e;var t=_xeUtils.default.uniqueId();const o=(0,_vue.ref)(),u=(0,_vue.ref)(),l=(0,_vue.reactive)({activeHref:null,staticLinks:[],containerElem:null}),r={refElem:o},c=(0,_vue.computed)(()=>{const t=[];return _xeUtils.default.eachTree(l.staticLinks,e=>{t.push(e.href||"")},{children:"children"}),t}),s={},v={xID:t,props:n,context:e,reactData:l,getRefMaps:()=>r,getComputeMaps:()=>s},d={dispatchEvent(e,t,r){a(e,(0,_core.createEvent)(r,{$anchor:v},t))}},f=()=>{var e=c.value,t=l["containerElem"];if(t){var r=t.querySelectorAll(e.map(e=>""+e).join(","));for(let e=0;e<r.length;e++){var n=r[e];if(0<n.getBoundingClientRect().top){n=n.id;l.activeHref="#"+n;break}}}},h=()=>{var e=l["containerElem"];e&&e.removeEventListener("scroll",f)},_=()=>{var e=(()=>{var e=n["container"];if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e);if(_xeUtils.default.isFunction(e))return e({$anchor:v})}return null})();(l.containerElem=e)&&e.addEventListener("scroll",f,{passive:!1})},p=(Object.assign(v,d,{handleClickLink(e,t){e.preventDefault();var r=document.getElementById((""+t).replace("#",""));r&&r.scrollIntoView({behavior:"smooth"}),r=t,l.activeHref=r,a("update:modelValue",r),d.dispatchEvent("click",{href:t},e)}}),e=>{const r=[];return e&&e.forEach(e=>{const t=e.children;t&&t.length?r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href},{sub:()=>p(t)})):r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href}))}),r});return(0,_vue.watch)(()=>n.modelValue,e=>{l.activeHref=e}),(0,_vue.watch)(()=>l.activeHref,()=>{(0,_vue.nextTick)(()=>{var e=l["activeHref"],t=o.value,r=u.value;t&&r&&e&&(e=t.querySelector(`[href="${e}"]`))&&(e=(0,_dom.getOffsetPos)(e,t)["top"],r.style.top=e+"px")})}),(0,_vue.watch)(()=>n.container,()=>{h(),_()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_()})}),(0,_vue.onBeforeUnmount)(()=>{h()}),v.renderVN=()=>{var{options:e,showMarker:t}=n,r=i.default;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor",{"is--marker":t}]},[(0,_vue.h)("div",{class:"vxe-anchor--list"},r?r({}):p(e)),t?(0,_vue.h)("div",{ref:u,class:"vxe-anchor--marker"}):(0,_vue.createCommentVNode)()])},
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_anchorLink=_interopRequireDefault(require("./anchor-link"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeAnchor",props:{modelValue:String,options:Array,container:[String,Object,Function],showMarker:{type:Boolean,default:!0}},emits:["update:modelValue","change","click"],setup(n,e){const{slots:i,emit:a}=e;var t=_xeUtils.default.uniqueId();const o=(0,_vue.ref)(),u=(0,_vue.ref)(),l=(0,_vue.reactive)({activeHref:null,staticLinks:[],containerElem:null}),r={refElem:o},c=(0,_vue.computed)(()=>{const t=[];return _xeUtils.default.eachTree(l.staticLinks,e=>{t.push(e.href||"")},{children:"children"}),t}),s={},v={xID:t,props:n,context:e,reactData:l,getRefMaps:()=>r,getComputeMaps:()=>s},d={dispatchEvent(e,t,r){a(e,(0,_core.createEvent)(r,{$anchor:v},t))}},f=()=>{var e=c.value,t=l["containerElem"];if(t){var r=t.querySelectorAll(e.map(e=>""+e).join(","));for(let e=0;e<r.length;e++){var n=r[e];if(0<n.getBoundingClientRect().top){n=n.id;l.activeHref="#"+n;break}}}},h=()=>{var e=l["containerElem"];e&&e.removeEventListener("scroll",f)},_=()=>{var e=(()=>{var e=n["container"];if(e){if(_xeUtils.default.isElement(e))return e;if(_xeUtils.default.isString(e))return document.querySelector(e);if(_xeUtils.default.isFunction(e))return e({$anchor:v})}return null})();(l.containerElem=e)&&e.addEventListener("scroll",f,{passive:!1})},p=(Object.assign(v,d,{handleClickLink(e,t){e.preventDefault();var r=document.getElementById((""+t).replace("#",""));r&&r.scrollIntoView({behavior:"smooth"}),r=t,l.activeHref=r,a("update:modelValue",r),d.dispatchEvent("click",{href:t},e)}}),e=>{const r=[];return e&&e.forEach(e=>{const t=e.children;t&&t.length?r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href},{sub:()=>p(t)})):r.push((0,_vue.h)(_anchorLink.default,{content:e.content,title:e.title,href:e.href}))}),r});return(0,_vue.watch)(()=>n.modelValue,e=>{l.activeHref=e}),(0,_vue.watch)(()=>l.activeHref,()=>{(0,_vue.nextTick)(()=>{var e=l["activeHref"],t=o.value,r=u.value;t&&r&&e&&(e=t.querySelector(`[href="${e}"]`))&&(e=(0,_dom.getOffsetPos)(e,t)["top"],r.style.top=e+"px")})}),(0,_vue.watch)(()=>n.container,()=>{h(),_()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{_()})}),(0,_vue.onBeforeUnmount)(()=>{h()}),(0,_vue.provide)("$xeAnchor",v),v.renderVN=()=>{var{options:e,showMarker:t}=n,r=i.default;return(0,_vue.h)("div",{ref:o,class:["vxe-anchor",{"is--marker":t}]},[(0,_vue.h)("div",{class:"vxe-anchor--list"},r?r({}):p(e)),t?(0,_vue.h)("div",{ref:u,class:"vxe-anchor--marker"}):(0,_vue.createCommentVNode)()])},v},render(){return this.renderVN()}});
|
|
@@ -75,8 +75,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
75
75
|
class: 'vxe-breadcrumb'
|
|
76
76
|
}, defaultSlot ? defaultSlot({}) : renderItems());
|
|
77
77
|
};
|
|
78
|
-
$xeBreadcrumb.renderVN = renderVN;
|
|
79
78
|
(0, _vue.provide)('$xeBreadcrumb', $xeBreadcrumb);
|
|
79
|
+
$xeBreadcrumb.renderVN = renderVN;
|
|
80
80
|
return $xeBreadcrumb;
|
|
81
81
|
},
|
|
82
82
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_breadcrumbItem=_interopRequireDefault(require("./breadcrumb-item"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeBreadcrumb",props:{separator:{type:String,default:()=>(0,_ui.getConfig)().breadcrumb.separator},options:Array},emits:["click"],setup(r,e){const{emit:u,slots:t}=e;var i=_xeUtils.default.uniqueId();const a=(0,_vue.ref)();var n=(0,_vue.reactive)({});const o={refElem:a},s={},d={xID:i,props:r,context:e,reactData:n,getRefMaps:()=>o,getComputeMaps:()=>s},c={dispatchEvent(e,r,t){u(e,(0,_ui.createEvent)(t,{$breadcrumb:d},r))}};Object.assign(d,c,{handleClickLink(e,r){c.dispatchEvent("click",{option:r},e)}});return
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_breadcrumbItem=_interopRequireDefault(require("./breadcrumb-item"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeBreadcrumb",props:{separator:{type:String,default:()=>(0,_ui.getConfig)().breadcrumb.separator},options:Array},emits:["click"],setup(r,e){const{emit:u,slots:t}=e;var i=_xeUtils.default.uniqueId();const a=(0,_vue.ref)();var n=(0,_vue.reactive)({});const o={refElem:a},s={},d={xID:i,props:r,context:e,reactData:n,getRefMaps:()=>o,getComputeMaps:()=>s},c={dispatchEvent(e,r,t){u(e,(0,_ui.createEvent)(t,{$breadcrumb:d},r))}};Object.assign(d,c,{handleClickLink(e,r){c.dispatchEvent("click",{option:r},e)}});return(0,_vue.provide)("$xeBreadcrumb",d),d.renderVN=()=>{var e=t.default;return(0,_vue.h)("div",{ref:a,class:"vxe-breadcrumb"},e?e({}):(e=r.options)&&e.length?e.map(e=>(0,_vue.h)(_breadcrumbItem.default,{title:e.title,routerLink:e.routerLink})):[])},d},render(){return this.renderVN()}});
|
|
@@ -87,6 +87,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
87
87
|
};
|
|
88
88
|
$xeButtonGroup.renderVN = renderVN;
|
|
89
89
|
(0, _vue.provide)('$xeButtonGroup', $xeButtonGroup);
|
|
90
|
-
return
|
|
90
|
+
return $xeButtonGroup;
|
|
91
|
+
},
|
|
92
|
+
render() {
|
|
93
|
+
return this.renderVN();
|
|
91
94
|
}
|
|
92
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,circle:Boolean,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_core.getConfig)().buttonGroup.size||(0,_core.getConfig)().size}},emits:["click"],setup(n,e){const{slots:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_button=_interopRequireDefault(require("./button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeButtonGroup",props:{options:Array,mode:String,status:String,round:Boolean,circle:Boolean,className:[String,Function],disabled:Boolean,permissionCode:[String,Number],size:{type:String,default:()=>(0,_core.getConfig)().buttonGroup.size||(0,_core.getConfig)().size}},emits:["click"],setup(n,e){const{slots:u,emit:r}=e;var t=_xeUtils.default.uniqueId();const o={},i={xID:t,props:n,context:e,getComputeMaps:()=>o},s=((0,_core.useSize)(n),(0,_core.usePermission)(n))["computePermissionInfo"],a={dispatchEvent(e,t,o){r(e,(0,_core.createEvent)(o,{$buttonGroup:i},t))}};Object.assign(i,a,{handleClick(e,t){var o=n["options"];const r=e["name"];o=o?o.find(e=>e.name===r):null;a.dispatchEvent("click",Object.assign(Object.assign({},e),{option:o}),t)}});return i.renderVN=()=>{var{className:e,options:t}=n,o=s.value,r=u.default;return o.visible?(0,_vue.h)("div",{class:["vxe-button-group",e?_xeUtils.default.isFunction(e)?e({$buttonGroup:i}):e:""]},r?r({}):t?t.map((e,t)=>(0,_vue.h)(_button.default,Object.assign({key:t},e))):[]):(0,_vue.createCommentVNode)()},(0,_vue.provide)("$xeButtonGroup",i),i},render(){return this.renderVN()}});
|