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 { MediaTypeModel } from '../models/MediaTypeModel';
|
||||
import type { SelectModalData, SelectModalOptions } from '../utils/ModalHelper';
|
||||
import { SELECT_MODAL_OPTIONS_DEFAULT } from '../utils/ModalHelper';
|
||||
import { SELECTMODALOPTIONSDEFAULT } from '../utils/ModalHelper';
|
||||
import { SelectModal } from './SelectModal';
|
||||
|
||||
export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
||||
|
|
@ -13,18 +13,17 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
|||
submitCallback?: (res: SelectModalData) => void;
|
||||
closeCallback?: (err?: Error) => void;
|
||||
skipCallback?: () => void;
|
||||
submitButtonText: string;
|
||||
|
||||
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);
|
||||
this.plugin = plugin;
|
||||
|
||||
this.title = selectModalOptions.modalTitle ?? '';
|
||||
this.description = 'Select one or multiple search results.';
|
||||
this.addSkipButton = selectModalOptions.skipButton ?? false;
|
||||
|
||||
this.submitButtonText = 'Ok';
|
||||
this.busy = false;
|
||||
|
||||
this.sendCallback = false;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -18,8 +18,9 @@ export class MediaDbSeasonSelectModal extends SelectModal<SeasonSelectModalEleme
|
|||
super(plugin.app, seasons, multiSelect);
|
||||
this.plugin = plugin;
|
||||
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.submitButtonText = 'Create Entry';
|
||||
}
|
||||
|
||||
renderElement(season: SeasonSelectModalElement, el: HTMLElement): void {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ export abstract class SelectModal<T> extends Modal {
|
|||
cancelButton?: ButtonComponent;
|
||||
skipButton?: ButtonComponent;
|
||||
submitButton?: ButtonComponent;
|
||||
submitButtonText: string;
|
||||
|
||||
elementWrapper?: HTMLDivElement;
|
||||
|
||||
|
|
@ -25,6 +26,7 @@ export abstract class SelectModal<T> extends Modal {
|
|||
this.title = '';
|
||||
this.description = '';
|
||||
this.addSkipButton = false;
|
||||
this.submitButtonText = 'Ok';
|
||||
this.cancelButton = undefined;
|
||||
this.skipButton = undefined;
|
||||
this.submitButton = undefined;
|
||||
|
|
@ -114,8 +116,8 @@ export abstract class SelectModal<T> extends Modal {
|
|||
this.skipButton = btn;
|
||||
});
|
||||
}
|
||||
bottomSettingRow.addButton(btn => {
|
||||
btn.setButtonText('Ok');
|
||||
bottomSettingRow.addButton((btn) => {
|
||||
btn.setButtonText(this.submitButtonText);
|
||||
btn.setCta();
|
||||
btn.onClick(() => this.submit());
|
||||
btn.buttonEl.addClass('media-db-plugin-button');
|
||||
|
|
|
|||
|
|
@ -205,6 +205,13 @@ export const PREVIEW_MODAL_DEFAULT_OPTIONS: PreviewModalOptions = {
|
|||
elements: [],
|
||||
};
|
||||
|
||||
export const SELECTMODALOPTIONSDEFAULT: SelectModalOptions = {
|
||||
elements: [],
|
||||
multiSelect: true,
|
||||
modalTitle: '',
|
||||
skipButton: false,
|
||||
};
|
||||
|
||||
/**
|
||||
* A class providing multiple usefull functions for dealing with the plugins modals.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue