vxe-pc-ui 3.20.6 → 3.20.7
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/icon/style.css +1 -1
- package/es/scrollbar/src/scrollbar.js +22 -2
- package/es/scrollbar/style.css +11 -0
- package/es/scrollbar/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +5 -3
- package/es/tooltip/src/tooltip.js +47 -7
- package/es/tooltip/style.css +2 -1
- package/es/tooltip/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-scrollbar/style.css +11 -0
- package/es/vxe-scrollbar/style.min.css +1 -1
- package/es/vxe-tooltip/style.css +2 -1
- package/es/vxe-tooltip/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +3248 -2967
- package/lib/index.umd.min.js +1 -1
- package/lib/scrollbar/src/scrollbar.js +27 -2
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/scrollbar/style/style.css +11 -0
- package/lib/scrollbar/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +41 -33
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +79 -28
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tooltip/style/style.css +2 -1
- package/lib/tooltip/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- 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-scrollbar/style/style.css +11 -0
- package/lib/vxe-scrollbar/style/style.min.css +1 -1
- package/lib/vxe-tooltip/style/style.css +2 -1
- package/lib/vxe-tooltip/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/scrollbar/src/scrollbar.ts +24 -2
- package/packages/tabs/src/tabs.ts +6 -3
- package/packages/tooltip/src/tooltip.ts +49 -8
- package/styles/components/scrollbar.scss +15 -1
- package/styles/components/tooltip.scss +2 -1
- package/types/components/scrollbar.d.ts +19 -1
- package/types/components/table.d.ts +1 -0
- package/types/components/tooltip.d.ts +21 -0
- /package/es/icon/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
- /package/es/icon/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
- /package/es/icon/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
- /package/es/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
- /package/es/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
- /package/es/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
- /package/lib/{iconfont.1792054426799.ttf → iconfont.1792080131929.ttf} +0 -0
- /package/lib/{iconfont.1792054426799.woff → iconfont.1792080131929.woff} +0 -0
- /package/lib/{iconfont.1792054426799.woff2 → iconfont.1792080131929.woff2} +0 -0
package/lib/tabs/src/tabs.js
CHANGED
|
@@ -18,6 +18,14 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
18
18
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
19
19
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
20
20
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
21
|
+
var baseUtils = _ui.VxeUI.baseUtils,
|
|
22
|
+
createEvent = _ui.VxeUI.createEvent,
|
|
23
|
+
getConfig = _ui.VxeUI.getConfig,
|
|
24
|
+
getIcon = _ui.VxeUI.getIcon,
|
|
25
|
+
globalEvents = _ui.VxeUI.globalEvents,
|
|
26
|
+
permission = _ui.VxeUI.permission,
|
|
27
|
+
renderEmptyElement = _ui.VxeUI.renderEmptyElement;
|
|
28
|
+
var getDefVal = baseUtils.getDefVal;
|
|
21
29
|
var _createComponentLog = (0, _log.createComponentLog)('tabs'),
|
|
22
30
|
warnLog = _createComponentLog.warnLog,
|
|
23
31
|
errLog = _createComponentLog.errLog;
|
|
@@ -33,7 +41,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
33
41
|
destroyOnClose: {
|
|
34
42
|
type: Boolean,
|
|
35
43
|
default: function _default() {
|
|
36
|
-
return
|
|
44
|
+
return getConfig().tabs.destroyOnClose;
|
|
37
45
|
}
|
|
38
46
|
},
|
|
39
47
|
titleWidth: [String, Number],
|
|
@@ -41,13 +49,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
41
49
|
type: {
|
|
42
50
|
type: String,
|
|
43
51
|
default: function _default() {
|
|
44
|
-
return
|
|
52
|
+
return getConfig().tabs.type;
|
|
45
53
|
}
|
|
46
54
|
},
|
|
47
55
|
position: {
|
|
48
56
|
type: String,
|
|
49
57
|
default: function _default() {
|
|
50
|
-
return
|
|
58
|
+
return getConfig().tabs.position;
|
|
51
59
|
}
|
|
52
60
|
},
|
|
53
61
|
showClose: Boolean,
|
|
@@ -58,7 +66,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
58
66
|
padding: {
|
|
59
67
|
type: Boolean,
|
|
60
68
|
default: function _default() {
|
|
61
|
-
return
|
|
69
|
+
return getConfig().tabs.padding;
|
|
62
70
|
}
|
|
63
71
|
},
|
|
64
72
|
trigger: String,
|
|
@@ -68,13 +76,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
68
76
|
size: {
|
|
69
77
|
type: String,
|
|
70
78
|
default: function _default() {
|
|
71
|
-
return
|
|
79
|
+
return getConfig().tabs.size || getConfig().size;
|
|
72
80
|
}
|
|
73
81
|
},
|
|
74
82
|
useScrollbar: {
|
|
75
83
|
type: Boolean,
|
|
76
84
|
default: function _default() {
|
|
77
|
-
return (
|
|
85
|
+
return getDefVal(getConfig().tabs.useScrollbar, getConfig().useScrollbar);
|
|
78
86
|
}
|
|
79
87
|
},
|
|
80
88
|
scrollbarConfig: Object,
|
|
@@ -174,12 +182,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
174
182
|
computeCloseOpts: function computeCloseOpts() {
|
|
175
183
|
var $xeTabs = this;
|
|
176
184
|
var props = $xeTabs;
|
|
177
|
-
return Object.assign({},
|
|
185
|
+
return Object.assign({}, getConfig().tabs.closeConfig, props.closeConfig);
|
|
178
186
|
},
|
|
179
187
|
computeRefreshOpts: function computeRefreshOpts() {
|
|
180
188
|
var $xeTabs = this;
|
|
181
189
|
var props = $xeTabs;
|
|
182
|
-
return Object.assign({},
|
|
190
|
+
return Object.assign({}, getConfig().tabs.refreshConfig, props.refreshConfig);
|
|
183
191
|
},
|
|
184
192
|
computeTabOptions: function computeTabOptions() {
|
|
185
193
|
var $xeTabs = this;
|
|
@@ -200,7 +208,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
200
208
|
computeScrollbarOpts: function computeScrollbarOpts() {
|
|
201
209
|
var $xeTabs = this;
|
|
202
210
|
var props = $xeTabs;
|
|
203
|
-
return Object.assign({},
|
|
211
|
+
return Object.assign({}, getConfig().tabs.scrollbarConfig, props.scrollbarConfig);
|
|
204
212
|
},
|
|
205
213
|
computeScrollbarProps: function computeScrollbarProps() {
|
|
206
214
|
var $xeTabs = this;
|
|
@@ -227,7 +235,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
227
235
|
//
|
|
228
236
|
dispatchEvent: function dispatchEvent(type, params, evnt) {
|
|
229
237
|
var $xeTabs = this;
|
|
230
|
-
$xeTabs.$emit(type,
|
|
238
|
+
$xeTabs.$emit(type, createEvent(evnt, {
|
|
231
239
|
$tabs: $xeTabs
|
|
232
240
|
}, params));
|
|
233
241
|
},
|
|
@@ -262,7 +270,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
262
270
|
handleFilterTab: function handleFilterTab(item) {
|
|
263
271
|
var permissionCode = item.permissionCode;
|
|
264
272
|
if (permissionCode) {
|
|
265
|
-
if (!
|
|
273
|
+
if (!permission.checkVisible(permissionCode)) {
|
|
266
274
|
return false;
|
|
267
275
|
}
|
|
268
276
|
}
|
|
@@ -445,7 +453,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
445
453
|
var props = $xeTabs;
|
|
446
454
|
var reactData = $xeTabs.reactData;
|
|
447
455
|
var trigger = props.trigger;
|
|
448
|
-
var beforeMethod = props.beforeChangeMethod ||
|
|
456
|
+
var beforeMethod = props.beforeChangeMethod || getConfig().tabs.beforeChangeMethod;
|
|
449
457
|
var activeName = reactData.activeName;
|
|
450
458
|
var name = item.name;
|
|
451
459
|
var value = name;
|
|
@@ -537,7 +545,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
537
545
|
evnt.stopPropagation();
|
|
538
546
|
var activeName = reactData.activeName;
|
|
539
547
|
var closeOpts = $xeTabs.computeCloseOpts;
|
|
540
|
-
var beforeMethod = closeOpts.beforeMethod || props.beforeCloseMethod ||
|
|
548
|
+
var beforeMethod = closeOpts.beforeMethod || props.beforeCloseMethod || getConfig().tabs.beforeCloseMethod;
|
|
541
549
|
var name = item.name;
|
|
542
550
|
var value = activeName;
|
|
543
551
|
var nextName = value;
|
|
@@ -769,15 +777,15 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
769
777
|
class: ['vxe-tabs-header--prefix', "type--".concat(tabType), "pos--".concat(tabPosition)]
|
|
770
778
|
}, $xeTabs.callSlot(tabPrefixSlot, {
|
|
771
779
|
name: activeName
|
|
772
|
-
}, h)) :
|
|
780
|
+
}, h)) : renderEmptyElement($xeTabs), isTabOver ? h('div', {
|
|
773
781
|
ref: 'refHeadPrevElem',
|
|
774
782
|
class: ['vxe-tabs-header--bar vxe-tabs-header--prev-bar', "type--".concat(tabType), "pos--".concat(tabPosition)],
|
|
775
783
|
on: {
|
|
776
784
|
click: $xeTabs.scrollLeftEvent
|
|
777
785
|
}
|
|
778
786
|
}, [h('span', {
|
|
779
|
-
class: lrPosition ?
|
|
780
|
-
})]) :
|
|
787
|
+
class: lrPosition ? getIcon().TABS_TAB_BUTTON_TOP : getIcon().TABS_TAB_BUTTON_LEFT
|
|
788
|
+
})]) : renderEmptyElement($xeTabs), h('div', {
|
|
781
789
|
class: ['vxe-tabs-header--wrapper', "type--".concat(tabType), "pos--".concat(tabPosition)]
|
|
782
790
|
}, [h('div', {
|
|
783
791
|
ref: 'refHeadWrapperElem',
|
|
@@ -834,12 +842,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
834
842
|
class: 'vxe-tabs-header--item-icon'
|
|
835
843
|
}, [h('i', {
|
|
836
844
|
class: icon
|
|
837
|
-
})]) :
|
|
845
|
+
})]) : renderEmptyElement($xeTabs), titlePrefixSlot ? h('span', {
|
|
838
846
|
class: 'vxe-tabs-header--item-prefix'
|
|
839
847
|
}, $xeTabs.callSlot(titlePrefixSlot, {
|
|
840
848
|
name: name,
|
|
841
849
|
title: title
|
|
842
|
-
}, h)) :
|
|
850
|
+
}, h)) : renderEmptyElement($xeTabs), h('span', {
|
|
843
851
|
class: 'vxe-tabs-header--item-name'
|
|
844
852
|
}, titleSlot ? $xeTabs.callSlot(titleSlot, {
|
|
845
853
|
name: name,
|
|
@@ -849,7 +857,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
849
857
|
}, $xeTabs.callSlot(titleSuffixSlot, {
|
|
850
858
|
name: name,
|
|
851
859
|
title: title
|
|
852
|
-
}, h)) :
|
|
860
|
+
}, h)) : renderEmptyElement($xeTabs)]), ((0, _utils.isEnableConf)(refreshConfig) || refreshOpts.enabled) && (refreshVisibleMethod ? refreshVisibleMethod(params) : true) ? h('div', {
|
|
853
861
|
class: ['vxe-tabs-header--refresh-btn', {
|
|
854
862
|
'is--active': isActive,
|
|
855
863
|
'is--loading': isLoading,
|
|
@@ -861,8 +869,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
861
869
|
}
|
|
862
870
|
}
|
|
863
871
|
}, [h('i', {
|
|
864
|
-
class: isLoading ?
|
|
865
|
-
})]) :
|
|
872
|
+
class: isLoading ? getIcon().TABS_TAB_REFRESH_LOADING : getIcon().TABS_TAB_REFRESH
|
|
873
|
+
})]) : renderEmptyElement($xeTabs), (showClose || (0, _utils.isEnableConf)(closeConfig) || closeOpts.enabled) && (!closeVisibleMethod || closeVisibleMethod(params)) ? h('div', {
|
|
866
874
|
class: ['vxe-tabs-header--close-btn', {
|
|
867
875
|
'is--active': isActive
|
|
868
876
|
}],
|
|
@@ -872,8 +880,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
872
880
|
}
|
|
873
881
|
}
|
|
874
882
|
}, [h('i', {
|
|
875
|
-
class:
|
|
876
|
-
})]) :
|
|
883
|
+
class: getIcon().TABS_TAB_CLOSE
|
|
884
|
+
})]) : renderEmptyElement($xeTabs)])]);
|
|
877
885
|
}).concat([h('span', {
|
|
878
886
|
key: 'line',
|
|
879
887
|
class: ['vxe-tabs-header--active-line', "type--".concat(tabType), "pos--".concat(tabPosition)],
|
|
@@ -885,12 +893,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
885
893
|
click: $xeTabs.scrollRightEvent
|
|
886
894
|
}
|
|
887
895
|
}, [h('span', {
|
|
888
|
-
class: lrPosition ?
|
|
889
|
-
})]) :
|
|
896
|
+
class: lrPosition ? getIcon().TABS_TAB_BUTTON_BOTTOM : getIcon().TABS_TAB_BUTTON_RIGHT
|
|
897
|
+
})]) : renderEmptyElement($xeTabs), tabSuffixSlot ? h('div', {
|
|
890
898
|
class: ['vxe-tabs-header--suffix', "type--".concat(tabType), "pos--".concat(tabPosition)]
|
|
891
899
|
}, $xeTabs.callSlot(tabSuffixSlot, {
|
|
892
900
|
name: activeName
|
|
893
|
-
}, h)) :
|
|
901
|
+
}, h)) : renderEmptyElement($xeTabs)]);
|
|
894
902
|
},
|
|
895
903
|
renderTabPane: function renderTabPane(h, item) {
|
|
896
904
|
var $xeTabs = this;
|
|
@@ -926,7 +934,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
926
934
|
name: name
|
|
927
935
|
}, h) : []);
|
|
928
936
|
}
|
|
929
|
-
return
|
|
937
|
+
return renderEmptyElement($xeTabs);
|
|
930
938
|
},
|
|
931
939
|
renderTabContent: function renderTabContent(h, tabList) {
|
|
932
940
|
var $xeTabs = this;
|
|
@@ -938,7 +946,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
938
946
|
var activeTab = tabList.find(function (item) {
|
|
939
947
|
return item.name === activeName;
|
|
940
948
|
});
|
|
941
|
-
return [activeTab ? $xeTabs.renderTabPane(h, activeTab) :
|
|
949
|
+
return [activeTab ? $xeTabs.renderTabPane(h, activeTab) : renderEmptyElement($xeTabs)];
|
|
942
950
|
}
|
|
943
951
|
return tabList.map(function (item) {
|
|
944
952
|
return $xeTabs.renderTabPane(h, item);
|
|
@@ -962,7 +970,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
962
970
|
var headerpSlot = slots.header;
|
|
963
971
|
var footerSlot = slots.footer;
|
|
964
972
|
if (!showBody) {
|
|
965
|
-
return
|
|
973
|
+
return renderEmptyElement($xeTabs);
|
|
966
974
|
}
|
|
967
975
|
var cacheItem = activeName ? cacheTabMaps["".concat(activeName)] : null;
|
|
968
976
|
var isLoading = cacheItem ? cacheItem.loading : false;
|
|
@@ -976,11 +984,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
976
984
|
}]
|
|
977
985
|
}, [headerpSlot ? h('div', {
|
|
978
986
|
class: 'vxe-tabs-pane--header'
|
|
979
|
-
}, $xeTabs.callSlot(headerpSlot, defParams, h)) :
|
|
987
|
+
}, $xeTabs.callSlot(headerpSlot, defParams, h)) : renderEmptyElement($xeTabs), h('div', {
|
|
980
988
|
class: ['vxe-tabs-pane--body', "type--".concat(tabType), "pos--".concat(tabPosition), _defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--padding', padding), 'is--height', height)]
|
|
981
989
|
}, $xeTabs.renderTabContent(h, tabList)), footerSlot ? h('div', {
|
|
982
990
|
class: 'vxe-tabs-pane--footer'
|
|
983
|
-
}, $xeTabs.callSlot(footerSlot, defParams, h)) :
|
|
991
|
+
}, $xeTabs.callSlot(footerSlot, defParams, h)) : renderEmptyElement($xeTabs), showLoading && isLoading ? renderEmptyElement($xeTabs) : h(_loading.default, {
|
|
984
992
|
class: 'vxe-tabs--loading',
|
|
985
993
|
props: {
|
|
986
994
|
value: isLoading
|
|
@@ -1068,11 +1076,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1068
1076
|
mounted: function mounted() {
|
|
1069
1077
|
var $xeTabs = this;
|
|
1070
1078
|
$xeTabs.updateTabStyle();
|
|
1071
|
-
|
|
1079
|
+
globalEvents.on($xeTabs, 'resize', $xeTabs.updateTabStyle);
|
|
1072
1080
|
},
|
|
1073
1081
|
beforeDestroy: function beforeDestroy() {
|
|
1074
1082
|
var $xeTabs = this;
|
|
1075
|
-
|
|
1083
|
+
globalEvents.off($xeTabs, 'resize');
|
|
1076
1084
|
},
|
|
1077
1085
|
render: function render(h) {
|
|
1078
1086
|
return this.renderVN(h);
|
package/lib/tabs/src/tabs.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}var _createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return(0,_ui.getConfig)().tabs.type}},position:{type:String,default:function(){return(0,_ui.getConfig)().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return(0,_ui.getConfig)().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return(0,_ui.getConfig)().tabs.size||(0,_ui.getConfig)().size}},useScrollbar:{type:Boolean,default:function(){return(0,_utils.getDefaultConfig)((0,_ui.getConfig)().tabs.useScrollbar,(0,_ui.getConfig)().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,i=e.lintWidth,a=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(a,"px")}:{left:"".concat(t,"px"),width:"".concat(i,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,i={};return e&&(i.width=(0,_dom.toCssUnit)(e)),t&&(i.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),i},computeCloseOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},(0,_ui.getConfig)().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,(0,_ui.createEvent)(i,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!_ui.permission.checkVisible(e))},callSlot:function(e,t,i){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,i)):[]},checkScrolling:function(){var e,t,i,a,n,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,i=r.clientWidth,a=r.clientHeight,n=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?a<r-Math.ceil(t):i<n-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,i,a,n=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===n}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,i=l.offsetHeight,a=l.scrollHeight,m=t-(t=l.clientWidth),h=i-(i=l.clientHeight),c?(b=a!==i,-1<s&&(l=r[s])&&(c=l.clientHeight,a=l.clientWidth,p="card"===o?(u=a,f=c,l.offsetTop):"border-card"===o?(u=a,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(i=r[s])&&(a=i.clientWidth,d="card"===o?(u=a+1,i.offsetLeft):"border-card"===o?(u=a,i.offsetLeft-1):(u=Math.max(4,Math.floor(.6*a)),i.offsetLeft+Math.floor((a-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var i=this.reactData.initNames;return!(!e||i.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),i.push(e),0))},initDefaultName:function(e){var i,a=this,t=a.reactData,n=null,o={};e&&e.length&&(i=!1,n=a.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},n===t&&(i=!0),e)&&a.addInitName(t,null)}),i||(n=e[0].name,a.addInitName(n,null),a.emitModel(n))),t.activeName=n,t.cacheTabMaps=o},clickEvent:function(t,i){var a=this,n=a.reactData,e=a.trigger,o=a.beforeChangeMethod||(0,_ui.getConfig)().tabs.beforeChangeMethod,r=n.activeName,s=i.name,l=s;a.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:a,name:s,oldName:r,newName:s,option:i})).then(function(e){e?(n.activeName=s,a.emitModel(l),a.addInitName(s,t),a.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:i},t),a.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:i},t)):a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)}).catch(function(){a.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:i},t)})},handleRefreshTabEvent:function(e,t){var i=this.reactData,e=(e.stopPropagation(),i.activeName),i=i.cacheTabMaps,a=t.name,n=this.computeRefreshOpts.queryMethod,o=a?i["".concat(a)]:null;o&&!o.loading&&(n?(o.loading=!0,Promise.resolve(n({$tabs:this,value:e,name:a,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,i,a){var n=this,o=n,r=n.reactData,r=(t.stopPropagation(),r.activeName),o=n.computeCloseOpts.beforeMethod||o.beforeCloseMethod||(0,_ui.getConfig)().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=i<a.length-1?a[i+1]:a[i-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:n,value:l,name:s,nextName:c,option:e})).then(function(e){e?n.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){n.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,i=r.scrollWidth,a=r.scrollHeight,n=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<a&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+n<i&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<n&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,i=this.computeLrPosition,a=this.$refs.refHeadWrapperElem;a&&(t=a.clientWidth,a=a.clientHeight,i=Math.floor(.75*(i?a:t)),this.startScrollAnimation(e,i))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,i,a,n,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(i=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,n=r.clientHeight,i=r.children[i])&&(f?(0<(n=(a=i.offsetTop)+i.clientHeight-(o+n))&&(r.scrollTop+=n),a<o&&(r.scrollTop=a)):(0<(o=(n=i.offsetLeft)+i.clientWidth-(e+t))&&(r.scrollLeft+=o),n<e&&(r.scrollLeft=n))),l.updateTabStyle())})},handlePrevNext:function(e){var t,i=this,a=i.reactData,n=a.activeName,o=i.computeTabStaticOptions,o=o.length?o:i.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===n});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,a.activeName=e,i.emitModel(e),i.addInitName(e,null)),i.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,_=h.refreshConfig,y=t.activeName,i=t.scrollbarWidth,a=t.scrollbarHeight,n=t.isTabOver,x=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:y},p)):(0,_ui.renderEmptyElement)(h),n?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_TOP:(0,_ui.getIcon)().TABS_TAB_BUTTON_LEFT})]):(0,_ui.renderEmptyElement)(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(i+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(a+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,i){var e=t.title,a=t.icon,n=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:y,name:n,option:t},f=y===n,d=n?x["".concat(n)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(n),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[a?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:a})]):(0,_ui.renderEmptyElement)(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:n,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:n,title:e},p)):(0,_ui.renderEmptyElement)(h)]),!(0,_utils.isEnableConf)(_)&&!O.enabled||P&&!P(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?(0,_ui.getIcon)().TABS_TAB_REFRESH_LOADING:(0,_ui.getIcon)().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?(0,_ui.renderEmptyElement)(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,i,m)}}},[p("i",{class:(0,_ui.getIcon)().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),n?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?(0,_ui.getIcon)().TABS_TAB_BUTTON_BOTTOM:(0,_ui.getIcon)().TABS_TAB_BUTTON_RIGHT})]):(0,_ui.renderEmptyElement)(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:y},p)):(0,_ui.renderEmptyElement)(h)])},renderTabPane:function(e,t){var i=this,a=i.reactData,n=i.useScrollbar,o=a.initNames,a=a.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=i.computeScrollbarProps;return r&&o.includes(r)?n?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":a===r}],props:t,scopedSlots:{default:function(){return s?i.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":a===r}]},s?i.callSlot(s,{name:r},e):[]):(0,_ui.renderEmptyElement)(i)},renderTabContent:function(t,e){var i=this,a=i.reactData,n=i.destroyOnClose,o=a.activeName;return n?[(a=e.find(function(e){return e.name===o}))?i.renderTabPane(t,a):(0,_ui.renderEmptyElement)(i)]:e.map(function(e){return i.renderTabPane(t,e)})},rendetTabBody:function(e,t){var i=this,a=i.$scopedSlots,n=i.reactData,o=i.height,r=i.padding,s=i.showBody,l=n.activeName,c=i.computeSize,u=i.computeTabType,f=i.computeTabPosition,d=i.computeRefreshOpts.showLoading,p=a.header,a=a.footer;return s?(n=!!(n=l?n.cacheTabMaps["".concat(l)]:null)&&n.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},i.callSlot(p,l,e)):(0,_ui.renderEmptyElement)(i),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},i.renderTabContent(e,t)),a?e("div",{class:"vxe-tabs-pane--footer"},i.callSlot(a,l,e)):(0,_ui.renderEmptyElement)(i),d&&n?(0,_ui.renderEmptyElement)(i):e(_loading.default,{class:"vxe-tabs--loading",props:{value:n}})])):(0,_ui.renderEmptyElement)(i)},renderVN:function(e){var t=this,i=t.$scopedSlots,a=t.height,n=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,i=i.default,f=i?t.computeTabStaticOptions:t.computeTabOptions,i=[e("div",{key:"ts",class:"vxe-tabs-slots"},i?i({name:r}):[])];return"right"===c||"bottom"===c?i.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):i.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",n),"is--height",a)],style:u},i)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),_ui.globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){_ui.globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_log=require("../../ui/src/log"),_loading=_interopRequireDefault(require("../../loading")),_scrollbar=_interopRequireDefault(require("../../scrollbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,a){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var a=e[Symbol.toPrimitive];if(void 0===a)return("string"===t?String:Number)(e);a=a.call(e,t||"default");if("object"!=_typeof(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}var baseUtils=_ui.VxeUI.baseUtils,createEvent=_ui.VxeUI.createEvent,getConfig=_ui.VxeUI.getConfig,getIcon=_ui.VxeUI.getIcon,globalEvents=_ui.VxeUI.globalEvents,permission=_ui.VxeUI.permission,renderEmptyElement=_ui.VxeUI.renderEmptyElement,getDefVal=baseUtils.getDefVal,_createComponentLog=(0,_log.createComponentLog)("tabs"),warnLog=_createComponentLog.warnLog,errLog=_createComponentLog.errLog,scrollbarOffsetSize=20,_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeTabs",mixins:[_ui.globalMixins.sizeMixin],props:{value:[String,Number,Boolean],options:Array,width:[String,Number],height:[String,Number],destroyOnClose:{type:Boolean,default:function(){return getConfig().tabs.destroyOnClose}},titleWidth:[String,Number],titleAlign:[String,Number],type:{type:String,default:function(){return getConfig().tabs.type}},position:{type:String,default:function(){return getConfig().tabs.position}},showClose:Boolean,showBody:{type:Boolean,default:!0},padding:{type:Boolean,default:function(){return getConfig().tabs.padding}},trigger:String,beforeChangeMethod:Function,closeConfig:Object,refreshConfig:Object,size:{type:String,default:function(){return getConfig().tabs.size||getConfig().size}},useScrollbar:{type:Boolean,default:function(){return getDefVal(getConfig().tabs.useScrollbar,getConfig().useScrollbar)}},scrollbarConfig:Object,beforeCloseMethod:Function},inject:{$xeParentTabs:{from:"$xeTabs",default:null}},provide:function(){return{$xeTabs:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{staticTabs:[],activeName:null,initNames:[],lintLeft:0,lintTop:0,lintWidth:0,lintHeight:0,scrollbarWidth:0,scrollbarHeight:0,isTabOver:!1,resizeFlag:1,cacheTabMaps:{}},internalData:{slTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeParentTabsResizeFlag:function(){var e=this.$xeParentTabs;return e?e.reactData.resizeFlag:null},computeTabType:function(){return this.type||"default"},computeTabPosition:function(){return this.position||"top"},computeLrPosition:function(){var e=this.computeTabPosition;return"left"===e||"right"===e},computeLineStyle:function(){var e=this.reactData,t=e.lintLeft,a=e.lintWidth,n=e.lintHeight;return this.computeLrPosition?{top:"".concat(e.lintTop,"px"),height:"".concat(n,"px")}:{left:"".concat(t,"px"),width:"".concat(a,"px")}},computeWrapperStyle:function(){var e=this.width,t=this.height,a={};return e&&(a.width=(0,_dom.toCssUnit)(e)),t&&(a.height="auto"===t?"100%":(0,_dom.toCssUnit)(t)),a},computeCloseOpts:function(){return Object.assign({},getConfig().tabs.closeConfig,this.closeConfig)},computeRefreshOpts:function(){return Object.assign({},getConfig().tabs.refreshConfig,this.refreshConfig)},computeTabOptions:function(){var t=this;return(t.options||[]).filter(function(e){return t.handleFilterTab(e)})},computeTabStaticOptions:function(){var t=this;return t.reactData.staticTabs.filter(function(e){return t.handleFilterTab(e)})},computeScrollbarOpts:function(){return Object.assign({},getConfig().tabs.scrollbarConfig,this.scrollbarConfig)},computeScrollbarProps:function(){var e=this.computeScrollbarOpts,t=e.viewClassName;return{width:e.width,height:e.height,autoHide:e.autoHide,visible:e.visible,xConfig:e.xConfig,yConfig:e.yConfig,className:e.className,viewAttrs:e.viewAttrs,viewClassName:"vxe-tabs-pane--scrollbar-item-view"+(t?" "+t:""),viewInnerClassName:"vxe-tabs-pane--scrollbar-item-inner"+(t?" "+e.viewInnerClassName:"")}}}),methods:{dispatchEvent:function(e,t,a){this.$emit(e,createEvent(a,{$tabs:this},t))},emitModel:function(e){var t=this._events;this.$emit("input",e),t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},prev:function(){return this.handlePrevNext(!1)},next:function(){return this.handlePrevNext(!0)},prevTab:function(){return warnLog("vxe.error.delFunc",["prevTab","prev"]),this.prev()},nextTab:function(){return warnLog("vxe.error.delFunc",["nextTab","next"]),this.next()},handleFilterTab:function(e){e=e.permissionCode;return!(e&&!permission.checkVisible(e))},callSlot:function(e,t,a){var n=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,a)):[]},checkScrolling:function(){var e,t,a,n,i,o=this.computeLrPosition,r=this.$refs.refHeadWrapperElem,s=this.$refs.refHeadPrevElem,l=this.$refs.refHeadNextElem;r&&(e=r.scrollLeft,t=r.scrollTop,a=r.clientWidth,n=r.clientHeight,i=r.scrollWidth,r=r.scrollHeight,s&&(0<(o?t:e)?(0,_dom.addClass):(0,_dom.removeClass))(s,"scrolling--middle"),l)&&((o?n<r-Math.ceil(t):a<i-Math.ceil(e))?(0,_dom.addClass):(0,_dom.removeClass))(l,"scrolling--middle")},updateTabStyle:function(){function e(){var e,t,a,n,i=g.activeName,o=v.computeTabType,r=v.computeTabOptions,s=v.computeTabStaticOptions,l=v.$refs.refHeadWrapperElem,c=v.computeLrPosition,u=0,f=0,d=0,p=0,m=0,h=0,b=!1;l&&(s=_xeUtils.default.findIndexOf(s.length?s:r,function(e){return e.name===i}),r=l.children,t=l.offsetWidth,e=l.scrollWidth,a=l.offsetHeight,n=l.scrollHeight,m=t-(t=l.clientWidth),h=a-(a=l.clientHeight),c?(b=n!==a,-1<s&&(l=r[s])&&(c=l.clientHeight,n=l.clientWidth,p="card"===o?(u=n,f=c,l.offsetTop):"border-card"===o?(u=n,f=c,l.offsetTop-1):(f=Math.max(4,Math.floor(.6*c)),l.offsetTop+Math.floor((c-f)/2)))):(b=e!==t,-1<s&&(a=r[s])&&(n=a.clientWidth,d="card"===o?(u=n+1,a.offsetLeft):"border-card"===o?(u=n,a.offsetLeft-1):(u=Math.max(4,Math.floor(.6*n)),a.offsetLeft+Math.floor((n-u)/2))))),g.scrollbarWidth=m,g.scrollbarHeight=h,g.lintLeft=d,g.lintTop=p,g.lintWidth=u,g.lintHeight=f,g.isTabOver=b,v.checkScrolling()}var v=this,g=v.reactData;e(),v.$nextTick(e)},addInitName:function(e,t){var a=this.reactData.initNames;return!(!e||a.includes(e)||(this.dispatchEvent("tab-load",{name:e},t),a.push(e),0))},initDefaultName:function(e){var a,n=this,t=n.reactData,i=null,o={};e&&e.length&&(a=!1,i=n.value,e.forEach(function(e){var e=e||{},t=e.name,e=e.preload;t&&(o["".concat(t)]={loading:!1},i===t&&(a=!0),e)&&n.addInitName(t,null)}),a||(i=e[0].name,n.addInitName(i,null),n.emitModel(i))),t.activeName=i,t.cacheTabMaps=o},clickEvent:function(t,a){var n=this,i=n.reactData,e=n.trigger,o=n.beforeChangeMethod||getConfig().tabs.beforeChangeMethod,r=i.activeName,s=a.name,l=s;n.dispatchEvent("tab-click",{name:s},t),"manual"!==e&&s!==r&&Promise.resolve(!o||o({$tabs:n,name:s,oldName:r,newName:s,option:a})).then(function(e){e?(i.activeName=s,n.emitModel(l),n.addInitName(s,t),n.dispatchEvent("change",{value:l,name:s,oldName:r,newName:s,option:a},t),n.dispatchEvent("tab-change",{value:l,name:s,oldName:r,newName:s,option:a},t)):n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)}).catch(function(){n.dispatchEvent("tab-change-fail",{value:l,name:s,oldName:r,newName:s,option:a},t)})},handleRefreshTabEvent:function(e,t){var a=this.reactData,e=(e.stopPropagation(),a.activeName),a=a.cacheTabMaps,n=t.name,i=this.computeRefreshOpts.queryMethod,o=n?a["".concat(n)]:null;o&&!o.loading&&(i?(o.loading=!0,Promise.resolve(i({$tabs:this,value:e,name:n,option:t})).finally(function(){o.loading=!1})):errLog("vxe.error.notFunc",["refresh-config.queryMethod"]))},handleCloseTabEvent:function(t,e,a,n){var i=this,o=i,r=i.reactData,r=(t.stopPropagation(),r.activeName),o=i.computeCloseOpts.beforeMethod||o.beforeCloseMethod||getConfig().tabs.beforeCloseMethod,s=e.name,l=r,c=l;r===s&&(r=a<n.length-1?n[a+1]:n[a-1],c=r?r.name:null),Promise.resolve(!o||o({$tabs:i,value:l,name:s,nextName:c,option:e})).then(function(e){e?i.dispatchEvent("tab-close",{value:l,name:s,nextName:c},t):i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)}).catch(function(){i.dispatchEvent("tab-close-fail",{value:l,name:s,nextName:c},t)})},startScrollAnimation:function(s,e){var l=this,c=l.internalData,t=c.slTimeout,u=l.computeLrPosition,f=u?0:e,d=u?e:0,p=6,m=35,h=(t&&(clearTimeout(t),c.slTimeout=void 0),function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;0<p&&(p--,r)&&(e=r.clientWidth,t=r.clientHeight,a=r.scrollWidth,n=r.scrollHeight,i=r.scrollLeft,o=r.scrollTop,u?(d=Math.floor(d/2),0<s?t+o<n&&(r.scrollTop+=d,m-=4,c.slTimeout=setTimeout(h,m)):0<o&&(r.scrollTop-=d,m-=4,c.slTimeout=setTimeout(h,m))):(f=Math.floor(f/2),0<s?e+i<a&&(r.scrollLeft+=f,m-=4,c.slTimeout=setTimeout(h,m)):0<i&&(r.scrollLeft-=f,m-=4,c.slTimeout=setTimeout(h,m))),l.updateTabStyle())});h()},handleScrollToLeft:function(e){var t,a=this.computeLrPosition,n=this.$refs.refHeadWrapperElem;n&&(t=n.clientWidth,n=n.clientHeight,a=Math.floor(.75*(a?n:t)),this.startScrollAnimation(e,a))},scrollLeftEvent:function(){this.handleScrollToLeft(-1)},scrollRightEvent:function(){this.handleScrollToLeft(1)},scrollToTab:function(s){var l=this,c=l.computeTabOptions,u=l.computeTabStaticOptions,f=l.computeLrPosition;return l.$nextTick().then(function(){var e,t,a,n,i,o,r=l.$refs.refHeadWrapperElem;r&&(-1<(a=_xeUtils.default.findIndexOf(u.length?u:c,function(e){return e.name===s}))&&(e=r.scrollLeft,o=r.scrollTop,t=r.clientWidth,i=r.clientHeight,a=r.children[a])&&(f?(0<(i=(n=a.offsetTop)+a.clientHeight-(o+i))&&(r.scrollTop+=i),n<o&&(r.scrollTop=n)):(0<(o=(i=a.offsetLeft)+a.clientWidth-(e+t))&&(r.scrollLeft+=o),i<e&&(r.scrollLeft=i))),l.updateTabStyle())})},handlePrevNext:function(e){var t,a=this,n=a.reactData,i=n.activeName,o=a.computeTabStaticOptions,o=o.length?o:a.computeTabOptions,r=_xeUtils.default.findIndexOf(o,function(e){return e.name===i});return-1<r&&(t=null,e?r<o.length-1&&(t=o[r+1]):0<r&&(t=o[r-1]),t)&&(e=t.name,n.activeName=e,a.emitModel(e),a.addInitName(e,null)),a.$nextTick()},renderTabHeader:function(p,m){var h=this,e=h.$scopedSlots,t=h.reactData,b=h.titleWidth,v=h.titleAlign,g=h.showClose,T=h.closeConfig,y=h.refreshConfig,x=t.activeName,a=t.scrollbarWidth,n=t.scrollbarHeight,i=t.isTabOver,_=t.cacheTabMaps,S=h.computeTabType,E=h.computeTabPosition,t=h.computeLrPosition,o=h.computeLineStyle,r=e.tabPrefix||e["tab-prefix"]||e.prefix,e=e.tabSuffix||e["tab-suffix"]||e.suffix||e.extra,N=h.computeCloseOpts,C=N.visibleMethod,O=h.computeRefreshOpts,P=O.visibleMethod;return p("div",{key:"th",class:["vxe-tabs-header","type--".concat(S),"pos--".concat(E)]},[r?p("div",{class:["vxe-tabs-header--prefix","type--".concat(S),"pos--".concat(E)]},h.callSlot(r,{name:x},p)):renderEmptyElement(h),i?p("div",{ref:"refHeadPrevElem",class:["vxe-tabs-header--bar vxe-tabs-header--prev-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollLeftEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_TOP:getIcon().TABS_TAB_BUTTON_LEFT})]):renderEmptyElement(h),p("div",{class:["vxe-tabs-header--wrapper","type--".concat(S),"pos--".concat(E)]},[p("div",{ref:"refHeadWrapperElem",class:"vxe-tabs-header--item-wrapper",style:t?{marginRight:"-".concat(a+scrollbarOffsetSize,"px"),paddingRight:"".concat(scrollbarOffsetSize,"px")}:{marginBottom:"-".concat(n+scrollbarOffsetSize,"px"),paddingBottom:"".concat(scrollbarOffsetSize,"px")},on:{scroll:h.checkScrolling}},m.map(function(t,a){var e=t.title,n=t.icon,i=t.name,o=t.slots||{},r=o.title||o.tab,s=o.titlePrefix||o["title-prefix"],o=o.titleSuffix||o["title-suffix"],l=t.titleWidth||b,c=t.titleAlign||v,u={$tabs:h,value:x,name:i,option:t},f=x===i,d=i?_["".concat(i)]:null,d=!!d&&d.loading;return p("div",{key:"".concat(i),class:["vxe-tabs-header--item","type--".concat(S),"pos--".concat(E),c?"align--".concat(c):"",{"is--active":f}],style:l?{width:(0,_dom.toCssUnit)(l)}:void 0,on:{click:function(e){h.clickEvent(e,t)}}},[p("div",{class:"vxe-tabs-header--item-inner"},[p("div",{class:"vxe-tabs-header--item-content"},[n?p("span",{class:"vxe-tabs-header--item-icon"},[p("i",{class:n})]):renderEmptyElement(h),s?p("span",{class:"vxe-tabs-header--item-prefix"},h.callSlot(s,{name:i,title:e},p)):renderEmptyElement(h),p("span",{class:"vxe-tabs-header--item-name"},r?h.callSlot(r,{name:i,title:e},p):"".concat(e)),o?p("span",{class:"vxe-tabs-header--item-suffix"},h.callSlot(o,{name:i,title:e},p)):renderEmptyElement(h)]),!(0,_utils.isEnableConf)(y)&&!O.enabled||P&&!P(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--refresh-btn",{"is--active":f,"is--loading":d,"is--disabled":d}],on:{click:function(e){h.handleRefreshTabEvent(e,t)}}},[p("i",{class:d?getIcon().TABS_TAB_REFRESH_LOADING:getIcon().TABS_TAB_REFRESH})]),!(g||(0,_utils.isEnableConf)(T)||N.enabled)||C&&!C(u)?renderEmptyElement(h):p("div",{class:["vxe-tabs-header--close-btn",{"is--active":f}],on:{click:function(e){h.handleCloseTabEvent(e,t,a,m)}}},[p("i",{class:getIcon().TABS_TAB_CLOSE})])])])}).concat([p("span",{key:"line",class:["vxe-tabs-header--active-line","type--".concat(S),"pos--".concat(E)],style:o})]))]),i?p("div",{ref:"refHeadNextElem",class:["vxe-tabs-header--bar vxe-tabs-header--next-bar","type--".concat(S),"pos--".concat(E)],on:{click:h.scrollRightEvent}},[p("span",{class:t?getIcon().TABS_TAB_BUTTON_BOTTOM:getIcon().TABS_TAB_BUTTON_RIGHT})]):renderEmptyElement(h),e?p("div",{class:["vxe-tabs-header--suffix","type--".concat(S),"pos--".concat(E)]},h.callSlot(e,{name:x},p)):renderEmptyElement(h)])},renderTabPane:function(e,t){var a=this,n=a.reactData,i=a.useScrollbar,o=n.initNames,n=n.activeName,r=t.name,t=t.slots,s=t?t.default:null,t=a.computeScrollbarProps;return r&&o.includes(r)?i?e(_scrollbar.default,{key:"".concat(r),class:["vxe-tabs-pane--scrollbar-item",{"is--visible":n===r}],props:t,scopedSlots:{default:function(){return s?a.callSlot(s,{name:r},e):[]}}}):e("div",{key:"".concat(r),class:["vxe-tabs-pane--item",{"is--visible":n===r}]},s?a.callSlot(s,{name:r},e):[]):renderEmptyElement(a)},renderTabContent:function(t,e){var a=this,n=a.reactData,i=a.destroyOnClose,o=n.activeName;return i?[(n=e.find(function(e){return e.name===o}))?a.renderTabPane(t,n):renderEmptyElement(a)]:e.map(function(e){return a.renderTabPane(t,e)})},rendetTabBody:function(e,t){var a=this,n=a.$scopedSlots,i=a.reactData,o=a.height,r=a.padding,s=a.showBody,l=i.activeName,c=a.computeSize,u=a.computeTabType,f=a.computeTabPosition,d=a.computeRefreshOpts.showLoading,p=n.header,n=n.footer;return s?(i=!!(i=l?i.cacheTabMaps["".concat(l)]:null)&&i.loading,l={name:l},e("div",{key:"tb",class:["vxe-tabs-pane--wrapper","type--".concat(u),"pos--".concat(f),{"is--content":s}]},[p?e("div",{class:"vxe-tabs-pane--header"},a.callSlot(p,l,e)):renderEmptyElement(a),e("div",{class:["vxe-tabs-pane--body","type--".concat(u),"pos--".concat(f),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(c),c),"is--padding",r),"is--height",o)]},a.renderTabContent(e,t)),n?e("div",{class:"vxe-tabs-pane--footer"},a.callSlot(n,l,e)):renderEmptyElement(a),d&&i?renderEmptyElement(a):e(_loading.default,{class:"vxe-tabs--loading",props:{value:i}})])):renderEmptyElement(a)},renderVN:function(e){var t=this,a=t.$scopedSlots,n=t.height,i=t.padding,o=t.trigger,r=t.reactData.activeName,s=t.computeSize,l=t.computeTabType,c=t.computeTabPosition,u=t.computeWrapperStyle,a=a.default,f=a?t.computeTabStaticOptions:t.computeTabOptions,a=[e("div",{key:"ts",class:"vxe-tabs-slots"},a?a({name:r}):[])];return"right"===c||"bottom"===c?a.push(t.rendetTabBody(e,f),t.renderTabHeader(e,f)):a.push(t.renderTabHeader(e,f),t.rendetTabBody(e,f)),e("div",{ref:"refElem",class:["vxe-tabs","pos--".concat(c),"vxe-tabs--".concat(l),"trigger--".concat("manual"===o?"trigger":"default"),_defineProperty(_defineProperty(_defineProperty({},"size--".concat(s),s),"is--padding",i),"is--height",n)],style:u},a)}},watch:{position:function(){this.reactData.resizeFlag++},value:function(e){var t=this.reactData;this.addInitName(e,null),t.activeName=e},"reactData.activeName":function(e){this.scrollToTab(e)},options:function(){var e=this.reactData;this.initDefaultName(this.options),e.resizeFlag++},"reactData.staticTabs":function(){var e=this.reactData;this.initDefaultName(e.staticTabs),e.resizeFlag++},computeParentTabsResizeFlag:function(){var e=this;e.$nextTick(function(){e.updateTabStyle()})}},created:function(){var e=this.reactData;this.addInitName(this.value,null),this.initDefaultName(e.staticTabs.length?e.staticTabs:this.options)},mounted:function(){this.updateTabStyle(),globalEvents.on(this,"resize",this.updateTabStyle)},beforeDestroy:function(){globalEvents.off(this,"resize")},render:function(e){return this.renderVN(e)}});
|
|
@@ -10,6 +10,7 @@ var _ui = require("../../ui");
|
|
|
10
10
|
var _utils = require("../../ui/src/utils");
|
|
11
11
|
var _dom = require("../../ui/src/dom");
|
|
12
12
|
var _vn = require("../../ui/src/vn");
|
|
13
|
+
var _scrollbar = _interopRequireDefault(require("../../scrollbar"));
|
|
13
14
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
15
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
15
16
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
@@ -21,6 +22,11 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
|
|
|
21
22
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
22
23
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
23
24
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
25
|
+
var baseUtils = _ui.VxeUI.baseUtils,
|
|
26
|
+
getConfig = _ui.VxeUI.getConfig,
|
|
27
|
+
createEvent = _ui.VxeUI.createEvent,
|
|
28
|
+
globalEvents = _ui.VxeUI.globalEvents;
|
|
29
|
+
var getDefVal = baseUtils.getDefVal;
|
|
24
30
|
function createReactData() {
|
|
25
31
|
return {
|
|
26
32
|
target: null,
|
|
@@ -40,6 +46,7 @@ function createReactData() {
|
|
|
40
46
|
}
|
|
41
47
|
function createInternalData() {
|
|
42
48
|
return {
|
|
49
|
+
// scrollbarViewEl: undefined,
|
|
43
50
|
// showDelayTip: undefined
|
|
44
51
|
};
|
|
45
52
|
}
|
|
@@ -51,20 +58,20 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
51
58
|
size: {
|
|
52
59
|
type: String,
|
|
53
60
|
default: function _default() {
|
|
54
|
-
return
|
|
61
|
+
return getConfig().tooltip.size || getConfig().size;
|
|
55
62
|
}
|
|
56
63
|
},
|
|
57
64
|
selector: [String, Element],
|
|
58
65
|
trigger: {
|
|
59
66
|
type: String,
|
|
60
67
|
default: function _default() {
|
|
61
|
-
return
|
|
68
|
+
return getConfig().tooltip.trigger || 'hover';
|
|
62
69
|
}
|
|
63
70
|
},
|
|
64
71
|
theme: {
|
|
65
72
|
type: String,
|
|
66
73
|
default: function _default() {
|
|
67
|
-
return
|
|
74
|
+
return getConfig().tooltip.theme || 'dark';
|
|
68
75
|
}
|
|
69
76
|
},
|
|
70
77
|
content: {
|
|
@@ -74,14 +81,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
74
81
|
useHtml: {
|
|
75
82
|
type: Boolean,
|
|
76
83
|
default: function _default() {
|
|
77
|
-
return _xeUtils.default.isBoolean(
|
|
84
|
+
return _xeUtils.default.isBoolean(getConfig().tooltip.useHtml) ? getConfig().tooltip.useHtml : null;
|
|
78
85
|
}
|
|
79
86
|
},
|
|
80
87
|
// 已废弃,请使用 useHtml
|
|
81
88
|
useHTML: {
|
|
82
89
|
type: Boolean,
|
|
83
90
|
default: function _default() {
|
|
84
|
-
return
|
|
91
|
+
return getConfig().tooltip.useHTML;
|
|
85
92
|
}
|
|
86
93
|
},
|
|
87
94
|
zIndex: [String, Number],
|
|
@@ -89,81 +96,88 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
89
96
|
width: {
|
|
90
97
|
type: [String, Number],
|
|
91
98
|
default: function _default() {
|
|
92
|
-
return
|
|
99
|
+
return getConfig().tooltip.Width;
|
|
93
100
|
}
|
|
94
101
|
},
|
|
95
102
|
height: {
|
|
96
103
|
type: [String, Number],
|
|
97
104
|
default: function _default() {
|
|
98
|
-
return
|
|
105
|
+
return getConfig().tooltip.height;
|
|
99
106
|
}
|
|
100
107
|
},
|
|
101
108
|
minWidth: {
|
|
102
109
|
type: [String, Number],
|
|
103
110
|
default: function _default() {
|
|
104
|
-
return
|
|
111
|
+
return getConfig().tooltip.minWidth;
|
|
105
112
|
}
|
|
106
113
|
},
|
|
107
114
|
minHeight: {
|
|
108
115
|
type: [String, Number],
|
|
109
116
|
default: function _default() {
|
|
110
|
-
return
|
|
117
|
+
return getConfig().tooltip.minHeight;
|
|
111
118
|
}
|
|
112
119
|
},
|
|
113
120
|
maxWidth: {
|
|
114
121
|
type: [String, Number],
|
|
115
122
|
default: function _default() {
|
|
116
|
-
return
|
|
123
|
+
return getConfig().tooltip.maxWidth;
|
|
117
124
|
}
|
|
118
125
|
},
|
|
119
126
|
maxHeight: {
|
|
120
127
|
type: [String, Number],
|
|
121
128
|
default: function _default() {
|
|
122
|
-
return
|
|
129
|
+
return getConfig().tooltip.maxHeight;
|
|
123
130
|
}
|
|
124
131
|
},
|
|
125
132
|
placement: {
|
|
126
133
|
type: String,
|
|
127
134
|
default: function _default() {
|
|
128
|
-
return
|
|
135
|
+
return getConfig().tooltip.placement;
|
|
129
136
|
}
|
|
130
137
|
},
|
|
131
138
|
defaultPlacement: {
|
|
132
139
|
type: String,
|
|
133
140
|
default: function _default() {
|
|
134
|
-
return
|
|
141
|
+
return getConfig().tooltip.defaultPlacement;
|
|
135
142
|
}
|
|
136
143
|
},
|
|
137
144
|
isArrow: {
|
|
138
145
|
type: Boolean,
|
|
139
146
|
default: function _default() {
|
|
140
|
-
return
|
|
147
|
+
return getConfig().tooltip.isArrow;
|
|
141
148
|
}
|
|
142
149
|
},
|
|
143
150
|
enterable: {
|
|
144
151
|
type: Boolean,
|
|
145
152
|
default: function _default() {
|
|
146
|
-
return
|
|
153
|
+
return getConfig().tooltip.enterable;
|
|
147
154
|
}
|
|
148
155
|
},
|
|
149
156
|
enterDelay: {
|
|
150
157
|
type: Number,
|
|
151
158
|
default: function _default() {
|
|
152
|
-
return
|
|
159
|
+
return getConfig().tooltip.enterDelay;
|
|
153
160
|
}
|
|
154
161
|
},
|
|
155
162
|
leaveDelay: {
|
|
156
163
|
type: Number,
|
|
157
164
|
default: function _default() {
|
|
158
|
-
return
|
|
165
|
+
return getConfig().tooltip.leaveDelay;
|
|
159
166
|
}
|
|
160
167
|
},
|
|
161
168
|
appendTo: {
|
|
162
169
|
type: [String, Function],
|
|
163
170
|
default: function _default() {
|
|
164
|
-
return
|
|
171
|
+
return getConfig().tooltip.appendTo;
|
|
165
172
|
}
|
|
166
|
-
}
|
|
173
|
+
},
|
|
174
|
+
useScrollbar: {
|
|
175
|
+
type: Boolean,
|
|
176
|
+
default: function _default() {
|
|
177
|
+
return getDefVal(getConfig().tooltip.useScrollbar, getConfig().useScrollbar);
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
scrollbarConfig: Object
|
|
167
181
|
},
|
|
168
182
|
data: function data() {
|
|
169
183
|
var xID = _xeUtils.default.uniqueId();
|
|
@@ -211,7 +225,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
211
225
|
//
|
|
212
226
|
dispatchEvent: function dispatchEvent(type, params, evnt) {
|
|
213
227
|
var $xeTooltip = this;
|
|
214
|
-
$xeTooltip.$emit(type,
|
|
228
|
+
$xeTooltip.$emit(type, createEvent(evnt, {
|
|
215
229
|
$tooltip: $xeTooltip
|
|
216
230
|
}, params));
|
|
217
231
|
},
|
|
@@ -436,7 +450,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
436
450
|
tipStore.arrowStyle = {
|
|
437
451
|
left: '50%'
|
|
438
452
|
};
|
|
439
|
-
return $xeTooltip.updatePlacement()
|
|
453
|
+
return $xeTooltip.updatePlacement().then(function () {
|
|
454
|
+
return $xeTooltip.updatePlacement();
|
|
455
|
+
});
|
|
440
456
|
},
|
|
441
457
|
handleDelayFn: function handleDelayFn() {
|
|
442
458
|
var $xeTooltip = this;
|
|
@@ -523,6 +539,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
523
539
|
var slots = $xeTooltip.$scopedSlots;
|
|
524
540
|
var reactData = $xeTooltip.reactData;
|
|
525
541
|
var useHtml = props.useHtml,
|
|
542
|
+
theme = props.theme,
|
|
543
|
+
useScrollbar = props.useScrollbar,
|
|
526
544
|
useHTML = props.useHTML;
|
|
527
545
|
var tipContent = reactData.tipContent;
|
|
528
546
|
var wrapperStyle = $xeTooltip.computeWrapperStyle;
|
|
@@ -544,9 +562,27 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
544
562
|
key: 'cd'
|
|
545
563
|
}, "".concat(tipContent)));
|
|
546
564
|
}
|
|
565
|
+
if (useScrollbar) {
|
|
566
|
+
return h(_scrollbar.default, {
|
|
567
|
+
key: 5,
|
|
568
|
+
ref: 'contentScrollbar',
|
|
569
|
+
class: 'vxe-tooltip--scrollbar-content',
|
|
570
|
+
props: {
|
|
571
|
+
theme: theme,
|
|
572
|
+
viewClassName: 'vxe-tooltip--scrollbar-content-view',
|
|
573
|
+
viewInnerClassName: 'vxe-tooltip--scrollbar-content-inner',
|
|
574
|
+
viewStyle: wrapperStyle
|
|
575
|
+
},
|
|
576
|
+
scopedSlots: {
|
|
577
|
+
default: function _default() {
|
|
578
|
+
return contVNs;
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
});
|
|
582
|
+
}
|
|
547
583
|
return h('div', {
|
|
548
584
|
key: 3,
|
|
549
|
-
ref: '
|
|
585
|
+
ref: 'contentWrapperElem',
|
|
550
586
|
class: 'vxe-tooltip--content',
|
|
551
587
|
style: wrapperStyle
|
|
552
588
|
}, contVNs);
|
|
@@ -616,14 +652,25 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
616
652
|
var $xeTooltip = this;
|
|
617
653
|
$xeTooltip.internalData = createInternalData();
|
|
618
654
|
$xeTooltip.handleDelayFn();
|
|
619
|
-
|
|
620
|
-
|
|
655
|
+
globalEvents.on($xeTooltip, 'blur', $xeTooltip.handleGlobalBlurEvent);
|
|
656
|
+
globalEvents.on($xeTooltip, 'scroll', $xeTooltip.handleGlobalScrollEvent);
|
|
621
657
|
},
|
|
622
658
|
mounted: function mounted() {
|
|
623
659
|
var $xeTooltip = this;
|
|
624
660
|
var props = $xeTooltip;
|
|
625
661
|
var reactData = $xeTooltip.reactData;
|
|
626
|
-
var
|
|
662
|
+
var internalData = $xeTooltip.internalData;
|
|
663
|
+
var $scrollbar = $xeTooltip.$refs.contentScrollbar;
|
|
664
|
+
if ($scrollbar) {
|
|
665
|
+
var viewEl = $scrollbar.getViewElem();
|
|
666
|
+
if (viewEl) {
|
|
667
|
+
viewEl.addEventListener('wheel', $xeTooltip.wheelEvent, {
|
|
668
|
+
passive: false
|
|
669
|
+
});
|
|
670
|
+
internalData.scrollbarViewEl = viewEl;
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
var contentWrapperfEl = $xeTooltip.$refs.contentWrapperElem;
|
|
627
674
|
if (contentWrapperfEl) {
|
|
628
675
|
contentWrapperfEl.addEventListener('wheel', $xeTooltip.wheelEvent, {
|
|
629
676
|
passive: false
|
|
@@ -668,24 +715,28 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
668
715
|
var reactData = $xeTooltip.reactData;
|
|
669
716
|
var internalData = $xeTooltip.internalData;
|
|
670
717
|
var target = reactData.target;
|
|
718
|
+
var scrollbarViewEl = internalData.scrollbarViewEl;
|
|
671
719
|
var panelElem = $xeTooltip.$refs.refElem;
|
|
672
720
|
if (target) {
|
|
673
721
|
target.onmouseenter = null;
|
|
674
722
|
target.onmouseleave = null;
|
|
675
723
|
target.onclick = null;
|
|
676
724
|
}
|
|
677
|
-
var contentWrapperfEl = $xeTooltip.$refs.
|
|
725
|
+
var contentWrapperfEl = $xeTooltip.$refs.contentWrapperElem;
|
|
678
726
|
if (contentWrapperfEl) {
|
|
679
727
|
contentWrapperfEl.removeEventListener('wheel', $xeTooltip.wheelEvent);
|
|
680
728
|
}
|
|
729
|
+
if (scrollbarViewEl) {
|
|
730
|
+
scrollbarViewEl.removeEventListener('wheel', $xeTooltip.wheelEvent);
|
|
731
|
+
}
|
|
681
732
|
if (panelElem) {
|
|
682
733
|
var parentNode = panelElem.parentNode;
|
|
683
734
|
if (parentNode) {
|
|
684
735
|
parentNode.removeChild(panelElem);
|
|
685
736
|
}
|
|
686
737
|
}
|
|
687
|
-
|
|
688
|
-
|
|
738
|
+
globalEvents.off($xeTooltip, 'blur');
|
|
739
|
+
globalEvents.off($xeTooltip, 'scroll');
|
|
689
740
|
_xeUtils.default.assign(reactData, createReactData());
|
|
690
741
|
_xeUtils.default.assign(internalData, createInternalData());
|
|
691
742
|
},
|