Skip to content

Commit

Permalink
NCL-7936 Apply ProgressButton component in BuildStartButton component
Browse files Browse the repository at this point in the history
  • Loading branch information
patrikk0123 committed Dec 4, 2023
1 parent eee4eed commit 0c61d2c
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions src/components/BuildStartButton/BuildStartButton.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import {
Button,
Checkbox,
Divider,
Dropdown,
Expand All @@ -15,6 +14,10 @@ import { useState } from 'react';

import { BuildConfiguration, GroupConfiguration } from 'pnc-api-types-ts';

import { useServiceContainer } from 'hooks/useServiceContainer';

import { ProgressButton } from 'components/ProgressButton/ProgressButton';

import * as buildConfigApi from 'services/buildConfigApi';
import * as groupConfigApi from 'services/groupConfigApi';

Expand Down Expand Up @@ -148,6 +151,11 @@ export const BuildStartButton = ({ buildConfig, groupConfig, size = 'md' }: IBui
const [isDropdownOpen, setIsDropdownOpen] = useState<boolean>(false);
const dropdownAlignmentsDirection: DropdownProps['alignments'] = { sm: 'right', md: 'right', lg: 'right' };

const serviceContainerBuildStart = useServiceContainer(buildConfigApi.build);
const serviceContainerGroupBuildStart = useServiceContainer(groupConfigApi.build);

const serviceContainer = buildConfig ? serviceContainerBuildStart : serviceContainerGroupBuildStart;

const params: buildConfigApi.IBuildStartParams | groupConfigApi.IGroupBuildStartParams = {
id: '',
temporaryBuild: false,
Expand All @@ -169,26 +177,27 @@ export const BuildStartButton = ({ buildConfig, groupConfig, size = 'md' }: IBui
buildStartParams.keepPodOnFailure = keepPodOnFailure;
buildStartParams.buildDependencies = buildDependencies;
buildStartParams.id = buildConfig.id;
buildConfigApi.build({ buildStartParams });
serviceContainerBuildStart.run({ serviceData: { buildStartParams } });
} else if (groupConfig) {
const groupBuildStartParams = params as groupConfigApi.IGroupBuildStartParams;
params.id = groupConfig.id;
groupConfigApi.build({ groupBuildStartParams });
serviceContainerGroupBuildStart.run({ serviceData: { groupBuildStartParams } });
}
};

return (
<>
<Button
<ProgressButton
onClick={triggerBuild}
serviceContainer={serviceContainer}
icon={<BuildIcon />}
variant="primary"
isSmall={size === 'sm'}
isLarge={size === 'lg'}
onClick={triggerBuild}
className={styles['button-build']}
>
Build
</Button>
</ProgressButton>

<Dropdown
alignments={dropdownAlignmentsDirection}
toggle={
Expand Down

0 comments on commit 0c61d2c

Please sign in to comment.