Skip to content
Snippets Groups Projects
Unverified Commit 4452329a authored by Gustavo Saiani's avatar Gustavo Saiani Committed by GitHub
Browse files

Add propTypes, remove Flow types from ParameterFieldWidget component (#17081)

parent 233f8fdb
Branches
Tags
No related merge requests found
import React, { Component } from "react";
import ReactDOM from "react-dom";
import PropTypes from "prop-types";
import { t, ngettext, msgid } from "ttag";
import _ from "underscore";
......@@ -9,11 +10,6 @@ import Popover from "metabase/components/Popover";
import Button from "metabase/components/Button";
import Value from "metabase/components/Value";
import Field from "metabase-lib/lib/metadata/Field";
import type { Parameter } from "metabase-types/types/Parameter";
import type { DashboardWithCards } from "metabase-types/types/Dashboard";
import type { FilterOperator } from "metabase-types/types/Metadata";
import cx from "classnames";
import {
getFilterArgumentFormatOptions,
......@@ -21,26 +17,17 @@ import {
isFuzzyOperator,
} from "metabase/lib/schema_metadata";
type Props = {
value: any,
setValue: () => void,
isEditing: boolean,
fields: Field[],
parentFocusChanged: boolean => void,
operator?: FilterOperator,
dashboard?: DashboardWithCards,
parameter?: Parameter,
parameters?: Parameter[],
placeholder?: string,
};
type State = {
value: any[],
isFocused: boolean,
widgetWidth: ?number,
const propTypes = {
dashboard: PropTypes.object,
fields: PropTypes.array.isRequired,
isEditing: PropTypes.bool.isRequired,
operator: PropTypes.object.isRequired,
parameter: PropTypes.object.isRequired,
parameters: PropTypes.array.isRequired,
parentFocusChanged: PropTypes.bool,
placeholder: PropTypes.string.isRequired,
setValue: PropTypes.func.isRequired,
value: PropTypes.string,
};
const BORDER_WIDTH = 1;
......@@ -48,14 +35,8 @@ const BORDER_WIDTH = 1;
const normalizeValue = value =>
Array.isArray(value) ? value : value != null ? [value] : [];
// TODO: rename this something else since we're using it for more than searching and more than text
export default class ParameterFieldWidget extends Component<*, Props, State> {
props: Props;
state: State;
_unfocusedElement: React.Component;
constructor(props: Props) {
export default class ParameterFieldWidget extends Component {
constructor(props) {
super(props);
this.state = {
isFocused: false,
......@@ -84,7 +65,7 @@ export default class ParameterFieldWidget extends Component<*, Props, State> {
}
}
UNSAFE_componentWillReceiveProps(nextProps: Props) {
UNSAFE_componentWillReceiveProps(nextProps) {
if (this.props.value !== nextProps.value) {
this.setState({ value: nextProps.value });
}
......@@ -216,3 +197,5 @@ export default class ParameterFieldWidget extends Component<*, Props, State> {
}
}
}
ParameterFieldWidget.propTypes = propTypes;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment