import { map } from "lodash"; import React from "react"; import PropTypes from "prop-types"; import Tooltip from "antd/lib/tooltip"; import Button from "antd/lib/button"; import Select from "antd/lib/select"; import AutocompleteToggle from "./AutocompleteToggle"; import "./QueryEditorControls.less"; export default function EditorControl({ addParameterButtonProps, formatButtonProps, saveButtonProps, executeButtonProps, autocompleteToggleProps, dataSourceSelectorProps, }) { return (
{addParameterButtonProps !== false && ( )} {formatButtonProps !== false && ( )} {autocompleteToggleProps !== false && ( )} {dataSourceSelectorProps === false && } {dataSourceSelectorProps !== false && ( )} {saveButtonProps !== false && ( )} {executeButtonProps !== false && ( )}
); } const ButtonPropsPropType = PropTypes.oneOfType([ PropTypes.bool, // `false` to hide button PropTypes.shape({ title: PropTypes.node, disabled: PropTypes.bool, onClick: PropTypes.func, text: PropTypes.node, }), ]); EditorControl.propTypes = { addParameterButtonProps: ButtonPropsPropType, formatButtonProps: ButtonPropsPropType, saveButtonProps: ButtonPropsPropType, executeButtonProps: ButtonPropsPropType, autocompleteToggleProps: PropTypes.oneOfType([ PropTypes.bool, // `false` to hide PropTypes.shape({ available: PropTypes.bool, enabled: PropTypes.bool, onToggle: PropTypes.func, }), ]), dataSourceSelectorProps: PropTypes.oneOfType([ PropTypes.bool, // `false` to hide PropTypes.shape({ disabled: PropTypes.bool, value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), options: PropTypes.arrayOf( PropTypes.shape({ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), label: PropTypes.node, }) ), onChange: PropTypes.func, }), ]), }; EditorControl.defaultProps = { addParameterButtonProps: false, formatButtonProps: false, saveButtonProps: false, executeButtonProps: false, autocompleteToggleProps: false, dataSourceSelectorProps: false, };