UNPKG

react-admin-ui

Version:

React Admin Panel based on material-ui interface Edit

147 lines (108 loc) 5.33 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; 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 _dec, _class; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _lib = require('../lib'); var _utils = require('../utils'); var _materialUi = require('material-ui'); var _assignmentReturn = require('material-ui/svg-icons/action/assignment-return'); var _assignmentReturn2 = _interopRequireDefault(_assignmentReturn); var _EntityForm = require('../components/Sections/Content/EntityForm'); var _EntityForm2 = _interopRequireDefault(_EntityForm); var _qs = require('qs'); var _qs2 = _interopRequireDefault(_qs); var _reactIsomorphicTools = require('react-isomorphic-tools'); var _reactRedux = require('react-redux'); var _actions = require('../actions'); var _Sections = require('../components/Sections'); var _validate = require('../validate'); var _validate2 = _interopRequireDefault(_validate); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Edit = (_dec = (0, _reactRedux.connect)(function (state, props) { return { show: state.fetchData[props.match.params.name + 'Show'].response }; }), _dec(_class = function (_React$Component) { (0, _inherits3.default)(Edit, _React$Component); function Edit() { var _ref; var _temp, _this, _ret; (0, _classCallCheck3.default)(this, Edit); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = (0, _possibleConstructorReturn3.default)(this, (_ref = Edit.__proto__ || (0, _getPrototypeOf2.default)(Edit)).call.apply(_ref, [this].concat(args))), _this), _this.getInitialValues = function (initFields) { var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _this.props.show; var values = {}; for (var i in initFields) { if (initFields.hasOwnProperty(i)) { var name = initFields[i]; var deepName = name.split('.'); values[deepName[deepName.length - 1]] = (0, _utils.showField)(name, data); } } return values; }, _temp), (0, _possibleConstructorReturn3.default)(_this, _ret); } (0, _createClass3.default)(Edit, [{ key: 'render', value: function render() { var entity = (0, _lib.getEntity)(this.props.match.params.name); var _entity$actions$edit = entity.actions.edit, initFields = _entity$actions$edit.initFields, fields = _entity$actions$edit.fields; var prefix = (0, _lib.getPrefix)(); var query = _qs2.default.parse(this.props.location.search, { ignoreQueryPrefix: true }); return _react2.default.createElement( 'div', null, _react2.default.createElement( _Sections.HeaderWrapper, null, _react2.default.createElement( _materialUi.Chip, null, '#', this.props.match.params.id ), _react2.default.createElement(_materialUi.FlatButton, { icon: _react2.default.createElement(_assignmentReturn2.default, null), label: 'Back to list', containerElement: _react2.default.createElement(_reactIsomorphicTools.Link, { to: { pathname: prefix + '/' + entity.name, query: query } }) }) ), _react2.default.createElement(_materialUi.Divider, null), _react2.default.createElement(_EntityForm2.default, { onSubmit: _actions.handleEdit, onSubmitSuccess: _actions.handleEditSuccess, onSubmitFail: _actions.handleEditFail, initialValues: this.getInitialValues(initFields), entity: entity, form: entity.name, submitLabel: 'Save', query: query, params: this.props.match.params, prefix: prefix, fields: fields, validate: _validate2.default }) ); } }]); return Edit; }(_react2.default.Component)) || _class); exports.default = Edit;