feat: collection rename
Signed-off-by: Sebastian <krupinski01@gmail.com>
This commit is contained in:
@@ -18,6 +18,7 @@ const props = defineProps<Props>()
|
||||
const emit = defineEmits<{
|
||||
select: [folder: CollectionObject]
|
||||
createSubfolder: [service: ServiceInterface, parentFolder: CollectionObject]
|
||||
editFolder: [service: ServiceInterface, folder: CollectionObject]
|
||||
}>()
|
||||
|
||||
// Get icon for folder based on role
|
||||
@@ -76,6 +77,7 @@ const isSelected = (folder: CollectionObject): boolean => {
|
||||
<template v-slot:activator="{ props: activatorProps }">
|
||||
<v-list-item
|
||||
v-bind="activatorProps"
|
||||
class="folder-row-item"
|
||||
:title="node.folder.properties.label"
|
||||
:active="isSelected(node.folder)"
|
||||
@click.stop="emit('select', node.folder)"
|
||||
@@ -112,6 +114,12 @@ const isSelected = (folder: CollectionObject): boolean => {
|
||||
</template>
|
||||
|
||||
<v-list density="compact">
|
||||
<v-list-item
|
||||
prepend-icon="mdi-pencil"
|
||||
@click="emit('editFolder', service, node.folder)"
|
||||
>
|
||||
<v-list-item-title>Edit Folder Name</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
prepend-icon="mdi-folder-plus"
|
||||
@click="emit('createSubfolder', service, node.folder)"
|
||||
@@ -133,12 +141,14 @@ const isSelected = (folder: CollectionObject): boolean => {
|
||||
:selected-folder="selectedFolder"
|
||||
@select="emit('select', $event)"
|
||||
@create-subfolder="(service, parentFolder) => emit('createSubfolder', service, parentFolder)"
|
||||
@edit-folder="(service, folder) => emit('editFolder', service, folder)"
|
||||
/>
|
||||
</div>
|
||||
</v-list-group>
|
||||
|
||||
<v-list-item
|
||||
v-else
|
||||
class="folder-tree-item folder-row-item"
|
||||
:title="node.folder.properties.label"
|
||||
:active="isSelected(node.folder)"
|
||||
@click="emit('select', node.folder)"
|
||||
@@ -175,6 +185,12 @@ const isSelected = (folder: CollectionObject): boolean => {
|
||||
</template>
|
||||
|
||||
<v-list density="compact">
|
||||
<v-list-item
|
||||
prepend-icon="mdi-pencil"
|
||||
@click="emit('editFolder', service, node.folder)"
|
||||
>
|
||||
<v-list-item-title>Edit Folder Name</v-list-item-title>
|
||||
</v-list-item>
|
||||
<v-list-item
|
||||
prepend-icon="mdi-folder-plus"
|
||||
@click="emit('createSubfolder', service, node.folder)"
|
||||
@@ -198,6 +214,11 @@ export default {
|
||||
background-color: rgba(var(--v-theme-primary), 0.12);
|
||||
}
|
||||
|
||||
/* Keep top-level leaf folders aligned with expandable folders */
|
||||
.folder-tree-item {
|
||||
--indent-padding: 0 !important;
|
||||
}
|
||||
|
||||
/* Remove indentation for the folder-tree-group itself */
|
||||
.folder-tree-group {
|
||||
--indent-padding: 0 !important;
|
||||
@@ -208,6 +229,15 @@ export default {
|
||||
--indent-padding: 0;
|
||||
}
|
||||
|
||||
.folder-row-item {
|
||||
--v-list-item-prepend-size: 22px;
|
||||
}
|
||||
|
||||
.folder-row-item :deep(.v-list-item__prepend) {
|
||||
padding-inline-start: 4px;
|
||||
margin-inline-end: 2px;
|
||||
}
|
||||
|
||||
/* Add visual indicator for nested items */
|
||||
.folder-tree-children {
|
||||
position: relative;
|
||||
|
||||
Reference in New Issue
Block a user