From a5fe4829cba523f5f10c3bb031da24d5bf39762f Mon Sep 17 00:00:00 2001 From: Tom Robinson <tlrobinson@gmail.com> Date: Wed, 13 Feb 2019 16:27:39 -0800 Subject: [PATCH] Fix lint and flow errors --- .../datamodel/components/FieldRemapping.jsx | 2 +- .../components/actions/PivotByAction.jsx | 1 - .../components/AggregationPopover.jsx | 2 +- .../components/BreakoutPopover.jsx | 41 +++++++++++-------- .../components/BreakoutWidget.jsx | 2 +- .../query_builder/components/FieldList.jsx | 28 ++++--------- .../query_builder/components/FieldWidget.jsx | 2 +- .../components/filters/FilterPopover.jsx | 2 +- .../actions/PivotByAction.unit.spec.js | 7 +--- .../components/FieldList.e2e.spec.js | 2 +- 10 files changed, 38 insertions(+), 51 deletions(-) diff --git a/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx b/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx index 7d736a34ddf..dc5fffbe361 100644 --- a/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx +++ b/frontend/src/metabase/admin/datamodel/components/FieldRemapping.jsx @@ -280,7 +280,7 @@ export default class FieldRemapping extends React.Component { dimensions: [], fks: this.getForeignKeys(), }} - tableMetadata={table} + table={table} onFieldChange={this.onForeignKeyFieldChange} hideSectionHeader /> diff --git a/frontend/src/metabase/modes/components/actions/PivotByAction.jsx b/frontend/src/metabase/modes/components/actions/PivotByAction.jsx index 3916a206742..2f010164020 100644 --- a/frontend/src/metabase/modes/components/actions/PivotByAction.jsx +++ b/frontend/src/metabase/modes/components/actions/PivotByAction.jsx @@ -62,7 +62,6 @@ export default (name: string, icon: string, fieldFilter: FieldFilter) => ({ breakoutOptions={breakoutOptions} onCommitBreakout={breakout => { const nextCard = question.pivot([breakout], dimensions).card(); - if (nextCard) { onChangeCardAndRun({ nextCard }); } diff --git a/frontend/src/metabase/query_builder/components/AggregationPopover.jsx b/frontend/src/metabase/query_builder/components/AggregationPopover.jsx index a834d1e479a..f1953b94c76 100644 --- a/frontend/src/metabase/query_builder/components/AggregationPopover.jsx +++ b/frontend/src/metabase/query_builder/components/AggregationPopover.jsx @@ -348,7 +348,7 @@ export default class AggregationPopover extends Component { <FieldList className={"text-green"} maxHeight={this.props.maxHeight - (this.state.headerHeight || 0)} - tableMetadata={tableMetadata} + table={tableMetadata} field={fieldId} fieldOptions={query.aggregationFieldOptions(agg)} customFieldOptions={customFields} diff --git a/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx b/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx index 341ad313385..11ebc48250a 100644 --- a/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx +++ b/frontend/src/metabase/query_builder/components/BreakoutPopover.jsx @@ -26,22 +26,29 @@ const BreakoutPopover = ({ onClose, maxHeight, alwaysExpanded, -}: Props) => ( - <FieldList - className="text-green" - maxHeight={maxHeight} - field={breakout} - fieldOptions={breakoutOptions || query.breakoutOptions()} - onFieldChange={field => { - onCommitBreakout(field); - if (onClose) { - onClose(); - } - }} - tableMetadata={query.tableMetadata()} - enableSubDimensions - alwaysExpanded={alwaysExpanded} - /> -); +}: Props) => { + const table = query.table(); + // FieldList requires table + if (!table) { + return null; + } + return ( + <FieldList + className="text-green" + maxHeight={maxHeight} + field={breakout} + fieldOptions={breakoutOptions || query.breakoutOptions()} + onFieldChange={field => { + onCommitBreakout(field); + if (onClose) { + onClose(); + } + }} + table={table} + enableSubDimensions + alwaysExpanded={alwaysExpanded} + /> + ); +}; export default BreakoutPopover; diff --git a/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx b/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx index 647ccabf2f6..5055b3aa4a4 100644 --- a/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx +++ b/frontend/src/metabase/query_builder/components/BreakoutWidget.jsx @@ -58,7 +58,7 @@ export default class BreakoutWidget extends Component { > <FieldList className={"text-green"} - tableMetadata={this.props.tableMetadata} + table={this.props.tableMetadata} field={this.props.field} fieldOptions={this.props.fieldOptions} customFieldOptions={this.props.customFieldOptions} diff --git a/frontend/src/metabase/query_builder/components/FieldList.jsx b/frontend/src/metabase/query_builder/components/FieldList.jsx index 325c4bf5e05..4fccc60588a 100644 --- a/frontend/src/metabase/query_builder/components/FieldList.jsx +++ b/frontend/src/metabase/query_builder/components/FieldList.jsx @@ -35,7 +35,7 @@ type Props = { // HACK: for segments onFilterChange?: (filter: any) => void, - tableMetadata: Table, + table: Table, alwaysExpanded?: boolean, enableSubDimensions?: boolean, @@ -61,13 +61,8 @@ export default class FieldList extends Component { } componentWillReceiveProps(newProps) { - let { - tableMetadata, - fieldOptions, - segmentOptions, - hideSectionHeader, - } = newProps; - let tableName = tableMetadata.display_name; + let { table, fieldOptions, segmentOptions, hideSectionHeader } = newProps; + let tableName = table.display_name; let specialOptions = []; if (segmentOptions) { @@ -110,11 +105,7 @@ export default class FieldList extends Component { }; renderItemExtra = item => { - const { - field, - enableSubDimensions, - tableMetadata: { metadata }, - } = this.props; + const { field, enableSubDimensions, table: { metadata } } = this.props; return ( <div className="Field-extra flex align-center"> @@ -167,7 +158,7 @@ export default class FieldList extends Component { }; renderSubDimensionTrigger(dimension) { - const { field, tableMetadata: { metadata } } = this.props; + const { field, table: { metadata } } = this.props; const subDimension = dimension.isSameBaseDimension(field) ? Dimension.parseMBQL(field, metadata) : dimension.defaultDimension(); @@ -181,16 +172,11 @@ export default class FieldList extends Component { } renderSegmentTooltip(segment) { - let { tableMetadata } = this.props; + let { table } = this.props; return ( <div className="p1"> <Tooltip - tooltip={ - <QueryDefinitionTooltip - object={segment} - tableMetadata={tableMetadata} - /> - } + tooltip={<QueryDefinitionTooltip object={segment} table={table} />} > <span className="QuestionTooltipTarget" /> </Tooltip> diff --git a/frontend/src/metabase/query_builder/components/FieldWidget.jsx b/frontend/src/metabase/query_builder/components/FieldWidget.jsx index f724c3795ce..8392c9e0fdb 100644 --- a/frontend/src/metabase/query_builder/components/FieldWidget.jsx +++ b/frontend/src/metabase/query_builder/components/FieldWidget.jsx @@ -56,7 +56,7 @@ export default class FieldWidget extends Component { <Popover ref="popover" className="FieldPopover" onClose={this.toggle}> <FieldList className={"text-" + this.props.color} - tableMetadata={this.props.tableMetadata} + table={this.props.tableMetadata} field={this.props.field} fieldOptions={this.props.fieldOptions} customFieldOptions={this.props.customFieldOptions} diff --git a/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx b/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx index 8b0fa84cc48..43f3466e563 100644 --- a/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx +++ b/frontend/src/metabase/query_builder/components/filters/FilterPopover.jsx @@ -319,7 +319,7 @@ export default class FilterPopover extends Component { field={fieldRef} fieldOptions={query.filterFieldOptions(filter)} segmentOptions={query.filterSegmentOptions(filter)} - tableMetadata={query.table()} + table={query.table()} onFieldChange={this.setField} onFilterChange={this.commitFilter} /> diff --git a/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js b/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js index 6617ceed2e1..598c042db6b 100644 --- a/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js +++ b/frontend/test/metabase/modes/components/actions/PivotByAction.unit.spec.js @@ -2,12 +2,7 @@ import React from "react"; -import { - question, - questionNoFields, - ORDERS_TABLE_ID, - ORDERS_CREATED_DATE_FIELD_ID, -} from "__support__/sample_dataset_fixture"; +import { question } from "__support__/sample_dataset_fixture"; import { mount } from "enzyme"; import { click } from "__support__/enzyme_utils"; diff --git a/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js b/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js index d36cf498f30..70aa5db39ec 100644 --- a/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js +++ b/frontend/test/metabase/query_builder/components/FieldList.e2e.spec.js @@ -32,7 +32,7 @@ import Filter from "metabase/query_builder/components/Filter"; const getFieldList = (query, fieldOptions, segmentOptions) => ( <FieldList - tableMetadata={query.tableMetadata()} + table={query.table()} fieldOptions={fieldOptions} segmentOptions={segmentOptions} customFieldOptions={query.expressions()} -- GitLab