Add:Metadata provider option to library

This commit is contained in:
advplyr 2022-02-15 14:59:46 -06:00
parent c046f9ee98
commit de32698ea5
3 changed files with 19 additions and 2 deletions

View File

@ -6,7 +6,14 @@
</div>
<div v-if="!showDirectoryPicker" class="w-full h-full py-4">
<div class="flex flex-wrap -mx-1">
<div class="w-full md:w-2/3 px-1">
<ui-text-input-with-label v-model="name" label="Library Name" />
</div>
<div class="w-full md:w-1/3 px-1">
<ui-dropdown v-model="provider" :items="providers" label="Metadata Provider" small />
</div>
</div>
<div class="w-full py-4">
<p class="px-1 text-sm font-semibold">Folders</p>
@ -42,6 +49,7 @@ export default {
data() {
return {
name: '',
provider: '',
folders: [],
showDirectoryPicker: false
}
@ -62,6 +70,9 @@ export default {
var origfolderpaths = this.library.folders.map((f) => f.fullPath).join(',')
return newfolderpaths === origfolderpaths && this.name === this.library.name
},
providers() {
return this.$store.state.scanners.providers
}
},
methods: {
@ -75,6 +86,7 @@ export default {
},
init() {
this.name = this.library ? this.library.name : ''
this.provider = this.library ? this.library.provider : ''
this.folders = this.library ? this.library.folders.map((p) => ({ ...p })) : []
this.showDirectoryPicker = false
},
@ -100,6 +112,7 @@ export default {
}
var newLibraryPayload = {
name: this.name,
provider: this.provider,
folders: this.folders
}
@ -132,6 +145,7 @@ export default {
}
var newLibraryPayload = {
name: this.name,
provider: this.provider,
folders: this.folders
}

View File

@ -1,7 +1,7 @@
<template>
<div class="relative w-full" v-click-outside="clickOutsideObj">
<p class="text-sm font-semibold">{{ label }}</p>
<button type="button" :disabled="disabled" class="relative w-full border border-gray-500 rounded shadow-sm pl-3 pr-8 py-2 text-left focus:outline-none sm:text-sm cursor-pointer bg-primary" :class="small ? 'h-9' : 'h-10'" aria-haspopup="listbox" aria-expanded="true" @click.stop.prevent="clickShowMenu">
<button type="button" :disabled="disabled" class="relative w-full border border-gray-600 rounded shadow-sm pl-3 pr-8 py-2 text-left focus:outline-none sm:text-sm cursor-pointer bg-primary" :class="small ? 'h-9' : 'h-10'" aria-haspopup="listbox" aria-expanded="true" @click.stop.prevent="clickShowMenu">
<span class="flex items-center">
<span class="block truncate" :class="small ? 'text-sm' : ''">{{ selectedText }}</span>
</span>

View File

@ -8,6 +8,7 @@ class Library {
this.folders = []
this.displayOrder = 1
this.icon = 'database'
this.provider = 'google'
this.lastScan = 0
@ -29,6 +30,7 @@ class Library {
this.folders = (library.folders || []).map(f => new Folder(f))
this.displayOrder = library.displayOrder || 1
this.icon = library.icon || 'database'
this.provider = library.provider || 'google'
this.createdAt = library.createdAt
this.lastUpdate = library.lastUpdate
@ -41,6 +43,7 @@ class Library {
folders: (this.folders || []).map(f => f.toJSON()),
displayOrder: this.displayOrder,
icon: this.icon,
provider: this.provider,
createdAt: this.createdAt,
lastUpdate: this.lastUpdate
}