From ea45527a91d52afe9fb2dd095c5418fac3cce9ed Mon Sep 17 00:00:00 2001 From: Zoltan Flamis Date: Mon, 15 Mar 2021 09:50:10 +1300 Subject: Hide loading errors when user changes reporting page (#17292) * hide loading errors on page change * abort all ajax requests on reporting page change * timeout for error message * check if error status is aborted * Update widgetloader.directive.js --- .../CoreHome/angularjs/reporting-menu/reportingmenu.controller.js | 4 ++++ plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js b/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js index e99d92809f..0928858d98 100644 --- a/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js +++ b/plugins/CoreHome/angularjs/reporting-menu/reportingmenu.controller.js @@ -218,6 +218,8 @@ }); $rootScope.$on('piwikPageChange', function (event) { + globalAjaxQueue.abort(); + $scope.helpShownCategory = null; $scope.currentCategory = piwikUrl.getSearchParam('category'); $scope.currentSubcategory = piwikUrl.getSearchParam('subcategory'); @@ -226,6 +228,8 @@ $scope.showHelp(showSubcategoryHelpOnLoad.category, showSubcategoryHelpOnLoad.subcategory); showSubcategoryHelpOnLoad = null; } + + $('#loadingError').hide(); }); } })(); diff --git a/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js b/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js index 39fef0b369..be6de1bf47 100644 --- a/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js +++ b/plugins/CoreHome/angularjs/widget-loader/widgetloader.directive.js @@ -170,7 +170,7 @@ element: currentElement, }); }); - })['catch'](function () { + })['catch'](function (response) { if (thisChangeId !== changeCounter) { // another widget was requested meanwhile, ignore this response return; @@ -181,6 +181,11 @@ cleanupLastWidgetContent(); scope.loading = false; + + if (response.xhrStatus === 'abort') { + return; + }; + scope.loadingFailed = true; }); } -- cgit v1.2.3