Skip to content

Commit

Permalink
fix(pci-workflow): optimize performances
Browse files Browse the repository at this point in the history
Signed-off-by: Simon Chaumet <[email protected]>
  • Loading branch information
SimonChaumet committed Feb 14, 2025
1 parent 02a1ae6 commit 1fbfc15
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 30 deletions.
16 changes: 7 additions & 9 deletions packages/manager/apps/pci-workflow/src/api/hooks/order.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,18 @@ export const useProjectSnapshotAddons = (projectId: string) => {
{ data: catalog, isFetching: isCatalogFetching },
{ data: snapshotAvailabilities, isFetching: isPlansFetching },
]) => {
const snapshotRegionPlans =
snapshotAvailabilities?.plans?.filter(({ code }) =>
isSnapshotConsumption(code),
) ?? [];
const snapshotRegionPlans = new Map(
snapshotAvailabilities?.plans
?.filter(({ code }) => isSnapshotConsumption(code))
.map(({ code, regions }) => [code, regions]) ?? [],
);

return {
addons: catalog?.addons
.filter(({ planCode }) =>
snapshotRegionPlans.find((p) => p.code === planCode),
)
.filter(({ planCode }) => snapshotRegionPlans.has(planCode))
.map((addon) => ({
...addon,
regions: snapshotRegionPlans.find((p) => p.code === addon.planCode)
.regions,
regions: snapshotRegionPlans.get(addon.planCode),
})),
isFetching: isCatalogFetching || isPlansFetching,
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,27 +45,32 @@ const useDatagridColumn = (
return [
{
id: 'actions',
cell: (instance: TWorkflowInstance) => (
<div className="text-center">
<NotSupportedTooltipComponent
supported={regions.includes(instance.region)}
>
<OsdsRadioButton
checked={selectedInstance?.id === instance?.id || undefined}
color={ODS_THEME_COLOR_INTENT.primary}
size={ODS_RADIO_BUTTON_SIZE.xs}
data-testid={`radio-button-${instance.id}`}
disabled={!regions.includes(instance.region) || undefined}
className="mx-auto"
onClick={() => {
if (regions.includes(instance.region)) {
onSelectInstance(instance);
}
}}
/>
</NotSupportedTooltipComponent>
</div>
),
cell: (instance: TWorkflowInstance) => {
const isRegionSupportingAutomaticBackup = regions.includes(
instance.region,
);
return (
<div className="text-center">
<NotSupportedTooltipComponent
supported={isRegionSupportingAutomaticBackup}
>
<OsdsRadioButton
checked={selectedInstance?.id === instance?.id || undefined}
color={ODS_THEME_COLOR_INTENT.primary}
size={ODS_RADIO_BUTTON_SIZE.xs}
data-testid={`radio-button-${instance.id}`}
disabled={!isRegionSupportingAutomaticBackup || undefined}
className="mx-auto"
onClick={() => {
if (isRegionSupportingAutomaticBackup) {
onSelectInstance(instance);
}
}}
/>
</NotSupportedTooltipComponent>
</div>
);
},
label: '',
},
{
Expand Down

0 comments on commit 1fbfc15

Please sign in to comment.