Browse Source

needConfirmationOnUnsavedClose is now default for all forms inside a modal

pull/983/head
Yunus Emre Kalkan 8 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! //TODO: data-ajaxForm comparison seems wrong!
if (_$form.attr('data-ajaxForm') === undefined || _$form.attr('data-ajaxForm') === false) { if (_$form.attr('data-ajaxForm') === undefined || _$form.attr('data-ajaxForm') === false) {
_$form.abpAjaxForm(); _$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', _$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 $form = $(this);
var formSaved = false; var formSaved = false;
var unEditedForm = JSON.stringify($form.serializeFormToObject()); 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 currentForm = JSON.stringify($form.serializeFormToObject());
var thereAreUnsavedChanges = currentForm !== unEditedForm; var thereAreUnsavedChanges = currentForm !== unEditedForm;
@ -148,13 +146,13 @@
function (result) { function (result) {
if (result) { if (result) {
formSaved = true; formSaved = true;
$(modal).modal('toggle'); $modal.modal('hide');
} }
}); });
} }
}); });
$(this).bind('ajax:complete',function () { $(this).on('abp-ajax-success',function () {
formSaved = true; formSaved = true;
}); });
}; };

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

@ -46,6 +46,6 @@
"DatatableActionDropdownDefaultText": "Actions", "DatatableActionDropdownDefaultText": "Actions",
"ChangePassword": "Change password", "ChangePassword": "Change password",
"PersonalInfo": "My profile", "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", "DatatableActionDropdownDefaultText": "İşlemler",
"ChangePassword": "Şifre değiştir", "ChangePassword": "Şifre değiştir",
"PersonalInfo": "Profilim", "PersonalInfo": "Profilim",
"AreYouSureYouWantToCancelEditingWarningMessage": "Yaptığınız değişiklikler kaybolacak." "AreYouSureYouWantToCancelEditingWarningMessage": "Kaydedilmemiş değişiklikler var."
} }
} }
Loading…
Cancel
Save