Skip to content

Commit

Permalink
Feature/monitoring specifier (#80)
Browse files Browse the repository at this point in the history
  • Loading branch information
levinkerschberger committed Jul 25, 2024
1 parent 19c544f commit 4931eb5
Show file tree
Hide file tree
Showing 16 changed files with 3,569 additions and 285 deletions.
3,058 changes: 3,058 additions & 0 deletions package-lock.json

Large diffs are not rendered by default.

62 changes: 35 additions & 27 deletions src/components/ScenarioEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,44 @@ import { ResilienceTestSpecifier } from "@/components/resilience-test-specifier/
import { useState, type Dispatch, type SetStateAction } from "react";
import type { Edge } from "reactflow";
import { RqaList } from "./rqaExplorer/RqaList";
import { Monitor } from "@mui/icons-material";
import MonitoringSpecifier from "./monitoring/MonitoringSpecifier";

export default function ScenarioEditor({
showLoadTestSpecifier,
showResilienceTestSpecifier,
rqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
showLoadTestSpecifier,
showResilienceTestSpecifier,
rqaExplorerShow,
showMonitoringSpecifier,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
}: {
showLoadTestSpecifier: boolean;
showResilienceTestSpecifier: boolean;
rqaExplorerShow: boolean;
setShowLoadTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowResilienceTestSpecifier: Dispatch<SetStateAction<boolean>>;
showLoadTestSpecifier: boolean;
showResilienceTestSpecifier: boolean;
rqaExplorerShow: boolean;
showMonitoringSpecifier: boolean;
setShowLoadTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowResilienceTestSpecifier: Dispatch<SetStateAction<boolean>>;
}) {
const [selectedEdge, setSelectedEdge] = useState<Edge | null>(null);
const [selectedEdge, setSelectedEdge] = useState<Edge | null>(null);

return (
<>
<Conditional showWhen={showLoadTestSpecifier}>
<LoadTestSpecifier selectedEdge={selectedEdge} />
</Conditional>
<Conditional showWhen={showResilienceTestSpecifier}>
<ResilienceTestSpecifier selectedEdge={selectedEdge} />
</Conditional>
<Conditional showWhen={rqaExplorerShow}>
<RqaList
loadTestSpecifier={setShowLoadTestSpecifier}
resilienceTestSpecifier={setShowResilienceTestSpecifier}
/>
</Conditional>
</>
);
console.log(showMonitoringSpecifier);
return (
<>
<Conditional showWhen={showLoadTestSpecifier}>
<LoadTestSpecifier selectedEdge={selectedEdge} />
</Conditional>
<Conditional showWhen={showResilienceTestSpecifier}>
<ResilienceTestSpecifier selectedEdge={selectedEdge} />
</Conditional>
<Conditional showWhen={rqaExplorerShow}>
<RqaList
loadTestSpecifier={setShowLoadTestSpecifier}
resilienceTestSpecifier={setShowResilienceTestSpecifier}
/>
</Conditional>
<Conditional showWhen={showMonitoringSpecifier}>
<MonitoringSpecifier />
</Conditional>
</>
);
}
80 changes: 45 additions & 35 deletions src/components/ScenarioEditorTaskbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,52 @@ import EqualizerIcon from "@mui/icons-material/Equalizer";
import type { Dispatch, SetStateAction } from "react";

export default function ScenarioEditorTaskbar({
setRqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
setRqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
setShowMonitoringSpecifier,
}: {
setRqaExplorerShow: Dispatch<SetStateAction<boolean>>;
setShowLoadTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowResilienceTestSpecifier: Dispatch<SetStateAction<boolean>>;
setRqaExplorerShow: Dispatch<SetStateAction<boolean>>;
setShowLoadTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowResilienceTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowMonitoringSpecifier: Dispatch<SetStateAction<boolean>>;
}) {
return (
<>
<button
type="button"
onClick={() => setRqaExplorerShow((prevState) => !prevState)}
>
<div>
<EqualizerIcon />
</div>
</button>
<button
type="button"
onClick={() => setShowLoadTestSpecifier((prevState) => !prevState)}
>
<div className="icon-domain-story-loadtest" />
</button>
return (
<>
<button
type="button"
onClick={() => setRqaExplorerShow((prevState) => !prevState)}
>
<div>
<EqualizerIcon />
</div>
</button>
<button
type="button"
onClick={() => setShowLoadTestSpecifier((prevState) => !prevState)}
>
<div className="icon-domain-story-loadtest" />
</button>

<button type="button">
<div className="icon-domain-story-monitoring" />
</button>
<button
type="button"
onClick={() =>
setShowResilienceTestSpecifier((prevState) => !prevState)
}
>
<div className="icon-domain-story-chaosexperiment" />
</button>
</>
);
<button
type="button"
onClick={() =>
setShowMonitoringSpecifier((prevState) => {
console.log(prevState);
return !prevState;
})
}
>
<div className="icon-domain-story-monitoring" />
</button>
<button
type="button"
onClick={() =>
setShowResilienceTestSpecifier((prevState) => !prevState)
}
>
<div className="icon-domain-story-chaosexperiment" />
</button>
</>
);
}
68 changes: 37 additions & 31 deletions src/components/Sidebar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,42 @@ import ScenarioEditor from "./ScenarioEditor";
import ScenarioExplorer from "./ScenarioExplorer";

export default function Sidebar({
nodes,
edges,
}: { nodes: Node[]; edges: Edge[] }) {
// hideComponentOnViewportClick(loadtestRef, setShowLoadTestSpecifier);
const [scenarioMode, setScenarioMode] = useState(false);
const [rqaExplorer, setRqaExplorer] = useState(false);
const [showLoadTestSpecifier, setShowLoadTestSpecifier] = useState(false);
const [showResilienceTestSpecifier, setShowResilienceTestSpecifier] =
useState(false);
nodes,
edges,
}: {
nodes: Node[];
edges: Edge[];
}) {
// hideComponentOnViewportClick(loadtestRef, setShowLoadTestSpecifier);
const [scenarioMode, setScenarioMode] = useState(false);
const [rqaExplorer, setRqaExplorer] = useState(false);
const [showLoadTestSpecifier, setShowLoadTestSpecifier] = useState(false);
const [showResilienceTestSpecifier, setShowResilienceTestSpecifier] =
useState(false);
const [showMonitoringSpecifier, setShowMonitoringSpecifier] = useState(false);

return (
<div className="sidebar">
<Taskbar
scenarioMode={scenarioMode}
setScenarioMode={setScenarioMode}
setRqaExplorerShow={setRqaExplorer}
setShowLoadTestSpecifier={setShowLoadTestSpecifier}
setShowResilienceTestSpecifier={setShowResilienceTestSpecifier}
/>
{scenarioMode ? (
<ScenarioExplorer />
) : (
<ScenarioEditor
showLoadTestSpecifier={showLoadTestSpecifier}
showResilienceTestSpecifier={showResilienceTestSpecifier}
rqaExplorerShow={rqaExplorer}
setShowLoadTestSpecifier={setShowLoadTestSpecifier}
setShowResilienceTestSpecifier={setShowResilienceTestSpecifier}
/>
)}
</div>
);
return (
<div className="sidebar">
<Taskbar
scenarioMode={scenarioMode}
setScenarioMode={setScenarioMode}
setRqaExplorerShow={setRqaExplorer}
setShowLoadTestSpecifier={setShowLoadTestSpecifier}
setShowResilienceTestSpecifier={setShowResilienceTestSpecifier}
setShowMonitoringSpecifier={setShowMonitoringSpecifier}
/>
{scenarioMode ? (
<ScenarioExplorer />
) : (
<ScenarioEditor
showLoadTestSpecifier={showLoadTestSpecifier}
showResilienceTestSpecifier={showResilienceTestSpecifier}
rqaExplorerShow={rqaExplorer}
showMonitoringSpecifier={showMonitoringSpecifier}
setShowLoadTestSpecifier={setShowLoadTestSpecifier}
setShowResilienceTestSpecifier={setShowResilienceTestSpecifier}
/>
)}
</div>
);
}
67 changes: 35 additions & 32 deletions src/components/Taskbar.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,39 +5,42 @@ import ScenarioEditorTaskbar from "./ScenarioEditorTaskbar";
import ScenarioExplorerTaskbar from "./ScenarioExporerTaskbar";

export default function Taskbar({
scenarioMode,
setScenarioMode,
setRqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
scenarioMode,
setScenarioMode,
setRqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
setShowMonitoringSpecifier,
}: {
scenarioMode: boolean;
setScenarioMode: Dispatch<SetStateAction<boolean>>;
setRqaExplorerShow: Dispatch<SetStateAction<boolean>>;
setShowLoadTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowResilienceTestSpecifier: Dispatch<SetStateAction<boolean>>;
scenarioMode: boolean;
setScenarioMode: Dispatch<SetStateAction<boolean>>;
setRqaExplorerShow: Dispatch<SetStateAction<boolean>>;
setShowLoadTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowResilienceTestSpecifier: Dispatch<SetStateAction<boolean>>;
setShowMonitoringSpecifier: Dispatch<SetStateAction<boolean>>;
}) {
return (
<div className="taskbar-container">
<button
type="button"
className="change-mode"
onClick={() => setScenarioMode((prevState) => !prevState)}
>
<div>{scenarioMode ? <CloudQueueIcon /> : <CloudOffIcon />}</div>
</button>
return (
<div className="taskbar-container">
<button
type="button"
className="change-mode"
onClick={() => setScenarioMode((prevState) => !prevState)}
>
<div>{scenarioMode ? <CloudQueueIcon /> : <CloudOffIcon />}</div>
</button>

{scenarioMode ? (
<ScenarioExplorerTaskbar />
) : (
<ScenarioEditorTaskbar
{...{
setRqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
}}
/>
)}
</div>
);
{scenarioMode ? (
<ScenarioExplorerTaskbar />
) : (
<ScenarioEditorTaskbar
{...{
setRqaExplorerShow,
setShowLoadTestSpecifier,
setShowResilienceTestSpecifier,
setShowMonitoringSpecifier,
}}
/>
)}
</div>
);
}
Loading

0 comments on commit 4931eb5

Please sign in to comment.