UNPKG

cluedin-widget

Version:

This project contains all the pages needed for browsing entities and searching them. The aim is to replace the CluedIn.Webapp project with this one when all the pages ( including the Admin page ) will be ported to REACT.

72 lines (63 loc) 2.27 kB
import React, { Component } from "react"; import { register } from "../../core/registry"; import EntityListWidget from "../../core/components/entityRelated/EntityListWidget.jsx"; import { connect } from "react-redux"; import { fetchGenericLastDocuments } from "../../core/action/document"; const entityType = '/Document'; class LastDocuments extends Component { constructor( props ) { super( props ); this.state = { timestamp: Date.now() }; } componentWillMount() { this.fetch(); } fetch() { const { entityId } = this.props; this.props.dispatch( fetchGenericLastDocuments( entityId, this.state.timestamp ) ); } render() { const { isFetching, entities, isAdmin, layoutPosition, isFake, pageNumber, lastVisitedDate } = this.props; return (<EntityListWidget widgetName={this.constructor.name} layoutPosition={layoutPosition} title="Latest Documents" fetch={this.fetch.bind(this)} entities={entities} isFetching={isFetching} isAdmin={isAdmin} entityType={entityType} pageNumber={pageNumber} lastVisitedDate={lastVisitedDate} isFake={isFake}></EntityListWidget>); } } function select( state ) { return { entities: state.document.currentDocuments, pageNumber: state.document.pageNumber, isFetching: state.document.isFetchingGenericDocuments, isFake: state.document.isFakeGenericDocuments }; } register( 'LastDocuments', connect( select )( LastDocuments ), { name: 'LastDocuments', displayName: 'Latest Documents', description: 'All the latest documents created/modified in your integrations.', relatedProviders: [ 'dropbox', 'office365', 'googledrive', 'box', 'dropbox', 'slack', 'sharepoint' ], tags: [ 'support', 'sales', 'marketing' ], requireEntity: false } );