@configuratorware/configurator-admingui 1.49.8 → 1.50.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.
@@ -80,6 +80,14 @@ var _default = exports["default"] = {
80
80
  name: 'finder',
81
81
  label: 'question_trees'
82
82
  }]
83
+ }, {
84
+ name: 'stepByStep',
85
+ label: 'stepByStep',
86
+ credentials: ['step_by_step'],
87
+ items: [{
88
+ name: 'stepByStep',
89
+ label: 'stepByStep'
90
+ }]
83
91
  }, {
84
92
  name: 'configurations',
85
93
  label: 'user_configuration',
@@ -12,7 +12,8 @@ var iconMap = {
12
12
  items: 'local_offer',
13
13
  creatoritems: 'perm_data_setting',
14
14
  designeritems: 'create',
15
- finderitems: 'filter_alt',
15
+ finderitems: 'account_tree',
16
+ stepByStep: 'filter_alt',
16
17
  configurations: 'format_list_bulleted',
17
18
  basic_settings: 'settings',
18
19
  clients: 'filter_9_plus'
@@ -159,11 +159,11 @@ var File = function File(props) {
159
159
  ref: dropZone
160
160
  }, /*#__PURE__*/_react["default"].createElement("div", {
161
161
  className: classes.uploader
162
- }, /*#__PURE__*/_react["default"].createElement("span", null, (0, _i18n.T)('dragDropFile'), props.accept), /*#__PURE__*/_react["default"].createElement(_RaisedButton["default"], {
162
+ }, /*#__PURE__*/_react["default"].createElement("span", null, (0, _i18n.T)(props.dropZoneLabel), props.dropZoneLabel === File.defaultProps.dropZoneLabel && props.accept), /*#__PURE__*/_react["default"].createElement(_RaisedButton["default"], {
163
163
  className: classes.button
164
164
  }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_FolderIcon["default"], {
165
165
  className: classes.folderIcon
166
- }), (0, _i18n.T)('Upload file')), /*#__PURE__*/_react["default"].createElement("input", {
166
+ }), (0, _i18n.T)(props.uploadButtonLabel)), /*#__PURE__*/_react["default"].createElement("input", {
167
167
  type: "file",
168
168
  className: classes.fileInput,
169
169
  accept: props.accept,
@@ -207,6 +207,8 @@ File.defaultProps = {
207
207
  deleteEnabled: false,
208
208
  openEnabled: false,
209
209
  showFileName: false,
210
- openOnPreviewClick: true
210
+ openOnPreviewClick: true,
211
+ dropZoneLabel: 'dragDropFile',
212
+ uploadButtonLabel: 'Upload file'
211
213
  };
212
214
  var _default = exports["default"] = (0, _styles.withStyles)(styles)(File);
@@ -35,9 +35,10 @@ var License = function License(props) {
35
35
  _useState2 = _slicedToArray(_useState, 2),
36
36
  file = _useState2[0],
37
37
  setFile = _useState2[1];
38
- var isCreator = uploadedLicense === null && (license === 'creator' || license === 'creator+designer') || uploadedLicense === 'creator' || uploadedLicense === 'creator+designer';
39
- var isDesigner = uploadedLicense === null && (license === 'designer' || license === 'creator+designer') || uploadedLicense === 'designer' || uploadedLicense === 'creator+designer';
38
+ var isCreator = uploadedLicense === null && license && license.indexOf('creator') !== -1 || uploadedLicense && uploadedLicense.indexOf('creator') !== -1;
39
+ var isDesigner = uploadedLicense === null && license && license.indexOf('designer') !== -1 || uploadedLicense && uploadedLicense.indexOf('designer') !== -1;
40
40
  var isFinder = uploadedLicense === null && license && license.indexOf('finder') !== -1 || uploadedLicense && uploadedLicense.indexOf('finder') !== -1;
41
+ var isStepByStep = uploadedLicense === null && license && license.indexOf('stepByStep') !== -1 || uploadedLicense && uploadedLicense.indexOf('stepByStep') !== -1;
41
42
  var styles = {
42
43
  success: {
43
44
  color: 'green'
@@ -85,7 +86,12 @@ var License = function License(props) {
85
86
  }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
86
87
  className: "label",
87
88
  variant: "body1"
88
- }, (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)))));
89
+ }, (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))), /*#__PURE__*/_react["default"].createElement("div", {
90
+ className: isStepByStep ? 'row success' : 'row invalid'
91
+ }, /*#__PURE__*/_react["default"].createElement(_core.Typography, {
92
+ className: "label",
93
+ variant: "body1"
94
+ }, (0, _i18n.T)('stepByStep')), /*#__PURE__*/_react["default"].createElement(_core.IconButton, null, isStepByStep ? /*#__PURE__*/_react["default"].createElement(_CheckmarkIcon["default"], null) : /*#__PURE__*/_react["default"].createElement(_Cancel["default"], null)))));
89
95
  };
90
96
  var mapStateToProps = function mapStateToProps(state) {
91
97
  return {
@@ -6,13 +6,15 @@ require("../../App/i18n").use({
6
6
  uploadSuccess: 'License valid',
7
7
  uploadFailure: 'License invalid',
8
8
  uploadHint: 'Please upload your license file here',
9
- licenseProducts: 'Licensed products:'
9
+ licenseProducts: 'Licensed products:',
10
+ stepByStep: 'Step by step'
10
11
  },
11
12
  de: {
12
13
  licenses: 'Lizenzen',
13
14
  uploadSuccess: 'Lizenz freigeschaltet',
14
15
  uploadFailure: 'Lizenz ungültig',
15
16
  uploadHint: 'Bitte lade hier Deine gültige Lizenzdatei hoch',
16
- licenseProducts: 'Lizensierte Produkte:'
17
+ licenseProducts: 'Lizensierte Produkte:',
18
+ stepByStep: 'Step by step'
17
19
  }
18
20
  }, true);
@@ -0,0 +1,147 @@
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"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Dialog = _interopRequireDefault(require("../../../UIComponents/Dialog"));
10
+ var _styles = require("@material-ui/core/styles");
11
+ var _i18n = require("../../../App/i18n");
12
+ var _reactDatasheetGrid = require("react-datasheet-grid");
13
+ var _FlatButton = _interopRequireDefault(require("../../../UIComponents/FlatButton"));
14
+ require("react-datasheet-grid/dist/style.css");
15
+ var _Typography = _interopRequireDefault(require("../../../UIComponents/Typography"));
16
+ var _excluded = ["value", "onClose", "onCancel", "classes"];
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
18
+ 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); }
19
+ 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; }
20
+ 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; }
21
+ 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; }
22
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
24
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
25
+ 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; } } }; }
26
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
27
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
28
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
29
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
30
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
31
+ 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."); }
32
+ 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); }
33
+ 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; }
34
+ 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; } }
35
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
36
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
37
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
38
+ var StyledDialog = (0, _styles.withStyles)({
39
+ paperRoot: {
40
+ height: '95%',
41
+ minHeight: '95%',
42
+ width: '90%',
43
+ minWidth: '90%'
44
+ },
45
+ dialogContentRoot: {
46
+ display: 'flex',
47
+ flexDirection: 'column',
48
+ height: '100%'
49
+ },
50
+ dialogContentTextRoot: {
51
+ display: 'flex',
52
+ flexDirection: 'column',
53
+ height: '100%'
54
+ }
55
+ })(_Dialog["default"]);
56
+ var DataEditor = (0, _styles.withStyles)({
57
+ root: {
58
+ display: 'flex',
59
+ flexDirection: 'row',
60
+ alignItems: 'center'
61
+ },
62
+ legendContainer: {
63
+ display: 'flex',
64
+ width: '150px',
65
+ alignItems: 'center',
66
+ justifyContent: 'center',
67
+ backgroundColor: '#00f8ff',
68
+ padding: '5px',
69
+ marginBottom: '10px'
70
+ },
71
+ dataSheetGrid: {
72
+ '& .dsg-row:nth-child(2)': {
73
+ '--dsg-cell-background-color': '#00f8ff !important'
74
+ }
75
+ }
76
+ })(function (_ref) {
77
+ var value = _ref.value,
78
+ onClose = _ref.onClose,
79
+ onCancel = _ref.onCancel,
80
+ classes = _ref.classes,
81
+ props = _objectWithoutProperties(_ref, _excluded);
82
+ var _useState = (0, _react.useState)([]),
83
+ _useState2 = _slicedToArray(_useState, 2),
84
+ data = _useState2[0],
85
+ setData = _useState2[1];
86
+ (0, _react.useEffect)(function () {
87
+ if (value.data && value.metadata && value.metadata.fielddata) {
88
+ var parsedData = _toConsumableArray(value.data);
89
+ var metaDataObj = {};
90
+ var _iterator = _createForOfIteratorHelper(value.metadata.fielddata),
91
+ _step;
92
+ try {
93
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
94
+ var arr = _step.value;
95
+ metaDataObj[arr[0]] = arr[1];
96
+ }
97
+ } catch (err) {
98
+ _iterator.e(err);
99
+ } finally {
100
+ _iterator.f();
101
+ }
102
+ parsedData.unshift(metaDataObj);
103
+ setData(parsedData);
104
+ }
105
+ }, [value]);
106
+
107
+ // Dynamically generate columns from the first object
108
+ var columns = (0, _react.useMemo)(function () {
109
+ if (!data || !data.length) return [];
110
+ return Object.keys(data[0]).map(function (key) {
111
+ var sampleValue = data[0][key];
112
+ var columnType = _reactDatasheetGrid.textColumn;
113
+ if (typeof sampleValue === 'boolean') columnType = _reactDatasheetGrid.checkboxColumn;
114
+ return _objectSpread(_objectSpread({}, (0, _reactDatasheetGrid.keyColumn)(key, columnType)), {}, {
115
+ title: key
116
+ });
117
+ });
118
+ }, [data]);
119
+ var actions = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_FlatButton["default"], {
120
+ label: (0, _i18n.T)('Ok'),
121
+ primary: true,
122
+ onClick: function onClick() {
123
+ return onClose(data);
124
+ }
125
+ }), /*#__PURE__*/_react["default"].createElement(_FlatButton["default"], {
126
+ label: (0, _i18n.T)('Cancel'),
127
+ primary: true,
128
+ onClick: onCancel
129
+ }));
130
+ return /*#__PURE__*/_react["default"].createElement(StyledDialog, {
131
+ actions: actions,
132
+ title: (0, _i18n.T)('editStepByStepData'),
133
+ modal: 'true',
134
+ open: true
135
+ }, data && data.length > 0 && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("div", {
136
+ className: classes.legendContainer
137
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
138
+ className: classes.legend
139
+ }, (0, _i18n.T)('metadata'))), /*#__PURE__*/_react["default"].createElement(_reactDatasheetGrid.DataSheetGrid, {
140
+ height: 660,
141
+ className: classes.dataSheetGrid,
142
+ value: data,
143
+ onChange: setData,
144
+ columns: columns
145
+ })));
146
+ });
147
+ var _default = exports["default"] = DataEditor;
@@ -0,0 +1,100 @@
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"] = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _styles = require("@material-ui/core/styles");
10
+ var _File = _interopRequireDefault(require("../../../Components/FormFragments/File"));
11
+ var _xlsx = require("xlsx");
12
+ var _FlatButton = _interopRequireDefault(require("../../../UIComponents/FlatButton"));
13
+ var _i18n = require("../../../App/i18n");
14
+ var _DataEditor = _interopRequireDefault(require("./DataEditor"));
15
+ var _excluded = ["value", "onChange", "classes"];
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
+ 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); }
18
+ 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; }
19
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
20
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
21
+ 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."); }
22
+ 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); }
23
+ 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; }
24
+ 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; } }
25
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
26
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28
+ var SpreadSheetFile = (0, _styles.withStyles)({
29
+ root: {
30
+ display: 'flex',
31
+ flexDirection: 'row',
32
+ alignItems: 'center'
33
+ },
34
+ progress: {
35
+ marginTop: 42,
36
+ marginLeft: 16
37
+ }
38
+ })(function (_ref) {
39
+ var value = _ref.value,
40
+ onChange = _ref.onChange,
41
+ classes = _ref.classes,
42
+ props = _objectWithoutProperties(_ref, _excluded);
43
+ var _useState = (0, _react.useState)(false),
44
+ _useState2 = _slicedToArray(_useState, 2),
45
+ showOverlay = _useState2[0],
46
+ setShowOverlay = _useState2[1];
47
+ var onEditDataClick = function onEditDataClick() {
48
+ setShowOverlay(true);
49
+ };
50
+ var onFileChanged = function onFileChanged(name, value) {
51
+ var reader = new FileReader();
52
+ reader.onload = function () {
53
+ var text = reader.result;
54
+ var wb = (0, _xlsx.read)(text);
55
+ // get the first worksheet, @TODO: overlay for worksheet selection(?)
56
+ var ws = wb.Sheets[wb.SheetNames[0]];
57
+ var data = _xlsx.utils.sheet_to_json(ws);
58
+ if (data && data.length) {
59
+ var metadata = {};
60
+ // metadata entries need to be converted to array to keep field order correct
61
+ metadata.fielddata = Object.entries(data.shift());
62
+ var parsedData = {
63
+ metadata: metadata,
64
+ data: data
65
+ };
66
+ onChange(name, parsedData);
67
+ }
68
+ };
69
+ reader.readAsArrayBuffer(value);
70
+ };
71
+ var onEditorSave = function onEditorSave(data) {
72
+ var metadata = {};
73
+ if (value && value.metadata) {
74
+ metadata = value.metadata;
75
+ }
76
+ metadata.fielddata = Object.entries(data.shift());
77
+ var parsedData = {
78
+ metadata: metadata,
79
+ data: data
80
+ };
81
+ onChange(props.name, parsedData);
82
+ setShowOverlay(false);
83
+ };
84
+ return /*#__PURE__*/_react["default"].createElement("div", {
85
+ className: classes.root
86
+ }, /*#__PURE__*/_react["default"].createElement(_File["default"], _extends({}, props, {
87
+ onChange: onFileChanged
88
+ })), value && /*#__PURE__*/_react["default"].createElement(_FlatButton["default"], {
89
+ onClick: onEditDataClick,
90
+ color: "primary",
91
+ "aria-label": "ok"
92
+ }, (0, _i18n.t)('editStepByStepData')), showOverlay && /*#__PURE__*/_react["default"].createElement(_DataEditor["default"], {
93
+ onCancel: function onCancel() {
94
+ return setShowOverlay(false);
95
+ },
96
+ onClose: onEditorSave,
97
+ value: value
98
+ }));
99
+ });
100
+ var _default = exports["default"] = SpreadSheetFile;
@@ -0,0 +1,45 @@
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"] = void 0;
8
+ var _Actions = _interopRequireWildcard(require("../Reducers/Actions"));
9
+ var _DefaultConnectedForm = _interopRequireDefault(require("../../../Components/DefaultConnectedForm"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _SpreadSheetFile = _interopRequireDefault(require("../Components/SpreadSheetFile"));
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+ 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
+ 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; }
15
+ var setFieldData = _Actions["default"].setFieldData,
16
+ postData = _Actions["default"].postData;
17
+ var formFields = [{
18
+ name: 'identifier',
19
+ label: 'identifier',
20
+ type: 'text'
21
+ }, {
22
+ name: 'texts',
23
+ label: 'Title',
24
+ type: 'intl',
25
+ intl: {
26
+ name: 'title',
27
+ type: 'text'
28
+ }
29
+ }, {
30
+ name: 'data',
31
+ type: 'intl',
32
+ label: 'stepByStepData',
33
+ accept: '.xlsx,.csv',
34
+ deleteEnabled: false,
35
+ showFileName: true,
36
+ dropZoneLabel: 'importFromSheet',
37
+ uploadButtonLabel: 'chooseFile',
38
+ intl: {
39
+ name: 'data',
40
+ type: function type(props) {
41
+ return /*#__PURE__*/_react["default"].createElement(_SpreadSheetFile["default"], props);
42
+ }
43
+ }
44
+ }];
45
+ var _default = exports["default"] = (0, _DefaultConnectedForm["default"])(formFields, _Actions.STEP_BY_STEP_REDUCER_NAME, setFieldData, postData);
@@ -0,0 +1,29 @@
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"] = void 0;
8
+ var _Actions = _interopRequireWildcard(require("../Reducers/Actions"));
9
+ var _DefaultConnectedList = _interopRequireDefault(require("../../../Components/DefaultConnectedList"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+ 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); }
12
+ 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; }
13
+ var columns = [{
14
+ name: 'identifier',
15
+ label: 'Identifier',
16
+ filterable: true,
17
+ sortable: true
18
+ }, {
19
+ name: 'translated_title',
20
+ label: 'Title',
21
+ filterable: true,
22
+ sortable: true
23
+ }];
24
+ var listParams = {
25
+ entity: 'stepbystep',
26
+ orderdir: 'asc',
27
+ addButtonLabel: 'addButtonLabel'
28
+ };
29
+ var _default = exports["default"] = (0, _DefaultConnectedList["default"])(columns, listParams, _Actions.STEP_BY_STEP_LIST_KEY, _Actions["default"].listAction, _Actions["default"].detailsAction, _Actions["default"].hideDetails, _Actions["default"].showDetails, _Actions["default"].createEntity, _Actions["default"].deleteEntities);
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.STEP_BY_STEP_REDUCER_NAME = exports.STEP_BY_STEP_LIST_URL = exports.STEP_BY_STEP_LIST_KEY = exports.STEP_BY_STEP_DATA_KEY = void 0;
7
+ var _Actions = require("../../../App/Reducers/Entity/Actions");
8
+ var STEP_BY_STEP_LIST_KEY = exports.STEP_BY_STEP_LIST_KEY = 'stepbystepList';
9
+ var STEP_BY_STEP_LIST_URL = exports.STEP_BY_STEP_LIST_URL = 'stepbystep';
10
+ var STEP_BY_STEP_DATA_KEY = exports.STEP_BY_STEP_DATA_KEY = 'stepbystepDataKey';
11
+ var STEP_BY_STEP_REDUCER_NAME = exports.STEP_BY_STEP_REDUCER_NAME = 'stepbystepData';
12
+ var actions = (0, _Actions.generateDefaultActions)(STEP_BY_STEP_LIST_KEY, STEP_BY_STEP_DATA_KEY, STEP_BY_STEP_REDUCER_NAME, STEP_BY_STEP_LIST_URL);
13
+ var _default = exports["default"] = actions;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.stepByStepData = exports["default"] = void 0;
7
+ var _Actions = require("./Actions");
8
+ var _Reducer = require("../../../App/Reducers/Entity/Reducer");
9
+ var _FeatureReducers = require("../../../App/FeatureReducers");
10
+ 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
+ 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
+ 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; }
13
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
15
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
16
+ var initialState = _objectSpread({}, (0, _Reducer.getDefaultEntityState)({
17
+ id: null,
18
+ identifier: '',
19
+ texts: [],
20
+ data: []
21
+ }, null, _Actions.STEP_BY_STEP_DATA_KEY));
22
+ var stepByStepData = exports.stepByStepData = (0, _FeatureReducers.createFeatureReducer)(_Actions.STEP_BY_STEP_REDUCER_NAME, function () {
23
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
24
+ var action = arguments.length > 1 ? arguments[1] : undefined;
25
+ state = (0, _Reducer.defaultEntityReducer)(state, action, initialState);
26
+ return state;
27
+ });
28
+ var _default = exports["default"] = stepByStepData;
@@ -0,0 +1,19 @@
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"] = void 0;
8
+ var _Actions = _interopRequireWildcard(require("./Reducers/Actions"));
9
+ var _List = _interopRequireDefault(require("./Containers/List"));
10
+ var _Edit = _interopRequireDefault(require("./Containers/Edit"));
11
+ require("./Translations");
12
+ var _DefaultConnectedScreen = require("../../Components/DefaultConnectedScreen");
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
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); }
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; }
16
+ var invalidateList = _Actions["default"].invalidateList,
17
+ triggerUnsavedEntity = _Actions["default"].triggerUnsavedEntity,
18
+ hideDetails = _Actions["default"].hideDetails;
19
+ var _default = exports["default"] = (0, _DefaultConnectedScreen.generateConnectedSplitScreen)('stepByStep', _List["default"], _Edit["default"], _Actions.STEP_BY_STEP_REDUCER_NAME, invalidateList, triggerUnsavedEntity, hideDetails);
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ require("../../App/i18n").use({
4
+ en: {
5
+ stepByStep: 'step by step',
6
+ addButtonLabel: 'Add step by step item',
7
+ generalSettings: 'General settings',
8
+ chooseFile: 'Choose file',
9
+ importFromSheet: 'Import step by step data from excel sheet.',
10
+ editStepByStepData: 'Edit data',
11
+ metadata: 'Metadata',
12
+ stepByStepData: 'Step by step data'
13
+ },
14
+ de: {
15
+ stepByStep: 'step by step',
16
+ addButtonLabel: 'Step by Step Produkt hinzufügen',
17
+ generalSettings: 'Allgemeine Einstellungen',
18
+ chooseFile: 'Datei auswählen',
19
+ importFromSheet: 'Step by Step Daten aus Excelsheet importieren.',
20
+ editStepByStepData: 'Daten bearbeiten',
21
+ metadata: 'Metadaten',
22
+ stepByStepData: 'Step by step Daten'
23
+ }
24
+ }, true);
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _Screen = _interopRequireDefault(require("./Screen"));
8
+ var _StepByStepReducer = _interopRequireDefault(require("./Reducers/StepByStepReducer"));
9
+ var _FeatureReducers = require("../../App/FeatureReducers");
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+ (0, _FeatureReducers.addReducers)(_StepByStepReducer["default"]);
12
+ var _default = exports["default"] = {
13
+ Screen: _Screen["default"],
14
+ credentials: ['step_by_step']
15
+ };
package/Screens/index.js CHANGED
@@ -51,6 +51,7 @@ var _TrackingCodes = _interopRequireDefault(require("./TrackingCodes"));
51
51
  var _User = _interopRequireDefault(require("./User"));
52
52
  var _Itemclassification = _interopRequireDefault(require("./Itemclassification"));
53
53
  var _Finder = _interopRequireDefault(require("./Finder"));
54
+ var _StepByStep = _interopRequireDefault(require("./StepByStep"));
54
55
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
55
56
  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; } } }; }
56
57
  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); }
@@ -74,7 +75,8 @@ var features = exports.features = {
74
75
  softwareupdate: _SoftwareUpdates["default"],
75
76
  trackingCodes: _TrackingCodes["default"],
76
77
  users: _User["default"],
77
- finder: _Finder["default"]
78
+ finder: _Finder["default"],
79
+ stepByStep: _StepByStep["default"]
78
80
  };
79
81
  var _iterator = _createForOfIteratorHelper((0, _app.getFlattenedFeatures)()),
80
82
  _step;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@configuratorware/configurator-admingui",
3
- "version": "1.49.8",
3
+ "version": "1.50.0",
4
4
  "license": "UNLICENSED",
5
5
  "private": false,
6
6
  "dependencies": {
7
7
  "@babel/polyfill": "^7.12.1",
8
- "@configuratorware/scripts": "1.49.8",
8
+ "@configuratorware/scripts": "1.50.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",
@@ -20,6 +20,7 @@
20
20
  "prop-types": "^15.7.2",
21
21
  "qs": "^6.10.1",
22
22
  "react": "^16.14.0",
23
+ "react-datasheet-grid": "^4.11.5",
23
24
  "react-dom": "^16.14.0",
24
25
  "react-file-drop": "^0.2.8",
25
26
  "react-i18nify": "^1.11.18",
@@ -28,14 +29,15 @@
28
29
  "react-redux-i18n": "^1.9.3",
29
30
  "react-router": "^3.2.6",
30
31
  "react-sortable-hoc": "^1.11.0",
31
- "redhotmagma-visualization": "1.49.8",
32
+ "redhotmagma-visualization": "1.50.0",
32
33
  "redux": "^4.1.0",
33
34
  "redux-logger": "^3.0.6",
34
35
  "redux-persist": "^5.10.0",
35
36
  "redux-thunk": "^2.3.0",
36
37
  "showdown": "^1.9.1",
37
38
  "url-search-params-polyfill": "^8.1.1",
38
- "validate.js": "^0.12.0"
39
+ "validate.js": "^0.12.0",
40
+ "xlsx": "^0.18.5"
39
41
  },
40
42
  "peerDependencies": {
41
43
  "@babel/core": "^7.14.8",
@@ -49,12 +51,12 @@
49
51
  "css-loader": "^5.2.7",
50
52
  "file-loader": "^6.2.0",
51
53
  "mini-css-extract-plugin": "^2.7.6",
54
+ "node-sass": "^9.0.0",
52
55
  "react": "^16.14.0",
53
56
  "react-dom": "^16.14.0",
57
+ "react-refresh": "^0.14.0",
54
58
  "sass-loader": "^13.3.2",
55
59
  "style-loader": "^3.3.3",
56
- "node-sass": "^9.0.0",
57
- "react-refresh": "^0.14.0",
58
60
  "terser-webpack-plugin": "^5.3.9",
59
61
  "url-loader": "^4.1.1",
60
62
  "webpack": "^5.88.2",
@@ -45,7 +45,12 @@ function cpDirDeep(src, dst, testFn) {
45
45
  console.log('Copy file: ' + file + ' -> ' + tp);
46
46
  fs.createReadStream(file).pipe(fs.createWriteStream(tp));
47
47
  } else if (!fs.existsSync(tp)) {
48
- fs.mkdirSync(tp);
48
+ try {
49
+ fs.mkdirSync(tp);
50
+ } catch (e) {
51
+ console.log('Could not create directory:', tp);
52
+ console.log(e.message)
53
+ }
49
54
  }
50
55
  });
51
56
  }