@commercetools-frontend-extensions/export-resources-modal 1.5.2 → 1.5.3

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.
@@ -28,6 +28,8 @@ var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
28
28
  var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
29
29
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
30
30
  var omitEmpty = require('omit-empty-es');
31
+ var _findIndexInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find-index');
32
+ var _spliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/splice');
31
33
  var jsxRuntime = require('@emotion/react/jsx-runtime');
32
34
  var designSystem = require('@commercetools-uikit/design-system');
33
35
  var PropTypes = require('prop-types');
@@ -58,6 +60,8 @@ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInsta
58
60
  var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
59
61
  var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
60
62
  var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
63
+ var _findIndexInstanceProperty__default = /*#__PURE__*/_interopDefault(_findIndexInstanceProperty);
64
+ var _spliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_spliceInstanceProperty);
61
65
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
62
66
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
63
67
  var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
@@ -188,7 +192,7 @@ function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
188
192
  return fileName;
189
193
  }
190
194
  function flattenNestedFields(fields) {
191
- const result = _mapInstanceProperty__default["default"](fields).call(fields, field => {
195
+ const result = (fields === null || fields === void 0 ? void 0 : _mapInstanceProperty__default["default"](fields).call(fields, field => {
192
196
  if (isFilledArray(field.fields)) {
193
197
  var _context2;
194
198
  return _mapInstanceProperty__default["default"](_context2 = flattenNestedFields(field.fields)).call(_context2, nestedField => {
@@ -199,7 +203,7 @@ function flattenNestedFields(fields) {
199
203
  });
200
204
  }
201
205
  return field;
202
- });
206
+ })) || [];
203
207
  return _flatInstanceProperty__default["default"](result).call(result);
204
208
  }
205
209
 
@@ -300,6 +304,25 @@ function validate(values) {
300
304
  return omitEmpty__default["default"](errors);
301
305
  }
302
306
 
307
+ const categoryColumnExtension = columns => {
308
+ const extendedColumns = [...columns];
309
+ const parentKeyIndex = _findIndexInstanceProperty__default["default"](columns).call(columns, column => column === 'parent.key');
310
+ if (parentKeyIndex !== -1) {
311
+ _spliceInstanceProperty__default["default"](extendedColumns).call(extendedColumns, parentKeyIndex + 1, 0, 'parent.typeId');
312
+ }
313
+ return extendedColumns;
314
+ };
315
+ const defaultColumnExtension = columns => columns;
316
+ const columnExtensionByResourceType = {
317
+ default: defaultColumnExtension,
318
+ category: categoryColumnExtension
319
+ };
320
+
321
+ const extendColumns = (columns, resourceType) => {
322
+ const extensionFunction = columnExtensionByResourceType[resourceType] || columnExtensionByResourceType.default;
323
+ return extensionFunction(columns);
324
+ };
325
+
303
326
  var messages = reactIntl.defineMessages({
304
327
  modalTitle: {
305
328
  id: 'ExportResourcesModal.modalTitle',
@@ -1091,7 +1114,7 @@ const ExportResourcesContextProvider = props => {
1091
1114
  fileName: appendCsvOrJsonExtensionIfAbsent(values.fileName, values.outputFormat),
1092
1115
  fileFormat: values.outputFormat,
1093
1116
  locales: values.locales,
1094
- columns: _mapInstanceProperty__default["default"](_context = flattenNestedFields(values.fields)).call(_context, field => field.key),
1117
+ columns: extendColumns(_mapInstanceProperty__default["default"](_context = flattenNestedFields(values.fields)).call(_context, field => field.key), props.resourceType),
1095
1118
  projectKey,
1096
1119
  graphQuery,
1097
1120
  asyncDispatchFn: asyncDispatch
@@ -28,6 +28,8 @@ var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
28
28
  var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
29
29
  var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
30
30
  var omitEmpty = require('omit-empty-es');
31
+ var _findIndexInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find-index');
32
+ var _spliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/splice');
31
33
  var jsxRuntime = require('@emotion/react/jsx-runtime');
32
34
  var designSystem = require('@commercetools-uikit/design-system');
33
35
  var PropTypes = require('prop-types');
@@ -58,6 +60,8 @@ var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInsta
58
60
  var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
59
61
  var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
60
62
  var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
63
+ var _findIndexInstanceProperty__default = /*#__PURE__*/_interopDefault(_findIndexInstanceProperty);
64
+ var _spliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_spliceInstanceProperty);
61
65
  var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
62
66
  var _styled__default = /*#__PURE__*/_interopDefault(_styled);
63
67
  var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
@@ -188,7 +192,7 @@ function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
188
192
  return fileName;
189
193
  }
190
194
  function flattenNestedFields(fields) {
191
- const result = _mapInstanceProperty__default["default"](fields).call(fields, field => {
195
+ const result = (fields === null || fields === void 0 ? void 0 : _mapInstanceProperty__default["default"](fields).call(fields, field => {
192
196
  if (isFilledArray(field.fields)) {
193
197
  var _context2;
194
198
  return _mapInstanceProperty__default["default"](_context2 = flattenNestedFields(field.fields)).call(_context2, nestedField => {
@@ -199,7 +203,7 @@ function flattenNestedFields(fields) {
199
203
  });
200
204
  }
201
205
  return field;
202
- });
206
+ })) || [];
203
207
  return _flatInstanceProperty__default["default"](result).call(result);
204
208
  }
205
209
 
@@ -300,6 +304,25 @@ function validate(values) {
300
304
  return omitEmpty__default["default"](errors);
301
305
  }
302
306
 
307
+ const categoryColumnExtension = columns => {
308
+ const extendedColumns = [...columns];
309
+ const parentKeyIndex = _findIndexInstanceProperty__default["default"](columns).call(columns, column => column === 'parent.key');
310
+ if (parentKeyIndex !== -1) {
311
+ _spliceInstanceProperty__default["default"](extendedColumns).call(extendedColumns, parentKeyIndex + 1, 0, 'parent.typeId');
312
+ }
313
+ return extendedColumns;
314
+ };
315
+ const defaultColumnExtension = columns => columns;
316
+ const columnExtensionByResourceType = {
317
+ default: defaultColumnExtension,
318
+ category: categoryColumnExtension
319
+ };
320
+
321
+ const extendColumns = (columns, resourceType) => {
322
+ const extensionFunction = columnExtensionByResourceType[resourceType] || columnExtensionByResourceType.default;
323
+ return extensionFunction(columns);
324
+ };
325
+
303
326
  var messages = reactIntl.defineMessages({
304
327
  modalTitle: {
305
328
  id: 'ExportResourcesModal.modalTitle',
@@ -1055,7 +1078,7 @@ const ExportResourcesContextProvider = props => {
1055
1078
  fileName: appendCsvOrJsonExtensionIfAbsent(values.fileName, values.outputFormat),
1056
1079
  fileFormat: values.outputFormat,
1057
1080
  locales: values.locales,
1058
- columns: _mapInstanceProperty__default["default"](_context = flattenNestedFields(values.fields)).call(_context, field => field.key),
1081
+ columns: extendColumns(_mapInstanceProperty__default["default"](_context = flattenNestedFields(values.fields)).call(_context, field => field.key), props.resourceType),
1059
1082
  projectKey,
1060
1083
  graphQuery,
1061
1084
  asyncDispatchFn: asyncDispatch
@@ -24,6 +24,8 @@ import _getPrototypeOf from '@babel/runtime-corejs3/helpers/esm/getPrototypeOf';
24
24
  import _wrapNativeSuper from '@babel/runtime-corejs3/helpers/esm/wrapNativeSuper';
25
25
  import _Array$isArray from '@babel/runtime-corejs3/core-js-stable/array/is-array';
26
26
  import omitEmpty from 'omit-empty-es';
27
+ import _findIndexInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find-index';
28
+ import _spliceInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/splice';
27
29
  import { jsx, jsxs, Fragment } from '@emotion/react/jsx-runtime';
28
30
  import { customProperties, useTheme } from '@commercetools-uikit/design-system';
29
31
  import PropTypes from 'prop-types';
@@ -163,7 +165,7 @@ function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
163
165
  return fileName;
164
166
  }
165
167
  function flattenNestedFields(fields) {
166
- const result = _mapInstanceProperty(fields).call(fields, field => {
168
+ const result = (fields === null || fields === void 0 ? void 0 : _mapInstanceProperty(fields).call(fields, field => {
167
169
  if (isFilledArray(field.fields)) {
168
170
  var _context2;
169
171
  return _mapInstanceProperty(_context2 = flattenNestedFields(field.fields)).call(_context2, nestedField => {
@@ -174,7 +176,7 @@ function flattenNestedFields(fields) {
174
176
  });
175
177
  }
176
178
  return field;
177
- });
179
+ })) || [];
178
180
  return _flatInstanceProperty(result).call(result);
179
181
  }
180
182
 
@@ -275,6 +277,25 @@ function validate(values) {
275
277
  return omitEmpty(errors);
276
278
  }
277
279
 
280
+ const categoryColumnExtension = columns => {
281
+ const extendedColumns = [...columns];
282
+ const parentKeyIndex = _findIndexInstanceProperty(columns).call(columns, column => column === 'parent.key');
283
+ if (parentKeyIndex !== -1) {
284
+ _spliceInstanceProperty(extendedColumns).call(extendedColumns, parentKeyIndex + 1, 0, 'parent.typeId');
285
+ }
286
+ return extendedColumns;
287
+ };
288
+ const defaultColumnExtension = columns => columns;
289
+ const columnExtensionByResourceType = {
290
+ default: defaultColumnExtension,
291
+ category: categoryColumnExtension
292
+ };
293
+
294
+ const extendColumns = (columns, resourceType) => {
295
+ const extensionFunction = columnExtensionByResourceType[resourceType] || columnExtensionByResourceType.default;
296
+ return extensionFunction(columns);
297
+ };
298
+
278
299
  var messages = defineMessages({
279
300
  modalTitle: {
280
301
  id: 'ExportResourcesModal.modalTitle',
@@ -1066,7 +1087,7 @@ const ExportResourcesContextProvider = props => {
1066
1087
  fileName: appendCsvOrJsonExtensionIfAbsent(values.fileName, values.outputFormat),
1067
1088
  fileFormat: values.outputFormat,
1068
1089
  locales: values.locales,
1069
- columns: _mapInstanceProperty(_context = flattenNestedFields(values.fields)).call(_context, field => field.key),
1090
+ columns: extendColumns(_mapInstanceProperty(_context = flattenNestedFields(values.fields)).call(_context, field => field.key), props.resourceType),
1070
1091
  projectKey,
1071
1092
  graphQuery,
1072
1093
  asyncDispatchFn: asyncDispatch
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@commercetools-frontend-extensions/export-resources-modal",
3
3
  "description": "Shared export modal for exporting resources",
4
- "version": "1.5.2",
4
+ "version": "1.5.3",
5
5
  "license": "BSD-3-Clause",
6
6
  "publishConfig": {
7
7
  "access": "public"