From fe28b4ad463873a3369581feabc2abca04e86fff Mon Sep 17 00:00:00 2001
From: Tom Robinson <tlrobinson@gmail.com>
Date: Tue, 2 May 2017 23:06:53 -0700
Subject: [PATCH] Misc lint/flow errors

---
 .../src/metabase/dashboard/components/DashCard.jsx  |  2 +-
 .../metabase/dashboard/hoc/DashboardControls.jsx    |  2 +-
 frontend/src/metabase/meta/Card.spec.js             |  2 +-
 frontend/src/metabase/meta/types/Visualization.js   |  2 +-
 .../visualizations/lib/LineAreaBarRenderer.js       |  4 ++--
 frontend/src/metabase/visualizations/lib/table.js   |  2 ++
 frontend/src/metabase/visualizations/lib/tooltip.js |  2 +-
 .../visualizations/visualizations/PieChart.jsx      | 13 ++++++-------
 8 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/frontend/src/metabase/dashboard/components/DashCard.jsx b/frontend/src/metabase/dashboard/components/DashCard.jsx
index af04185b1d7..dcb4686c840 100644
--- a/frontend/src/metabase/dashboard/components/DashCard.jsx
+++ b/frontend/src/metabase/dashboard/components/DashCard.jsx
@@ -135,7 +135,7 @@ export default class DashCard extends Component {
                     replacementContent={isEditingParameter && <DashCardParameterMapper dashcard={dashcard} />}
                     metadata={metadata}
                     onChangeCardAndRun={(card: UnsavedCard|Card) => {
-                        this.props.navigateToNewCard(card, dashcard)
+                        navigateToNewCard(card, dashcard)
                     }}
                 />
             </div>
diff --git a/frontend/src/metabase/dashboard/hoc/DashboardControls.jsx b/frontend/src/metabase/dashboard/hoc/DashboardControls.jsx
index d6b76682681..3651bfac14a 100644
--- a/frontend/src/metabase/dashboard/hoc/DashboardControls.jsx
+++ b/frontend/src/metabase/dashboard/hoc/DashboardControls.jsx
@@ -38,7 +38,7 @@ export default (ComposedComponent: ReactClass<any>) =>
         class extends Component<*, Props, State> {
             static displayName = "DashboardControls["+(ComposedComponent.displayName || ComposedComponent.name)+"]";
 
-            state = {
+            state: State = {
                 isFullscreen: false,
                 isNightMode: false,
 
diff --git a/frontend/src/metabase/meta/Card.spec.js b/frontend/src/metabase/meta/Card.spec.js
index 3d57d40c659..a2922100172 100644
--- a/frontend/src/metabase/meta/Card.spec.js
+++ b/frontend/src/metabase/meta/Card.spec.js
@@ -1,6 +1,6 @@
 import * as Card from "./Card";
 
-import { assocIn, dissoc } from "icepick";
+import { assocIn } from "icepick";
 
 describe("metabase/meta/Card", () => {
     describe("questionUrlWithParameters", () => {
diff --git a/frontend/src/metabase/meta/types/Visualization.js b/frontend/src/metabase/meta/types/Visualization.js
index 90732168d76..b191504a37b 100644
--- a/frontend/src/metabase/meta/types/Visualization.js
+++ b/frontend/src/metabase/meta/types/Visualization.js
@@ -29,7 +29,7 @@ export type DimensionValue = {
 
 export type ClickObject = {
     value?: Value,
-    column: Column,
+    column?: Column,
     dimensions?: DimensionValue[],
     event?: MouseEvent,
     element?: HTMLElement,
diff --git a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
index 20b4a5cae0f..58ac0a7970c 100644
--- a/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
+++ b/frontend/src/metabase/visualizations/lib/LineAreaBarRenderer.js
@@ -35,7 +35,7 @@ import { parseTimestamp } from "metabase/lib/time";
 
 import { datasetContainsNoResults } from "metabase/lib/dataset";
 
-import type { Series } from "metabase/meta/types/Visualization"
+import type { Series, ClickObject } from "metabase/meta/types/Visualization"
 
 const MIN_PIXELS_PER_TICK = { x: 100, y: 32 };
 const BAR_PADDING_RATIO = 0.2;
@@ -380,7 +380,7 @@ function applyChartTooltips(chart, series, isStacked, isScalarSeries, onHoverCha
                     const card = series[seriesIndex].card;
                     const isSingleSeriesBar = this.classList.contains("bar") && series.length === 1;
 
-                    let clicked;
+                    let clicked: ?ClickObject;
                     if (Array.isArray(d.key)) { // scatter
                         clicked = {
                             value: d.key[2],
diff --git a/frontend/src/metabase/visualizations/lib/table.js b/frontend/src/metabase/visualizations/lib/table.js
index 686b7949aaf..3e05c3cb827 100644
--- a/frontend/src/metabase/visualizations/lib/table.js
+++ b/frontend/src/metabase/visualizations/lib/table.js
@@ -13,11 +13,13 @@ export function getTableCellClickedObject(data: DatasetData, rowIndex: number, c
     if (isPivoted) {
         // if it's a pivot table, the first column is
         if (columnIndex === 0) {
+            // $FlowFixMe: _dimension
             return row._dimension;
         } else {
             return {
                 value,
                 column,
+                // $FlowFixMe: _dimension
                 dimensions: [row._dimension, column._dimension]
             };
         }
diff --git a/frontend/src/metabase/visualizations/lib/tooltip.js b/frontend/src/metabase/visualizations/lib/tooltip.js
index b3ea550dc68..dbc72ca44b4 100644
--- a/frontend/src/metabase/visualizations/lib/tooltip.js
+++ b/frontend/src/metabase/visualizations/lib/tooltip.js
@@ -15,7 +15,7 @@ function getParentWithClass(element, className) {
 }
 
 // HACK: This determines the index of the series the provided element belongs to since DC doesn't seem to provide another way
-export function determineSeriesIndexFromElement(element, isStacked) {
+export function determineSeriesIndexFromElement(element, isStacked): number {
     if (isStacked) {
         if (element.classList.contains("dot")) {
             // .dots are children of dc-tooltip
diff --git a/frontend/src/metabase/visualizations/visualizations/PieChart.jsx b/frontend/src/metabase/visualizations/visualizations/PieChart.jsx
index 03ed47642ee..73cc1b27ae7 100644
--- a/frontend/src/metabase/visualizations/visualizations/PieChart.jsx
+++ b/frontend/src/metabase/visualizations/visualizations/PieChart.jsx
@@ -177,17 +177,16 @@ export default class PieChart extends Component<*, Props, *> {
             value = formatMetric(total);
         }
 
-        const getSliceClickObject = ({ index, event }) => ({
+        const getSliceClickObject = (index) => ({
             value:      slices[index].value,
             column:     cols[metricIndex],
             dimensions: [{
                 value: slices[index].key,
                 column: cols[dimensionIndex],
-            }],
-            event:      event
+            }]
         })
 
-        const isClickable = onVisualizationClick && visualizationIsClickable(getSliceClickObject({ index: 0 }));
+        const isClickable = onVisualizationClick && visualizationIsClickable(getSliceClickObject(0));
         const getSliceIsClickable = (index) => isClickable && slices[index] !== otherSlice;
 
         return (
@@ -216,10 +215,10 @@ export default class PieChart extends Component<*, Props, *> {
                                         onMouseLeave={() => onHoverChange && onHoverChange(null)}
                                         className={cx({ "cursor-pointer": getSliceIsClickable(index) })}
                                         onClick={getSliceIsClickable(index) && ((e) =>
-                                            onVisualizationClick(getSliceClickObject({
-                                                index,
+                                            onVisualizationClick({
+                                                ...getSliceClickObject(index),
                                                 event: e.nativeEvent
-                                            }))
+                                            })
                                         )}
                                     />
                                 )}
-- 
GitLab