Преглед изворни кода

minor react panels refafactor

Torkel Ödegaard пре 7 година
родитељ
комит
7b805bdb81

+ 2 - 2
public/app/features/dashboard/dashgrid/DashboardPanel.tsx

@@ -128,7 +128,7 @@ export class DashboardPanel extends PureComponent<Props, State> {
     return (
       <div className={containerClass}>
         <div className={panelWrapperClass}>
-          <PanelChrome component={plugin.exports.PanelComponent} panel={panel} dashboard={dashboard} />
+          <PanelChrome component={plugin.exports.Panel} panel={panel} dashboard={dashboard} />
         </div>
         {panel.isEditing && (
           <PanelEditor panel={panel} plugin={plugin} dashboard={dashboard} onTypeChanged={this.onPluginTypeChanged} />
@@ -151,7 +151,7 @@ export class DashboardPanel extends PureComponent<Props, State> {
     }
 
     // if exporting PanelComponent it must be a react panel
-    if (plugin.exports.PanelComponent) {
+    if (plugin.exports.Panel) {
       return this.renderReactPanel();
     }
 

+ 3 - 3
public/app/features/dashboard/dashgrid/PanelPluginNotFound.tsx

@@ -14,8 +14,8 @@ class PanelPluginNotFound extends PureComponent<Props> {
   render() {
     const style = {
       display: 'flex',
-      'align-items': 'center',
-      'text-align': 'center',
+      alignItems: 'center',
+      textAlign: 'center' as 'center',
       height: '100%',
     };
 
@@ -58,7 +58,7 @@ export function getPanelPluginNotFound(id: string): PanelPlugin {
     },
 
     exports: {
-      PanelComponent: NotFound,
+      Panel: NotFound,
     },
   };
 }

+ 3 - 3
public/app/features/dashboard/dashgrid/VisualizationTab.tsx

@@ -21,10 +21,10 @@ export class VisualizationTab extends PureComponent<Props> {
 
   renderPanelOptions() {
     const { plugin, panel } = this.props;
-    const { PanelOptionsComponent } = plugin.exports;
+    const { PanelOptions } = plugin.exports;
 
-    if (PanelOptionsComponent) {
-      return <PanelOptionsComponent options={panel.getOptions()} onChange={this.onPanelOptionsChanged} />;
+    if (PanelOptions) {
+      return <PanelOptions options={panel.getOptions()} onChange={this.onPanelOptionsChanged} />;
     } else {
       return <p>Visualization has no options</p>;
     }

+ 1 - 1
public/app/viz/GaugeOptions.tsx → public/app/plugins/panel/gauge/GaugeOptions.tsx

@@ -1,5 +1,5 @@
 import React, { PureComponent } from 'react';
-import { PanelOptionsProps } from '../types';
+import { PanelOptionsProps } from 'app/types';
 
 interface Props {}
 

+ 2 - 1
public/app/plugins/panel/gauge/module.tsx

@@ -2,6 +2,7 @@ import React, { PureComponent } from 'react';
 import Gauge from 'app/viz/Gauge';
 import { NullValueMode, PanelProps } from 'app/types';
 import { getTimeSeriesVMs } from 'app/viz/state/timeSeries';
+import { GaugeOptions } from './GaugeOptions';
 
 export interface Options {}
 
@@ -20,4 +21,4 @@ export class GaugePanel extends PureComponent<Props> {
   }
 }
 
-export { GaugePanel as PanelComponent };
+export { GaugePanel as Panel, GaugeOptions as PanelOptions };

+ 0 - 0
public/app/plugins/panel/text2/img/icn-graph-panel.svg → public/app/plugins/panel/graph2/img/icn-graph-panel.svg


+ 1 - 1
public/app/plugins/panel/graph2/module.tsx

@@ -87,4 +87,4 @@ export class GraphOptions extends PureComponent<PanelOptionsProps<Options>> {
   }
 }
 
-export { Graph2 as PanelComponent, GraphOptions as PanelOptionsComponent };
+export { Graph2 as Panel, GraphOptions as PanelOptions };

+ 2 - 2
public/app/plugins/panel/graph2/plugin.json

@@ -11,8 +11,8 @@
       "url": "https://grafana.com"
     },
     "logos": {
-      "small": "img/icn-text-panel.svg",
-      "large": "img/icn-text-panel.svg"
+      "small": "img/icn-graph-panel.svg",
+      "large": "img/icn-graph-panel.svg"
     }
   }
 }

+ 0 - 0
public/app/plugins/panel/graph2/img/icn-text-panel.svg → public/app/plugins/panel/text2/img/icn-text-panel.svg


+ 1 - 1
public/app/plugins/panel/text2/module.tsx

@@ -11,4 +11,4 @@ export class Text2 extends PureComponent<PanelProps> {
   }
 }
 
-export { Text2 as PanelComponent };
+export { Text2 as Panel };

+ 2 - 2
public/app/plugins/panel/text2/plugin.json

@@ -11,8 +11,8 @@
       "url": "https://grafana.com"
     },
     "logos": {
-      "small": "img/icn-graph-panel.svg",
-      "large": "img/icn-graph-panel.svg"
+      "small": "img/icn-text-panel.svg",
+      "large": "img/icn-text-panel.svg"
     }
   }
 }

+ 5 - 0
public/app/types/panel.ts

@@ -13,6 +13,11 @@ export interface PanelOptionsProps<T = any> {
   onChange: (options: T) => void;
 }
 
+export interface PanelSize {
+  width: number;
+  height: number;
+}
+
 export interface PanelMenuItem {
   type?: 'submenu' | 'divider';
   text?: string;

+ 2 - 2
public/app/types/plugins.ts

@@ -11,8 +11,8 @@ export interface PluginExports {
 
   // Panel plugin
   PanelCtrl?;
-  PanelComponent?: ComponentClass<PanelProps>;
-  PanelOptionsComponent?: ComponentClass<PanelOptionsProps>;
+  Panel?: ComponentClass<PanelProps>;
+  PanelOptions?: ComponentClass<PanelOptionsProps>;
 }
 
 export interface PanelPlugin {