From a0aa9a20792203121183505819346c828ee76535 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Thu, 27 Jul 2017 17:49:01 +0530 Subject: [PATCH 1/2] [fix] callback for ajax (#3802) * [fix] callback for ajax * [fix] ajaxSend instead of ajaxStart --- frappe/public/js/frappe/request.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/frappe/public/js/frappe/request.js b/frappe/public/js/frappe/request.js index 40fc80ffe9..128ac996da 100644 --- a/frappe/public/js/frappe/request.js +++ b/frappe/public/js/frappe/request.js @@ -8,6 +8,8 @@ frappe.request.url = '/'; frappe.request.ajax_count = 0; frappe.request.waiting_for_ajax = []; + + // generic server call (call page, object) frappe.call = function(opts) { if(opts.quiet) { @@ -180,7 +182,7 @@ frappe.request.call = function(opts) { console.log("Unable to handle success response"); // eslint-disable-line console.trace(e); // eslint-disable-line } - + }) .always(function(data, textStatus, xhr) { try { @@ -218,8 +220,6 @@ frappe.request.call = function(opts) { // call execute serverside request frappe.request.prepare = function(opts) { - frappe.request.ajax_count++; - $("body").attr("data-ajax-state", "triggered"); // btn indicator @@ -258,7 +258,7 @@ frappe.request.cleanup = function(opts, r) { // un-freeze page if(opts.freeze) frappe.dom.unfreeze(); - + if(r) { // session expired? - Guest has no business here! @@ -304,14 +304,6 @@ frappe.request.cleanup = function(opts, r) { } frappe.last_response = r; - - frappe.request.ajax_count--; - if(!frappe.request.ajax_count) { - $.each(frappe.request.waiting_for_ajax || [], function(i, fn) { - fn(); - }); - frappe.request.waiting_for_ajax = []; - } } frappe.after_server_call = () => { @@ -413,3 +405,17 @@ frappe.request.cleanup_request_opts = function(request_opts) { } return request_opts; }; + +$(document).ajaxSend(function() { + frappe.request.ajax_count++; +}); + +$(document).ajaxComplete(function() { + frappe.request.ajax_count--; + if(!frappe.request.ajax_count) { + $.each(frappe.request.waiting_for_ajax || [], function(i, fn) { + fn(); + }); + frappe.request.waiting_for_ajax = []; + } +}); \ No newline at end of file From 2389f46411b4fcac681338f17f29b2851f0df77b Mon Sep 17 00:00:00 2001 From: Saurabh Date: Thu, 27 Jul 2017 18:29:18 +0600 Subject: [PATCH 2/2] bumped to version 8.6.2 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index a1a2722e4b..28fca585a7 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template -__version__ = '8.6.1' +__version__ = '8.6.2' __title__ = "Frappe Framework" local = Local()