From bf32cafcd0fefd33fd9a9b60ec784771b35325d2 Mon Sep 17 00:00:00 2001 From: Hannah Eslinger Date: Mon, 8 Jan 2024 17:36:32 -0700 Subject: [PATCH 1/3] Retrieve all data at once --- .../controllers/inventory_map_controller.js | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/seed/static/seed/js/controllers/inventory_map_controller.js b/seed/static/seed/js/controllers/inventory_map_controller.js index bbfa869081..351960f78d 100644 --- a/seed/static/seed/js/controllers/inventory_map_controller.js +++ b/seed/static/seed/js/controllers/inventory_map_controller.js @@ -44,17 +44,24 @@ angular.module('BE.seed.controller.inventory_map', []).controller('inventory_map }; const chunk = 250; - const fetchRecords = (fn, page = 1) => fn(page, chunk, undefined, undefined).then((data) => { - $scope.progress = { - current: data.pagination.end, - total: data.pagination.total, - percent: Math.round((data.pagination.end / data.pagination.total) * 100) - }; - if (data.pagination.has_next) { - return fetchRecords(fn, page + 1).then((newData) => data.results.concat(newData)); - } - return data.results; - }); + const fetchRecords = async (fn) => { + pagination = await fn(1, chunk, undefined, undefined).then(data => data.pagination); + + $scope.progress = {current: 0, total: pagination.total, percent:0}; + + page_numbers = [...Array(pagination.num_pages).keys()] + page_promises = page_numbers.map(page => { + return fn(page, chunk, undefined, undefined).then(data => { + num_data = data.pagination.end - data.pagination.start + 1; + $scope.progress.current += num_data; + $scope.progress.percent += Math.round((num_data / data.pagination.total) * 100) + return data.results + }) + }) + + return Promise.all(page_promises).then(pages => [].concat(pages)) + } + $scope.progress = {}; const loadingModal = $uibModal.open({ From f820217512ed83982bebe8bc451d8d7646eee37f Mon Sep 17 00:00:00 2001 From: kflemin <2205659+kflemin@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:31:24 -0700 Subject: [PATCH 2/3] de-list results --- seed/static/seed/js/controllers/inventory_map_controller.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/seed/static/seed/js/controllers/inventory_map_controller.js b/seed/static/seed/js/controllers/inventory_map_controller.js index 351960f78d..908c33ce50 100644 --- a/seed/static/seed/js/controllers/inventory_map_controller.js +++ b/seed/static/seed/js/controllers/inventory_map_controller.js @@ -59,7 +59,7 @@ angular.module('BE.seed.controller.inventory_map', []).controller('inventory_map }) }) - return Promise.all(page_promises).then(pages => [].concat(pages)) + return Promise.all(page_promises).then(pages => [].concat(...pages)) } @@ -73,6 +73,7 @@ angular.module('BE.seed.controller.inventory_map', []).controller('inventory_map const getInventoryFn = isPropertiesTab ? inventory_service.get_properties : inventory_service.get_taxlots; fetchRecords(getInventoryFn).then(async (data) => { + console.log(data); loadingModal.close(); $scope.data = data; From bf48635b67b0c0adad7e131a14cf705d6c0517ac Mon Sep 17 00:00:00 2001 From: kflemin <2205659+kflemin@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:58:50 -0700 Subject: [PATCH 3/3] remove console log --- seed/static/seed/js/controllers/inventory_map_controller.js | 1 - 1 file changed, 1 deletion(-) diff --git a/seed/static/seed/js/controllers/inventory_map_controller.js b/seed/static/seed/js/controllers/inventory_map_controller.js index 908c33ce50..3b17c9e9b0 100644 --- a/seed/static/seed/js/controllers/inventory_map_controller.js +++ b/seed/static/seed/js/controllers/inventory_map_controller.js @@ -73,7 +73,6 @@ angular.module('BE.seed.controller.inventory_map', []).controller('inventory_map const getInventoryFn = isPropertiesTab ? inventory_service.get_properties : inventory_service.get_taxlots; fetchRecords(getInventoryFn).then(async (data) => { - console.log(data); loadingModal.close(); $scope.data = data;