From f345b76e576527878ab7a84f2574e3d3189d27e3 Mon Sep 17 00:00:00 2001 From: Franc Camps-Febrer Date: Tue, 27 Nov 2018 13:15:23 -0500 Subject: [PATCH] Some further cleanup of presentational stuff --- src/components/CardStack.jsx | 4 +- src/components/Dashboard.jsx | 42 +++++++++---------- src/components/TagFilter.jsx | 2 +- src/components/TagListPanel.jsx | 2 +- src/components/Viewport.jsx | 37 ++-------------- .../{Checkbox.jsx => Checkbox.js} | 0 .../LoadingOverlay.js} | 6 +-- src/js/map/map.js | 8 ++-- 8 files changed, 33 insertions(+), 68 deletions(-) rename src/components/presentational/{Checkbox.jsx => Checkbox.js} (100%) rename src/components/{LoadingOverlay.jsx => presentational/LoadingOverlay.js} (74%) diff --git a/src/components/CardStack.jsx b/src/components/CardStack.jsx index b616132..7326bd4 100644 --- a/src/components/CardStack.jsx +++ b/src/components/CardStack.jsx @@ -33,9 +33,8 @@ class CardStack extends React.Component { /> ); }); - } else { - return ''; } + return ''; } renderLocation() { @@ -77,6 +76,7 @@ class CardStack extends React.Component { if (this.props.isFetchingEvents) { return this.renderIsLoading(); + } else if (this.props.selected.length > 0) { return (
diff --git a/src/components/Dashboard.jsx b/src/components/Dashboard.jsx index 123c9c5..420e37f 100644 --- a/src/components/Dashboard.jsx +++ b/src/components/Dashboard.jsx @@ -5,7 +5,7 @@ import { connect } from 'react-redux'; import * as actions from '../actions'; import * as selectors from '../selectors'; -import LoadingOverlay from './LoadingOverlay.jsx'; +import LoadingOverlay from './presentational/LoadingOverlay'; import Viewport from './Viewport.jsx'; import Toolbar from './Toolbar.jsx'; import CardStack from './CardStack.jsx'; @@ -37,16 +37,8 @@ class Dashboard extends React.Component { handleSelect(selected) { if (selected) { - //let eventsToSelect = selected.map(eventId => this.props.domain.events[eventId]); const parser = this.props.ui.tools.parser; - //eventsToSelect = eventsToSelect.sort((a, b) => { - // return parser(a.timestamp) - parser(b.timestamp); - //}); - - //if (eventsToSelect.every(event => (event))) { - // this.props.actions.updateSelected(eventsToSelect); - //} const enhanceEvent = (ev) => { return Object.assign({}, ev, this.props.domain.events[ev.id]); } @@ -120,15 +112,19 @@ class Dashboard extends React.Component { return (
this.getCategoryGroup(category)} - getCategoryGroupColor={category => this.getCategoryGroupColor(category)} + methods={{ + select: this.handleSelect, + highlight: this.handleHighlight, + getCategoryGroup: category => this.getCategoryGroup(category), + getCategoryGroupColor: category => this.getCategoryGroupColor(category) + }} /> { +const LoadingOverlay = ({ isLoading, language }) => { let classes = 'loading-overlay'; - classes += (!isFetchingDomain) ? ' hidden' : ''; + classes += (!isLoading) ? ' hidden' : ''; return (
diff --git a/src/js/map/map.js b/src/js/map/map.js index 87ae8d0..13a15f0 100644 --- a/src/js/map/map.js +++ b/src/js/map/map.js @@ -5,7 +5,7 @@ import { import hash from 'object-hash'; import 'leaflet-polylinedecorator'; -export default function(newApp, ui) { +export default function(newApp, ui, methods) { let svg, g, defs; let categoryColorGroups = {}; @@ -22,9 +22,9 @@ export default function(newApp, ui) { views: Object.assign({}, newApp.views), } - const getCategoryGroup = newApp.getCategoryGroup; - const getCategoryGroupColor = newApp.getCategoryGroupColor; - const select = newApp.select; + const getCategoryGroup = methods.getCategoryGroup; + const getCategoryGroupColor = methods.getCategoryGroupColor; + const select = methods.select; const groupColors = ui.groupColors; const narrativeProps = ui.narratives;