UNPKG

@bigfishtv/cockpit

Version:

62 lines (50 loc) 1.63 kB
'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;