react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
171 lines (144 loc) • 13.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
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; }; }();
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _export = require('../style/export');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; }
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 _react2.default.createElement(
_export.ContentContainer,
{ width: width, height: height },
_react2.default.createElement(
_export.ContentTitle,
null,
translator.t('Project config')
),
_react2.default.createElement(
'form',
{ onSubmit: function onSubmit(e) {
return _this2.onSubmit(e);
} },
_react2.default.createElement(
_export.FormBlock,
null,
_react2.default.createElement(
_export.FormLabel,
{ htmlFor: 'width' },
translator.t('width')
),
_react2.default.createElement(_export.FormNumberInput, { id: 'width', placeholder: 'width', value: dataWidth,
onChange: function onChange(e) {
return _this2.setState({ dataWidth: e.target.value });
} })
),
_react2.default.createElement(
_export.FormBlock,
null,
_react2.default.createElement(
_export.FormLabel,
{ htmlFor: 'height' },
translator.t('height')
),
_react2.default.createElement(_export.FormNumberInput, { id: 'height', placeholder: 'height', value: dataHeight,
onChange: function onChange(e) {
return _this2.setState({ dataHeight: e.target.value });
} })
),
_react2.default.createElement(
'table',
{ style: { float: 'right' } },
_react2.default.createElement(
'tbody',
null,
_react2.default.createElement(
'tr',
null,
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
_export.CancelButton,
{ size: 'large',
onClick: function onClick(e) {
return projectActions.rollback();
} },
translator.t('Cancel')
)
),
_react2.default.createElement(
'td',
null,
_react2.default.createElement(
_export.FormSubmitButton,
{ size: 'large' },
translator.t('Save')
)
)
)
)
)
)
);
}
}]);
return ProjectConfigurator;
}(_react.Component);
exports.default = ProjectConfigurator;
ProjectConfigurator.propTypes = {
width: _propTypes2.default.number.isRequired,
height: _propTypes2.default.number.isRequired,
state: _propTypes2.default.object.isRequired
};
ProjectConfigurator.contextTypes = {
projectActions: _propTypes2.default.object.isRequired,
translator: _propTypes2.default.object.isRequired
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2NvbmZpZ3VyYXRvci9wcm9qZWN0LWNvbmZpZ3VyYXRvci5qc3giXSwibmFtZXMiOlsiUHJvamVjdENvbmZpZ3VyYXRvciIsInByb3BzIiwiY29udGV4dCIsInNjZW5lIiwic3RhdGUiLCJkYXRhV2lkdGgiLCJ3aWR0aCIsImRhdGFIZWlnaHQiLCJoZWlnaHQiLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwicHJvamVjdEFjdGlvbnMiLCJwYXJzZUludCIsImFsZXJ0Iiwic2V0UHJvamVjdFByb3BlcnRpZXMiLCJ0cmFuc2xhdG9yIiwidCIsIm9uU3VibWl0IiwiZSIsInNldFN0YXRlIiwidGFyZ2V0IiwidmFsdWUiLCJmbG9hdCIsInJvbGxiYWNrIiwicHJvcFR5cGVzIiwibnVtYmVyIiwiaXNSZXF1aXJlZCIsIm9iamVjdCIsImNvbnRleHRUeXBlcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7OztBQUNBOzs7O0FBQ0E7Ozs7Ozs7Ozs7SUFVcUJBLG1COzs7QUFFbkIsK0JBQVlDLEtBQVosRUFBbUJDLE9BQW5CLEVBQTRCO0FBQUE7O0FBQUEsMElBQ3BCRCxLQURvQixFQUNiQyxPQURhOztBQUcxQixRQUFJQyxRQUFRRixNQUFNRyxLQUFOLENBQVlELEtBQXhCOztBQUVBLFVBQUtDLEtBQUwsR0FBYTtBQUNYQyxpQkFBV0YsTUFBTUcsS0FETjtBQUVYQyxrQkFBWUosTUFBTUs7QUFGUCxLQUFiO0FBTDBCO0FBUzNCOzs7OzZCQUVRQyxLLEVBQU87QUFDZEEsWUFBTUMsY0FBTjs7QUFEYyxVQUdUQyxjQUhTLEdBR1MsS0FBS1QsT0FIZCxDQUdUUyxjQUhTO0FBQUEsbUJBS2dCLEtBQUtQLEtBTHJCO0FBQUEsVUFLVEMsU0FMUyxVQUtUQSxTQUxTO0FBQUEsVUFLRUUsVUFMRixVQUtFQSxVQUxGOztBQU1kRixrQkFBWU8sU0FBU1AsU0FBVCxDQUFaO0FBQ0FFLG1CQUFhSyxTQUFTTCxVQUFULENBQWI7QUFDQSxVQUFJRixhQUFhLEdBQWIsSUFBb0JFLGNBQWMsR0FBdEMsRUFBMkM7QUFDekNNLGNBQU0sc0JBQU47QUFDRCxPQUZELE1BRU87QUFDTEYsdUJBQWVHLG9CQUFmLENBQW9DLEVBQUNSLE9BQU9ELFNBQVIsRUFBbUJHLFFBQVFELFVBQTNCLEVBQXBDO0FBQ0Q7QUFDRjs7OzZCQUdRO0FBQUE7O0FBQUEsbUJBQ2UsS0FBS04sS0FEcEI7QUFBQSxVQUNGSyxLQURFLFVBQ0ZBLEtBREU7QUFBQSxVQUNLRSxNQURMLFVBQ0tBLE1BREw7QUFBQSxvQkFFdUIsS0FBS0osS0FGNUI7QUFBQSxVQUVGQyxTQUZFLFdBRUZBLFNBRkU7QUFBQSxVQUVTRSxVQUZULFdBRVNBLFVBRlQ7QUFBQSxxQkFHNEIsS0FBS0wsT0FIakM7QUFBQSxVQUdGUyxjQUhFLFlBR0ZBLGNBSEU7QUFBQSxVQUdjSSxVQUhkLFlBR2NBLFVBSGQ7OztBQUtQLGFBQ0U7QUFBQTtBQUFBLFVBQWtCLE9BQU9ULEtBQXpCLEVBQWdDLFFBQVFFLE1BQXhDO0FBQ0U7QUFBQTtBQUFBO0FBQWVPLHFCQUFXQyxDQUFYLENBQWEsZ0JBQWI7QUFBZixTQURGO0FBR0U7QUFBQTtBQUFBLFlBQU0sVUFBVTtBQUFBLHFCQUFLLE9BQUtDLFFBQUwsQ0FBY0MsQ0FBZCxDQUFMO0FBQUEsYUFBaEI7QUFDRTtBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUEsZ0JBQVcsU0FBUSxPQUFuQjtBQUE0QkgseUJBQVdDLENBQVgsQ0FBYSxPQUFiO0FBQTVCLGFBREY7QUFFRSxxRUFBaUIsSUFBRyxPQUFwQixFQUE0QixhQUFZLE9BQXhDLEVBQWdELE9BQU9YLFNBQXZEO0FBQ2lCLHdCQUFVO0FBQUEsdUJBQUssT0FBS2MsUUFBTCxDQUFjLEVBQUNkLFdBQVdhLEVBQUVFLE1BQUYsQ0FBU0MsS0FBckIsRUFBZCxDQUFMO0FBQUEsZUFEM0I7QUFGRixXQURGO0FBT0U7QUFBQTtBQUFBO0FBQ0U7QUFBQTtBQUFBLGdCQUFXLFNBQVEsUUFBbkI7QUFBNkJOLHlCQUFXQyxDQUFYLENBQWEsUUFBYjtBQUE3QixhQURGO0FBRUUscUVBQWlCLElBQUcsUUFBcEIsRUFBNkIsYUFBWSxRQUF6QyxFQUFrRCxPQUFPVCxVQUF6RDtBQUNpQix3QkFBVTtBQUFBLHVCQUFLLE9BQUtZLFFBQUwsQ0FBYyxFQUFDWixZQUFZVyxFQUFFRSxNQUFGLENBQVNDLEtBQXRCLEVBQWQsQ0FBTDtBQUFBLGVBRDNCO0FBRkYsV0FQRjtBQWFFO0FBQUE7QUFBQSxjQUFPLE9BQU8sRUFBQ0MsT0FBTyxPQUFSLEVBQWQ7QUFDRTtBQUFBO0FBQUE7QUFDQTtBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUEsc0JBQWMsTUFBSyxPQUFuQjtBQUNjLCtCQUFTO0FBQUEsK0JBQUtYLGVBQWVZLFFBQWYsRUFBTDtBQUFBLHVCQUR2QjtBQUN3RFIsK0JBQVdDLENBQVgsQ0FBYSxRQUFiO0FBRHhEO0FBREYsaUJBREY7QUFLRTtBQUFBO0FBQUE7QUFDRTtBQUFBO0FBQUEsc0JBQWtCLE1BQUssT0FBdkI7QUFBZ0NELCtCQUFXQyxDQUFYLENBQWEsTUFBYjtBQUFoQztBQURGO0FBTEY7QUFEQTtBQURGO0FBYkY7QUFIRixPQURGO0FBaUNEOzs7Ozs7a0JBbkVrQmhCLG1COzs7QUFzRXJCQSxvQkFBb0J3QixTQUFwQixHQUFnQztBQUM5QmxCLFNBQU8sb0JBQVVtQixNQUFWLENBQWlCQyxVQURNO0FBRTlCbEIsVUFBUSxvQkFBVWlCLE1BQVYsQ0FBaUJDLFVBRks7QUFHOUJ0QixTQUFPLG9CQUFVdUIsTUFBVixDQUFpQkQ7QUFITSxDQUFoQzs7QUFNQTFCLG9CQUFvQjRCLFlBQXBCLEdBQW1DO0FBQ2pDakIsa0JBQWdCLG9CQUFVZ0IsTUFBVixDQUFpQkQsVUFEQTtBQUVqQ1gsY0FBWSxvQkFBVVksTUFBVixDQUFpQkQ7QUFGSSxDQUFuQyIsImZpbGUiOiJwcm9qZWN0LWNvbmZpZ3VyYXRvci5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge0NvbXBvbmVudH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7XG4gIENvbnRlbnRUaXRsZSxcbiAgQ29udGVudENvbnRhaW5lcixcbiAgRm9ybUxhYmVsLFxuICBGb3JtQmxvY2ssXG4gIEZvcm1OdW1iZXJJbnB1dCxcbiAgRm9ybVN1Ym1pdEJ1dHRvbixcbiAgQ2FuY2VsQnV0dG9uXG59IGZyb20gJy4uL3N0eWxlL2V4cG9ydCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByb2plY3RDb25maWd1cmF0b3IgZXh0ZW5kcyBDb21wb25lbnQge1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzLCBjb250ZXh0KSB7XG4gICAgc3VwZXIocHJvcHMsIGNvbnRleHQpO1xuXG4gICAgbGV0IHNjZW5lID0gcHJvcHMuc3RhdGUuc2NlbmU7XG5cbiAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgZGF0YVdpZHRoOiBzY2VuZS53aWR0aCxcbiAgICAgIGRhdGFIZWlnaHQ6IHNjZW5lLmhlaWdodCxcbiAgICB9O1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgbGV0IHtwcm9qZWN0QWN0aW9uc30gPSB0aGlzLmNvbnRleHQ7XG5cbiAgICBsZXQge2RhdGFXaWR0aCwgZGF0YUhlaWdodH0gPSB0aGlzLnN0YXRlO1xuICAgIGRhdGFXaWR0aCA9IHBhcnNlSW50KGRhdGFXaWR0aCk7XG4gICAgZGF0YUhlaWdodCA9IHBhcnNlSW50KGRhdGFIZWlnaHQpO1xuICAgIGlmIChkYXRhV2lkdGggPD0gMTAwIHx8IGRhdGFIZWlnaHQgPD0gMTAwKSB7XG4gICAgICBhbGVydCgnU2NlbmUgc2l6ZSB0b28gc21hbGwnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJvamVjdEFjdGlvbnMuc2V0UHJvamVjdFByb3BlcnRpZXMoe3dpZHRoOiBkYXRhV2lkdGgsIGhlaWdodDogZGF0YUhlaWdodH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgcmVuZGVyKCkge1xuICAgIGxldCB7d2lkdGgsIGhlaWdodH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCB7ZGF0YVdpZHRoLCBkYXRhSGVpZ2h0fSA9IHRoaXMuc3RhdGU7XG4gICAgbGV0IHtwcm9qZWN0QWN0aW9ucywgdHJhbnNsYXRvcn0gPSB0aGlzLmNvbnRleHQ7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbnRlbnRDb250YWluZXIgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0+XG4gICAgICAgIDxDb250ZW50VGl0bGU+e3RyYW5zbGF0b3IudCgnUHJvamVjdCBjb25maWcnKX08L0NvbnRlbnRUaXRsZT5cblxuICAgICAgICA8Zm9ybSBvblN1Ym1pdD17ZSA9PiB0aGlzLm9uU3VibWl0KGUpfT5cbiAgICAgICAgICA8Rm9ybUJsb2NrPlxuICAgICAgICAgICAgPEZvcm1MYWJlbCBodG1sRm9yPSd3aWR0aCc+e3RyYW5zbGF0b3IudCgnd2lkdGgnKX08L0Zvcm1MYWJlbD5cbiAgICAgICAgICAgIDxGb3JtTnVtYmVySW5wdXQgaWQ9J3dpZHRoJyBwbGFjZWhvbGRlcj0nd2lkdGgnIHZhbHVlPXtkYXRhV2lkdGh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuc2V0U3RhdGUoe2RhdGFXaWR0aDogZS50YXJnZXQudmFsdWV9KX0vPlxuICAgICAgICAgIDwvRm9ybUJsb2NrPlxuXG4gICAgICAgICAgPEZvcm1CbG9jaz5cbiAgICAgICAgICAgIDxGb3JtTGFiZWwgaHRtbEZvcj0naGVpZ2h0Jz57dHJhbnNsYXRvci50KCdoZWlnaHQnKX08L0Zvcm1MYWJlbD5cbiAgICAgICAgICAgIDxGb3JtTnVtYmVySW5wdXQgaWQ9J2hlaWdodCcgcGxhY2Vob2xkZXI9J2hlaWdodCcgdmFsdWU9e2RhdGFIZWlnaHR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHRoaXMuc2V0U3RhdGUoe2RhdGFIZWlnaHQ6IGUudGFyZ2V0LnZhbHVlfSl9Lz5cbiAgICAgICAgICA8L0Zvcm1CbG9jaz5cblxuICAgICAgICAgIDx0YWJsZSBzdHlsZT17e2Zsb2F0OiAncmlnaHQnfX0+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8Q2FuY2VsQnV0dG9uIHNpemU9J2xhcmdlJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17ZSA9PiBwcm9qZWN0QWN0aW9ucy5yb2xsYmFjaygpfT57dHJhbnNsYXRvci50KCdDYW5jZWwnKX08L0NhbmNlbEJ1dHRvbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICAgIDxGb3JtU3VibWl0QnV0dG9uIHNpemU9J2xhcmdlJz57dHJhbnNsYXRvci50KCdTYXZlJyl9PC9Gb3JtU3VibWl0QnV0dG9uPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgPC9Db250ZW50Q29udGFpbmVyPlxuICAgIClcbiAgfVxufVxuXG5Qcm9qZWN0Q29uZmlndXJhdG9yLnByb3BUeXBlcyA9IHtcbiAgd2lkdGg6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZCxcbiAgaGVpZ2h0OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHN0YXRlOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG59O1xuXG5Qcm9qZWN0Q29uZmlndXJhdG9yLmNvbnRleHRUeXBlcyA9IHtcbiAgcHJvamVjdEFjdGlvbnM6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgdHJhbnNsYXRvcjogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxufTtcbiJdfQ==