diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-02 15:08:01 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-03-02 15:08:01 +0000 |
commit | b375c6c05fbd03aea33a9ee9f82e678bdaa8c3cc (patch) | |
tree | 55f2a32e5fd3d67597fc8c6cc2a01793ee15c87a /lib/banzai | |
parent | 988b28ec1a379d38f6ac9ed04886ee564fd447fd (diff) | |
download | gitlab-ce-b375c6c05fbd03aea33a9ee9f82e678bdaa8c3cc.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/banzai')
-rw-r--r-- | lib/banzai/filter/inline_embeds_filter.rb | 18 | ||||
-rw-r--r-- | lib/banzai/filter/inline_grafana_metrics_filter.rb | 6 | ||||
-rw-r--r-- | lib/banzai/filter/inline_metrics_filter.rb | 10 |
3 files changed, 17 insertions, 17 deletions
diff --git a/lib/banzai/filter/inline_embeds_filter.rb b/lib/banzai/filter/inline_embeds_filter.rb index 5b579aeae6b..79ac8555636 100644 --- a/lib/banzai/filter/inline_embeds_filter.rb +++ b/lib/banzai/filter/inline_embeds_filter.rb @@ -22,11 +22,18 @@ module Banzai doc end - # Implement in child class. + # Child class must provide the metrics_dashboard_url. # # Return a Nokogiri::XML::Element to embed in the - # markdown. + # markdown which provides a url to the metric_dashboard endpoint where + # data can be requested through a prometheus proxy. InlineMetricsRedactorFilter + # is responsible for premissions to see this div (and relies on the class 'js-render-metrics' ). def create_element(params) + doc.document.create_element( + 'div', + class: 'js-render-metrics', + 'data-dashboard-url': metrics_dashboard_url(params) + ) end # Implement in child class unless overriding #embed_params @@ -71,6 +78,13 @@ module Banzai Gitlab::Metrics::Dashboard::Url.parse_query(url) end end + + # Implement in child class. + # + # Provides a full url to request the relevant panels of metric data. + def metrics_dashboard_url + raise NotImplementedError + end end end end diff --git a/lib/banzai/filter/inline_grafana_metrics_filter.rb b/lib/banzai/filter/inline_grafana_metrics_filter.rb index 321580b532f..69ae747333f 100644 --- a/lib/banzai/filter/inline_grafana_metrics_filter.rb +++ b/lib/banzai/filter/inline_grafana_metrics_filter.rb @@ -10,11 +10,7 @@ module Banzai def create_element(params) begin_loading_dashboard(params[:url]) - doc.document.create_element( - 'div', - class: 'js-render-metrics', - 'data-dashboard-url': metrics_dashboard_url(params) - ) + super end def embed_params(node) diff --git a/lib/banzai/filter/inline_metrics_filter.rb b/lib/banzai/filter/inline_metrics_filter.rb index 21371e52680..409e8db87f4 100644 --- a/lib/banzai/filter/inline_metrics_filter.rb +++ b/lib/banzai/filter/inline_metrics_filter.rb @@ -5,16 +5,6 @@ module Banzai # HTML filter that inserts a placeholder element for each # reference to a metrics dashboard. class InlineMetricsFilter < Banzai::Filter::InlineEmbedsFilter - # Placeholder element for the frontend to use as an - # injection point for charts. - def create_element(params) - doc.document.create_element( - 'div', - class: 'js-render-metrics', - 'data-dashboard-url': metrics_dashboard_url(params) - ) - end - # Search params for selecting metrics links. A few # simple checks is enough to boost performance without # the cost of doing a full regex match. |