Skip to content

Commit 038d473

Browse files
committed
cancel shows in error report
1 parent bbc4b57 commit 038d473

File tree

3 files changed

+24
-7
lines changed

3 files changed

+24
-7
lines changed

src/main.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,13 +215,22 @@ export default class MediaDbPlugin extends Plugin {
215215

216216
let selectedResults: MediaTypeModel[] = await new Promise((resolve, reject) => {
217217
const searchResultModal = new MediaDbSearchResultModal(this.app, this, results, (err, res) => {
218-
if (err) return reject(err);
218+
if (err) {
219+
return reject(err);
220+
}
219221
resolve(res);
222+
}, () => {
223+
resolve([]);
220224
});
225+
221226
searchResultModal.title = `Results for \'${title}\'`;
222227
searchResultModal.open();
223228
});
224229

230+
if (selectedResults.length === 0) {
231+
erroredFiles.push({filePath: file.path, error: `no search results selected`});
232+
}
233+
225234
await this.createMediaDbNote(async () => selectedResults);
226235
}
227236
}
@@ -249,15 +258,17 @@ export default class MediaDbPlugin extends Plugin {
249258
return reject(err2);
250259
}
251260
resolve(res);
252-
}).open();
261+
}, () => resolve([])).open();
253262
}).open();
254263
}));
255264
}
256265

257266
async openMediaDbIdSearchModal(): Promise<MediaTypeModel> {
258267
return new Promise(((resolve, reject) => {
259268
new MediaDbIdSearchModal(this.app, this, (err, res) => {
260-
if (err) return reject(err);
269+
if (err) {
270+
return reject(err);
271+
}
261272
resolve(res);
262273
}).open();
263274
}));

src/modals/MediaDbSearchResultModal.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
77
plugin: MediaDbPlugin;
88
heading: string;
99
onChoose: (error: Error, result: MediaTypeModel[]) => void;
10+
onCancel: () => void;
1011

11-
constructor(app: App, plugin: MediaDbPlugin, elements: MediaTypeModel[], onChoose: (error: Error, result: MediaTypeModel[]) => void) {
12+
constructor(app: App, plugin: MediaDbPlugin, elements: MediaTypeModel[], onChoose: (error: Error, result: MediaTypeModel[]) => void, onCancel: () => void) {
1213
super(app, elements);
1314
this.plugin = plugin;
1415
this.onChoose = onChoose;
16+
this.onCancel = onCancel;
1517

1618
this.title = 'Search Results';
1719
this.description = 'Select one or multiple search results.';
@@ -25,8 +27,12 @@ export class MediaDbSearchResultModal extends SelectModal<MediaTypeModel> {
2527
}
2628

2729
// Perform action on the selected suggestion.
28-
submit() {
30+
onSubmit() {
2931
this.onChoose(null, this.selectModalElements.filter(x => x.isActive()).map(x => x.value));
3032
this.close();
3133
}
34+
35+
onClose() {
36+
this.onCancel();
37+
}
3238
}

src/modals/SelectModal.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ export abstract class SelectModal<T> extends Modal {
2222

2323
abstract renderElement(value: T, el: HTMLElement): any;
2424

25-
abstract submit(): void;
25+
abstract onSubmit(): void;
2626

2727
disableAllOtherElements(elementId: number) {
2828
for (const selectModalElement of this.selectModalElements) {
@@ -67,6 +67,6 @@ export abstract class SelectModal<T> extends Modal {
6767

6868
new Setting(contentEl)
6969
.addButton(btn => btn.setButtonText('Cancel').onClick(() => this.close()))
70-
.addButton(btn => btn.setButtonText('Ok').setCta().onClick(() => this.submit()));
70+
.addButton(btn => btn.setButtonText('Ok').setCta().onClick(() => this.onSubmit()));
7171
}
7272
}

0 commit comments

Comments
 (0)