UNPKG

react-admin-ui

Version:

React Admin Panel based on material-ui interface Edit

184 lines (141 loc) 7.97 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _taggedTemplateLiteral2 = require('babel-runtime/helpers/taggedTemplateLiteral'); var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _templateObject = (0, _taggedTemplateLiteral3.default)(['\n float: right;\n > a {\n margin-left: .5rem;\n }\n'], ['\n float: right;\n > a {\n margin-left: .5rem;\n }\n']); // import Delete from 'material-ui/svg-icons/content/delete-sweep' var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _materialUi = require('material-ui'); var _lib = require('../../../../lib'); var _utils = require('../../../../utils'); var _Header = require('./Header'); var _Header2 = _interopRequireDefault(_Header); var _RelationsBody = require('./RelationsBody'); var _RelationsBody2 = _interopRequireDefault(_RelationsBody); var _chevronRight = require('material-ui/svg-icons/navigation/chevron-right'); var _chevronRight2 = _interopRequireDefault(_chevronRight); var _edit = require('material-ui/svg-icons/image/edit'); var _edit2 = _interopRequireDefault(_edit); var _reactIsomorphicTools = require('react-isomorphic-tools'); var _styledComponents = require('styled-components'); var _styledComponents2 = _interopRequireDefault(_styledComponents); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Items = function (_React$Component) { (0, _inherits3.default)(Items, _React$Component); function Items() { (0, _classCallCheck3.default)(this, Items); return (0, _possibleConstructorReturn3.default)(this, (Items.__proto__ || (0, _getPrototypeOf2.default)(Items)).apply(this, arguments)); } (0, _createClass3.default)(Items, [{ key: 'render', value: function render() { var _props = this.props, _props$entity = _props.entity, _props$entity$id = _props$entity.id, id = _props$entity$id === undefined ? 'id' : _props$entity$id, name = _props$entity.name, _props$entity$actions = _props$entity.actions, _props$entity$actions2 = _props$entity$actions.list, fields = _props$entity$actions2.fields, hasMany = _props$entity$actions2.hasMany, create = _props$entity$actions.create, edit = _props$entity$actions.edit, show = _props$entity$actions.show, query = _props.query, items = _props.items, entityData = _props.entityData; var prefix = (0, _lib.getPrefix)(name) + '/' + name; var widgets = (0, _lib.getWidgets)(); return _react2.default.createElement( _materialUi.Table, { fixedHeader: true, fixedFooter: false, selectable: false, multiSelectable: false }, _react2.default.createElement( _materialUi.TableHeader, { adjustForCheckbox: false, displaySelectAll: false }, _react2.default.createElement(_Header2.default, { fields: fields, hasMany: hasMany, create: create, query: query, prefix: prefix }) ), _react2.default.createElement( _materialUi.TableBody, { displayRowCheckbox: false, deselectOnClickaway: false, showRowHover: true, stripedRows: false }, items.map(function (item, key) { return _react2.default.createElement( _materialUi.TableRow, { key: key, hoverable: true }, fields.map(function (field, key) { var Component = field.component; if (typeof Component == 'string') { var widget = (0, _utils.showField)(Component, widgets); if (widget) { Component = widget; field.id = '__' + item.name; } } return _react2.default.createElement( _materialUi.TableRowColumn, { style: field.style || {}, key: key }, Component ? _react2.default.createElement(Component, (0, _extends3.default)({ data: (0, _utils.showField)(field.name, item), item: item, entityData: entityData }, field)) : (0, _utils.showField)(field.name, item) ); }), _react2.default.createElement(_RelationsBody2.default, { entityName: name, item: item, hasMany: hasMany, id: id, query: query }), _react2.default.createElement( _materialUi.TableRowColumn, null, _react2.default.createElement( StyledListControls, null, edit && show && _react2.default.createElement( _reactIsomorphicTools.Link, { to: { pathname: prefix + '/' + (0, _utils.showField)(id, item) + '/edit', query: (0, _extends3.default)({}, query, { page: undefined }) } }, _react2.default.createElement(_edit2.default, null) ), show && _react2.default.createElement( _reactIsomorphicTools.Link, { to: { pathname: prefix + '/' + (0, _utils.showField)(id, item), query: (0, _extends3.default)({}, query, { page: undefined }) } }, _react2.default.createElement(_chevronRight2.default, null) ) ) ) ); }) ) ); } }]); return Items; }(_react2.default.Component); exports.default = Items; var StyledListControls = _styledComponents2.default.div(_templateObject);