mirror of
https://github.com/Unleash/unleash.git
synced 2025-10-27 11:02:16 +01:00
fix: revert to working version
This commit is contained in:
parent
3b75ad4e72
commit
8e612e47f4
@ -54,7 +54,7 @@ export const ProgressionChange: FC<ProgressionChangeProps> = ({
|
||||
|
||||
const sourceId = isCreate
|
||||
? change.payload.sourceMilestone
|
||||
: change.payload.sourceMilestoneId;
|
||||
: change.payload.sourceMilestoneId || change.payload.sourceMilestone;
|
||||
|
||||
if (!sourceId) return null;
|
||||
|
||||
|
||||
@ -239,6 +239,7 @@ const AddReleasePlan: FC<{
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
const ConsolidatedProgressionChanges: FC<{
|
||||
feature: IChangeRequestFeature;
|
||||
currentReleasePlan?: IReleasePlan;
|
||||
@ -311,7 +312,8 @@ const ConsolidatedProgressionChanges: FC<{
|
||||
.map((change) =>
|
||||
change.action === 'createMilestoneProgression'
|
||||
? change.payload.sourceMilestone
|
||||
: change.payload.sourceMilestoneId,
|
||||
: change.payload.sourceMilestoneId ||
|
||||
change.payload.sourceMilestone,
|
||||
)
|
||||
.filter((id): id is string => Boolean(id)),
|
||||
);
|
||||
@ -319,7 +321,11 @@ const ConsolidatedProgressionChanges: FC<{
|
||||
const milestonesWithDeletedAutomation = new Set(
|
||||
progressionChanges
|
||||
.filter((change) => change.action === 'deleteMilestoneProgression')
|
||||
.map((change) => change.payload.sourceMilestoneId)
|
||||
.map(
|
||||
(change) =>
|
||||
change.payload.sourceMilestoneId ||
|
||||
change.payload.sourceMilestone,
|
||||
)
|
||||
.filter((id): id is string => Boolean(id)),
|
||||
);
|
||||
|
||||
@ -327,7 +333,8 @@ const ConsolidatedProgressionChanges: FC<{
|
||||
const sourceId =
|
||||
change.action === 'createMilestoneProgression'
|
||||
? change.payload.sourceMilestone
|
||||
: change.payload.sourceMilestoneId;
|
||||
: change.payload.sourceMilestoneId ||
|
||||
change.payload.sourceMilestone;
|
||||
const sourceName =
|
||||
basePlan.milestones.find((milestone) => milestone.id === sourceId)
|
||||
?.name || sourceId;
|
||||
|
||||
@ -0,0 +1,53 @@
|
||||
import type { IReleasePlan } from 'interfaces/releasePlans';
|
||||
import type {
|
||||
IChangeRequestCreateMilestoneProgression,
|
||||
IChangeRequestUpdateMilestoneProgression,
|
||||
IChangeRequestDeleteMilestoneProgression,
|
||||
} from 'component/changeRequest/changeRequest.types';
|
||||
|
||||
type ProgressionChange =
|
||||
| IChangeRequestCreateMilestoneProgression
|
||||
| IChangeRequestUpdateMilestoneProgression
|
||||
| IChangeRequestDeleteMilestoneProgression;
|
||||
|
||||
export const applyProgressionChanges = (
|
||||
basePlan: IReleasePlan,
|
||||
progressionChanges: ProgressionChange[],
|
||||
): IReleasePlan => {
|
||||
return {
|
||||
...basePlan,
|
||||
milestones: basePlan.milestones.map((milestone) => {
|
||||
const createChange = progressionChanges.find(
|
||||
(change): change is IChangeRequestCreateMilestoneProgression =>
|
||||
change.action === 'createMilestoneProgression' &&
|
||||
change.payload.sourceMilestone === milestone.id,
|
||||
);
|
||||
const updateChange = progressionChanges.find(
|
||||
(change): change is IChangeRequestUpdateMilestoneProgression =>
|
||||
change.action === 'updateMilestoneProgression' &&
|
||||
change.payload.sourceMilestoneId === milestone.id,
|
||||
);
|
||||
const deleteChange = progressionChanges.find(
|
||||
(change): change is IChangeRequestDeleteMilestoneProgression =>
|
||||
change.action === 'deleteMilestoneProgression' &&
|
||||
change.payload.sourceMilestoneId === milestone.id,
|
||||
);
|
||||
|
||||
if (deleteChange) {
|
||||
return {
|
||||
...milestone,
|
||||
transitionCondition: null,
|
||||
};
|
||||
}
|
||||
|
||||
const change = updateChange || createChange;
|
||||
if (change) {
|
||||
return {
|
||||
...milestone,
|
||||
transitionCondition: change.payload.transitionCondition,
|
||||
};
|
||||
}
|
||||
return milestone;
|
||||
}),
|
||||
};
|
||||
};
|
||||
@ -25,12 +25,14 @@ export const useModifiedReleasePlan = (
|
||||
const updateChange = progressionChanges.find(
|
||||
(change): change is IChangeRequestUpdateMilestoneProgression =>
|
||||
change.action === 'updateMilestoneProgression' &&
|
||||
change.payload.sourceMilestoneId === milestone.id,
|
||||
(change.payload.sourceMilestoneId === milestone.id ||
|
||||
change.payload.sourceMilestone === milestone.id),
|
||||
);
|
||||
const deleteChange = progressionChanges.find(
|
||||
(change): change is IChangeRequestDeleteMilestoneProgression =>
|
||||
change.action === 'deleteMilestoneProgression' &&
|
||||
change.payload.sourceMilestoneId === milestone.id,
|
||||
(change.payload.sourceMilestoneId === milestone.id ||
|
||||
change.payload.sourceMilestone === milestone.id),
|
||||
);
|
||||
|
||||
if (deleteChange) {
|
||||
|
||||
@ -304,11 +304,13 @@ type ChangeRequestCreateMilestoneProgression =
|
||||
type ChangeRequestUpdateMilestoneProgression =
|
||||
UpdateMilestoneProgressionSchema & {
|
||||
sourceMilestoneId?: string;
|
||||
sourceMilestone?: string; // Backward compatibility for existing change requests
|
||||
snapshot?: IReleasePlan;
|
||||
};
|
||||
|
||||
type ChangeRequestDeleteMilestoneProgression = {
|
||||
sourceMilestoneId?: string;
|
||||
sourceMilestone?: string; // Backward compatibility for existing change requests
|
||||
snapshot?: IReleasePlan;
|
||||
};
|
||||
|
||||
|
||||
@ -146,10 +146,15 @@ export const ReleasePlan = ({
|
||||
const progressionChange = featureInChangeRequest.changes.find(
|
||||
(change: any) =>
|
||||
(change.action === 'updateMilestoneProgression' &&
|
||||
change.payload.sourceMilestoneId ===
|
||||
sourceMilestoneId) ||
|
||||
(change.payload.sourceMilestoneId ===
|
||||
sourceMilestoneId ||
|
||||
change.payload.sourceMilestone ===
|
||||
sourceMilestoneId)) ||
|
||||
(change.action === 'deleteMilestoneProgression' &&
|
||||
change.payload.sourceMilestoneId === sourceMilestoneId),
|
||||
(change.payload.sourceMilestoneId ===
|
||||
sourceMilestoneId ||
|
||||
change.payload.sourceMilestone ===
|
||||
sourceMilestoneId)),
|
||||
);
|
||||
|
||||
if (progressionChange) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user