import CatalogMemberMixin, { getName } from "../../../../../ModelMixins/CatalogMemberMixin"; import DiscretelyTimeVaryingMixin from "../../../../../ModelMixins/DiscretelyTimeVaryingMixin"; import MappableMixin from "../../../../../ModelMixins/MappableMixin"; import { BaseModel } from "../../../../../Models/Definition/Model"; import SelectableDimensions, { DEFAULT_PLACEMENT, filterSelectableDimensions, findSelectedValueName, isGroup } from "../../../../../Models/SelectableDimensions/SelectableDimensions"; import Workbench from "../../../../../Models/Workbench"; import Legend from "../../../../Workbench/Controls/Legend"; interface Props { workbench: Workbench; } const renderDisplayVariables = (catalogItem: BaseModel) => { if (SelectableDimensions.is(catalogItem)) { return filterSelectableDimensions(DEFAULT_PLACEMENT)( catalogItem.selectableDimensions ).map((dim, key) => !isGroup(dim) ? (
{dim.name}: {findSelectedValueName(dim)}
) : null ); } return null; }; const renderLegend = (catalogItem: BaseModel) => { if (!MappableMixin.isMixedInto(catalogItem)) { return null; } return (
{getName(catalogItem)}
{DiscretelyTimeVaryingMixin.isMixedInto(catalogItem) && (
Time: {catalogItem.currentTime}
)} {CatalogMemberMixin.isMixedInto(catalogItem) && ( )}
); }; const WorkbenchItem = ({ item }: { item: BaseModel }) => { return (

{getName(item)}

{renderDisplayVariables(item)}
{renderLegend(item)}
); }; const PrintWorkbench = (props: Props) => { return ( <> {props.workbench.items.map((item, index) => ( ))} ); }; export default PrintWorkbench;