Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion source/core/datasource/TimeSeries.datasource.js
Original file line number Diff line number Diff line change
Expand Up @@ -256,11 +256,12 @@ class TimeSeriesDatasource {
endTime= this.getEndTimeAsIsoDate(),
replaySpeed= this.getReplaySpeed(),
reconnect= false,
resumePlayback = false,
mode= this.getMode(),
version = this.version()
) {

return this.timeSeriesDataSource.setTimeRange(startTime,endTime,replaySpeed,reconnect,mode,version);
return this.timeSeriesDataSource.setTimeRange(startTime,endTime,replaySpeed,reconnect,resumePlayback,mode,version);
}

/***********************************/
Expand Down
10 changes: 6 additions & 4 deletions source/core/datasource/TimeSeries.replay.datasource.js
Original file line number Diff line number Diff line change
Expand Up @@ -307,6 +307,7 @@ class TimeSeriesReplayDatasource extends DataSource {
endTime = this.getEndTimeAsIsoDate(),
replaySpeed = this.getReplaySpeed(),
reconnect = false,
resumePlayback = false,
mode = this.getMode(),
version = this.version()
) {
Expand All @@ -327,10 +328,11 @@ class TimeSeriesReplayDatasource extends DataSource {
return this.updateProperties({
startTime: this.getStartTimeAsIsoDate(),
endTime: this.getEndTimeAsIsoDate(),
replaySpeed: replaySpeed,
reconnect: reconnect,
mode: mode,
version: version
replaySpeed,
reconnect,
resumePlayback,
mode,
version,
});
}
async reset() {
Expand Down
3 changes: 2 additions & 1 deletion source/core/datasource/common/handler/TimeSeries.handler.js
Original file line number Diff line number Diff line change
Expand Up @@ -295,7 +295,8 @@ class TimeSeriesHandler extends DataSourceHandler {
try {
this.timeBroadcastChannel.postMessage({
dataSourceId: this.dataSourceId,
type: EventType.TIME_CHANGED
type: EventType.TIME_CHANGED,
resumePlayback: properties.resumePlayback
});
await this.disconnect();

Expand Down
2 changes: 1 addition & 1 deletion source/core/timesync/DataSynchronizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ class DataSynchronizer {
endTime = this.getEndTimeAsIsoDate(),
replaySpeed = this.getReplaySpeed(),
reconnect = false) {
return this.dataSynchronizer.setTimeRange(startTime,endTime, replaySpeed,reconnect);
return this.dataSynchronizer.setTimeRange(startTime, endTime, replaySpeed, reconnect);
}

async updateProperties(properties) {
Expand Down
14 changes: 12 additions & 2 deletions source/core/timesync/replay/DataSynchronizer.replay.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ class DataSynchronizerReplay {
this.properties.minTimestamp = undefined;
this.properties.maxTimestamp = undefined;
this.properties.version = 0;
this.properties.resumePlayback = false;

if (isDefined(properties)) {
if (isDefined(properties.minTime)) {
Expand Down Expand Up @@ -239,6 +240,14 @@ class DataSynchronizerReplay {
return Mode.REPLAY;
}

getResumePlayback() {
return this.properties.resumePlayback;
}

setResumePlayback(resumePlayback) {
this.properties.resumePlayback = resumePlayback;
}

//----------- ASYNCHRONOUS FUNCTIONS -----------------//

async initDataSources() {
Expand Down Expand Up @@ -418,7 +427,7 @@ class DataSynchronizerReplay {
this.checkStartEndTime();
await this.updateAlgo();
for (let dataSource of this.dataSources) {
await dataSource.setTimeRange(this.getStartTimeAsIsoDate(), this.getEndTimeAsIsoDate(), this.getReplaySpeed(), true);
await dataSource.setTimeRange(this.getStartTimeAsIsoDate(), this.getEndTimeAsIsoDate(), this.getReplaySpeed(), true, this.getResumePlayback());
}


Expand Down Expand Up @@ -480,8 +489,9 @@ class DataSynchronizerReplay {
this.getEndTimeAsIsoDate(),
this.getReplaySpeed(),
false,
this.getResumePlayback(),
this.getMode(),
this.version()
this.version(),
));
}
return Promise.all(promises);
Expand Down
2 changes: 1 addition & 1 deletion source/core/ui/view/View.js
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ class View {
const timeBroadcastChannel = new BroadcastChannel(DATASOURCE_TIME_TOPIC+dataSourceId);
timeBroadcastChannel.onmessage = (event) => {
// skip data reset events for now
if (event.data.type === EventType.TIME_CHANGED) {
if (event.data.type === EventType.TIME_CHANGED && !event.data.resumePlayback) {
self.reset(); // on time changed
}
};
Expand Down