terriajs
Version:
Geospatial data visualization platform.
48 lines • 2.64 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
import { runInAction } from "mobx";
import { observer } from "mobx-react";
import { Component } from "react";
import ChartPanel from "../Custom/Chart/ChartPanel";
import measureElement from "../HOCs/measureElement";
import withControlledVisibility from "../HOCs/withControlledVisibility";
import ChartDisclaimer from "./ChartDisclaimer";
import Timeline from "./Timeline/Timeline";
import { withTheme } from "styled-components";
let BottomDock = class BottomDock extends Component {
refToMeasure = null;
handleClick() {
runInAction(() => {
this.props.viewState.topElement = "BottomDock";
});
}
componentDidUpdate(prevProps) {
if (prevProps.heightFromMeasureElementHOC !==
this.props.heightFromMeasureElementHOC) {
this.props.viewState.setBottomDockHeight(this.props.heightFromMeasureElementHOC ?? 0);
}
}
render() {
const { terria } = this.props;
const top = terria.timelineStack.top;
return (_jsxs("div", { className: `${this.props.viewState.topElement === "BottomDock" ? "top-element" : ""}`, ref: (element) => {
if (element !== null) {
this.refToMeasure = element;
}
}, tabIndex: 0, onClick: this.handleClick.bind(this), css: `
bottom: 0;
right: 0;
position: relative;
`, children: [_jsx("div", { id: "TJS-BottomDockFirstPortal" }), !this.props.viewState.useSmallScreenInterface && (_jsxs(_Fragment, { children: [_jsx(ChartDisclaimer, { terria: terria, viewState: this.props.viewState }), _jsx(ChartPanel, {})] })), top && (_jsx(Timeline, { terria: terria, elementConfig: this.props.terria.elements.get("timeline") })), _jsx("div", { id: "TJS-BottomDockLastPortal" })] }));
}
};
BottomDock = __decorate([
observer
], BottomDock);
export default withControlledVisibility(withTheme(measureElement(BottomDock, false)));
//# sourceMappingURL=BottomDock.js.map