UNPKG

cluedin-widget

Version:

This is the project for creating and managing widgets in CluedIn.

56 lines (46 loc) 1.73 kB
import React, { Component } from 'react'; import Widget from '../../core/components/widget.jsx'; import Overlay from '../../core/components/overlay.jsx'; import NoEntities from '../../core/components/noEntities.jsx'; import registry from '../../core/registry'; import config from '../../core/config'; import { connect } from 'react-redux'; import { shouldFetchGenericLastTools } from '../../core/action/tool'; import Tool from './tool.jsx'; import iso from '../../iso'; const collectionHelper = iso.collection; class LastTool extends Component { componentWillMount() { this.props.dispatch( shouldFetchGenericLastTools() ); } render() { let content; let fakeHtml; let minHeight = 'auto'; const { isFetchingGenericTools, tools, isFake } = this.props; if ( !isFetchingGenericTools ) { content = collectionHelper.take( tools, 6 ).map( function( tool ) { return <Tool key={tool.id} entity={tool}></Tool>; } ); } if ( isFake ) { fakeHtml = (<Overlay><NoEntities entityType="/Tool"></NoEntities></Overlay>); } return ( <Widget noScroll={isFake} loading={isFetchingGenericTools} title="Latest Tools" minHeight={minHeight}> {fakeHtml} <div className="cluedIn_entity_list"> {content} </div> </Widget> ); } } function select( state ) { return { tools: state.tool.genericLastTools, isFetchingGenericTools: state.tool.isFetchingGenericTools, isFake: state.tool.isFakeGenericTools }; } registry.register( 'genericLastTools', connect( select )( LastTool ) );