From 74794bb67b5322394f254577f6f26a52fb744829 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Atte=20Kein=C3=A4nen?= <atte.keinanen@gmail.com>
Date: Wed, 3 May 2017 12:10:50 -0700
Subject: [PATCH] Make Flow test pass by suppressing the warnings

---
 frontend/src/metabase/dashboard/dashboard.js                 | 1 +
 frontend/src/metabase/meta/types/Card.js                     | 4 ++--
 .../src/metabase/qb/components/TimeseriesFilterWidget.jsx    | 2 +-
 .../src/metabase/qb/components/TimeseriesGroupingWidget.jsx  | 2 +-
 .../src/metabase/qb/components/actions/PivotByAction.jsx     | 1 +
 frontend/src/metabase/qb/lib/actions.js                      | 2 +-
 .../src/metabase/visualizations/components/Visualization.jsx | 5 +++++
 .../src/metabase/visualizations/lib/LineAreaBarRenderer.js   | 2 ++
 8 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/frontend/src/metabase/dashboard/dashboard.js b/frontend/src/metabase/dashboard/dashboard.js
index e07872334d5..7db7bcc72dc 100644
--- a/frontend/src/metabase/dashboard/dashboard.js
+++ b/frontend/src/metabase/dashboard/dashboard.js
@@ -505,6 +505,7 @@ export const navigateToNewCard = createThunkAction(NAVIGATE_TO_NEW_CARD, (card:
         const { dashboardId, dashboards, parameterValues } = getState().dashboard;
         const dashboard = dashboards[dashboardId];
 
+        // $FlowFixMe
         const url = questionUrlWithParameters(card, metadata, dashboard.parameters, parameterValues, dashcard && dashcard.parameter_mappings);
         dispatch(push(url));
     });
diff --git a/frontend/src/metabase/meta/types/Card.js b/frontend/src/metabase/meta/types/Card.js
index 8ab071c4ad6..7367ef69686 100644
--- a/frontend/src/metabase/meta/types/Card.js
+++ b/frontend/src/metabase/meta/types/Card.js
@@ -15,8 +15,8 @@ export type UnsavedCard = {
 
 export type SavedCardFields = {
     id: CardId,
-    name: ?string,
-    description: ?string,
+    name?: string,
+    description?: string,
 }
 
 export type Card = UnsavedCard & SavedCardFields;
diff --git a/frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx b/frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx
index 23a1601f49a..78587f7b5b6 100644
--- a/frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx
+++ b/frontend/src/metabase/qb/components/TimeseriesFilterWidget.jsx
@@ -144,8 +144,8 @@ export default class TimeseriesFilterWidget extends Component<*, Props, State> {
                                 } else {
                                     query = Query.addFilter(query, filter);
                                 }
-                                // $FlowFixMe
                                 const datasetQuery: DatasetQuery = {
+                                    // $FlowFixMe
                                     ...card.dataset_query,
                                     query
                                 };
diff --git a/frontend/src/metabase/qb/components/TimeseriesGroupingWidget.jsx b/frontend/src/metabase/qb/components/TimeseriesGroupingWidget.jsx
index c5adb221ad6..9a1c239eb20 100644
--- a/frontend/src/metabase/qb/components/TimeseriesGroupingWidget.jsx
+++ b/frontend/src/metabase/qb/components/TimeseriesGroupingWidget.jsx
@@ -60,8 +60,8 @@ export default class TimeseriesGroupingWidget extends Component<*, Props, *> {
                                     0,
                                     breakout
                                 );
-                                // $FlowFixMe
                                 const datasetQuery: DatasetQuery = {
+                                    // $FlowFixMe
                                     ...card.dataset_query,
                                     query
                                 };
diff --git a/frontend/src/metabase/qb/components/actions/PivotByAction.jsx b/frontend/src/metabase/qb/components/actions/PivotByAction.jsx
index b5795db7ec7..10cfd950168 100644
--- a/frontend/src/metabase/qb/components/actions/PivotByAction.jsx
+++ b/frontend/src/metabase/qb/components/actions/PivotByAction.jsx
@@ -29,6 +29,7 @@ export default (name: string, icon: string, fieldFilter: FieldFilter) =>
             !tableMetadata ||
             (clicked &&
                 (clicked.value === undefined ||
+                    // $FlowFixMe
                     clicked.column.source !== "aggregation"))
         ) {
             return [];
diff --git a/frontend/src/metabase/qb/lib/actions.js b/frontend/src/metabase/qb/lib/actions.js
index 12d17e7e556..2479250c271 100644
--- a/frontend/src/metabase/qb/lib/actions.js
+++ b/frontend/src/metabase/qb/lib/actions.js
@@ -207,6 +207,7 @@ export const pivot = (
     }
 
     let newCard = startNewCard("query");
+    // $FlowFixMe
     newCard.dataset_query = card.dataset_query;
 
     for (const dimension of dimensions) {
@@ -226,7 +227,6 @@ export const pivot = (
     }
 
     newCard.dataset_query.query = Query.addBreakout(
-        // $FlowFixMe: we know newCard is a StructuredDatasetQuery but flow doesn't
         newCard.dataset_query.query,
         breakout
     );
diff --git a/frontend/src/metabase/visualizations/components/Visualization.jsx b/frontend/src/metabase/visualizations/components/Visualization.jsx
index bbe3ab43ce2..25b0cdb3a72 100644
--- a/frontend/src/metabase/visualizations/components/Visualization.jsx
+++ b/frontend/src/metabase/visualizations/components/Visualization.jsx
@@ -191,7 +191,9 @@ export default class Visualization extends Component<*, Props, State> {
         const seriesIndex = clicked.seriesIndex || 0;
         const card = series[seriesIndex].card;
         const tableMetadata = card && Card.getTableMetadata(card, metadata);
+        // $FlowFixMe
         const mode = getMode(card, tableMetadata);
+        // $FlowFixMe
         return getModeDrills(mode, card, tableMetadata, clicked);
     }
 
@@ -224,15 +226,18 @@ export default class Visualization extends Component<*, Props, State> {
     handleOnChangeCardAndRun = (card: UnsavedCard) => {
         // If the current card is saved, carry that information to the new card for showing lineage
         const { series } = this.state
+        // $FlowFixMe
         const currentlyInSavedCard = series[0] && series[0].card && series[0].card.id
         if (currentlyInSavedCard) {
             const savedCard: CardObject = {
                 ...card,
+                // $FlowFixMe
                 id: series[0].card.id
             };
 
             this.props.onChangeCardAndRun(savedCard)
         } else {
+            // $FlowFixMe
             this.props.onChangeCardAndRun(card)
         }
     }
diff --git a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
index 58ac0a7970c..90c25d218d6 100644
--- a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
+++ b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
@@ -417,11 +417,13 @@ function applyChartTooltips(chart, series, isStacked, isScalarSeries, onHoverCha
                     // handle multiseries
                     if (clicked && series.length > 1) {
                         if (card._breakoutColumn) {
+                            // $FlowFixMe
                             clicked.dimensions.push({
                                 value: card._breakoutValue,
                                 column: card._breakoutColumn
                             });
                         } else {
+                            // $FlowFixMe
                             clicked.seriesIndex = seriesIndex;
                         }
                     }
-- 
GitLab