UNPKG

terriajs

Version:

Geospatial data visualization platform.

57 lines 2.73 kB
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import { runInAction } from "mobx"; import { observer } from "mobx-react"; import { useTranslation, withTranslation } from "react-i18next"; import styled from "styled-components"; import defined from "terriajs-cesium/Source/Core/defined"; import SplitDirection from "terriajs-cesium/Source/Scene/SplitDirection"; import CommonStrata from "../../../Models/Definition/CommonStrata"; import hasTraits from "../../../Models/Definition/hasTraits"; import Box from "../../../Styled/Box"; import { RawButton } from "../../../Styled/Button"; import Spacing from "../../../Styled/Spacing"; import SplitterTraits from "../../../Traits/TraitsClasses/SplitterTraits"; const LeftRightButton = styled(RawButton).attrs({ fullWidth: true }) ` text-align: center; padding: 5px; color: ${(p) => p.theme.textLight}; background-color: ${(p) => p.theme.dark}; ${(p) => p.isActive && ` background-color: ${p.theme.colorSecondary}; `} &:hover, &:focus { background-color: ${(p) => p.theme.colorSecondary}; } `; const LeftRightSection = observer(({ item }) => { const goLeft = () => { runInAction(() => { item.setTrait(CommonStrata.user, "splitDirection", SplitDirection.LEFT); }); }; const goBoth = () => { runInAction(() => { item.setTrait(CommonStrata.user, "splitDirection", SplitDirection.NONE); }); }; const goRight = () => { runInAction(() => { item.setTrait(CommonStrata.user, "splitDirection", SplitDirection.RIGHT); }); }; const { t } = useTranslation(); const splitDirection = item.splitDirection; if (!hasTraits(item, SplitterTraits, "splitDirection") || item.disableSplitter || !defined(splitDirection) || !item.terria.showSplitter) { return null; } return (_jsxs(_Fragment, { children: [_jsx(Spacing, { bottom: 3 }), _jsxs(Box, { children: [_jsx(LeftRightButton, { type: "button", onClick: goLeft, title: t("splitterTool.workbench.goleftTitle"), isActive: splitDirection === SplitDirection.LEFT, children: t("splitterTool.workbench.goleft") }), _jsx(LeftRightButton, { type: "button", onClick: goBoth, title: t("splitterTool.workbench.bothTitle"), isActive: splitDirection === SplitDirection.NONE, children: t("splitterTool.workbench.both") }), _jsx(LeftRightButton, { type: "button", onClick: goRight, title: t("splitterTool.workbench.gorightTitle"), isActive: splitDirection === SplitDirection.RIGHT, children: t("splitterTool.workbench.goright") })] })] })); }); export default withTranslation()(LeftRightSection); //# sourceMappingURL=LeftRightSection.js.map