UNPKG

react-awesome-query-builder

Version:

User-friendly query builder for React. Please migrate to new @react-awesome-query-builder/* See https://github.com/ukrbublik/react-awesome-query-builder#migration-to-600

43 lines (39 loc) 1.22 kB
import React from "react"; import Switch from "@material-ui/core/Switch"; import FormControlLabel from "@material-ui/core/FormControlLabel"; import IconButton from "@material-ui/core/IconButton"; import Button from "@material-ui/core/Button"; import LockOpenIcon from "@material-ui/icons/LockOpen"; import LockIcon from "@material-ui/icons/Lock"; export default ({value, setValue, label, checkedLabel, hideLabel, id, config, type}) => { const {renderSize} = config.settings; const onChange = e => setValue(e.target.checked); const onClick = () => setValue(!value); const postfix = type; const showLabel = value ? (checkedLabel || label) : label; const icon = value ? <LockIcon /> : <LockOpenIcon />; if (type == "lock") { if (hideLabel) { return <IconButton key={id+postfix} onClick={onClick} size={"small"} >{icon}</IconButton>; } else { return <Button key={id+postfix} onClick={onClick} size={"small"} startIcon={icon} >{showLabel}</Button>; } } return <FormControlLabel control={<Switch checked={!!value} size={"small"} onChange={onChange} />} label={showLabel} />; };