Plugins: avoid app importDashboards() NPE (#18128)

* tables display

* add missing file

* adding toolbar option

* adding toolbar option

* add items to index

* use root import path

* merge master

* show tables info

* add importDashboards code

* remove table changes

* remove table changes

* use deprecation warning
This commit is contained in:
Ryan McKinley 2019-07-19 07:11:16 -07:00 committed by GitHub
parent 0ca1e90b2e
commit 06b43f6d4b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 11 deletions

View File

@ -37,15 +37,11 @@ export class ConfigCtrl {
postUpdate() {
if (!this.appModel.enabled) {
return this.$q.resolve();
return;
}
return this.appEditCtrl.importDashboards().then(() => {
this.enabled = true;
return {
url: "plugins/raintank-kubernetes-app/page/clusters",
message: "Kubernetes App enabled!"
};
});
// TODO, whatever you want
console.log('Post Update:', this);
}
}
ConfigCtrl.templateUrl = 'components/config/config.html';

View File

@ -1,4 +1,7 @@
export const deprecationWarning = (file: string, oldName: string, newName: string) => {
const message = `[Deprecation warning] ${file}: ${oldName} is deprecated. Use ${newName} instead`;
export const deprecationWarning = (file: string, oldName: string, newName?: string) => {
let message = `[Deprecation warning] ${file}: ${oldName} is deprecated`;
if (newName) {
message += `. Use ${newName} instead`;
}
console.warn(message);
};

View File

@ -3,7 +3,7 @@ import React, { PureComponent } from 'react';
import cloneDeep from 'lodash/cloneDeep';
import extend from 'lodash/extend';
import { PluginMeta, AppPlugin, Button } from '@grafana/ui';
import { PluginMeta, AppPlugin, Button, deprecationWarning } from '@grafana/ui';
import { AngularComponent, getAngularLoader } from '@grafana/runtime';
import { getBackendSrv } from 'app/core/services/backend_srv';
@ -124,6 +124,12 @@ export class AppConfigCtrlWrapper extends PureComponent<Props, State> {
this.postUpdateHook = callback;
};
// Stub to avoid unknown function in legacy code
importDashboards = (): Promise<void> => {
deprecationWarning('AppConfig', 'importDashboards()');
return Promise.resolve();
};
enable = () => {
this.model.enabled = true;
this.model.pinned = true;