From 11404aaecb505fe38a7ceb43309ef627d68c13eb Mon Sep 17 00:00:00 2001 From: cmeng Date: Fri, 24 May 2024 14:30:36 +1200 Subject: [PATCH] fix(deletion): delete registries batch by batch EE-7084 (#11856) --- .../views/registries/registriesController.js | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/app/portainer/views/registries/registriesController.js b/app/portainer/views/registries/registriesController.js index 046c463b6..65041573f 100644 --- a/app/portainer/views/registries/registriesController.js +++ b/app/portainer/views/registries/registriesController.js @@ -1,6 +1,7 @@ import _ from 'lodash-es'; import { confirmDelete } from '@@/modals/confirm'; import { RegistryTypes } from 'Portainer/models/registryTypes'; +import { processItemsInBatches } from '@/react/common/processItemsInBatches'; angular.module('portainer.app').controller('RegistriesController', [ '$q', @@ -32,10 +33,9 @@ angular.module('portainer.app').controller('RegistriesController', [ }); }; - function deleteSelectedRegistries(selectedItems) { - var actionCount = selectedItems.length; - angular.forEach(selectedItems, function (registry) { - RegistryService.deleteRegistry(registry.Id) + async function deleteSelectedRegistries(selectedItems) { + async function doRemove(registry) { + return RegistryService.deleteRegistry(registry.Id) .then(function success() { Notifications.success('Registry successfully removed', registry.Name); var index = $scope.registries.indexOf(registry); @@ -43,14 +43,11 @@ angular.module('portainer.app').controller('RegistriesController', [ }) .catch(function error(err) { Notifications.error('Failure', err, 'Unable to remove registry'); - }) - .finally(function final() { - --actionCount; - if (actionCount === 0) { - $state.reload(); - } }); - }); + } + + await processItemsInBatches(selectedItems, doRemove); + $state.reload(); } function initView() {