mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(apps): began work on support for apps that contain data sources
This commit is contained in:
parent
fb74ebb4ea
commit
fe2e6b8a80
@ -77,6 +77,19 @@ func (app *AppPlugin) Load(decoder *json.Decoder, pluginDir string) error {
|
||||
}
|
||||
}
|
||||
|
||||
// check if we have child datasources
|
||||
for _, ds := range DataSources {
|
||||
if strings.HasPrefix(ds.PluginDir, app.PluginDir) {
|
||||
ds.IncludedInAppId = app.Id
|
||||
app.Includes = append(app.Includes, &AppIncludeInfo{
|
||||
Name: ds.Name,
|
||||
Id: ds.Id,
|
||||
Type: ds.Type,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// slugify pages
|
||||
for _, page := range app.Pages {
|
||||
if page.Slug == "" {
|
||||
page.Slug = slug.Make(page.Name)
|
||||
|
@ -7,6 +7,7 @@ export class AppEditCtrl {
|
||||
appModel: any;
|
||||
appId: any;
|
||||
includedPanels: any;
|
||||
includedDatasources: any;
|
||||
|
||||
/** @ngInject */
|
||||
constructor(private backendSrv: any, private $routeParams: any) {
|
||||
@ -16,6 +17,7 @@ export class AppEditCtrl {
|
||||
this.backendSrv.get(`/api/org/apps/${this.appId}/settings`).then(result => {
|
||||
this.appModel = result;
|
||||
this.includedPanels = _.where(result.includes, {type: 'panel'});
|
||||
this.includedDatasources = _.where(result.includes, {type: 'datasource'});
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -68,7 +68,10 @@
|
||||
Datasources
|
||||
</div>
|
||||
<ul>
|
||||
<li><em class="small">None</em></li>
|
||||
<li ng-show="!ctrl.includedDatasources.length"><em class="small">None</em></li>
|
||||
<li ng-repeat="ds in ctrl.includedDatasources">
|
||||
{{ds.name}}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="simple-box-body simple-box-column">
|
||||
|
Loading…
Reference in New Issue
Block a user