Add alwaysDisplayed option to datasource plugins, this will allow it to show up as an option to select when adding queries to a panel without actually adding it as a datasource.

This commit is contained in:
Chris Burkhart 2017-04-11 13:47:53 -07:00
parent 07466b6725
commit d12dc2bfa7
4 changed files with 19 additions and 20 deletions

View File

@ -102,18 +102,14 @@ func getFrontendSettingsMap(c *middleware.Context) (map[string]interface{}, erro
datasources[ds.Name] = dsMap
}
// add grafana backend data source
grafanaDatasourceMeta, _ := plugins.DataSources["grafana"]
datasources["-- Grafana --"] = map[string]interface{}{
"type": "grafana",
"name": "-- Grafana --",
"meta": grafanaDatasourceMeta,
}
// add mixed backend data source
datasources["-- Mixed --"] = map[string]interface{}{
"type": "mixed",
"meta": plugins.DataSources["mixed"],
for _, ds := range plugins.DataSources {
if ds.AlwaysDisplay {
datasources[ds.Name] = map[string]interface{}{
"type": ds.Type,
"name": ds.Name,
"meta": plugins.DataSources[ds.Id],
}
}
}
if defaultDatasource == "" {

View File

@ -4,12 +4,13 @@ import "encoding/json"
type DataSourcePlugin struct {
FrontendPluginBase
Annotations bool `json:"annotations"`
Metrics bool `json:"metrics"`
Alerting bool `json:"alerting"`
BuiltIn bool `json:"builtIn"`
Mixed bool `json:"mixed"`
App string `json:"app"`
Annotations bool `json:"annotations"`
Metrics bool `json:"metrics"`
Alerting bool `json:"alerting"`
BuiltIn bool `json:"builtIn"`
Mixed bool `json:"mixed"`
AlwaysDisplay bool `json:"alwaysDisplay"`
App string `json:"app"`
}
func (p *DataSourcePlugin) Load(decoder *json.Decoder, pluginDir string) error {

View File

@ -1,9 +1,10 @@
{
"type": "datasource",
"name": "Grafana",
"name": "-- Grafana --",
"id": "grafana",
"builtIn": true,
"annotations": true,
"alwaysDisplay": true,
"metrics": true
}

View File

@ -1,9 +1,10 @@
{
"type": "datasource",
"name": "Mixed datasource",
"name": "-- Mixed --",
"id": "mixed",
"builtIn": true,
"mixed": true,
"alwaysDisplay": true,
"metrics": true
}