Files
ave-cms/adminx/modules/Security/assets/security.js
T

27 lines
1.3 KiB
JavaScript

(function (window, document) {
'use strict';
var Adminx = window.Adminx;
function post(url, data) {
Adminx.Loader.show();
return Adminx.Ajax.post(url, data).then(function (payload) { Adminx.Loader.hide(); Adminx.Ajax.handle(payload); }).catch(function () { Adminx.Loader.hide(); Adminx.Toast.show('Ошибка сети', 'error'); });
}
document.addEventListener('submit', function (event) {
var form = event.target.closest('[data-ip-block-form], [data-user-agent-block-form]');
if (!form) { return; }
event.preventDefault(); post(form.action, new FormData(form));
});
document.addEventListener('click', function (event) {
var button = event.target.closest('[data-ip-unblock], [data-user-agent-unblock]');
if (!button) { return; }
var isAgent = button.hasAttribute('data-user-agent-unblock');
var id = isAgent ? button.dataset.userAgentUnblock : button.dataset.ipUnblock;
Adminx.Confirm.open({
kind: 'error',
title: isAgent ? 'Разблокировать User-Agent?' : 'Разблокировать IP?',
message: 'Доступ для этого правила будет восстановлен сразу.',
confirmLabel: 'Разблокировать',
onConfirm: function () { post(Adminx.base() + (isAgent ? '/security/user-agent-blocks/' : '/security/ip-blocks/') + id + '/delete'); }
});
});
})(window, document);