import books do not include one shots when picking series for many

This commit is contained in:
Gauthier Roebroeck 2025-10-17 09:48:13 +08:00
parent 722c14bf3f
commit a81798b039

View file

@ -76,7 +76,7 @@
? (dialogSeriesPickerActivator = $event.currentTarget as Element) ? (dialogSeriesPickerActivator = $event.currentTarget as Element)
: (dialogSeriesPickerActivator = undefined) : (dialogSeriesPickerActivator = undefined)
" "
@click="item.selectable ? (currentActionedItems = [item]) : undefined" @click="item.selectable ? selectSeriesForOne(item) : undefined"
> >
<span <span
v-if="item.series" v-if="item.series"
@ -208,7 +208,7 @@
color="" color=""
:disabled="loading || selectedBookIds.length == 0" :disabled="loading || selectedBookIds.length == 0"
@mouseenter="dialogSeriesPickerActivator = $event.currentTarget as Element" @mouseenter="dialogSeriesPickerActivator = $event.currentTarget as Element"
@click="currentActionedItems = selectedBooks" @click="selectSeriesForSelected()"
/> />
</v-col> </v-col>
@ -232,6 +232,7 @@
<DialogSeriesPicker <DialogSeriesPicker
:activator="dialogSeriesPickerActivator" :activator="dialogSeriesPickerActivator"
:fullscreen="display.xs.value" :fullscreen="display.xs.value"
:include-one-shots="dialogSeriesIncludeOneShots"
@selected-series="(series) => seriesPicked(series)" @selected-series="(series) => seriesPicked(series)"
/> />
@ -474,8 +475,9 @@ const copyOptions = [
] ]
const copyMode = ref<string>(copyOptions[0]!.value) const copyMode = ref<string>(copyOptions[0]!.value)
// Series Picker Dialog //region Series Picker Dialog
const dialogSeriesPickerActivator = ref<Element | undefined>(undefined) const dialogSeriesPickerActivator = ref<Element | undefined>(undefined)
const dialogSeriesIncludeOneShots = ref<boolean>(true)
function seriesPicked(series: components['schemas']['SeriesDto']) { function seriesPicked(series: components['schemas']['SeriesDto']) {
if (currentActionedItems.value) { if (currentActionedItems.value) {
@ -483,7 +485,18 @@ function seriesPicked(series: components['schemas']['SeriesDto']) {
} }
} }
// Book Picker Dialog function selectSeriesForSelected() {
dialogSeriesIncludeOneShots.value = false
currentActionedItems.value = selectedBooks.value
}
function selectSeriesForOne(item: BookImport) {
dialogSeriesIncludeOneShots.value = true
currentActionedItems.value = [item]
}
//endregion
//region Book Picker Dialog
const dialogBookPickerActivator = ref<Element | undefined>(undefined) const dialogBookPickerActivator = ref<Element | undefined>(undefined)
function bookPicked(book: components['schemas']['BookDto']) { function bookPicked(book: components['schemas']['BookDto']) {
@ -491,6 +504,7 @@ function bookPicked(book: components['schemas']['BookDto']) {
currentActionedItems.value.forEach((it) => assignBookNumber(it, book.metadata.numberSort)) currentActionedItems.value.forEach((it) => assignBookNumber(it, book.metadata.numberSort))
} }
} }
//endregion
// File Name Picker dialog // File Name Picker dialog
const dialogFileNamePickerActivator = ref<Element | undefined>(undefined) const dialogFileNamePickerActivator = ref<Element | undefined>(undefined)