@@ -212,6 +212,7 @@ define(
212
212
var newMode = undefined ;
213
213
var timeSystems = [ ] ;
214
214
var timeSystem = undefined ;
215
+ var $scope = this . $scope ;
215
216
var tickSourceType = this . modes [ newModeKey ] . tickSourceType ;
216
217
217
218
this . $scope . modeModel . selectedKey = newModeKey ;
@@ -231,7 +232,14 @@ define(
231
232
// Filter time systems to only those with clock tick
232
233
// sources
233
234
timeSystems = this . timeSystemsForSourceType ( tickSourceType ) ;
234
- timeSystem = timeSystems [ 0 ] ;
235
+
236
+ //Retain currently selected time system if available
237
+ timeSystem = timeSystems . filter ( function ( t ) {
238
+ return t . metadata . key === $scope . timeSystemModel . selected . metadata . key ;
239
+ } ) [ 0 ] ;
240
+ //Default to first available time system
241
+ timeSystem = timeSystem || timeSystems [ 0 ] ;
242
+
235
243
newMode = new FollowMode ( this . conductor , timeSystem , newModeKey ) ;
236
244
newMode . tickSource ( this . selectTickSource ( timeSystem , tickSourceType ) ) ;
237
245
break ;
@@ -240,7 +248,14 @@ define(
240
248
// Filter time systems to only those with data tick
241
249
// sources
242
250
timeSystems = this . timeSystemsForSourceType ( tickSourceType ) ;
243
- timeSystem = timeSystems [ 0 ] ;
251
+
252
+ //Retain currently selected time system if available
253
+ timeSystem = timeSystems . filter ( function ( t ) {
254
+ return t . metadata . key === $scope . timeSystemModel . selected . metadata . key ;
255
+ } ) [ 0 ] ;
256
+ //Default to first available time system
257
+ timeSystem = timeSystem || timeSystems [ 0 ] ;
258
+
244
259
newMode = new FollowMode ( this . conductor , timeSystem , newModeKey ) ;
245
260
newMode . tickSource ( this . selectTickSource ( timeSystem , tickSourceType ) ) ;
246
261
break ;
0 commit comments