UNPKG

@bootstrap-styled/ra-ui

Version:
102 lines (80 loc) 3.88 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.BooleanField = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _get = _interopRequireDefault(require("lodash/get")); var _pure = _interopRequireDefault(require("recompose/pure")); var _Clear = _interopRequireDefault(require("@material-ui/icons/Clear")); var _Done = _interopRequireDefault(require("@material-ui/icons/Done")); var _compose = _interopRequireDefault(require("recompose/compose")); var _raCore = require("ra-core"); var _styledComponents = _interopRequireDefault(require("styled-components")); var _sanitizeRestProps = _interopRequireDefault(require("./sanitizeRestProps")); var BooleanTypography = _styledComponents.default.div.withConfig({ displayName: "BooleanField__BooleanTypography", componentId: "s0ifr8-0" })(["color:rgba(0,0,0,0.87);font-size:0.875rem;font-weight:400;line-height:1.46429em;"]); var BooleanFieldLabel = _styledComponents.default.span.withConfig({ displayName: "BooleanField__BooleanFieldLabel", componentId: "s0ifr8-1" })(["position:absolute;height:1;width:1;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;"]); var BooleanField = function BooleanField(_ref) { var className = _ref.className, classes = _ref.classes, source = _ref.source, _ref$record = _ref.record, record = _ref$record === void 0 ? {} : _ref$record, translate = _ref.translate, valueLabelTrue = _ref.valueLabelTrue, valueLabelFalse = _ref.valueLabelFalse, rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "classes", "source", "record", "translate", "valueLabelTrue", "valueLabelFalse"]); var value = (0, _get.default)(record, source); var ariaLabel = value ? valueLabelTrue : valueLabelFalse; if (!ariaLabel) { ariaLabel = value === false ? translate('ra.boolean.false') : translate('ra.boolean.true'); } if (value === false) { return _react.default.createElement(BooleanTypography, (0, _extends2.default)({ className: className }, (0, _sanitizeRestProps.default)(rest)), _react.default.createElement(BooleanFieldLabel, null, ariaLabel), _react.default.createElement(_Clear.default, null)); } if (value === true) { return _react.default.createElement(BooleanTypography, (0, _extends2.default)({ className: className }, (0, _sanitizeRestProps.default)(rest)), _react.default.createElement(BooleanFieldLabel, null, ariaLabel), _react.default.createElement(_Done.default, null)); } return _react.default.createElement(BooleanTypography, (0, _extends2.default)({ className: className }, (0, _sanitizeRestProps.default)(rest))); }; exports.BooleanField = BooleanField; BooleanField.propTypes = { addLabel: _propTypes.default.bool, basePath: _propTypes.default.string, className: _propTypes.default.string, cellClassName: _propTypes.default.string, headerClassName: _propTypes.default.string, label: _propTypes.default.string, record: _propTypes.default.object, sortBy: _propTypes.default.string, source: _propTypes.default.string.isRequired, valueLabelTrue: _propTypes.default.string, valueLabelFalse: _propTypes.default.string }; BooleanField.defaultProps = { translate: function translate(x) { return x; } }; var PureBooleanField = (0, _compose.default)(_pure.default, _raCore.translate)(BooleanField); PureBooleanField.defaultProps = { addLabel: true }; var _default = PureBooleanField; exports.default = _default;