This commit is contained in:
dap
2024-10-11 08:43:19 +08:00
46 changed files with 176 additions and 107 deletions

View File

@@ -37,6 +37,7 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"enable": true,
"icp": "",
"icpLink": "",
"settingShow": true,
},
"footer": {
"enable": false,
@@ -73,7 +74,7 @@ exports[`defaultPreferences immutability test > should not modify the config obj
"width": 224,
},
"tabbar": {
"dragable": true,
"draggable": true,
"enable": true,
"height": 38,
"keepAlive": true,

View File

@@ -37,6 +37,7 @@ const defaultPreferences: Preferences = {
enable: true,
icp: '',
icpLink: '',
settingShow: true,
},
footer: {
enable: false,
@@ -73,7 +74,7 @@ const defaultPreferences: Preferences = {
width: 224,
},
tabbar: {
dragable: true,
draggable: true,
enable: true,
height: 38,
keepAlive: true,

View File

@@ -88,6 +88,8 @@ interface CopyrightPreferences {
icp: string;
/** 备案号链接 */
icpLink: string;
/** 设置面板是否显示*/
settingShow?: boolean;
}
interface FooterPreferences {
@@ -154,7 +156,7 @@ interface ShortcutKeyPreferences {
interface TabbarPreferences {
/** 是否开启多标签页拖拽 */
dragable: boolean;
draggable: boolean;
/** 是否开启多标签页 */
enable: boolean;
/** 标签页高度 */

View File

@@ -69,7 +69,7 @@ const tabsView = computed((): TabConfig[] => {
v-for="(tab, i) in tabsView"
:key="tab.key"
ref="tabRef"
:class="[{ 'is-active': tab.key === active, dragable: !tab.affixTab }]"
:class="[{ 'is-active': tab.key === active, draggable: !tab.affixTab }]"
:data-active-tab="active"
:data-index="i"
class="tabs-chrome__item draggable translate-all group relative -mr-3 flex h-full select-none items-center"

View File

@@ -75,7 +75,7 @@ const tabsView = computed((): TabConfig[] => {
:class="[
{
'is-active dark:bg-accent bg-primary/15': tab.key === active,
dragable: !tab.affixTab,
draggable: !tab.affixTab,
},
typeWithClass.content,
]"

View File

@@ -17,7 +17,7 @@ defineOptions({
const props = withDefaults(defineProps<Props>(), {
contentClass: 'vben-tabs-content',
dragable: true,
draggable: true,
styleType: 'chrome',
});

View File

@@ -21,7 +21,7 @@ export interface TabsProps {
/**
* @zh_CN 是否可以拖拽
*/
dragable?: boolean;
draggable?: boolean;
/**
* @zh_CN 间隙
* @default 7

View File

@@ -42,8 +42,8 @@ export function useTabsDrag(props: TabsProps, emit: EmitType) {
const { initializeSortable } = useSortable(el, {
filter: (_evt, target: HTMLElement) => {
const parent = findParentElement(target);
const dragable = parent?.classList.contains('dragable');
return !dragable || !props.dragable;
const draggable = parent?.classList.contains('draggable');
return !draggable || !props.draggable;
},
onEnd(evt) {
const { newIndex, oldIndex } = evt;
@@ -62,7 +62,7 @@ export function useTabsDrag(props: TabsProps, emit: EmitType) {
return;
}
if (!srcParent.classList.contains('dragable')) {
if (!srcParent.classList.contains('draggable')) {
resetElState();
return;
@@ -81,7 +81,7 @@ export function useTabsDrag(props: TabsProps, emit: EmitType) {
},
onMove(evt) {
const parent = findParentElement(evt.related);
return parent?.classList.contains('dragable') && props.dragable;
return parent?.classList.contains('draggable') && props.draggable;
},
onStart: () => {
el.style.cursor = 'grabbing';