1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-15 09:04:04 +02:00
joplin/packages/app-desktop/gui/dialogs.ts

43 lines
1.3 KiB
TypeScript
Raw Normal View History

import Logger from '@joplin/utils/Logger';
// Can't upgrade beyond 2.x because it doesn't work with Electron. If trying to
// upgrade again, check that adding a link from the CodeMirror editor works/
const smalltalk = require('smalltalk');
const logger = Logger.create('dialogs');
2017-12-24 10:36:31 +02:00
class Dialogs {
public async alert(message: string, title = '') {
2017-12-24 10:36:31 +02:00
await smalltalk.alert(title, message);
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
public async confirm(message: string, title = '', options: any = {}) {
2017-12-24 10:36:31 +02:00
try {
await smalltalk.confirm(title, message, options);
2017-12-24 10:36:31 +02:00
return true;
} catch (error) {
logger.error(error);
2017-12-24 10:36:31 +02:00
return false;
}
}
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- Old code before rule was applied
public async prompt(message: string, title = '', defaultValue = '', options: any = null) {
options = { cancel: true, ...options };
2017-12-24 10:36:31 +02:00
try {
// https://github.com/laurent22/joplin/pull/10258#discussion_r1550306545
2017-12-24 10:36:31 +02:00
const answer = await smalltalk.prompt(title, message, defaultValue, options);
return answer;
} catch (error) {
logger.warn('Prompt appears to have been cancelled:', error);
2017-12-24 10:36:31 +02:00
return null;
}
}
}
const dialogs = new Dialogs();
export default dialogs;