/* * * Copyright 2016 RIFT.IO Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import './catalogCard.scss'; import 'style/common.scss'; import React, {Component} from 'react'; import Utils from 'utils/utils.js' export default class CatalogCard extends Component { constructor(props) { super(props); this.state = {}; this.state.isExpanded = false; } hideIt = (e) => { document.querySelector('body').removeEventListener('click', this.hideIt); if(e.target.parentElement.classList.contains('CatalogCard-info--expanded') || e.target.classList.contains('CatalogCard-info--expanded')) { e.stopPropagation(); } this.setState({ isExpanded: false }); } handleImageError = (e) => { console.log('Bad logo path, using default'); e.target.src = require('style/img/catalog-default.svg'); } toggleDetailsDisplay = (e) => { let self = this; let isExpanded = this.state.isExpanded; e.stopPropagation(); if(!isExpanded) { document.querySelector('body').addEventListener('click', this.hideIt); self.setState({ isExpanded: true }); } } detailsHTML = (descriptor) => { let self = this; return (