From 44737029a923c69971ab887ff95e21c2a9da9eae Mon Sep 17 00:00:00 2001 From: congs Date: Fri, 29 Jul 2022 16:08:17 +1200 Subject: [PATCH] fix(gpu): EE-3743 gpus null error (#7342) --- app/docker/react/views/gpu.tsx | 4 ++-- app/docker/views/dashboard/dashboardController.js | 2 +- app/portainer/views/endpoints/edit/endpointController.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/docker/react/views/gpu.tsx b/app/docker/react/views/gpu.tsx index 3757d97b9..ebf544c1d 100644 --- a/app/docker/react/views/gpu.tsx +++ b/app/docker/react/views/gpu.tsx @@ -84,12 +84,12 @@ function Option(props: OptionProps) { export function Gpu({ values, onChange, - gpus, + gpus = [], usedGpus = [], usedAllGpus, }: Props) { const options = useMemo(() => { - const options = gpus.map((gpu) => ({ + const options = (gpus || []).map((gpu) => ({ value: gpu.value, label: usedGpus.includes(gpu.value) || usedAllGpus diff --git a/app/docker/views/dashboard/dashboardController.js b/app/docker/views/dashboard/dashboardController.js index 4dddc944e..497cd7497 100644 --- a/app/docker/views/dashboard/dashboardController.js +++ b/app/docker/views/dashboard/dashboardController.js @@ -46,7 +46,7 @@ angular.module('portainer.docker').controller('DashboardController', [ $scope.buildGpusStr = function (gpuUseSet) { var gpusAvailable = new Object(); - for (let i = 0; i < $scope.endpoint.Gpus.length; i++) { + for (let i = 0; i < ($scope.endpoint.Gpus || []).length; i++) { if (!gpuUseSet.has($scope.endpoint.Gpus[i].name)) { var exist = false; for (let gpuAvailable in gpusAvailable) { diff --git a/app/portainer/views/endpoints/edit/endpointController.js b/app/portainer/views/endpoints/edit/endpointController.js index 4e0dcefe0..4ea9ef956 100644 --- a/app/portainer/views/endpoints/edit/endpointController.js +++ b/app/portainer/views/endpoints/edit/endpointController.js @@ -175,7 +175,7 @@ function EndpointController( } function verifyGpus() { - var i = $scope.endpoint.Gpus.length; + var i = ($scope.endpoint.Gpus || []).length; while (i--) { if ($scope.endpoint.Gpus[i].name === '' || $scope.endpoint.Gpus[i].name === null) { $scope.endpoint.Gpus.splice(i, 1);