From 602a166e3658103d539f8d68ef7379888376dd1a Mon Sep 17 00:00:00 2001 From: zadam Date: Sat, 23 Sep 2023 00:04:16 +0200 Subject: [PATCH] added info, confirm, prompt dialogs --- package.json | 2 +- .../app/services/frontend_script_api.js | 35 +++++++++++++++++-- 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index efb075269..5b5f69140 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ }, "devDependencies": { "cross-env": "7.0.3", - "electron": "25.8.1", + "electron": "25.8.2", "electron-builder": "24.6.4", "electron-packager": "17.1.2", "electron-rebuild": "3.2.9", diff --git a/src/public/app/services/frontend_script_api.js b/src/public/app/services/frontend_script_api.js index 9dd198a15..183624ed3 100644 --- a/src/public/app/services/frontend_script_api.js +++ b/src/public/app/services/frontend_script_api.js @@ -14,6 +14,7 @@ import NoteContextAwareWidget from "../widgets/note_context_aware_widget.js"; import BasicWidget from "../widgets/basic_widget.js"; import SpacedUpdate from "./spaced_update.js"; import shortcutService from "./shortcuts.js"; +import dialogService from "./dialog.js"; /** *

This is the main frontend API interface for scripts. All the properties and methods are published in the "api" object @@ -258,7 +259,7 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null, $contain this.parseDate = utils.parseDate; /** - * Show an info message to the user. + * Show an info toast message to the user. * * @method * @param {string} message @@ -266,13 +267,43 @@ function FrontendScriptApi(startNote, currentNote, originEntity = null, $contain this.showMessage = toastService.showMessage; /** - * Show an error message to the user. + * Show an error toast message to the user. * * @method * @param {string} message */ this.showError = toastService.showError; + /** + * Show an info dialog to the user. + * + * @method + * @param {string} message + * @returns {Promise} + */ + this.showInfoDialog = dialogService.info; + + /** + * Show confirm dialog to the user. + * + * @method + * @param {string} message + * @returns {Promise} promise resolving to true if the user confirmed + */ + this.showConfirmDialog = dialogService.confirm; + + /** + * Show prompt dialog to the user. + * + * @method + * @param {object} props + * @param {string} props.title + * @param {string} props.message + * @param {string} props.defaultValue + * @returns {Promise} promise resolving to the answer provided by the user + */ + this.showPromptDialog = dialogService.prompt; + /** * Trigger command. This is a very low-level API which should be avoided if possible. *