kitchen-simulator 1.1.1-test.61 → 1.1.1-test.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/@history.js +2 -10
- package/es/AppContext.js +3 -10
- package/es/KitchenConfigurator.js +70 -79
- package/es/KitchenConfiguratorApp.js +98 -107
- package/es/actions/area-actions.js +5 -12
- package/es/actions/export.js +12 -29
- package/es/actions/groups-actions.js +27 -45
- package/es/actions/holes-actions.js +34 -55
- package/es/actions/items-actions.js +94 -145
- package/es/actions/lines-actions.js +21 -36
- package/es/actions/project-actions.js +94 -145
- package/es/actions/scene-actions.js +11 -21
- package/es/actions/vertices-actions.js +7 -15
- package/es/actions/viewer2d-actions.js +21 -36
- package/es/actions/viewer3d-actions.js +9 -18
- package/es/catalog/areas/area/planner-element.js +2 -9
- package/es/catalog/catalog.js +15 -21
- package/es/catalog/factories/area-factory-3d.js +22 -31
- package/es/catalog/factories/area-factory.js +11 -20
- package/es/catalog/factories/export.js +6 -24
- package/es/catalog/factories/wall-factory-3d.js +31 -41
- package/es/catalog/factories/wall-factory.js +21 -31
- package/es/catalog/holes/door-closet/planner-element.js +15 -24
- package/es/catalog/holes/door-double/planner-element.js +15 -24
- package/es/catalog/holes/door-exterior/planner-element.js +16 -25
- package/es/catalog/holes/door-interior/planner-element.js +16 -25
- package/es/catalog/holes/door-panic/planner-element.js +7 -16
- package/es/catalog/holes/door-panic-double/planner-element.js +15 -24
- package/es/catalog/holes/door-sliding/planner-element.js +16 -25
- package/es/catalog/holes/doorway-framed/planner-element.js +11 -20
- package/es/catalog/holes/doorway-frameless/planner-element.js +7 -16
- package/es/catalog/holes/export.js +13 -97
- package/es/catalog/holes/window-clear/planner-element.js +10 -19
- package/es/catalog/holes/window-cross/planner-element.js +10 -19
- package/es/catalog/holes/window-double-hung/planner-element.js +10 -19
- package/es/catalog/holes/window-vertical/planner-element.js +10 -19
- package/es/catalog/lines/wall/planner-element.js +2 -9
- package/es/catalog/molding/molding-dcm/planner-element.js +5 -14
- package/es/catalog/molding/molding-fbm/planner-element.js +5 -14
- package/es/catalog/molding/molding-lrm/planner-element.js +5 -14
- package/es/catalog/properties/export.js +20 -80
- package/es/catalog/properties/property-checkbox.js +24 -31
- package/es/catalog/properties/property-color.js +16 -23
- package/es/catalog/properties/property-enum.js +24 -31
- package/es/catalog/properties/property-hidden.js +9 -16
- package/es/catalog/properties/property-lenght-measure.js +38 -45
- package/es/catalog/properties/property-length-measure.js +36 -43
- package/es/catalog/properties/property-length-measure_hole.js +38 -45
- package/es/catalog/properties/property-number.js +17 -24
- package/es/catalog/properties/property-read-only.js +16 -23
- package/es/catalog/properties/property-string.js +16 -23
- package/es/catalog/properties/property-toggle.js +16 -23
- package/es/catalog/properties/shared-property-style.js +1 -7
- package/es/catalog/utils/FuseUtils.js +8 -15
- package/es/catalog/utils/exporter.js +8 -15
- package/es/catalog/utils/geom-utils.js +13 -29
- package/es/catalog/utils/item-loader.js +84 -97
- package/es/catalog/utils/load-obj.js +20 -28
- package/es/catalog/utils/mtl-loader.js +3 -8
- package/es/catalog/utils/obj-loader.js +3 -8
- package/es/class/FuseUtils.js +8 -15
- package/es/class/area.js +22 -28
- package/es/class/export.js +23 -95
- package/es/class/group.js +53 -59
- package/es/class/guide.js +15 -21
- package/es/class/hole.js +83 -89
- package/es/class/item.js +141 -147
- package/es/class/layer.js +59 -65
- package/es/class/line.js +135 -143
- package/es/class/project.js +90 -98
- package/es/class/vertex.js +29 -35
- package/es/components/content.js +19 -28
- package/es/components/disclaimer/disclaimer.js +10 -18
- package/es/components/export.js +8 -32
- package/es/components/style/button.js +23 -31
- package/es/components/style/cancel-button.js +7 -14
- package/es/components/style/content-container.js +9 -16
- package/es/components/style/content-title.js +11 -20
- package/es/components/style/delete-button.js +8 -17
- package/es/components/style/export.js +30 -120
- package/es/components/style/form-block.js +8 -15
- package/es/components/style/form-color-input.js +7 -14
- package/es/components/style/form-label.js +8 -15
- package/es/components/style/form-number-input.js +41 -49
- package/es/components/style/form-number-input_2.js +36 -44
- package/es/components/style/form-select.js +17 -24
- package/es/components/style/form-slider.js +10 -17
- package/es/components/style/form-submit-button.js +8 -17
- package/es/components/style/form-text-input.js +26 -34
- package/es/components/viewer2d/area.js +17 -24
- package/es/components/viewer2d/export.js +30 -120
- package/es/components/viewer2d/grids/grid-horizontal-streak.js +10 -17
- package/es/components/viewer2d/grids/grid-streak.js +10 -17
- package/es/components/viewer2d/grids/grid-vertical-streak.js +10 -17
- package/es/components/viewer2d/grids/grids.js +10 -19
- package/es/components/viewer2d/group.js +15 -24
- package/es/components/viewer2d/item.js +61 -70
- package/es/components/viewer2d/layer.js +23 -30
- package/es/components/viewer2d/line.js +101 -111
- package/es/components/viewer2d/ruler.js +22 -29
- package/es/components/viewer2d/rulerDist.js +21 -28
- package/es/components/viewer2d/rulerX.js +39 -47
- package/es/components/viewer2d/rulerY.js +37 -45
- package/es/components/viewer2d/scene.js +30 -38
- package/es/components/viewer2d/snap.js +13 -22
- package/es/components/viewer2d/state.js +18 -27
- package/es/components/viewer2d/utils.js +24 -37
- package/es/components/viewer2d/vertex.js +8 -17
- package/es/components/viewer2d/viewer2d.js +153 -163
- package/es/components/viewer3d/camera-controls-module/camera-controls.module.js +17 -23
- package/es/components/viewer3d/dcm.js +1 -7
- package/es/components/viewer3d/fbm.js +1 -7
- package/es/components/viewer3d/front3D.js +12 -21
- package/es/components/viewer3d/grid-creator.js +8 -17
- package/es/components/viewer3d/grids/grid-horizontal-streak.js +6 -14
- package/es/components/viewer3d/grids/grid-streak.js +5 -13
- package/es/components/viewer3d/grids/grid-vertical-streak.js +6 -14
- package/es/components/viewer3d/libs/first-person-controls.js +2 -9
- package/es/components/viewer3d/libs/helvetiker_regular.typeface.js +1 -7
- package/es/components/viewer3d/libs/mtl-loader.js +1 -7
- package/es/components/viewer3d/libs/obj-loader.js +1 -7
- package/es/components/viewer3d/libs/orbit-controls.js +2 -8
- package/es/components/viewer3d/libs/pointer-lock-controls.js +2 -8
- package/es/components/viewer3d/lrm.js +1 -7
- package/es/components/viewer3d/model.js +1 -7
- package/es/components/viewer3d/pointer-lock-navigation.js +3 -10
- package/es/components/viewer3d/ruler-utils/itemRect.js +18 -25
- package/es/components/viewer3d/ruler-utils/layer3D.js +59 -66
- package/es/components/viewer3d/ruler-utils/ruler3D.js +39 -46
- package/es/components/viewer3d/ruler-utils/scene3D.js +9 -17
- package/es/components/viewer3d/ruler-utils/state3D.js +4 -11
- package/es/components/viewer3d/scene-creator.js +191 -226
- package/es/components/viewer3d/three-memory-cleaner.js +3 -12
- package/es/components/viewer3d/viewer3d-first-person.js +40 -46
- package/es/components/viewer3d/viewer3d.js +196 -202
- package/es/constants.js +349 -358
- package/es/index.js +8 -22
- package/es/models.js +177 -184
- package/es/plugins/SVGLoader.js +48 -53
- package/es/plugins/autosave.js +3 -9
- package/es/plugins/console-debugger.js +5 -12
- package/es/plugins/export.js +8 -32
- package/es/plugins/keyboard.js +29 -35
- package/es/reducers/areas-reducer.js +7 -13
- package/es/reducers/export.js +24 -96
- package/es/reducers/groups-reducer.js +31 -37
- package/es/reducers/holes-reducer.js +43 -49
- package/es/reducers/items-reducer.js +106 -112
- package/es/reducers/lines-reducer.js +28 -34
- package/es/reducers/project-reducer.js +105 -111
- package/es/reducers/reducer.js +16 -23
- package/es/reducers/scene-reducer.js +15 -21
- package/es/reducers/user-reducer.js +5 -11
- package/es/reducers/vertices-reducer.js +11 -17
- package/es/reducers/viewer2d-reducer.js +18 -24
- package/es/reducers/viewer3d-reducer.js +16 -22
- package/es/shared-style.js +10 -16
- package/es/styles/export.js +3 -11
- package/es/translator/en.js +1 -7
- package/es/translator/it.js +1 -7
- package/es/translator/ru.js +1 -7
- package/es/translator/translator.js +13 -19
- package/es/utils/browser.js +2 -9
- package/es/utils/convert-units-lite.js +1 -7
- package/es/utils/email-validator.js +1 -7
- package/es/utils/export.js +15 -46
- package/es/utils/geometry.js +181 -278
- package/es/utils/get-edges-of-subgraphs.js +2 -9
- package/es/utils/graph-cycles.js +8 -11
- package/es/utils/graph-inner-cycles.js +10 -18
- package/es/utils/graph.js +9 -17
- package/es/utils/helper.js +39 -63
- package/es/utils/history.js +8 -15
- package/es/utils/id-broker.js +8 -15
- package/es/utils/logger.js +1 -7
- package/es/utils/math.js +5 -12
- package/es/utils/molding.js +119 -144
- package/es/utils/name-generator.js +7 -13
- package/es/utils/objects-utils.js +7 -19
- package/es/utils/phone-validator.js +1 -7
- package/es/utils/process-black-list.js +3 -10
- package/es/utils/react-if.js +6 -12
- package/es/utils/snap-scene.js +27 -34
- package/es/utils/snap.js +45 -59
- package/es/utils/summarizeCart.js +1 -7
- package/es/utils/threeCSG.es6.js +13 -22
- package/es/version.js +1 -7
- package/lib/index.js +7 -13
- package/package.json +1 -1
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.disposeObject = disposeObject;
|
|
8
|
-
exports.disposeScene = disposeScene;
|
|
9
|
-
var Three = _interopRequireWildcard(require("three"));
|
|
10
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
1
|
+
import * as Three from 'three';
|
|
11
2
|
function disposeGeometry(geometry) {
|
|
12
3
|
geometry.dispose();
|
|
13
4
|
}
|
|
@@ -46,13 +37,13 @@ function disposeMesh(mesh) {
|
|
|
46
37
|
mesh.geometry = null;
|
|
47
38
|
mesh.material = null;
|
|
48
39
|
}
|
|
49
|
-
function disposeScene(scene3D) {
|
|
40
|
+
export function disposeScene(scene3D) {
|
|
50
41
|
scene3D.traverse(function (child) {
|
|
51
42
|
disposeMesh(child);
|
|
52
43
|
child = null;
|
|
53
44
|
});
|
|
54
45
|
}
|
|
55
|
-
function disposeObject(object) {
|
|
46
|
+
export function disposeObject(object) {
|
|
56
47
|
object.traverse(function (child) {
|
|
57
48
|
disposeMesh(child);
|
|
58
49
|
child = null;
|
|
@@ -1,33 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _react = _interopRequireDefault(require("react"));
|
|
15
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
17
|
-
var Three = _interopRequireWildcard(require("three"));
|
|
18
|
-
var _sceneCreator = require("./scene-creator");
|
|
19
|
-
var _threeMemoryCleaner = require("./three-memory-cleaner");
|
|
20
|
-
var _immutablediff = _interopRequireDefault(require("immutablediff"));
|
|
21
|
-
var _pointerLockNavigation = require("./pointer-lock-navigation");
|
|
22
|
-
var _firstPersonControls = require("./libs/first-person-controls");
|
|
23
|
-
var SharedStyle = _interopRequireWildcard(require("../../shared-style"));
|
|
24
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
25
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
3
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
4
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
8
|
+
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
26
9
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
27
|
-
|
|
10
|
+
import React from 'react';
|
|
11
|
+
import PropTypes from 'prop-types';
|
|
12
|
+
import ReactDOM from 'react-dom';
|
|
13
|
+
import * as Three from 'three';
|
|
14
|
+
import { parseData, updateScene } from "./scene-creator";
|
|
15
|
+
import { disposeScene } from "./three-memory-cleaner";
|
|
16
|
+
import diff from 'immutablediff';
|
|
17
|
+
import { initPointerLock } from "./pointer-lock-navigation";
|
|
18
|
+
import { firstPersonOnKeyDown, firstPersonOnKeyUp } from "./libs/first-person-controls";
|
|
19
|
+
import * as SharedStyle from "../../shared-style";
|
|
20
|
+
var Viewer3DFirstPerson = /*#__PURE__*/function (_React$Component) {
|
|
28
21
|
function Viewer3DFirstPerson(props) {
|
|
29
22
|
var _this;
|
|
30
|
-
(
|
|
23
|
+
_classCallCheck(this, Viewer3DFirstPerson);
|
|
31
24
|
_this = _callSuper(this, Viewer3DFirstPerson, [props]);
|
|
32
25
|
_this.width = props.width;
|
|
33
26
|
_this.height = props.height;
|
|
@@ -38,8 +31,8 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
38
31
|
window.__threeRenderer = _this.renderer;
|
|
39
32
|
return _this;
|
|
40
33
|
}
|
|
41
|
-
(
|
|
42
|
-
return (
|
|
34
|
+
_inherits(Viewer3DFirstPerson, _React$Component);
|
|
35
|
+
return _createClass(Viewer3DFirstPerson, [{
|
|
43
36
|
key: "componentDidMount",
|
|
44
37
|
value: function componentDidMount() {
|
|
45
38
|
var _this2 = this;
|
|
@@ -62,7 +55,7 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
62
55
|
};
|
|
63
56
|
var state = this.props.state;
|
|
64
57
|
var data = state.scene;
|
|
65
|
-
var canvasWrapper =
|
|
58
|
+
var canvasWrapper = ReactDOM.findDOMNode(this.refs.canvasWrapper);
|
|
66
59
|
var scene3D = new Three.Scene();
|
|
67
60
|
|
|
68
61
|
// As I need to show the pointer above all scene objects, I use this workaround http://stackoverflow.com/a/13309722
|
|
@@ -73,7 +66,7 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
73
66
|
this.renderer.setSize(this.width, this.height);
|
|
74
67
|
|
|
75
68
|
// LOAD DATA
|
|
76
|
-
this.planData =
|
|
69
|
+
this.planData = parseData(data, actions, catalog);
|
|
77
70
|
scene3D.add(this.planData.plan);
|
|
78
71
|
|
|
79
72
|
// CAMERA
|
|
@@ -102,7 +95,7 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
102
95
|
|
|
103
96
|
document.body.requestPointerLock = document.body.requestPointerLock || document.body.mozRequestPointerLock || document.body.webkitRequestPointerLock;
|
|
104
97
|
document.body.requestPointerLock();
|
|
105
|
-
var _initPointerLock =
|
|
98
|
+
var _initPointerLock = initPointerLock(camera, this.renderer.domElement),
|
|
106
99
|
controls = _initPointerLock.controls,
|
|
107
100
|
pointerlockChangeEvent = _initPointerLock.pointerlockChangeEvent,
|
|
108
101
|
requestPointerLockEvent = _initPointerLock.requestPointerLockEvent;
|
|
@@ -119,7 +112,7 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
119
112
|
|
|
120
113
|
// Add move controls on the page
|
|
121
114
|
this.keyDownEvent = function (event) {
|
|
122
|
-
var moveResult =
|
|
115
|
+
var moveResult = firstPersonOnKeyDown(event, moveForward, moveLeft, moveBackward, moveRight, canJump, velocity);
|
|
123
116
|
moveForward = moveResult.moveForward;
|
|
124
117
|
moveLeft = moveResult.moveLeft;
|
|
125
118
|
moveBackward = moveResult.moveBackward;
|
|
@@ -127,7 +120,7 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
127
120
|
canJump = moveResult.canJump;
|
|
128
121
|
};
|
|
129
122
|
this.keyUpEvent = function (event) {
|
|
130
|
-
var moveResult =
|
|
123
|
+
var moveResult = firstPersonOnKeyUp(event, moveForward, moveLeft, moveBackward, moveRight, canJump);
|
|
131
124
|
moveForward = moveResult.moveForward;
|
|
132
125
|
moveLeft = moveResult.moveLeft;
|
|
133
126
|
moveBackward = moveResult.moveBackward;
|
|
@@ -254,7 +247,7 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
254
247
|
document.removeEventListener('mozpointerlockchange', this.pointerlockChangeEvent);
|
|
255
248
|
document.removeEventListener('webkitpointerlockchange', this.pointerlockChangeEvent);
|
|
256
249
|
this.renderer.domElement.removeEventListener('click', this.requestPointerLockEvent);
|
|
257
|
-
|
|
250
|
+
disposeScene(this.scene3D);
|
|
258
251
|
this.scene3D.remove(this.planData.plan);
|
|
259
252
|
this.scene3D = null;
|
|
260
253
|
this.planData = null;
|
|
@@ -282,8 +275,8 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
282
275
|
camera.aspect = width / height;
|
|
283
276
|
camera.updateProjectionMatrix();
|
|
284
277
|
if (nextProps.scene !== this.props.state.scene) {
|
|
285
|
-
var changedValues = (
|
|
286
|
-
|
|
278
|
+
var changedValues = diff(this.props.state.scene, nextProps.state.scene);
|
|
279
|
+
updateScene(planData, nextProps.state.scene, this.props.state.scene, changedValues.toJS(), actions, this.context.catalog);
|
|
287
280
|
}
|
|
288
281
|
renderer.setSize(width, height);
|
|
289
282
|
renderer.clear(); // clear buffers
|
|
@@ -294,22 +287,23 @@ var Viewer3DFirstPerson = exports["default"] = /*#__PURE__*/function (_React$Com
|
|
|
294
287
|
}, {
|
|
295
288
|
key: "render",
|
|
296
289
|
value: function render() {
|
|
297
|
-
return /*#__PURE__*/
|
|
290
|
+
return /*#__PURE__*/React.createElement('div', {
|
|
298
291
|
ref: 'canvasWrapper'
|
|
299
292
|
});
|
|
300
293
|
}
|
|
301
294
|
}]);
|
|
302
|
-
}(
|
|
295
|
+
}(React.Component);
|
|
296
|
+
export { Viewer3DFirstPerson as default };
|
|
303
297
|
Viewer3DFirstPerson.propTypes = {
|
|
304
|
-
state:
|
|
305
|
-
width:
|
|
306
|
-
height:
|
|
298
|
+
state: PropTypes.object.isRequired,
|
|
299
|
+
width: PropTypes.number.isRequired,
|
|
300
|
+
height: PropTypes.number.isRequired
|
|
307
301
|
};
|
|
308
302
|
Viewer3DFirstPerson.contextTypes = {
|
|
309
|
-
areaActions:
|
|
310
|
-
holesActions:
|
|
311
|
-
itemsActions:
|
|
312
|
-
linesActions:
|
|
313
|
-
projectActions:
|
|
314
|
-
catalog:
|
|
303
|
+
areaActions: PropTypes.object.isRequired,
|
|
304
|
+
holesActions: PropTypes.object.isRequired,
|
|
305
|
+
itemsActions: PropTypes.object.isRequired,
|
|
306
|
+
linesActions: PropTypes.object.isRequired,
|
|
307
|
+
projectActions: PropTypes.object.isRequired,
|
|
308
|
+
catalog: PropTypes.object
|
|
315
309
|
};
|