@commercetools-frontend-extensions/export-resources-modal 1.5.1 → 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
@@ -1107,6 +1130,8 @@ const ExportResourcesContextProvider = props => {
1107
1130
  logsLink: msg => getExportLogsLink(projectKey, msg),
1108
1131
  b: getBold
1109
1132
  })
1133
+ }, {
1134
+ dismissAfter: 5000
1110
1135
  });
1111
1136
  break;
1112
1137
  default:
@@ -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
@@ -1071,6 +1094,8 @@ const ExportResourcesContextProvider = props => {
1071
1094
  logsLink: msg => getExportLogsLink(projectKey, msg),
1072
1095
  b: getBold
1073
1096
  })
1097
+ }, {
1098
+ dismissAfter: 5000
1074
1099
  });
1075
1100
  break;
1076
1101
  default:
@@ -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
@@ -1082,6 +1103,8 @@ const ExportResourcesContextProvider = props => {
1082
1103
  logsLink: msg => getExportLogsLink(projectKey, msg),
1083
1104
  b: getBold
1084
1105
  })
1106
+ }, {
1107
+ dismissAfter: 5000
1085
1108
  });
1086
1109
  break;
1087
1110
  default:
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.1",
4
+ "version": "1.5.3",
5
5
  "license": "BSD-3-Clause",
6
6
  "publishConfig": {
7
7
  "access": "public"