@commercetools-frontend-extensions/export-resources-modal 4.0.4 → 4.0.5

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.
@@ -25,6 +25,7 @@ var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibl
25
25
  var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
26
26
  var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
27
27
  var React = require('react');
28
+ var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
28
29
  var _concatInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/concat');
29
30
  var moment = require('moment');
30
31
  var _someInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/some');
@@ -35,10 +36,10 @@ var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-arr
35
36
  var _Set = require('@babel/runtime-corejs3/core-js-stable/set');
36
37
  var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
37
38
  var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
39
+ var experimentalComponents = require('@commercetools-frontend/experimental-components');
38
40
  var sdk = require('@commercetools-frontend/sdk');
39
41
  var actionsGlobal = require('@commercetools-frontend/actions-global');
40
42
  var constants = require('@commercetools-frontend/constants');
41
- var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
42
43
  var _styled = require('@emotion/styled/base');
43
44
  var _everyInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/every');
44
45
  var _includesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/includes');
@@ -269,6 +270,7 @@ function renderLocaleError(key) {
269
270
  }
270
271
 
271
272
  const Z_INDEX_DROPDOWN = 30000;
273
+ const OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION = 'OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION';
272
274
 
273
275
  const EXPORT_OPERATION_STATES = {
274
276
  PROCESSING: 'processing',
@@ -511,14 +513,27 @@ function tmpBuildFilters(selectedResourceIds) {
511
513
  }
512
514
 
513
515
  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; }
514
- 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; }
515
- const updateFieldGroupsWithIsCheckedValue = groups => {
516
- const updateFields = (fields, parentChecked) => {
516
+ function _objectSpread$3(e) { for (var r = 1; r < arguments.length; r++) { var _context4, _context5; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context4 = ownKeys$3(Object(t), !0)).call(_context4, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context5 = ownKeys$3(Object(t))).call(_context5, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
517
+ const updateFieldGroupsWithIsCheckedValue = (groups, cachedSelectedGroups) => {
518
+ const updateFields = (fields, parentChecked, fieldName) => {
517
519
  return _mapInstanceProperty__default["default"](fields).call(fields, field => {
518
- var _field$isRequired;
519
- let isChecked = ((_field$isRequired = field.isRequired) !== null && _field$isRequired !== void 0 ? _field$isRequired : !field.isReadOnly && field.isSelectedByDefault) || parentChecked;
520
+ let isChecked = false;
521
+ if (field.isRequired) {
522
+ isChecked = true;
523
+ } else {
524
+ var _context;
525
+ if (cachedSelectedGroups[_concatInstanceProperty__default["default"](_context = "".concat(fieldName, ".")).call(_context, field.name)] !== undefined) {
526
+ var _context2;
527
+ isChecked = cachedSelectedGroups[_concatInstanceProperty__default["default"](_context2 = "".concat(fieldName, ".")).call(_context2, field.name)];
528
+ } else if (!field.isReadOnly && field.isSelectedByDefault) {
529
+ isChecked = true;
530
+ } else if (parentChecked) {
531
+ isChecked = true;
532
+ }
533
+ }
520
534
  if (field.fields) {
521
- const updatedFields = updateFields(field.fields, isChecked);
535
+ var _context3;
536
+ const updatedFields = updateFields(field.fields, isChecked, _concatInstanceProperty__default["default"](_context3 = "".concat(fieldName, ".")).call(_context3, field.name));
522
537
  isChecked = false;
523
538
  field.fields = updatedFields;
524
539
  }
@@ -528,7 +543,7 @@ const updateFieldGroupsWithIsCheckedValue = groups => {
528
543
  });
529
544
  };
530
545
  return _mapInstanceProperty__default["default"](groups).call(groups, group => {
531
- const updatedFields = updateFields(group.fields, false);
546
+ const updatedFields = updateFields(group.fields, false, group.groupLabel);
532
547
  return _objectSpread$3(_objectSpread$3({}, group), {}, {
533
548
  fields: updatedFields
534
549
  });
@@ -554,25 +569,36 @@ const updateFieldGroupWithAdditionalFieldExtensions = groups => {
554
569
  };
555
570
 
556
571
  const useInitialValues = props => {
572
+ var _context;
557
573
  const todayFormatted = moment__default["default"]().format('DD-MM-YY_HH-mm');
558
574
  const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
559
575
  locale: applicationContext.dataLocale
560
576
  })),
561
577
  locale = _useApplicationContex.locale;
562
- const groups = updateFieldGroupsWithIsCheckedValue(props.fieldGroups);
578
+ const _useApplicationContex2 = applicationShellConnectors.useApplicationContext(context => {
579
+ var _context$project;
580
+ return {
581
+ projectKey: (_context$project = context.project) === null || _context$project === void 0 ? void 0 : _context$project.key
582
+ };
583
+ }),
584
+ projectKey = _useApplicationContex2.projectKey;
585
+ const _useStorage = experimentalComponents.useStorage(_concatInstanceProperty__default["default"](_context = "".concat(projectKey, "/")).call(_context, OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION), {}),
586
+ _useStorage2 = _slicedToArray(_useStorage, 1),
587
+ cachedSelectedGroups = _useStorage2[0];
563
588
  return React__default["default"].useMemo(() => {
564
- var _context;
589
+ var _context2;
590
+ const groups = updateFieldGroupsWithIsCheckedValue(props.fieldGroups, cachedSelectedGroups[props.resourceType] || {});
565
591
  return {
566
592
  outputFormat: props.outputFormat,
567
- fileName: _concatInstanceProperty__default["default"](_context = "".concat(resourceTypeToDisplayName({
593
+ fileName: _concatInstanceProperty__default["default"](_context2 = "".concat(resourceTypeToDisplayName({
568
594
  resourceType: props.resourceType,
569
595
  isUpperCase: true,
570
596
  isPlural: true
571
- }), "_Export_")).call(_context, todayFormatted),
597
+ }), "_Export_")).call(_context2, todayFormatted),
572
598
  locales: [locale],
573
599
  groups: updateFieldGroupWithAdditionalFieldExtensions(groups)
574
600
  };
575
- }, [props, locale, todayFormatted, groups]);
601
+ }, [props.fieldGroups, props.outputFormat, props.resourceType, cachedSelectedGroups, todayFormatted, locale]);
576
602
  };
577
603
 
578
604
  async function createExportOperation(_ref) {
@@ -845,7 +871,7 @@ const NoSearchResults = () => {
845
871
  };
846
872
 
847
873
  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; }
848
- 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; }
874
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var _context11, _context12; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context11 = ownKeys$1(Object(t), !0)).call(_context11, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context12 = ownKeys$1(Object(t))).call(_context12, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
849
875
  const StyledGridCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, {
850
876
  target: "e3xiyhb2"
851
877
  } )({
@@ -1000,11 +1026,23 @@ const FieldGroupSection = _ref2 => {
1000
1026
  });
1001
1027
  };
1002
1028
  const ExportFieldsSelectionStep = () => {
1029
+ var _context5;
1003
1030
  const intl = reactIntl.useIntl();
1004
1031
  const _React$useState = React__default["default"].useState(''),
1005
1032
  _React$useState2 = _slicedToArray(_React$useState, 2),
1006
1033
  fieldSearchTerm = _React$useState2[0],
1007
1034
  setFieldSearchTerm = _React$useState2[1];
1035
+ const _useApplicationContex = applicationShellConnectors.useApplicationContext(context => {
1036
+ var _context$project;
1037
+ return {
1038
+ projectKey: (_context$project = context.project) === null || _context$project === void 0 ? void 0 : _context$project.key
1039
+ };
1040
+ }),
1041
+ projectKey = _useApplicationContex.projectKey;
1042
+ const _useStorage = experimentalComponents.useStorage(_concatInstanceProperty__default["default"](_context5 = "".concat(projectKey, "/")).call(_context5, OPERATIONS_EXPORT_RESOURCES_MODAL_SELECTION), {}),
1043
+ _useStorage2 = _slicedToArray(_useStorage, 2);
1044
+ _useStorage2[0];
1045
+ const setCachedSelectedGroups = _useStorage2[1];
1008
1046
  const _useExportResourcesCo = useExportResourcesContext(),
1009
1047
  formik = _useExportResourcesCo.formik,
1010
1048
  setCurrentStep = _useExportResourcesCo.setCurrentStep,
@@ -1015,16 +1053,31 @@ const ExportFieldsSelectionStep = () => {
1015
1053
  isPlural: true
1016
1054
  });
1017
1055
  React__default["default"].useEffect(() => {
1056
+ var _context8;
1018
1057
  formik.validateForm();
1058
+ const selectedFields = {};
1059
+ function getSelectedFields(field, groupName) {
1060
+ var _context6;
1061
+ const fieldName = field.name ? _concatInstanceProperty__default["default"](_context6 = "".concat(groupName, ".")).call(_context6, field.name) : groupName;
1062
+ if (field.fields) {
1063
+ var _context7;
1064
+ return _forEachInstanceProperty__default["default"](_context7 = field.fields).call(_context7, f => getSelectedFields(f, fieldName));
1065
+ }
1066
+ selectedFields[fieldName] = field.isChecked;
1067
+ }
1068
+ _forEachInstanceProperty__default["default"](_context8 = _valuesInstanceProperty__default["default"](formik).groups).call(_context8, group => getSelectedFields(group, group.groupLabel));
1069
+ setCachedSelectedGroups({
1070
+ [resourceType]: selectedFields
1071
+ });
1019
1072
  // eslint-disable-next-line react-hooks/exhaustive-deps
1020
1073
  }, [_valuesInstanceProperty__default["default"](formik).groups]);
1021
1074
  // adds `isHidden` property to each field based on search term
1022
1075
  const filteredGroups = React__default["default"].useMemo(() => {
1023
- var _fieldSearchTerm$trim, _context6;
1076
+ var _fieldSearchTerm$trim, _context10;
1024
1077
  const updateFields = (fields, parentMatches) => {
1025
1078
  return _mapInstanceProperty__default["default"](fields).call(fields, field => {
1026
- var _context5;
1027
- const matches = _includesInstanceProperty__default["default"](_context5 = field.label.toLowerCase()).call(_context5, fieldSearchTerm.toLowerCase());
1079
+ var _context9;
1080
+ const matches = _includesInstanceProperty__default["default"](_context9 = field.label.toLowerCase()).call(_context9, fieldSearchTerm.toLowerCase());
1028
1081
  let isHidden = !matches && !parentMatches;
1029
1082
  if (field.fields) {
1030
1083
  const updatedFields = updateFields(field.fields, matches);
@@ -1039,7 +1092,7 @@ const ExportFieldsSelectionStep = () => {
1039
1092
  });
1040
1093
  };
1041
1094
  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;
1042
- return _mapInstanceProperty__default["default"](_context6 = _valuesInstanceProperty__default["default"](formik).groups).call(_context6, group => {
1095
+ return _mapInstanceProperty__default["default"](_context10 = _valuesInstanceProperty__default["default"](formik).groups).call(_context10, group => {
1043
1096
  const updatedFields = updateFields(group.fields, false);
1044
1097
  const isHidden = _everyInstanceProperty__default["default"](updatedFields).call(updatedFields, field => field.isHidden);
1045
1098
  return _objectSpread$1(_objectSpread$1({}, group), {}, {