UNPKG

terriajs

Version:

Geospatial data visualization platform.

53 lines 4.37 kB
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, jsxs as _jsxs } from "react/jsx-runtime"; import { observer } from "mobx-react"; import PropTypes from "prop-types"; import { Component } from "react"; import { withTranslation } from "react-i18next"; import parseCustomMarkdownToReact from "../Custom/parseCustomMarkdownToReact"; import { addRemoveButtonClicked, allMappableMembersInWorkbench } from "../DataCatalog/DisplayGroupHelper"; import measureElement from "../HOCs/measureElement"; import SharePanel from "../Map/Panels/SharePanel/SharePanel"; import DataPreviewSections from "./DataPreviewSections"; import DataPreviewUrl from "./DataPreviewUrl"; import Styles from "./mappable-preview.scss"; import WarningBox from "./WarningBox"; /** * A "preview" for CatalogGroup. */ let GroupPreview = class GroupPreview extends Component { static propTypes = { previewed: PropTypes.object.isRequired, terria: PropTypes.object.isRequired, viewState: PropTypes.object.isRequired, widthFromMeasureElementHOC: PropTypes.number, t: PropTypes.func.isRequired }; backToMap() { this.props.viewState.explorerPanelIsVisible = false; } render() { const metadataItem = this.props.previewed.nowViewingCatalogItem || this.props.previewed; const { t } = this.props; return (_jsxs("div", { children: [_jsxs("div", { className: Styles.titleAndShareWrapper, ref: (component) => (this.refToMeasure = component), children: [_jsx("h3", { children: this.props.previewed.name }), _jsxs("div", { className: Styles.shareLinkWrapper, children: [this.props.previewed.displayGroup === true && (_jsx("button", { type: "button", onClick: (event) => { addRemoveButtonClicked(this.props.previewed, this.props.viewState, this.props.terria, event.shiftKey || event.ctrlKey); }, className: Styles.btnAddAll, children: allMappableMembersInWorkbench(this.props.previewed.members, this.props.terria) ? t("models.catalog.removeAll") : t("models.catalog.addAll") })), _jsx(SharePanel, { catalogShare: true, modalWidth: this.props.widthFromMeasureElementHOC, terria: this.props.terria, viewState: this.props.viewState })] })] }), this.props.previewed.loadMetadataResult?.error && (_jsx(WarningBox, { error: this.props.previewed.loadMetadataResult?.error, viewState: this.props.viewState })), this.props.previewed.loadMembersResult?.error && (_jsx(WarningBox, { error: this.props.previewed.loadMembersResult?.error, viewState: this.props.viewState })), _jsx("div", { className: Styles.previewedInfo, children: _jsxs("div", { className: Styles.url, children: [this.props.previewed.description && this.props.previewed.description.length > 0 && (_jsxs("div", { children: [_jsx("h4", { className: Styles.h4, children: t("description.name") }), parseCustomMarkdownToReact(this.props.previewed.description, { catalogItem: this.props.previewed })] })), _jsx(DataPreviewSections, { metadataItem: metadataItem }), metadataItem.dataCustodian && (_jsxs("div", { children: [_jsx("h4", { className: Styles.h4, children: t("preview.dataCustodian") }), parseCustomMarkdownToReact(metadataItem.dataCustodian, { catalogItem: metadataItem })] })), metadataItem.url && metadataItem.url.length && !metadataItem.hideSource && (_jsx(DataPreviewUrl, { metadataItem: metadataItem }))] }) })] })); } }; GroupPreview = __decorate([ observer ], GroupPreview); export default withTranslation()(measureElement(GroupPreview)); //# sourceMappingURL=GroupPreview.js.map