UNPKG

react-planner-viewer

Version:

react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode

157 lines (137 loc) 13.6 kB
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } import React, { Component } from 'react'; import PropTypes from 'prop-types'; import { ContentTitle, ContentContainer, FormLabel, FormBlock, FormNumberInput, FormSubmitButton, CancelButton } from '../style/export'; var ProjectConfigurator = function (_Component) { _inherits(ProjectConfigurator, _Component); function ProjectConfigurator(props, context) { _classCallCheck(this, ProjectConfigurator); var _this = _possibleConstructorReturn(this, (ProjectConfigurator.__proto__ || Object.getPrototypeOf(ProjectConfigurator)).call(this, props, context)); var scene = props.state.scene; _this.state = { dataWidth: scene.width, dataHeight: scene.height }; return _this; } _createClass(ProjectConfigurator, [{ key: 'onSubmit', value: function onSubmit(event) { event.preventDefault(); var projectActions = this.context.projectActions; var _state = this.state, dataWidth = _state.dataWidth, dataHeight = _state.dataHeight; dataWidth = parseInt(dataWidth); dataHeight = parseInt(dataHeight); if (dataWidth <= 100 || dataHeight <= 100) { alert('Scene size too small'); } else { projectActions.setProjectProperties({ width: dataWidth, height: dataHeight }); } } }, { key: 'render', value: function render() { var _this2 = this; var _props = this.props, width = _props.width, height = _props.height; var _state2 = this.state, dataWidth = _state2.dataWidth, dataHeight = _state2.dataHeight; var _context = this.context, projectActions = _context.projectActions, translator = _context.translator; return React.createElement( ContentContainer, { width: width, height: height }, React.createElement( ContentTitle, null, translator.t('Project config') ), React.createElement( 'form', { onSubmit: function onSubmit(e) { return _this2.onSubmit(e); } }, React.createElement( FormBlock, null, React.createElement( FormLabel, { htmlFor: 'width' }, translator.t('width') ), React.createElement(FormNumberInput, { id: 'width', placeholder: 'width', value: dataWidth, onChange: function onChange(e) { return _this2.setState({ dataWidth: e.target.value }); } }) ), React.createElement( FormBlock, null, React.createElement( FormLabel, { htmlFor: 'height' }, translator.t('height') ), React.createElement(FormNumberInput, { id: 'height', placeholder: 'height', value: dataHeight, onChange: function onChange(e) { return _this2.setState({ dataHeight: e.target.value }); } }) ), React.createElement( 'table', { style: { float: 'right' } }, React.createElement( 'tbody', null, React.createElement( 'tr', null, React.createElement( 'td', null, React.createElement( CancelButton, { size: 'large', onClick: function onClick(e) { return projectActions.rollback(); } }, translator.t('Cancel') ) ), React.createElement( 'td', null, React.createElement( FormSubmitButton, { size: 'large' }, translator.t('Save') ) ) ) ) ) ) ); } }]); return ProjectConfigurator; }(Component); export default ProjectConfigurator; ProjectConfigurator.propTypes = { width: PropTypes.number.isRequired, height: PropTypes.number.isRequired, state: PropTypes.object.isRequired }; ProjectConfigurator.contextTypes = { projectActions: PropTypes.object.isRequired, translator: PropTypes.object.isRequired }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbmZpZ3VyYXRvci9wcm9qZWN0LWNvbmZpZ3VyYXRvci5qc3giXSwibmFtZXMiOlsiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJDb250ZW50VGl0bGUiLCJDb250ZW50Q29udGFpbmVyIiwiRm9ybUxhYmVsIiwiRm9ybUJsb2NrIiwiRm9ybU51bWJlcklucHV0IiwiRm9ybVN1Ym1pdEJ1dHRvbiIsIkNhbmNlbEJ1dHRvbiIsIlByb2plY3RDb25maWd1cmF0b3IiLCJwcm9wcyIsImNvbnRleHQiLCJzY2VuZSIsInN0YXRlIiwiZGF0YVdpZHRoIiwid2lkdGgiLCJkYXRhSGVpZ2h0IiwiaGVpZ2h0IiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInByb2plY3RBY3Rpb25zIiwicGFyc2VJbnQiLCJhbGVydCIsInNldFByb2plY3RQcm9wZXJ0aWVzIiwidHJhbnNsYXRvciIsInQiLCJvblN1Ym1pdCIsImUiLCJzZXRTdGF0ZSIsInRhcmdldCIsInZhbHVlIiwiZmxvYXQiLCJyb2xsYmFjayIsInByb3BUeXBlcyIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJvYmplY3QiLCJjb250ZXh0VHlwZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsT0FBT0EsS0FBUCxJQUFlQyxTQUFmLFFBQStCLE9BQS9CO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLFNBQ0VDLFlBREYsRUFFRUMsZ0JBRkYsRUFHRUMsU0FIRixFQUlFQyxTQUpGLEVBS0VDLGVBTEYsRUFNRUMsZ0JBTkYsRUFPRUMsWUFQRixRQVFPLGlCQVJQOztJQVVxQkMsbUI7OztBQUVuQiwrQkFBWUMsS0FBWixFQUFtQkMsT0FBbkIsRUFBNEI7QUFBQTs7QUFBQSwwSUFDcEJELEtBRG9CLEVBQ2JDLE9BRGE7O0FBRzFCLFFBQUlDLFFBQVFGLE1BQU1HLEtBQU4sQ0FBWUQsS0FBeEI7O0FBRUEsVUFBS0MsS0FBTCxHQUFhO0FBQ1hDLGlC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QXNFckJBLG9CQUFvQndCLFNBQXBCLEdBQWdDO0FBQzlCbEIsU0FBT2QsVUFBVWlDLE1BQVYsQ0FBaUJDLFVBRE07QUFFOUJsQixVQUFRaEIsVUFBVWlDLE1BQVYsQ0FBaUJDLFVBRks7QUFHOUJ0QixTQUFPWixVQUFVbUMsTUFBVixDQUFpQkQ7QUFITSxDQUFoQzs7QUFNQTFCLG9CQUFvQjRCLFlBQXBCLEdBQW1DO0FBQ2pDakIsa0JBQWdCbkIsVUFBVW1DLE1BQVYsQ0FBaUJELFVBREE7QUFFakNYLGNBQVl2QixVQUFVbUMsTUFBVixDQUFpQkQ7QUFGSSxDQUFuQyIsImZpbGUiOiJwcm9qZWN0LWNvbmZpZ3VyYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7XG4gIENvbnRlbnRUaXRsZSxcbiAgQ29udGVudENvbnRhaW5lcixcbiAgRm9ybUxhYmVsLFxuICBGb3JtQmxvY2ssXG4gIEZvcm1OdW1iZXJJbnB1dCxcbiAgRm9ybVN1Ym1pdEJ1dHRvbixcbiAgQ2FuY2VsQnV0dG9uXG59IGZyb20gJy4uL3N0eWxlL2V4cG9ydCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByb2plY3RDb25maWd1cmF0b3IgZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzLCBjb250ZXh0KSB7XG4gICAgc3VwZXIocHJvcHMsIGNvbnRleHQpO1xuXG4gICAgbGV0IHNjZW5lID0gcHJvcHMuc3RhdGUuc2NlbmU7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZGF0YVdpZHRoOiBzY2VuZS53aWR0aCxcbiAgICAgIGRhdGFIZWlnaHQ6IHNjZW5lLmhlaWdodCxcbiAgICB9O1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgbGV0IHtwcm9qZWN0QWN0aW9uc30gPSB0aGlzLmNvbnRleHQ7XG5cbiAgICBsZXQge2RhdGFXaWR0aCwgZGF0YUhlaWdodH0gPSB0aGlzLnN0YXRlO1xuICAgIGRhdGFXaWR0aCA9IHBhcnNlSW50KGRhdGFXaWR0aCk7XG4gICAgZGF0YUhlaWdodCA9IHBhcnNlSW50KGRhdGFIZWlnaHQpO1xuICAgIGlmIChkYXRhV2lkdGggPD0gMTAwIHx8IGRhdGFIZWlnaHQgPD0gMTAwKSB7XG4gICAgICBhbGVydCgnU2NlbmUgc2l6ZSB0b28gc21hbGwnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJvamVjdEFjdGlvbnMuc2V0UHJvamVjdFByb3BlcnRpZXMoe3dpZHRoOiBkYXRhV2lkdGgsIGhlaWdodDogZGF0YUhlaWdodH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgcmVuZGVyKCkge1xuICAgIGxldCB7d2lkdGgsIGhlaWdodH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCB7ZGF0YVdpZHRoLCBkYXRhSGVpZ2h0fSA9IHRoaXMuc3RhdGU7XG4gICAgbGV0IHtwcm9qZWN0QWN0aW9ucywgdHJhbnNsYXRvcn0gPSB0aGlzLmNvbnRleHQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbnRlbnRDb250YWluZXIgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0+XG4gICAgICAgIDxDb250ZW50VGl0bGU+e3RyYW5zbGF0b3IudCgnUHJvamVjdCBjb25maWcnKX08L0NvbnRlbnRUaXRsZT5cblxuICAgICAgICA8Zm9ybSBvblN1Ym1pdD17ZSA9PiB0aGlzLm9uU3VibWl0KGUpfT5cbiAgICAgICAgICA8Rm9ybUJsb2NrPlxuICAgICAgICAgICAgPEZvcm1MYWJlbCBodG1sRm9yPSd3aWR0aCc+e3RyYW5zbGF0b3IudCgnd2lkdGgnKX08L0Zvcm1MYWJlbD5cbiAgICAgICAgICAgIDxGb3JtTnVtYmVySW5wdXQgaWQ9J3dpZHRoJyBwbGFjZWhvbGRlcj0nd2lkdGgnIHZhbHVlPXtkYXRhV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuc2V0U3RhdGUoe2RhdGFXaWR0aDogZS50YXJnZXQudmFsdWV9KX0vPlxuICAgICAgICAgIDwvRm9ybUJsb2NrPlxuXG4gICAgICAgICAgPEZvcm1CbG9jaz5cbiAgICAgICAgICAgIDxGb3JtTGFiZWwgaHRtbEZvcj0naGVpZ2h0Jz57dHJhbnNsYXRvci50KCdoZWlnaHQnKX08L0Zvcm1MYWJlbD5cbiAgICAgICAgICAgIDxGb3JtTnVtYmVySW5wdXQgaWQ9J2hlaWdodCcgcGxhY2Vob2xkZXI9J2hlaWdodCcgdmFsdWU9e2RhdGFIZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuc2V0U3RhdGUoe2RhdGFIZWlnaHQ6IGUudGFyZ2V0LnZhbHVlfSl9Lz5cbiAgICAgICAgICA8L0Zvcm1CbG9jaz5cblxuICAgICAgICAgIDx0YWJsZSBzdHlsZT17e2Zsb2F0OiAncmlnaHQnfX0+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIHNpemU9J2xhcmdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBwcm9qZWN0QWN0aW9ucy5yb2xsYmFjaygpfT57dHJhbnNsYXRvci50KCdDYW5jZWwnKX08L0NhbmNlbEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgIDxGb3JtU3VibWl0QnV0dG9uIHNpemU9J2xhcmdlJz57dHJhbnNsYXRvci50KCdTYXZlJyl9PC9Gb3JtU3VibWl0QnV0dG9uPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgPC9Db250ZW50Q29udGFpbmVyPlxuICAgIClcbiAgfVxufVxuXG5Qcm9qZWN0Q29uZmlndXJhdG9yLnByb3BUeXBlcyA9IHtcbiAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgaGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG59O1xuXG5Qcm9qZWN0Q29uZmlndXJhdG9yLmNvbnRleHRUeXBlcyA9IHtcbiAgcHJvamVjdEFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgdHJhbnNsYXRvcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxufTtcbiJdfQ==