@configuratorware/configurator-admingui 1.35.2 → 1.35.4

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/App/Main.js CHANGED
@@ -287,7 +287,7 @@ var Main = /*#__PURE__*/function (_Component) {
287
287
  });
288
288
 
289
289
  var credentials = this.props.credentials;
290
- var showLicenseError = !this.props.license || ['creator', 'designer', 'creator+designer'].indexOf(this.props.license) < 0;
290
+ var showLicenseError = !this.props.license || ['creator', 'designer', 'creator+designer', 'finder'].indexOf(this.props.license) === -1;
291
291
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_AppBar["default"], {
292
292
  title: (0, _i18n.T)('header.title'),
293
293
  licenseInfo: /*#__PURE__*/_react["default"].createElement(_LicenseInfo["default"], {
@@ -15,7 +15,8 @@ require("./i18n").use({
15
15
  infoUrl: 'https://www.configuratorware.com/eula',
16
16
  creator_designer: 'creator and designer',
17
17
  creator: 'creator',
18
- designer: 'designer'
18
+ designer: 'designer',
19
+ finder: 'finder'
19
20
  },
20
21
  // MENUPOINTS
21
22
  users: 'Users',
@@ -81,7 +82,8 @@ require("./i18n").use({
81
82
  infoUrl: 'https://www.configuratorware.de/eula',
82
83
  creator_designer: 'creator und designer',
83
84
  creator: 'creator',
84
- designer: 'designer'
85
+ designer: 'designer',
86
+ finder: 'finder'
85
87
  },
86
88
  // MENUPOINTS
87
89
  users: 'Benutzer',
@@ -42,6 +42,13 @@ exports.START_UPLOAD = START_UPLOAD;
42
42
  var FINISH_UPLOAD = 'DESIGNVIEW_FINISH_IMAGE_UPLOAD';
43
43
  exports.FINISH_UPLOAD = FINISH_UPLOAD;
44
44
 
45
+ var renameFile = function renameFile(originalFile, newName) {
46
+ return new File([originalFile], newName, {
47
+ type: originalFile.type,
48
+ lastModified: originalFile.lastModified
49
+ });
50
+ };
51
+
45
52
  var beforeApiStateHandler = function beforeApiStateHandler(apiAction) {
46
53
  return function (dispatch, getState) {
47
54
  return new Promise(function (resolve) {
@@ -55,21 +62,22 @@ var beforeApiStateHandler = function beforeApiStateHandler(apiAction) {
55
62
  });
56
63
  return Promise.all(keys.map( /*#__PURE__*/function () {
57
64
  var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(key) {
58
- var _viewImages$key, file, type, id, files, url, result;
65
+ var _viewImages$key, file, type, id, renamedFile, files, url, result;
59
66
 
60
67
  return regeneratorRuntime.wrap(function _callee$(_context) {
61
68
  while (1) {
62
69
  switch (_context.prev = _context.next) {
63
70
  case 0:
64
71
  _viewImages$key = viewImages[key], file = _viewImages$key.file, type = _viewImages$key.type, id = _viewImages$key.id;
72
+ renamedFile = renameFile(file, file.name.replace(/\s/g, ''));
65
73
  files = new FormData();
66
- files.append('file', file); //const itemId = get(state, 'source.item.id');
74
+ files.append('file', renamedFile); //const itemId = get(state, 'source.item.id');
67
75
 
68
76
  url = "/designviews/".concat(apiAction.data.id, "/").concat(type, "/upload/detail_image/").concat(id);
69
- _context.next = 6;
77
+ _context.next = 7;
70
78
  return (0, _Helpers.dispatchPostData)(dispatch)("designview/images/".concat(key), url, files);
71
79
 
72
- case 6:
80
+ case 7:
73
81
  result = _context.sent;
74
82
  dispatch({
75
83
  type: FINISH_UPLOAD,
@@ -77,7 +85,7 @@ var beforeApiStateHandler = function beforeApiStateHandler(apiAction) {
77
85
  });
78
86
  return _context.abrupt("return", result);
79
87
 
80
- case 9:
88
+ case 10:
81
89
  case "end":
82
90
  return _context.stop();
83
91
  }
@@ -62,6 +62,7 @@ var License = function License(props) {
62
62
 
63
63
  var isCreator = uploadedLicense === null && (license === 'creator' || license === 'creator+designer') || uploadedLicense === 'creator' || uploadedLicense === 'creator+designer';
64
64
  var isDesigner = uploadedLicense === null && (license === 'designer' || license === 'creator+designer') || uploadedLicense === 'designer' || uploadedLicense === 'creator+designer';
65
+ var isFinder = uploadedLicense === null && license && license.indexOf('finder') !== -1 || uploadedLicense && uploadedLicense.indexOf('finder') !== -1;
65
66
  var styles = {
66
67
  success: {
67
68
  color: 'green'
@@ -104,7 +105,12 @@ var License = function License(props) {
104
105
  }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
105
106
  className: "label",
106
107
  variant: "body1"
107
- }, (0, _i18n.T)('license.designer')), /*#__PURE__*/_react["default"].createElement(_core.IconButton, null, isDesigner ? /*#__PURE__*/_react["default"].createElement(_CheckmarkIcon["default"], null) : /*#__PURE__*/_react["default"].createElement(_Cancel["default"], null)))));
108
+ }, (0, _i18n.T)('license.designer')), /*#__PURE__*/_react["default"].createElement(_core.IconButton, null, isDesigner ? /*#__PURE__*/_react["default"].createElement(_CheckmarkIcon["default"], null) : /*#__PURE__*/_react["default"].createElement(_Cancel["default"], null))), /*#__PURE__*/_react["default"].createElement("div", {
109
+ className: isFinder ? 'row success' : 'row invalid'
110
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
111
+ className: "label",
112
+ variant: "body1"
113
+ }, (0, _i18n.T)('license.finder')), /*#__PURE__*/_react["default"].createElement(_core.IconButton, null, isFinder ? /*#__PURE__*/_react["default"].createElement(_CheckmarkIcon["default"], null) : /*#__PURE__*/_react["default"].createElement(_Cancel["default"], null)))));
108
114
  };
109
115
 
110
116
  var mapStateToProps = function mapStateToProps(state) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@configuratorware/configurator-admingui",
3
- "version": "1.35.2",
3
+ "version": "1.35.4",
4
4
  "license": "UNLICENSED",
5
5
  "private": false,
6
6
  "dependencies": {
@@ -29,7 +29,7 @@
29
29
  "react-redux-i18n": "^1.9.3",
30
30
  "react-router": "^3.2.6",
31
31
  "react-sortable-hoc": "^1.11.0",
32
- "redhotmagma-visualization": "1.35.2",
32
+ "redhotmagma-visualization": "1.35.4",
33
33
  "redux": "^4.1.0",
34
34
  "redux-logger": "^3.0.6",
35
35
  "redux-persist": "^5.10.0",
package/src/App/Main.js CHANGED
@@ -148,7 +148,7 @@ class Main extends Component {
148
148
  const { credentials } = this.props;
149
149
  const showLicenseError =
150
150
  !this.props.license ||
151
- ['creator', 'designer', 'creator+designer'].indexOf(this.props.license) < 0;
151
+ ['creator', 'designer', 'creator+designer', 'finder'].indexOf(this.props.license) === -1;
152
152
 
153
153
  return (
154
154
  <div>
@@ -16,6 +16,7 @@ require('./i18n').use(
16
16
  creator_designer: 'creator and designer',
17
17
  creator: 'creator',
18
18
  designer: 'designer',
19
+ finder: 'finder',
19
20
  },
20
21
  // MENUPOINTS
21
22
 
@@ -88,6 +89,7 @@ require('./i18n').use(
88
89
  creator_designer: 'creator und designer',
89
90
  creator: 'creator',
90
91
  designer: 'designer',
92
+ finder: 'finder',
91
93
  },
92
94
  // MENUPOINTS
93
95
 
@@ -19,6 +19,13 @@ import {
19
19
  } from '../../../../../App/Reducers/Entity/Actions';
20
20
  import { dispatchPostData } from '../../../../../App/Reducers/Api/Helpers';
21
21
 
22
+ const renameFile = (originalFile, newName) => {
23
+ return new File([originalFile], newName, {
24
+ type: originalFile.type,
25
+ lastModified: originalFile.lastModified,
26
+ });
27
+ };
28
+
22
29
  const beforeApiStateHandler = apiAction => (dispatch, getState) => {
23
30
  return new Promise(resolve => {
24
31
  const state = getState()[REDUCER_NAME];
@@ -31,8 +38,9 @@ const beforeApiStateHandler = apiAction => (dispatch, getState) => {
31
38
  return Promise.all(
32
39
  keys.map(async key => {
33
40
  const { file, type, id } = viewImages[key];
41
+ const renamedFile = renameFile(file, file.name.replace(/\s/g, ''));
34
42
  const files = new FormData();
35
- files.append('file', file);
43
+ files.append('file', renamedFile);
36
44
  //const itemId = get(state, 'source.item.id');
37
45
  const url = `/designviews/${apiAction.data.id}/${type}/upload/detail_image/${id}`;
38
46
  const result = await dispatchPostData(dispatch)(`designview/images/${key}`, url, files);
@@ -26,6 +26,10 @@ const License = props => {
26
26
  (uploadedLicense === null && (license === 'designer' || license === 'creator+designer')) ||
27
27
  uploadedLicense === 'designer' ||
28
28
  uploadedLicense === 'creator+designer';
29
+
30
+ const isFinder =
31
+ (uploadedLicense === null && license && license.indexOf('finder') !== -1) ||
32
+ (uploadedLicense && uploadedLicense.indexOf('finder') !== -1);
29
33
 
30
34
  const styles = {
31
35
  success: {
@@ -85,6 +89,13 @@ const License = props => {
85
89
  </Typography>
86
90
  <IconButton>{isDesigner ? <CheckCircleIcon /> : <CancelIcon />}</IconButton>
87
91
  </div>
92
+
93
+ <div className={isFinder ? 'row success' : 'row invalid'}>
94
+ <Typography className="label" variant="body1">
95
+ {T('license.finder')}
96
+ </Typography>
97
+ <IconButton>{isFinder ? <CheckCircleIcon /> : <CancelIcon />}</IconButton>
98
+ </div>
88
99
  </div>
89
100
  </div>
90
101
  );
@@ -7,7 +7,7 @@ import { initConnectedComponent } from '../../../App/TestHelpers';
7
7
  const ConnectedScreen = initConnectedComponent(License);
8
8
 
9
9
  // Labels to be shown
10
- const licenseTypes = ['creator', 'designer'];
10
+ const licenseTypes = ['creator', 'designer', 'finder'];
11
11
 
12
12
  describe('License / Screen', () => {
13
13
  it('INTEGRATION - renders the screen', () => {
@@ -178,6 +178,42 @@ exports[`License / Screen INTEGRATION - renders the screen 1`] = `
178
178
  </span>
179
179
  </button>
180
180
  </div>
181
+ <div
182
+ class="row invalid"
183
+ >
184
+ <p
185
+ class="MuiTypography-root-19 MuiTypography-body1-28 label"
186
+ >
187
+ <span>
188
+ license.finder
189
+ </span>
190
+ </p>
191
+ <button
192
+ class="MuiButtonBase-root-7 MuiIconButton-root-1"
193
+ tabindex="0"
194
+ type="button"
195
+ >
196
+ <span
197
+ class="MuiIconButton-label-6"
198
+ >
199
+ <svg
200
+ aria-hidden="true"
201
+ class="MuiSvgIcon-root-10"
202
+ focusable="false"
203
+ role="presentation"
204
+ viewBox="0 0 24 24"
205
+ >
206
+ <path
207
+ d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"
208
+ />
209
+ <path
210
+ d="M0 0h24v24H0z"
211
+ fill="none"
212
+ />
213
+ </svg>
214
+ </span>
215
+ </button>
216
+ </div>
181
217
  </div>
182
218
  </div>
183
219
  `;