mirror of
https://github.com/Unleash/unleash.git
synced 2025-11-24 20:06:55 +01:00
feat: remove milestone progression adding when paused (#11012)
This commit is contained in:
parent
97a20b0929
commit
d6af401dd2
@ -12,9 +12,8 @@ import { StyledActionButton } from './StyledActionButton.tsx';
|
|||||||
|
|
||||||
interface MilestoneAutomationProps {
|
interface MilestoneAutomationProps {
|
||||||
milestone: IReleasePlanMilestone;
|
milestone: IReleasePlanMilestone;
|
||||||
|
milestones: IReleasePlanMilestone[];
|
||||||
status: MilestoneStatus;
|
status: MilestoneStatus;
|
||||||
isNotLastMilestone: boolean;
|
|
||||||
nextMilestoneId: string;
|
|
||||||
milestoneProgressionsEnabled: boolean;
|
milestoneProgressionsEnabled: boolean;
|
||||||
readonly: boolean | undefined;
|
readonly: boolean | undefined;
|
||||||
isProgressionFormOpen: boolean;
|
isProgressionFormOpen: boolean;
|
||||||
@ -30,9 +29,8 @@ interface MilestoneAutomationProps {
|
|||||||
|
|
||||||
export const MilestoneAutomation = ({
|
export const MilestoneAutomation = ({
|
||||||
milestone,
|
milestone,
|
||||||
|
milestones,
|
||||||
status,
|
status,
|
||||||
isNotLastMilestone,
|
|
||||||
nextMilestoneId,
|
|
||||||
milestoneProgressionsEnabled,
|
milestoneProgressionsEnabled,
|
||||||
readonly,
|
readonly,
|
||||||
isProgressionFormOpen,
|
isProgressionFormOpen,
|
||||||
@ -43,6 +41,13 @@ export const MilestoneAutomation = ({
|
|||||||
onChangeProgression,
|
onChangeProgression,
|
||||||
onDeleteProgression,
|
onDeleteProgression,
|
||||||
}: MilestoneAutomationProps) => {
|
}: MilestoneAutomationProps) => {
|
||||||
|
const milestoneIndex = milestones.findIndex((m) => m.id === milestone.id);
|
||||||
|
const isNotLastMilestone = milestoneIndex < milestones.length - 1;
|
||||||
|
const nextMilestoneId = milestones[milestoneIndex + 1]?.id || '';
|
||||||
|
const hasAnyPausedMilestone = milestones.some((milestone) =>
|
||||||
|
Boolean(milestone.pausedAt),
|
||||||
|
);
|
||||||
|
|
||||||
const showAutomation =
|
const showAutomation =
|
||||||
milestoneProgressionsEnabled && isNotLastMilestone && !readonly;
|
milestoneProgressionsEnabled && isNotLastMilestone && !readonly;
|
||||||
|
|
||||||
@ -89,7 +94,7 @@ export const MilestoneAutomation = ({
|
|||||||
status={status}
|
status={status}
|
||||||
badge={badge}
|
badge={badge}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : hasAnyPausedMilestone ? null : (
|
||||||
<StyledActionButton
|
<StyledActionButton
|
||||||
onClick={onOpenProgressionForm}
|
onClick={onOpenProgressionForm}
|
||||||
color='primary'
|
color='primary'
|
||||||
|
|||||||
@ -92,7 +92,6 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
|
|
||||||
const isNotLastMilestone = index < milestones.length - 1;
|
const isNotLastMilestone = index < milestones.length - 1;
|
||||||
const isProgressionFormOpen = progressionFormOpenIndex === index;
|
const isProgressionFormOpen = progressionFormOpenIndex === index;
|
||||||
const nextMilestoneId = milestones[index + 1]?.id || '';
|
|
||||||
const handleOpenProgressionForm = () =>
|
const handleOpenProgressionForm = () =>
|
||||||
onSetProgressionFormOpenIndex(index);
|
onSetProgressionFormOpenIndex(index);
|
||||||
const handleCloseProgressionForm = () =>
|
const handleCloseProgressionForm = () =>
|
||||||
@ -166,15 +165,11 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
const { pendingProgressionChange, effectiveTransitionCondition } =
|
const { pendingProgressionChange, effectiveTransitionCondition } =
|
||||||
getPendingProgressionData(milestone, getPendingProgressionChange);
|
getPendingProgressionData(milestone, getPendingProgressionChange);
|
||||||
|
|
||||||
const shouldShowAutomation =
|
const automationSection = (
|
||||||
isNotLastMilestone && milestoneProgressionsEnabled && !readonly;
|
|
||||||
|
|
||||||
const automationSection = shouldShowAutomation ? (
|
|
||||||
<MilestoneAutomation
|
<MilestoneAutomation
|
||||||
milestone={milestone}
|
milestone={milestone}
|
||||||
|
milestones={milestones}
|
||||||
status={status}
|
status={status}
|
||||||
isNotLastMilestone={isNotLastMilestone}
|
|
||||||
nextMilestoneId={nextMilestoneId}
|
|
||||||
milestoneProgressionsEnabled={milestoneProgressionsEnabled}
|
milestoneProgressionsEnabled={milestoneProgressionsEnabled}
|
||||||
readonly={readonly}
|
readonly={readonly}
|
||||||
isProgressionFormOpen={isProgressionFormOpen}
|
isProgressionFormOpen={isProgressionFormOpen}
|
||||||
@ -185,7 +180,7 @@ export const ReleasePlanMilestoneItem = ({
|
|||||||
onChangeProgression={handleChangeProgression}
|
onChangeProgression={handleChangeProgression}
|
||||||
onDeleteProgression={onDeleteProgression}
|
onDeleteProgression={onDeleteProgression}
|
||||||
/>
|
/>
|
||||||
) : undefined;
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div key={milestone.id}>
|
<div key={milestone.id}>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user