cancel shows in error report

This commit is contained in:
mProjectsCode 2022-06-10 20:54:21 +02:00
parent bbc4b57092
commit 038d473a4f
3 changed files with 24 additions and 7 deletions

View file

@ -215,13 +215,22 @@ export default class MediaDbPlugin extends Plugin {
let selectedResults: MediaTypeModel[] = await new Promise((resolve, reject) => {
const searchResultModal = new MediaDbSearchResultModal(this.app, this, results, (err, res) => {
if (err) return reject(err);
if (err) {
return reject(err);
}
resolve(res);
}, () => {
resolve([]);
});
searchResultModal.title = `Results for \'${title}\'`;
searchResultModal.open();
});
if (selectedResults.length === 0) {
erroredFiles.push({filePath: file.path, error: `no search results selected`});
}
await this.createMediaDbNote(async () => selectedResults);
}
}
@ -249,7 +258,7 @@ export default class MediaDbPlugin extends Plugin {
return reject(err2);
}
resolve(res);
}).open();
}, () => resolve([])).open();
}).open();
}));
}
@ -257,7 +266,9 @@ export default class MediaDbPlugin extends Plugin {
async openMediaDbIdSearchModal(): Promise<MediaTypeModel> {
return new Promise(((resolve, reject) => {
new MediaDbIdSearchModal(this.app, this, (err, res) => {
if (err) return reject(err);
if (err) {
return reject(err);
}
resolve(res);
}).open();
}));

View file

@ -7,11 +7,13 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
plugin: MediaDbPlugin;
heading: string;
onChoose: (error: Error, result: MediaTypeModel[]) => void;
onCancel: () => void;
constructor(app: App, plugin: MediaDbPlugin, elements: MediaTypeModel[], onChoose: (error: Error, result: MediaTypeModel[]) => void) {
constructor(app: App, plugin: MediaDbPlugin, elements: MediaTypeModel[], onChoose: (error: Error, result: MediaTypeModel[]) => void, onCancel: () => void) {
super(app, elements);
this.plugin = plugin;
this.onChoose = onChoose;
this.onCancel = onCancel;
this.title = 'Search Results';
this.description = 'Select one or multiple search results.';
@ -25,8 +27,12 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
}
// Perform action on the selected suggestion.
submit() {
onSubmit() {
this.onChoose(null, this.selectModalElements.filter(x => x.isActive()).map(x => x.value));
this.close();
}
onClose() {
this.onCancel();
}
}

View file

@ -22,7 +22,7 @@ export abstract class SelectModal<T> extends Modal {
abstract renderElement(value: T, el: HTMLElement): any;
abstract submit(): void;
abstract onSubmit(): void;
disableAllOtherElements(elementId: number) {
for (const selectModalElement of this.selectModalElements) {
@ -67,6 +67,6 @@ export abstract class SelectModal<T> extends Modal {
new Setting(contentEl)
.addButton(btn => btn.setButtonText('Cancel').onClick(() => this.close()))
.addButton(btn => btn.setButtonText('Ok').setCta().onClick(() => this.submit()));
.addButton(btn => btn.setButtonText('Ok').setCta().onClick(() => this.onSubmit()));
}
}