UNPKG

terriajs

Version:

Geospatial data visualization platform.

53 lines (45 loc) 1.31 kB
"use strict"; import createReactClass from "create-react-class"; import PropTypes from "prop-types"; import React from "react"; import defined from "terriajs-cesium/Source/Core/defined"; import Icon from "../../../Styled/Icon"; import Styles from "./tool_button.scss"; const CatalogShortcut = createReactClass({ displayName: "CatalogShortcut", propTypes: { terria: PropTypes.object.isRequired, viewState: PropTypes.object.isRequired, catalogMember: PropTypes.object.isRequired, glyph: PropTypes.string.isRequired, title: PropTypes.string }, async handleClick() { if (defined(this.props.catalogMember)) { ( await this.props.viewState.viewCatalogMember(this.props.catalogMember) ).raiseError(this.props.terria); } }, render() { let title = ""; if (defined(this.props.title)) { title = this.props.title; } else if (defined(this.props.catalogMember.name)) { title = this.props.catalogMember.name; } return ( <div className={Styles.toolButton}> <button type="button" className={Styles.btn} title={title} onClick={this.handleClick} > <Icon glyph={this.props.glyph} /> </button> </div> ); } }); export default CatalogShortcut;