@bootstrap-styled/ra-ui
Version:
UI components for react-admin
87 lines (70 loc) • 3.08 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.FileField = 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 _classnames = _interopRequireDefault(require("classnames"));
var _Ul = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Ul"));
var _Li = _interopRequireDefault(require("@bootstrap-styled/v4/lib/Li"));
var _A = _interopRequireDefault(require("@bootstrap-styled/v4/lib/A"));
var _sanitizeRestProps = _interopRequireDefault(require("./sanitizeRestProps"));
var FileField = function FileField(_ref) {
var className = _ref.className,
record = _ref.record,
source = _ref.source,
title = _ref.title,
src = _ref.src,
target = _ref.target,
rest = (0, _objectWithoutProperties2.default)(_ref, ["className", "record", "source", "title", "src", "target"]);
var sourceValue = (0, _get.default)(record, source);
if (!sourceValue) {
return _react.default.createElement("div", (0, _extends2.default)({
className: className
}, (0, _sanitizeRestProps.default)(rest)));
}
if (Array.isArray(sourceValue)) {
return _react.default.createElement(_Ul.default, (0, _extends2.default)({
className: (0, _classnames.default)('d-inline-block', className)
}, (0, _sanitizeRestProps.default)(rest)), sourceValue.map(function (file, index) {
var titleValue = (0, _get.default)(file, title) || title;
var srcValue = (0, _get.default)(file, src) || title;
return _react.default.createElement(_Li.default, {
key: index
}, _react.default.createElement(_A.default, {
href: srcValue,
title: titleValue,
target: target
}, titleValue));
}));
}
var titleValue = (0, _get.default)(record, title) || title;
return _react.default.createElement("div", (0, _extends2.default)({
className: (0, _classnames.default)('d-inline-block', className)
}, (0, _sanitizeRestProps.default)(rest)), _react.default.createElement(_A.default, {
href: sourceValue,
title: titleValue,
target: target
}, titleValue));
};
exports.FileField = FileField;
FileField.propTypes = {
addLabel: _propTypes.default.bool,
basePath: _propTypes.default.string,
className: _propTypes.default.string,
cellClassName: _propTypes.default.string,
headerClassName: _propTypes.default.string,
record: _propTypes.default.object,
sortBy: _propTypes.default.string,
source: _propTypes.default.string.isRequired,
src: _propTypes.default.string,
title: _propTypes.default.string,
target: _propTypes.default.string
};
var _default = FileField;
exports.default = _default;