UNPKG

terriajs

Version:

Geospatial data visualization platform.

39 lines 2.84 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { action } from "mobx"; import { observer } from "mobx-react"; import { useTranslation } from "react-i18next"; import { getName } from "../../ModelMixins/CatalogMemberMixin"; import { filterSelectableDimensions } from "../../Models/SelectableDimensions/SelectableDimensions"; import { useViewState } from "../Context"; import SelectableDimension from "../SelectableDimensions/SelectableDimension"; import WorkbenchItemControls from "../Workbench/Controls/WorkbenchItemControls"; import { Panel } from "./Panel"; import { PanelMenu } from "./PanelMenu"; import WorkflowPanel from "./WorkflowPanel"; /** Two main components: * - Title panel with `title`, item `WorkbenchItemControls` and menu * - Panel for each top-level selectable dimension */ const SelectableDimensionWorkflow = observer(() => { const viewState = useViewState(); const terria = viewState.terria; const [t] = useTranslation(); return terria.selectableDimensionWorkflow ? (_jsxs(WorkflowPanel, { viewState: viewState, icon: terria.selectableDimensionWorkflow.icon, title: terria.selectableDimensionWorkflow.name, closeButtonText: t("compare.done"), onClose: action(() => { terria.selectableDimensionWorkflow = undefined; }), footer: terria.selectableDimensionWorkflow.footer, children: [_jsx(Panel, { title: getName(terria.selectableDimensionWorkflow.item), menuComponent: terria.selectableDimensionWorkflow.menu ? (_jsx(PanelMenu, { ...terria.selectableDimensionWorkflow.menu })) : undefined, children: _jsx(WorkbenchItemControls, { item: terria.selectableDimensionWorkflow.item, viewState: viewState, disableViewingControlsMenu: true, controls: { disableAll: true, opacity: true, timer: true, dateTime: true, shortReport: true } }) }), terria.selectableDimensionWorkflow.selectableDimensions.map((groupDim, _i) => { if (groupDim.disable) return null; const childDims = filterSelectableDimensions()(groupDim.selectableDimensions); if (childDims.length === 0) return null; return (_jsx(Panel, { title: groupDim.name ?? groupDim.id, isOpen: groupDim.isOpen ?? true, onToggle: groupDim.onToggle, collapsible: true, children: childDims.map((childDim) => (_jsx(SelectableDimension, { id: `${terria.selectableDimensionWorkflow?.item.uniqueId}-${childDim.id}`, dim: childDim }, `${terria.selectableDimensionWorkflow?.item.uniqueId}-${childDim.id}-fragment`))) }, groupDim.name ?? groupDim.id)); })] })) : null; }); export default SelectableDimensionWorkflow; //# sourceMappingURL=SelectableDimensionWorkflow.js.map