Browse Source

enable goto explore from query panel editor for all datasources

Erik Sundell 7 years ago
parent
commit
18b39967fc
2 changed files with 13 additions and 11 deletions
  1. 12 5
      public/app/core/utils/explore.ts
  2. 1 6
      public/app/features/panel/metrics_panel_ctrl.ts

+ 12 - 5
public/app/core/utils/explore.ts

@@ -57,12 +57,19 @@ export async function getExploreUrl(
     }
   }
 
-  if (exploreDatasource && exploreDatasource.meta.explore) {
+  if (panelDatasource) {
     const range = timeSrv.timeRangeForUrl();
-    const state = {
-      ...exploreDatasource.getExploreState(exploreTargets),
-      range,
-    };
+    let state: Partial<ExploreUrlState> = { range };
+    if (exploreDatasource.getExploreState) {
+      state = { ...state, ...exploreDatasource.getExploreState(exploreTargets) };
+    } else {
+      state = {
+        ...state,
+        datasource: panelDatasource.name,
+        queries: exploreTargets.map(t => ({ ...t, datasource: panelDatasource.name })),
+      };
+    }
+
     const exploreState = JSON.stringify(state);
     url = renderUrl('/explore', { state: exploreState });
   }

+ 1 - 6
public/app/features/panel/metrics_panel_ctrl.ts

@@ -233,12 +233,7 @@ class MetricsPanelCtrl extends PanelCtrl {
 
   getAdditionalMenuItems() {
     const items = [];
-    if (
-      config.exploreEnabled &&
-      this.contextSrv.isEditor &&
-      this.datasource &&
-      (this.datasource.meta.explore || this.datasource.meta.id === 'mixed')
-    ) {
+    if (config.exploreEnabled && this.contextSrv.isEditor && this.datasource) {
       items.push({
         text: 'Explore',
         click: 'ctrl.explore();',