@bootstrap-styled/ra-ui
Version:
UI components for react-admin
102 lines (80 loc) • 3.88 kB
JavaScript
"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;