X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=skyquake%2Fplugins%2Flaunchpad%2Fsrc%2Finstantiate%2FcatalogCard.jsx;fp=skyquake%2Fplugins%2Flaunchpad%2Fsrc%2Finstantiate%2FcatalogCard.jsx;h=d44bd2eca16b3a940fdeaa8ea6454b4b765ac8dc;hb=e29efc315df33d546237e270470916e26df391d6;hp=0000000000000000000000000000000000000000;hpb=9c5e457509ba5a1822c316635c6308874e61b4b9;p=osm%2FUI.git diff --git a/skyquake/plugins/launchpad/src/instantiate/catalogCard.jsx b/skyquake/plugins/launchpad/src/instantiate/catalogCard.jsx new file mode 100644 index 000000000..d44bd2eca --- /dev/null +++ b/skyquake/plugins/launchpad/src/instantiate/catalogCard.jsx @@ -0,0 +1,196 @@ +/* + * + * 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'; +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 ( +