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.

67 lines (57 loc) 1.87 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 { fetchGenericLastTasks } from '../../core/action/task'; class LastTasks extends Component { constructor(props) { super(props); this.state = { timestamp: Date.now(), }; } componentWillMount() { this.fetch(); } fetch() { const { entityId } = this.props; this.props.dispatch(fetchGenericLastTasks(entityId, this.state.timestamp)); } render() { const { isFetching, entities, isAdmin, layoutPosition, isFake, pageNumber } = this.props; let entityType = '/Task'; return (<EntityListWidget widgetName={this.constructor.name} layoutPosition={layoutPosition} title="Latest Tasks" fetch={this.fetch.bind(this)} entities={entities} isFetching={isFetching} isAdmin={isAdmin} entityType={entityType} pageNumber={pageNumber} isFake={isFake}></EntityListWidget>); } } function select(state) { return { entities: state.task.currentTasks, pageNumber: state.task.pageNumber, isFetching: state.task.isFetchingGenericTasks, isFake: state.task.isFakeGenericTasks }; } register('LastTasks', connect(select)(LastTasks), { name: 'LastTasks', displayName: 'Lastest tasks', description: 'All the latest tasks in your project management system.', relatedProviders: [ 'trello', 'asana', 'teamwork', 'pivotaltracker' ], tags: [ 'project managment' ], requireEntity: false });