@@ -23,6 +23,7 @@ const emit = defineEmits<{
|
||||
select: [folder: CollectionObject]
|
||||
createFolder: [service: ServiceObject, parentFolder: CollectionObject | null]
|
||||
editFolder: [service: ServiceObject, folder: CollectionObject]
|
||||
moveFolder: [service: ServiceObject, folder: CollectionObject]
|
||||
deleteFolder: [service: ServiceObject, folder: CollectionObject]
|
||||
}>()
|
||||
|
||||
@@ -43,6 +44,10 @@ const getCurrentPageLevel = (service: ServiceObject): (string | number | null)[]
|
||||
|
||||
// Get folders for current page level
|
||||
const getCurrentPageFolders = (service: ServiceObject): CollectionObject[] => {
|
||||
if (service.identifier === null) {
|
||||
return []
|
||||
}
|
||||
|
||||
const level = getCurrentPageLevel(service)
|
||||
const currentParent = level[level.length - 1]
|
||||
return collectionsStore.collectionsInCollection(service.provider, service.identifier, currentParent)
|
||||
@@ -54,6 +59,10 @@ const hasChildren = (folder: CollectionObject): boolean => {
|
||||
}
|
||||
|
||||
const getServiceFolders = (service: ServiceObject): CollectionObject[] => {
|
||||
if (service.identifier === null) {
|
||||
return []
|
||||
}
|
||||
|
||||
return collectionsStore.collectionsForService(service.provider, service.identifier)
|
||||
}
|
||||
|
||||
@@ -132,6 +141,10 @@ const navigateBack = (service: ServiceObject) => {
|
||||
|
||||
// Get breadcrumb label for current page
|
||||
const getCurrentBreadcrumb = (service: ServiceObject): string => {
|
||||
if (service.identifier === null) {
|
||||
return 'Folders'
|
||||
}
|
||||
|
||||
const level = getCurrentPageLevel(service)
|
||||
const currentParent = level[level.length - 1]
|
||||
if (currentParent === null) return 'All Folders'
|
||||
@@ -148,6 +161,10 @@ const getCurrentBreadcrumb = (service: ServiceObject): string => {
|
||||
|
||||
// Get current parent folder for dialog context
|
||||
const getCurrentParentFolder = (service: ServiceObject): CollectionObject | null => {
|
||||
if (service.identifier === null) {
|
||||
return null
|
||||
}
|
||||
|
||||
const level = getCurrentPageLevel(service)
|
||||
const currentParent = level[level.length - 1]
|
||||
if (currentParent === null) return null
|
||||
@@ -276,6 +293,12 @@ const getCurrentParentFolder = (service: ServiceObject): CollectionObject | null
|
||||
>
|
||||
<v-list-item-title>New Subfolder</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
prepend-icon="mdi-folder-move"
|
||||
@click="emit('moveFolder', group.service, folder)"
|
||||
>
|
||||
<v-list-item-title>Move Folder</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
v-if="canDeleteFolder(folder)"
|
||||
prepend-icon="mdi-delete"
|
||||
@@ -433,6 +456,12 @@ const getCurrentParentFolder = (service: ServiceObject): CollectionObject | null
|
||||
>
|
||||
<v-list-item-title>New Subfolder</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
prepend-icon="mdi-folder-move"
|
||||
@click="emit('moveFolder', group.service, folder)"
|
||||
>
|
||||
<v-list-item-title>Move Folder</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
v-if="canDeleteFolder(folder)"
|
||||
prepend-icon="mdi-delete"
|
||||
|
||||
Reference in New Issue
Block a user