move grav ajax handler to separate file

This commit is contained in:
Gert
2015-04-20 20:39:53 +02:00
parent 51182bfa0a
commit 6a80ab6e37
3 changed files with 24 additions and 20 deletions

View File

@@ -49,30 +49,13 @@ $(function () {
});
}
var ajaxRequest = function (url, settings) {
settings = typeof settings === 'undefined' ? typeof url === 'string' ? {} : url : settings;
settings.url = typeof settings.url === 'undefined' && typeof url === 'string' ? url : settings.url;
var successHandler = typeof settings.success !== 'undefined' ? typeof settings.success === 'function' ? [ settings.success ] : settings.success : [];
successHandler.unshift(ajaxRequest.logoutHandler);
settings.success = successHandler;
return $.ajax(settings);
};
ajaxRequest.logoutHandler = function (response, status, xhr) {
if (response.status && (response.status === "unauthorized" || response.status === "forbidden")) {
document.location.href = GravAdmin.config.base_url_relative;
throw "Logged out";
}
};
// Cache Clear
$('[data-clear-cache]').on('click', function(e) {
$(this).attr('disabled','disabled').find('> .fa').removeClass('fa-trash').addClass('fa-refresh fa-spin');
var url = $(this).data('clearCache');
ajaxRequest({
GravAjax({
dataType: "json",
url: url,
success: function(result, status) {
@@ -93,7 +76,7 @@ $(function () {
$(this).attr('disabled','disabled').find('> .fa').removeClass('fa-cloud-download').addClass('fa-refresh fa-spin');
var url = $(this).data('maintenanceUpdate');
ajaxRequest({
GravAjax({
dataType: "json",
url: url,
success: function(result, status) {
@@ -110,7 +93,7 @@ $(function () {
});
var GPMRefresh = function () {
ajaxRequest({
GravAjax({
dataType: "JSON",
url: window.location.href,
method: "POST",

20
themes/grav/js/ajax.js Normal file
View File

@@ -0,0 +1,20 @@
$(function(){
var root = window || {};
root.GravAjax = function (url, settings) {
settings = typeof settings === 'undefined' ? typeof url === 'string' ? {} : url : settings;
settings.url = typeof settings.url === 'undefined' && typeof url === 'string' ? url : settings.url;
var successHandler = typeof settings.success !== 'undefined' ? typeof settings.success === 'function' ? [ settings.success ] : settings.success : [];
successHandler.unshift(root.GravAjax.logoutHandler);
settings.success = successHandler;
return $.ajax(settings);
};
root.GravAjax.logoutHandler = function (response, status, xhr) {
if (response.status && (response.status === "unauthorized" || response.status === "forbidden")) {
document.location.href = GravAdmin.config.base_url_relative;
throw "Logged out";
}
};
});

View File

@@ -37,6 +37,7 @@
{% do assets.addJs(theme_url~'/js/selectize.min.js') %}
{% do assets.addJs(theme_url~'/js/toastr.min.js') %}
{% do assets.addJs(theme_url~'/js/jquery.remodal.min.js') %}
{% do assets.addJs(theme_url~'/js/ajax.js') %}
{% do assets.addJs(theme_url~'/js/admin-all.js') %}
{{ assets.js() }}
{% endblock %}