vxe-pc-ui 4.11.30 → 4.11.32
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/backtop/src/backtop.js +1 -3
- package/es/button/src/button.js +21 -12
- package/es/components.js +3 -0
- package/es/context-menu/index.js +46 -0
- package/es/context-menu/src/context-menu.js +343 -0
- package/es/context-menu/style.css +112 -0
- package/es/context-menu/style.min.css +1 -0
- package/es/dynamics/index.js +29 -3
- package/es/icon/style.css +1 -1
- package/es/language/ar-EG.js +3 -0
- package/es/language/de-DE.js +3 -0
- package/es/language/en-US.js +3 -0
- package/es/language/es-ES.js +3 -0
- package/es/language/fr-FR.js +3 -0
- package/es/language/hu-HU.js +3 -0
- package/es/language/hy-AM.js +4 -1
- package/es/language/id-ID.js +3 -0
- package/es/language/it-IT.js +3 -0
- package/es/language/ja-JP.js +3 -0
- package/es/language/ko-KR.js +3 -0
- package/es/language/ms-MY.js +3 -0
- package/es/language/nb-NO.js +3 -0
- package/es/language/pt-BR.js +3 -0
- package/es/language/ru-RU.js +3 -0
- package/es/language/th-TH.js +3 -0
- package/es/language/ug-CN.js +3 -0
- package/es/language/uk-UA.js +3 -0
- package/es/language/uz-UZ.js +3 -0
- package/es/language/vi-VN.js +3 -0
- package/es/language/zh-CHT.js +3 -0
- package/es/language/zh-CN.js +4 -1
- package/es/print/src/print.js +24 -1
- package/es/print/src/util.js +8 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +69 -21
- package/es/ui/index.js +8 -3
- package/es/ui/src/log.js +1 -1
- package/es/vxe-context-menu/index.js +3 -0
- package/es/vxe-context-menu/style.css +112 -0
- package/es/vxe-context-menu/style.min.css +1 -0
- package/lib/backtop/src/backtop.js +0 -2
- package/lib/backtop/src/backtop.min.js +1 -1
- package/lib/button/src/button.js +12 -6
- package/lib/button/src/button.min.js +1 -1
- package/lib/components.js +13 -1
- package/lib/components.min.js +1 -1
- package/lib/context-menu/index.js +56 -0
- package/lib/context-menu/index.min.js +1 -0
- package/lib/context-menu/src/context-menu.js +362 -0
- package/lib/context-menu/src/context-menu.min.js +1 -0
- package/lib/context-menu/style/index.js +1 -0
- package/lib/context-menu/style/style.css +112 -0
- package/lib/context-menu/style/style.min.css +1 -0
- package/lib/dynamics/index.js +33 -3
- package/lib/dynamics/index.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +603 -40
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +3 -0
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +3 -0
- package/lib/language/de-DE.js +3 -0
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +3 -0
- package/lib/language/en-US.js +3 -0
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +3 -0
- package/lib/language/es-ES.js +3 -0
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +3 -0
- package/lib/language/fr-FR.js +3 -0
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +3 -0
- package/lib/language/hu-HU.js +3 -0
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +3 -0
- package/lib/language/hy-AM.js +4 -1
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +4 -1
- package/lib/language/id-ID.js +3 -0
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +3 -0
- package/lib/language/it-IT.js +3 -0
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +3 -0
- package/lib/language/ja-JP.js +3 -0
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +3 -0
- package/lib/language/ko-KR.js +3 -0
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +3 -0
- package/lib/language/ms-MY.js +3 -0
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +3 -0
- package/lib/language/nb-NO.js +3 -0
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +3 -0
- package/lib/language/pt-BR.js +3 -0
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +3 -0
- package/lib/language/ru-RU.js +3 -0
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +3 -0
- package/lib/language/th-TH.js +3 -0
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +3 -0
- package/lib/language/ug-CN.js +3 -0
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +3 -0
- package/lib/language/uk-UA.js +3 -0
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +3 -0
- package/lib/language/uz-UZ.js +3 -0
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +3 -0
- package/lib/language/vi-VN.js +3 -0
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +3 -0
- package/lib/language/zh-CHT.js +3 -0
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +3 -0
- package/lib/language/zh-CN.js +4 -1
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +4 -1
- package/lib/print/src/print.js +42 -1
- package/lib/print/src/print.min.js +1 -1
- package/lib/print/src/util.js +9 -2
- package/lib/print/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree/src/tree.js +78 -20
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/ui/index.js +8 -3
- 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/vxe-context-menu/index.js +22 -0
- package/lib/vxe-context-menu/index.min.js +1 -0
- package/lib/vxe-context-menu/style/index.js +1 -0
- package/lib/vxe-context-menu/style/style.css +112 -0
- package/lib/vxe-context-menu/style/style.min.css +1 -0
- package/package.json +1 -1
- package/packages/backtop/src/backtop.ts +1 -4
- package/packages/button/src/button.ts +22 -13
- package/packages/components.ts +3 -0
- package/packages/context-menu/index.ts +54 -0
- package/packages/context-menu/src/context-menu.ts +388 -0
- package/packages/dynamics/index.ts +36 -9
- package/packages/language/ar-EG.ts +3 -0
- package/packages/language/de-DE.ts +3 -0
- package/packages/language/en-US.ts +3 -0
- package/packages/language/es-ES.ts +3 -0
- package/packages/language/fr-FR.ts +3 -0
- package/packages/language/hu-HU.ts +3 -0
- package/packages/language/hy-AM.ts +4 -1
- package/packages/language/id-ID.ts +3 -0
- package/packages/language/it-IT.ts +3 -0
- package/packages/language/ja-JP.ts +3 -0
- package/packages/language/ko-KR.ts +3 -0
- package/packages/language/ms-MY.ts +3 -0
- package/packages/language/nb-NO.ts +3 -0
- package/packages/language/pt-BR.ts +3 -0
- package/packages/language/ru-RU.ts +3 -0
- package/packages/language/th-TH.ts +3 -0
- package/packages/language/ug-CN.ts +3 -0
- package/packages/language/uk-UA.ts +3 -0
- package/packages/language/uz-UZ.ts +3 -0
- package/packages/language/vi-VN.ts +3 -0
- package/packages/language/zh-CHT.ts +3 -0
- package/packages/language/zh-CN.ts +4 -1
- package/packages/print/src/print.ts +24 -1
- package/packages/print/src/util.ts +9 -1
- package/packages/tree/src/tree.ts +73 -22
- package/packages/ui/index.ts +8 -2
- package/styles/all.scss +1 -0
- package/styles/components/backtop.scss +1 -1
- package/styles/components/context-menu.scss +113 -0
- package/styles/theme/base.scss +3 -0
- package/types/all.d.ts +3 -0
- package/types/components/button.d.ts +3 -1
- package/types/components/context-menu.d.ts +286 -0
- package/types/components/password-input.d.ts +2 -0
- package/types/components/print.d.ts +8 -0
- package/types/components/table.d.ts +8 -0
- package/types/components/tree.d.ts +46 -1
- package/types/ui/global-config.d.ts +2 -0
- package/types/ui/global-icon.d.ts +4 -0
- package/types/ui/index.d.ts +3 -0
- /package/es/icon/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
- /package/es/icon/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
- /package/es/icon/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
- /package/es/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
- /package/es/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
- /package/es/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
- /package/lib/icon/style/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
- /package/lib/{iconfont.1767491587367.ttf → iconfont.1767614230277.ttf} +0 -0
- /package/lib/{iconfont.1767491587367.woff → iconfont.1767614230277.woff} +0 -0
- /package/lib/{iconfont.1767491587367.woff2 → iconfont.1767614230277.woff2} +0 -0
package/es/tree/src/tree.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ref, h, reactive, computed, watch,
|
|
1
|
+
import { ref, h, reactive, computed, watch, onBeforeUnmount, nextTick, onMounted, provide } from 'vue';
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
3
3
|
import { VxeUI, getI18n, createEvent, getIcon, getConfig, useSize, globalEvents, globalResize, renderEmptyElement } from '../../ui';
|
|
4
4
|
import { calcTreeLine, enNodeValue, deNodeValue } from './util';
|
|
@@ -7,8 +7,9 @@ import { getCrossTreeDragNodeInfo } from './store';
|
|
|
7
7
|
import XEUtils from 'xe-utils';
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn';
|
|
9
9
|
import { toCssUnit, isScale, getPaddingTopBottomSize, addClass, removeClass, getTpImg, hasControlKey, getEventTargetNode } from '../../ui/src/dom';
|
|
10
|
+
import { isEnableConf } from '../../ui/src/utils';
|
|
10
11
|
import { moveRowAnimateToTb, clearRowAnimate } from '../../ui/src/anime';
|
|
11
|
-
import VxeLoadingComponent from '../../loading
|
|
12
|
+
import VxeLoadingComponent from '../../loading';
|
|
12
13
|
/**
|
|
13
14
|
* 生成节点的唯一主键
|
|
14
15
|
*/
|
|
@@ -43,6 +44,24 @@ function createInternalData() {
|
|
|
43
44
|
// hpTimeout: undefined
|
|
44
45
|
};
|
|
45
46
|
}
|
|
47
|
+
function createReactData() {
|
|
48
|
+
return {
|
|
49
|
+
parentHeight: 0,
|
|
50
|
+
customHeight: 0,
|
|
51
|
+
customMinHeight: 0,
|
|
52
|
+
customMaxHeight: 0,
|
|
53
|
+
currentNode: null,
|
|
54
|
+
scrollYLoad: false,
|
|
55
|
+
bodyHeight: 0,
|
|
56
|
+
topSpaceHeight: 0,
|
|
57
|
+
selectRadioKey: null,
|
|
58
|
+
treeList: [],
|
|
59
|
+
updateExpandedFlag: 1,
|
|
60
|
+
updateCheckboxFlag: 1,
|
|
61
|
+
dragNode: null,
|
|
62
|
+
dragTipText: ''
|
|
63
|
+
};
|
|
64
|
+
}
|
|
46
65
|
// let crossTreeDragNodeObj: {
|
|
47
66
|
// $oldTree: VxeTreeConstructor & VxeTreePrivateMethods
|
|
48
67
|
// $newTree: (VxeTreeConstructor & VxeTreePrivateMethods) | null
|
|
@@ -141,6 +160,7 @@ export default defineVxeComponent({
|
|
|
141
160
|
default: () => getConfig().tree.drag
|
|
142
161
|
},
|
|
143
162
|
dragConfig: Object,
|
|
163
|
+
menuConfig: Object,
|
|
144
164
|
showIcon: {
|
|
145
165
|
type: Boolean,
|
|
146
166
|
default: true
|
|
@@ -179,7 +199,10 @@ export default defineVxeComponent({
|
|
|
179
199
|
'scroll',
|
|
180
200
|
'node-dragstart',
|
|
181
201
|
'node-dragover',
|
|
182
|
-
'node-dragend'
|
|
202
|
+
'node-dragend',
|
|
203
|
+
'node-expand',
|
|
204
|
+
'node-menu',
|
|
205
|
+
'menu-click'
|
|
183
206
|
],
|
|
184
207
|
setup(props, context) {
|
|
185
208
|
const { emit, slots } = context;
|
|
@@ -193,23 +216,8 @@ export default defineVxeComponent({
|
|
|
193
216
|
const refDragNodeLineElem = ref();
|
|
194
217
|
const refDragTipElem = ref();
|
|
195
218
|
const crossTreeDragNodeInfo = getCrossTreeDragNodeInfo();
|
|
196
|
-
const reactData = reactive({
|
|
197
|
-
parentHeight: 0,
|
|
198
|
-
customHeight: 0,
|
|
199
|
-
customMinHeight: 0,
|
|
200
|
-
customMaxHeight: 0,
|
|
201
|
-
currentNode: null,
|
|
202
|
-
scrollYLoad: false,
|
|
203
|
-
bodyHeight: 0,
|
|
204
|
-
topSpaceHeight: 0,
|
|
205
|
-
selectRadioKey: enNodeValue(props.checkNodeKey),
|
|
206
|
-
treeList: [],
|
|
207
|
-
updateExpandedFlag: 1,
|
|
208
|
-
updateCheckboxFlag: 1,
|
|
209
|
-
dragNode: null,
|
|
210
|
-
dragTipText: ''
|
|
211
|
-
});
|
|
212
219
|
const internalData = createInternalData();
|
|
220
|
+
const reactData = reactive(createReactData());
|
|
213
221
|
const refMaps = {
|
|
214
222
|
refElem
|
|
215
223
|
};
|
|
@@ -269,6 +277,9 @@ export default defineVxeComponent({
|
|
|
269
277
|
const computeDragOpts = computed(() => {
|
|
270
278
|
return Object.assign({}, getConfig().tree.dragConfig, props.dragConfig);
|
|
271
279
|
});
|
|
280
|
+
const computeMenuOpts = computed(() => {
|
|
281
|
+
return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
|
|
282
|
+
});
|
|
272
283
|
const computeTreeStyle = computed(() => {
|
|
273
284
|
const { customHeight, customMinHeight, customMaxHeight } = reactData;
|
|
274
285
|
const stys = {};
|
|
@@ -909,6 +920,33 @@ export default defineVxeComponent({
|
|
|
909
920
|
const handleNodeDblclickEvent = (evnt, node) => {
|
|
910
921
|
dispatchEvent('node-dblclick', { node }, evnt);
|
|
911
922
|
};
|
|
923
|
+
const handleContextmenuEvent = (evnt, node) => {
|
|
924
|
+
const { menuConfig } = props;
|
|
925
|
+
const isRowCurrent = computeIsRowCurrent.value;
|
|
926
|
+
const menuOpts = computeMenuOpts.value;
|
|
927
|
+
if (menuConfig ? isEnableConf(menuOpts) : menuOpts.enabled) {
|
|
928
|
+
const { options, visibleMethod } = menuOpts;
|
|
929
|
+
if (!visibleMethod || visibleMethod({ $tree: $xeTree, options, node })) {
|
|
930
|
+
if (isRowCurrent) {
|
|
931
|
+
changeCurrentEvent(evnt, node);
|
|
932
|
+
}
|
|
933
|
+
else if (reactData.currentNode) {
|
|
934
|
+
reactData.currentNode = null;
|
|
935
|
+
}
|
|
936
|
+
if (VxeUI.contextMenu) {
|
|
937
|
+
VxeUI.contextMenu.openByEvent(evnt, {
|
|
938
|
+
options,
|
|
939
|
+
events: {
|
|
940
|
+
optionClick(eventParams) {
|
|
941
|
+
dispatchEvent('menu-click', Object.assign({ node }, eventParams), eventParams.$event);
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
});
|
|
945
|
+
}
|
|
946
|
+
}
|
|
947
|
+
}
|
|
948
|
+
dispatchEvent('node-menu', { node }, evnt);
|
|
949
|
+
};
|
|
912
950
|
const handleAsyncTreeExpandChilds = (node) => {
|
|
913
951
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
914
952
|
const { loadMethod } = props;
|
|
@@ -2284,6 +2322,9 @@ export default defineVxeComponent({
|
|
|
2284
2322
|
},
|
|
2285
2323
|
onDblclick(evnt) {
|
|
2286
2324
|
handleNodeDblclickEvent(evnt, node);
|
|
2325
|
+
},
|
|
2326
|
+
onContextmenu(evnt) {
|
|
2327
|
+
handleContextmenuEvent(evnt, node);
|
|
2287
2328
|
}
|
|
2288
2329
|
};
|
|
2289
2330
|
// 拖拽行事件
|
|
@@ -2540,7 +2581,7 @@ export default defineVxeComponent({
|
|
|
2540
2581
|
recalculate();
|
|
2541
2582
|
});
|
|
2542
2583
|
onMounted(() => {
|
|
2543
|
-
const { transform, drag } = props;
|
|
2584
|
+
const { transform, drag, menuConfig } = props;
|
|
2544
2585
|
const dragOpts = computeDragOpts.value;
|
|
2545
2586
|
if (drag && !transform) {
|
|
2546
2587
|
errLog('vxe.error.notSupportProp', ['drag', 'transform=false', 'transform=true']);
|
|
@@ -2548,6 +2589,10 @@ export default defineVxeComponent({
|
|
|
2548
2589
|
if (dragOpts.isCrossTreeDrag) {
|
|
2549
2590
|
errLog('vxe.error.notProp', ['drag-config.isCrossTreeDrag']);
|
|
2550
2591
|
}
|
|
2592
|
+
const VxeUIContextMenu = VxeUI.getComponent('VxeContextMenu');
|
|
2593
|
+
if (menuConfig && !VxeUIContextMenu) {
|
|
2594
|
+
errLog('vxe.error.reqComp', ['vxe-context-menu']);
|
|
2595
|
+
}
|
|
2551
2596
|
if (props.autoResize) {
|
|
2552
2597
|
const el = refElem.value;
|
|
2553
2598
|
const parentEl = getParentElem();
|
|
@@ -2566,16 +2611,19 @@ export default defineVxeComponent({
|
|
|
2566
2611
|
}
|
|
2567
2612
|
globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
|
|
2568
2613
|
});
|
|
2569
|
-
|
|
2614
|
+
onBeforeUnmount(() => {
|
|
2570
2615
|
const { resizeObserver } = internalData;
|
|
2571
2616
|
if (resizeObserver) {
|
|
2572
2617
|
resizeObserver.disconnect();
|
|
2573
2618
|
}
|
|
2574
2619
|
globalEvents.off($xeTree, 'resize');
|
|
2620
|
+
XEUtils.assign(reactData, createReactData());
|
|
2575
2621
|
XEUtils.assign(internalData, createInternalData());
|
|
2576
2622
|
});
|
|
2623
|
+
reactData.selectRadioKey = enNodeValue(props.checkNodeKey);
|
|
2577
2624
|
loadData(props.data || []);
|
|
2578
2625
|
$xeTree.renderVN = renderVN;
|
|
2626
|
+
provide('$xeTree', $xeTree);
|
|
2579
2627
|
return $xeTree;
|
|
2580
2628
|
},
|
|
2581
2629
|
render() {
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.11.
|
|
4
|
+
export const version = "4.11.32";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
|
@@ -37,7 +37,8 @@ setConfig({
|
|
|
37
37
|
},
|
|
38
38
|
suffixTooltip: {
|
|
39
39
|
enterable: true
|
|
40
|
-
}
|
|
40
|
+
},
|
|
41
|
+
showDropdownIcon: true
|
|
41
42
|
},
|
|
42
43
|
buttonGroup: {},
|
|
43
44
|
calendar: {
|
|
@@ -70,6 +71,7 @@ setConfig({
|
|
|
70
71
|
}
|
|
71
72
|
},
|
|
72
73
|
collapsePane: {},
|
|
74
|
+
contextMenu: {},
|
|
73
75
|
countdown: {},
|
|
74
76
|
colorPicker: {
|
|
75
77
|
type: 'rgb',
|
|
@@ -626,7 +628,10 @@ setIcon({
|
|
|
626
628
|
SPLIT_LEFT_ACTION: iconPrefix + 'arrow-left',
|
|
627
629
|
SPLIT_RIGHT_ACTION: iconPrefix + 'arrow-right',
|
|
628
630
|
// backtop
|
|
629
|
-
BACKTOP_TOP: iconPrefix + 'top'
|
|
631
|
+
BACKTOP_TOP: iconPrefix + 'top',
|
|
632
|
+
// context-menu
|
|
633
|
+
CONTEXT_MENU_OPTION_LOADING: iconPrefix + 'spinner roll',
|
|
634
|
+
CONTEXT_MENU_CHILDREN: iconPrefix + 'arrow-right'
|
|
630
635
|
});
|
|
631
636
|
export * from '@vxe-ui/core';
|
|
632
637
|
export default VxeUI;
|
package/es/ui/src/log.js
CHANGED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
.vxe-context-menu {
|
|
2
|
+
display: none;
|
|
3
|
+
top: 0;
|
|
4
|
+
left: 0;
|
|
5
|
+
-webkit-user-select: none;
|
|
6
|
+
-moz-user-select: none;
|
|
7
|
+
user-select: none;
|
|
8
|
+
}
|
|
9
|
+
.vxe-context-menu.is--visible {
|
|
10
|
+
display: block;
|
|
11
|
+
}
|
|
12
|
+
.vxe-context-menu.is--fixed {
|
|
13
|
+
position: fixed;
|
|
14
|
+
}
|
|
15
|
+
.vxe-context-menu.is--absolute {
|
|
16
|
+
position: absolute;
|
|
17
|
+
}
|
|
18
|
+
.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper {
|
|
19
|
+
left: calc(-100% + 2px);
|
|
20
|
+
}
|
|
21
|
+
.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper {
|
|
22
|
+
left: calc(100% - 2px);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.vxe-context-menu--group-wrapper {
|
|
26
|
+
border-top: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
27
|
+
}
|
|
28
|
+
.vxe-context-menu--group-wrapper:first-child {
|
|
29
|
+
border: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.vxe-context-menu--wrapper,
|
|
33
|
+
.vxe-context-menu--children-wrapper {
|
|
34
|
+
padding: 0;
|
|
35
|
+
color: var(--vxe-ui-font-color);
|
|
36
|
+
font-family: var(--vxe-ui-font-family);
|
|
37
|
+
border: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
38
|
+
background-color: var(--vxe-ui-layout-background-color);
|
|
39
|
+
border-radius: var(--vxe-ui-base-border-radius);
|
|
40
|
+
box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.3);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.vxe-context-menu--children-wrapper {
|
|
44
|
+
display: none;
|
|
45
|
+
position: absolute;
|
|
46
|
+
transform: translateY(-5px);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.vxe-context-menu--item-wrapper {
|
|
50
|
+
position: relative;
|
|
51
|
+
min-width: 12em;
|
|
52
|
+
max-width: 20em;
|
|
53
|
+
-webkit-user-select: none;
|
|
54
|
+
-moz-user-select: none;
|
|
55
|
+
user-select: none;
|
|
56
|
+
}
|
|
57
|
+
.vxe-context-menu--item-wrapper.is--active {
|
|
58
|
+
background-color: rgba(0, 0, 0, 0.1);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.vxe-context-menu--first-item.is--active .vxe-context-menu--children-wrapper {
|
|
62
|
+
display: block;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.vxe-context-menu--item-inner {
|
|
66
|
+
height: var(--vxe-ui-context-menu-option-height);
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
padding: 0 0.8em;
|
|
70
|
+
cursor: pointer;
|
|
71
|
+
}
|
|
72
|
+
.vxe-context-menu--item-inner.is--loading {
|
|
73
|
+
opacity: 0.5;
|
|
74
|
+
cursor: progress;
|
|
75
|
+
}
|
|
76
|
+
.vxe-context-menu--item-inner.is--disabled {
|
|
77
|
+
color: var(--vxe-ui-font-disabled-color);
|
|
78
|
+
cursor: no-drop;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.vxe-context-menu--item-prefix {
|
|
82
|
+
min-width: 1em;
|
|
83
|
+
text-align: center;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.vxe-context-menu--item-prefix,
|
|
87
|
+
.vxe-context-menu--item-suffix {
|
|
88
|
+
flex-shrink: 0;
|
|
89
|
+
font-size: 0.9em;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.vxe-context-menu--item-label {
|
|
93
|
+
font-size: 0.9em;
|
|
94
|
+
padding: 0 0.5em;
|
|
95
|
+
flex-grow: 1;
|
|
96
|
+
overflow: hidden;
|
|
97
|
+
text-overflow: ellipsis;
|
|
98
|
+
white-space: nowrap;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.vxe-context-menu {
|
|
102
|
+
font-size: var(--vxe-ui-font-size-default);
|
|
103
|
+
}
|
|
104
|
+
.vxe-context-menu.size--medium {
|
|
105
|
+
font-size: var(--vxe-ui-font-size-medium);
|
|
106
|
+
}
|
|
107
|
+
.vxe-context-menu.size--small {
|
|
108
|
+
font-size: var(--vxe-ui-font-size-small);
|
|
109
|
+
}
|
|
110
|
+
.vxe-context-menu.size--mini {
|
|
111
|
+
font-size: var(--vxe-ui-font-size-mini);
|
|
112
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.vxe-context-menu{display:none;top:0;left:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu.is--visible{display:block}.vxe-context-menu.is--fixed{position:fixed}.vxe-context-menu.is--absolute{position:absolute}.vxe-context-menu.cp--left .vxe-context-menu--children-wrapper{left:calc(-100% + 2px)}.vxe-context-menu.cp--right .vxe-context-menu--children-wrapper{left:calc(100% - 2px)}.vxe-context-menu--group-wrapper{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-context-menu--group-wrapper:first-child{border:0}.vxe-context-menu--children-wrapper,.vxe-context-menu--wrapper{padding:0;color:var(--vxe-ui-font-color);font-family:var(--vxe-ui-font-family);border:1px solid var(--vxe-ui-base-popup-border-color);background-color:var(--vxe-ui-layout-background-color);border-radius:var(--vxe-ui-base-border-radius);box-shadow:0 0 12px 0 rgba(0,0,0,.3)}.vxe-context-menu--children-wrapper{display:none;position:absolute;transform:translateY(-5px)}.vxe-context-menu--item-wrapper{position:relative;min-width:12em;max-width:20em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vxe-context-menu--item-wrapper.is--active{background-color:rgba(0,0,0,.1)}.vxe-context-menu--first-item.is--active .vxe-context-menu--children-wrapper{display:block}.vxe-context-menu--item-inner{height:var(--vxe-ui-context-menu-option-height);display:flex;align-items:center;padding:0 .8em;cursor:pointer}.vxe-context-menu--item-inner.is--loading{opacity:.5;cursor:progress}.vxe-context-menu--item-inner.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-context-menu--item-prefix{min-width:1em;text-align:center}.vxe-context-menu--item-prefix,.vxe-context-menu--item-suffix{flex-shrink:0;font-size:.9em}.vxe-context-menu--item-label{font-size:.9em;padding:0 .5em;flex-grow:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vxe-context-menu{font-size:var(--vxe-ui-font-size-default)}.vxe-context-menu.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-context-menu.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-context-menu.size--mini{font-size:var(--vxe-ui-font-size-mini)}
|
|
@@ -243,8 +243,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
243
243
|
(0, _vue.onBeforeUnmount)(() => {
|
|
244
244
|
removeScrollEvent();
|
|
245
245
|
_xeUtils.default.assign(reactData, createReactData());
|
|
246
|
-
});
|
|
247
|
-
(0, _vue.onUnmounted)(() => {
|
|
248
246
|
_xeUtils.default.assign(internalData, createInternalData());
|
|
249
247
|
});
|
|
250
248
|
$xeBacktop.renderVN = renderVN;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{targetEl:null}}function createReactData(){return{showBtn:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeBacktop",props:{target:String,size:{type:String,default:()=>(0,_ui.getConfig)().backtop.size||(0,_ui.getConfig)().size},circle:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.circle},right:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.right},bottom:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.bottom},status:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.status},icon:{type:String,default:()=>(0,_ui.getConfig)().backtop.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showIcon},content:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.content},showContent:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showContent},zIndex:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.zIndex},threshold:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.threshold},position:{type:String,default:()=>(0,_ui.getConfig)().backtop.position}},emits:["click"],setup(g,e){const{slots:p,emit:o}=e;var t=_xeUtils.default.uniqueId();const d=(0,_vue.ref)(),_=(0,_ui.useSize)(g)["computeSize"],r=createInternalData(),f=(0,_vue.reactive)(createReactData()),i={refElem:d},v=(0,_vue.computed)(()=>{var{right:e,bottom:t,zIndex:r}=g,o={};return e&&(o.right=(0,_dom.toCssUnit)(e)),t&&(o.bottom=(0,_dom.toCssUnit)(t)),r&&(o.zIndex=r),o}),a={},m={xID:t,props:g,context:e,internalData:r,reactData:f,getRefMaps:()=>i,getComputeMaps:()=>a},n=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$backtop:m},t))},u=e=>{var t=g["threshold"],e=e.currentTarget.scrollTop;f.showBtn=e>Math.max(1,_xeUtils.default.toNumber(t))},s=()=>{var e,t=r["targetEl"];t&&0<(e=t.scrollTop)&&(requestAnimationFrame(s),e=e-Math.max(12,e/6),t.scrollTop=10<e?e:0)},c=()=>{var e=r["targetEl"];e&&e.removeEventListener("scroll",u)},l=()=>{(0,_vue.nextTick)(()=>{var e,t=g["target"];t?_xeUtils.default.isString(t)&&(t=((e=document.querySelector(t))||(0,_log.errLog)("vxe.error.errProp",["target="+t,"body"]),r)["targetEl"],t!==e)&&(c(),r.targetEl=e,t=r.targetEl)&&t.addEventListener("scroll",u,{passive:!0}):(c(),(0,_log.errLog)("vxe.error.reqProp",["target"]))})},b=e=>{s(),n("click",{},e)};t={dispatchEvent:n};Object.assign(m,t,{});return(0,_vue.watch)(()=>g.target,()=>{l()}),(0,_vue.onMounted)(()=>{l()}),(0,_vue.onBeforeUnmount)(()=>{c(),_xeUtils.default.assign(f,createReactData())
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function createInternalData(){return{targetEl:null}}function createReactData(){return{showBtn:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeBacktop",props:{target:String,size:{type:String,default:()=>(0,_ui.getConfig)().backtop.size||(0,_ui.getConfig)().size},circle:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.circle},right:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.right},bottom:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.bottom},status:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.status},icon:{type:String,default:()=>(0,_ui.getConfig)().backtop.icon},showIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showIcon},content:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.content},showContent:{type:Boolean,default:()=>(0,_ui.getConfig)().backtop.showContent},zIndex:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.zIndex},threshold:{type:[String,Number],default:()=>(0,_ui.getConfig)().backtop.threshold},position:{type:String,default:()=>(0,_ui.getConfig)().backtop.position}},emits:["click"],setup(g,e){const{slots:p,emit:o}=e;var t=_xeUtils.default.uniqueId();const d=(0,_vue.ref)(),_=(0,_ui.useSize)(g)["computeSize"],r=createInternalData(),f=(0,_vue.reactive)(createReactData()),i={refElem:d},v=(0,_vue.computed)(()=>{var{right:e,bottom:t,zIndex:r}=g,o={};return e&&(o.right=(0,_dom.toCssUnit)(e)),t&&(o.bottom=(0,_dom.toCssUnit)(t)),r&&(o.zIndex=r),o}),a={},m={xID:t,props:g,context:e,internalData:r,reactData:f,getRefMaps:()=>i,getComputeMaps:()=>a},n=(e,t,r)=>{o(e,(0,_ui.createEvent)(r,{$backtop:m},t))},u=e=>{var t=g["threshold"],e=e.currentTarget.scrollTop;f.showBtn=e>Math.max(1,_xeUtils.default.toNumber(t))},s=()=>{var e,t=r["targetEl"];t&&0<(e=t.scrollTop)&&(requestAnimationFrame(s),e=e-Math.max(12,e/6),t.scrollTop=10<e?e:0)},c=()=>{var e=r["targetEl"];e&&e.removeEventListener("scroll",u)},l=()=>{(0,_vue.nextTick)(()=>{var e,t=g["target"];t?_xeUtils.default.isString(t)&&(t=((e=document.querySelector(t))||(0,_log.errLog)("vxe.error.errProp",["target="+t,"body"]),r)["targetEl"],t!==e)&&(c(),r.targetEl=e,t=r.targetEl)&&t.addEventListener("scroll",u,{passive:!0}):(c(),(0,_log.errLog)("vxe.error.reqProp",["target"]))})},b=e=>{s(),n("click",{},e)};t={dispatchEvent:n};Object.assign(m,t,{});return(0,_vue.watch)(()=>g.target,()=>{l()}),(0,_vue.onMounted)(()=>{l()}),(0,_vue.onBeforeUnmount)(()=>{c(),_xeUtils.default.assign(f,createReactData()),_xeUtils.default.assign(r,createInternalData())}),m.renderVN=()=>{var{circle:e,position:t,status:r,icon:o,showIcon:i,content:a,showContent:n}=g,u=f["showBtn"],s=v.value,c=_.value,l=p.default;return(0,_vue.h)("div",{ref:d,class:["vxe-backtop","fixed"===t?"is--"+t:"is--absolute",{["size--"+c]:c,["theme--"+r]:r,"is--circle":e,"is--visible":u}],style:s,onClick:b},[(0,_vue.h)("div",{class:"vxe-backtop--inner"},[l?l({}):[i?(0,_vue.h)("div",{class:"vxe-backtop--icon"},[(0,_vue.h)("i",{class:o||(0,_ui.getIcon)().BACKTOP_TOP})]):(0,_ui.renderEmptyElement)(m),n?(0,_vue.h)("div",{class:"vxe-backtop--content"},""+(a||"")):(0,_ui.renderEmptyElement)(m)]])])},m},render(){return this.renderVN()}});
|
package/lib/button/src/button.js
CHANGED
|
@@ -96,6 +96,10 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
96
96
|
prefixTooltip: Object,
|
|
97
97
|
suffixTooltip: Object,
|
|
98
98
|
options: Array,
|
|
99
|
+
showDropdownIcon: {
|
|
100
|
+
type: Boolean,
|
|
101
|
+
default: () => (0, _ui.getConfig)().button.showDropdownIcon
|
|
102
|
+
},
|
|
99
103
|
/**
|
|
100
104
|
* 在下拉面板关闭时销毁内容
|
|
101
105
|
*/
|
|
@@ -120,6 +124,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
120
124
|
const $xeModal = (0, _vue.inject)('$xeModal', null);
|
|
121
125
|
const $xeDrawer = (0, _vue.inject)('$xeDrawer', null);
|
|
122
126
|
const $xeTable = (0, _vue.inject)('$xeTable', null);
|
|
127
|
+
const $xeTree = (0, _vue.inject)('$xeTree', null);
|
|
123
128
|
const $xeForm = (0, _vue.inject)('$xeForm', null);
|
|
124
129
|
const $xeButtonGroup = (0, _vue.inject)('$xeButtonGroup', null);
|
|
125
130
|
const xID = _xeUtils.default.uniqueId();
|
|
@@ -166,7 +171,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
166
171
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
167
172
|
return globalTransfer;
|
|
168
173
|
}
|
|
169
|
-
if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
|
|
174
|
+
if ($xeTable || $xeTree || $xeModal || $xeDrawer || $xeForm) {
|
|
170
175
|
return true;
|
|
171
176
|
}
|
|
172
177
|
}
|
|
@@ -600,7 +605,8 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
600
605
|
type,
|
|
601
606
|
destroyOnClose,
|
|
602
607
|
name,
|
|
603
|
-
loading
|
|
608
|
+
loading,
|
|
609
|
+
showDropdownIcon
|
|
604
610
|
} = props;
|
|
605
611
|
const {
|
|
606
612
|
initialized,
|
|
@@ -660,9 +666,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
660
666
|
onClick: clickTargetEvent
|
|
661
667
|
}, btnOns), {
|
|
662
668
|
default() {
|
|
663
|
-
return renderContent().concat([(0, _vue.h)('i', {
|
|
669
|
+
return renderContent().concat(showDropdownIcon ? [(0, _vue.h)('i', {
|
|
664
670
|
class: `vxe-button--dropdown-arrow ${(0, _ui.getIcon)().BUTTON_DROPDOWN}`
|
|
665
|
-
})]);
|
|
671
|
+
})] : []);
|
|
666
672
|
}
|
|
667
673
|
}) : (0, _vue.h)('button', Object.assign({
|
|
668
674
|
ref: refButton,
|
|
@@ -681,9 +687,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
681
687
|
type: isFormBtn ? type : 'button',
|
|
682
688
|
disabled: btnDisabled || loading,
|
|
683
689
|
onClick: clickTargetEvent
|
|
684
|
-
}, btnOns), renderContent().concat([(0, _vue.h)('i', {
|
|
690
|
+
}, btnOns), renderContent().concat(showDropdownIcon ? [(0, _vue.h)('i', {
|
|
685
691
|
class: `vxe-button--dropdown-arrow ${(0, _ui.getIcon)().BUTTON_DROPDOWN}`
|
|
686
|
-
})])), (0, _vue.h)(_vue.Teleport, {
|
|
692
|
+
})] : [])), (0, _vue.h)(_vue.Teleport, {
|
|
687
693
|
to: 'body',
|
|
688
694
|
disabled: btnTransfer ? !initialized : true
|
|
689
695
|
}, [(0, _vue.h)('div', Object.assign({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(O)["computeSize"],w=(0,_ui.usePermission)(O)["computePermissionInfo"],I=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),a={showTime:void 0,tooltipTimeout:void 0},S=(0,_vue.ref)(),z=(0,_vue.ref)(),B=(0,_vue.ref)(),r={refElem:S},j={xID:t,props:O,context:e,reactData:I,internalData:a,getRefMaps:()=>r};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||n||o||s)return!0}return e}),$=(0,_vue.computed)(()=>{var e=O["disabled"],t=w.value;return e||t.disabled}),E=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),M=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),U=(0,_vue.computed)(()=>{var e=O["status"];return e||(l?l.props.status:"")}),q=(0,_vue.computed)(()=>{var e=O["align"];return e||!!l&&l.props.align}),W=(0,_vue.computed)(()=>{var e=O["round"];return e||!!l&&l.props.round}),Z=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!l&&l.props.circle}),J=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),d=()=>{var e=O["zIndex"];e?I.panelIndex=e:I.panelIndex<(0,_utils.getLastZIndex)()&&(I.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=I["panelIndex"],o=z.value,u=B.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});I.panelStyle=t,I.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},A=e=>{l&&l.handleClick({name:O.name},e),H("click",{$event:e},e)},K=e=>{0===e.button&&e.stopPropagation()},Q=e=>{var t=e.currentTarget;const n=B.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),I.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(I.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},D=()=>{const e=B.value;e&&(e.dataset.active="Y",I.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(I.visiblePanel=!0,d(),v(),setTimeout(()=>{I.visiblePanel&&v()},50))},20))},X=e=>{var t=O["loading"];$.value||t||(c(),R(e))},ee=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;$.value||t||("click"===n&&(I.visiblePanel?Y:c)(),A(e))},c=()=>{var e=O["trigger"];const t=B.value;return t&&(t.dataset.active="Y",I.initialized||(I.initialized=!0),a.showTime=setTimeout(()=>{"Y"===t.dataset.active?D():I.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=B.value;return clearTimeout(a.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(I.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(I.isAniVisible=!1)},350))},100)):(I.isAniVisible=!1,I.visiblePanel=!1),(0,_vue.nextTick)()},te=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=b.value,r=_.value,v=N.prefix||N.icon,c=N.suffix,d=N.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},v({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:j})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},c({}))):u?(v=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},v?(0,_vn.getSlotVNs)(v(u,{$button:j})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:j},t))},p=(t={dispatchEvent:H,openPanel:c,closePanel:Y,focus(){var e=z.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=z.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=B.value;I.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),x=e=>{var t,n=$.value,i=I["visiblePanel"];n||(n=S.value,t=B.value,I.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!I.isActivated&&Y())},f=()=>{var e=I["visiblePanel"];e&&v()};Object.assign(j,t);return j.renderVN=()=>{var{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a}=O,{initialized:r,isAniVisible:v,visiblePanel:c}=I,d=E.value;const p=M.value;var m=U.value;const b=W.value;var _=q.value;const x=Z.value;var f,g=V.value,h=$.value,T=w.value,y=J.value,C=P.value,k=N.dropdowns;return T.visible?k||y.length?(T={},f={},"hover"===n&&(T.onMouseenter=X,T.onMouseleave=ee,f.onMouseenter=D,f.onMouseleave=te),(0,_vue.h)("div",{ref:S,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,"is--active":c}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:z,class:["vxe-button","vxe-button--link","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:L},T),{default(){return G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])}}):(0,_vue.h)("button",Object.assign({ref:z,class:["vxe-button","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:L},T),G().concat([(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!g||!r},[(0,_vue.h)("div",Object.assign({ref:B,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:j}):t:"",{["size--"+C]:C,"is--transfer":g,"ani--leave":v,"ani--enter":c}],placement:I.panelPlacement,style:I.panelStyle},f),r&&(c||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:K,onClick:Q},r&&(!s||c||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},r&&(!s||c||v)?y.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||p,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==p&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==p&&x,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:z,class:["vxe-button","vxe-button--link","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,to:o,onClick:A,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:z,class:["vxe-button","type--"+p,_?"align--"+_:"",e?_xeUtils.default.isFunction(e)?e({$button:j}):e:"",{["size--"+C]:C,["theme--"+m]:m,"is--round":b,"is--circle":x,"is--disabled":h||a,"is--loading":a}],title:i,name:l,type:d?u:"button",disabled:h||a,onClick:A,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)(j)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on(j,"mousewheel",p),_ui.globalEvents.on(j,"mousedown",x),_ui.globalEvents.on(j,"resize",f)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"resize")}),j},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick"],setup(O,e){const{slots:I,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeTree",null),l=(0,_vue.inject)("$xeForm",null),a=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const N=(0,_ui.useSize)(O)["computeSize"],P=(0,_ui.usePermission)(O)["computePermissionInfo"],S=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},B=(0,_vue.ref)(),j=(0,_vue.ref)(),z=(0,_vue.ref)(),c={refElem:B},$={xID:t,props:O,context:e,reactData:S,internalData:r,getRefMaps:()=>c};const V=(0,_vue.computed)(()=>{var e=O["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||s||n||o||l)return!0}return e}),E=(0,_vue.computed)(()=>{var e=O["disabled"],t=P.value;return e||t.disabled}),M=(0,_vue.computed)(()=>{var e=O["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),U=(0,_vue.computed)(()=>{var{type:e,mode:t}=O;return"text"===t||"text"===e||a&&"text"===a.props.mode?"text":"button"}),D=(0,_vue.computed)(()=>{var e=O["status"];return e||(a?a.props.status:"")}),W=(0,_vue.computed)(()=>{var e=O["align"];return e||!!a&&a.props.align}),Z=(0,_vue.computed)(()=>{var e=O["round"];return e||!!a&&a.props.round}),J=(0,_vue.computed)(()=>{var e=O["circle"];return e||!!a&&a.props.circle}),K=(0,_vue.computed)(()=>{var e=O["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,O.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,O.suffixTooltip)),p=()=>{var e=O["zIndex"];e?S.panelIndex=e:S.panelIndex<(0,_utils.getLastZIndex)()&&(S.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=O["placement"],i=S["panelIndex"],o=j.value,u=z.value,s=V.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});S.panelStyle=t,S.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{a&&a.handleClick({name:O.name},e),H("click",{$event:e},e)},Q=e=>{0===e.button&&e.stopPropagation()},X=e=>{var t=e.currentTarget;const n=z.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),S.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(S.isAniVisible=!1)},350),H("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{const e=z.value;e&&(e.dataset.active="Y",S.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(S.visiblePanel=!0,p(),v(),setTimeout(()=>{S.visiblePanel&&v()},50))},20))},ee=e=>{var t=O["loading"];E.value||t||(d(),R(e))},te=e=>{Y(),F(e)},R=e=>{H("mouseenter",{},e)},F=e=>{H("mouseleave",{},e)},L=e=>{var{loading:t,trigger:n}=O;E.value||t||("click"===n&&(S.visiblePanel?Y:d)(),q(e))},d=()=>{var e=O["trigger"];const t=z.value;return t&&(t.dataset.active="Y",S.initialized||(S.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():S.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},Y=()=>{const e=z.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(S.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(S.isAniVisible=!1)},350))},100)):(S.isAniVisible=!1,S.visiblePanel=!1),(0,_vue.nextTick)()},ne=()=>{Y()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),G=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=O,s=O.prefixIcon||O.icon,l=O.prefixRender||O.iconRender,a=_.value,r=b.value,c=I.prefix||I.icon,v=I.suffix,d=I.default,p=[];return i&&p.push(m(a,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},c({}))):l?(a=(i=_ui.renderer.get(l.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},a?(0,_vn.getSlotVNs)(a(l,{$button:$})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},v({}))):u?(c=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},c?(0,_vn.getSlotVNs)(c(u,{$button:$})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},H=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:$},t))},x=(t={dispatchEvent:H,openPanel:d,closePanel:Y,focus(){var e=j.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=j.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=z.value;S.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&Y()}),f=e=>{var t,n=E.value,i=S["visiblePanel"];n||(n=B.value,t=z.value,S.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!S.isActivated&&Y())},g=()=>{var e=S["visiblePanel"];e&&v()};Object.assign($,t);return $.renderVN=()=>{const{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:l,loading:a,showDropdownIcon:r}=O;var{initialized:c,isAniVisible:v,visiblePanel:d}=S,p=M.value;const m=U.value;var _=D.value;const b=Z.value;var x=W.value;const f=J.value;var g,h=V.value,T=E.value,y=P.value,C=K.value,w=N.value,k=I.dropdowns;return y.visible?k||C.length?(y={},g={},"hover"===n&&(y.onMouseenter=ee,y.onMouseleave=te,g.onMouseenter=A,g.onMouseleave=ne),(0,_vue.h)("div",{ref:B,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,"is--active":d}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:L},y),{default(){return G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:L},y),G().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!c},[(0,_vue.h)("div",Object.assign({ref:z,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:$}):t:"",{["size--"+w]:w,"is--transfer":h,"ani--leave":v,"ani--enter":d}],placement:S.panelPlacement,style:S.panelStyle},g),c&&(d||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:Q,onClick:X},c&&(!s||d||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},c&&(!s||d||v)?C.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||m,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==m&&f,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,Y(),H("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:j,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,to:o,onClick:q,onMouseenter:R,onMouseleave:F},{default(){return G()}}):(0,_vue.h)("button",{ref:j,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+w]:w,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--disabled":T||a,"is--loading":a}],title:i,name:l,type:p?u:"button",disabled:T||a,onClick:q,onMouseenter:R,onMouseleave:F},G()):(0,_ui.renderEmptyElement)($)},(0,_vue.onMounted)(()=>{"text"===O.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on($,"mousewheel",x),_ui.globalEvents.on($,"mousedown",f),_ui.globalEvents.on($,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off($,"mousewheel"),_ui.globalEvents.off($,"mousedown"),_ui.globalEvents.off($,"resize")}),$},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
package/lib/components.js
CHANGED
|
@@ -293,6 +293,18 @@ Object.keys(_colorPicker).forEach(function (key) {
|
|
|
293
293
|
}
|
|
294
294
|
});
|
|
295
295
|
});
|
|
296
|
+
var _contextMenu = _interopRequireWildcard(require("./context-menu"));
|
|
297
|
+
Object.keys(_contextMenu).forEach(function (key) {
|
|
298
|
+
if (key === "default" || key === "__esModule") return;
|
|
299
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
300
|
+
if (key in exports && exports[key] === _contextMenu[key]) return;
|
|
301
|
+
Object.defineProperty(exports, key, {
|
|
302
|
+
enumerable: true,
|
|
303
|
+
get: function () {
|
|
304
|
+
return _contextMenu[key];
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
});
|
|
296
308
|
var _countdown = _interopRequireWildcard(require("./countdown"));
|
|
297
309
|
Object.keys(_countdown).forEach(function (key) {
|
|
298
310
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1096,7 +1108,7 @@ const {
|
|
|
1096
1108
|
setTheme,
|
|
1097
1109
|
setConfig
|
|
1098
1110
|
} = _ui.VxeUI;
|
|
1099
|
-
const components = [_alert.default, _anchor.default, _anchorLink.default, _avatar.default, _backtop.default, _badge.default, _breadcrumb.default, _breadcrumbItem.default, _button.default, _buttonGroup.default, _calendar.default, _card.default, _carousel.default, _carouselItem.default, _cascader.default, _checkbox.default, _checkboxButton.default, _checkboxGroup.default, _col.default, _collapse.default, _collapsePane.default, _colorPicker.default, _countdown.default, _datePanel.default, _datePicker.default, _dateRangePicker.default, _drawer.default, _empty.default, _form.default, _formGather.default, _formGroup.default, _formItem.default, _icon.default, _iconPicker.default, _image.default, _imageGroup.default, _imagePreview.default, _input.default, _layoutAside.default, _layoutBody.default, _layoutContainer.default, _layoutFooter.default, _layoutHeader.default, _link.default, _list.default, _loading.default, _menu.default, _modal.default, _noticeBar.default, _numberInput.default, _optgroup.default, _option.default, _pager.default, _passwordInput.default, _printPageBreak.default, _print.default, _pulldown.default, _radio.default, _radioButton.default, _radioGroup.default, _rate.default, _result.default, _row.default, _segmented.default, _select.default, _splitter.default, _splitterPanel.default, _split.default, _splitPane.default, _slider.default, _steps.default, _switch.default, _tabPane.default, _tableSelect.default, _tabs.default, _tag.default, _textEllipsis.default, _text.default, _textarea.default, _timeline.default, _timelineItem.default, _tip.default, _tooltip.default, _tour.default, _tree.default, _treeSelect.default, _upload.default, _watermark.default];
|
|
1111
|
+
const components = [_alert.default, _anchor.default, _anchorLink.default, _avatar.default, _backtop.default, _badge.default, _breadcrumb.default, _breadcrumbItem.default, _button.default, _buttonGroup.default, _calendar.default, _card.default, _carousel.default, _carouselItem.default, _cascader.default, _checkbox.default, _checkboxButton.default, _checkboxGroup.default, _col.default, _collapse.default, _collapsePane.default, _colorPicker.default, _contextMenu.default, _countdown.default, _datePanel.default, _datePicker.default, _dateRangePicker.default, _drawer.default, _empty.default, _form.default, _formGather.default, _formGroup.default, _formItem.default, _icon.default, _iconPicker.default, _image.default, _imageGroup.default, _imagePreview.default, _input.default, _layoutAside.default, _layoutBody.default, _layoutContainer.default, _layoutFooter.default, _layoutHeader.default, _link.default, _list.default, _loading.default, _menu.default, _modal.default, _noticeBar.default, _numberInput.default, _optgroup.default, _option.default, _pager.default, _passwordInput.default, _printPageBreak.default, _print.default, _pulldown.default, _radio.default, _radioButton.default, _radioGroup.default, _rate.default, _result.default, _row.default, _segmented.default, _select.default, _splitter.default, _splitterPanel.default, _split.default, _splitPane.default, _slider.default, _steps.default, _switch.default, _tabPane.default, _tableSelect.default, _tabs.default, _tag.default, _textEllipsis.default, _text.default, _textarea.default, _timeline.default, _timelineItem.default, _tip.default, _tooltip.default, _tour.default, _tree.default, _treeSelect.default, _upload.default, _watermark.default];
|
|
1100
1112
|
function install(app, options) {
|
|
1101
1113
|
setConfig(options);
|
|
1102
1114
|
components.forEach(component => app.use(component));
|