Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x 33x | import { PinchIcon } from "@/ahuora-design-system/componentIcons/PinchIcon";
import {
ClipboardList,
FileTerminal,
Maximize,
Shapes,
Split,
TestTubes
} from "lucide-react";
import { DefinedStatusButton } from "../Canvas/DefinedStatus";
export enum ContentTypes {
pinch = "pinch",
summary = "summary",
objectDetails = "objectDetails",
streams = "streams",
objects = "objects",
composition = "composition",
unitOps = "unit ops",
scenarios = "scenarios",
pGraph = "pGraph",
solverLogs = "logs",
flowsheet = "group",
objectList = "objectList",
}
export enum ViewTypes {
pinch = "pinch",
summary = "summary",
flowsheet = "group",
}
export const CONTENT_MAP: Record<ContentTypes, ViewTypes> = {
// We are using the "content" search param to determine the current view.
// some pages have multiple different views. E.g content="pGraph" shows the flowsheet page, with the pgraph left tab.
// so this says which page renders that content type.
[ContentTypes.pinch]: ViewTypes.pinch,
[ContentTypes.summary]: ViewTypes.summary,
[ContentTypes.streams]: ViewTypes.summary,
[ContentTypes.objects]: ViewTypes.summary,
[ContentTypes.composition]: ViewTypes.summary,
[ContentTypes.unitOps]: ViewTypes.flowsheet,
[ContentTypes.scenarios]: ViewTypes.flowsheet,
[ContentTypes.pGraph]: ViewTypes.flowsheet,
[ContentTypes.solverLogs]: ViewTypes.flowsheet,
[ContentTypes.flowsheet]: ViewTypes.flowsheet,
[ContentTypes.objectDetails]: ViewTypes.flowsheet,
[ContentTypes.objectList]: ViewTypes.flowsheet,
};
export enum TabPositions {
top = "top",
second = "second",
bottom = "bottom",
none = "none",
}
// Tab definitions
export const TABS = [
{
id: ContentTypes.unitOps,
tooltipContent: "Unit Operations",
ariaLabel: "Show Unit Operations panel to add unit operations",
icon: <Shapes className="icon-large" />,
position: TabPositions.top,
},
// {
// id: ContentTypes.objectDetails,
// tooltipContent: "Object Details",
// ariaLabel: "View the details of the selected object",
// icon: <FileBox className="icon-large" />,
// position: TabPositions.top,
// },
{
id: ContentTypes.objectList,
tooltipContent: "View Flowsheet Structure",
ariaLabel: "View the status of all objects in the flowsheet",
icon: <DefinedStatusButton />,
position: TabPositions.top,
},
{
id: ContentTypes.scenarios,
tooltipContent: "Scenarios",
ariaLabel:
"Add or manage simulations, including steady state and dynamic simulations",
icon: <TestTubes className="icon-large" />,
position: TabPositions.top,
},
{
id: ContentTypes.pGraph,
tooltipContent: "P-graph Decision Pathways",
ariaLabel:
"Compare process network synthesis solutions using P-graph decision pathways",
icon: <Split className="rotate-90 icon-large" />,
position: TabPositions.top,
},
{
id: ContentTypes.pinch,
tooltipContent: "Pinch Analysis",
ariaLabel: "Use pinch analysis to identify energy savings opportunities",
icon: <PinchIcon />,
position: TabPositions.second,
},
{
id: ContentTypes.summary,
tooltipContent: "Summary Table",
ariaLabel: "View the properties of all objects in the flowsheet",
icon: <ClipboardList className="icon-large" />,
position: TabPositions.second,
},
{
id: ContentTypes.solverLogs,
tooltipContent: "Solver Logs",
ariaLabel: "View the output of the flowsheet solver",
icon: <FileTerminal className="icon-large" />,
position: TabPositions.bottom,
},
{
id: ContentTypes.flowsheet,
tooltipContent: "View entire flowsheet",
ariaLabel: "Show the entire flowsheet",
icon: <Maximize className="icon-large" />,
position: TabPositions.none,
},
];
|