diff --git a/public/app/plugins/datasource/graphite/datasource.ts b/public/app/plugins/datasource/graphite/datasource.ts
index 49b5be1dfbc..0c8e1ca0843 100644
--- a/public/app/plugins/datasource/graphite/datasource.ts
+++ b/public/app/plugins/datasource/graphite/datasource.ts
@@ -444,9 +444,18 @@ export function GraphiteDatasource(instanceSettings, $q, backendSrv, templateSrv
return;
}
+ var description = funcDef.description;
+ if (description) {
+ // tidy up some pydoc syntax that rst2html can't handle
+ description = description
+ .replace(/:py:func:`(.+)( <[^>]*>)?`/g, '``$1``')
+ .replace(/.. seealso:: /g, 'See also: ')
+ .replace(/.. code-block *:: *none/g, '.. code-block::');
+ }
+
var func = {
name: funcDef.name,
- description: funcDef.description,
+ description: description,
category: funcDef.group,
params: [],
defaultParams: [],
diff --git a/public/app/plugins/datasource/graphite/func_editor.js b/public/app/plugins/datasource/graphite/func_editor.js
index 764ac0ad22c..2d1d94b82cf 100644
--- a/public/app/plugins/datasource/graphite/func_editor.js
+++ b/public/app/plugins/datasource/graphite/func_editor.js
@@ -264,7 +264,8 @@ function (angular, _, $, rst2html) {
popoverSrv.show({
element: e.target,
position: 'bottom left',
- template: '
' + funcDef.name + '
' + rst2html(funcDef.description) + '',
+ classNames: 'drop-popover drop-function-def',
+ template: '' + funcDef.name + '
' + rst2html(funcDef.description) + '',
openOn: 'click',
});
} else {
diff --git a/public/sass/components/_query_editor.scss b/public/sass/components/_query_editor.scss
index 23bccf4b2cd..a99bd1bbd79 100644
--- a/public/sass/components/_query_editor.scss
+++ b/public/sass/components/_query_editor.scss
@@ -89,7 +89,7 @@
}
}
-input[type="text"].tight-form-func-param {
+input[type='text'].tight-form-func-param {
background: transparent;
border: none;
margin: 0;
@@ -129,7 +129,7 @@ input[type="text"].tight-form-func-param {
}
}
-input[type="text"].tight-form-func-param {
+input[type='text'].tight-form-func-param {
font-size: 0.875rem;
background: transparent;
border: none;
@@ -177,3 +177,34 @@ input[type="text"].tight-form-func-param {
.query-troubleshooter__body {
padding: $spacer 0;
}
+
+.rst-text::before {
+ content: ' ';
+}
+
+.rst-unknown.rst-directive {
+ font-family: monospace;
+ margin-bottom: 1rem;
+}
+
+.rst-interpreted_text {
+ font-family: monospace;
+ display: inline;
+}
+
+.rst-bullet-list {
+ padding-left: 1.5rem;
+ margin-bottom: 1rem;
+}
+
+.rst-paragraph:last-child {
+ margin-bottom: 0;
+}
+
+.drop-element.drop-popover.drop-function-def .drop-content {
+ max-width: 30rem;
+}
+
+.rst-literal-block .rst-text {
+ display: block;
+}