feat(apps): began work on support for apps that contain data sources

This commit is contained in:
Torkel Ödegaard 2016-02-09 18:37:08 +01:00
parent fb74ebb4ea
commit fe2e6b8a80
3 changed files with 19 additions and 1 deletions

View File

@ -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)

View File

@ -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'});
});
}

View File

@ -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">