@commercetools-frontend-extensions/export-resources-modal 3.7.0 → 4.0.1
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/README.md +166 -138
- package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.d.ts +3 -0
- package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.dev.js +417 -412
- package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.prod.js +410 -402
- package/dist/commercetools-frontend-extensions-export-resources-modal.esm.js +410 -405
- package/dist/de-a34c5dd4.cjs.dev.js +6 -0
- package/dist/de-cd6c45d3.esm.js +4 -0
- package/dist/de-d954fe3d.cjs.prod.js +6 -0
- package/dist/declarations/src/@constants/delimiters.d.ts +4 -0
- package/dist/declarations/src/@constants/export-operation-states.d.ts +5 -0
- package/dist/declarations/src/@constants/export-types.d.ts +5 -0
- package/dist/declarations/src/@constants/exportable-resources.d.ts +5 -0
- package/dist/declarations/src/@constants/index.d.ts +7 -0
- package/dist/declarations/src/@constants/misc.d.ts +1 -0
- package/dist/declarations/src/@constants/output-formats.d.ts +8 -0
- package/dist/declarations/src/@constants/urls.d.ts +3 -0
- package/dist/declarations/src/@types/export-resources-modal-shape.d.ts +27 -0
- package/dist/declarations/src/@types/formik.d.ts +11 -0
- package/dist/declarations/src/@types/index.d.ts +2 -0
- package/dist/declarations/src/export-resources-modal.d.ts +13 -0
- package/dist/declarations/src/index.d.ts +3 -0
- package/dist/en-3a9aa2d4.esm.js +4 -0
- package/dist/en-6b3694f6.cjs.dev.js +6 -0
- package/dist/en-c7757448.cjs.prod.js +6 -0
- package/dist/es-042343bd.cjs.prod.js +6 -0
- package/dist/es-8b3ecab1.cjs.dev.js +6 -0
- package/dist/es-e544023d.esm.js +4 -0
- package/dist/fr-FR-9d9081ee.esm.js +4 -0
- package/dist/fr-FR-e7126fcc.cjs.dev.js +6 -0
- package/dist/fr-FR-fce1ca96.cjs.prod.js +6 -0
- package/dist/ja-37632763.cjs.prod.js +6 -0
- package/dist/ja-73c088a7.esm.js +4 -0
- package/dist/ja-9bd5f452.cjs.dev.js +6 -0
- package/dist/pt-BR-b37d730b.esm.js +4 -0
- package/dist/pt-BR-ea6b3251.cjs.dev.js +6 -0
- package/dist/pt-BR-ec2a1a11.cjs.prod.js +6 -0
- package/dist/zh-CN-4780d88e.esm.js +4 -0
- package/dist/zh-CN-52baa549.cjs.prod.js +6 -0
- package/dist/zh-CN-d4bc6d26.cjs.dev.js +6 -0
- package/package.json +30 -19
|
@@ -11,14 +11,13 @@ var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-
|
|
|
11
11
|
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
12
12
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
13
13
|
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
14
|
-
var
|
|
14
|
+
var reactIntl = require('react-intl');
|
|
15
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
15
16
|
var uiKit = require('@commercetools-frontend/ui-kit');
|
|
16
17
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
17
18
|
require('@commercetools-uikit/design-system');
|
|
18
|
-
var reactIntl = require('react-intl');
|
|
19
19
|
var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
|
|
20
20
|
var applicationComponents = require('@commercetools-frontend/application-components');
|
|
21
|
-
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
22
21
|
var _Reflect$construct = require('@babel/runtime-corejs3/core-js-stable/reflect/construct');
|
|
23
22
|
var _createClass = require('@babel/runtime-corejs3/helpers/createClass');
|
|
24
23
|
var _classCallCheck = require('@babel/runtime-corejs3/helpers/classCallCheck');
|
|
@@ -26,31 +25,33 @@ var _inherits = require('@babel/runtime-corejs3/helpers/inherits');
|
|
|
26
25
|
var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibleConstructorReturn');
|
|
27
26
|
var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
28
27
|
var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
|
|
29
|
-
var
|
|
30
|
-
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
28
|
+
var React = require('react');
|
|
31
29
|
var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
|
|
32
30
|
var moment = require('moment');
|
|
31
|
+
var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
|
|
33
32
|
var _reduceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/reduce');
|
|
34
33
|
var omitEmpty = require('omit-empty-es');
|
|
34
|
+
var _mapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/map');
|
|
35
35
|
var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
|
|
36
|
-
var _flatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/flat');
|
|
37
|
-
var _flatMapInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/flat-map');
|
|
38
36
|
var _Set = require('@babel/runtime-corejs3/core-js-stable/set');
|
|
39
37
|
var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
|
|
40
|
-
var
|
|
41
|
-
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
38
|
+
var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
42
39
|
var sdk = require('@commercetools-frontend/sdk');
|
|
43
40
|
var actionsGlobal = require('@commercetools-frontend/actions-global');
|
|
44
41
|
var constants = require('@commercetools-frontend/constants');
|
|
45
42
|
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
46
43
|
var _styled = require('@emotion/styled/base');
|
|
47
44
|
var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
|
|
48
|
-
var
|
|
45
|
+
var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
|
|
49
46
|
var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
|
|
47
|
+
var _findInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/find');
|
|
50
48
|
var throttle = require('lodash/throttle');
|
|
51
49
|
var react = require('@emotion/react');
|
|
52
|
-
var
|
|
50
|
+
var get = require('lodash/get');
|
|
51
|
+
require('prop-types');
|
|
53
52
|
var formik = require('formik');
|
|
53
|
+
var sentry = require('@commercetools-frontend/sentry');
|
|
54
|
+
var i18n = require('@commercetools-frontend/i18n');
|
|
54
55
|
|
|
55
56
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
56
57
|
|
|
@@ -62,27 +63,26 @@ var _forEachInstanceProperty__default = /*#__PURE__*/_interopDefault(_forEachIns
|
|
|
62
63
|
var _Object$getOwnPropertyDescriptors__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertyDescriptors);
|
|
63
64
|
var _Object$defineProperties__default = /*#__PURE__*/_interopDefault(_Object$defineProperties);
|
|
64
65
|
var _Object$defineProperty__default = /*#__PURE__*/_interopDefault(_Object$defineProperty);
|
|
65
|
-
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
66
66
|
var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
|
|
67
67
|
var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
|
|
68
|
-
var
|
|
68
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
69
69
|
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
70
70
|
var moment__default = /*#__PURE__*/_interopDefault(moment);
|
|
71
|
+
var _someInstanceProperty__default = /*#__PURE__*/_interopDefault(_someInstanceProperty);
|
|
71
72
|
var _reduceInstanceProperty__default = /*#__PURE__*/_interopDefault(_reduceInstanceProperty);
|
|
72
73
|
var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
|
|
74
|
+
var _mapInstanceProperty__default = /*#__PURE__*/_interopDefault(_mapInstanceProperty);
|
|
73
75
|
var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
|
|
74
|
-
var _flatInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatInstanceProperty);
|
|
75
|
-
var _flatMapInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatMapInstanceProperty);
|
|
76
76
|
var _Set__default = /*#__PURE__*/_interopDefault(_Set);
|
|
77
77
|
var _sortInstanceProperty__default = /*#__PURE__*/_interopDefault(_sortInstanceProperty);
|
|
78
|
-
var
|
|
79
|
-
var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
|
|
78
|
+
var _indexOfInstanceProperty__default = /*#__PURE__*/_interopDefault(_indexOfInstanceProperty);
|
|
80
79
|
var _styled__default = /*#__PURE__*/_interopDefault(_styled);
|
|
81
80
|
var _everyInstanceProperty__default = /*#__PURE__*/_interopDefault(_everyInstanceProperty);
|
|
82
|
-
var
|
|
81
|
+
var _includesInstanceProperty__default = /*#__PURE__*/_interopDefault(_includesInstanceProperty);
|
|
83
82
|
var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
|
|
83
|
+
var _findInstanceProperty__default = /*#__PURE__*/_interopDefault(_findInstanceProperty);
|
|
84
84
|
var throttle__default = /*#__PURE__*/_interopDefault(throttle);
|
|
85
|
-
var
|
|
85
|
+
var get__default = /*#__PURE__*/_interopDefault(get);
|
|
86
86
|
|
|
87
87
|
function getBold(msg) {
|
|
88
88
|
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
@@ -216,21 +216,6 @@ var messages = reactIntl.defineMessages({
|
|
|
216
216
|
description: 'Label for "Field definitions" link',
|
|
217
217
|
defaultMessage: 'Field definitions'
|
|
218
218
|
},
|
|
219
|
-
allGeneralFields: {
|
|
220
|
-
id: 'ExportResourcesModal.allGeneralFields',
|
|
221
|
-
description: 'Label for "All general fields" checkbox',
|
|
222
|
-
defaultMessage: 'All general fields'
|
|
223
|
-
},
|
|
224
|
-
allCustomFields: {
|
|
225
|
-
id: 'ExportResourcesModal.allCustomFields',
|
|
226
|
-
description: 'Label for "All custom fields" checkbox',
|
|
227
|
-
defaultMessage: 'All custom fields'
|
|
228
|
-
},
|
|
229
|
-
customTypeKeyAndTypeId: {
|
|
230
|
-
id: 'ExportResourcesModal.customTypeKeyAndTypeId',
|
|
231
|
-
description: 'Label for "Custom type key and typeId" checkbox',
|
|
232
|
-
defaultMessage: 'Custom type key and typeId'
|
|
233
|
-
},
|
|
234
219
|
unexpectedError: {
|
|
235
220
|
id: 'ExportResourcesModal.unexpectedError',
|
|
236
221
|
description: 'Generic notification message when starting export process fails',
|
|
@@ -263,14 +248,14 @@ var messages = reactIntl.defineMessages({
|
|
|
263
248
|
}
|
|
264
249
|
});
|
|
265
250
|
|
|
266
|
-
function ownKeys$
|
|
267
|
-
function _objectSpread$
|
|
251
|
+
function ownKeys$4(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
252
|
+
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
268
253
|
function renderFileNameError(key) {
|
|
269
254
|
switch (key) {
|
|
270
255
|
case 'missing':
|
|
271
|
-
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$
|
|
256
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$4({}, messages.missingFileNameError));
|
|
272
257
|
case 'invalidInput':
|
|
273
|
-
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$
|
|
258
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$4({}, messages.invalidFileNameError));
|
|
274
259
|
default:
|
|
275
260
|
return null;
|
|
276
261
|
}
|
|
@@ -278,7 +263,7 @@ function renderFileNameError(key) {
|
|
|
278
263
|
function renderLocaleError(key) {
|
|
279
264
|
switch (key) {
|
|
280
265
|
case 'missing':
|
|
281
|
-
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$
|
|
266
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$4({}, messages.missingLocaleError));
|
|
282
267
|
default:
|
|
283
268
|
return null;
|
|
284
269
|
}
|
|
@@ -373,7 +358,7 @@ let UnexpectedResourceTypeError = /*#__PURE__*/function (_Error) {
|
|
|
373
358
|
function UnexpectedResourceTypeError(resourceType) {
|
|
374
359
|
var _this;
|
|
375
360
|
_classCallCheck(this, UnexpectedResourceTypeError);
|
|
376
|
-
_this = _super.call(this, "Unexpected resource type
|
|
361
|
+
_this = _super.call(this, "Unexpected resource type \"".concat(resourceType, "\""));
|
|
377
362
|
_this.name = 'UnexpectedResourceTypeError';
|
|
378
363
|
return _this;
|
|
379
364
|
}
|
|
@@ -403,41 +388,50 @@ function useExportResourcesContext() {
|
|
|
403
388
|
return context;
|
|
404
389
|
}
|
|
405
390
|
|
|
391
|
+
function checkAtLeastOneFieldChecked$1(fields) {
|
|
392
|
+
return _someInstanceProperty__default["default"](fields).call(fields, field => {
|
|
393
|
+
if (field.fields) {
|
|
394
|
+
return field.isChecked || checkAtLeastOneFieldChecked$1(field.fields);
|
|
395
|
+
}
|
|
396
|
+
return field.isChecked;
|
|
397
|
+
});
|
|
398
|
+
}
|
|
406
399
|
function validate(_ref) {
|
|
407
400
|
let values = _valuesInstanceProperty__default["default"](_ref),
|
|
408
401
|
step = _ref.step;
|
|
409
402
|
const fileName = values.fileName,
|
|
410
403
|
locales = values.locales,
|
|
411
|
-
|
|
412
|
-
customFields = values.customFields;
|
|
404
|
+
groups = values.groups;
|
|
413
405
|
const errors = {
|
|
414
406
|
fileName: {},
|
|
415
407
|
locales: {},
|
|
416
408
|
fields: {}
|
|
417
409
|
};
|
|
418
410
|
if (uiKit.TextInput.isEmpty(fileName)) {
|
|
411
|
+
// @ts-ignore
|
|
419
412
|
errors.fileName.missing = true;
|
|
420
413
|
} else if (!/^[a-zA-Z0-9-_.]+$/.test(fileName)) {
|
|
414
|
+
// @ts-ignore
|
|
421
415
|
errors.fileName.invalidInput = true;
|
|
422
416
|
}
|
|
423
417
|
if (locales.length < 1) {
|
|
418
|
+
// @ts-ignore
|
|
424
419
|
errors.locales.missing = true;
|
|
425
420
|
}
|
|
426
421
|
if (step === 2) {
|
|
427
|
-
const
|
|
428
|
-
const
|
|
429
|
-
|
|
430
|
-
return
|
|
431
|
-
}
|
|
432
|
-
if (
|
|
422
|
+
const allFields = _reduceInstanceProperty__default["default"](groups).call(groups, (acc, group) => _concatInstanceProperty__default["default"](acc).call(acc, group.fields), []);
|
|
423
|
+
const checkedFieldsCount = _filterInstanceProperty__default["default"](allFields).call(allFields, field => {
|
|
424
|
+
if (field.fields) return checkAtLeastOneFieldChecked$1(field.fields);
|
|
425
|
+
return !field.isRequired && !field.isReadOnly && field.isChecked;
|
|
426
|
+
}).length;
|
|
427
|
+
if (checkedFieldsCount < 1) {
|
|
428
|
+
// @ts-ignore
|
|
433
429
|
errors.fields.missing = true;
|
|
434
430
|
}
|
|
435
431
|
}
|
|
436
432
|
return omitEmpty__default["default"](errors);
|
|
437
433
|
}
|
|
438
434
|
|
|
439
|
-
function ownKeys$4(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
440
|
-
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var _context8, _context9; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context8 = ownKeys$4(Object(t), !0)).call(_context8, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context9 = ownKeys$4(Object(t))).call(_context9, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
441
435
|
function resourceTypeToDisplayName(_ref) {
|
|
442
436
|
let resourceType = _ref.resourceType,
|
|
443
437
|
_ref$isUpperCase = _ref.isUpperCase,
|
|
@@ -456,7 +450,7 @@ function resourceTypeToDisplayName(_ref) {
|
|
|
456
450
|
displayName = isPlural ? 'Discount codes' : 'Discount code';
|
|
457
451
|
break;
|
|
458
452
|
default:
|
|
459
|
-
throw UnexpectedResourceTypeError(resourceType);
|
|
453
|
+
throw new UnexpectedResourceTypeError(resourceType);
|
|
460
454
|
}
|
|
461
455
|
return isUpperCase ? displayName : displayName.toLowerCase();
|
|
462
456
|
}
|
|
@@ -475,84 +469,36 @@ function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
|
|
|
475
469
|
if (!extensionRegex.test(fileName)) return _concatInstanceProperty__default["default"](_context = "".concat(fileName, ".")).call(_context, fileFormat);
|
|
476
470
|
return fileName;
|
|
477
471
|
}
|
|
478
|
-
function flattenNestedFields(fields) {
|
|
479
|
-
const result = (fields === null || fields === void 0 ? void 0 : _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
480
|
-
if (isFilledArray(field.fields)) {
|
|
481
|
-
var _context2;
|
|
482
|
-
return _mapInstanceProperty__default["default"](_context2 = flattenNestedFields(field.fields)).call(_context2, nestedField => {
|
|
483
|
-
var _context3;
|
|
484
|
-
return _objectSpread$4(_objectSpread$4({}, nestedField), {}, {
|
|
485
|
-
name: _concatInstanceProperty__default["default"](_context3 = "".concat(field.name, ".")).call(_context3, nestedField.name)
|
|
486
|
-
});
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
return field;
|
|
490
|
-
})) || [];
|
|
491
|
-
return _flatInstanceProperty__default["default"](result).call(result);
|
|
492
|
-
}
|
|
493
|
-
function getSelectedGeneralFields(fields) {
|
|
494
|
-
return _filterInstanceProperty__default["default"](fields).call(fields, field => field.isChecked);
|
|
495
|
-
}
|
|
496
|
-
function getSelectedCustomFields(customFields) {
|
|
497
|
-
return _mapInstanceProperty__default["default"](customFields).call(customFields, customType => {
|
|
498
|
-
var _context4;
|
|
499
|
-
return _objectSpread$4(_objectSpread$4({}, customType), {}, {
|
|
500
|
-
fields: _filterInstanceProperty__default["default"](_context4 = customType.fields).call(_context4, field => field.isChecked)
|
|
501
|
-
});
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
function checkRequiredFields(fields) {
|
|
505
|
-
return _mapInstanceProperty__default["default"](fields).call(fields, field => field.isRequired ? _objectSpread$4(_objectSpread$4({}, field), {}, {
|
|
506
|
-
isChecked: true
|
|
507
|
-
}) : field);
|
|
508
|
-
}
|
|
509
472
|
function getExportLogsLink(projectKey, msg) {
|
|
510
473
|
return jsxRuntime.jsx(uiKit.Link, {
|
|
511
474
|
to: "/".concat(projectKey, "/operations/export/logs"),
|
|
512
475
|
children: msg
|
|
513
476
|
});
|
|
514
477
|
}
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
fields: _mapInstanceProperty__default["default"](_context5 = customType.fields).call(_context5, field => _objectSpread$4(_objectSpread$4({}, field), {}, {
|
|
520
|
-
isChecked: false
|
|
521
|
-
}))
|
|
522
|
-
});
|
|
523
|
-
});
|
|
524
|
-
}
|
|
525
|
-
function extractGeneralFieldNames(generalFields) {
|
|
526
|
-
return _mapInstanceProperty__default["default"](generalFields).call(generalFields, field => field.name);
|
|
527
|
-
}
|
|
528
|
-
function extractCustomFieldNamesWithPrefix(customFields) {
|
|
529
|
-
const fields = _flatMapInstanceProperty__default["default"](customFields).call(customFields, customType => {
|
|
530
|
-
var _context6;
|
|
531
|
-
return _flatMapInstanceProperty__default["default"](_context6 = customType.fields).call(_context6, field => {
|
|
532
|
-
return getCustomFieldNameWithPrefix(field, customType.type.resourceTypeIds);
|
|
533
|
-
});
|
|
534
|
-
});
|
|
535
|
-
return [...new _Set__default["default"](fields)];
|
|
536
|
-
}
|
|
537
|
-
function getCustomFieldNameWithPrefix(field, resourceTypeIds) {
|
|
538
|
-
const prefixes = _mapInstanceProperty__default["default"](resourceTypeIds).call(resourceTypeIds, type => {
|
|
539
|
-
switch (type) {
|
|
540
|
-
case 'asset':
|
|
541
|
-
return 'assets.custom.fields.';
|
|
542
|
-
default:
|
|
543
|
-
return 'custom.fields.';
|
|
478
|
+
const extractFieldNamesAndAdditionalFieldExtensions = fields => {
|
|
479
|
+
const result = _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
|
|
480
|
+
if (field.additionalFieldExtensions) {
|
|
481
|
+
return [...acc, ...field.additionalFieldExtensions, field.name];
|
|
544
482
|
}
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
483
|
+
return [...acc, field.name];
|
|
484
|
+
}, []);
|
|
485
|
+
return [...new _Set__default["default"](result)];
|
|
486
|
+
};
|
|
487
|
+
function sortFieldsByFieldOrder(_ref2) {
|
|
488
|
+
let fields = _ref2.fields,
|
|
489
|
+
fieldOrder = _ref2.fieldOrder;
|
|
490
|
+
if (isFilledArray(fieldOrder)) {
|
|
491
|
+
return _sortInstanceProperty__default["default"](fields).call(fields, (a, b) => {
|
|
492
|
+
let orderA = _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a) !== -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a) : _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, a.split('.')[0]);
|
|
493
|
+
let orderB = _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b) !== -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b) : _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, b.split('.')[0]);
|
|
551
494
|
|
|
552
|
-
//
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
495
|
+
// If a field is not 'custom',then consider it as '*'
|
|
496
|
+
orderA = orderA === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderA;
|
|
497
|
+
orderB = orderB === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderB;
|
|
498
|
+
return orderA - orderB;
|
|
499
|
+
});
|
|
500
|
+
}
|
|
501
|
+
return fields;
|
|
556
502
|
}
|
|
557
503
|
|
|
558
504
|
// TODO: remove this function when filters are passed directly from parent views
|
|
@@ -565,71 +511,69 @@ function tmpBuildFilters(selectedResourceIds) {
|
|
|
565
511
|
return ["id in (".concat(formattedIds, ")")];
|
|
566
512
|
}
|
|
567
513
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
const
|
|
571
|
-
const
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
default: defaultFieldExtension,
|
|
592
|
-
category: categoryFieldExtension
|
|
514
|
+
function ownKeys$3(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
515
|
+
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
516
|
+
const updateFieldGroupsWithIsCheckedValue = groups => {
|
|
517
|
+
const updateFields = (fields, parentChecked) => {
|
|
518
|
+
return _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
519
|
+
var _field$isRequired;
|
|
520
|
+
let isChecked = ((_field$isRequired = field.isRequired) !== null && _field$isRequired !== void 0 ? _field$isRequired : !field.isReadOnly && field.isSelectedByDefault) || parentChecked;
|
|
521
|
+
if (field.fields) {
|
|
522
|
+
const updatedFields = updateFields(field.fields, isChecked);
|
|
523
|
+
isChecked = false;
|
|
524
|
+
field.fields = updatedFields;
|
|
525
|
+
}
|
|
526
|
+
return _objectSpread$3(_objectSpread$3({}, field), {}, {
|
|
527
|
+
isChecked
|
|
528
|
+
});
|
|
529
|
+
});
|
|
530
|
+
};
|
|
531
|
+
return _mapInstanceProperty__default["default"](groups).call(groups, group => {
|
|
532
|
+
const updatedFields = updateFields(group.fields, false);
|
|
533
|
+
return _objectSpread$3(_objectSpread$3({}, group), {}, {
|
|
534
|
+
fields: updatedFields
|
|
535
|
+
});
|
|
536
|
+
});
|
|
593
537
|
};
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
538
|
+
const updateFieldGroupWithAdditionalFieldExtensions = groups => {
|
|
539
|
+
function updateAdditionalFieldExtensions(fields, additionalFieldExtensions) {
|
|
540
|
+
return _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
541
|
+
const updatedAdditionalFieldExtensions = [...additionalFieldExtensions, ...(field.additionalFieldExtensions || [])];
|
|
542
|
+
if (field.fields) {
|
|
543
|
+
field.fields = updateAdditionalFieldExtensions(field.fields, updatedAdditionalFieldExtensions);
|
|
544
|
+
}
|
|
545
|
+
return _objectSpread$3(_objectSpread$3({}, field), {}, {
|
|
546
|
+
additionalFieldExtensions: updatedAdditionalFieldExtensions
|
|
547
|
+
});
|
|
548
|
+
});
|
|
549
|
+
}
|
|
550
|
+
return _mapInstanceProperty__default["default"](groups).call(groups, group => {
|
|
551
|
+
return _objectSpread$3(_objectSpread$3({}, group), {}, {
|
|
552
|
+
fields: updateAdditionalFieldExtensions(group.fields, group.additionalFieldExtensions || [])
|
|
553
|
+
});
|
|
554
|
+
});
|
|
600
555
|
};
|
|
601
556
|
|
|
602
|
-
const _excluded = ["isSelectedByDefault"];
|
|
603
|
-
function ownKeys$3(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
604
|
-
function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context3, _context4; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$3(Object(t), !0)).call(_context3, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$3(Object(t))).call(_context4, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
605
557
|
const useInitialValues = props => {
|
|
606
|
-
var _context;
|
|
607
558
|
const todayFormatted = moment__default["default"]().format('DD-MM-YY_HH-mm');
|
|
608
559
|
const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
|
|
609
560
|
locale: applicationContext.dataLocale
|
|
610
561
|
})),
|
|
611
562
|
locale = _useApplicationContex.locale;
|
|
612
|
-
const
|
|
613
|
-
let isSelectedByDefault = _ref.isSelectedByDefault,
|
|
614
|
-
field = _objectWithoutProperties(_ref, _excluded);
|
|
615
|
-
return _objectSpread$3(_objectSpread$3({}, field), {}, {
|
|
616
|
-
isChecked: isSelectedByDefault !== null && isSelectedByDefault !== void 0 ? isSelectedByDefault : true
|
|
617
|
-
});
|
|
618
|
-
});
|
|
563
|
+
const groups = updateFieldGroupsWithIsCheckedValue(props.fieldGroups);
|
|
619
564
|
return React__default["default"].useMemo(() => {
|
|
620
|
-
var
|
|
565
|
+
var _context;
|
|
621
566
|
return {
|
|
622
567
|
outputFormat: props.outputFormat,
|
|
623
|
-
fileName: _concatInstanceProperty__default["default"](
|
|
568
|
+
fileName: _concatInstanceProperty__default["default"](_context = "".concat(resourceTypeToDisplayName({
|
|
624
569
|
resourceType: props.resourceType,
|
|
625
570
|
isUpperCase: true,
|
|
626
571
|
isPlural: true
|
|
627
|
-
}), "_Export_")).call(
|
|
572
|
+
}), "_Export_")).call(_context, todayFormatted),
|
|
628
573
|
locales: [locale],
|
|
629
|
-
|
|
630
|
-
customFields: setInitialCheckedStateForCustomFields(props.customFields)
|
|
574
|
+
groups: updateFieldGroupWithAdditionalFieldExtensions(groups)
|
|
631
575
|
};
|
|
632
|
-
}, [props, locale, todayFormatted,
|
|
576
|
+
}, [props, locale, todayFormatted, groups]);
|
|
633
577
|
};
|
|
634
578
|
|
|
635
579
|
async function createExportOperation(_ref) {
|
|
@@ -644,6 +588,7 @@ async function createExportOperation(_ref) {
|
|
|
644
588
|
const uri = "/proxy/export/".concat(projectKey, "/export-operations");
|
|
645
589
|
const response = await asyncDispatchFn(sdk.actions.post({
|
|
646
590
|
// FIXME: EXPORT is undefined
|
|
591
|
+
// @ts-ignore
|
|
647
592
|
mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
|
|
648
593
|
uri: uri,
|
|
649
594
|
headers: {
|
|
@@ -674,12 +619,29 @@ const useStartExportOperation = props => {
|
|
|
674
619
|
};
|
|
675
620
|
}),
|
|
676
621
|
projectKey = _useApplicationContex.projectKey;
|
|
622
|
+
const extractFieldsFromGroups = groups => {
|
|
623
|
+
let selectedGeneralFields = [];
|
|
624
|
+
const getSelectedFields = fields => {
|
|
625
|
+
return _filterInstanceProperty__default["default"](fields).call(fields, field => {
|
|
626
|
+
var _field$isChecked;
|
|
627
|
+
if (field.fields) {
|
|
628
|
+
return getSelectedFields(field.fields);
|
|
629
|
+
}
|
|
630
|
+
if (field.isChecked) selectedGeneralFields.push(field);
|
|
631
|
+
return (_field$isChecked = field.isChecked) !== null && _field$isChecked !== void 0 ? _field$isChecked : false;
|
|
632
|
+
});
|
|
633
|
+
};
|
|
634
|
+
_forEachInstanceProperty__default["default"](groups).call(groups, group => {
|
|
635
|
+
getSelectedFields(group.fields);
|
|
636
|
+
});
|
|
637
|
+
return sortFieldsByFieldOrder({
|
|
638
|
+
fields: extractFieldNamesAndAdditionalFieldExtensions(selectedGeneralFields),
|
|
639
|
+
fieldOrder: props.fieldOrder
|
|
640
|
+
});
|
|
641
|
+
};
|
|
677
642
|
const startExportOperation = async values => {
|
|
678
643
|
try {
|
|
679
|
-
const
|
|
680
|
-
const selectedCustomFields = getSelectedCustomFields(values.customFields);
|
|
681
|
-
const generalFields = extractGeneralFieldNames(selectedGeneralFields);
|
|
682
|
-
const customFields = sortCustomFields(extractCustomFieldNamesWithPrefix(selectedCustomFields));
|
|
644
|
+
const fields = extractFieldsFromGroups(values.groups);
|
|
683
645
|
const filters = tmpBuildFilters(props.selectedResourceIds);
|
|
684
646
|
const response = await createExportOperation({
|
|
685
647
|
projectKey,
|
|
@@ -687,10 +649,7 @@ const useStartExportOperation = props => {
|
|
|
687
649
|
fileName: appendCsvOrJsonExtensionIfAbsent(values.fileName, values.outputFormat),
|
|
688
650
|
fileFormat: values.outputFormat,
|
|
689
651
|
locales: values.locales,
|
|
690
|
-
fields
|
|
691
|
-
resourceType: props.resourceType,
|
|
692
|
-
fields: [...generalFields, ...customFields]
|
|
693
|
-
}),
|
|
652
|
+
fields,
|
|
694
653
|
filters,
|
|
695
654
|
asyncDispatchFn: asyncDispatch
|
|
696
655
|
});
|
|
@@ -700,6 +659,7 @@ const useStartExportOperation = props => {
|
|
|
700
659
|
showNotification({
|
|
701
660
|
kind: 'info',
|
|
702
661
|
domain: constants.DOMAINS.SIDE,
|
|
662
|
+
// @ts-ignore
|
|
703
663
|
text: intl.formatMessage(messages.exportOperationSuccessMessage, {
|
|
704
664
|
newline: getNewLine,
|
|
705
665
|
logsLink: msg => getExportLogsLink(projectKey, msg),
|
|
@@ -888,13 +848,154 @@ const NoSearchResults = () => {
|
|
|
888
848
|
};
|
|
889
849
|
|
|
890
850
|
function ownKeys$1(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
891
|
-
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
851
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context7, _context8; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context7 = ownKeys$1(Object(t), !0)).call(_context7, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context8 = ownKeys$1(Object(t))).call(_context8, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
892
852
|
const StyledGroupCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, {
|
|
893
|
-
target: "
|
|
853
|
+
target: "e3xiyhb1"
|
|
894
854
|
} )("border-right:", uiKit.designTokens.borderWidth1, " solid ", uiKit.designTokens.colorNeutral90, ";background-color:", uiKit.designTokens.colorNeutral98, ";height:100%;border-radius:0;", props => props.showTopBorder && /*#__PURE__*/react.css("border-top:", uiKit.designTokens.borderWidth1, " solid ", uiKit.designTokens.colorNeutral90, ";" + ("" ), "" ), ";" + ("" ));
|
|
895
855
|
const StyledFieldsCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, {
|
|
896
|
-
target: "
|
|
856
|
+
target: "e3xiyhb0"
|
|
897
857
|
} )("border-radius:0;", props => props.showTopBorder && /*#__PURE__*/react.css("border-top:", uiKit.designTokens.borderWidth1, " solid ", uiKit.designTokens.colorNeutral90, ";" + ("" ), "" ), ";" + ("" ));
|
|
858
|
+
const FieldSections = _ref => {
|
|
859
|
+
let fields = _ref.fields,
|
|
860
|
+
parentKeys = _ref.parentKeys,
|
|
861
|
+
formik = _ref.formik,
|
|
862
|
+
isAnySiblingChecked = _ref.isAnySiblingChecked;
|
|
863
|
+
return jsxRuntime.jsx(uiKit.Spacings.Stack, {
|
|
864
|
+
scale: "s",
|
|
865
|
+
children: fields === null || fields === void 0 ? void 0 : _mapInstanceProperty__default["default"](fields).call(fields, (field, index) => {
|
|
866
|
+
var _context, _field$fields3;
|
|
867
|
+
const isAtleastOneChildChecked = () => {
|
|
868
|
+
function checkAtLeastOneFieldChecked(fields) {
|
|
869
|
+
return fields === null || fields === void 0 ? void 0 : _someInstanceProperty__default["default"](fields).call(fields, field => {
|
|
870
|
+
if (field.fields) {
|
|
871
|
+
return field.isChecked || checkAtLeastOneFieldChecked(field.fields);
|
|
872
|
+
}
|
|
873
|
+
return field.isChecked;
|
|
874
|
+
});
|
|
875
|
+
}
|
|
876
|
+
return checkAtLeastOneFieldChecked(field.fields);
|
|
877
|
+
};
|
|
878
|
+
const isAnyOfTheChildFieldsChecked = isAtleastOneChildChecked();
|
|
879
|
+
if (field.isHidden) return null;
|
|
880
|
+
return jsxRuntime.jsxs(React__default["default"].Fragment, {
|
|
881
|
+
children: [jsxRuntime.jsxs(uiKit.CheckboxInput, {
|
|
882
|
+
isChecked: field.isReadOnly ? isAnySiblingChecked : isAnyOfTheChildFieldsChecked || field.isChecked,
|
|
883
|
+
isReadOnly: field.isReadOnly || field.isRequired,
|
|
884
|
+
onChange: e => {
|
|
885
|
+
var _context2, _field$fields2;
|
|
886
|
+
const path = _concatInstanceProperty__default["default"](_context2 = "".concat(parentKeys.join('.'), ".fields[")).call(_context2, index, "]");
|
|
887
|
+
// Update all child fields
|
|
888
|
+
const updateAllChildFieldsChecked = (path, checked) => {
|
|
889
|
+
const item = get__default["default"](_valuesInstanceProperty__default["default"](formik), path);
|
|
890
|
+
if (item && item.fields) {
|
|
891
|
+
var _context3;
|
|
892
|
+
_forEachInstanceProperty__default["default"](_context3 = item.fields).call(_context3, (field, i) => {
|
|
893
|
+
var _context4, _field$fields;
|
|
894
|
+
const fieldPath = _concatInstanceProperty__default["default"](_context4 = "".concat(path, ".fields[")).call(_context4, i, "]");
|
|
895
|
+
if (!((_field$fields = field.fields) !== null && _field$fields !== void 0 && _field$fields.length)) {
|
|
896
|
+
formik.setFieldValue("".concat(fieldPath, ".isChecked"), checked,
|
|
897
|
+
// pass `false` to avoid revalidating the form with intermediate values
|
|
898
|
+
false);
|
|
899
|
+
}
|
|
900
|
+
updateAllChildFieldsChecked(fieldPath, checked);
|
|
901
|
+
});
|
|
902
|
+
}
|
|
903
|
+
};
|
|
904
|
+
if (!((_field$fields2 = field.fields) !== null && _field$fields2 !== void 0 && _field$fields2.length)) {
|
|
905
|
+
formik.setFieldValue("".concat(path, ".isChecked"), e.target.checked,
|
|
906
|
+
// pass `false` to avoid revalidating the form with intermediate values
|
|
907
|
+
false);
|
|
908
|
+
}
|
|
909
|
+
updateAllChildFieldsChecked(path, e.target.checked);
|
|
910
|
+
},
|
|
911
|
+
children: [field.label, " ", field.isRequired && '*']
|
|
912
|
+
}), field.fields && ((_field$fields3 = field.fields) === null || _field$fields3 === void 0 ? void 0 : _field$fields3.length) > 0 && jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
913
|
+
scale: "l",
|
|
914
|
+
children: [jsxRuntime.jsx("div", {}), jsxRuntime.jsx(FieldSections, {
|
|
915
|
+
fields: field.fields,
|
|
916
|
+
formik: formik,
|
|
917
|
+
parentKeys: [...parentKeys, "fields[".concat(index, "]")],
|
|
918
|
+
isAnySiblingChecked: isAnySiblingChecked
|
|
919
|
+
})]
|
|
920
|
+
})]
|
|
921
|
+
}, _concatInstanceProperty__default["default"](_context = "".concat(field.name, "-")).call(_context, index));
|
|
922
|
+
})
|
|
923
|
+
});
|
|
924
|
+
};
|
|
925
|
+
function checkAllFieldsSelected(fields) {
|
|
926
|
+
return _everyInstanceProperty__default["default"](fields).call(fields, field => {
|
|
927
|
+
if (field.fields) {
|
|
928
|
+
return checkAllFieldsSelected(field.fields);
|
|
929
|
+
}
|
|
930
|
+
return field.isChecked || field.isRequired || field.isReadOnly;
|
|
931
|
+
});
|
|
932
|
+
}
|
|
933
|
+
function checkAtLeastOneFieldChecked(fields) {
|
|
934
|
+
return _someInstanceProperty__default["default"](fields).call(fields, field => {
|
|
935
|
+
if (field.fields) {
|
|
936
|
+
return field.isChecked || checkAtLeastOneFieldChecked(field.fields);
|
|
937
|
+
}
|
|
938
|
+
return field.isChecked;
|
|
939
|
+
});
|
|
940
|
+
}
|
|
941
|
+
const FieldGroupSection = _ref2 => {
|
|
942
|
+
let group = _ref2.group,
|
|
943
|
+
index = _ref2.index,
|
|
944
|
+
formik = _ref2.formik;
|
|
945
|
+
const allAllFieldsSelected = React__default["default"].useMemo(() => checkAllFieldsSelected(group.fields), [group.fields]);
|
|
946
|
+
const isAtleastOneFieldChecked = React__default["default"].useMemo(() => checkAtLeastOneFieldChecked(group.fields), [group.fields]);
|
|
947
|
+
const parentKey = "groups[".concat(index, "]");
|
|
948
|
+
const handleChangeAllFields = e => {
|
|
949
|
+
const item = get__default["default"](_valuesInstanceProperty__default["default"](formik), parentKey);
|
|
950
|
+
function updateAllFields(fields, checked) {
|
|
951
|
+
return _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
952
|
+
if (field.fields) {
|
|
953
|
+
return _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
954
|
+
fields: updateAllFields(field.fields, checked)
|
|
955
|
+
});
|
|
956
|
+
}
|
|
957
|
+
if (field.isReadOnly || field.isRequired) return field;
|
|
958
|
+
return _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
959
|
+
isChecked: checked
|
|
960
|
+
});
|
|
961
|
+
});
|
|
962
|
+
}
|
|
963
|
+
formik.setFieldValue(parentKey, _objectSpread$1(_objectSpread$1({}, item), {}, {
|
|
964
|
+
fields: updateAllFields(item.fields, e.target.checked)
|
|
965
|
+
}));
|
|
966
|
+
};
|
|
967
|
+
if (group.isHidden) return null;
|
|
968
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
969
|
+
children: [jsxRuntime.jsx(uiKit.Grid.Item, {
|
|
970
|
+
children: jsxRuntime.jsx(StyledGroupCard, {
|
|
971
|
+
type: "flat",
|
|
972
|
+
insetScale: "l",
|
|
973
|
+
showTopBorder: true,
|
|
974
|
+
children: jsxRuntime.jsx(uiKit.CheckboxInput, {
|
|
975
|
+
isIndeterminate: !allAllFieldsSelected && isAtleastOneFieldChecked,
|
|
976
|
+
isChecked: allAllFieldsSelected,
|
|
977
|
+
onChange: handleChangeAllFields,
|
|
978
|
+
children: group.groupLabel
|
|
979
|
+
})
|
|
980
|
+
})
|
|
981
|
+
}), jsxRuntime.jsx(uiKit.Grid.Item, {
|
|
982
|
+
children: jsxRuntime.jsx(StyledFieldsCard, {
|
|
983
|
+
type: "flat",
|
|
984
|
+
insetScale: "l",
|
|
985
|
+
showTopBorder: true,
|
|
986
|
+
children: jsxRuntime.jsx(uiKit.Spacings.Stack, {
|
|
987
|
+
scale: "s",
|
|
988
|
+
children: jsxRuntime.jsx(FieldSections, {
|
|
989
|
+
fields: group.fields,
|
|
990
|
+
formik: formik,
|
|
991
|
+
parentKeys: [parentKey],
|
|
992
|
+
isAnySiblingChecked: isAtleastOneFieldChecked
|
|
993
|
+
})
|
|
994
|
+
})
|
|
995
|
+
})
|
|
996
|
+
})]
|
|
997
|
+
});
|
|
998
|
+
};
|
|
898
999
|
const ExportFieldsSelectionStep = () => {
|
|
899
1000
|
const intl = reactIntl.useIntl();
|
|
900
1001
|
const _React$useState = React__default["default"].useState(''),
|
|
@@ -910,47 +1011,44 @@ const ExportFieldsSelectionStep = () => {
|
|
|
910
1011
|
resourceType: resourceType,
|
|
911
1012
|
isPlural: true
|
|
912
1013
|
});
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
}, [_valuesInstanceProperty__default["default"](formik).
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
return _includesInstanceProperty__default["default"](_context5 = field.label.toLowerCase()).call(_context5, _trimInstanceProperty__default["default"](fieldSearchTerm).call(fieldSearchTerm).toLowerCase());
|
|
936
|
-
});
|
|
937
|
-
}, [_valuesInstanceProperty__default["default"](formik).fields, fieldSearchTerm]);
|
|
938
|
-
const filteredCustomFields = React__default["default"].useMemo(() => {
|
|
939
|
-
var _context6, _context7;
|
|
940
|
-
return _filterInstanceProperty__default["default"](_context6 = _mapInstanceProperty__default["default"](_context7 = _valuesInstanceProperty__default["default"](formik).customFields).call(_context7, customType => {
|
|
941
|
-
var _context8, _context9;
|
|
942
|
-
return _objectSpread$1(_objectSpread$1({}, customType), {}, {
|
|
943
|
-
fields: _includesInstanceProperty__default["default"](_context8 = customType.type.label.toLowerCase()).call(_context8, _trimInstanceProperty__default["default"](fieldSearchTerm).call(fieldSearchTerm).toLowerCase()) ? customType.fields : _filterInstanceProperty__default["default"](_context9 = customType.fields).call(_context9, field => {
|
|
944
|
-
var _context10;
|
|
945
|
-
return _includesInstanceProperty__default["default"](_context10 = field.label.toLowerCase()).call(_context10, _trimInstanceProperty__default["default"](fieldSearchTerm).call(fieldSearchTerm).toLowerCase());
|
|
946
|
-
})
|
|
1014
|
+
React__default["default"].useEffect(() => {
|
|
1015
|
+
formik.validateForm();
|
|
1016
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
1017
|
+
}, [_valuesInstanceProperty__default["default"](formik).groups]);
|
|
1018
|
+
// adds `isHidden` property to each field based on search term
|
|
1019
|
+
const filteredGroups = React__default["default"].useMemo(() => {
|
|
1020
|
+
var _fieldSearchTerm$trim, _context6;
|
|
1021
|
+
const updateFields = (fields, parentMatches) => {
|
|
1022
|
+
return _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
1023
|
+
var _context5;
|
|
1024
|
+
const matches = _includesInstanceProperty__default["default"](_context5 = field.label.toLowerCase()).call(_context5, fieldSearchTerm.toLowerCase());
|
|
1025
|
+
let isHidden = !matches && !parentMatches;
|
|
1026
|
+
if (field.fields) {
|
|
1027
|
+
const updatedFields = updateFields(field.fields, matches);
|
|
1028
|
+
isHidden = isHidden && _everyInstanceProperty__default["default"](updatedFields).call(updatedFields, f => f.isHidden);
|
|
1029
|
+
field = _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
1030
|
+
fields: updatedFields
|
|
1031
|
+
});
|
|
1032
|
+
}
|
|
1033
|
+
return _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
1034
|
+
isHidden
|
|
1035
|
+
});
|
|
947
1036
|
});
|
|
948
|
-
}
|
|
949
|
-
|
|
1037
|
+
};
|
|
1038
|
+
if (!(fieldSearchTerm !== null && fieldSearchTerm !== void 0 && (_fieldSearchTerm$trim = _trimInstanceProperty__default["default"](fieldSearchTerm).call(fieldSearchTerm)) !== null && _fieldSearchTerm$trim !== void 0 && _fieldSearchTerm$trim.length)) return _valuesInstanceProperty__default["default"](formik).groups;
|
|
1039
|
+
return _mapInstanceProperty__default["default"](_context6 = _valuesInstanceProperty__default["default"](formik).groups).call(_context6, group => {
|
|
1040
|
+
const updatedFields = updateFields(group.fields, false);
|
|
1041
|
+
const isHidden = _everyInstanceProperty__default["default"](updatedFields).call(updatedFields, field => field.isHidden);
|
|
1042
|
+
return _objectSpread$1(_objectSpread$1({}, group), {}, {
|
|
1043
|
+
fields: updatedFields,
|
|
1044
|
+
isHidden
|
|
1045
|
+
});
|
|
1046
|
+
});
|
|
1047
|
+
}, [_valuesInstanceProperty__default["default"](formik).groups, fieldSearchTerm]);
|
|
950
1048
|
const onSearchChange = React__default["default"].useCallback(event => {
|
|
951
1049
|
setFieldSearchTerm(event.target.value);
|
|
952
1050
|
}, [setFieldSearchTerm]);
|
|
953
|
-
const hasResults =
|
|
1051
|
+
const hasResults = Boolean(_findInstanceProperty__default["default"](filteredGroups).call(filteredGroups, group => !group.isHidden));
|
|
954
1052
|
const onSearchChangeThrottled = React__default["default"].useMemo(() => throttle__default["default"](onSearchChange, 300), [onSearchChange]);
|
|
955
1053
|
const onSearchReset = () => {
|
|
956
1054
|
setFieldSearchTerm('');
|
|
@@ -986,194 +1084,28 @@ const ExportFieldsSelectionStep = () => {
|
|
|
986
1084
|
value: fieldSearchTerm,
|
|
987
1085
|
onChange: onSearchChangeThrottled,
|
|
988
1086
|
onReset: onSearchReset
|
|
989
|
-
|
|
1087
|
+
// TODO: `SearchTextInput` props to be improved. The `onSubmit` callback shouldn't be mandatory
|
|
1088
|
+
,
|
|
1089
|
+
onSubmit: () => {}
|
|
1090
|
+
}), hasResults ? jsxRuntime.jsx(uiKit.Card, {
|
|
990
1091
|
insetScale: "none",
|
|
991
|
-
children: jsxRuntime.
|
|
1092
|
+
children: jsxRuntime.jsx(uiKit.Grid, {
|
|
992
1093
|
gridAutoFlow: "row",
|
|
993
1094
|
gridTemplateColumns: "".concat(uiKit.designTokens.constraint5, " auto"),
|
|
994
|
-
children: [
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
children: jsxRuntime.jsx(uiKit.CheckboxInput, {
|
|
1000
|
-
isIndeterminate: !areAllGeneralFieldsChecked && isAtLeastOneGeneralFieldChecked,
|
|
1001
|
-
isChecked: areAllGeneralFieldsChecked,
|
|
1002
|
-
onChange: e => {
|
|
1003
|
-
var _context11;
|
|
1004
|
-
formik.setFieldValue('fields', _mapInstanceProperty__default["default"](_context11 = _valuesInstanceProperty__default["default"](formik).fields).call(_context11, field => _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
1005
|
-
isChecked: field.isRequired ? true : e.target.checked
|
|
1006
|
-
})));
|
|
1007
|
-
},
|
|
1008
|
-
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$1({}, messages.allGeneralFields))
|
|
1009
|
-
})
|
|
1010
|
-
})
|
|
1011
|
-
}), jsxRuntime.jsx(uiKit.Grid.Item, {
|
|
1012
|
-
children: jsxRuntime.jsx(StyledFieldsCard, {
|
|
1013
|
-
type: "flat",
|
|
1014
|
-
insetScale: "l",
|
|
1015
|
-
children: jsxRuntime.jsx(uiKit.Spacings.Stack, {
|
|
1016
|
-
scale: "s",
|
|
1017
|
-
children: jsxRuntime.jsx(GeneralFieldsSelection, {
|
|
1018
|
-
fields: filteredGeneralFields,
|
|
1019
|
-
formik: formik
|
|
1020
|
-
})
|
|
1021
|
-
})
|
|
1022
|
-
})
|
|
1023
|
-
})]
|
|
1024
|
-
}), filteredCustomFields.length > 0 && jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1025
|
-
children: [jsxRuntime.jsx(uiKit.Grid.Item, {
|
|
1026
|
-
children: jsxRuntime.jsx(StyledGroupCard, {
|
|
1027
|
-
type: "flat",
|
|
1028
|
-
insetScale: "l",
|
|
1029
|
-
showTopBorder: filteredGeneralFields.length > 0,
|
|
1030
|
-
children: jsxRuntime.jsx(uiKit.CheckboxInput, {
|
|
1031
|
-
isIndeterminate: !areAllCustomFieldsChecked && isAtLeastOneCustomFieldChecked,
|
|
1032
|
-
isChecked: areAllCustomFieldsChecked,
|
|
1033
|
-
onChange: e => {
|
|
1034
|
-
var _context12;
|
|
1035
|
-
formik.setFieldValue('customFields', _mapInstanceProperty__default["default"](_context12 = _valuesInstanceProperty__default["default"](formik).customFields).call(_context12, customType => {
|
|
1036
|
-
var _context13;
|
|
1037
|
-
return _objectSpread$1(_objectSpread$1({}, customType), {}, {
|
|
1038
|
-
fields: _mapInstanceProperty__default["default"](_context13 = customType.fields).call(_context13, field => _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
1039
|
-
isChecked: e.target.checked
|
|
1040
|
-
}))
|
|
1041
|
-
});
|
|
1042
|
-
}));
|
|
1043
|
-
},
|
|
1044
|
-
children: jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$1({}, messages.allCustomFields))
|
|
1045
|
-
})
|
|
1046
|
-
})
|
|
1047
|
-
}), jsxRuntime.jsx(uiKit.Grid.Item, {
|
|
1048
|
-
children: jsxRuntime.jsx(StyledFieldsCard, {
|
|
1049
|
-
type: "flat",
|
|
1050
|
-
insetScale: "l",
|
|
1051
|
-
showTopBorder: filteredGeneralFields.length > 0,
|
|
1052
|
-
children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
1053
|
-
scale: "s",
|
|
1054
|
-
children: [jsxRuntime.jsxs(uiKit.CheckboxInput, {
|
|
1055
|
-
isReadOnly: true,
|
|
1056
|
-
onChange: () => {},
|
|
1057
|
-
isChecked: isAtLeastOneCustomFieldChecked,
|
|
1058
|
-
children: [jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$1({}, messages.customTypeKeyAndTypeId)), ' ', "*"]
|
|
1059
|
-
}), jsxRuntime.jsx(CustomFieldsSelection, {
|
|
1060
|
-
customFields: filteredCustomFields,
|
|
1061
|
-
formik: formik
|
|
1062
|
-
})]
|
|
1063
|
-
})
|
|
1064
|
-
})
|
|
1065
|
-
})]
|
|
1066
|
-
})]
|
|
1095
|
+
children: _mapInstanceProperty__default["default"](filteredGroups).call(filteredGroups, (group, index) => jsxRuntime.jsx(FieldGroupSection, {
|
|
1096
|
+
group: group,
|
|
1097
|
+
index: index,
|
|
1098
|
+
formik: formik
|
|
1099
|
+
}, group.groupLabel))
|
|
1067
1100
|
})
|
|
1068
|
-
})]
|
|
1101
|
+
}) : jsxRuntime.jsx(NoSearchResults, {})]
|
|
1069
1102
|
})
|
|
1070
1103
|
})
|
|
1071
1104
|
});
|
|
1072
1105
|
};
|
|
1073
|
-
const GeneralFieldsSelection = _ref => {
|
|
1074
|
-
let fields = _ref.fields,
|
|
1075
|
-
formik = _ref.formik;
|
|
1076
|
-
return _mapInstanceProperty__default["default"](fields).call(fields, field => jsxRuntime.jsxs(uiKit.CheckboxInput, {
|
|
1077
|
-
isChecked: field.isChecked,
|
|
1078
|
-
isReadOnly: field.isRequired,
|
|
1079
|
-
onChange: e => {
|
|
1080
|
-
var _context14;
|
|
1081
|
-
formik.setFieldValue('fields', _mapInstanceProperty__default["default"](_context14 = _valuesInstanceProperty__default["default"](formik).fields).call(_context14, _field => field.name === _field.name ? _objectSpread$1(_objectSpread$1({}, _field), {}, {
|
|
1082
|
-
isChecked: e.target.checked
|
|
1083
|
-
}) : _field));
|
|
1084
|
-
},
|
|
1085
|
-
children: [field.label, " ", field.isRequired && '*']
|
|
1086
|
-
}, field.name));
|
|
1087
|
-
};
|
|
1088
|
-
const CustomFieldsSelection = _ref2 => {
|
|
1089
|
-
let customFields = _ref2.customFields,
|
|
1090
|
-
formik = _ref2.formik;
|
|
1091
|
-
return _mapInstanceProperty__default["default"](customFields).call(customFields, customType => {
|
|
1092
|
-
var _context15, _context16, _context19;
|
|
1093
|
-
const areAllFieldsChecked = _everyInstanceProperty__default["default"](_context15 = customType.fields).call(_context15, field => field.isChecked);
|
|
1094
|
-
const isAtLeastOneFieldChecked = _someInstanceProperty__default["default"](_context16 = customType.fields).call(_context16, field => field.isChecked);
|
|
1095
|
-
return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
1096
|
-
scale: "s",
|
|
1097
|
-
children: [jsxRuntime.jsx(uiKit.CheckboxInput, {
|
|
1098
|
-
isIndeterminate: !areAllFieldsChecked && isAtLeastOneFieldChecked,
|
|
1099
|
-
isChecked: areAllFieldsChecked,
|
|
1100
|
-
onChange: e => {
|
|
1101
|
-
var _context17;
|
|
1102
|
-
formik.setFieldValue('customFields', _mapInstanceProperty__default["default"](_context17 = _valuesInstanceProperty__default["default"](formik).customFields).call(_context17, _customType => {
|
|
1103
|
-
var _context18;
|
|
1104
|
-
return _customType.type.key === customType.type.key ? _objectSpread$1(_objectSpread$1({}, _customType), {}, {
|
|
1105
|
-
fields: _mapInstanceProperty__default["default"](_context18 = _customType.fields).call(_context18, field => _objectSpread$1(_objectSpread$1({}, field), {}, {
|
|
1106
|
-
isChecked: e.target.checked
|
|
1107
|
-
}))
|
|
1108
|
-
}) : _customType;
|
|
1109
|
-
}));
|
|
1110
|
-
},
|
|
1111
|
-
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
1112
|
-
children: customType.type.label
|
|
1113
|
-
})
|
|
1114
|
-
}), jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
1115
|
-
scale: "l",
|
|
1116
|
-
children: [jsxRuntime.jsx("div", {}), jsxRuntime.jsx(uiKit.Spacings.Stack, {
|
|
1117
|
-
scale: "s",
|
|
1118
|
-
children: _mapInstanceProperty__default["default"](_context19 = customType.fields).call(_context19, field => jsxRuntime.jsx(uiKit.CheckboxInput, {
|
|
1119
|
-
isChecked: field.isChecked,
|
|
1120
|
-
onChange: e => {
|
|
1121
|
-
var _context20;
|
|
1122
|
-
formik.setFieldValue('customFields', _mapInstanceProperty__default["default"](_context20 = _valuesInstanceProperty__default["default"](formik).customFields).call(_context20, _customType => {
|
|
1123
|
-
var _context21;
|
|
1124
|
-
return _customType.type.key === customType.type.key ? _objectSpread$1(_objectSpread$1({}, _customType), {}, {
|
|
1125
|
-
fields: _mapInstanceProperty__default["default"](_context21 = _customType.fields).call(_context21, _field => _field.name === field.name ? _objectSpread$1(_objectSpread$1({}, _field), {}, {
|
|
1126
|
-
isChecked: e.target.checked
|
|
1127
|
-
}) : _field)
|
|
1128
|
-
}) : _customType;
|
|
1129
|
-
}));
|
|
1130
|
-
},
|
|
1131
|
-
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
1132
|
-
children: field.label
|
|
1133
|
-
})
|
|
1134
|
-
}, field.name))
|
|
1135
|
-
})]
|
|
1136
|
-
})]
|
|
1137
|
-
}, customType.type.key);
|
|
1138
|
-
});
|
|
1139
|
-
};
|
|
1140
1106
|
|
|
1141
1107
|
const ExportResourcesContext = /*#__PURE__*/React.createContext();
|
|
1142
1108
|
|
|
1143
|
-
PropTypes__default["default"].shape({
|
|
1144
|
-
isOpen: PropTypes__default["default"].bool,
|
|
1145
|
-
resourceType: PropTypes__default["default"].string.isRequired,
|
|
1146
|
-
outputFormat: PropTypes__default["default"].string,
|
|
1147
|
-
onClose: PropTypes__default["default"].func,
|
|
1148
|
-
onExportSuccess: PropTypes__default["default"].func,
|
|
1149
|
-
totalResourcesCount: PropTypes__default["default"].number.isRequired,
|
|
1150
|
-
selectedResourceIds: PropTypes__default["default"].array,
|
|
1151
|
-
// TODO: Circular reference
|
|
1152
|
-
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
1153
|
-
name: PropTypes__default["default"].string.isRequired,
|
|
1154
|
-
label: PropTypes__default["default"].string,
|
|
1155
|
-
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
1156
|
-
name: PropTypes__default["default"].string.isRequired,
|
|
1157
|
-
label: PropTypes__default["default"].string,
|
|
1158
|
-
isSelectedByDefault: PropTypes__default["default"].bool,
|
|
1159
|
-
isRequired: PropTypes__default["default"].bool
|
|
1160
|
-
}))
|
|
1161
|
-
})).isRequired,
|
|
1162
|
-
customFields: PropTypes__default["default"].shape({
|
|
1163
|
-
type: PropTypes__default["default"].shape({
|
|
1164
|
-
key: PropTypes__default["default"].string.isRequired,
|
|
1165
|
-
label: PropTypes__default["default"].string.isRequired,
|
|
1166
|
-
resourceTypeIds: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)
|
|
1167
|
-
}).isRequired,
|
|
1168
|
-
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
1169
|
-
name: PropTypes__default["default"].string.isRequired,
|
|
1170
|
-
label: PropTypes__default["default"].string
|
|
1171
|
-
})).isRequired
|
|
1172
|
-
}),
|
|
1173
|
-
exportType: PropTypes__default["default"].string,
|
|
1174
|
-
renderProperties: PropTypes__default["default"].func
|
|
1175
|
-
}).isRequired;
|
|
1176
|
-
|
|
1177
1109
|
const ExportResourcesProvider = props => {
|
|
1178
1110
|
const initialValues = useInitialValues(props);
|
|
1179
1111
|
const _useStartExportOperat = useStartExportOperation(props),
|
|
@@ -1214,8 +1146,6 @@ const ExportResourcesProvider = props => {
|
|
|
1214
1146
|
children: props.children
|
|
1215
1147
|
});
|
|
1216
1148
|
};
|
|
1217
|
-
ExportResourcesProvider.displayName = 'ExportResourcesProvider';
|
|
1218
|
-
ExportResourcesProvider.propTypes = {};
|
|
1219
1149
|
|
|
1220
1150
|
const CurrentStep = () => {
|
|
1221
1151
|
const _useExportResourcesCo = useExportResourcesContext(),
|
|
@@ -1227,22 +1157,100 @@ const CurrentStep = () => {
|
|
|
1227
1157
|
return steps[currentStep] || null;
|
|
1228
1158
|
};
|
|
1229
1159
|
|
|
1160
|
+
const loadMessages = locale => {
|
|
1161
|
+
const intlLocale = i18n.mapLocaleToIntlLocale(locale);
|
|
1162
|
+
switch (intlLocale) {
|
|
1163
|
+
case 'de':
|
|
1164
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "export-resources-modal-i18n-de" */'./de-d954fe3d.cjs.prod.js'); });
|
|
1165
|
+
case 'es':
|
|
1166
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "export-resources-modal-i18n-es" */'./es-042343bd.cjs.prod.js'); });
|
|
1167
|
+
case 'fr-FR':
|
|
1168
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "export-resources-modal-i18n-fr-FR" */'./fr-FR-fce1ca96.cjs.prod.js'); });
|
|
1169
|
+
case 'zh-CN':
|
|
1170
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "export-resources-modal-i18n-zh-CN" */'./zh-CN-52baa549.cjs.prod.js'); });
|
|
1171
|
+
case 'ja':
|
|
1172
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "export-resources-modal-i18n-ja" */'./ja-37632763.cjs.prod.js'); });
|
|
1173
|
+
case 'pt-BR':
|
|
1174
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "change-history-i18n-pt-BR" */'./pt-BR-ec2a1a11.cjs.prod.js'); });
|
|
1175
|
+
default:
|
|
1176
|
+
return Promise.resolve().then(function () { return require( /* webpackChunkName: "export-resources-modal-i18n-en" */'./en-c7757448.cjs.prod.js'); });
|
|
1177
|
+
}
|
|
1178
|
+
};
|
|
1179
|
+
|
|
1180
|
+
// eslint-disable-next-line import/prefer-default-export
|
|
1181
|
+
const loadI18n = async locale => {
|
|
1182
|
+
try {
|
|
1183
|
+
const messages = await loadMessages(locale);
|
|
1184
|
+
return messages.default || messages;
|
|
1185
|
+
} catch (error) {
|
|
1186
|
+
// eslint-disable-next-line no-console
|
|
1187
|
+
console.warn("Something went wrong while loading the export-resources-modal messages for ".concat(locale), error);
|
|
1188
|
+
sentry.reportErrorToSentry(new Error("Something went wrong while loading the export-resources-modal messages for ".concat(locale)), {
|
|
1189
|
+
extra: error
|
|
1190
|
+
});
|
|
1191
|
+
return {};
|
|
1192
|
+
}
|
|
1193
|
+
};
|
|
1194
|
+
|
|
1195
|
+
const useAsyncIntlMessages = (locale, loader) => {
|
|
1196
|
+
const _useState = React.useState({
|
|
1197
|
+
isLoading: true,
|
|
1198
|
+
messages: undefined,
|
|
1199
|
+
error: undefined
|
|
1200
|
+
}),
|
|
1201
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1202
|
+
state = _useState2[0],
|
|
1203
|
+
setState = _useState2[1];
|
|
1204
|
+
React.useEffect(() => {
|
|
1205
|
+
let _isUnmounting = false;
|
|
1206
|
+
async function load() {
|
|
1207
|
+
try {
|
|
1208
|
+
if (!_isUnmounting) {
|
|
1209
|
+
const messages = await loader(locale);
|
|
1210
|
+
setState({
|
|
1211
|
+
isLoading: false,
|
|
1212
|
+
messages
|
|
1213
|
+
});
|
|
1214
|
+
}
|
|
1215
|
+
} catch (error) {
|
|
1216
|
+
setState({
|
|
1217
|
+
isLoading: false,
|
|
1218
|
+
error
|
|
1219
|
+
});
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
if (locale) load();
|
|
1223
|
+
return () => {
|
|
1224
|
+
_isUnmounting = true;
|
|
1225
|
+
};
|
|
1226
|
+
}, [locale, loader]);
|
|
1227
|
+
return state;
|
|
1228
|
+
};
|
|
1229
|
+
|
|
1230
1230
|
function ownKeys(e, r) { var t = _Object$keys__default["default"](e); if (_Object$getOwnPropertySymbols__default["default"]) { var o = _Object$getOwnPropertySymbols__default["default"](e); r && (o = _filterInstanceProperty__default["default"](o).call(o, function (r) { return _Object$getOwnPropertyDescriptor__default["default"](e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
1231
1231
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var _context, _context2; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(t), !0)).call(_context, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1232
1232
|
const ExportResourcesModal = props => {
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1233
|
+
const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => ({
|
|
1234
|
+
locale: context.user && context.user.locale
|
|
1235
|
+
})),
|
|
1236
|
+
locale = _useApplicationContex.locale;
|
|
1237
|
+
const messages = useAsyncIntlMessages('en', loadI18n);
|
|
1238
|
+
if (!props.isOpen || messages.isLoading) return null;
|
|
1239
|
+
return jsxRuntime.jsx(reactIntl.IntlProvider, {
|
|
1240
|
+
locale: locale,
|
|
1241
|
+
messages: messages.messages,
|
|
1242
|
+
children: jsxRuntime.jsx(ExportResourcesProvider, _objectSpread(_objectSpread({}, props), {}, {
|
|
1243
|
+
children: jsxRuntime.jsx(CurrentStep, {})
|
|
1244
|
+
}))
|
|
1245
|
+
});
|
|
1237
1246
|
};
|
|
1238
1247
|
ExportResourcesModal.displayName = 'ExportResourcesModal';
|
|
1239
|
-
ExportResourcesModal.propTypes = {};
|
|
1240
1248
|
ExportResourcesModal.defaultProps = {
|
|
1241
1249
|
isOpen: false,
|
|
1242
1250
|
selectedResourceIds: [],
|
|
1243
1251
|
exportType: EXPORT_TYPES.ALL,
|
|
1244
1252
|
outputFormat: OUTPUT_FORMATS.CSV,
|
|
1245
|
-
|
|
1253
|
+
fieldGroups: []
|
|
1246
1254
|
};
|
|
1247
1255
|
|
|
1248
1256
|
exports.EXPORTABLE_RESOURCES = EXPORTABLE_RESOURCES;
|