mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-07-07 01:19:47 +02:00
Add EditSeriesModal
This commit is contained in:
parent
3fa4e754a1
commit
9ba79d4c02
65
client/components/modals/EditSeriesModal.vue
Normal file
65
client/components/modals/EditSeriesModal.vue
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<template>
|
||||||
|
<modals-modal v-model="show" name="edit-series" :processing="isProcessing" :width="500" :height="'unset'">
|
||||||
|
<div ref="container" class="w-full rounded-lg bg-bg box-shadow-md overflow-y-auto overflow-x-hidden p-4" style="max-height: 80vh; min-height: 40vh">
|
||||||
|
<h3 class="text-xl font-semibold mb-8">{{ $strings.LabelEditSeries }}</h3>
|
||||||
|
<div class="flex items-center mb-4">
|
||||||
|
<ui-textarea-with-label v-model="descriptionValue" :label="$strings.LabelSeriesDescription" :rows="8" />
|
||||||
|
</div>
|
||||||
|
<div class="absolute bottom-0 left-0 w-full py-2 md:py-4 bg-bg border-t border-white border-opacity-5">
|
||||||
|
<div class="flex items-center px-4">
|
||||||
|
<div class="flex-grow" />
|
||||||
|
|
||||||
|
<!-- desktop -->
|
||||||
|
<ui-btn @click="save" class="mx-2 hidden md:block">{{ $strings.ButtonSave }}</ui-btn>
|
||||||
|
<ui-btn @click="saveAndClose" class="mx-2 hidden md:block">{{ $strings.ButtonSaveAndClose }}</ui-btn>
|
||||||
|
<!-- mobile -->
|
||||||
|
<ui-btn @click="saveAndClose" class="mx-2 md:hidden">{{ $strings.ButtonSave }}</ui-btn>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</modals-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
value: Boolean,
|
||||||
|
series: Object
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isProcessing: false,
|
||||||
|
descriptionValue: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
show: {
|
||||||
|
get() {
|
||||||
|
return this.value
|
||||||
|
},
|
||||||
|
set(val) {
|
||||||
|
this.$emit('input', val)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
async save() {
|
||||||
|
if (this.isProcessing) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
const payload = {
|
||||||
|
description: this.descriptionValue
|
||||||
|
}
|
||||||
|
|
||||||
|
this.isProcessing = true
|
||||||
|
// Handle series update
|
||||||
|
this.isProcessing = false
|
||||||
|
},
|
||||||
|
async saveAndClose() {
|
||||||
|
const wasUpdated = await this.save()
|
||||||
|
if (wasUpdated !== null) this.show = false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
Loading…
Reference in New Issue
Block a user