fix: find subfolder incorrect (#154)
This commit is contained in:
@@ -193,7 +193,10 @@ const sortOrderOptions = ref(
|
|||||||
const currentDataList = computed(() => {
|
const currentDataList = computed(() => {
|
||||||
let renderedList = dataTreeList.value
|
let renderedList = dataTreeList.value
|
||||||
for (const folderItem of folderPaths.value) {
|
for (const folderItem of folderPaths.value) {
|
||||||
const found = findFolder(renderedList, folderItem.name)
|
const found = findFolder(renderedList, {
|
||||||
|
basename: folderItem.name,
|
||||||
|
pathIndex: folderItem.pathIndex,
|
||||||
|
})
|
||||||
renderedList = found?.children || []
|
renderedList = found?.children || []
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import { computed, ref, watch } from 'vue'
|
|||||||
|
|
||||||
export interface FolderPathItem {
|
export interface FolderPathItem {
|
||||||
name: string
|
name: string
|
||||||
|
pathIndex: number
|
||||||
icon?: string
|
icon?: string
|
||||||
onClick: () => void
|
onClick: () => void
|
||||||
children: SelectOptions[]
|
children: SelectOptions[]
|
||||||
@@ -91,10 +92,11 @@ export const useModelExplorer = () => {
|
|||||||
return [root]
|
return [root]
|
||||||
})
|
})
|
||||||
|
|
||||||
function findFolder(list: ModelTreeNode[], name: string) {
|
function findFolder(
|
||||||
return find(list, { isFolder: true, basename: name }) as
|
list: ModelTreeNode[],
|
||||||
| ModelFolder
|
feature: { basename: string; pathIndex: number },
|
||||||
| undefined
|
) {
|
||||||
|
return find(list, { ...feature, isFolder: true }) as ModelFolder | undefined
|
||||||
}
|
}
|
||||||
|
|
||||||
function findFolders(list: ModelTreeNode[]) {
|
function findFolders(list: ModelTreeNode[]) {
|
||||||
@@ -118,7 +120,12 @@ export const useModelExplorer = () => {
|
|||||||
|
|
||||||
let levelFolders = findFolders(dataTreeList.value)
|
let levelFolders = findFolders(dataTreeList.value)
|
||||||
for (const [index, part] of pathParts.entries()) {
|
for (const [index, part] of pathParts.entries()) {
|
||||||
const currentFolder = findFolder(levelFolders, part)
|
const pathIndex = index < 2 ? 0 : item.pathIndex
|
||||||
|
|
||||||
|
const currentFolder = findFolder(levelFolders, {
|
||||||
|
basename: part,
|
||||||
|
pathIndex: pathIndex,
|
||||||
|
})
|
||||||
if (!currentFolder) {
|
if (!currentFolder) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -126,6 +133,7 @@ export const useModelExplorer = () => {
|
|||||||
levelFolders = findFolders(currentFolder.children ?? [])
|
levelFolders = findFolders(currentFolder.children ?? [])
|
||||||
folderItems.push({
|
folderItems.push({
|
||||||
name: currentFolder.basename,
|
name: currentFolder.basename,
|
||||||
|
pathIndex: pathIndex,
|
||||||
icon: index === 0 ? 'pi pi-desktop' : '',
|
icon: index === 0 ? 'pi pi-desktop' : '',
|
||||||
onClick: () => {
|
onClick: () => {
|
||||||
openFolder(currentFolder)
|
openFolder(currentFolder)
|
||||||
|
|||||||
Reference in New Issue
Block a user