From 871d3f9cf382f8e7aff38c1aed9417a88a8c6ee6 Mon Sep 17 00:00:00 2001 From: gnibeda Date: Thu, 12 Nov 2020 23:55:10 +0200 Subject: [PATCH] added request error callback support --- readme.md | 2 ++ source/js/DataSource.js | 7 ++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 41090cb..2f96b19 100644 --- a/readme.md +++ b/readme.md @@ -58,6 +58,8 @@ var setup = { // Object that contain settings. Properties in brackets can be mis // if rowClick callback returns boolean false, DrillDown won't be performed. , rowClick: function (row, rowData) { console.log(row, rowData); } , contentRendered: function () {} + // triggers when request status is not 200 + , requestError: function (message, xhr) {} , cellSelected: function ({ x: Number, y: Number, leftHeaderColumnsNumber: Number, topHeaderRowsNumber: Number }) { return false; // return false to block default click action } diff --git a/source/js/DataSource.js b/source/js/DataSource.js index 34026ae..3e92ca2 100644 --- a/source/js/DataSource.js +++ b/source/js/DataSource.js @@ -73,6 +73,11 @@ DataSource.prototype._post = function (url, data, callback) { } })()); } else if (xhr.readyState === 4 && xhr.status !== 200) { + handler = self.LPT.CONFIG.triggers["requestError"]; + if (typeof handler === "function") { + handler.call(this, xhr.responseText || pivotLocale.get(3) + "
" + + xhr.status + ": " + xhr.statusText, xhr); + } callback({ error: xhr.responseText || pivotLocale.get(3) + "
" + xhr.status + ": " + xhr.statusText @@ -282,4 +287,4 @@ DataSource.prototype.getCurrentData = function (callback) { requestData(); } -}; \ No newline at end of file +};