kitchen-simulator 5.0.0-test.6 → 5.0.0-test.8

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.
Files changed (178) hide show
  1. package/package.json +23 -3
  2. package/src/components/_export.js +11 -0
  3. package/src/components/viewer3d/scene-creator.js +23 -26
  4. package/src/components/viewer3d/viewer3d.js +18 -18
  5. package/src/components/catalog-view/catalog-breadcrumb.jsx +0 -53
  6. package/src/components/catalog-view/catalog-item.jsx +0 -229
  7. package/src/components/catalog-view/catalog-list.jsx +0 -173
  8. package/src/components/catalog-view/catalog-page-item.jsx +0 -110
  9. package/src/components/catalog-view/catalog-turn-back-page-item.jsx +0 -80
  10. package/src/components/configurator/custom-configurator.jsx +0 -77
  11. package/src/components/configurator/project-configurator.jsx +0 -120
  12. package/src/components/export.js +0 -36
  13. package/src/components/firstsetting/button/styles.js +0 -223
  14. package/src/components/firstsetting/export.js +0 -9
  15. package/src/components/firstsetting/firstsetting-content-button.jsx +0 -198
  16. package/src/components/firstsetting/firstsetting-toggle-button.jsx +0 -101
  17. package/src/components/firstsetting/firstsetting.jsx +0 -814
  18. package/src/components/footerbar/button/ControlButton.jsx +0 -43
  19. package/src/components/footerbar/button/DirectionButton.jsx +0 -54
  20. package/src/components/footerbar/button/DirectionPanSpinButton.jsx +0 -36
  21. package/src/components/footerbar/button/ToggleButton.jsx +0 -58
  22. package/src/components/footerbar/button/ToggleConvertButton.jsx +0 -48
  23. package/src/components/footerbar/button/ToggleMeasureButton.jsx +0 -33
  24. package/src/components/footerbar/button/styles.js +0 -217
  25. package/src/components/footerbar/export.js +0 -9
  26. package/src/components/footerbar/footer-content-button.jsx +0 -198
  27. package/src/components/footerbar/footer-toggle-button.jsx +0 -101
  28. package/src/components/footerbar/footerbar.jsx +0 -1103
  29. package/src/components/footerbar/styles.js +0 -263
  30. package/src/components/header/button/MenuButton.jsx +0 -46
  31. package/src/components/header/button/SaveButton.jsx +0 -54
  32. package/src/components/header/button/styles.js +0 -181
  33. package/src/components/header/export.js +0 -5
  34. package/src/components/header/header.jsx +0 -631
  35. package/src/components/header/header.style.css +0 -47
  36. package/src/components/header/styles.js +0 -320
  37. package/src/components/login/Login.js +0 -77
  38. package/src/components/login/LoginForm/index.js +0 -108
  39. package/src/components/login/Register.js +0 -83
  40. package/src/components/login/RegisterForm/index.js +0 -171
  41. package/src/components/login/jwtService.js +0 -201
  42. package/src/components/login/style.css +0 -158
  43. package/src/components/login/style.scss +0 -260
  44. package/src/components/myprojects/export.js +0 -5
  45. package/src/components/myprojects/index.jsx +0 -445
  46. package/src/components/myprojects/styles.js +0 -241
  47. package/src/components/sidebar/custom-accordion.jsx +0 -48
  48. package/src/components/sidebar/export.js +0 -15
  49. package/src/components/sidebar/panel-element-editor/attributes-editor/attributes-editor.jsx +0 -73
  50. package/src/components/sidebar/panel-element-editor/attributes-editor/confirm-popup.jsx +0 -101
  51. package/src/components/sidebar/panel-element-editor/attributes-editor/hole-attributes-editor.jsx +0 -149
  52. package/src/components/sidebar/panel-element-editor/attributes-editor/item-attributes-editor.jsx +0 -316
  53. package/src/components/sidebar/panel-element-editor/attributes-editor/line-attributes-editor.jsx +0 -108
  54. package/src/components/sidebar/panel-element-editor/element-editor.jsx +0 -1070
  55. package/src/components/sidebar/panel-element-editor/multi-elements-editor.jsx +0 -0
  56. package/src/components/sidebar/panel-element-editor/panel-element-editor.jsx +0 -104
  57. package/src/components/sidebar/panel-element-editor/panel-multi-elements-editor.jsx +0 -155
  58. package/src/components/sidebar/panel-group-editor.jsx +0 -272
  59. package/src/components/sidebar/panel-groups.jsx +0 -310
  60. package/src/components/sidebar/panel-guides.jsx +0 -192
  61. package/src/components/sidebar/panel-layer-elements.jsx +0 -298
  62. package/src/components/sidebar/panel-layers.jsx +0 -381
  63. package/src/components/sidebar/panel.jsx +0 -71
  64. package/src/components/sidebar/sidebar.jsx +0 -106
  65. package/src/components/sidebar/toolbar-panel.jsx +0 -139
  66. package/src/components/sign/export.js +0 -7
  67. package/src/components/sign/main/index.jsx +0 -523
  68. package/src/components/sign/main/styles.js +0 -163
  69. package/src/components/toolbar/button/ControlButton.jsx +0 -41
  70. package/src/components/toolbar/button/DirectionButton.jsx +0 -34
  71. package/src/components/toolbar/button/RightButton.jsx +0 -103
  72. package/src/components/toolbar/button/ToggleButton.jsx +0 -41
  73. package/src/components/toolbar/button/index.jsx +0 -55
  74. package/src/components/toolbar/button/styles.js +0 -127
  75. package/src/components/toolbar/components/DoorStyleMenu.jsx +0 -103
  76. package/src/components/toolbar/components/Pricing.jsx +0 -126
  77. package/src/components/toolbar/components/ReviewForQuote.jsx +0 -635
  78. package/src/components/toolbar/export.js +0 -21
  79. package/src/components/toolbar/main/Alert.js +0 -122
  80. package/src/components/toolbar/main/TakePictureModal.jsx +0 -104
  81. package/src/components/toolbar/main/confirm-popup.jsx +0 -99
  82. package/src/components/toolbar/main/index.jsx +0 -5687
  83. package/src/components/toolbar/main/lShaped.json +0 -311
  84. package/src/components/toolbar/main/longNarrow.json +0 -238
  85. package/src/components/toolbar/main/myComponents.js +0 -123
  86. package/src/components/toolbar/main/oRectangle.json +0 -220
  87. package/src/components/toolbar/main/rectangle.json +0 -238
  88. package/src/components/toolbar/main/style.css +0 -107
  89. package/src/components/toolbar/main/styles.js +0 -696
  90. package/src/components/toolbar/plugin-item.jsx +0 -123
  91. package/src/components/toolbar/popup/appliance/appliance-category/index.jsx +0 -73
  92. package/src/components/toolbar/popup/appliance/choose-appliance/index.jsx +0 -102
  93. package/src/components/toolbar/popup/appliance/index.jsx +0 -83
  94. package/src/components/toolbar/popup/autosaveprompt/index.jsx +0 -150
  95. package/src/components/toolbar/popup/autosaveprompt/styles.css +0 -64
  96. package/src/components/toolbar/popup/autosaveprompt/styles.js +0 -40
  97. package/src/components/toolbar/popup/cabinet/cabinet-category/index.jsx +0 -73
  98. package/src/components/toolbar/popup/cabinet/choose-product/index.jsx +0 -119
  99. package/src/components/toolbar/popup/cabinet/index.jsx +0 -85
  100. package/src/components/toolbar/popup/doorStyle/choose-style/index.jsx +0 -63
  101. package/src/components/toolbar/popup/doorStyle/index.jsx +0 -71
  102. package/src/components/toolbar/popup/doorStyle/style-category/index.jsx +0 -139
  103. package/src/components/toolbar/popup/downloadsummary/downloadSummaryContext.js +0 -2
  104. package/src/components/toolbar/popup/downloadsummary/downloadSummaryTemp.jsx +0 -157
  105. package/src/components/toolbar/popup/downloadsummary/index.jsx +0 -643
  106. package/src/components/toolbar/popup/downloadsummary/show2D/show2DView.jsx +0 -51
  107. package/src/components/toolbar/popup/downloadsummary/show2D/viewer2DDownLoad.jsx +0 -175
  108. package/src/components/toolbar/popup/downloadsummary/show3D/show3DView.jsx +0 -283
  109. package/src/components/toolbar/popup/downloadsummary/show3D/viewer3DDownLoad.jsx +0 -2257
  110. package/src/components/toolbar/popup/downloadsummary/showCabinetInfo.js +0 -93
  111. package/src/components/toolbar/popup/downloadsummary/showElevation/showElevationView.jsx +0 -132
  112. package/src/components/toolbar/popup/downloadsummary/showElevation/viewer3DElevationDownload.jsx +0 -2198
  113. package/src/components/toolbar/popup/downloadsummary/showElevation/viewerElevationDownload.jsx +0 -152
  114. package/src/components/toolbar/popup/downloadsummary/showWarranty.jsx +0 -149
  115. package/src/components/toolbar/popup/downloadsummary/styles.css +0 -177
  116. package/src/components/toolbar/popup/downloadsummary/styles.js +0 -453
  117. package/src/components/toolbar/popup/finishingtouch/category/index.jsx +0 -34
  118. package/src/components/toolbar/popup/finishingtouch/index.jsx +0 -58
  119. package/src/components/toolbar/popup/finishingtouch/material-edit.jsx +0 -112
  120. package/src/components/toolbar/popup/finishingtouch/product/index.jsx +0 -116
  121. package/src/components/toolbar/popup/floorplan/choose-floor/confirm-popup.jsx +0 -101
  122. package/src/components/toolbar/popup/floorplan/choose-floor/index.jsx +0 -254
  123. package/src/components/toolbar/popup/floorplan/choose-floor/lShaped.json +0 -311
  124. package/src/components/toolbar/popup/floorplan/choose-floor/longNarrow.json +0 -238
  125. package/src/components/toolbar/popup/floorplan/choose-floor/oRectangle.json +0 -220
  126. package/src/components/toolbar/popup/floorplan/choose-floor/rectangle.json +0 -238
  127. package/src/components/toolbar/popup/floorplan/choose-floor/styles.js +0 -86
  128. package/src/components/toolbar/popup/floorplan/floor-category/index.jsx +0 -109
  129. package/src/components/toolbar/popup/floorplan/index.jsx +0 -60
  130. package/src/components/toolbar/popup/index.jsx +0 -241
  131. package/src/components/toolbar/popup/newproject/index.jsx +0 -59
  132. package/src/components/toolbar/popup/newproject/styles.css +0 -64
  133. package/src/components/toolbar/popup/newproject/styles.js +0 -41
  134. package/src/components/toolbar/popup/product/appliance.jsx +0 -54
  135. package/src/components/toolbar/popup/product/cabinetproduct.jsx +0 -15
  136. package/src/components/toolbar/popup/product/doorstyle.jsx +0 -58
  137. package/src/components/toolbar/popup/product/doorstyleproduct.jsx +0 -47
  138. package/src/components/toolbar/popup/product/floor.jsx +0 -36
  139. package/src/components/toolbar/popup/product/floorproduct.jsx +0 -42
  140. package/src/components/toolbar/popup/product/index.jsx +0 -36
  141. package/src/components/toolbar/popup/product/primary.jsx +0 -77
  142. package/src/components/toolbar/popup/product/productline.jsx +0 -93
  143. package/src/components/toolbar/popup/product/reviewItem.jsx +0 -427
  144. package/src/components/toolbar/popup/product/reviewMolding.jsx +0 -310
  145. package/src/components/toolbar/popup/product/style.css +0 -54
  146. package/src/components/toolbar/popup/product/styles.js +0 -260
  147. package/src/components/toolbar/popup/savedesign/FullPictureForm.jsx +0 -146
  148. package/src/components/toolbar/popup/savedesign/index.jsx +0 -495
  149. package/src/components/toolbar/popup/savedesign/savedesign.style.css +0 -16
  150. package/src/components/toolbar/popup/savedesign/styles.js +0 -151
  151. package/src/components/toolbar/popup/setDoorStyleOption/index.jsx +0 -87
  152. package/src/components/toolbar/popup/styles.js +0 -909
  153. package/src/components/toolbar/popup/submitforquote/AddToCartOptions.jsx +0 -192
  154. package/src/components/toolbar/popup/submitforquote/CustomerRequestsForm.jsx +0 -96
  155. package/src/components/toolbar/popup/submitforquote/SkipDesignerReview.jsx +0 -54
  156. package/src/components/toolbar/popup/submitforquote/StepDots.jsx +0 -25
  157. package/src/components/toolbar/popup/submitforquote/cart-choice.jsx +0 -116
  158. package/src/components/toolbar/popup/submitforquote/doorstyle-menus.js +0 -38
  159. package/src/components/toolbar/popup/submitforquote/index.jsx +0 -698
  160. package/src/components/toolbar/popup/submitforquote/styles.css +0 -105
  161. package/src/components/toolbar/popup/submitforquote/styles.js +0 -294
  162. package/src/components/toolbar/popup/submitprompt/index.jsx +0 -89
  163. package/src/components/toolbar/popup/submitprompt/styles.css +0 -64
  164. package/src/components/toolbar/popup/submitprompt/styles.js +0 -42
  165. package/src/components/toolbar/toolbar-button.jsx +0 -90
  166. package/src/components/toolbar/toolbar-load-button.jsx +0 -36
  167. package/src/components/toolbar/toolbar-save-button.jsx +0 -32
  168. package/src/components/wizardstep/button/styles.js +0 -677
  169. package/src/components/wizardstep/export.js +0 -5
  170. package/src/components/wizardstep/index.jsx +0 -1372
  171. package/src/components/wizardstep/styles.js +0 -688
  172. package/src/components/wizardstep/wizardstep-content-button.jsx +0 -198
  173. package/src/components/wizardstep/wizardstep-toggle-button.jsx +0 -101
  174. package/src/hooks/useCheckCart.js +0 -38
  175. package/src/hooks/useGetPricesBySku.js +0 -59
  176. package/src/hooks/useValidateToken.js +0 -181
  177. package/src/styles/export.js +0 -7
  178. package/src/styles/tabs.css +0 -40
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitchen-simulator",
3
- "version": "5.0.0-test.6",
3
+ "version": "5.0.0-test.8",
4
4
  "description": "It is a kitchen simulator.",
5
5
  "type": "module",
6
6
 
@@ -16,9 +16,29 @@
16
16
  },
17
17
 
18
18
  "files": [
19
- "src",
19
+ "src/*.js",
20
+ "src/*.jsx",
21
+ "src/catalog",
22
+ "src/utils",
23
+ "src/actions",
24
+ "src/reducers",
25
+ "src/class",
26
+ "src/plugins",
27
+ "src/shared-style",
28
+ "src/translator",
20
29
  "README.md",
21
- "LICENSE"
30
+ "LICENSE",
31
+
32
+ "src/components/_export.js",
33
+ "src/components/atoms",
34
+ "src/components/button",
35
+ "src/components/molecules",
36
+ "src/components/style",
37
+ "src/components/tutorial-view",
38
+ "src/components/viewer2d",
39
+ "src/components/viewer3d",
40
+ "src/components/_export.js",
41
+ "src/components/content.jsx"
22
42
  ],
23
43
 
24
44
  "sideEffects": [
@@ -0,0 +1,11 @@
1
+ import Content from './content';
2
+ import Viewer2DComponents from './viewer2d/export';
3
+ import StyleComponents from './style/export';
4
+
5
+ export { Content, Viewer2DComponents, StyleComponents };
6
+
7
+ export default {
8
+ Content,
9
+ Viewer2DComponents,
10
+ StyleComponents
11
+ };
@@ -1,49 +1,46 @@
1
1
  import * as Three from 'three';
2
+ import { Color, Group } from 'three';
2
3
  import createGrid from './grid-creator';
3
4
  import { disposeObject } from './three-memory-cleaner';
4
- import { Color, Group } from 'three';
5
- import { isUndefined } from 'util';
6
5
  import {
7
- MODE_DRAWING_ITEM_3D,
8
- EPSILON,
9
- DISTANCE_EPSILON,
10
- OBJTYPE_MESH,
11
- ARROW_TEXT_FORECOLOR,
12
- ARROW_TEXT_BACKCOLOR,
13
- ARROW_TEXT_FONTFACE,
14
- UNIT_CENTIMETER,
15
- SHADE_DARK_PURPLE_COLOR,
16
- MODE_DRAGGING_ITEM_3D,
17
- MODE_ROTATING_ITEM_3D,
18
6
  ANIMATE_STEP_MAX,
19
7
  ANIMATE_STEP_MIN,
20
- ANIMATE_OBJECT_OPEN_DOOR_ROTATION_UNIT,
21
- TOP_MOLDING_LOCATION,
22
- MIDDLE_MOLDING_LOCATION,
23
- BOTTOM_MOLDING_LOCATION,
8
+ ARRAY_3D_MODES,
9
+ ARROW_TEXT_BACKCOLOR,
10
+ ARROW_TEXT_FONTFACE,
11
+ ARROW_TEXT_FORECOLOR,
24
12
  BASE_CABINET_LAYOUTPOS,
25
- TALL_CABINET_LAYOUTPOS,
26
- WALL_CABINET_LAYOUTPOS,
13
+ BOTTOM_MOLDING_LOCATION,
27
14
  DECIMAL_PLACES_2,
28
15
  DIFFERENT_VALUES_PATH_LENGTH,
16
+ DISTANCE_EPSILON,
17
+ EPSILON,
18
+ MIDDLE_MOLDING_LOCATION,
19
+ MODE_DRAGGING_ITEM_3D,
20
+ MODE_DRAWING_ITEM_3D,
21
+ MODE_IDLE,
29
22
  MODE_IDLE_3D,
30
- ARRAY_3D_MODES,
31
- MODE_IDLE
23
+ MODE_ROTATING_ITEM_3D,
24
+ OBJTYPE_MESH,
25
+ SHADE_DARK_PURPLE_COLOR,
26
+ TOP_MOLDING_LOCATION,
27
+ UNIT_CENTIMETER,
28
+ WALL_CABINET_LAYOUTPOS
32
29
  } from '../../constants';
33
- import { IDBroker, GeometryUtils, MoldingUtils } from '../../utils/export';
30
+ import { GeometryUtils, IDBroker, MoldingUtils } from '../../utils/export';
34
31
  import convert from 'convert-units';
35
32
  import { verticesDistance } from '../../utils/geometry';
36
- import * as GeomUtils from '../../../demo/src/catalog/utils/geom-utils';
37
- import { loadTexture } from '../../../demo/src/catalog/utils/item-loader';
38
33
  import { returnReplaceableDeepSearchType } from '../viewer2d/utils';
39
34
  import {
40
- replaceMeshesWithLineSegments,
35
+ animateDoor,
41
36
  isElevationView,
42
37
  isEmpty,
43
- animateDoor,
38
+ replaceMeshesWithLineSegments,
44
39
  translateDrawer
45
40
  } from '../../../src/utils/helper';
46
41
  import { formatNumber } from '../../utils/math';
42
+ import * as GeomUtils from '../../../src/catalog/utils/geom-utils.js';
43
+ import { loadTexture } from '../../../src/catalog/utils/item-loader.jsx';
47
44
 
48
45
  let transformBox;
49
46
  export var fVLine = [];
@@ -5,32 +5,31 @@ import PropTypes from 'prop-types';
5
5
  import ReactDOM from 'react-dom';
6
6
  import * as Three from 'three';
7
7
  import {
8
+ checkCabinetOverlap,
9
+ createBacksplash,
10
+ deleteSpecifiedMeshObjects,
11
+ fVLine,
12
+ getDistances,
8
13
  parseData,
9
14
  updateScene,
10
- visibleTransformBox,
11
- getDistances,
12
- fVLine,
13
- deleteSpecifiedMeshObjects,
14
- createBacksplash,
15
- checkCabinetOverlap
15
+ visibleTransformBox
16
16
  } from './scene-creator';
17
- import { disposeScene } from './three-memory-cleaner';
18
- import { disposeObject } from './three-memory-cleaner';
17
+ import { disposeObject, disposeScene } from './three-memory-cleaner';
19
18
  import diff from 'immutablediff';
20
19
  import * as SharedStyle from '../../shared-style';
21
20
  import {
22
- MODE_DRAWING_ITEM_3D,
23
- MODE_IDLE_3D,
21
+ BASE_CABINET_LAYOUTPOS,
24
22
  MODE_3D_VIEW,
25
- UNIT_CENTIMETER,
23
+ MODE_DRAGGING_ITEM_3D,
26
24
  MODE_DRAWING_HOLE_3D,
27
- SECONDARY_PURPLE_COLOR,
25
+ MODE_DRAWING_ITEM_3D,
28
26
  MODE_ELEVATION_VIEW,
29
- MODE_DRAGGING_ITEM_3D,
27
+ MODE_IDLE_3D,
30
28
  MODE_ROTATING_ITEM_3D,
31
- WALL_CABINET_LAYOUTPOS,
32
- BASE_CABINET_LAYOUTPOS,
33
- TALL_CABINET_LAYOUTPOS
29
+ SECONDARY_PURPLE_COLOR,
30
+ TALL_CABINET_LAYOUTPOS,
31
+ UNIT_CENTIMETER,
32
+ WALL_CABINET_LAYOUTPOS
34
33
  } from '../../constants';
35
34
 
36
35
  import { isUndefined } from 'util';
@@ -40,13 +39,14 @@ import { GeometryUtils } from '../../utils/export';
40
39
  import { handleCamRect, isElevationView, isEmpty } from '../../utils/helper';
41
40
  import { RGBELoader } from 'three/examples/jsm/loaders/RGBELoader';
42
41
  import CameraControls from 'camera-controls';
43
- CameraControls.install({ THREE: Three });
44
42
  import { returnReplaceableDeepSearchType } from '../viewer2d/utils';
45
43
  import {
46
44
  getAllMeshes,
47
45
  vectorIntersectWithMesh
48
46
  } from '../../utils/objects-utils';
49
47
 
48
+ CameraControls.install({ THREE: Three });
49
+
50
50
  export default class Scene3DViewer extends React.Component {
51
51
  constructor(props) {
52
52
  super(props);
@@ -2978,7 +2978,7 @@ export default class Scene3DViewer extends React.Component {
2978
2978
  line = line.children[0].children[0];
2979
2979
  // index(faces) of the line
2980
2980
  const indexAttribute = line.geometry.getIndex();
2981
- const firstFaceIndices = undefined;
2981
+ let firstFaceIndices = undefined;
2982
2982
  if (indexAttribute && indexAttribute.length > 0) {
2983
2983
  firstFaceIndices = [
2984
2984
  indexAttribute.getX(0),
@@ -1,53 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import { MdArrowBack as Arrow } from 'react-icons/md';
4
- import * as SharedStyle from '../../shared-style';
5
-
6
- const breadcrumbStyle = {
7
- margin: '1.5em',
8
- display: 'flex'
9
- };
10
-
11
- const breadcrumbTextStyle = {
12
- fontSize: '20px',
13
- cursor: 'pointer'
14
- };
15
-
16
- const breadcrumbLastTextStyle = {
17
- ...breadcrumbTextStyle,
18
- fontWeight: 'bolder',
19
- color: SharedStyle.SECONDARY_COLOR.main
20
- };
21
-
22
- const breadcrumbTabStyle = {
23
- fill: SharedStyle.COLORS.black,
24
- fontSize: '24px',
25
- marginLeft: '10px',
26
- marginRight: '10px'
27
- };
28
-
29
- const CatalogBreadcrumb = ({ names }) => {
30
- let labelNames = names.map((name, ind) => {
31
- let lastElement = ind === names.length - 1;
32
-
33
- return (
34
- <div key={ind} style={{ display: 'flex' }}>
35
- <div
36
- style={!lastElement ? breadcrumbTextStyle : breadcrumbLastTextStyle}
37
- onClick={name.action || null}
38
- >
39
- {name.name}
40
- </div>
41
- {!lastElement ? <Arrow style={breadcrumbTabStyle} /> : null}
42
- </div>
43
- );
44
- });
45
-
46
- return <div style={breadcrumbStyle}>{labelNames}</div>;
47
- };
48
-
49
- CatalogBreadcrumb.propTypes = {
50
- names: PropTypes.arrayOf(PropTypes.object).isRequired
51
- };
52
-
53
- export default CatalogBreadcrumb;
@@ -1,229 +0,0 @@
1
- import React, { Component } from 'react';
2
- import PropTypes from 'prop-types';
3
- import { FaPlusCircle as IconAdd } from 'react-icons/fa';
4
- import * as SharedStyle from '../../shared-style';
5
- import { API_SERVER_URL, MODE, MODE_IDLE } from '../../constants';
6
- import browserHistory from '../../@history';
7
- import axios from 'axios';
8
- import SnackBar from '../atoms/Snackbar/index';
9
- const AWS = require('aws-sdk');
10
-
11
- const s3 = new AWS.S3({
12
- accessKeyId: process.env.REACT_APP_AWS_ID,
13
- secretAccessKey: process.env.REACT_APP_AWS_SECRET
14
- });
15
-
16
- const STYLE_BOX = {
17
- width: '14em',
18
- height: '14em',
19
- padding: '0.625em',
20
- background: '#f7f7f9',
21
- border: '1px solid #e1e1e8',
22
- cursor: 'pointer',
23
- position: 'relative',
24
- boxShadow: '0 1px 6px 0 rgba(0, 0, 0, 0.11), 0 1px 4px 0 rgba(0, 0, 0, 0.11)',
25
- borderRadius: '2px',
26
- transition: 'all .15s ease-in-out',
27
- WebkitTransition: 'all .15s ease-in-out',
28
- alignSelf: 'center',
29
- justifySelf: 'center'
30
- };
31
-
32
- const STYLE_BOX_HOVER = {
33
- ...STYLE_BOX,
34
- background: SharedStyle.SECONDARY_COLOR.main
35
- };
36
-
37
- const STYLE_TITLE = {
38
- width: '100%',
39
- textAlign: 'center',
40
- display: 'block',
41
- marginBottom: '.5em',
42
- textTransform: 'capitalize'
43
- };
44
-
45
- const STYLE_TITLE_HOVER = {
46
- ...STYLE_TITLE,
47
- color: SharedStyle.COLORS.white
48
- };
49
-
50
- const STYLE_IMAGE_CONTAINER = {
51
- width: '100%',
52
- height: '8em',
53
- position: 'relative',
54
- overflow: 'hidden',
55
- border: 'solid 1px #e6e6e6',
56
- padding: 0,
57
- margin: 0,
58
- marginBottom: '5px'
59
- };
60
-
61
- const STYLE_IMAGE = {
62
- position: 'absolute',
63
- background: '#222',
64
- width: '100%',
65
- height: '100%',
66
- backgroundSize: 'contain',
67
- backgroundPosition: '50% 50%',
68
- backgroundColor: SharedStyle.COLORS.white,
69
- backgroundRepeat: 'no-repeat',
70
- transition: 'all .2s ease-in-out'
71
- };
72
-
73
- const STYLE_IMAGE_HOVER = {
74
- ...STYLE_IMAGE,
75
- transform: 'scale(1.2)'
76
- };
77
-
78
- const STYLE_PLUS_HOVER = {
79
- marginTop: '1.5em',
80
- color: SharedStyle.SECONDARY_COLOR.main,
81
- fontSize: '2em',
82
- opacity: '0.7',
83
- width: '100%'
84
- };
85
-
86
- const STYLE_DESCRIPTION = {
87
- display: 'block',
88
- display: '-webkit-box',
89
- height: '2em',
90
- margin: '0 auto',
91
- fontSize: '0.75em',
92
- fontStyle: 'italic',
93
- lineHeight: '1em',
94
- WebkitLineClamp: '2',
95
- WebkitBoxOrient: 'vertical',
96
- overflow: 'hidden',
97
- textOverflow: 'ellipsis'
98
- };
99
-
100
- const STYLE_TAGS = {
101
- listStyle: 'none',
102
- margin: '0px',
103
- padding: '0px',
104
- fontSize: '11px',
105
- marginBottom: '3px'
106
- };
107
-
108
- const STYLE_TAG = {
109
- display: 'inline-block',
110
- background: '#337ab7',
111
- color: SharedStyle.COLORS.white,
112
- padding: '1px 4px',
113
- marginRight: '3px',
114
- borderRadius: '3px'
115
- };
116
-
117
- const STYLE_ASSIGN_TAG = {
118
- display: 'inline-block',
119
- background: '#33b768',
120
- color: SharedStyle.COLORS.white,
121
- padding: '1px 4px',
122
- marginRight: '3px',
123
- borderRadius: '3px'
124
- };
125
-
126
- export default class CatalogItem extends Component {
127
- constructor(props) {
128
- super(props);
129
- this.state = { hover: false, snackBarMessage: '', isSnackBarOpen: '' };
130
- }
131
-
132
- select(element) {
133
- sessionStorage.setItem('projectTitle', element.title);
134
- this.context.projectActions.rename(element.title);
135
- sessionStorage.setItem('projectId', element.id);
136
- sessionStorage.setItem('email', element.email);
137
- const _self = this;
138
- if (MODE === 'production') {
139
- s3.getObject(
140
- {
141
- Bucket: process.env.REACT_APP_AWS_BUCKET_NAME,
142
- Key: element.data
143
- },
144
- function (err, data) {
145
- if (err !== null) {
146
- console.log(err);
147
- this.setState({
148
- snackBarMessage: 'Something went wrong.',
149
- isSnackBarOpen: true
150
- });
151
- return;
152
- }
153
- var fileData = data.Body.toString('utf-8');
154
- const jsonData = JSON.parse(fileData);
155
- _self.context.projectActions.loadProject(
156
- jsonData,
157
- this.props.categoryData
158
- );
159
- }
160
- );
161
- } else {
162
- axios
163
- .post(`${API_SERVER_URL}/api/project/loadPidData`, {
164
- pid: element.id
165
- })
166
- .then(response => {
167
- const jsonData = JSON.parse(response.data.data);
168
- this.context.projectActions.loadProject(
169
- jsonData,
170
- this.props.categoryData
171
- );
172
- });
173
- }
174
- this.context.projectActions.setMode(MODE_IDLE);
175
- const visualizerName = sessionStorage.getItem('visualizerName');
176
- browserHistory.push({
177
- pathname: `/${visualizerName}/project/${
178
- element.role
179
- }/${sessionStorage.getItem('jwt_access_token')}/${element.id}`
180
- });
181
- }
182
-
183
- render() {
184
- let element = this.props.element;
185
- let hover = this.state.hover;
186
- return (
187
- <div
188
- style={hover ? STYLE_BOX_HOVER : STYLE_BOX}
189
- onClick={e => {
190
- e.preventDefault(), this.select(element);
191
- }}
192
- onMouseEnter={e => this.setState({ hover: true })}
193
- onMouseLeave={e => this.setState({ hover: false })}
194
- >
195
- <SnackBar
196
- isOpen={this.state.isSnackBarOpen}
197
- message={this.state.snackBarMessage}
198
- handleClose={() =>
199
- this.setState({ isSnackBarOpen: false, snackBarMessage: '' })
200
- }
201
- />
202
- <b style={STYLE_TITLE}>{element.title}</b>
203
- <div style={STYLE_IMAGE_CONTAINER}>
204
- <div style={{ ...STYLE_IMAGE }}>
205
- {hover ? <IconAdd style={STYLE_PLUS_HOVER} /> : null}
206
- </div>
207
- </div>
208
- <ul style={STYLE_TAGS}>
209
- {element.is_assistance_requested === 1 ? (
210
- <li style={STYLE_ASSIGN_TAG}>Assign</li>
211
- ) : null}
212
- <li style={STYLE_TAG}>{element.saved_at}</li>
213
- </ul>
214
- {/* <div style={STYLE_DESCRIPTION}>{element.info.description}</div> */}
215
- </div>
216
- );
217
- }
218
- }
219
-
220
- CatalogItem.propTypes = {
221
- element: PropTypes.object.isRequired
222
- };
223
-
224
- CatalogItem.contextTypes = {
225
- itemsActions: PropTypes.object.isRequired,
226
- linesActions: PropTypes.object.isRequired,
227
- holesActions: PropTypes.object.isRequired,
228
- projectActions: PropTypes.object.isRequired
229
- };
@@ -1,173 +0,0 @@
1
- import React, { Component } from 'react';
2
- import PropTypes from 'prop-types';
3
- import CatalogItem from './catalog-item';
4
- import CatalogBreadcrumb from './catalog-breadcrumb';
5
- import CatalogPageItem from './catalog-page-item';
6
- import CatalogTurnBackPageItem from './catalog-turn-back-page-item';
7
- import ContentContainer from '../style/content-container';
8
- import { API_SERVER_URL } from '../../constants';
9
- import ContentTitle from '../style/content-title';
10
- import * as SharedStyle from '../../shared-style';
11
- import axios from 'axios';
12
- import SnackBar from '../atoms/Snackbar/index';
13
-
14
- const containerStyle = {
15
- position: 'fixed',
16
- width: 'calc( 100% - 94px)',
17
- height: 'calc( 100% - 71px)',
18
- backgroundColor: '#FFF',
19
- padding: '1em',
20
- left: 90,
21
- top: 70,
22
- overflowY: 'auto',
23
- overflowX: 'hidden',
24
- zIndex: 10
25
- };
26
-
27
- const itemsStyle = {
28
- display: 'flex',
29
- gridTemplateColumns: 'repeat(auto-fit, minmax(14em, 1fr))',
30
- gridGap: '10px',
31
- marginTop: '1em'
32
- };
33
-
34
- const searchContainer = {
35
- width: '100%',
36
- height: '3em',
37
- padding: '0.625em',
38
- background: '#f7f7f9',
39
- border: '1px solid #e1e1e8',
40
- cursor: 'pointer',
41
- position: 'relative',
42
- boxShadow: '0 1px 6px 0 rgba(0, 0, 0, 0.11), 0 1px 4px 0 rgba(0, 0, 0, 0.11)',
43
- borderRadius: '2px',
44
- transition: 'all .2s ease-in-out',
45
- WebkitTransition: 'all .2s ease-in-out',
46
- marginBottom: '1em'
47
- };
48
-
49
- const searchText = {
50
- width: '8em',
51
- display: 'inline-block'
52
- };
53
-
54
- const searchInput = {
55
- width: 'calc( 100% - 10em )',
56
- height: '2em',
57
- margin: '0',
58
- padding: '0 1em',
59
- border: '1px solid #EEE'
60
- };
61
-
62
- const historyContainer = {
63
- ...searchContainer,
64
- padding: '0.2em 0.625em'
65
- };
66
-
67
- const historyElementStyle = {
68
- width: 'auto',
69
- height: '2em',
70
- lineHeight: '2em',
71
- textAlign: 'center',
72
- borderRadius: '1em',
73
- display: 'inline-block',
74
- cursor: 'pointer',
75
- backgroundColor: SharedStyle.PRIMARY_COLOR.alt,
76
- color: SharedStyle.PRIMARY_COLOR.text_main,
77
- textTransform: 'capitalize',
78
- margin: '0.25em',
79
- padding: '0 1em'
80
- };
81
-
82
- export default class CatalogList extends Component {
83
- constructor(props, context) {
84
- super(props);
85
-
86
- this.state = {
87
- elementsToDisplay: [],
88
- matchString: '',
89
- matchedElements: [],
90
- snackBarMessage: '',
91
- isSnackBarOpen: false
92
- };
93
- }
94
-
95
- componentDidMount() {
96
- const self = this;
97
- const user = self.props.param.params;
98
- axios
99
- .post(`${API_SERVER_URL}/api/project/loadProject`, {
100
- userrole: user.role,
101
- access_token: user.token,
102
- env: 'front'
103
- })
104
- .then(response => {
105
- const { success } = response.data;
106
- if (success === true) {
107
- const { projectElement } = response.data;
108
- self.setState({ elementsToDisplay: projectElement });
109
- } else
110
- this.setState({
111
- snackBarMessage: 'Loading project failed.',
112
- isSnackBarOpen: true
113
- });
114
- });
115
- }
116
-
117
- render() {
118
- let turnBackButton = <CatalogTurnBackPageItem key="back" />;
119
- return (
120
- <ContentContainer
121
- width={this.props.width}
122
- height={this.props.height}
123
- style={{ ...containerStyle, ...this.props.style }}
124
- >
125
- <SnackBar
126
- isOpen={this.state.isSnackBarOpen}
127
- message={this.state.snackBarMessage}
128
- handleClose={() =>
129
- this.setState({ isSnackBarOpen: false, snackBarMessage: '' })
130
- }
131
- />
132
- <ContentTitle>My Project Library</ContentTitle>
133
- <div style={itemsStyle}>
134
- {this.state.matchString === ''
135
- ? [
136
- turnBackButton,
137
- // categoriesToDisplay.map(cat => <CatalogPageItem key={cat.name} page={cat} oldPage={currentCategory}/>),
138
- this.state.elementsToDisplay.map(elem => (
139
- <CatalogItem
140
- key={elem.id}
141
- element={elem}
142
- categoryData={this.props.categoryData}
143
- />
144
- ))
145
- ]
146
- : this.state.matchedElements.map(elem => (
147
- <CatalogItem
148
- key={elem.id}
149
- element={elem}
150
- categoryData={this.props.categoryData}
151
- />
152
- ))}
153
- </div>
154
- </ContentContainer>
155
- );
156
- }
157
- }
158
-
159
- CatalogList.propTypes = {
160
- state: PropTypes.object.isRequired,
161
- width: PropTypes.number.isRequired,
162
- height: PropTypes.number.isRequired,
163
- style: PropTypes.object
164
- };
165
-
166
- CatalogList.contextTypes = {
167
- catalog: PropTypes.object.isRequired,
168
- translator: PropTypes.object.isRequired,
169
- itemsActions: PropTypes.object.isRequired,
170
- linesActions: PropTypes.object.isRequired,
171
- holesActions: PropTypes.object.isRequired,
172
- projectActions: PropTypes.object.isRequired
173
- };