Skip to content

Commit 4fe9fd4

Browse files
committed
fixing the elevation altering bug and rang/playback conflict
1 parent 7aaa7e0 commit 4fe9fd4

2 files changed

Lines changed: 11 additions & 11 deletions

File tree

web/client/epics/dimension.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,16 @@ module.exports = {
5252
.switchMap( domains => {
5353
const dimensions = domainsToDimensionsObject(domains, layer);
5454
if (dimensions && dimensions.length > 0) {
55+
/**
56+
* updating the time object in state.layers (from describeDomains),
57+
* while maintaning other dimensions information in state.layer,
58+
* it also creates a list of dimensions (from descibeDomains) in state.dimensions.
59+
* */
60+
const timeDimensionData = dimensions.filter(d => d.name === 'time').reduce(el => el);
61+
const newDimensions = layer.dimensions.map(dimension => dimension.name === 'time' && timeDimensionData ? timeDimensionData : dimension );
5562
return Observable.of(
5663
changeLayerProperties(layer.id, {
57-
dimensions: dimensions.map(d => pick(d, ['source', 'name']))
64+
dimensions: newDimensions.map(d => d.name === 'time' ? pick(d, ['source', 'name']) : d )
5865
}),
5966
...dimensions.map(d => updateLayerDimensionData(layer.id, d.name, d)));
6067
}

web/client/epics/timeline.js

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const { setCurrentTime, UPDATE_LAYER_DIMENSION_DATA, setCurrentOffset } = requir
99

1010
const {getLayerFromId} = require('../selectors/layers');
1111
const { rangeSelector, selectedLayerName, selectedLayerUrl } = require('../selectors/timeline');
12-
const { layerTimeSequenceSelectorCreator, offsetEnabledSelector, timeDataSelector, layersWithTimeDataSelector, offsetTimeSelector, currentTimeSelector } = require('../selectors/dimension');
12+
const { layerTimeSequenceSelectorCreator, timeDataSelector, layersWithTimeDataSelector, offsetTimeSelector, currentTimeSelector } = require('../selectors/dimension');
1313

1414
const { getNearestDate, roundRangeResolution, isTimeDomainInterval } = require('../utils/TimeUtils');
1515
const { getHistogram, describeDomains, getDomainValues } = require('../api/MultiDim');
@@ -140,12 +140,6 @@ const loadRangeData = (id, timeData, getState) => {
140140
});
141141
};
142142

143-
const getTimestamp = (time, offsetEnabled, state) => {
144-
if (!offsetEnabled) return time;
145-
const offset = offsetTimeSelector(state);
146-
const calculatedOffsetTime = moment(time).add(offset);
147-
return time + '/' + calculatedOffsetTime.toISOString();
148-
};
149143

150144
module.exports = {
151145
/**
@@ -155,12 +149,11 @@ module.exports = {
155149
action$.ofType(SELECT_TIME)
156150
.switchMap( ({time, group}) => {
157151
const state = getState();
158-
const offsetEnabled = offsetEnabledSelector(state);
159152

160153
if (snap && group) {
161-
return snapTime(state, group, time).map( t => setCurrentTime(getTimestamp(t, offsetEnabled, state)));
154+
return snapTime(state, group, time).map( t => setCurrentTime(t));
162155
}
163-
return Rx.Observable.of(setCurrentTime(getTimestamp(time, offsetEnabled, state)));
156+
return Rx.Observable.of(setCurrentTime(time));
164157
}),
165158
/**
166159
* When offset is initiated this epic sets both initial current time and offset if any does not exist

0 commit comments

Comments
 (0)