|
@@ -89,6 +89,7 @@ interface PipelinesRowProps {
|
|
onFocus: (e: MouseEvent<HTMLElement>) => void;
|
|
onFocus: (e: MouseEvent<HTMLElement>) => void;
|
|
focusName: string;
|
|
focusName: string;
|
|
setFocusName: (name: string) => void;
|
|
setFocusName: (name: string) => void;
|
|
|
|
+ submittable: boolean;
|
|
}
|
|
}
|
|
|
|
|
|
const MainBoxSx = {
|
|
const MainBoxSx = {
|
|
@@ -144,6 +145,7 @@ const PipelineRow = ({
|
|
onFocus,
|
|
onFocus,
|
|
focusName,
|
|
focusName,
|
|
setFocusName,
|
|
setFocusName,
|
|
|
|
+ submittable,
|
|
}: PipelinesRowProps) => {
|
|
}: PipelinesRowProps) => {
|
|
const [pipeline, setPipeline] = useState<string>(label);
|
|
const [pipeline, setPipeline] = useState<string>(label);
|
|
|
|
|
|
@@ -207,8 +209,12 @@ const PipelineRow = ({
|
|
</Grid>
|
|
</Grid>
|
|
<Grid item xs={2} container alignContent="center" alignItems="center" justifyContent="center">
|
|
<Grid item xs={2} container alignContent="center" alignItems="center" justifyContent="center">
|
|
{submit ? (
|
|
{submit ? (
|
|
- <IconButton size="small" onClick={onSubmitPipeline} disabled={!enableScenarioFields || !active}>
|
|
|
|
- <Send color={disableColor("info", !enableScenarioFields)} />
|
|
|
|
|
|
+ <IconButton
|
|
|
|
+ size="small"
|
|
|
|
+ onClick={onSubmitPipeline}
|
|
|
|
+ disabled={!enableScenarioFields || !active || !submittable}
|
|
|
|
+ >
|
|
|
|
+ <Send color={disableColor("info", !enableScenarioFields || !active || !submittable)} />
|
|
</IconButton>
|
|
</IconButton>
|
|
) : null}
|
|
) : null}
|
|
</Grid>
|
|
</Grid>
|
|
@@ -251,6 +257,8 @@ const ScenarioViewer = (props: ScenarioViewerProps) => {
|
|
scPipelines,
|
|
scPipelines,
|
|
scAuthorizedTags,
|
|
scAuthorizedTags,
|
|
scDeletable,
|
|
scDeletable,
|
|
|
|
+ scPromotable,
|
|
|
|
+ scSubmittable,
|
|
isScenario,
|
|
isScenario,
|
|
] = useMemo(() => {
|
|
] = useMemo(() => {
|
|
let sc: ScenarioFull | undefined = undefined;
|
|
let sc: ScenarioFull | undefined = undefined;
|
|
@@ -263,7 +271,7 @@ const ScenarioViewer = (props: ScenarioViewerProps) => {
|
|
// DO nothing
|
|
// DO nothing
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- return sc ? [...sc, true] : ["", false, "", "", "", [], [], [], [], false, false];
|
|
|
|
|
|
+ return sc ? [...sc, true] : ["", false, "", "", "", [], [], [], [], false, false, false, false];
|
|
}, [props.scenario, props.defaultScenario]);
|
|
}, [props.scenario, props.defaultScenario]);
|
|
|
|
|
|
const active = useDynamicProperty(props.active, props.defaultActive, true);
|
|
const active = useDynamicProperty(props.active, props.defaultActive, true);
|
|
@@ -507,9 +515,12 @@ const ScenarioViewer = (props: ScenarioViewerProps) => {
|
|
<IconButton
|
|
<IconButton
|
|
sx={IconPaddingSx}
|
|
sx={IconPaddingSx}
|
|
onClick={submitScenario}
|
|
onClick={submitScenario}
|
|
- disabled={!isScenario || !active}
|
|
|
|
|
|
+ disabled={!isScenario || !active || !scSubmittable}
|
|
>
|
|
>
|
|
- <Send fontSize="medium" color={disableColor("info", !isScenario || !active)} />
|
|
|
|
|
|
+ <Send
|
|
|
|
+ fontSize="medium"
|
|
|
|
+ color={disableColor("info", !isScenario || !active || !scSubmittable)}
|
|
|
|
+ />
|
|
</IconButton>
|
|
</IconButton>
|
|
) : null}
|
|
) : null}
|
|
</Grid>
|
|
</Grid>
|
|
@@ -844,7 +855,7 @@ const ScenarioViewer = (props: ScenarioViewerProps) => {
|
|
|
|
|
|
{scPipelines &&
|
|
{scPipelines &&
|
|
scPipelines.map((item, index) => {
|
|
scPipelines.map((item, index) => {
|
|
- const [key, value] = item;
|
|
|
|
|
|
+ const [key, value, submittable] = item;
|
|
return (
|
|
return (
|
|
<PipelineRow
|
|
<PipelineRow
|
|
active={active}
|
|
active={active}
|
|
@@ -859,6 +870,7 @@ const ScenarioViewer = (props: ScenarioViewerProps) => {
|
|
onFocus={onFocus}
|
|
onFocus={onFocus}
|
|
focusName={focusName}
|
|
focusName={focusName}
|
|
setFocusName={setFocusName}
|
|
setFocusName={setFocusName}
|
|
|
|
+ submittable={submittable}
|
|
/>
|
|
/>
|
|
);
|
|
);
|
|
})}
|
|
})}
|
|
@@ -882,7 +894,7 @@ const ScenarioViewer = (props: ScenarioViewerProps) => {
|
|
<Button
|
|
<Button
|
|
variant="outlined"
|
|
variant="outlined"
|
|
color="primary"
|
|
color="primary"
|
|
- disabled={!active || !isScenario || scPrimary}
|
|
|
|
|
|
+ disabled={!active || !isScenario || scPrimary || !scPromotable}
|
|
onClick={openPrimaryDialog}
|
|
onClick={openPrimaryDialog}
|
|
>
|
|
>
|
|
PROMOTE TO PRIMARY
|
|
PROMOTE TO PRIMARY
|