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
|
* @ngInject
|
||||||
*/
|
*/
|
||||||
function HomeCtrl(datasetService) {
|
function HomeCtrl($scope, $state, datasetService) {
|
||||||
|
|
||||||
// ViewModel
|
// ViewModel
|
||||||
var vm = this;
|
var vm = this;
|
||||||
vm.focus = 0;
|
vm.focus = $state.params.datasetId;
|
||||||
|
|
||||||
datasetService.list().then(function(response) {
|
datasetService.list().then(function(response) {
|
||||||
vm.tempest = response.data.tempest;
|
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);
|
controllersModule.controller('HomeCtrl', HomeCtrl);
|
||||||
|
@ -5,17 +5,16 @@
|
|||||||
*/
|
*/
|
||||||
function OnConfig($stateProvider, $locationProvider, $urlRouterProvider) {
|
function OnConfig($stateProvider, $locationProvider, $urlRouterProvider) {
|
||||||
|
|
||||||
$locationProvider.html5Mode(true);
|
|
||||||
|
|
||||||
$stateProvider.state('home', {
|
$stateProvider.state('home', {
|
||||||
url: '/',
|
url: '/{datasetId:int}',
|
||||||
|
params: { datasetId: 0 },
|
||||||
controller: 'HomeCtrl as home',
|
controller: 'HomeCtrl as home',
|
||||||
templateUrl: 'home.html',
|
templateUrl: 'home.html',
|
||||||
title: 'Home'
|
title: 'Home'
|
||||||
});
|
});
|
||||||
|
|
||||||
$stateProvider.state('timeline', {
|
$stateProvider.state('timeline', {
|
||||||
url: '/timeline/{datasetId:int}',
|
url: '/{datasetId:int}/timeline',
|
||||||
controller: 'TimelineCtrl as timeline',
|
controller: 'TimelineCtrl as timeline',
|
||||||
templateUrl: 'timeline.html',
|
templateUrl: 'timeline.html',
|
||||||
title: 'Timeline'
|
title: 'Timeline'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user