From 681447c15bcb10fce8e047ab05a749d3ecd7b7c2 Mon Sep 17 00:00:00 2001 From: Lachlan Kermode Date: Sun, 31 May 2020 16:30:32 +0200 Subject: [PATCH] proper fix of GRAPH_NONLOCATED --- src/components/Layout.js | 4 +++- src/components/Timeline.jsx | 5 +++++ src/components/TimelineCategories.jsx | 16 +++++++++++----- src/components/presentational/Timeline/Events.js | 2 +- .../presentational/Timeline/Markers.js | 5 +++-- src/store/initial.js | 4 ++-- 6 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/components/Layout.js b/src/components/Layout.js index 2a480c2..771477f 100644 --- a/src/components/Layout.js +++ b/src/components/Layout.js @@ -61,7 +61,9 @@ class Dashboard extends React.Component { const idx = binarySearch( events, selected, - (e1, e2) => e1.datetime - e2.datetime + (e1, e2) => { + return e2.datetime - e1.datetime + } ) // check events before let ptr = idx - 1 diff --git a/src/components/Timeline.jsx b/src/components/Timeline.jsx index c7c7dcd..4437408 100644 --- a/src/components/Timeline.jsx +++ b/src/components/Timeline.jsx @@ -79,6 +79,10 @@ class Timeline extends React.Component { } makeScaleY (categories, trackHeight, marginTop) { + const { features } = this.props + if (features.GRAPH_NONLOCATED && features.GRAPH_NONLOCATED.categories) { + categories = categories.filter(cat => !features.GRAPH_NONLOCATED.categories.includes(cat.category)) + } const catHeight = trackHeight / (categories.length) const shiftUp = trackHeight / (categories.length) / 2 const marginShift = marginTop === 0 ? 0 : marginTop @@ -321,6 +325,7 @@ class Timeline extends React.Component { onDrag={() => { this.onDrag() }} onDragEnd={() => { this.onDragEnd() }} categories={this.props.domain.categories} + features={this.props.features} /> @@ -34,12 +40,12 @@ class TimelineCategories extends React.Component { class='tick' style={{ strokeWidth }} opacity='0.5' - transform={`translate(0,${this.props.getCategoryY(category.category)})`} + transform={`translate(0,${this.props.getCategoryY(category)})`} > - - {category.category} + + {category} ) diff --git a/src/components/presentational/Timeline/Events.js b/src/components/presentational/Timeline/Events.js index 8acd3fe..9e588e1 100644 --- a/src/components/presentational/Timeline/Events.js +++ b/src/components/presentational/Timeline/Events.js @@ -92,7 +92,7 @@ const TimelineEvents = ({ } } - let eventY = getCategoryY(event.category) + let eventY = getCategoryY ? getCategoryY(event.category) : 0 const isNonlocated = !event.latitude && !event.longitude if (features.GRAPH_NONLOCATED && isNonlocated) { const { project } = event diff --git a/src/components/presentational/Timeline/Markers.js b/src/components/presentational/Timeline/Markers.js index 67f2d28..d5326a7 100644 --- a/src/components/presentational/Timeline/Markers.js +++ b/src/components/presentational/Timeline/Markers.js @@ -51,7 +51,8 @@ const TimelineMarkers = ({ }} /> } - const isDot = (!features.GRAPH_NONLOCATED && !!event.latitude && !!event.longitude) || (features.GRAPH_NONLOCATED && (event.projectOffset !== -1 || (!!event.latitude && !!event.longitude))) + const isNonlocated = !event.latitude && !event.longitude + const isBar = (!features.GRAPH_NONLOCATED && isNonlocated) || (features.GRAPH_NONLOCATED && features.GRAPH_NONLOCATED.categories.includes(event.category)) switch (event.shape) { case 'circle': return renderCircle() @@ -62,7 +63,7 @@ const TimelineMarkers = ({ case 'star': return renderCircle() default: - return isDot ? renderCircle() : renderBar() + return isBar ? renderBar() : renderCircle() } } diff --git a/src/store/initial.js b/src/store/initial.js index b60c847..978940a 100644 --- a/src/store/initial.js +++ b/src/store/initial.js @@ -60,12 +60,12 @@ const initial = { }, timeline: { dimensions: { - height: 450, + height: 250, width: 0, marginLeft: 100, marginTop: 15, marginBottom: 60, - contentHeight: 400, + contentHeight: 200, width_controls: 100 }, range: [