vft 0.0.502 → 0.0.504
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/components/autocomplete/autocomplete.vue.d.ts +2 -2
- package/es/components/autocomplete/index.d.ts +6 -6
- package/es/components/button/index.d.ts +9 -9
- package/es/components/cascader/cascader.vue2.js +217 -211
- package/es/components/image-viewer/image-viewer.vue2.js +1 -1
- package/es/components/multiple-tabs/multiple-tabs.vue2.js +87 -83
- package/es/components/multiple-tabs/use/use-tab-dropdown.js +55 -39
- package/es/components/popconfirm/index.d.ts +15 -15
- package/es/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/es/components/select/index.d.ts +4 -4
- package/es/components/select/select.vue.d.ts +4 -4
- package/es/components/select/useSelect.d.ts +4 -4
- package/es/hooks/use-z-index/index.js +3 -3
- package/es/package.json.d.ts +1 -1
- package/es/package.json.js +1 -1
- package/lib/components/autocomplete/autocomplete.vue.d.ts +2 -2
- package/lib/components/autocomplete/index.d.ts +6 -6
- package/lib/components/button/index.d.ts +9 -9
- package/lib/components/cascader/cascader.vue2.cjs +1 -1
- package/lib/components/image-viewer/image-viewer.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
- package/lib/components/popconfirm/index.d.ts +15 -15
- package/lib/components/popconfirm/popconfirm.vue.d.ts +1 -1
- package/lib/components/select/index.d.ts +4 -4
- package/lib/components/select/select.vue.d.ts +4 -4
- package/lib/components/select/useSelect.d.ts +4 -4
- package/lib/package.json.cjs +1 -1
- package/lib/package.json.d.ts +1 -1
- package/package.json +4 -4
- package/theme-style/dark/css-vars.css +1 -1
- package/theme-style/display.css +1 -1
- package/theme-style/src/common/icon.scss +3 -0
- package/theme-style/src/multiple-tabs.scss +8 -0
- package/theme-style/vft-affix.css +1 -1
- package/theme-style/vft-alert.css +1 -1
- package/theme-style/vft-aside.css +1 -1
- package/theme-style/vft-autocomplete.css +1 -1
- package/theme-style/vft-avatar-stack.css +1 -1
- package/theme-style/vft-avatar.css +1 -1
- package/theme-style/vft-backtop.css +1 -1
- package/theme-style/vft-badge.css +1 -1
- package/theme-style/vft-breadcrumb.css +1 -1
- package/theme-style/vft-button-group.css +1 -1
- package/theme-style/vft-button.css +1 -1
- package/theme-style/vft-calendar.css +1 -1
- package/theme-style/vft-card.css +1 -1
- package/theme-style/vft-carousel-item.css +1 -1
- package/theme-style/vft-carousel.css +1 -1
- package/theme-style/vft-cascader-panel.css +1 -1
- package/theme-style/vft-cascader.css +1 -1
- package/theme-style/vft-check-tag.css +1 -1
- package/theme-style/vft-checkbox-button.css +1 -1
- package/theme-style/vft-checkbox-group.css +1 -1
- package/theme-style/vft-checkbox.css +1 -1
- package/theme-style/vft-clamp-toggle.css +1 -1
- package/theme-style/vft-col.css +1 -1
- package/theme-style/vft-collapse.css +1 -1
- package/theme-style/vft-color-picker.css +1 -1
- package/theme-style/vft-container.css +1 -1
- package/theme-style/vft-date-picker.css +1 -1
- package/theme-style/vft-date-time-select.css +1 -1
- package/theme-style/vft-descriptions-item.css +1 -1
- package/theme-style/vft-descriptions.css +1 -1
- package/theme-style/vft-dialog.css +1 -1
- package/theme-style/vft-divider.css +1 -1
- package/theme-style/vft-drawer.css +1 -1
- package/theme-style/vft-dropdown.css +1 -1
- package/theme-style/vft-empty.css +1 -1
- package/theme-style/vft-footer-layout.css +1 -1
- package/theme-style/vft-footer.css +1 -1
- package/theme-style/vft-form.css +1 -1
- package/theme-style/vft-full-screen.css +1 -1
- package/theme-style/vft-header-layout.css +1 -1
- package/theme-style/vft-header.css +1 -1
- package/theme-style/vft-horizontal-menu.css +1 -1
- package/theme-style/vft-icon-text.css +1 -1
- package/theme-style/vft-icon.css +1 -1
- package/theme-style/vft-iframe-layout.css +1 -1
- package/theme-style/vft-image-viewer.css +1 -1
- package/theme-style/vft-image.css +1 -1
- package/theme-style/vft-input-number.css +1 -1
- package/theme-style/vft-input-tag.css +1 -1
- package/theme-style/vft-input.css +1 -1
- package/theme-style/vft-link.css +1 -1
- package/theme-style/vft-list-cell.css +1 -1
- package/theme-style/vft-loading.css +1 -1
- package/theme-style/vft-logo.css +1 -1
- package/theme-style/vft-main.css +1 -1
- package/theme-style/vft-md-code-demo.css +1 -1
- package/theme-style/vft-md-code-tabs.css +1 -1
- package/theme-style/vft-md-comment.css +1 -1
- package/theme-style/vft-md-container.css +1 -1
- package/theme-style/vft-md-tabs.css +1 -1
- package/theme-style/vft-md-vue-playground.css +1 -1
- package/theme-style/vft-menu.css +1 -1
- package/theme-style/vft-message-box.css +1 -1
- package/theme-style/vft-message.css +1 -1
- package/theme-style/vft-multiple-tabs.css +1 -1
- package/theme-style/vft-notification.css +1 -1
- package/theme-style/vft-option-group.css +1 -1
- package/theme-style/vft-option-item.css +1 -1
- package/theme-style/vft-option.css +1 -1
- package/theme-style/vft-overlay.css +1 -1
- package/theme-style/vft-page-wrapper.css +1 -1
- package/theme-style/vft-pagination.css +1 -1
- package/theme-style/vft-popconfirm.css +1 -1
- package/theme-style/vft-popover.css +1 -1
- package/theme-style/vft-popper.css +1 -1
- package/theme-style/vft-progress.css +1 -1
- package/theme-style/vft-radio-button.css +1 -1
- package/theme-style/vft-radio-group.css +1 -1
- package/theme-style/vft-rate.css +1 -1
- package/theme-style/vft-result.css +1 -1
- package/theme-style/vft-row.css +1 -1
- package/theme-style/vft-scrollbar.css +1 -1
- package/theme-style/vft-search.css +1 -1
- package/theme-style/vft-segmented.css +1 -1
- package/theme-style/vft-select-dropdown-v2.css +1 -1
- package/theme-style/vft-select-dropdown.css +1 -1
- package/theme-style/vft-select.css +1 -1
- package/theme-style/vft-side-menu.css +1 -1
- package/theme-style/vft-skeleton-item.css +1 -1
- package/theme-style/vft-skeleton.css +1 -1
- package/theme-style/vft-slider.css +1 -1
- package/theme-style/vft-space.css +1 -1
- package/theme-style/vft-spinner.css +1 -1
- package/theme-style/vft-statistic.css +1 -1
- package/theme-style/vft-step.css +1 -1
- package/theme-style/vft-steps.css +1 -1
- package/theme-style/vft-super-form.css +1 -1
- package/theme-style/vft-switch.css +1 -1
- package/theme-style/vft-table.css +1 -1
- package/theme-style/vft-tabs.css +1 -1
- package/theme-style/vft-tag.css +1 -1
- package/theme-style/vft-time-picker.css +1 -1
- package/theme-style/vft-time-select.css +1 -1
- package/theme-style/vft-timeline-item.css +1 -1
- package/theme-style/vft-timeline.css +1 -1
- package/theme-style/vft-transfer.css +1 -1
- package/theme-style/vft-tree-select.css +1 -1
- package/theme-style/vft-tree.css +1 -1
- package/theme-style/vft-virtual-list.css +1 -1
- package/web-types.json +1 -1
|
@@ -25,7 +25,7 @@ const ke = ["src", "referrerpolicy", "crossorigin"], be = A({
|
|
|
25
25
|
closeOnPressEscape: { type: Boolean, default: !0 },
|
|
26
26
|
zoomRate: { default: 1.2 },
|
|
27
27
|
referrerpolicy: { default: "no-referrer" },
|
|
28
|
-
crossorigin: {
|
|
28
|
+
crossorigin: {}
|
|
29
29
|
},
|
|
30
30
|
emits: {
|
|
31
31
|
close: () => !0,
|
|
@@ -1,76 +1,80 @@
|
|
|
1
|
-
import { defineComponent as B, getCurrentInstance as
|
|
2
|
-
import { VftTabs as
|
|
3
|
-
import { VftIcon as
|
|
4
|
-
import { isClient as
|
|
1
|
+
import { defineComponent as B, getCurrentInstance as q, computed as d, ref as v, watchEffect as G, unref as t, onMounted as J, createElementBlock as P, openBlock as g, normalizeStyle as O, normalizeClass as V, createVNode as h, createSlots as Q, withCtx as T, Fragment as X, renderList as Y, createBlock as Z, renderSlot as ee, createElementVNode as te } from "vue";
|
|
2
|
+
import { VftTabs as ae, VftTabPane as ne } from "../tabs/index.js";
|
|
3
|
+
import { VftIcon as w } from "../icon/index.js";
|
|
4
|
+
import { isClient as oe } from "@vueuse/core";
|
|
5
5
|
import "@vft/utils";
|
|
6
6
|
import { addUnit as o } from "../../utils/helper.js";
|
|
7
|
-
import { generateCssVars as
|
|
7
|
+
import { generateCssVars as M } from "../../utils/ns-cover.js";
|
|
8
8
|
import "lodash-es";
|
|
9
9
|
import "../form/index.js";
|
|
10
|
-
import { useNamespace as
|
|
10
|
+
import { useNamespace as le } from "../../hooks/use-namespace/index.js";
|
|
11
11
|
import "../../hooks/use-model-toggle/index.js";
|
|
12
12
|
import "@popperjs/core";
|
|
13
13
|
import "../../hooks/use-z-index/index.js";
|
|
14
|
-
import { useRouterHelper as
|
|
15
|
-
import { useMultipleTabStore as
|
|
16
|
-
import { useRefs as
|
|
17
|
-
import
|
|
18
|
-
import { onBeforeRouteLeave as
|
|
19
|
-
import
|
|
20
|
-
import { initAffixTabs as
|
|
14
|
+
import { useRouterHelper as ie, getRouterKeyPath as b, listenerRouteChange as re } from "@vft/router";
|
|
15
|
+
import { useMultipleTabStore as se, isTabPinned as $, useTabs as ue } from "@vft/store";
|
|
16
|
+
import { useRefs as ce } from "@vft/use";
|
|
17
|
+
import fe from "hotkeys-js";
|
|
18
|
+
import { onBeforeRouteLeave as me } from "vue-router";
|
|
19
|
+
import de from "./tab-content.vue2.js";
|
|
20
|
+
import { initAffixTabs as ve, useTabsDrag as he } from "./use/use-multiple-tabs.js";
|
|
21
21
|
import "../context-menu/context-menu.vue2.js";
|
|
22
|
-
const
|
|
22
|
+
const be = B({
|
|
23
23
|
name: "vft-multiple-tabs"
|
|
24
|
-
}),
|
|
25
|
-
...
|
|
24
|
+
}), ze = /* @__PURE__ */ B({
|
|
25
|
+
...be,
|
|
26
26
|
props: {
|
|
27
27
|
tabsStyle: {},
|
|
28
28
|
contextMenuStyle: {},
|
|
29
29
|
canDrag: { type: Boolean },
|
|
30
30
|
showNavRight: { type: Boolean, default: !0 },
|
|
31
|
-
fixTabCount: {},
|
|
31
|
+
fixTabCount: { default: 0 },
|
|
32
32
|
fixExtraScrollWidth: {}
|
|
33
33
|
},
|
|
34
34
|
setup(u) {
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
const R = le("multiple-tabs"), s = q().appContext.config.globalProperties.$router, I = ve(s), l = se(), f = d(
|
|
36
|
+
() => l.getTabList.filter((e) => !e.meta?.hideTab && $(e)).length
|
|
37
|
+
), L = d(
|
|
38
|
+
() => Math.max(u.fixTabCount, f.value)
|
|
39
|
+
), r = v(""), i = v(0), p = v(), { go: C } = ie(s), m = d(() => l.getTabList.filter((e) => !e.meta?.hideTab));
|
|
40
|
+
G(() => {
|
|
41
|
+
if (r.value) {
|
|
42
|
+
const e = m.value.findIndex((n) => b(n) === r.value);
|
|
43
|
+
e === -1 ? i.value = m.value?.length - 1 : i.value = e, i.value = i.value < f.value ? f.value - 1 : i.value;
|
|
40
44
|
}
|
|
41
|
-
}),
|
|
42
|
-
|
|
43
|
-
}),
|
|
45
|
+
}), oe && me(() => {
|
|
46
|
+
p.value = t(s.currentRoute);
|
|
47
|
+
}), re(({ route: e }) => {
|
|
44
48
|
if (!e || e.meta?.hasTokenToRoot)
|
|
45
49
|
return;
|
|
46
|
-
const { meta: n = {} } = e, { currentActivePath: a, hideTab: c } = n,
|
|
47
|
-
if (
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
t(
|
|
52
|
-
|
|
50
|
+
const { meta: n = {} } = e, { currentActivePath: a, hideTab: c } = n, W = c ? a : null, S = b(e);
|
|
51
|
+
if (r.value !== S && (r.value = S), W) {
|
|
52
|
+
const k = s.getRoutes().find((j) => j.path === a);
|
|
53
|
+
k && l.addTab(
|
|
54
|
+
k,
|
|
55
|
+
t(p),
|
|
56
|
+
i.value,
|
|
53
57
|
e
|
|
54
58
|
);
|
|
55
|
-
} else c || l.addTab(t(e), t(
|
|
59
|
+
} else c || l.addTab(t(e), t(p), i.value);
|
|
56
60
|
});
|
|
57
|
-
function
|
|
58
|
-
if (
|
|
61
|
+
function N(e) {
|
|
62
|
+
if (r.value === e.paneName)
|
|
59
63
|
return;
|
|
60
64
|
const n = m.value[e.attrs.index];
|
|
61
|
-
|
|
65
|
+
r.value = e.paneName;
|
|
62
66
|
const a = n?.meta?.hideActiveRoute?.fullPath;
|
|
63
|
-
|
|
67
|
+
C(a || n.fullPath || n.path);
|
|
64
68
|
}
|
|
65
|
-
function
|
|
69
|
+
function _(e) {
|
|
66
70
|
l.closeTabByKey(e, s);
|
|
67
71
|
}
|
|
68
|
-
const { refs:
|
|
69
|
-
function
|
|
72
|
+
const { refs: E, setRefs: F } = ce();
|
|
73
|
+
function A(e) {
|
|
70
74
|
const n = e.pane.attrs.index, a = e.event;
|
|
71
|
-
|
|
75
|
+
E.value[n].handleContext(a);
|
|
72
76
|
}
|
|
73
|
-
const
|
|
77
|
+
const z = d(() => {
|
|
74
78
|
const e = {
|
|
75
79
|
padding: "4px 0 0",
|
|
76
80
|
"border-bottom": "none",
|
|
@@ -85,9 +89,9 @@ const de = B({
|
|
|
85
89
|
"item-border-radius": `${o(5)} ${o(5)} 0 0`,
|
|
86
90
|
"item-border": "none"
|
|
87
91
|
};
|
|
88
|
-
return {
|
|
89
|
-
}), { closeCurrent:
|
|
90
|
-
|
|
92
|
+
return { ...M(e, "tabs"), ...u.tabsStyle };
|
|
93
|
+
}), { closeCurrent: D } = ue(), H = {
|
|
94
|
+
...M(
|
|
91
95
|
{
|
|
92
96
|
"sub-item-height": o(40),
|
|
93
97
|
"item-min-width": o(150)
|
|
@@ -95,44 +99,44 @@ const de = B({
|
|
|
95
99
|
"menu"
|
|
96
100
|
),
|
|
97
101
|
...u.contextMenuStyle
|
|
98
|
-
},
|
|
99
|
-
l.toggleFullScreen(l.getTabList[
|
|
100
|
-
},
|
|
102
|
+
}, K = () => {
|
|
103
|
+
l.toggleFullScreen(l.getTabList[i.value], s);
|
|
104
|
+
}, x = v(!1);
|
|
101
105
|
let y;
|
|
102
|
-
const
|
|
103
|
-
clearInterval(y),
|
|
104
|
-
|
|
106
|
+
const U = () => {
|
|
107
|
+
clearInterval(y), x.value = !0, l.refreshPage(0, s, l.getTabList[i.value]), y = setTimeout(() => {
|
|
108
|
+
x.value = !1;
|
|
105
109
|
}, 500);
|
|
106
110
|
};
|
|
107
|
-
return
|
|
108
|
-
u.canDrag &&
|
|
111
|
+
return J(() => {
|
|
112
|
+
u.canDrag && he(I), fe("command+e, ctrl+e", () => (D(), !1));
|
|
109
113
|
}), (e, n) => (g(), P("div", {
|
|
110
|
-
class:
|
|
111
|
-
style:
|
|
114
|
+
class: V(t(R).b()),
|
|
115
|
+
style: O(z.value)
|
|
112
116
|
}, [
|
|
113
|
-
h(t(
|
|
117
|
+
h(t(ae), {
|
|
114
118
|
"show-bar": !1,
|
|
115
|
-
"fix-tab-count":
|
|
119
|
+
"fix-tab-count": L.value,
|
|
116
120
|
"fix-extra-scroll-width": u.fixExtraScrollWidth,
|
|
117
|
-
modelValue:
|
|
118
|
-
"onUpdate:modelValue": n[0] || (n[0] = (a) =>
|
|
119
|
-
onTabClick:
|
|
120
|
-
onTabRemove:
|
|
121
|
-
onTabContextMenu:
|
|
122
|
-
},
|
|
123
|
-
default:
|
|
124
|
-
(g(!0), P(
|
|
125
|
-
key: t(
|
|
126
|
-
closable: !a
|
|
121
|
+
modelValue: r.value,
|
|
122
|
+
"onUpdate:modelValue": n[0] || (n[0] = (a) => r.value = a),
|
|
123
|
+
onTabClick: N,
|
|
124
|
+
onTabRemove: _,
|
|
125
|
+
onTabContextMenu: A
|
|
126
|
+
}, Q({
|
|
127
|
+
default: T(() => [
|
|
128
|
+
(g(!0), P(X, null, Y(m.value, (a, c) => (g(), Z(t(ne), {
|
|
129
|
+
key: t(b)(a) + c,
|
|
130
|
+
closable: !t($)(a),
|
|
127
131
|
index: c,
|
|
128
|
-
name: t(
|
|
132
|
+
name: t(b)(a)
|
|
129
133
|
}, {
|
|
130
|
-
label:
|
|
131
|
-
h(
|
|
132
|
-
"context-menu-style":
|
|
133
|
-
"affix-num":
|
|
134
|
+
label: T(() => [
|
|
135
|
+
h(de, {
|
|
136
|
+
"context-menu-style": H,
|
|
137
|
+
"affix-num": f.value,
|
|
134
138
|
ref_for: !0,
|
|
135
|
-
ref: t(
|
|
139
|
+
ref: t(F)(c),
|
|
136
140
|
"tab-item": a
|
|
137
141
|
}, null, 8, ["affix-num", "tab-item"])
|
|
138
142
|
]),
|
|
@@ -143,20 +147,20 @@ const de = B({
|
|
|
143
147
|
}, [
|
|
144
148
|
u.showNavRight ? {
|
|
145
149
|
name: "navRight",
|
|
146
|
-
fn:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
class:
|
|
150
|
+
fn: T(() => [
|
|
151
|
+
ee(e.$slots, "nav-right", {}, () => [
|
|
152
|
+
te("div", {
|
|
153
|
+
class: V(t(R).e("nav-right"))
|
|
150
154
|
}, [
|
|
151
|
-
h(t(
|
|
152
|
-
rotate:
|
|
155
|
+
h(t(w), {
|
|
156
|
+
rotate: x.value,
|
|
153
157
|
"rotate-speed": 1,
|
|
154
|
-
onClick:
|
|
158
|
+
onClick: U,
|
|
155
159
|
icon: "icon-refresh-right",
|
|
156
160
|
pointer: ""
|
|
157
161
|
}, null, 8, ["rotate"]),
|
|
158
|
-
h(t(
|
|
159
|
-
onClick:
|
|
162
|
+
h(t(w), {
|
|
163
|
+
onClick: K,
|
|
160
164
|
icon: t(l).isFullScreen ? "icon-collapse" : "icon-expand",
|
|
161
165
|
pointer: ""
|
|
162
166
|
}, null, 8, ["icon"])
|
|
@@ -170,5 +174,5 @@ const de = B({
|
|
|
170
174
|
}
|
|
171
175
|
});
|
|
172
176
|
export {
|
|
173
|
-
|
|
177
|
+
ze as default
|
|
174
178
|
};
|
|
@@ -1,97 +1,113 @@
|
|
|
1
|
-
import { getRouterKeyPath as
|
|
2
|
-
import { useMultipleTabStore as
|
|
1
|
+
import { getRouterKeyPath as a } from "@vft/router";
|
|
2
|
+
import { useMultipleTabStore as S, useTabs as O, isTabPinned as U } from "@vft/store";
|
|
3
3
|
import "@vft/utils";
|
|
4
|
-
import { reactive as
|
|
4
|
+
import { reactive as q, computed as y } from "vue";
|
|
5
5
|
import "../../context-menu/context-menu.vue2.js";
|
|
6
6
|
import "../../icon/index.js";
|
|
7
7
|
import "vue-router";
|
|
8
|
-
function
|
|
9
|
-
const
|
|
8
|
+
function F(e, o) {
|
|
9
|
+
const s = q({
|
|
10
10
|
current: null,
|
|
11
11
|
currentIndex: 0
|
|
12
|
-
}), n =
|
|
13
|
-
refreshPage:
|
|
14
|
-
closeAll:
|
|
15
|
-
close:
|
|
16
|
-
closeLeft:
|
|
12
|
+
}), n = S(), {
|
|
13
|
+
refreshPage: g,
|
|
14
|
+
closeAll: u,
|
|
15
|
+
close: h,
|
|
16
|
+
closeLeft: p,
|
|
17
17
|
closeOther: f,
|
|
18
|
-
closeRight:
|
|
19
|
-
newWinTab:
|
|
20
|
-
fullScreen:
|
|
21
|
-
alonePage:
|
|
22
|
-
|
|
18
|
+
closeRight: x,
|
|
19
|
+
newWinTab: b,
|
|
20
|
+
fullScreen: T,
|
|
21
|
+
alonePage: C,
|
|
22
|
+
pinTab: L,
|
|
23
|
+
unpinTab: v
|
|
24
|
+
} = O(), D = y(() => {
|
|
23
25
|
if (!e)
|
|
24
26
|
return;
|
|
25
|
-
const { meta:
|
|
27
|
+
const { meta: i } = e, t = s.currentIndex, r = U(e), c = !r, l = !!i?.userPinned, w = t === 0 || t <= o, M = n.getTabList.length <= o || t === n.getTabList.length - 1 && n.getLastDragEndIndex >= 0, R = n.getTabList.length === o || n.getTabList.length === o + 1 && t === o, d = n.getTabList.length === o;
|
|
26
28
|
return [
|
|
27
29
|
{
|
|
28
30
|
iconCfg: { icon: "icon-refresh-right" },
|
|
29
31
|
text: "刷新",
|
|
30
|
-
handler: () =>
|
|
32
|
+
handler: () => g(e)
|
|
31
33
|
},
|
|
32
34
|
{
|
|
33
35
|
iconCfg: { icon: "icon-new-tab" },
|
|
34
36
|
text: "新页面打开",
|
|
35
|
-
handler: () =>
|
|
37
|
+
handler: () => b(e),
|
|
36
38
|
divider: !0
|
|
37
39
|
},
|
|
38
40
|
{
|
|
39
41
|
iconCfg: { icon: "icon-close-tab" },
|
|
40
42
|
text: "关闭标签页",
|
|
41
|
-
disabled:
|
|
42
|
-
handler: () =>
|
|
43
|
+
disabled: r || d,
|
|
44
|
+
handler: () => h(e)
|
|
43
45
|
},
|
|
44
46
|
{
|
|
45
47
|
iconCfg: { icon: "icon-arrow-close-left" },
|
|
46
48
|
text: "关闭左侧标签页",
|
|
47
|
-
disabled:
|
|
48
|
-
handler: () =>
|
|
49
|
+
disabled: w,
|
|
50
|
+
handler: () => p(e)
|
|
49
51
|
},
|
|
50
52
|
{
|
|
51
53
|
iconCfg: { icon: "icon-arrow-close-right" },
|
|
52
54
|
text: "关闭右侧标签页",
|
|
53
|
-
disabled:
|
|
55
|
+
disabled: M,
|
|
54
56
|
divider: !0,
|
|
55
|
-
handler: () =>
|
|
57
|
+
handler: () => x(e)
|
|
56
58
|
},
|
|
57
59
|
{
|
|
58
60
|
iconCfg: { icon: "icon-close-box-multiple-outline" },
|
|
59
61
|
text: "关闭其它标签页",
|
|
60
|
-
disabled:
|
|
62
|
+
disabled: R,
|
|
61
63
|
handler: () => f(e)
|
|
62
64
|
},
|
|
63
65
|
{
|
|
64
66
|
iconCfg: { icon: "icon-vector-square-delete" },
|
|
65
67
|
text: "关闭所有标签页",
|
|
66
|
-
disabled:
|
|
68
|
+
disabled: d,
|
|
67
69
|
divider: !0,
|
|
68
|
-
handler: () =>
|
|
70
|
+
handler: () => u()
|
|
69
71
|
},
|
|
70
72
|
{
|
|
71
73
|
iconCfg: { icon: "icon-full-screen" },
|
|
72
74
|
text: "全屏",
|
|
73
|
-
handler: () =>
|
|
75
|
+
handler: () => T(e)
|
|
74
76
|
},
|
|
75
77
|
{
|
|
76
78
|
iconCfg: { icon: "icon-separate" },
|
|
77
79
|
text: "独立页面",
|
|
78
|
-
handler: () =>
|
|
79
|
-
|
|
80
|
+
handler: () => C(e),
|
|
81
|
+
divider: c || l
|
|
82
|
+
},
|
|
83
|
+
...c ? [
|
|
84
|
+
{
|
|
85
|
+
iconCfg: { icon: "icon-tab-pin" },
|
|
86
|
+
text: "固定",
|
|
87
|
+
handler: () => L(e)
|
|
88
|
+
}
|
|
89
|
+
] : l ? [
|
|
90
|
+
{
|
|
91
|
+
iconCfg: { icon: "icon-tab-unpin" },
|
|
92
|
+
text: "取消固定",
|
|
93
|
+
handler: () => v(e)
|
|
94
|
+
}
|
|
95
|
+
] : []
|
|
80
96
|
];
|
|
81
97
|
});
|
|
82
|
-
function
|
|
83
|
-
return (
|
|
84
|
-
if (!
|
|
98
|
+
function P(i) {
|
|
99
|
+
return (t) => {
|
|
100
|
+
if (!i)
|
|
85
101
|
return;
|
|
86
|
-
|
|
87
|
-
const
|
|
88
|
-
(
|
|
102
|
+
t?.preventDefault();
|
|
103
|
+
const r = n.getTabList.findIndex(
|
|
104
|
+
(c) => a(c) === a(i)
|
|
89
105
|
);
|
|
90
|
-
|
|
106
|
+
s.current = i, s.currentIndex = r;
|
|
91
107
|
};
|
|
92
108
|
}
|
|
93
|
-
return { getDropMenuList:
|
|
109
|
+
return { getDropMenuList: D, handleContextMenu: P };
|
|
94
110
|
}
|
|
95
111
|
export {
|
|
96
|
-
|
|
112
|
+
F as useTabDropdown
|
|
97
113
|
};
|
|
@@ -7,14 +7,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
7
7
|
type: import("vue").PropType<string | number>;
|
|
8
8
|
default: number;
|
|
9
9
|
};
|
|
10
|
-
teleported: {
|
|
11
|
-
type: import("vue").PropType<boolean>;
|
|
12
|
-
default: boolean;
|
|
13
|
-
};
|
|
14
10
|
icon: {
|
|
15
11
|
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
16
12
|
default: string;
|
|
17
13
|
};
|
|
14
|
+
teleported: {
|
|
15
|
+
type: import("vue").PropType<boolean>;
|
|
16
|
+
default: boolean;
|
|
17
|
+
};
|
|
18
18
|
hideAfter: {
|
|
19
19
|
type: import("vue").PropType<number>;
|
|
20
20
|
default: number;
|
|
@@ -52,8 +52,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
52
52
|
cancel: (val: MouseEvent) => void;
|
|
53
53
|
}, import("vue").PublicProps, {
|
|
54
54
|
width: string | number;
|
|
55
|
-
teleported: boolean;
|
|
56
55
|
icon: string | import("vft/es/vft").IconProps;
|
|
56
|
+
teleported: boolean;
|
|
57
57
|
hideAfter: number;
|
|
58
58
|
persistent: boolean;
|
|
59
59
|
confirmButtonType: import("vft/es/vft").ButtonType;
|
|
@@ -74,14 +74,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
74
74
|
type: import("vue").PropType<string | number>;
|
|
75
75
|
default: number;
|
|
76
76
|
};
|
|
77
|
-
teleported: {
|
|
78
|
-
type: import("vue").PropType<boolean>;
|
|
79
|
-
default: boolean;
|
|
80
|
-
};
|
|
81
77
|
icon: {
|
|
82
78
|
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
83
79
|
default: string;
|
|
84
80
|
};
|
|
81
|
+
teleported: {
|
|
82
|
+
type: import("vue").PropType<boolean>;
|
|
83
|
+
default: boolean;
|
|
84
|
+
};
|
|
85
85
|
hideAfter: {
|
|
86
86
|
type: import("vue").PropType<number>;
|
|
87
87
|
default: number;
|
|
@@ -116,8 +116,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
116
116
|
onConfirm?: ((val: MouseEvent) => any) | undefined;
|
|
117
117
|
}>, {}, {}, {}, {}, {
|
|
118
118
|
width: string | number;
|
|
119
|
-
teleported: boolean;
|
|
120
119
|
icon: string | import("vft/es/vft").IconProps;
|
|
120
|
+
teleported: boolean;
|
|
121
121
|
hideAfter: number;
|
|
122
122
|
persistent: boolean;
|
|
123
123
|
confirmButtonType: import("vft/es/vft").ButtonType;
|
|
@@ -135,14 +135,14 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
135
135
|
type: import("vue").PropType<string | number>;
|
|
136
136
|
default: number;
|
|
137
137
|
};
|
|
138
|
-
teleported: {
|
|
139
|
-
type: import("vue").PropType<boolean>;
|
|
140
|
-
default: boolean;
|
|
141
|
-
};
|
|
142
138
|
icon: {
|
|
143
139
|
type: import("vue").PropType<string | import("vft/es/vft").IconProps>;
|
|
144
140
|
default: string;
|
|
145
141
|
};
|
|
142
|
+
teleported: {
|
|
143
|
+
type: import("vue").PropType<boolean>;
|
|
144
|
+
default: boolean;
|
|
145
|
+
};
|
|
146
146
|
hideAfter: {
|
|
147
147
|
type: import("vue").PropType<number>;
|
|
148
148
|
default: number;
|
|
@@ -180,8 +180,8 @@ export declare const VftPopconfirm: import("vft/es/utils").SFCWithInstall<{
|
|
|
180
180
|
cancel: (val: MouseEvent) => void;
|
|
181
181
|
}, string, {
|
|
182
182
|
width: string | number;
|
|
183
|
-
teleported: boolean;
|
|
184
183
|
icon: string | import("vft/es/vft").IconProps;
|
|
184
|
+
teleported: boolean;
|
|
185
185
|
hideAfter: number;
|
|
186
186
|
persistent: boolean;
|
|
187
187
|
confirmButtonType: import("vft/es/vft").ButtonType;
|
|
@@ -43,8 +43,8 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
43
43
|
onConfirm?: ((val: MouseEvent) => any) | undefined;
|
|
44
44
|
}>, {
|
|
45
45
|
width: string | number;
|
|
46
|
-
teleported: boolean;
|
|
47
46
|
icon: string | IconProps;
|
|
47
|
+
teleported: boolean;
|
|
48
48
|
hideAfter: number;
|
|
49
49
|
persistent: boolean;
|
|
50
50
|
confirmButtonType: ButtonType;
|
|
@@ -263,9 +263,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
|
|
|
263
263
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
264
264
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
265
265
|
readonly effect?: "light" | "dark" | undefined;
|
|
266
|
+
readonly visible?: boolean | null | undefined;
|
|
266
267
|
readonly teleported?: boolean | undefined;
|
|
267
268
|
readonly open?: boolean | undefined;
|
|
268
|
-
readonly visible?: boolean | null | undefined;
|
|
269
269
|
readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
|
|
270
270
|
readonly arrowOffset?: number | undefined;
|
|
271
271
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -681,9 +681,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
|
|
|
681
681
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
682
682
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
683
683
|
readonly effect?: "light" | "dark" | undefined;
|
|
684
|
+
readonly visible?: boolean | null | undefined;
|
|
684
685
|
readonly teleported?: boolean | undefined;
|
|
685
686
|
readonly open?: boolean | undefined;
|
|
686
|
-
readonly visible?: boolean | null | undefined;
|
|
687
687
|
readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
|
|
688
688
|
readonly arrowOffset?: number | undefined;
|
|
689
689
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -1100,9 +1100,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
|
|
|
1100
1100
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
1101
1101
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
1102
1102
|
readonly effect?: "light" | "dark" | undefined;
|
|
1103
|
+
readonly visible?: boolean | null | undefined;
|
|
1103
1104
|
readonly teleported?: boolean | undefined;
|
|
1104
1105
|
readonly open?: boolean | undefined;
|
|
1105
|
-
readonly visible?: boolean | null | undefined;
|
|
1106
1106
|
readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
|
|
1107
1107
|
readonly arrowOffset?: number | undefined;
|
|
1108
1108
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -1518,9 +1518,9 @@ export declare const VftSelect: SFCWithInstall<import("vue").DefineComponent<imp
|
|
|
1518
1518
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
1519
1519
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
1520
1520
|
readonly effect?: "light" | "dark" | undefined;
|
|
1521
|
+
readonly visible?: boolean | null | undefined;
|
|
1521
1522
|
readonly teleported?: boolean | undefined;
|
|
1522
1523
|
readonly open?: boolean | undefined;
|
|
1523
|
-
readonly visible?: boolean | null | undefined;
|
|
1524
1524
|
readonly trigger?: import("vft/es/vft").TooltipTriggerType | undefined;
|
|
1525
1525
|
readonly arrowOffset?: number | undefined;
|
|
1526
1526
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -259,9 +259,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
259
259
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
260
260
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
261
261
|
readonly effect?: "light" | "dark" | undefined;
|
|
262
|
+
readonly visible?: boolean | null | undefined;
|
|
262
263
|
readonly teleported?: boolean | undefined;
|
|
263
264
|
readonly open?: boolean | undefined;
|
|
264
|
-
readonly visible?: boolean | null | undefined;
|
|
265
265
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
266
266
|
readonly arrowOffset?: number | undefined;
|
|
267
267
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -677,9 +677,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
677
677
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
678
678
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
679
679
|
readonly effect?: "light" | "dark" | undefined;
|
|
680
|
+
readonly visible?: boolean | null | undefined;
|
|
680
681
|
readonly teleported?: boolean | undefined;
|
|
681
682
|
readonly open?: boolean | undefined;
|
|
682
|
-
readonly visible?: boolean | null | undefined;
|
|
683
683
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
684
684
|
readonly arrowOffset?: number | undefined;
|
|
685
685
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -1096,9 +1096,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1096
1096
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
1097
1097
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
1098
1098
|
readonly effect?: "light" | "dark" | undefined;
|
|
1099
|
+
readonly visible?: boolean | null | undefined;
|
|
1099
1100
|
readonly teleported?: boolean | undefined;
|
|
1100
1101
|
readonly open?: boolean | undefined;
|
|
1101
|
-
readonly visible?: boolean | null | undefined;
|
|
1102
1102
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
1103
1103
|
readonly arrowOffset?: number | undefined;
|
|
1104
1104
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -1514,9 +1514,9 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
1514
1514
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
1515
1515
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
1516
1516
|
readonly effect?: "light" | "dark" | undefined;
|
|
1517
|
+
readonly visible?: boolean | null | undefined;
|
|
1517
1518
|
readonly teleported?: boolean | undefined;
|
|
1518
1519
|
readonly open?: boolean | undefined;
|
|
1519
|
-
readonly visible?: boolean | null | undefined;
|
|
1520
1520
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
1521
1521
|
readonly arrowOffset?: number | undefined;
|
|
1522
1522
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -103,9 +103,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
|
|
|
103
103
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
104
104
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
105
105
|
readonly effect?: "light" | "dark" | undefined;
|
|
106
|
+
readonly visible?: boolean | null | undefined;
|
|
106
107
|
readonly teleported?: boolean | undefined;
|
|
107
108
|
readonly open?: boolean | undefined;
|
|
108
|
-
readonly visible?: boolean | null | undefined;
|
|
109
109
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
110
110
|
readonly arrowOffset?: number | undefined;
|
|
111
111
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -521,9 +521,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
|
|
|
521
521
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
522
522
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
523
523
|
readonly effect?: "light" | "dark" | undefined;
|
|
524
|
+
readonly visible?: boolean | null | undefined;
|
|
524
525
|
readonly teleported?: boolean | undefined;
|
|
525
526
|
readonly open?: boolean | undefined;
|
|
526
|
-
readonly visible?: boolean | null | undefined;
|
|
527
527
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
528
528
|
readonly arrowOffset?: number | undefined;
|
|
529
529
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -940,9 +940,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
|
|
|
940
940
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
941
941
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
942
942
|
readonly effect?: "light" | "dark" | undefined;
|
|
943
|
+
readonly visible?: boolean | null | undefined;
|
|
943
944
|
readonly teleported?: boolean | undefined;
|
|
944
945
|
readonly open?: boolean | undefined;
|
|
945
|
-
readonly visible?: boolean | null | undefined;
|
|
946
946
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
947
947
|
readonly arrowOffset?: number | undefined;
|
|
948
948
|
readonly gpuAcceleration?: boolean | undefined;
|
|
@@ -1358,9 +1358,9 @@ declare const useSelect: (props: SelectV2Props, emit: any) => {
|
|
|
1358
1358
|
readonly placement?: import("@popperjs/core").Placement | undefined;
|
|
1359
1359
|
readonly strategy?: "fixed" | "absolute" | undefined;
|
|
1360
1360
|
readonly effect?: "light" | "dark" | undefined;
|
|
1361
|
+
readonly visible?: boolean | null | undefined;
|
|
1361
1362
|
readonly teleported?: boolean | undefined;
|
|
1362
1363
|
readonly open?: boolean | undefined;
|
|
1363
|
-
readonly visible?: boolean | null | undefined;
|
|
1364
1364
|
readonly trigger?: import("vft/es/components/tooltip").TooltipTriggerType | undefined;
|
|
1365
1365
|
readonly arrowOffset?: number | undefined;
|
|
1366
1366
|
readonly gpuAcceleration?: boolean | undefined;
|