refactor: use unified manager design
Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
import { ref, computed, watch } from 'vue'
|
||||
import { useServicesStore } from '@ChronoManager/stores/servicesStore'
|
||||
import { CollectionObject } from '@ChronoManager/models/collection'
|
||||
import { ServiceObject } from '@ChronoManager/models/service'
|
||||
import type { ServiceObject } from '@ChronoManager/models/service'
|
||||
|
||||
// Store
|
||||
const servicesStore = useServicesStore()
|
||||
@@ -74,11 +74,11 @@ const onOpen = async () => {
|
||||
if (props.mode === 'edit') {
|
||||
// Edit mode - find the service
|
||||
editingCollectionService.value = services.value.find(s =>
|
||||
s.provider === props.collection!.provider && s.identifier === props.collection!.service
|
||||
`${s.provider}:${s.identifier}` === String(props.collection!.service)
|
||||
) || null
|
||||
} else {
|
||||
// Create mode - use first service that can create
|
||||
editingCollectionService.value = services.value.filter(s => s.capabilities?.CollectionCreate)[0] || null
|
||||
editingCollectionService.value = services.value.find(s => s.capable('CollectionCreate')) || null
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,7 +142,7 @@ watch(() => props.modelValue, async (newValue) => {
|
||||
<v-combobox v-show="mode === 'create' && services.length > 1"
|
||||
v-model="editingCollectionService"
|
||||
label="Service"
|
||||
:items="services.filter(s => s.capabilities?.CollectionCreate)"
|
||||
:items="services.filter(s => s.capable('CollectionCreate'))"
|
||||
item-title="label"
|
||||
item-value="identifier"
|
||||
required
|
||||
@@ -254,7 +254,7 @@ watch(() => props.modelValue, async (newValue) => {
|
||||
<v-card-actions class="justify-space-between align-center">
|
||||
<div>
|
||||
<v-btn
|
||||
v-if="mode === 'edit' && editingCollectionService?.capabilities?.CollectionDestroy"
|
||||
v-if="mode === 'edit' && editingCollectionService?.capable('CollectionDelete')"
|
||||
color="error"
|
||||
variant="text"
|
||||
@click="onDelete"
|
||||
|
||||
Reference in New Issue
Block a user