refactor(explorer): optimize openFolder (#148)

This commit is contained in:
Hayden
2025-02-22 18:10:11 +08:00
committed by GitHub
parent 759865e8ea
commit 450072e49d
7 changed files with 62 additions and 51 deletions

View File

@@ -20,7 +20,6 @@
v-show="!showToolbar"
class="h-10 flex-1"
:items="folderPaths"
@item-click="(item, index) => openFolder(index, item.name, item.icon)"
></ResponseBreadcrumb>
</div>
@@ -211,7 +210,7 @@ const currentDataList = computed(() => {
const modelItems: ModelTreeNode[] = []
for (const item of renderedList) {
if (item.type === 'folder') {
if (item.isFolder) {
folderItems.push(item)
} else {
modelItems.push(item)
@@ -281,8 +280,9 @@ const confirmName = ref('')
const openItem = (item: ModelTreeNode, e: Event) => {
menu.value.hide(e)
if (item.type === 'folder') {
openFolder(folderPaths.value.length, item.basename)
if (item.isFolder) {
searchContent.value = undefined
openFolder(item)
} else {
openModelDetail(item)
}

View File

@@ -216,7 +216,7 @@ const cols = computed(() => {
const list = computed(() => {
const mergedList = Object.values(data.value).flat()
const pureModels = mergedList.filter((item) => {
return item.type !== 'folder'
return !item.isFolder
})
const filterList = pureModels.filter((model) => {

View File

@@ -5,7 +5,7 @@
>
<div data-card-main class="flex h-full w-full flex-col">
<div data-card-preview class="flex-1 overflow-hidden">
<div v-if="model.type === 'folder'" class="h-full w-full">
<div v-if="model.isFolder" class="h-full w-full">
<svg
class="icon"
viewBox="0 0 1024 1024"
@@ -39,7 +39,7 @@
</div>
<div
v-if="model.type !== 'folder'"
v-if="!model.isFolder"
data-draggable-overlay
class="absolute left-0 top-0 h-full w-full"
draggable="true"
@@ -47,7 +47,7 @@
></div>
<div
v-if="model.type !== 'folder'"
v-if="!model.isFolder"
data-mode-type
class="pointer-events-none absolute left-2 top-2"
:style="{