From 6d024a68900969770ded08ea8cf39c1132e9382f Mon Sep 17 00:00:00 2001 From: Henning Leutz <leutz@pcsg.de> Date: Wed, 7 Apr 2021 14:12:29 +0200 Subject: [PATCH] fix: quiqqer/invoice#104 - insert a time frame for calculation check --- bin/backend/controls/articles/ArticleList.js | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/bin/backend/controls/articles/ArticleList.js b/bin/backend/controls/articles/ArticleList.js index 76da549..1a3041e 100644 --- a/bin/backend/controls/articles/ArticleList.js +++ b/bin/backend/controls/articles/ArticleList.js @@ -59,7 +59,8 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [ this.$user = {}; this.$sorting = false; - this.$calculationTimer = null; + this.$calculationTimer = null; + this.$isIncalculationFrame = false; this.$calculations = { currencyData: {}, @@ -374,6 +375,12 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [ $executeCalculation: function () { var self = this; + if (this.$isIncalculationFrame) { + self.fireEvent('calc', [self, self.$calculations]); + + return Promise.resolve(self.$calculations); + } + if (this.$calculationRunning) { return new Promise(function (resolve) { var trigger = function () { @@ -393,8 +400,15 @@ define('package/quiqqer/erp/bin/backend/controls/articles/ArticleList', [ }); QUIAjax.get('package_quiqqer_erp_ajax_products_calc', function (result) { - self.$calculations = result; - self.$calculationRunning = false; + self.$calculations = result; + self.$isIncalculationFrame = true; + self.$calculationRunning = false; + + // performance double request -> quiqqer/invoice#104 + setTimeout(function () { + self.$isIncalculationFrame = false; + }, 100); + self.fireEvent('calc', [self, result]); resolve(result); }, { -- GitLab