diff --git a/frontend/src/metabase/dashboard/dashboard.js b/frontend/src/metabase/dashboard/dashboard.js index c303e5e758db1d3215f20670818149b07019d286..24aebceb82f09b61cc71f0925de46df7259400ad 100644 --- a/frontend/src/metabase/dashboard/dashboard.js +++ b/frontend/src/metabase/dashboard/dashboard.js @@ -517,7 +517,6 @@ export const navigateToNewCardFromDashboard = createThunkAction( const dashboard = dashboards[dashboardId]; const cardIsDirty = !_.isEqual(previousCard.dataset_query, nextCard.dataset_query); - // $FlowFixMe const url = questionUrlWithParameters( getCardAfterVisualizationClick(nextCard, previousCard), metadata, diff --git a/frontend/src/metabase/meta/Card.js b/frontend/src/metabase/meta/Card.js index ffecd1c0c9e7247d521def6a7a3bfc0dc076e87f..6db71543c4a7ca406d39036225f722aa2c660dde 100644 --- a/frontend/src/metabase/meta/Card.js +++ b/frontend/src/metabase/meta/Card.js @@ -132,6 +132,7 @@ export function applyParameters( } const mapping = _.findWhere(parameterMappings, { + // $FlowFixMe original_card_id not included in the flow type of card card_id: card.id || card.original_card_id, parameter_id: parameter.id }); @@ -179,7 +180,7 @@ export function questionUrlWithParameters( ); // If we have a clean question without parameters applied, don't add the dataset query hash - if (!cardIsDirty && datasetQuery.parameters.length === 0) { + if (!cardIsDirty && datasetQuery.parameters && datasetQuery.parameters.length === 0) { return Urls.question(card.id); } diff --git a/frontend/src/metabase/qb/components/actions/PivotByAction.jsx b/frontend/src/metabase/qb/components/actions/PivotByAction.jsx index 0393ee728142384b4d9e25b2f94585495e955963..c52cddaddc5e101b9b02e9c1859d496d4812c5e7 100644 --- a/frontend/src/metabase/qb/components/actions/PivotByAction.jsx +++ b/frontend/src/metabase/qb/components/actions/PivotByAction.jsx @@ -88,9 +88,14 @@ export default (name: string, icon: string, fieldFilter: FieldFilter) => fieldOptions={fieldOptions} customFieldOptions={customFieldOptions} onCommitBreakout={breakout => { - onChangeCardAndRun( - { nextCard: pivot(card, breakout, tableMetadata, dimensions) } - ); + onChangeCardAndRun({ + nextCard: pivot( + card, + breakout, + tableMetadata, + dimensions + ) + }); }} onClose={onClose} /> diff --git a/frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx b/frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx index da026f46f60b8bc052be01129e3e0994f0fe0ad0..94242389f2afeee09121e3b649f4823841bf8c33 100644 --- a/frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx +++ b/frontend/src/metabase/qb/components/actions/SummarizeBySegmentMetricAction.jsx @@ -34,7 +34,13 @@ export default ({ card, tableMetadata }: ClickActionProps): ClickAction[] => { customFields={Query.getExpressions(query)} availableAggregations={tableMetadata.aggregation_options} onCommitAggregation={aggregation => { - onChangeCardAndRun({ nextCard: summarize(card, aggregation, tableMetadata) }); + onChangeCardAndRun({ + nextCard: summarize( + card, + aggregation, + tableMetadata + ) + }); onClose && onClose(); }} /> diff --git a/frontend/src/metabase/query_builder/components/ActionsWidget.jsx b/frontend/src/metabase/query_builder/components/ActionsWidget.jsx index 218a763267fedfb39c269575fae3c3504ec5c250..eba3825141b79b5e1df080e34d80d6612c170acc 100644 --- a/frontend/src/metabase/query_builder/components/ActionsWidget.jsx +++ b/frontend/src/metabase/query_builder/components/ActionsWidget.jsx @@ -12,7 +12,7 @@ import MetabaseAnalytics from "metabase/lib/analytics"; import cx from "classnames"; import _ from "underscore"; -import type { Card } from "metabase/meta/types/Card"; +import type { Card, UnsavedCard} from "metabase/meta/types/Card"; import type { QueryMode, ClickAction } from "metabase/meta/types/Visualization"; import type { TableMetadata } from "metabase/meta/types/Metadata"; @@ -21,7 +21,7 @@ type Props = { mode: QueryMode, card: Card, tableMetadata: TableMetadata, - navigateToNewCardInsideQB: (nextCard: Card, previousCard: Card) => void + navigateToNewCardInsideQB: any => void }; const CIRCLE_SIZE = 48; @@ -71,7 +71,7 @@ export default class ActionsWidget extends Component<*, Props, *> { }); }; - handleOnChangeCardAndRun({ nextCard }) { + handleOnChangeCardAndRun = ({ nextCard }: { nextCard: Card|UnsavedCard}) => { const { card: previousCard } = this.props; this.props.navigateToNewCardInsideQB({ nextCard, previousCard }); } diff --git a/frontend/src/metabase/visualizations/components/Visualization.jsx b/frontend/src/metabase/visualizations/components/Visualization.jsx index a197c3dd46a3927dff227755f0e972f17238a28b..9842dcdef388ec2373eb945489164959dbccf5e8 100644 --- a/frontend/src/metabase/visualizations/components/Visualization.jsx +++ b/frontend/src/metabase/visualizations/components/Visualization.jsx @@ -63,7 +63,7 @@ type Props = { // for click actions metadata: Metadata, - onChangeCardAndRun: (card: UnsavedCard) => void, + onChangeCardAndRun: any => void, // used for showing content in place of visualization, e.x. dashcard filter mapping replacementContent: Element<any>,