mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-16 03:49:52 +00:00
Merge pull request #455 from weaveworks/454-option-api
Apply topology options to detail API
This commit is contained in:
@@ -12,7 +12,10 @@ module.exports = {
|
||||
value: value
|
||||
});
|
||||
RouterUtils.updateRoute();
|
||||
WebapiUtils.getNodesDelta(AppStore.getCurrentTopologyUrl(), AppStore.getActiveTopologyOptions());
|
||||
WebapiUtils.getNodesDelta(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
},
|
||||
|
||||
clickCloseDetails: function() {
|
||||
@@ -28,7 +31,11 @@ module.exports = {
|
||||
nodeId: nodeId
|
||||
});
|
||||
RouterUtils.updateRoute();
|
||||
WebapiUtils.getNodeDetails(AppStore.getCurrentTopologyUrl(), AppStore.getSelectedNodeId());
|
||||
WebapiUtils.getNodeDetails(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getSelectedNodeId(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
},
|
||||
|
||||
clickTopology: function(topologyId) {
|
||||
@@ -37,7 +44,10 @@ module.exports = {
|
||||
topologyId: topologyId
|
||||
});
|
||||
RouterUtils.updateRoute();
|
||||
WebapiUtils.getNodesDelta(AppStore.getCurrentTopologyUrl(), AppStore.getActiveTopologyOptions());
|
||||
WebapiUtils.getNodesDelta(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
},
|
||||
|
||||
openWebsocket: function() {
|
||||
@@ -106,8 +116,15 @@ module.exports = {
|
||||
type: ActionTypes.RECEIVE_TOPOLOGIES,
|
||||
topologies: topologies
|
||||
});
|
||||
WebapiUtils.getNodesDelta(AppStore.getCurrentTopologyUrl(), AppStore.getActiveTopologyOptions());
|
||||
WebapiUtils.getNodeDetails(AppStore.getCurrentTopologyUrl(), AppStore.getSelectedNodeId());
|
||||
WebapiUtils.getNodesDelta(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
WebapiUtils.getNodeDetails(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getSelectedNodeId(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
},
|
||||
|
||||
receiveApiDetails: function(apiDetails) {
|
||||
@@ -129,8 +146,15 @@ module.exports = {
|
||||
state: state,
|
||||
type: ActionTypes.ROUTE_TOPOLOGY
|
||||
});
|
||||
WebapiUtils.getNodesDelta(AppStore.getCurrentTopologyUrl(), AppStore.getActiveTopologyOptions());
|
||||
WebapiUtils.getNodeDetails(AppStore.getCurrentTopologyUrl(), AppStore.getSelectedNodeId());
|
||||
WebapiUtils.getNodesDelta(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
WebapiUtils.getNodeDetails(
|
||||
AppStore.getCurrentTopologyUrl(),
|
||||
AppStore.getSelectedNodeId(),
|
||||
AppStore.getActiveTopologyOptions()
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -19,6 +19,13 @@ let currentOptions = null;
|
||||
let topologyTimer = 0;
|
||||
let apiDetailsTimer = 0;
|
||||
|
||||
|
||||
function buildOptionsQuery(options) {
|
||||
return _.map(options, function(value, param) {
|
||||
return param + '=' + value;
|
||||
}).join('&');
|
||||
}
|
||||
|
||||
function createWebsocket(topologyUrl, optionsQuery) {
|
||||
if (socket) {
|
||||
socket.onclose = null;
|
||||
@@ -77,9 +84,7 @@ function getTopologies() {
|
||||
}
|
||||
|
||||
function getTopology(topologyUrl, options) {
|
||||
const optionsQuery = _.map(options, function(value, param) {
|
||||
return param + '=' + value;
|
||||
}).join('&');
|
||||
const optionsQuery = buildOptionsQuery(options);
|
||||
|
||||
// only recreate websocket if url changed
|
||||
if (topologyUrl && (topologyUrl !== currentUrl || currentOptions !== optionsQuery)) {
|
||||
@@ -89,9 +94,12 @@ function getTopology(topologyUrl, options) {
|
||||
}
|
||||
}
|
||||
|
||||
function getNodeDetails(topologyUrl, nodeId) {
|
||||
function getNodeDetails(topologyUrl, nodeId, options) {
|
||||
const optionsQuery = buildOptionsQuery(options);
|
||||
|
||||
if (topologyUrl && nodeId) {
|
||||
const url = [topologyUrl, encodeURIComponent(nodeId)].join('/').substr(1);
|
||||
const url = [topologyUrl, '/', encodeURIComponent(nodeId), '?', optionsQuery]
|
||||
.join('').substr(1);
|
||||
reqwest({
|
||||
url: url,
|
||||
success: function(res) {
|
||||
|
||||
Reference in New Issue
Block a user