From 1a90ad4c8ba5dbb41dce09231dde239f2bc81004 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 8 Oct 2025 14:29:56 +0300 Subject: [PATCH 1/7] Add prompt dialog support to abp.message Introduces a new abp.message.prompt function using SweetAlert2 to display input dialogs. This allows developers to easily prompt users for text input with customizable options. --- .../sweetalert2/abp-sweetalert2.js | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js index 63f514b4c4..2cf46f27d8 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js @@ -29,6 +29,12 @@ var abp = abp || {}; title: 'Are you sure?', showCancelButton: true, reverseButtons: true + }, + prompt: { + icon: 'question', + input: 'text', + showCancelButton: true, + reverseButtons: true } } }; @@ -99,6 +105,36 @@ var abp = abp || {}; }); }; + abp.message.prompt = function (message, titleOrOptionsOrCallback, callback) { + + var userOpts = { + html: abp.utils.htmlEscape(message).replace(/\n/g, '
') + }; + + if ($.isFunction(titleOrOptionsOrCallback)) { + callback = titleOrOptionsOrCallback; + } else if (typeof titleOrOptionsOrCallback === 'string') { + userOpts.title = titleOrOptionsOrCallback; + } else if ($.isPlainObject(titleOrOptionsOrCallback)) { + userOpts = $.extend(userOpts, titleOrOptionsOrCallback); + } + + var opts = $.extend( + {}, + abp.libs.sweetAlert.config['default'], + abp.libs.sweetAlert.config.prompt, + userOpts + ); + + return $.Deferred(function ($dfd) { + Swal.fire(opts).then(function (result) { + var value = result && result.isConfirmed ? result.value : null; + callback && callback(value); + $dfd.resolve(value); + }); + }); + }; + abp.event.on('abp.configurationInitialized', function () { var l = abp.localization.getResource('AbpUi'); From 603fa830994b499663a6e61ec131894eed1700c6 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 8 Oct 2025 14:41:33 +0300 Subject: [PATCH 2/7] Update documentation --- .../mvc-razor-pages/javascript-api/message.md | 61 ++++++++++++++++++ docs/en/images/js-message-prompt.png | Bin 0 -> 23008 bytes 2 files changed, 61 insertions(+) create mode 100644 docs/en/images/js-message-prompt.png diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md index ab9bf084df..202242eee8 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md @@ -88,6 +88,58 @@ abp.message.confirm( }); ```` +## Prompt Message + +`abp.message.prompt(...)` can be used to get a text (or other input) from the user. + +Simple usage: +```js +abp.message.prompt('Please enter a name:', (value)=> console.log('Entered name:', value)); +``` + +**Example (then):** + +````js +let options = { title: "Name Change" ,icon: "info", inputValue: "John Doe"}; +abp.message.prompt('Enter a new name to change your name', options) + .then(function(value){ + if (value) { + console.log('Entered name:', value); + } + }); +```` + +**Example (await):** + +````js +(async function(){ + let options = { title: "Email Registration" ,icon: "info", input: "email"}; + const email = await abp.message.prompt('Enter your email:', options); + if (email) { + console.log('Entered email:', email); + } +})(); +```` + +![js-message-prompt](../../../../images/js-message-prompt.png) + +### The Return Value + +The return value of the `abp.message.prompt(...)` function is a promise that resolves to the entered value (`string`) or `null` if the dialog is canceled/dismissed. + +### Parameters + +`abp.message.prompt(...)` function has the following parameters: + +* `message`: A message (`string`) to show to the user. +* `titleOrOptionsOrCallback` (optional): + * a `string` title, or + * an `object` containing SweetAlert options (e.g., `input`, `inputAttributes`, `inputPlaceholder`), or + * a `function` callback that receives the resulting value (or `null`). +* `callback` (optional): If you've passed a title as the second parameter, you can pass your callback function as the 3rd parameter. + +Passing a callback function is an alternative to using the returned promise. + ## SweetAlert Configuration The Message API is implemented using the [SweetAlert](https://sweetalert.js.org/) library by default. If you want to change its configuration, you can set the options in the `abp.libs.sweetAlert.config` object. The default configuration object is shown below: @@ -126,3 +178,12 @@ abp.libs.sweetAlert.config.warn.icon = 'error'; See the [SweetAlert document](https://sweetalert.js.org/) for all the configuration options. +There is also a `prompt` preset you can customize via `abp.libs.sweetAlert.config.prompt`: + +````js +abp.libs.sweetAlert.config.prompt = { + icon: 'question', + input: 'text' +}; +```` + diff --git a/docs/en/images/js-message-prompt.png b/docs/en/images/js-message-prompt.png new file mode 100644 index 0000000000000000000000000000000000000000..33b0678d5d24209905ad5ab75df6ca4a3c5100c0 GIT binary patch literal 23008 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 Date: Wed, 8 Oct 2025 11:44:51 +0000 Subject: [PATCH 3/7] Optimised images with calibre/image-actions --- docs/en/images/js-message-prompt.png | Bin 23008 -> 7289 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/en/images/js-message-prompt.png b/docs/en/images/js-message-prompt.png index 33b0678d5d24209905ad5ab75df6ca4a3c5100c0..0bb4d78af0f0f581ca275f0ef044e1ee5a68a17e 100644 GIT binary patch literal 7289 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 Date: Wed, 8 Oct 2025 15:20:57 +0300 Subject: [PATCH 4/7] Update message.md --- .../ui/mvc-razor-pages/javascript-api/message.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md b/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md index 202242eee8..72cd13f631 100644 --- a/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md +++ b/docs/en/framework/ui/mvc-razor-pages/javascript-api/message.md @@ -177,13 +177,3 @@ abp.libs.sweetAlert.config.warn.icon = 'error'; ```` See the [SweetAlert document](https://sweetalert.js.org/) for all the configuration options. - -There is also a `prompt` preset you can customize via `abp.libs.sweetAlert.config.prompt`: - -````js -abp.libs.sweetAlert.config.prompt = { - icon: 'question', - input: 'text' -}; -```` - From f8837aeba82b0d9f1a864fc9cf931f809b9e948b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 8 Oct 2025 12:21:37 +0000 Subject: [PATCH 5/7] Optimised images with calibre/image-actions --- docs/en/images/js-message-prompt.png | Bin 7289 -> 6740 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/en/images/js-message-prompt.png b/docs/en/images/js-message-prompt.png index 0bb4d78af0f0f581ca275f0ef044e1ee5a68a17e..631e9791afd5f06d8191b9fd8ad657e4eab0cd40 100644 GIT binary patch literal 6740 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 literal 7289 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 Date: Wed, 8 Oct 2025 16:20:14 +0300 Subject: [PATCH 6/7] Add abp.message.prompt method with warning Introduces abp.message.prompt to display a browser prompt and invoke a callback with the result. Logs a warning indicating the method is not fully implemented. --- npm/packs/core/src/abp.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/npm/packs/core/src/abp.js b/npm/packs/core/src/abp.js index 9da0acbafe..5ad66cabd6 100644 --- a/npm/packs/core/src/abp.js +++ b/npm/packs/core/src/abp.js @@ -340,6 +340,17 @@ var abp = abp || {}; callback && callback(result); }; + abp.message.prompt = function (message, titleOrOptionsOrCallback, callback) { + abp.log.warn('abp.message.prompt is not properly implemented!'); + + if (titleOrOptionsOrCallback && !(typeof titleOrOptionsOrCallback == 'string')) { + callback = titleOrOptionsOrCallback; + } + + var result = prompt(message); + callback && callback(result); + }; + /* UI *******************************************************/ abp.ui = abp.ui || {}; From 47ae17dac2b8118dd66637ece03ffad43d6f30a6 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 8 Oct 2025 16:22:59 +0300 Subject: [PATCH 7/7] Code formatting - fix for @copilot suggestions --- .../sweetalert2/abp-sweetalert2.js | 72 +++++++++---------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js index 2cf46f27d8..19759d3fa0 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/sweetalert2/abp-sweetalert2.js @@ -29,12 +29,12 @@ var abp = abp || {}; title: 'Are you sure?', showCancelButton: true, reverseButtons: true - }, - prompt: { - icon: 'question', - input: 'text', - showCancelButton: true, - reverseButtons: true + }, + prompt: { + icon: 'question', + input: 'text', + showCancelButton: true, + reverseButtons: true } } }; @@ -98,42 +98,42 @@ var abp = abp || {}; ); return $.Deferred(function ($dfd) { - Swal.fire(opts).then(result => { + Swal.fire(opts).then(result => { callback && callback(result.value); $dfd.resolve(result.value); }) }); }; - abp.message.prompt = function (message, titleOrOptionsOrCallback, callback) { - - var userOpts = { - html: abp.utils.htmlEscape(message).replace(/\n/g, '
') - }; - - if ($.isFunction(titleOrOptionsOrCallback)) { - callback = titleOrOptionsOrCallback; - } else if (typeof titleOrOptionsOrCallback === 'string') { - userOpts.title = titleOrOptionsOrCallback; - } else if ($.isPlainObject(titleOrOptionsOrCallback)) { - userOpts = $.extend(userOpts, titleOrOptionsOrCallback); - } - - var opts = $.extend( - {}, - abp.libs.sweetAlert.config['default'], - abp.libs.sweetAlert.config.prompt, - userOpts - ); - - return $.Deferred(function ($dfd) { - Swal.fire(opts).then(function (result) { - var value = result && result.isConfirmed ? result.value : null; - callback && callback(value); - $dfd.resolve(value); - }); - }); - }; + abp.message.prompt = function (message, titleOrOptionsOrCallback, callback) { + + var userOpts = { + html: abp.utils.htmlEscape(message).replace(/\n/g, '
') + }; + + if ($.isFunction(titleOrOptionsOrCallback)) { + callback = titleOrOptionsOrCallback; + } else if (typeof titleOrOptionsOrCallback === 'string') { + userOpts.title = titleOrOptionsOrCallback; + } else if ($.isPlainObject(titleOrOptionsOrCallback)) { + userOpts = $.extend(userOpts, titleOrOptionsOrCallback); + } + + var opts = $.extend( + {}, + abp.libs.sweetAlert.config['default'], + abp.libs.sweetAlert.config.prompt, + userOpts + ); + + return $.Deferred(function ($dfd) { + Swal.fire(opts).then(function (result) { + var value = result && result.isConfirmed ? result.value : null; + callback && callback(value); + $dfd.resolve(value); + }); + }); + }; abp.event.on('abp.configurationInitialized', function () { var l = abp.localization.getResource('AbpUi');