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 | 16x 16x 16x 16x 16x 16x 16x 16x 16x 1x 16x | import { createColumns, DataTable } from "@/ahuora-design-system/ui/data-table";
import {
ObjectTypeEnum,
useCoreDataRowInputRowListQuery,
useCoreDataRowOutputRowListQuery,
} from "@/api/apiStore.gen";
import {
useCurrentObjectId,
useFlowsheetObjectsIdMap,
} from "@/hooks/flowsheetObjects";
import { useDeleteSearchParam } from "@/hooks/searchParams";
import RowResultHead from "./RowResultHead";
export default function SpecificRow({
maxRow,
scenario,
solve_index,
setSolveIndex,
}) {
const selectedObjectId = useCurrentObjectId();
const map = useFlowsheetObjectsIdMap();
const unitOp = map.get(selectedObjectId);
const isSelectingUnitOp =
unitOp && unitOp.objectType !== ObjectTypeEnum.Group;
const deleteParam = useDeleteSearchParam();
const { data: input } = useCoreDataRowInputRowListQuery(
{
scenario: scenario.id,
solveIndex: Number(solve_index),
},
{
skip: !selectedObjectId,
},
);
const { data: output } = useCoreDataRowOutputRowListQuery(
{
scenario: scenario.id,
solveIndex: Number(solve_index),
simulationObject: selectedObjectId,
},
{
skip: !selectedObjectId,
},
);
const inputTableColumns = createColumns(input);
const outputTableColumns = createColumns(output, true);
function handleBack() {
deleteParam("solve_index");
}
return (
<div className="h-full w-full">
<div
className="h-full w-full p-4 flex flex-col gap-3"
aria-label="scenario-details-tables"
>
<RowResultHead
componentName={unitOp?.componentName}
row={solve_index}
setRow={setSolveIndex}
maxRow={maxRow}
handleBack={handleBack}
/>
{!isSelectingUnitOp ? (
<p className="text-muted-foreground">
Select a unit operation to view its results.
</p>
) : (
<div className="flex flex-col gap-6">
<DataTable
columns={inputTableColumns}
data={input || []}
rowSelection={{}}
title="Inputs"
ariaLabel="specific-row-inputs"
columnSelection
/>
<DataTable
columns={outputTableColumns}
data={output || []}
rowSelection={{}}
title="Results"
ariaLabel="specific-row-results"
columnSelection
/>
</div>
)}
</div>
</div>
);
}
|