@configuratorware/configurator-admingui 1.47.11 → 1.48.0
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/Reducers/Api/Actions.js +3 -2
- package/Components/Form.js +4 -2
- package/Components/Styles.scss +2 -2
- package/Screens/Creator/Components/VisualizationAndMediaData/Components/Image.js +2 -1
- package/Screens/Creator/Components/VisualizationAndMediaData/VisualizationAndMediaData.js +11 -14
- package/Screens/DesignerGlobalItemPrices/Reducers/Reducer.js +2 -0
- package/Screens/Item/Components/ExportCreatorItemDialog.js +195 -0
- package/Screens/Item/Containers/List.js +2 -1
- package/Screens/Item/DataStructures/Prices/ActionHelpers.js +51 -0
- package/Screens/Item/Reducers/Actions.js +17 -2
- package/Screens/Item/Reducers/ItemReducer.js +2 -0
- package/Screens/Item/Translations.js +13 -2
- package/Screens/Login/Screen.js +19 -2
- package/Screens/Option/Reducers/Reducer.js +2 -0
- package/package.json +3 -3
|
@@ -160,14 +160,15 @@ var fetchDataIfNeeded = exports.fetchDataIfNeeded = function fetchDataIfNeeded(s
|
|
|
160
160
|
};
|
|
161
161
|
};
|
|
162
162
|
var postData = exports.postData = function postData(source, data, key) {
|
|
163
|
+
var additionalParams = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
163
164
|
return function (dispatch) {
|
|
164
165
|
dispatch(postRequest(source, data, key));
|
|
165
|
-
var params = _objectSpread({
|
|
166
|
+
var params = _objectSpread(_objectSpread({
|
|
166
167
|
method: 'post',
|
|
167
168
|
data: data
|
|
168
169
|
}, source instanceof Object ? source : {
|
|
169
170
|
url: source
|
|
170
|
-
});
|
|
171
|
+
}), additionalParams);
|
|
171
172
|
return _Api["default"].request(params).then(function (response) {
|
|
172
173
|
return dispatch(receiveData(source, key, response.data));
|
|
173
174
|
})["catch"](function (error) {
|
package/Components/Form.js
CHANGED
|
@@ -265,7 +265,8 @@ var ConfigurableForm = exports.ConfigurableForm = /*#__PURE__*/function (_Compon
|
|
|
265
265
|
innerElementBottom = _this$props.innerElementBottom,
|
|
266
266
|
cancelText = _this$props.cancelText,
|
|
267
267
|
actionButtons = _this$props.actionButtons,
|
|
268
|
-
children = _this$props.children
|
|
268
|
+
children = _this$props.children,
|
|
269
|
+
className = _this$props.className;
|
|
269
270
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
270
271
|
ref: "form"
|
|
271
272
|
}, /*#__PURE__*/_react["default"].createElement(Form, {
|
|
@@ -273,7 +274,8 @@ var ConfigurableForm = exports.ConfigurableForm = /*#__PURE__*/function (_Compon
|
|
|
273
274
|
submitText: submitText || (0, _i18n.T)('Save'),
|
|
274
275
|
onCancel: this.onCancel,
|
|
275
276
|
cancelText: cancelText || (0, _i18n.T)('Cancel'),
|
|
276
|
-
actionButtons: actionButtons
|
|
277
|
+
actionButtons: actionButtons,
|
|
278
|
+
className: className
|
|
277
279
|
}, innerElementTop, formFields && formFields.map(function (field, idx) {
|
|
278
280
|
return _this2.renderWrappedInput(field, idx);
|
|
279
281
|
}), children, innerElementBottom));
|
package/Components/Styles.scss
CHANGED
|
@@ -50,7 +50,6 @@
|
|
|
50
50
|
text-align: center;
|
|
51
51
|
margin-top: 40px;
|
|
52
52
|
|
|
53
|
-
|
|
54
53
|
.form-inner {
|
|
55
54
|
margin: auto;
|
|
56
55
|
text-align: left;
|
|
@@ -58,10 +57,12 @@
|
|
|
58
57
|
width: 100%;
|
|
59
58
|
max-width: 600px;
|
|
60
59
|
|
|
60
|
+
|
|
61
61
|
.action-buttons {
|
|
62
62
|
display: flex;
|
|
63
63
|
flex-direction: row;
|
|
64
64
|
justify-content: flex-end;
|
|
65
|
+
margin: 8px -8px 0 -8px;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
#orderList {
|
|
@@ -91,7 +92,6 @@
|
|
|
91
92
|
clear: both;
|
|
92
93
|
padding-bottom: 14px;
|
|
93
94
|
position: relative;
|
|
94
|
-
margin-left: 15px;
|
|
95
95
|
|
|
96
96
|
.form-input-addButton {
|
|
97
97
|
position: absolute !important;
|
|
@@ -9,6 +9,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles"));
|
|
10
10
|
var _i18n = require("../../../../../App/i18n");
|
|
11
11
|
var _core = require("@material-ui/core");
|
|
12
|
+
var _network = _interopRequireDefault(require("../../../../../App/Config/network"));
|
|
12
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
13
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -92,7 +93,7 @@ var Image = (0, _withStyles["default"])({
|
|
|
92
93
|
tooltip: classes.tooltip
|
|
93
94
|
}
|
|
94
95
|
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
95
|
-
src: src,
|
|
96
|
+
src: _network["default"].basePath + src.replace(/^\//, ''),
|
|
96
97
|
onLoad: function onLoad() {
|
|
97
98
|
return setLoading(false);
|
|
98
99
|
},
|
|
@@ -35,8 +35,6 @@ var _ViewEdit = _interopRequireDefault(require("./Components/ViewEdit"));
|
|
|
35
35
|
var _EditableText = _interopRequireDefault(require("./Components/EditableText"));
|
|
36
36
|
var _ImageEditTools = _interopRequireDefault(require("./Components/ImageEditTools"));
|
|
37
37
|
require("./Translations");
|
|
38
|
-
var _clsx = _interopRequireDefault(require("clsx"));
|
|
39
|
-
var _InfoIcon = _interopRequireDefault(require("../../../../UIComponents/icons/InfoIcon"));
|
|
40
38
|
var _CloseButton = _interopRequireDefault(require("../../../../Components/CloseButton"));
|
|
41
39
|
var _Hint = _interopRequireDefault(require("../../../../Components/Hint"));
|
|
42
40
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -347,7 +345,7 @@ var VisualizationAndMediaData = exports.VisualizationAndMediaData = (0, _withSty
|
|
|
347
345
|
}
|
|
348
346
|
};
|
|
349
347
|
})(function (_ref4) {
|
|
350
|
-
var
|
|
348
|
+
var enable2dTools = _ref4.enable2dTools,
|
|
351
349
|
item = _ref4.item,
|
|
352
350
|
itemId = _ref4.itemId,
|
|
353
351
|
loadData = _ref4.loadData,
|
|
@@ -531,9 +529,6 @@ var VisualizationAndMediaData = exports.VisualizationAndMediaData = (0, _withSty
|
|
|
531
529
|
}
|
|
532
530
|
}(componentMediaInfo);
|
|
533
531
|
}, [componentMediaInfo]);
|
|
534
|
-
if (!enabled) {
|
|
535
|
-
return null;
|
|
536
|
-
}
|
|
537
532
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
538
533
|
variant: "contained",
|
|
539
534
|
color: "primary",
|
|
@@ -568,13 +563,15 @@ var VisualizationAndMediaData = exports.VisualizationAndMediaData = (0, _withSty
|
|
|
568
563
|
onChange: function onChange(evt, value) {
|
|
569
564
|
return setEditorMode(value);
|
|
570
565
|
}
|
|
571
|
-
},
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
566
|
+
}, /*#__PURE__*/_react["default"].createElement(_Tabs.Tab, {
|
|
567
|
+
component: "div",
|
|
568
|
+
value: editorModes.componentsAndOptions,
|
|
569
|
+
label: (0, _i18n.T)("visualizationAndMediaData.editorModes.componentsAndOptions")
|
|
570
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tabs.Tab, {
|
|
571
|
+
component: "div",
|
|
572
|
+
value: editorModes.viewsAndVisualization,
|
|
573
|
+
label: (0, _i18n.T)("visualizationAndMediaData.editorModes.viewsAndVisualization"),
|
|
574
|
+
disabled: !enable2dTools
|
|
578
575
|
})), editorMode === editorModes.componentsAndOptions ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
579
576
|
className: classes.infoLabel
|
|
580
577
|
}, (0, _i18n.T)('visualizationAndMediaData.infoBoxTextComponentsAndOptions')) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -958,6 +955,6 @@ var _default = exports["default"] = (0, _reactRedux.connect)(mapStateToProps, ma
|
|
|
958
955
|
})((0, _RemappedProps.withRemappedProps)(function (_ref15) {
|
|
959
956
|
var item = _ref15.item;
|
|
960
957
|
return {
|
|
961
|
-
|
|
958
|
+
enable2dTools: ['2dVariant', '2dLayer'].indexOf((0, _get["default"])(item, 'visualizationMode.identifier')) !== -1
|
|
962
959
|
};
|
|
963
960
|
})(VisualizationAndMediaData)));
|
|
@@ -7,6 +7,7 @@ exports.designerGlobalItemPricesData = exports["default"] = void 0;
|
|
|
7
7
|
var _FeatureReducers = require("../../../App/FeatureReducers");
|
|
8
8
|
var _Actions = require("../Reducers/Actions");
|
|
9
9
|
var _Reducer = require("../../../App/Reducers/Entity/Reducer");
|
|
10
|
+
var _ActionHelpers = require("../../Item/DataStructures/Prices/ActionHelpers");
|
|
10
11
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
11
12
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
13
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -85,6 +86,7 @@ var initialState = _objectSpread({}, (0, _Reducer.getDefaultEntityState)({
|
|
|
85
86
|
var designerGlobalItemPricesData = exports.designerGlobalItemPricesData = (0, _FeatureReducers.createFeatureReducer)(_Actions.REDUCER_NAME, function () {
|
|
86
87
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
87
88
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
89
|
+
(0, _ActionHelpers.removeInvalidPriceEntries)(state, action);
|
|
88
90
|
return (0, _Reducer.defaultEntityReducer)(state, action, initialState);
|
|
89
91
|
});
|
|
90
92
|
var _default = exports["default"] = designerGlobalItemPricesData;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = exports.ZIP_FORMAT = exports.JSON_FORMAT = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactRedux = require("react-redux");
|
|
10
|
+
var _i18n = require("../../../App/i18n");
|
|
11
|
+
var _Dialog = _interopRequireDefault(require("../../../UIComponents/Dialog"));
|
|
12
|
+
var _FlatButton = _interopRequireDefault(require("../../../UIComponents/FlatButton"));
|
|
13
|
+
var _IconButton = _interopRequireDefault(require("../../../UIComponents/IconButton"));
|
|
14
|
+
var _Tooltip = _interopRequireDefault(require("../../../UIComponents/Tooltip"));
|
|
15
|
+
var _CloudDownload = _interopRequireDefault(require("@material-ui/icons/CloudDownload"));
|
|
16
|
+
var _Actions = _interopRequireDefault(require("../Reducers/Actions"));
|
|
17
|
+
var _Actions2 = require("../../../App/Reducers/Frame/Actions");
|
|
18
|
+
var _FormControlLabel = _interopRequireDefault(require("../../../UIComponents/FormControlLabel"));
|
|
19
|
+
var _RadioGroup = _interopRequireDefault(require("../../../UIComponents/RadioButton/RadioGroup"));
|
|
20
|
+
var _RadioButton = require("../../../UIComponents/RadioButton");
|
|
21
|
+
var _core = require("@material-ui/core");
|
|
22
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
23
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
26
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
27
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
28
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
29
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
30
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
31
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
32
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
33
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
34
|
+
var JSON_FORMAT = exports.JSON_FORMAT = 'text/json';
|
|
35
|
+
var ZIP_FORMAT = exports.ZIP_FORMAT = 'application/zip';
|
|
36
|
+
var ExportCreatorItemDialog = function ExportCreatorItemDialog(_ref) {
|
|
37
|
+
var data = _ref.data,
|
|
38
|
+
selected = _ref.selected,
|
|
39
|
+
exportCreatorItems = _ref.exportCreatorItems,
|
|
40
|
+
showErrorMessage = _ref.showErrorMessage;
|
|
41
|
+
var _useState = (0, _react.useState)(false),
|
|
42
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
43
|
+
showEditor = _useState2[0],
|
|
44
|
+
setShowEditor = _useState2[1];
|
|
45
|
+
var _useState3 = (0, _react.useState)(JSON_FORMAT),
|
|
46
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
47
|
+
exportFormat = _useState4[0],
|
|
48
|
+
setExportFormat = _useState4[1];
|
|
49
|
+
var hasSelection = selected && selected.length > 0;
|
|
50
|
+
var selectedItemIdentifiers = [];
|
|
51
|
+
var hasOnlyCreatorItemsSelected = hasSelection && selected.every(function (selectedIndex) {
|
|
52
|
+
if (data[selectedIndex].configurationMode === 'creator') {
|
|
53
|
+
selectedItemIdentifiers.push(data[selectedIndex].identifier);
|
|
54
|
+
return true;
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
});
|
|
58
|
+
if (hasOnlyCreatorItemsSelected === false) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
var onExport = /*#__PURE__*/function () {
|
|
62
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
63
|
+
var response;
|
|
64
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
65
|
+
while (1) switch (_context.prev = _context.next) {
|
|
66
|
+
case 0:
|
|
67
|
+
_context.next = 2;
|
|
68
|
+
return exportCreatorItems(selectedItemIdentifiers, exportFormat);
|
|
69
|
+
case 2:
|
|
70
|
+
response = _context.sent;
|
|
71
|
+
if (response.error) {
|
|
72
|
+
showErrorMessage((0, _i18n.t)('item.exportError'));
|
|
73
|
+
} else {
|
|
74
|
+
saveResponseToFile(response.data);
|
|
75
|
+
}
|
|
76
|
+
case 4:
|
|
77
|
+
case "end":
|
|
78
|
+
return _context.stop();
|
|
79
|
+
}
|
|
80
|
+
}, _callee);
|
|
81
|
+
}));
|
|
82
|
+
return function onExport() {
|
|
83
|
+
return _ref2.apply(this, arguments);
|
|
84
|
+
};
|
|
85
|
+
}();
|
|
86
|
+
var saveResponseToFile = function saveResponseToFile(responseData) {
|
|
87
|
+
var filename = selectedItemIdentifiers.length === 1 ? selectedItemIdentifiers[0] : 'export';
|
|
88
|
+
var blob;
|
|
89
|
+
if (JSON_FORMAT === exportFormat) {
|
|
90
|
+
filename = "".concat(filename, ".json");
|
|
91
|
+
blob = new Blob([JSON.stringify(responseData)], {
|
|
92
|
+
type: JSON_FORMAT
|
|
93
|
+
});
|
|
94
|
+
} else if (ZIP_FORMAT === exportFormat) {
|
|
95
|
+
filename = "".concat(filename, ".zip");
|
|
96
|
+
blob = new Blob([responseData], {
|
|
97
|
+
type: ZIP_FORMAT
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
var link = document.createElement('a');
|
|
101
|
+
link.download = filename;
|
|
102
|
+
link.href = window.URL.createObjectURL(blob);
|
|
103
|
+
link.dataset.downloadurl = [exportFormat, link.download, link.href].join(':');
|
|
104
|
+
var evt = new MouseEvent('click', {
|
|
105
|
+
view: window,
|
|
106
|
+
bubbles: true,
|
|
107
|
+
cancelable: true
|
|
108
|
+
});
|
|
109
|
+
link.dispatchEvent(evt);
|
|
110
|
+
link.remove();
|
|
111
|
+
};
|
|
112
|
+
var onFormatChanged = function onFormatChanged(evt) {
|
|
113
|
+
setExportFormat(evt.target.value);
|
|
114
|
+
};
|
|
115
|
+
var title = (0, _i18n.t)('item.exportCreatorItemsDialogTitle');
|
|
116
|
+
var description = selectedItemIdentifiers.length === 1 ? (0, _i18n.t)('item.exportCreatorItemDialogDescription') + selectedItemIdentifiers[0] : '';
|
|
117
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
118
|
+
title: title
|
|
119
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
120
|
+
color: hasSelection ? 'primary' : '',
|
|
121
|
+
onClick: function onClick() {
|
|
122
|
+
return setShowEditor(true);
|
|
123
|
+
}
|
|
124
|
+
}, /*#__PURE__*/_react["default"].createElement(_CloudDownload["default"], null))), /*#__PURE__*/_react["default"].createElement(_Dialog["default"], {
|
|
125
|
+
title: title,
|
|
126
|
+
actions: /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_FlatButton["default"], {
|
|
127
|
+
label: (0, _i18n.t)('cancel'),
|
|
128
|
+
onClick: function onClick() {
|
|
129
|
+
return setShowEditor(false);
|
|
130
|
+
}
|
|
131
|
+
}), /*#__PURE__*/_react["default"].createElement(_FlatButton["default"], {
|
|
132
|
+
label: (0, _i18n.t)('item.export'),
|
|
133
|
+
primary: true,
|
|
134
|
+
onClick: onExport
|
|
135
|
+
})),
|
|
136
|
+
open: showEditor && hasOnlyCreatorItemsSelected
|
|
137
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
138
|
+
style: {
|
|
139
|
+
display: 'flex',
|
|
140
|
+
mindWidth: '620px',
|
|
141
|
+
margin: '10px',
|
|
142
|
+
flexDirection: 'column'
|
|
143
|
+
}
|
|
144
|
+
}, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
|
|
145
|
+
variant: "body1"
|
|
146
|
+
}, description), selectedItemIdentifiers.length > 1 && /*#__PURE__*/_react["default"].createElement(_RadioGroup["default"], {
|
|
147
|
+
name: "exportCombined",
|
|
148
|
+
onChange: onFormatChanged,
|
|
149
|
+
value: exportFormat
|
|
150
|
+
}, /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
|
|
151
|
+
key: JSON_FORMAT,
|
|
152
|
+
value: JSON_FORMAT,
|
|
153
|
+
label: (0, _i18n.t)("item.exportAsJson"),
|
|
154
|
+
control: /*#__PURE__*/_react["default"].createElement(_RadioButton.RadioButton, {
|
|
155
|
+
color: "primary"
|
|
156
|
+
})
|
|
157
|
+
}), /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
|
|
158
|
+
key: ZIP_FORMAT,
|
|
159
|
+
value: ZIP_FORMAT,
|
|
160
|
+
label: (0, _i18n.t)("item.exportAsZip"),
|
|
161
|
+
control: /*#__PURE__*/_react["default"].createElement(_RadioButton.RadioButton, {
|
|
162
|
+
color: "primary"
|
|
163
|
+
})
|
|
164
|
+
})))));
|
|
165
|
+
};
|
|
166
|
+
var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
167
|
+
return {
|
|
168
|
+
exportCreatorItems: function () {
|
|
169
|
+
var _exportCreatorItems = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(item_identifiers, exportFormat) {
|
|
170
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
171
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
172
|
+
case 0:
|
|
173
|
+
_context2.next = 2;
|
|
174
|
+
return dispatch(_Actions["default"].exportCreatorItems(item_identifiers, exportFormat));
|
|
175
|
+
case 2:
|
|
176
|
+
return _context2.abrupt("return", _context2.sent);
|
|
177
|
+
case 3:
|
|
178
|
+
case "end":
|
|
179
|
+
return _context2.stop();
|
|
180
|
+
}
|
|
181
|
+
}, _callee2);
|
|
182
|
+
}));
|
|
183
|
+
function exportCreatorItems(_x, _x2) {
|
|
184
|
+
return _exportCreatorItems.apply(this, arguments);
|
|
185
|
+
}
|
|
186
|
+
return exportCreatorItems;
|
|
187
|
+
}(),
|
|
188
|
+
showErrorMessage: function showErrorMessage(errorMessage) {
|
|
189
|
+
return dispatch((0, _Actions2.showErrorMessage)(errorMessage));
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
};
|
|
193
|
+
var _default = exports["default"] = (0, _reactRedux.connect)(function () {
|
|
194
|
+
return {};
|
|
195
|
+
}, mapDispatchToProps)(ExportCreatorItemDialog);
|
|
@@ -11,6 +11,7 @@ var _i18n = require("../../../App/i18n");
|
|
|
11
11
|
var _DefaultConnectedList = _interopRequireDefault(require("../../../Components/DefaultConnectedList"));
|
|
12
12
|
var _ListItemStatusEditor = _interopRequireDefault(require("../Components/ListItemStatusEditor"));
|
|
13
13
|
var _CopyCreatorItemDialog = _interopRequireDefault(require("../Components/CopyCreatorItemDialog"));
|
|
14
|
+
var _ExportCreatorItemDialog = _interopRequireDefault(require("../Components/ExportCreatorItemDialog"));
|
|
14
15
|
var _excluded = ["listProps"];
|
|
15
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
17
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -85,7 +86,7 @@ var ItemList = function ItemList(_ref) {
|
|
|
85
86
|
return /*#__PURE__*/_react["default"].createElement(ConnectedItemList, _extends({}, props, {
|
|
86
87
|
listProps: _objectSpread({
|
|
87
88
|
renderAction: function renderAction(props) {
|
|
88
|
-
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ListItemStatusEditor["default"], props), /*#__PURE__*/_react["default"].createElement(_CopyCreatorItemDialog["default"], props));
|
|
89
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_ListItemStatusEditor["default"], props), /*#__PURE__*/_react["default"].createElement(_CopyCreatorItemDialog["default"], props), /*#__PURE__*/_react["default"].createElement(_ExportCreatorItemDialog["default"], props));
|
|
89
90
|
}
|
|
90
91
|
}, listProps)
|
|
91
92
|
}));
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.removeInvalidPriceEntries = void 0;
|
|
7
|
+
var _Actions = require("../../../../App/Reducers/Entity/Actions");
|
|
8
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
var filterInvalidPriceItem = function filterInvalidPriceItem(_ref) {
|
|
12
|
+
var price = _ref.price,
|
|
13
|
+
priceNet = _ref.priceNet,
|
|
14
|
+
amountfrom = _ref.amountfrom,
|
|
15
|
+
amountFrom = _ref.amountFrom;
|
|
16
|
+
return (price || priceNet) && (amountfrom || amountFrom);
|
|
17
|
+
};
|
|
18
|
+
var removeInvalidPriceEntriesRecursive = function removeInvalidPriceEntriesRecursive(arr) {
|
|
19
|
+
if (arr instanceof Array) {
|
|
20
|
+
var _iterator = _createForOfIteratorHelper(arr),
|
|
21
|
+
_step;
|
|
22
|
+
try {
|
|
23
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
24
|
+
var item = _step.value;
|
|
25
|
+
if (item !== null && item !== void 0 && item.prices) {
|
|
26
|
+
item.prices = item.prices.filter(filterInvalidPriceItem);
|
|
27
|
+
} else {
|
|
28
|
+
removeInvalidPriceEntriesRecursive(item);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
} catch (err) {
|
|
32
|
+
_iterator.e(err);
|
|
33
|
+
} finally {
|
|
34
|
+
_iterator.f();
|
|
35
|
+
}
|
|
36
|
+
} else if (arr instanceof Object) {
|
|
37
|
+
removeInvalidPriceEntriesRecursive(Object.values(arr));
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var removeInvalidPriceEntries = exports.removeInvalidPriceEntries = function removeInvalidPriceEntries(state, action) {
|
|
41
|
+
if (state.actionKey && state.actionKey !== action.key) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (action.type === _Actions.SET_DATA) {
|
|
45
|
+
if (action.field === 'prices') {
|
|
46
|
+
action.value = action.value.filter(filterInvalidPriceItem);
|
|
47
|
+
} else {
|
|
48
|
+
removeInvalidPriceEntriesRecursive(action.value);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] = exports.ITEM_STATUS_URL = exports.ITEM_REDUCER_NAME = exports.ITEM_LIST_URL = exports.ITEM_LIST_KEY = exports.ITEM_DATA_KEY = exports.ITEM_COPY_URL = void 0;
|
|
6
|
+
exports["default"] = exports.ITEM_STATUS_URL = exports.ITEM_REDUCER_NAME = exports.ITEM_LIST_URL = exports.ITEM_LIST_KEY = exports.ITEM_EXPORT_URL = exports.ITEM_DATA_KEY = exports.ITEM_COPY_URL = void 0;
|
|
7
|
+
var _ExportCreatorItemDialog = require("../Components/ExportCreatorItemDialog");
|
|
7
8
|
var apiActions = _interopRequireWildcard(require("../../../App/Reducers/Api/Actions"));
|
|
8
9
|
var _Actions2 = require("../../../App/Reducers/Entity/Actions");
|
|
9
10
|
var _Actions3 = require("../DataStructures/Attributes/Actions");
|
|
@@ -20,6 +21,7 @@ var ITEM_LIST_URL = exports.ITEM_LIST_URL = 'items';
|
|
|
20
21
|
var ITEM_COPY_URL = exports.ITEM_COPY_URL = function ITEM_COPY_URL(id) {
|
|
21
22
|
return "items/".concat(id, "/duplicate");
|
|
22
23
|
};
|
|
24
|
+
var ITEM_EXPORT_URL = exports.ITEM_EXPORT_URL = "items/export";
|
|
23
25
|
var ITEM_STATUS_URL = exports.ITEM_STATUS_URL = 'items/status';
|
|
24
26
|
var ITEM_DATA_KEY = exports.ITEM_DATA_KEY = 'item';
|
|
25
27
|
var ITEM_REDUCER_NAME = exports.ITEM_REDUCER_NAME = 'itemData';
|
|
@@ -66,6 +68,18 @@ var copyCreatorItem = function copyCreatorItem(sourceItemId, newItemIdentifier,
|
|
|
66
68
|
}));
|
|
67
69
|
};
|
|
68
70
|
};
|
|
71
|
+
var exportCreatorItems = function exportCreatorItems(item_identifiers, exportFormat) {
|
|
72
|
+
return function (dispatch, getState) {
|
|
73
|
+
var combine = _ExportCreatorItemDialog.JSON_FORMAT === exportFormat;
|
|
74
|
+
var additionalParams = _ExportCreatorItemDialog.ZIP_FORMAT === exportFormat ? {
|
|
75
|
+
responseType: 'arraybuffer'
|
|
76
|
+
} : {};
|
|
77
|
+
return dispatch(apiActions.postData(ITEM_EXPORT_URL, {
|
|
78
|
+
item_identifiers: item_identifiers,
|
|
79
|
+
combine: combine
|
|
80
|
+
}, undefined, additionalParams));
|
|
81
|
+
};
|
|
82
|
+
};
|
|
69
83
|
var setFieldData = function setFieldData(field, value) {
|
|
70
84
|
return function (dispatch, getState) {
|
|
71
85
|
var entityState = getState()[ITEM_REDUCER_NAME];
|
|
@@ -83,5 +97,6 @@ var _default = exports["default"] = _objectSpread(_objectSpread({}, actions), {}
|
|
|
83
97
|
setFieldData: setFieldData,
|
|
84
98
|
setItemStatusForMultipleItems: setItemStatusForMultipleItems,
|
|
85
99
|
loadItemStatus: loadItemStatus,
|
|
86
|
-
copyCreatorItem: copyCreatorItem
|
|
100
|
+
copyCreatorItem: copyCreatorItem,
|
|
101
|
+
exportCreatorItems: exportCreatorItems
|
|
87
102
|
});
|
|
@@ -8,6 +8,7 @@ var _Actions = require("./Actions");
|
|
|
8
8
|
var _Reducer = require("../../../App/Reducers/Entity/Reducer");
|
|
9
9
|
var _FeatureReducers = require("../../../App/FeatureReducers");
|
|
10
10
|
var _Reducer2 = _interopRequireDefault(require("../DataStructures/Attributes/Reducer"));
|
|
11
|
+
var _ActionHelpers = require("../DataStructures/Prices/ActionHelpers");
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
13
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -89,6 +90,7 @@ var initialState = _objectSpread({}, (0, _Reducer.getDefaultEntityState)(_object
|
|
|
89
90
|
var itemData = exports.itemData = (0, _FeatureReducers.createFeatureReducer)(_Actions.ITEM_REDUCER_NAME, function () {
|
|
90
91
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
91
92
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
93
|
+
(0, _ActionHelpers.removeInvalidPriceEntries)(state, action);
|
|
92
94
|
state = (0, _Reducer.defaultEntityReducer)(state, action, initialState);
|
|
93
95
|
return state;
|
|
94
96
|
});
|
|
@@ -60,7 +60,12 @@ require("../../App/i18n").use({
|
|
|
60
60
|
},
|
|
61
61
|
copyCreatorItemDialogTitle: 'Copy selected product',
|
|
62
62
|
copyItemIdentifier: 'New identifier',
|
|
63
|
-
copyItemTitle: 'New title'
|
|
63
|
+
copyItemTitle: 'New title',
|
|
64
|
+
exportCreatorItemsDialogTitle: 'Export product data',
|
|
65
|
+
exportAsJson: 'As .json file containing the data for all selected products',
|
|
66
|
+
exportAsZip: 'As .zip file containing a single .json file for each selected product',
|
|
67
|
+
exportError: 'An error occurred while exporting the data!',
|
|
68
|
+
exportCreatorItemDialogDescription: 'Export data for product: '
|
|
64
69
|
},
|
|
65
70
|
configuratorQuickView: {
|
|
66
71
|
buttonText: 'Preview'
|
|
@@ -144,7 +149,13 @@ require("../../App/i18n").use({
|
|
|
144
149
|
coreData: {
|
|
145
150
|
dialogTitle: 'Stammdaten bearbeiten'
|
|
146
151
|
}
|
|
147
|
-
}
|
|
152
|
+
},
|
|
153
|
+
exportCreatorItemsDialogTitle: 'Produktdaten exportieren',
|
|
154
|
+
exportAsJson: 'Als .json Datei mit den Daten aller selektierten Produkte',
|
|
155
|
+
exportAsZip: 'Als .zip Datei mit einzelnen .json Dateien für jedes selektierte Produkt',
|
|
156
|
+
"export": 'exportieren',
|
|
157
|
+
exportError: 'Beim Speichern ist ein Fehler aufgetreten!',
|
|
158
|
+
exportCreatorItemDialogDescription: 'Daten für folgendes Produkt exportieren: '
|
|
148
159
|
},
|
|
149
160
|
configuratorQuickView: {
|
|
150
161
|
buttonText: 'Vorschau'
|
package/Screens/Login/Screen.js
CHANGED
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = exports.Login = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
8
9
|
var _reactRedux = require("react-redux");
|
|
9
10
|
var _AppBar = _interopRequireDefault(require("../../Components/AppBar"));
|
|
10
11
|
var _GeneralFragments = require("../../Components/GeneralFragments");
|
|
@@ -134,12 +135,19 @@ var Login = exports.Login = /*#__PURE__*/function (_Component) {
|
|
|
134
135
|
onChange: this.setData,
|
|
135
136
|
onSubmit: this.postData,
|
|
136
137
|
submitText: (0, _i18n.T)('Login'),
|
|
137
|
-
submitOnEnter: true
|
|
138
|
+
submitOnEnter: true,
|
|
139
|
+
className: this.props.classes.loginForm
|
|
138
140
|
})));
|
|
139
141
|
}
|
|
140
142
|
}]);
|
|
141
143
|
return Login;
|
|
142
144
|
}(_react.Component);
|
|
145
|
+
_defineProperty(Login, "propTypes", {
|
|
146
|
+
login: _propTypes["default"].func,
|
|
147
|
+
logout: _propTypes["default"].func,
|
|
148
|
+
isLoggedIn: _propTypes["default"].bool,
|
|
149
|
+
classes: _propTypes["default"].object
|
|
150
|
+
});
|
|
143
151
|
var mapStateToProps = function mapStateToProps(state) {
|
|
144
152
|
return {
|
|
145
153
|
isLoggedIn: state[_Actions.LOGIN_REDUCER_NAME].isLoggedIn
|
|
@@ -155,4 +163,13 @@ var mapDispatchToProps = function mapDispatchToProps(dispatch) {
|
|
|
155
163
|
}
|
|
156
164
|
};
|
|
157
165
|
};
|
|
158
|
-
var _default = exports["default"] = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(
|
|
166
|
+
var _default = exports["default"] = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _withStyles["default"])({
|
|
167
|
+
loginForm: {
|
|
168
|
+
'& .form-inner': {
|
|
169
|
+
maxWidth: 300,
|
|
170
|
+
'& .form-input-wrapper input': {
|
|
171
|
+
paddingLeft: '6px'
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
})(Login));
|
|
@@ -8,6 +8,7 @@ var _Actions = require("./Actions");
|
|
|
8
8
|
var _Reducer = require("../../../App/Reducers/Entity/Reducer");
|
|
9
9
|
var _Reducer2 = _interopRequireDefault(require("../../Item/DataStructures/Attributes/Reducer"));
|
|
10
10
|
var _FeatureReducers = require("../../../App/FeatureReducers");
|
|
11
|
+
var _ActionHelpers = require("../../Item/DataStructures/Prices/ActionHelpers");
|
|
11
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
13
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
13
14
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -113,6 +114,7 @@ var populatePricesAndStock = function populatePricesAndStock(state) {
|
|
|
113
114
|
var optionData = exports.optionData = (0, _FeatureReducers.createFeatureReducer)(_Actions.OPTION_REDUCER_NAME, function () {
|
|
114
115
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
|
|
115
116
|
var action = arguments.length > 1 ? arguments[1] : undefined;
|
|
117
|
+
(0, _ActionHelpers.removeInvalidPriceEntries)(state, action);
|
|
116
118
|
state = (0, _Reducer.defaultEntityReducer)(state, action, initialState);
|
|
117
119
|
state = (0, _Reducer.modifyDataOnMount)(state, action, populatePricesAndStock);
|
|
118
120
|
return state;
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@configuratorware/configurator-admingui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.48.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"private": false,
|
|
6
6
|
"dependencies": {
|
|
7
7
|
"@babel/polyfill": "^7.12.1",
|
|
8
|
-
"@configuratorware/scripts": "1.
|
|
8
|
+
"@configuratorware/scripts": "1.48.0",
|
|
9
9
|
"@material-ui/core": "^3.9.4",
|
|
10
10
|
"@material-ui/icons": "^3.0.2",
|
|
11
11
|
"@tweenjs/tween.js": "^17.6.0",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"react-redux-i18n": "^1.9.3",
|
|
29
29
|
"react-router": "^3.2.6",
|
|
30
30
|
"react-sortable-hoc": "^1.11.0",
|
|
31
|
-
"redhotmagma-visualization": "1.
|
|
31
|
+
"redhotmagma-visualization": "1.48.0",
|
|
32
32
|
"redux": "^4.1.0",
|
|
33
33
|
"redux-logger": "^3.0.6",
|
|
34
34
|
"redux-persist": "^5.10.0",
|