Use consistent dataset IDs in URLs.
This adds new dataset parameter to the home page (defaulting to #0 as before) to ensure that the current state of the page can always be shared via URL. Additionally, the timeline route is also changed to follow the new scheme. Change-Id: Ieadd4724b24c612fbba2a614728563c1c00b92be
This commit is contained in:
parent
9b6d1ffbeb
commit
fc4d8703d3
@ -5,16 +5,25 @@ var controllersModule = require('./_index');
|
||||
/**
|
||||
* @ngInject
|
||||
*/
|
||||
function HomeCtrl(datasetService) {
|
||||
function HomeCtrl($scope, $state, datasetService) {
|
||||
|
||||
// ViewModel
|
||||
var vm = this;
|
||||
vm.focus = 0;
|
||||
vm.focus = $state.params.datasetId;
|
||||
|
||||
datasetService.list().then(function(response) {
|
||||
vm.tempest = response.data.tempest;
|
||||
});
|
||||
|
||||
// update the page url as the focus id changes, but don't reload
|
||||
$scope.$watch(function() {
|
||||
return vm.focus;
|
||||
}, function(value, old) {
|
||||
if (value !== old) {
|
||||
$state.go('home', { datasetId: value }, { notify: false });
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
controllersModule.controller('HomeCtrl', HomeCtrl);
|
||||
|
@ -5,17 +5,16 @@
|
||||
*/
|
||||
function OnConfig($stateProvider, $locationProvider, $urlRouterProvider) {
|
||||
|
||||
$locationProvider.html5Mode(true);
|
||||
|
||||
$stateProvider.state('home', {
|
||||
url: '/',
|
||||
url: '/{datasetId:int}',
|
||||
params: { datasetId: 0 },
|
||||
controller: 'HomeCtrl as home',
|
||||
templateUrl: 'home.html',
|
||||
title: 'Home'
|
||||
});
|
||||
|
||||
$stateProvider.state('timeline', {
|
||||
url: '/timeline/{datasetId:int}',
|
||||
url: '/{datasetId:int}/timeline',
|
||||
controller: 'TimelineCtrl as timeline',
|
||||
templateUrl: 'timeline.html',
|
||||
title: 'Timeline'
|
||||
|
Loading…
x
Reference in New Issue
Block a user