diff --git a/npm/packs/core/src/abp.js b/npm/packs/core/src/abp.js index dbfbdd6649..b72b8b49e5 100644 --- a/npm/packs/core/src/abp.js +++ b/npm/packs/core/src/abp.js @@ -236,7 +236,7 @@ } return $.Deferred(function ($dfd) { - $dfd.resolve(); + $dfd.resolve(result); }); }; diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js b/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js index 0f49b3b928..e9fe3d37f9 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore.mvc.ui.theme.shared/bootstrap/dom-event-handlers.js @@ -9,6 +9,22 @@ $.validator.unobtrusive.parse($form); } + var confirmText = $form.attr('data-confirm'); + if (confirmText) { + $form.submit(function(e) { + if (!$form.data('abp-confirmed')) { + e.preventDefault(); + abp.message.confirm(confirmText).done(function(accepted) { + if (accepted) { + $form.data('abp-confirmed', true); + $form.submit(); + $form.data('abp-confirmed', undefined); + } + }); + } + }); + } + if ($form.attr('data-ajaxForm') === 'true') { $form.abpAjaxForm(); } diff --git a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/core/abp.js b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/core/abp.js index 3ba61f1885..eb48ceb090 100644 --- a/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/core/abp.js +++ b/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/wwwroot/libs/abp/core/abp.js @@ -236,7 +236,7 @@ var abp = abp || {}; } return $.Deferred(function ($dfd) { - $dfd.resolve(); + $dfd.resolve(result); }); };