ONOS-4217: WebUI -- fix broken preferences / querystring precedence.
Change-Id: I9205e344c3b7dfa751ccb033d595715579913c3b
diff --git a/web/gui/src/main/webapp/app/view/topo/topo.js b/web/gui/src/main/webapp/app/view/topo/topo.js
index 069fa42..b6c83ce 100644
--- a/web/gui/src/main/webapp/app/view/topo/topo.js
+++ b/web/gui/src/main/webapp/app/view/topo/topo.js
@@ -30,7 +30,8 @@
// references to injected services
var $scope, $log, $cookies, fs, ks, zs, gs, ms, sus, flash, wss, ps, th,
- tds, t3s, tes, tfs, tps, tis, tss, tls, tts, tos, fltr, ttbs, tspr, ttip, tov;
+ tds, t3s, tes, tfs, tps, tis, tss, tls, tts, tos, fltr, ttbs, tspr,
+ ttip, tov;
// DOM elements
var ovtopo, svg, defs, zoomLayer, mapG, spriteG, forceG, noDevsLayer;
@@ -368,15 +369,14 @@
}
function setUpMap($loc) {
- var qp = $loc.search(),
- pr = ps.getPrefs('topo_mapid', {
- id: qp.mapid || 'usa',
- scale: qp.mapscale || 1,
- tint: qp.tint || 'off'
- }),
- mapId = pr.id,
- mapScale = pr.scale,
- tint = pr.tint,
+ var prefs = ps.getPrefs(
+ 'topo_mapid',
+ { mapid: 'usa', mapscale: 1, tint: 'off'},
+ $loc.search()
+ ),
+ mapId = prefs.mapid,
+ mapScale = prefs.mapscale,
+ tint = prefs.tint,
promise,
cfilter;
@@ -415,7 +415,7 @@
shading: shading()
});
}
- ps.setPrefs('topo_mapid', { id: mapId, scale: mapScale, tint: tint });
+ ps.setPrefs('topo_mapid', prefs);
return promise;
}
@@ -438,13 +438,12 @@
}
function setUpSprites($loc, tspr) {
- var s1 = $loc.search().sprites,
- s2 = ps.getPrefs('topo_sprites', { id: s1 }),
- sprId = s2.id;
+ var prefs = ps.getPrefs('topo_sprites', { sprites: '' }, $loc.search()),
+ sprId = prefs.sprites;
spriteG = zoomLayer.append ('g').attr('id', 'topo-sprites');
if (sprId) {
- ps.setPrefs('topo_sprites', {id:sprId});
+ ps.setPrefs('topo_sprites', prefs);
tspr.loadSprites(spriteG, defs, sprId);
}
}