Plugins: Unifying alpha state & options for all plugins (#16530)

* app pages

* app pages

* workign example

* started alpha support

* remove app stuff

* show warning on alpha/beta panels

* put app back on plugin file

* fix go

* add enum for PluginType and PluginIncludeType

* Refactoring and moving settings to plugins section

fixes #16529
This commit is contained in:
Ryan McKinley
2019-04-12 04:46:42 -07:00
committed by Torkel Ödegaard
parent 30dcf0f6c5
commit 3c21a121eb
18 changed files with 154 additions and 114 deletions

View File

@@ -1,10 +1,25 @@
export enum PluginState {
alpha = 'alpha', // Only included it `enable_alpha` is true
beta = 'beta', // Will show a warning banner
}
export enum PluginType {
panel = 'panel',
datasource = 'datasource',
app = 'app',
}
export interface PluginMeta {
id: string;
name: string;
info: PluginMetaInfo;
includes: PluginInclude[];
module: string;
baseUrl: string;
includes?: PluginInclude[];
baseUrl?: string;
type: PluginType;
enabled?: boolean;
state?: PluginState;
// Datasource-specific
builtIn?: boolean;
@@ -24,8 +39,17 @@ interface PluginMetaQueryOptions {
minInterval?: boolean;
}
export enum PluginIncludeType {
dashboard = 'dashboard',
page = 'page',
// Only valid for apps
panel = 'panel',
datasource = 'datasource',
}
export interface PluginInclude {
type: string;
type: PluginIncludeType;
name: string;
path: string;
}