cancel shows in error report
This commit is contained in:
parent
bbc4b57092
commit
038d473a4f
3 changed files with 24 additions and 7 deletions
17
src/main.ts
17
src/main.ts
|
|
@ -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();
|
||||
}));
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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()));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue