@bigfishtv/cockpit
Version:
62 lines (50 loc) • 1.63 kB
JavaScript
'use strict';
exports.__esModule = true;
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _reactRouterDom = require('react-router-dom');
var _Button = require('../button/Button');
var _Button2 = _interopRequireDefault(_Button);
var _Icon = require('../Icon');
var _Icon2 = _interopRequireDefault(_Icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function defaultLabelRenderer(value) {
return value.name || value.title || value.label || value.first_name;
}
var EntityLinkCell = function EntityLinkCell(_ref) {
var value = _ref.value,
model = _ref.model,
onChange = _ref.onChange,
_ref$labelRenderer = _ref.labelRenderer,
labelRenderer = _ref$labelRenderer === undefined ? defaultLabelRenderer : _ref$labelRenderer;
return _react2.default.createElement(
'div',
{ className: 'cell' },
_react2.default.createElement(
'div',
{ className: 'cell-icon' },
_react2.default.createElement(_Icon2.default, { name: 'link', size: '18' })
),
_react2.default.createElement(
'div',
{ className: 'cell-content' },
_react2.default.createElement(
_reactRouterDom.Link,
{ to: '/' + model + '/' + value.id },
labelRenderer(value)
)
),
_react2.default.createElement(
'div',
{ className: 'cell-control' },
_react2.default.createElement(
_Button2.default,
{ size: 'icon', onClick: function onClick() {
return onChange(null);
} },
_react2.default.createElement(_Icon2.default, { name: 'close', size: '18' })
)
)
);
};
exports.default = EntityLinkCell;