Skip to content

Commit 4caede0

Browse files
committed
Fix #3267. Sync with map layout. other minor fixes
1 parent 58610a6 commit 4caede0

2 files changed

Lines changed: 21 additions & 14 deletions

File tree

web/client/epics/playback.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,7 @@ module.exports = {
253253
action$
254254
.ofType(SET_CURRENT_TIME, MOVE_TIME, SET_OFFSET_TIME)
255255
.filter(() => statusSelector(getState()) === STATUS.PLAY && isOutOfRange(currentTimeSelector(getState()), rangeSelector(getState())))
256+
.filter(() => get(playbackSettingsSelector(getState()), "following") )
256257
.switchMap(() => Rx.Observable.of(
257258
onRangeChanged(
258259
(() => {

web/client/plugins/Timeline.jsx

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,17 @@ const Timeline = require('./timeline/Timeline');
1313
const InlineDateTimeSelector = require('../components/time/InlineDateTimeSelector');
1414
const Toolbar = require('../components/misc/toolbar/Toolbar');
1515
const { offsetEnabledSelector, currentTimeSelector, layersWithTimeDataSelector } = require('../selectors/dimension');
16-
const { selectedLayerSelector, currentTimeRangeSelector, rangeDataSelector } = require('../selectors/timeline');
16+
const { selectedLayerSelector, currentTimeRangeSelector } = require('../selectors/timeline');
17+
const { mapLayoutValuesSelector } = require('../selectors/maplayout');
18+
1719
const { withState, compose, branch, renderNothing } = require('recompose');
1820
const { selectTime, enableOffset } = require('../actions/timeline');
1921
const { setCurrentOffset } = require('../actions/dimension');
2022
const Message = require('../components/I18N/Message');
2123
const { selectPlaybackRange } = require('../actions/playback');
2224
const { playbackRangeSelector } = require('../selectors/playback');
2325

24-
const { head, isObject } = require('lodash');
26+
const { head } = require('lodash');
2527
const moment = require('moment');
2628

2729
const isValidOffset = (start, end) => moment(end).diff(start) > 0;
@@ -41,15 +43,13 @@ const TimelinePlugin = compose(
4143
currentTimeRangeSelector,
4244
offsetEnabledSelector,
4345
playbackRangeSelector,
44-
rangeDataSelector,
45-
(layers, selectedLayer, currentTime, currentTimeRange, offsetEnabled, playbackRange, rangeData) => ({
46+
(layers, selectedLayer, currentTime, currentTimeRange, offsetEnabled, playbackRange) => ({
4647
layers,
4748
selectedLayer,
4849
currentTime,
4950
currentTimeRange,
5051
offsetEnabled,
51-
playbackRange,
52-
rangeData
52+
playbackRange
5353
})
5454
), {
5555
setCurrentTime: selectTime,
@@ -58,10 +58,13 @@ const TimelinePlugin = compose(
5858
setPlaybackRange: selectPlaybackRange
5959
}),
6060
branch(({ layers = [] }) => Object.keys(layers).length === 0, renderNothing),
61-
withState('options', 'setOptions', {collapsed: true})
61+
withState('options', 'setOptions', {collapsed: true}),
62+
connect( createSelector(
63+
state => mapLayoutValuesSelector(state, { right: true, bottom: true, left: true }),
64+
style => ({style})
65+
))
6266
)(
6367
({
64-
rangeData,
6568
items,
6669
options,
6770
setOptions,
@@ -70,7 +73,8 @@ const TimelinePlugin = compose(
7073
offsetEnabled,
7174
onOffsetEnabled,
7275
currentTimeRange,
73-
setOffset
76+
setOffset,
77+
style
7478
}) => {
7579

7680
const { hideLayersName, collapsed, playbackEnabled } = options;
@@ -81,10 +85,12 @@ const TimelinePlugin = compose(
8185
return (<div
8286
style={{
8387
position: "absolute",
84-
bottom: 65,
85-
left: 100,
86-
right: collapsed ? 'auto' : 80,
87-
background: "transparent"
88+
marginBottom: 35,
89+
marginLeft: 100,
90+
91+
background: "transparent",
92+
...style,
93+
right: collapsed ? 'auto' : 80 + (style.right || 0)
8894
}}
8995
className={`timeline-plugin${hideLayersName ? ' hide-layers-name' : ''}${offsetEnabled ? ' with-time-offset' : ''}`}>
9096

@@ -166,13 +172,13 @@ const TimelinePlugin = compose(
166172
tooltip: <Message msgId= {collapsed ? "timeline.expand" : "timeline.collapse"}/>,
167173
glyph: collapsed ? 'resize-full' : 'resize-small',
168174
// we perform a check if the timeline data is loaded before allowing the user to expand the timeline and render an empty component
169-
visible: isObject(rangeData),
170175
onClick: () => setOptions({ ...options, collapsed: !collapsed })
171176
}
172177
]} />
173178
</div>
174179
{!collapsed &&
175180
<Timeline
181+
style={style}
176182
offsetEnabled={offsetEnabled}
177183
playbackEnabled={playbackEnabled}
178184
hideLayersName={hideLayersName} />}

0 commit comments

Comments
 (0)