trilium/src/public/javascripts/dialogs/confirm.js

38 lines
764 B
JavaScript
Raw Normal View History

2018-11-15 02:03:55 +08:00
const $dialog = $("#confirm-dialog");
const $confirmContent = $("#confirm-dialog-content");
const $okButton = $("#confirm-dialog-ok-button");
const $cancelButton = $("#confirm-dialog-cancel-button");
let resolve;
function confirm(message) {
glob.activeDialog = $dialog;
$confirmContent.text(message);
$dialog.modal();
return new Promise((res, rej) => { resolve = res; });
}
$dialog.on('shown.bs.modal', () => $okButton.trigger("focus"));
$dialog.on("hidden.bs.modal", () => {
if (resolve) {
resolve(false);
}
});
function doResolve(ret) {
resolve(ret);
resolve = null;
$dialog.modal("hide");
}
$cancelButton.click(() => doResolve(false));
$okButton.click(() => doResolve(true));
export default {
confirm
}