mirror of
https://github.com/adityachandelgit/BookLore.git
synced 2026-02-09 11:14:37 -06:00
Cover lock not working in metadata picker and editor
This commit is contained in:
committed by
Aditya Chandel
parent
6d7235731b
commit
77e02ac7f9
@@ -3,6 +3,7 @@ package com.adityachandel.booklore.util;
|
||||
import com.adityachandel.booklore.model.MetadataClearFlags;
|
||||
import com.adityachandel.booklore.model.dto.BookMetadata;
|
||||
import com.adityachandel.booklore.model.entity.BookMetadataEntity;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
@@ -10,10 +11,9 @@ import java.util.*;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Slf4j
|
||||
public class MetadataChangeDetector {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(MetadataChangeDetector.class);
|
||||
|
||||
public static boolean isDifferent(BookMetadata newMeta, BookMetadataEntity existingMeta, MetadataClearFlags clear) {
|
||||
if (clear == null) return true;
|
||||
|
||||
@@ -46,6 +46,12 @@ public class MetadataChangeDetector {
|
||||
compare(changes, "authors", clear.isAuthors(), newMeta.getAuthors(), toNameSet(existingMeta.getAuthors()), () -> !isTrue(existingMeta.getAuthorsLocked()), newMeta.getAuthorsLocked(), existingMeta.getAuthorsLocked());
|
||||
compare(changes, "categories", clear.isCategories(), newMeta.getCategories(), toNameSet(existingMeta.getCategories()), () -> !isTrue(existingMeta.getCategoriesLocked()), newMeta.getCategoriesLocked(), existingMeta.getCategoriesLocked());
|
||||
|
||||
Boolean coverLockedNew = newMeta.getCoverLocked();
|
||||
Boolean coverLockedExisting = existingMeta.getCoverLocked();
|
||||
if (differsLock(coverLockedNew, coverLockedExisting)) {
|
||||
changes.add("cover lock: [" + isTrue(coverLockedExisting) + "] → [" + isTrue(coverLockedNew) + "]");
|
||||
}
|
||||
|
||||
if (!changes.isEmpty()) {
|
||||
/*changes.forEach(change -> log.info("Metadata change: {}", change));*/
|
||||
return true;
|
||||
|
||||
@@ -134,7 +134,7 @@ export class MetadataEditorComponent implements OnInit {
|
||||
seriesNameLocked: new FormControl(false),
|
||||
seriesNumberLocked: new FormControl(false),
|
||||
seriesTotalLocked: new FormControl(false),
|
||||
thumbnailUrlLocked: new FormControl(false),
|
||||
coverLocked: new FormControl(false),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -227,7 +227,7 @@ export class MetadataEditorComponent implements OnInit {
|
||||
seriesNameLocked: metadata.seriesNameLocked ?? false,
|
||||
seriesNumberLocked: metadata.seriesNumberLocked ?? false,
|
||||
seriesTotalLocked: metadata.seriesTotalLocked ?? false,
|
||||
thumbnailUrlLocked: metadata.coverLocked ?? false,
|
||||
coverLocked: metadata.coverLocked ?? false,
|
||||
});
|
||||
|
||||
const lockableFields: { key: keyof BookMetadata; control: string }[] = [
|
||||
@@ -256,7 +256,8 @@ export class MetadataEditorComponent implements OnInit {
|
||||
{key: 'descriptionLocked', control: 'description'},
|
||||
{key: 'seriesNameLocked', control: 'seriesName'},
|
||||
{key: 'seriesNumberLocked', control: 'seriesNumber'},
|
||||
{key: 'seriesTotalLocked', control: 'seriesTotal'}
|
||||
{key: 'seriesTotalLocked', control: 'seriesTotal'},
|
||||
{key: 'coverLocked', control: 'thumbnailUrl'},
|
||||
];
|
||||
|
||||
for (const {key, control} of lockableFields) {
|
||||
@@ -287,6 +288,9 @@ export class MetadataEditorComponent implements OnInit {
|
||||
}
|
||||
|
||||
toggleLock(field: string): void {
|
||||
if (field === 'thumbnailUrl') {
|
||||
field = 'cover'
|
||||
}
|
||||
const isLocked = this.metadataForm.get(field + 'Locked')?.value;
|
||||
const updatedLockedState = !isLocked;
|
||||
this.metadataForm.get(field + 'Locked')?.setValue(updatedLockedState);
|
||||
@@ -396,7 +400,7 @@ export class MetadataEditorComponent implements OnInit {
|
||||
seriesNameLocked: form.get('seriesNameLocked')?.value,
|
||||
seriesNumberLocked: form.get('seriesNumberLocked')?.value,
|
||||
seriesTotalLocked: form.get('seriesTotalLocked')?.value,
|
||||
coverLocked: form.get('thumbnailUrlLocked')?.value,
|
||||
coverLocked: form.get('coverLocked')?.value,
|
||||
|
||||
...(shouldLockAllFields !== undefined && {allFieldsLocked: shouldLockAllFields})
|
||||
};
|
||||
|
||||
@@ -144,7 +144,7 @@ export class MetadataPickerComponent implements OnInit {
|
||||
seriesNameLocked: new FormControl(false),
|
||||
seriesNumberLocked: new FormControl(false),
|
||||
seriesTotalLocked: new FormControl(false),
|
||||
thumbnailUrlLocked: new FormControl(false),
|
||||
coverLocked: new FormControl(false),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -221,7 +221,7 @@ export class MetadataPickerComponent implements OnInit {
|
||||
seriesNameLocked: metadata.seriesNameLocked || false,
|
||||
seriesNumberLocked: metadata.seriesNumberLocked || false,
|
||||
seriesTotalLocked: metadata.seriesTotalLocked || false,
|
||||
thumbnailUrlLocked: metadata.coverLocked || false,
|
||||
coverLocked: metadata.coverLocked || false,
|
||||
});
|
||||
|
||||
if (metadata.titleLocked) this.metadataForm.get('title')?.disable();
|
||||
@@ -330,7 +330,7 @@ export class MetadataPickerComponent implements OnInit {
|
||||
seriesNameLocked: this.metadataForm.get('seriesNameLocked')?.value,
|
||||
seriesNumberLocked: this.metadataForm.get('seriesNumberLocked')?.value,
|
||||
seriesTotalLocked: this.metadataForm.get('seriesTotalLocked')?.value,
|
||||
coverLocked: this.metadataForm.get('thumbnailUrlLocked')?.value,
|
||||
coverLocked: this.metadataForm.get('coverLocked')?.value,
|
||||
|
||||
...(shouldLockAllFields !== undefined && {allFieldsLocked: shouldLockAllFields}),
|
||||
};
|
||||
@@ -407,6 +407,9 @@ export class MetadataPickerComponent implements OnInit {
|
||||
}
|
||||
|
||||
toggleLock(field: string): void {
|
||||
if (field === 'thumbnailUrl') {
|
||||
field = 'cover'
|
||||
}
|
||||
const isLocked = this.metadataForm.get(field + 'Locked')?.value;
|
||||
const updatedLockedState = !isLocked;
|
||||
this.metadataForm.get(field + 'Locked')?.setValue(updatedLockedState);
|
||||
@@ -437,6 +440,9 @@ export class MetadataPickerComponent implements OnInit {
|
||||
}
|
||||
|
||||
copyFetchedToCurrent(field: string): void {
|
||||
if (field === 'thumbnailUrl') {
|
||||
field = 'cover';
|
||||
}
|
||||
const isLocked = this.metadataForm.get(`${field}Locked`)?.value;
|
||||
if (isLocked) {
|
||||
this.messageService.add({
|
||||
@@ -446,6 +452,9 @@ export class MetadataPickerComponent implements OnInit {
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (field === 'cover') {
|
||||
field = 'thumbnailUrl';
|
||||
}
|
||||
const value = this.fetchedMetadata[field];
|
||||
if (value) {
|
||||
this.metadataForm.get(field)?.setValue(value);
|
||||
|
||||
Reference in New Issue
Block a user