Improved clarity for users when choosing seasons
The last modal now says "create entry" instead of "Ok"
This commit is contained in:
parent
e8154bd381
commit
59919f9461
4 changed files with 17 additions and 8 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
import type MediaDbPlugin from '../main';
|
import type MediaDbPlugin from '../main';
|
||||||
import type { MediaTypeModel } from '../models/MediaTypeModel';
|
import type { MediaTypeModel } from '../models/MediaTypeModel';
|
||||||
import type { SelectModalData, SelectModalOptions } from '../utils/ModalHelper';
|
import type { SelectModalData, SelectModalOptions } from '../utils/ModalHelper';
|
||||||
import { SELECT_MODAL_OPTIONS_DEFAULT } from '../utils/ModalHelper';
|
import { SELECTMODALOPTIONSDEFAULT } from '../utils/ModalHelper';
|
||||||
import { SelectModal } from './SelectModal';
|
import { SelectModal } from './SelectModal';
|
||||||
|
|
||||||
export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
||||||
|
|
@ -13,18 +13,17 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
||||||
submitCallback?: (res: SelectModalData) => void;
|
submitCallback?: (res: SelectModalData) => void;
|
||||||
closeCallback?: (err?: Error) => void;
|
closeCallback?: (err?: Error) => void;
|
||||||
skipCallback?: () => void;
|
skipCallback?: () => void;
|
||||||
|
submitButtonText: string;
|
||||||
|
|
||||||
constructor(plugin: MediaDbPlugin, selectModalOptions: SelectModalOptions) {
|
constructor(plugin: MediaDbPlugin, selectModalOptions: SelectModalOptions) {
|
||||||
selectModalOptions = Object.assign({}, SELECT_MODAL_OPTIONS_DEFAULT, selectModalOptions);
|
selectModalOptions = Object.assign({}, SELECTMODALOPTIONSDEFAULT, selectModalOptions);
|
||||||
super(plugin.app, selectModalOptions.elements ?? [], selectModalOptions.multiSelect);
|
super(plugin.app, selectModalOptions.elements ?? [], selectModalOptions.multiSelect);
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
|
||||||
this.title = selectModalOptions.modalTitle ?? '';
|
this.title = selectModalOptions.modalTitle ?? '';
|
||||||
this.description = 'Select one or multiple search results.';
|
this.description = 'Select one or multiple search results.';
|
||||||
this.addSkipButton = selectModalOptions.skipButton ?? false;
|
this.addSkipButton = selectModalOptions.skipButton ?? false;
|
||||||
|
this.submitButtonText = 'Ok';
|
||||||
this.busy = false;
|
this.busy = false;
|
||||||
|
|
||||||
this.sendCallback = false;
|
this.sendCallback = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,9 @@ export class MediaDbSeasonSelectModal extends SelectModal<SeasonSelectModalEleme
|
||||||
super(plugin.app, seasons, multiSelect);
|
super(plugin.app, seasons, multiSelect);
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.seriesName = seriesName;
|
this.seriesName = seriesName;
|
||||||
this.title = `Select Season(s) for${seriesName ? `: ${seriesName}` : ''}`;
|
this.title = `Select seasons for${seriesName ? ` ${seriesName}` : ''}`;
|
||||||
this.description = 'Select one or more seasons to create notes for.';
|
this.description = 'Select one or more seasons to create notes for.';
|
||||||
|
this.submitButtonText = 'Create Entry';
|
||||||
}
|
}
|
||||||
|
|
||||||
renderElement(season: SeasonSelectModalElement, el: HTMLElement): void {
|
renderElement(season: SeasonSelectModalElement, el: HTMLElement): void {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
cancelButton?: ButtonComponent;
|
cancelButton?: ButtonComponent;
|
||||||
skipButton?: ButtonComponent;
|
skipButton?: ButtonComponent;
|
||||||
submitButton?: ButtonComponent;
|
submitButton?: ButtonComponent;
|
||||||
|
submitButtonText: string;
|
||||||
|
|
||||||
elementWrapper?: HTMLDivElement;
|
elementWrapper?: HTMLDivElement;
|
||||||
|
|
||||||
|
|
@ -25,6 +26,7 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
this.title = '';
|
this.title = '';
|
||||||
this.description = '';
|
this.description = '';
|
||||||
this.addSkipButton = false;
|
this.addSkipButton = false;
|
||||||
|
this.submitButtonText = 'Ok';
|
||||||
this.cancelButton = undefined;
|
this.cancelButton = undefined;
|
||||||
this.skipButton = undefined;
|
this.skipButton = undefined;
|
||||||
this.submitButton = undefined;
|
this.submitButton = undefined;
|
||||||
|
|
@ -114,8 +116,8 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
this.skipButton = btn;
|
this.skipButton = btn;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
bottomSettingRow.addButton(btn => {
|
bottomSettingRow.addButton((btn) => {
|
||||||
btn.setButtonText('Ok');
|
btn.setButtonText(this.submitButtonText);
|
||||||
btn.setCta();
|
btn.setCta();
|
||||||
btn.onClick(() => this.submit());
|
btn.onClick(() => this.submit());
|
||||||
btn.buttonEl.addClass('media-db-plugin-button');
|
btn.buttonEl.addClass('media-db-plugin-button');
|
||||||
|
|
|
||||||
|
|
@ -205,6 +205,13 @@ export const PREVIEW_MODAL_DEFAULT_OPTIONS: PreviewModalOptions = {
|
||||||
elements: [],
|
elements: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const SELECTMODALOPTIONSDEFAULT: SelectModalOptions = {
|
||||||
|
elements: [],
|
||||||
|
multiSelect: true,
|
||||||
|
modalTitle: '',
|
||||||
|
skipButton: false,
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class providing multiple usefull functions for dealing with the plugins modals.
|
* A class providing multiple usefull functions for dealing with the plugins modals.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue