mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 01:31:17 +00:00
Merge pull request #461 from weaveworks/457-refresh-options
Refresh should keep topology options
This commit is contained in:
@@ -178,6 +178,34 @@ describe('AppStore', function() {
|
||||
expect(AppStore.getAppState().topologyOptions.option1).toBeUndefined();
|
||||
});
|
||||
|
||||
it('sets topology options from route', function() {
|
||||
RouteAction.state = {
|
||||
"topologyId":"topo1",
|
||||
"selectedNodeId": null,
|
||||
"topologyOptions": {'option1': 'on'}};
|
||||
registeredCallback(RouteAction);
|
||||
expect(AppStore.getActiveTopologyOptions().option1).toBe('on');
|
||||
expect(AppStore.getAppState().topologyOptions.option1).toBe('on');
|
||||
|
||||
// stay same after topos have been received
|
||||
registeredCallback(ReceiveTopologiesAction);
|
||||
registeredCallback(ClickTopologyAction);
|
||||
expect(AppStore.getActiveTopologyOptions().option1).toBe('on');
|
||||
expect(AppStore.getAppState().topologyOptions.option1).toBe('on');
|
||||
});
|
||||
|
||||
it('uses default topology options from route', function() {
|
||||
RouteAction.state = {
|
||||
"topologyId":"topo1",
|
||||
"selectedNodeId": null,
|
||||
"topologyOptions": null};
|
||||
registeredCallback(RouteAction);
|
||||
registeredCallback(ReceiveTopologiesAction);
|
||||
registeredCallback(ClickTopologyAction);
|
||||
expect(AppStore.getActiveTopologyOptions().option1).toBe('off');
|
||||
expect(AppStore.getAppState().topologyOptions.option1).toBe('off');
|
||||
});
|
||||
|
||||
// nodes delta
|
||||
|
||||
it('replaces adjacency on update', function() {
|
||||
|
||||
@@ -43,7 +43,7 @@ function makeNode(node) {
|
||||
|
||||
// Initial values
|
||||
|
||||
let activeTopologyOptions = {};
|
||||
let activeTopologyOptions = null;
|
||||
let currentTopology = null;
|
||||
let currentTopologyId = 'containers';
|
||||
let errorUrl = null;
|
||||
@@ -62,8 +62,8 @@ function setTopology(topologyId) {
|
||||
}
|
||||
|
||||
function setDefaultTopologyOptions() {
|
||||
activeTopologyOptions = {};
|
||||
if (currentTopology) {
|
||||
activeTopologyOptions = {};
|
||||
_.each(currentTopology.options, function(items, option) {
|
||||
_.each(items, function(item) {
|
||||
if (item.default === true) {
|
||||
@@ -301,7 +301,10 @@ AppStore.registeredCallback = function(payload) {
|
||||
topologies = payload.topologies;
|
||||
if (!currentTopology) {
|
||||
setTopology(currentTopologyId);
|
||||
setDefaultTopologyOptions();
|
||||
// only set on first load
|
||||
if (activeTopologyOptions === null) {
|
||||
setDefaultTopologyOptions();
|
||||
}
|
||||
}
|
||||
AppStore.emit(AppStore.CHANGE_EVENT);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user