From 62e8389c19f078ff2e19092862b793f2cf0b6397 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Atte=20Kein=C3=A4nen?= <atte.keinanen@gmail.com>
Date: Tue, 30 May 2017 16:31:21 -0700
Subject: [PATCH] Fix lint & Flow errors

---
 frontend/src/metabase/dashboard/dashboard.js          |  1 -
 frontend/src/metabase/meta/Card.js                    |  3 ++-
 .../metabase/qb/components/actions/PivotByAction.jsx  | 11 ++++++++---
 .../actions/SummarizeBySegmentMetricAction.jsx        |  8 +++++++-
 .../query_builder/components/ActionsWidget.jsx        |  6 +++---
 .../visualizations/components/Visualization.jsx       |  2 +-
 6 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/frontend/src/metabase/dashboard/dashboard.js b/frontend/src/metabase/dashboard/dashboard.js
index c303e5e758d..24aebceb82f 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 ffecd1c0c9e..6db71543c4a 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 0393ee72814..c52cddaddc5 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 da026f46f60..94242389f2a 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 218a763267f..eba3825141b 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 a197c3dd46a..9842dcdef38 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>,
-- 
GitLab