react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
55 lines (47 loc) • 7.06 kB
JavaScript
import React from 'react';
import PropTypes from 'prop-types';
import Viewer2D from './viewer2d/viewer2d';
import CatalogList from './catalog-view/catalog-list';
import ProjectConfigurator from './configurator/project-configurator';
import * as constants from '../constants';
export default function Content(_ref) {
var width = _ref.width,
height = _ref.height,
state = _ref.state,
customContents = _ref.customContents,
onSelectArea = _ref.onSelectArea;
var mode = state.get('mode');
switch (mode) {
case constants.MODE_VIEWING_CATALOG:
return React.createElement(CatalogList, { state: state, width: width, height: height });
case constants.MODE_IDLE:
case constants.MODE_2D_ZOOM_IN:
case constants.MODE_2D_ZOOM_OUT:
case constants.MODE_2D_PAN:
case constants.MODE_WAITING_DRAWING_LINE:
case constants.MODE_DRAGGING_LINE:
case constants.MODE_DRAGGING_VERTEX:
case constants.MODE_DRAGGING_ITEM:
case constants.MODE_DRAWING_LINE:
case constants.MODE_DRAWING_HOLE:
case constants.MODE_DRAWING_ITEM:
case constants.MODE_DRAGGING_HOLE:
case constants.MODE_ROTATING_ITEM:
return React.createElement(Viewer2D, { state: state, width: width, height: height, onSelectArea: onSelectArea });
case constants.MODE_CONFIGURING_PROJECT:
return React.createElement(ProjectConfigurator, { width: width, height: height, state: state });
default:
if (customContents.hasOwnProperty(mode)) {
var CustomContent = customContents[mode];
return React.createElement(CustomContent, { width: width, height: height, state: state });
} else {
throw new Error('Mode ' + mode + ' doesn\'t have a mapped content');
}
}
}
Content.propTypes = {
state: PropTypes.object.isRequired,
width: PropTypes.number.isRequired,
height: PropTypes.number.isRequired
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL2NvbnRlbnQuanN4Il0sIm5hbWVzIjpbIlJlYWN0IiwiUHJvcFR5cGVzIiwiVmlld2VyMkQiLCJDYXRhbG9nTGlzdCIsIlByb2plY3RDb25maWd1cmF0b3IiLCJjb25zdGFudHMiLCJDb250ZW50Iiwid2lkdGgiLCJoZWlnaHQiLCJzdGF0ZSIsImN1c3RvbUNvbnRlbnRzIiwib25TZWxlY3RBcmVhIiwibW9kZSIsImdldCIsIk1PREVfVklFV0lOR19DQVRBTE9HIiwiTU9ERV9JRExFIiwiTU9ERV8yRF9aT09NX0lOIiwiTU9ERV8yRF9aT09NX09VVCIsIk1PREVfMkRfUEFOIiwiTU9ERV9XQUlUSU5HX0RSQVdJTkdfTElORSIsIk1PREVfRFJBR0dJTkdfTElORSIsIk1PREVfRFJBR0dJTkdfVkVSVEVYIiwiTU9ERV9EUkFHR0lOR19JVEVNIiwiTU9ERV9EUkFXSU5HX0xJTkUiLCJNT0RFX0RSQVdJTkdfSE9MRSIsIk1PREVfRFJBV0lOR19JVEVNIiwiTU9ERV9EUkFHR0lOR19IT0xFIiwiTU9ERV9ST1RBVElOR19JVEVNIiwiTU9ERV9DT05GSUdVUklOR19QUk9KRUNUIiwiaGFzT3duUHJvcGVydHkiLCJDdXN0b21Db250ZW50IiwiRXJyb3IiLCJwcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwibnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFQLE1BQWtCLE9BQWxCO0FBQ0EsT0FBT0MsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLFFBQVAsTUFBcUIscUJBQXJCO0FBQ0EsT0FBT0MsV0FBUCxNQUF3Qiw2QkFBeEI7QUFDQSxPQUFPQyxtQkFBUCxNQUFnQyxxQ0FBaEM7O0FBRUEsT0FBTyxLQUFLQyxTQUFaLE1BQTJCLGNBQTNCOztBQUVBLGVBQWUsU0FBU0MsT0FBVCxPQUF1RTtBQUFBLE1BQXJEQyxLQUFxRCxRQUFyREEsS0FBcUQ7QUFBQSxNQUE5Q0MsTUFBOEMsUUFBOUNBLE1BQThDO0FBQUEsTUFBdENDLEtBQXNDLFFBQXRDQSxLQUFzQztBQUFBLE1BQS9CQyxjQUErQixRQUEvQkEsY0FBK0I7QUFBQSxNQUFmQyxZQUFlLFFBQWZBLFlBQWU7O0FBQ3BGLE1BQUlDLE9BQU9ILE1BQU1JLEdBQU4sQ0FBVSxNQUFWLENBQVg7O0FBRUEsVUFBUUQsSUFBUjtBQUNFLFNBQUtQLFVBQVVTLG9CQUFmO0FBQ0UsYUFBTyxvQkFBQyxXQUFELElBQWEsT0FBT0wsS0FBcEIsRUFBMkIsT0FBT0YsS0FBbEMsRUFBeUMsUUFBUUMsTUFBakQsR0FBUDs7QUFFRixTQUFLSCxVQUFVVSxTQUFmO0FBQ0EsU0FBS1YsVUFBVVcsZUFBZjtBQUNBLFNBQUtYLFVBQVVZLGdCQUFmO0FBQ0EsU0FBS1osVUFBVWEsV0FBZjtBQUNBLFNBQUtiLFVBQVVjLHlCQUFmO0FBQ0EsU0FBS2QsVUFBVWUsa0JBQWY7QUFDQSxTQUFLZixVQUFVZ0Isb0JBQWY7QUFDQSxTQUFLaEIsVUFBVWlCLGtCQUFmO0FBQ0EsU0FBS2pCLFVBQVVrQixpQkFBZjtBQUNBLFNBQUtsQixVQUFVbUIsaUJBQWY7QUFDQSxTQUFLbkIsVUFBVW9CLGlCQUFmO0FBQ0EsU0FBS3BCLFVBQVVxQixrQkFBZjtBQUNBLFNBQUtyQixVQUFVc0Isa0JBQWY7QUFDRSxhQUFPLG9CQUFDLFFBQUQsSUFBVSxPQUFPbEIsS0FBakIsRUFBd0IsT0FBT0YsS0FBL0IsRUFBc0MsUUFBUUMsTUFBOUMsRUFBc0QsY0FBY0csWUFBcEUsR0FBUDs7QUFFRixTQUFLTixVQUFVdUIsd0JBQWY7QUFDRSxhQUFPLG9CQUFDLG1CQUFELElBQXFCLE9BQU9yQixLQUE1QixFQUFtQyxRQUFRQyxNQUEzQyxFQUFtRCxPQUFPQyxLQUExRCxHQUFQOztBQUVGO0FBQ0UsVUFBSUMsZUFBZW1CLGNBQWYsQ0FBOEJqQixJQUE5QixDQUFKLEVBQXlDO0FBQ3ZDLFlBQUlrQixnQkFBZ0JwQixlQUFlRSxJQUFmLENBQXBCO0FBQ0EsZUFBTyxvQkFBQyxhQUFELElBQWUsT0FBT0wsS0FBdEIsRUFBNkIsUUFBUUMsTUFBckMsRUFBNkMsT0FBT0MsS0FBcEQsR0FBUDtBQUNELE9BSEQsTUFHTztBQUNMLGNBQU0sSUFBSXNCLEtBQUosV0FBa0JuQixJQUFsQixxQ0FBTjtBQUNEO0FBNUJMO0FBOEJEOztBQUVETixRQUFRMEIsU0FBUixHQUFvQjtBQUNsQnZCLFNBQU9SLFVBQVVnQyxNQUFWLENBQWlCQyxVQUROO0FBRWxCM0IsU0FBT04sVUFBVWtDLE1BQVYsQ0FBaUJELFVBRk47QUFHbEIxQixVQUFRUCxVQUFVa0MsTUFBVixDQUFpQkQ7QUFIUCxDQUFwQiIsImZpbGUiOiJjb250ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgVmlld2VyMkQgZnJvbSAnLi92aWV3ZXIyZC92aWV3ZXIyZCc7XG5pbXBvcnQgQ2F0YWxvZ0xpc3QgZnJvbSAnLi9jYXRhbG9nLXZpZXcvY2F0YWxvZy1saXN0JztcbmltcG9ydCBQcm9qZWN0Q29uZmlndXJhdG9yIGZyb20gJy4vY29uZmlndXJhdG9yL3Byb2plY3QtY29uZmlndXJhdG9yJztcblxuaW1wb3J0ICogYXMgY29uc3RhbnRzIGZyb20gJy4uL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENvbnRlbnQoe3dpZHRoLCBoZWlnaHQsIHN0YXRlLCBjdXN0b21Db250ZW50cywgb25TZWxlY3RBcmVhfSkge1xuICBsZXQgbW9kZSA9IHN0YXRlLmdldCgnbW9kZScpO1xuXG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgY29uc3RhbnRzLk1PREVfVklFV0lOR19DQVRBTE9HOlxuICAgICAgcmV0dXJuIDxDYXRhbG9nTGlzdCBzdGF0ZT17c3RhdGV9IHdpZHRoPXt3aWR0aH0gaGVpZ2h0PXtoZWlnaHR9Lz47XG5cbiAgICBjYXNlIGNvbnN0YW50cy5NT0RFX0lETEU6XG4gICAgY2FzZSBjb25zdGFudHMuTU9ERV8yRF9aT09NX0lOOlxuICAgIGNhc2UgY29uc3RhbnRzLk1PREVfMkRfWk9PTV9PVVQ6XG4gICAgY2FzZSBjb25zdGFudHMuTU9ERV8yRF9QQU46XG4gICAgY2FzZSBjb25zdGFudHMuTU9ERV9XQUlUSU5HX0RSQVdJTkdfTElORTpcbiAgICBjYXNlIGNvbnN0YW50cy5NT0RFX0RSQUdHSU5HX0xJTkU6XG4gICAgY2FzZSBjb25zdGFudHMuTU9ERV9EUkFHR0lOR19WRVJURVg6XG4gICAgY2FzZSBjb25zdGFudHMuTU9ERV9EUkFHR0lOR19JVEVNOlxuICAgIGNhc2UgY29uc3RhbnRzLk1PREVfRFJBV0lOR19MSU5FOlxuICAgIGNhc2UgY29uc3RhbnRzLk1PREVfRFJBV0lOR19IT0xFOlxuICAgIGNhc2UgY29uc3RhbnRzLk1PREVfRFJBV0lOR19JVEVNOlxuICAgIGNhc2UgY29uc3RhbnRzLk1PREVfRFJBR0dJTkdfSE9MRTpcbiAgICBjYXNlIGNvbnN0YW50cy5NT0RFX1JPVEFUSU5HX0lURU06XG4gICAgICByZXR1cm4gPFZpZXdlcjJEIHN0YXRlPXtzdGF0ZX0gd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gb25TZWxlY3RBcmVhPXtvblNlbGVjdEFyZWF9Lz47XG5cbiAgICBjYXNlIGNvbnN0YW50cy5NT0RFX0NPTkZJR1VSSU5HX1BST0pFQ1Q6XG4gICAgICByZXR1cm4gPFByb2plY3RDb25maWd1cmF0b3Igd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3RhdGU9e3N0YXRlfS8+O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGlmIChjdXN0b21Db250ZW50cy5oYXNPd25Qcm9wZXJ0eShtb2RlKSkge1xuICAgICAgICBsZXQgQ3VzdG9tQ29udGVudCA9IGN1c3RvbUNvbnRlbnRzW21vZGVdO1xuICAgICAgICByZXR1cm4gPEN1c3RvbUNvbnRlbnQgd2lkdGg9e3dpZHRofSBoZWlnaHQ9e2hlaWdodH0gc3RhdGU9e3N0YXRlfS8+XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZGUgJHttb2RlfSBkb2Vzbid0IGhhdmUgYSBtYXBwZWQgY29udGVudGApO1xuICAgICAgfVxuICB9XG59XG5cbkNvbnRlbnQucHJvcFR5cGVzID0ge1xuICBzdGF0ZTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICB3aWR0aDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIuaXNSZXF1aXJlZFxufTtcbiJdfQ==