@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 +1 -1
- package/App/Translations.js +4 -2
- package/Screens/Designer/SubScreens/Designviews/Reducers/Actions.js +13 -5
- package/Screens/License/Screen.js +7 -1
- package/package.json +2 -2
- package/src/App/Main.js +1 -1
- package/src/App/Translations.js +2 -0
- package/src/Screens/Designer/SubScreens/Designviews/Reducers/Actions.js +9 -1
- package/src/Screens/License/Screen.js +11 -0
- package/src/Screens/License/__tests__/LicenseScreen.test.js +1 -1
- package/src/Screens/License/__tests__/__snapshots__/LicenseScreen.test.js.snap +36 -0
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)
|
|
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"], {
|
package/App/Translations.js
CHANGED
|
@@ -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',
|
|
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 =
|
|
77
|
+
_context.next = 7;
|
|
70
78
|
return (0, _Helpers.dispatchPostData)(dispatch)("designview/images/".concat(key), url, files);
|
|
71
79
|
|
|
72
|
-
case
|
|
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
|
|
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.
|
|
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.
|
|
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)
|
|
151
|
+
['creator', 'designer', 'creator+designer', 'finder'].indexOf(this.props.license) === -1;
|
|
152
152
|
|
|
153
153
|
return (
|
|
154
154
|
<div>
|
package/src/App/Translations.js
CHANGED
|
@@ -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',
|
|
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
|
`;
|