import React from 'react' import {connect} from 'react-redux' import {makeReadableCommunity} from './utils' /* * Make style tags * Derive classes from community parts. */ function _makeStyleTags(community) { return community.map((part, i) => { return `label-bgp-community-${i}-${part}`; }); } /* * Render community label */ class Label extends React.Component { render() { // Lookup communities const readableCommunity = makeReadableCommunity( this.props.communities, this.props.community); const key = this.props.community.join(":"); let cls = 'label label-bgp-community '; if (!readableCommunity) { cls += "label-bgp-unknown"; // Default label return ( {key} ); } // Apply style cls += "label-info "; const styleTags = _makeStyleTags(this.props.community); cls += styleTags.join(" "); return ({readableCommunity} ({key})); } } export default connect( (state) => ({ communities: state.config.bgp_communities, }) )(Label);