Browse Source

needConfirmationOnUnsavedClose is now default for all forms inside a modal

pull/983/head
Yunus Emre Kalkan 7 years ago
parent
commit
c9366774a4
  1. 4
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js
  2. 10
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js
  3. 2
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/en.json
  4. 2
      framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/tr.json

4
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js

@ -69,6 +69,10 @@ $.validator.defaults.ignore = ''; //TODO: Would be better if we can apply only f
//TODO: data-ajaxForm comparison seems wrong!
if (_$form.attr('data-ajaxForm') === undefined || _$form.attr('data-ajaxForm') === false) {
_$form.abpAjaxForm();
}
if (_$form.attr('data-check-form-on-close') === undefined || _$form.attr('data-check-form-on-close') != 'false') {
_$form.needConfirmationOnUnsavedClose(_$modal);
}
_$form.on('abp-ajax-success',

10
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js

@ -131,14 +131,12 @@
});
};
$.fn.needConfirmationOnUnsavedClose = function () {
$.fn.needConfirmationOnUnsavedClose = function ($modal) {
var $form = $(this);
var formSaved = false;
var unEditedForm = JSON.stringify($form.serializeFormToObject());
var modal = $(this).find('.modal');
$(modal).on("hide.bs.modal", function (e) {
$modal.on("hide.bs.modal", function (e) {
var currentForm = JSON.stringify($form.serializeFormToObject());
var thereAreUnsavedChanges = currentForm !== unEditedForm;
@ -148,13 +146,13 @@
function (result) {
if (result) {
formSaved = true;
$(modal).modal('toggle');
$modal.modal('hide');
}
});
}
});
$(this).bind('ajax:complete',function () {
$(this).on('abp-ajax-success',function () {
formSaved = true;
});
};

2
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/en.json

@ -46,6 +46,6 @@
"DatatableActionDropdownDefaultText": "Actions",
"ChangePassword": "Change password",
"PersonalInfo": "My profile",
"AreYouSureYouWantToCancelEditingWarningMessage": "Your changes will be lost."
"AreYouSureYouWantToCancelEditingWarningMessage": "You have unsaved changes."
}
}

2
framework/src/Volo.Abp.UI/Localization/Resources/AbpUi/tr.json

@ -46,6 +46,6 @@
"DatatableActionDropdownDefaultText": "İşlemler",
"ChangePassword": "Şifre değiştir",
"PersonalInfo": "Profilim",
"AreYouSureYouWantToCancelEditingWarningMessage": "Yaptığınız değişiklikler kaybolacak."
"AreYouSureYouWantToCancelEditingWarningMessage": "Kaydedilmemiş değişiklikler var."
}
}
Loading…
Cancel
Save