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

Restored loading spinner to DataPanel

Torkel Ödegaard пре 6 година
родитељ
комит
19a080a4d4
1 измењених фајлова са 19 додато и 9 уклоњено
  1. 19 9
      public/app/features/dashboard/dashgrid/DataPanel.tsx

+ 19 - 9
public/app/features/dashboard/dashgrid/DataPanel.tsx

@@ -188,11 +188,7 @@ export class DataPanel extends Component<Props, State> {
     const panelData = this.getPanelData();
 
     if (isFirstLoad && loading === LoadingState.Loading) {
-      return (
-        <div className="panel-loading">
-          <i className="fa fa-spinner fa-spin" />
-        </div>
-      );
+      return this.renderLoadingState();
     }
 
     if (!queries.length) {
@@ -203,9 +199,23 @@ export class DataPanel extends Component<Props, State> {
       );
     }
 
-    return this.props.children({
-      loading,
-      panelData,
-    });
+    return (
+      <>
+        {this.renderLoadingState()}
+        {this.props.children({ loading, panelData })}
+      </>
+    );
+  }
+
+  private renderLoadingState(): JSX.Element {
+    const { loading } = this.state;
+    if (loading === LoadingState.Loading) {
+      return (
+        <div className="panel-loading">
+          <i className="fa fa-spinner fa-spin" />
+        </div>
+      );
+    }
+    return null;
   }
 }