From be2b7875b0ad33aae10c9a080560c169e8da7b62 Mon Sep 17 00:00:00 2001 From: Janell Fry <Janell_Fry@usgs.gov> Date: Thu, 5 Mar 2020 11:51:22 -0800 Subject: [PATCH] IOW-307 Incremental fixes to DV legend pieces, moved common markers.js piece to d3-rendering dir. --- .../components/dailyValueHydrograph/legend.js | 32 ++++++++----------- .../scripts/components/hydrograph/legend.js | 2 +- .../components/hydrograph/legend.spec.js | 2 +- .../hydrograph => d3-rendering}/markers.js | 0 .../markers.spec.js | 0 assets/src/scripts/index.spec.js | 2 +- 6 files changed, 17 insertions(+), 21 deletions(-) rename assets/src/scripts/{components/hydrograph => d3-rendering}/markers.js (100%) rename assets/src/scripts/{components/hydrograph => d3-rendering}/markers.spec.js (100%) diff --git a/assets/src/scripts/components/dailyValueHydrograph/legend.js b/assets/src/scripts/components/dailyValueHydrograph/legend.js index 3f6403ea7..9534f8a66 100644 --- a/assets/src/scripts/components/dailyValueHydrograph/legend.js +++ b/assets/src/scripts/components/dailyValueHydrograph/legend.js @@ -3,25 +3,17 @@ import { set } from 'd3-collection'; import memoize from 'fast-memoize'; import {createSelector, createStructuredSelector} from 'reselect'; +import {defineLineMarker, defineTextOnlyMarker} from '../../d3-rendering/markers'; import {getLayout} from './selectors/layout'; -import { defineLineMarker, defineTextOnlyMarker } from '../hydrograph/markers'; - -import { currentVariableLineSegmentsSelector } from '../hydrograph/drawing-data'; -//import { getCurrentTimeSeriesLineSegments } from './selectors/time-series-lines'; +import {getCurrentTimeSeriesLineSegments} from './selectors/time-series-lines'; import config from '../../config'; import { mediaQuery } from '../../utils'; import {link} from '../../lib/d3-redux'; -const TS_LABEL = { - 'current': 'Current: ' -}; - const tsLineMarkers = function(tsKey, lineClasses) { let result = []; - console.log('tsKey:'+tsKey); - if (lineClasses.default) { result.push(defineLineMarker(null, `line-segment ts-${tsKey}`, 'Provisional')); } @@ -51,7 +43,7 @@ const createLegendMarkers = function(displayItems) { ]; if (currentMarkers.length) { legendMarkers.push([ - defineTextOnlyMarker(TS_LABEL.current, null, 'ts-legend-current-text'), + defineTextOnlyMarker('', null, 'ts-legend-current-text'), ...currentMarkers ]); } @@ -139,15 +131,19 @@ export const drawSimpleLegend = function(div, {legendMarkerRows, layout}) { const uniqueClassesSelector = memoize(tsKey => createSelector( - currentVariableLineSegmentsSelector(tsKey), - //getCurrentTimeSeriesLineSegments(tsKey), + getCurrentTimeSeriesLineSegments, (tsLineSegments) => { - let classes = [].concat(...Object.values(tsLineSegments)).map((line) => line.classes); - return { - default: classes.some((cls) => !cls.approved && !cls.estimated), - approved: classes.some((cls) => cls.approved), - estimated: classes.some((cls) => cls.estimated), + let result = { + default: false, + approved: false, + estimated: false }; + tsLineSegments.forEach((segment) => { + result.approved = result.approved || segment.approvals.includes('Approved'); + result.estimated = result.estimated || segment.approvals.includes('Estimated'); + result.default = result.default || segment.approvals.length === 0; + }); + return result } )); diff --git a/assets/src/scripts/components/hydrograph/legend.js b/assets/src/scripts/components/hydrograph/legend.js index 0b14c6f08..9ec76410f 100644 --- a/assets/src/scripts/components/hydrograph/legend.js +++ b/assets/src/scripts/components/hydrograph/legend.js @@ -4,7 +4,7 @@ import memoize from 'fast-memoize'; import {createSelector, createStructuredSelector} from 'reselect'; import {CIRCLE_RADIUS, getMainLayout} from './layout'; -import { defineLineMarker, defineTextOnlyMarker, defineRectangleMarker } from './markers'; +import { defineLineMarker, defineTextOnlyMarker, defineRectangleMarker } from '../../d3-rendering/markers'; import { currentVariableLineSegmentsSelector, HASH_ID, MASK_DESC } from './drawing-data'; import config from '../../config'; import { getCurrentVariableMedianMetadata } from '../../selectors/median-statistics-selector'; diff --git a/assets/src/scripts/components/hydrograph/legend.spec.js b/assets/src/scripts/components/hydrograph/legend.spec.js index d424b688e..7e97f2373 100644 --- a/assets/src/scripts/components/hydrograph/legend.spec.js +++ b/assets/src/scripts/components/hydrograph/legend.spec.js @@ -1,6 +1,6 @@ import { select, selectAll } from 'd3-selection'; import { drawSimpleLegend, legendMarkerRowsSelector, drawTimeSeriesLegend } from './legend'; -import { lineMarker, rectangleMarker, textOnlyMarker } from './markers'; +import { lineMarker, rectangleMarker, textOnlyMarker } from '../../d3-rendering/markers'; import {Actions, configureStore} from '../../store'; describe('Legend module', () => { diff --git a/assets/src/scripts/components/hydrograph/markers.js b/assets/src/scripts/d3-rendering/markers.js similarity index 100% rename from assets/src/scripts/components/hydrograph/markers.js rename to assets/src/scripts/d3-rendering/markers.js diff --git a/assets/src/scripts/components/hydrograph/markers.spec.js b/assets/src/scripts/d3-rendering/markers.spec.js similarity index 100% rename from assets/src/scripts/components/hydrograph/markers.spec.js rename to assets/src/scripts/d3-rendering/markers.spec.js diff --git a/assets/src/scripts/index.spec.js b/assets/src/scripts/index.spec.js index 2702a505a..af583612f 100644 --- a/assets/src/scripts/index.spec.js +++ b/assets/src/scripts/index.spec.js @@ -39,7 +39,7 @@ import './components/hydrograph/graph-controls.spec'; import './components/hydrograph/index.spec'; import './components/hydrograph/layout.spec'; import './components/hydrograph/legend.spec'; -import './components/hydrograph/markers.spec'; +import './d3-rendering/markers.spec'; import './components/hydrograph/method-picker.spec'; import './components/hydrograph/parameters.spec'; import './components/hydrograph/scales.spec'; -- GitLab