Skip to content
Snippets Groups Projects
Unverified Commit 1dd40dd4 authored by Sameer Al-Sakran's avatar Sameer Al-Sakran Committed by GitHub
Browse files

Merge pull request #7485 from metabase/fix_drillthrough_xrays

fix drill-through to automatic dashboards
parents ed906f8c c73718e7
No related branches found
No related tags found
No related merge requests found
......@@ -676,7 +676,7 @@ const Query = {
},
getFilterClauseDescription(tableMetadata, filter, options) {
if (filter[0] === "AND" || filter[0] === "OR") {
if (mbqlEq(filter[0], "AND") || mbqlEq(filter[0], "OR")) {
let clauses = filter
.slice(1)
.map(f => Query.getFilterClauseDescription(tableMetadata, f, options));
......
......@@ -4,6 +4,7 @@ import type {
ClickAction,
ClickActionProps,
} from "metabase/meta/types/Visualization";
import StructuredQuery from "metabase-lib/lib/queries/StructuredQuery";
import { utf8_to_b64url } from "metabase/lib/card";
import { t } from "c-3po";
......@@ -11,6 +12,16 @@ export default ({ question, settings }: ClickActionProps): ClickAction[] => {
// currently time series xrays require the maximum fidelity
console.log(JSON.stringify(question.query().datasetQuery()));
let dashboard_url = "adhoc";
const query = question.query();
if (!(query instanceof StructuredQuery)) {
return [];
}
// aggregations
if (query.aggregations().length) {
return [];
}
if (question.card().id) {
dashboard_url = `/auto/dashboard/question/${question.card().id}`;
} else {
......
......@@ -15,11 +15,6 @@ export default ({ question, clicked }: ClickActionProps): ClickAction[] => {
return [];
}
// aggregations
if (query.aggregations().length) {
return [];
}
// questions with a breakout
const dimensions = (clicked && clicked.dimensions) || [];
if (!clicked || dimensions.length === 0) {
......@@ -39,7 +34,9 @@ export default ({ question, clicked }: ClickActionProps): ClickAction[] => {
count,
)}`,
url: () => {
const filters = question
const filters = query
.clearFilters() // clear existing filters so we don't duplicate them
.question()
.drillUnderlyingRecords(dimensions)
.query()
.filters();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment