another cleanup pass
This commit is contained in:
parent
898b495f52
commit
ad568b5c9f
8 changed files with 125 additions and 124 deletions
|
|
@ -22,7 +22,7 @@ export class MediaDbAdvancedSearchModal extends Modal {
|
|||
super(plugin.app);
|
||||
|
||||
this.plugin = plugin;
|
||||
this.selectedApis = [];
|
||||
this.selectedApis = [...(advancedSearchModalOptions.preselectedAPIs ?? [])];
|
||||
this.title = advancedSearchModalOptions.modalTitle ?? '';
|
||||
this.query = advancedSearchModalOptions.prefilledSearchString ?? '';
|
||||
this.isBusy = false;
|
||||
|
|
@ -101,7 +101,9 @@ export class MediaDbAdvancedSearchModal extends Modal {
|
|||
apiToggleComponent.setValue(this.selectedApis.some(x => x === api.apiName));
|
||||
apiToggleComponent.onChange(value => {
|
||||
if (value) {
|
||||
this.selectedApis.push(api.apiName);
|
||||
if (!this.selectedApis.includes(api.apiName)) {
|
||||
this.selectedApis.push(api.apiName);
|
||||
}
|
||||
} else {
|
||||
this.selectedApis = this.selectedApis.filter(x => x !== api.apiName);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ export class MediaDbIdSearchModal extends Modal {
|
|||
|
||||
this.plugin = plugin;
|
||||
this.title = idSearchModalOptions.modalTitle ?? '';
|
||||
this.selectedApi = idSearchModalOptions.preselectedAPI ?? plugin.apiManager.apis[0].apiName;
|
||||
this.query = '';
|
||||
this.selectedApi = idSearchModalOptions.preselectedAPI ?? plugin.apiManager.apis[0]?.apiName ?? '';
|
||||
this.query = idSearchModalOptions.prefilledSearchString ?? '';
|
||||
this.isBusy = false;
|
||||
}
|
||||
|
||||
|
|
@ -74,6 +74,7 @@ export class MediaDbIdSearchModal extends Modal {
|
|||
const searchComponent = new TextComponent(contentEl);
|
||||
searchComponent.inputEl.addClass('media-db-plugin-search-input');
|
||||
searchComponent.setPlaceholder(placeholder);
|
||||
searchComponent.setValue(this.query);
|
||||
searchComponent.onChange(value => (this.query = value));
|
||||
searchComponent.inputEl.addEventListener('keydown', this.keyPressCallback.bind(this));
|
||||
|
||||
|
|
@ -93,6 +94,7 @@ export class MediaDbIdSearchModal extends Modal {
|
|||
for (const api of this.plugin.apiManager.apis) {
|
||||
apiSelectorComponent.addOption(api.apiName, api.apiName);
|
||||
}
|
||||
apiSelectorComponent.setValue(this.selectedApi);
|
||||
apiSelectorWrapper.appendChild(apiSelectorComponent.selectEl);
|
||||
|
||||
contentEl.createDiv({ cls: 'media-db-plugin-spacer' });
|
||||
|
|
|
|||
|
|
@ -109,12 +109,13 @@ export class MediaDbSearchModal extends Modal {
|
|||
if (value) {
|
||||
if (currentToggle && currentToggle !== apiToggleComponent) {
|
||||
currentToggle.setValue(false);
|
||||
this.selectedTypes = this.selectedTypes.filter(x => x !== mediaType);
|
||||
}
|
||||
currentToggle = apiToggleComponent;
|
||||
this.selectedTypes.push(mediaType);
|
||||
this.selectedTypes = [mediaType];
|
||||
} else {
|
||||
currentToggle = undefined;
|
||||
if (currentToggle === apiToggleComponent) {
|
||||
currentToggle = undefined;
|
||||
}
|
||||
this.selectedTypes = this.selectedTypes.filter(x => x !== mediaType);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -62,5 +62,6 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
|||
|
||||
onClose(): void {
|
||||
this.closeCallback?.();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import { SelectModal } from 'packages/obsidian/src/modals/SelectModal';
|
|||
export interface SeasonSelectModalElement {
|
||||
season_number: number;
|
||||
name: string;
|
||||
episode_count?: number;
|
||||
air_date?: string;
|
||||
poster_path?: string;
|
||||
}
|
||||
|
|
@ -33,7 +34,6 @@ export class MediaDbSeasonSelectModal extends SelectModal<SeasonSelectModalEleme
|
|||
submit(): void {
|
||||
const selected = this.selectModalElements.filter(x => x.isActive()).map(x => x.value);
|
||||
this.submitCallback?.(selected);
|
||||
this.close();
|
||||
}
|
||||
|
||||
skip(): void {
|
||||
|
|
@ -47,4 +47,9 @@ export class MediaDbSeasonSelectModal extends SelectModal<SeasonSelectModalEleme
|
|||
setCloseCb(cb: (err?: Error) => void): void {
|
||||
this.closeCallback = cb;
|
||||
}
|
||||
|
||||
onClose(): void {
|
||||
this.closeCallback?.();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -81,6 +81,7 @@ export abstract class SelectModal<T> extends Modal {
|
|||
onOpen(): void {
|
||||
const { contentEl, titleEl } = this;
|
||||
|
||||
this.selectModalElements = [];
|
||||
titleEl.createEl('h2', { text: this.title });
|
||||
contentEl.addClass('media-db-plugin-select-modal');
|
||||
contentEl.createEl('p', { text: this.description });
|
||||
|
|
@ -125,6 +126,11 @@ export abstract class SelectModal<T> extends Modal {
|
|||
});
|
||||
}
|
||||
|
||||
onClose(): void {
|
||||
this.selectModalElements = [];
|
||||
this.contentEl.empty();
|
||||
}
|
||||
|
||||
activateHighlighted(): void {
|
||||
for (const selectModalElement of this.selectModalElements) {
|
||||
if (selectModalElement.isHighlighted()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue