mirror of
https://github.com/weaveworks/scope.git
synced 2026-03-02 17:50:39 +00:00
Merge pull request #701 from weaveworks/693-no-filter-details
Don't apply filters to node endpoints & update details panel logic
This commit is contained in:
@@ -245,7 +245,9 @@ func renderedForRequest(r *http.Request, topology APITopologyDesc) render.Render
|
||||
return renderer
|
||||
}
|
||||
|
||||
func (r *registry) captureRenderer(rep Reporter, f func(Reporter, render.Renderer, http.ResponseWriter, *http.Request)) http.HandlerFunc {
|
||||
type reportRenderHandler func(Reporter, render.Renderer, http.ResponseWriter, *http.Request)
|
||||
|
||||
func (r *registry) captureRenderer(rep Reporter, f reportRenderHandler) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, req *http.Request) {
|
||||
topology, ok := r.get(mux.Vars(req)["topology"])
|
||||
if !ok {
|
||||
@@ -256,3 +258,14 @@ func (r *registry) captureRenderer(rep Reporter, f func(Reporter, render.Rendere
|
||||
f(rep, renderer, w, req)
|
||||
}
|
||||
}
|
||||
|
||||
func (r *registry) captureRendererWithoutFilters(rep Reporter, f reportRenderHandler) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, req *http.Request) {
|
||||
topology, ok := r.get(mux.Vars(req)["topology"])
|
||||
if !ok {
|
||||
http.NotFound(w, req)
|
||||
return
|
||||
}
|
||||
f(rep, topology.renderer, w, req)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ func registerTopologyRoutes(c collector, router *mux.Router) {
|
||||
get.HandleFunc("/api/topology/{topology}/ws",
|
||||
topologyRegistry.captureRenderer(c, handleWs)) // NB not gzip!
|
||||
get.MatcherFunc(URLMatcher("/api/topology/{topology}/{id}")).HandlerFunc(
|
||||
gzipHandler(topologyRegistry.captureRenderer(c, handleNode)))
|
||||
gzipHandler(topologyRegistry.captureRendererWithoutFilters(c, handleNode)))
|
||||
get.MatcherFunc(URLMatcher("/api/topology/{topology}/{local}/{remote}")).HandlerFunc(
|
||||
gzipHandler(topologyRegistry.captureRenderer(c, handleEdge)))
|
||||
get.HandleFunc("/api/report", gzipHandler(makeRawReportHandler(c)))
|
||||
|
||||
@@ -77,14 +77,19 @@ const NodeDetails = React.createClass({
|
||||
const details = this.props.details;
|
||||
const nodeExists = this.props.nodes && this.props.nodes.has(this.props.nodeId);
|
||||
|
||||
if (details) {
|
||||
return this.renderDetails();
|
||||
}
|
||||
|
||||
if (!nodeExists) {
|
||||
return this.renderNotAvailable();
|
||||
}
|
||||
|
||||
if (!details) {
|
||||
return this.renderLoading();
|
||||
}
|
||||
return this.renderLoading();
|
||||
},
|
||||
|
||||
renderDetails: function() {
|
||||
const details = this.props.details;
|
||||
const nodeColor = this.getNodeColorDark(details.rank, details.label_major);
|
||||
const styles = {
|
||||
controls: {
|
||||
|
||||
Reference in New Issue
Block a user