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) => {
|
let selectedResults: MediaTypeModel[] = await new Promise((resolve, reject) => {
|
||||||
const searchResultModal = new MediaDbSearchResultModal(this.app, this, results, (err, res) => {
|
const searchResultModal = new MediaDbSearchResultModal(this.app, this, results, (err, res) => {
|
||||||
if (err) return reject(err);
|
if (err) {
|
||||||
|
return reject(err);
|
||||||
|
}
|
||||||
resolve(res);
|
resolve(res);
|
||||||
|
}, () => {
|
||||||
|
resolve([]);
|
||||||
});
|
});
|
||||||
|
|
||||||
searchResultModal.title = `Results for \'${title}\'`;
|
searchResultModal.title = `Results for \'${title}\'`;
|
||||||
searchResultModal.open();
|
searchResultModal.open();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (selectedResults.length === 0) {
|
||||||
|
erroredFiles.push({filePath: file.path, error: `no search results selected`});
|
||||||
|
}
|
||||||
|
|
||||||
await this.createMediaDbNote(async () => selectedResults);
|
await this.createMediaDbNote(async () => selectedResults);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -249,7 +258,7 @@ export default class MediaDbPlugin extends Plugin {
|
||||||
return reject(err2);
|
return reject(err2);
|
||||||
}
|
}
|
||||||
resolve(res);
|
resolve(res);
|
||||||
}).open();
|
}, () => resolve([])).open();
|
||||||
}).open();
|
}).open();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
@ -257,7 +266,9 @@ export default class MediaDbPlugin extends Plugin {
|
||||||
async openMediaDbIdSearchModal(): Promise<MediaTypeModel> {
|
async openMediaDbIdSearchModal(): Promise<MediaTypeModel> {
|
||||||
return new Promise(((resolve, reject) => {
|
return new Promise(((resolve, reject) => {
|
||||||
new MediaDbIdSearchModal(this.app, this, (err, res) => {
|
new MediaDbIdSearchModal(this.app, this, (err, res) => {
|
||||||
if (err) return reject(err);
|
if (err) {
|
||||||
|
return reject(err);
|
||||||
|
}
|
||||||
resolve(res);
|
resolve(res);
|
||||||
}).open();
|
}).open();
|
||||||
}));
|
}));
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,13 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
|
||||||
plugin: MediaDbPlugin;
|
plugin: MediaDbPlugin;
|
||||||
heading: string;
|
heading: string;
|
||||||
onChoose: (error: Error, result: MediaTypeModel[]) => void;
|
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);
|
super(app, elements);
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.onChoose = onChoose;
|
this.onChoose = onChoose;
|
||||||
|
this.onCancel = onCancel;
|
||||||
|
|
||||||
this.title = 'Search Results';
|
this.title = 'Search Results';
|
||||||
this.description = 'Select one or multiple 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.
|
// Perform action on the selected suggestion.
|
||||||
submit() {
|
onSubmit() {
|
||||||
this.onChoose(null, this.selectModalElements.filter(x => x.isActive()).map(x => x.value));
|
this.onChoose(null, this.selectModalElements.filter(x => x.isActive()).map(x => x.value));
|
||||||
this.close();
|
this.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onClose() {
|
||||||
|
this.onCancel();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
|
|
||||||
abstract renderElement(value: T, el: HTMLElement): any;
|
abstract renderElement(value: T, el: HTMLElement): any;
|
||||||
|
|
||||||
abstract submit(): void;
|
abstract onSubmit(): void;
|
||||||
|
|
||||||
disableAllOtherElements(elementId: number) {
|
disableAllOtherElements(elementId: number) {
|
||||||
for (const selectModalElement of this.selectModalElements) {
|
for (const selectModalElement of this.selectModalElements) {
|
||||||
|
|
@ -67,6 +67,6 @@ export abstract class SelectModal<T> extends Modal {
|
||||||
|
|
||||||
new Setting(contentEl)
|
new Setting(contentEl)
|
||||||
.addButton(btn => btn.setButtonText('Cancel').onClick(() => this.close()))
|
.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