@commercetools-frontend-extensions/export-resources-modal 5.0.3 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{active-drag-drop-area-90d26dc9.cjs.prod.js → active-drag-drop-area-56db6919.cjs.dev.js} +4 -3
- package/dist/{active-drag-drop-area-ab9704b7.esm.js → active-drag-drop-area-69b691d5.esm.js} +2 -1
- package/dist/{active-drag-drop-area-b1213fdd.cjs.dev.js → active-drag-drop-area-7fd53916.cjs.prod.js} +4 -3
- package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.dev.js +4 -3
- package/dist/commercetools-frontend-extensions-export-resources-modal.cjs.prod.js +4 -3
- package/dist/commercetools-frontend-extensions-export-resources-modal.esm.js +4 -3
- package/dist/declarations/src/@constants/export-types.d.ts +4 -3
- package/dist/declarations/src/@hooks/index.d.ts +1 -1
- package/dist/declarations/src/@hooks/use-validate-export-operation.d.ts +33 -0
- package/dist/declarations/src/@types/export-api.d.ts +5 -1
- package/dist/declarations/src/@types/export-resources-modal-context.d.ts +1 -0
- package/dist/declarations/src/@types/export-resources-modal-types.d.ts +2 -1
- package/dist/declarations/src/@types/form.d.ts +5 -0
- package/dist/{enabled-drop-area-cd527058.esm.js → enabled-drop-area-48a953a6.esm.js} +2 -1
- package/dist/{enabled-drop-area-f4b604d3.cjs.prod.js → enabled-drop-area-4c8d613f.cjs.prod.js} +2 -1
- package/dist/{enabled-drop-area-0453fd0d.cjs.dev.js → enabled-drop-area-a5fe741d.cjs.dev.js} +2 -1
- package/dist/{file-dropped-area-2e6723f0.cjs.dev.js → file-dropped-area-5979698c.cjs.dev.js} +2 -1
- package/dist/{file-dropped-area-38e2f1eb.cjs.prod.js → file-dropped-area-b685a683.cjs.prod.js} +2 -1
- package/dist/{file-dropped-area-d44a1e01.esm.js → file-dropped-area-c8a5f539.esm.js} +2 -1
- package/dist/{index-44d6c0b4.cjs.dev.js → index-32b358db.cjs.dev.js} +391 -273
- package/dist/{index-6820b049.cjs.prod.js → index-bcefd2cf.cjs.prod.js} +391 -273
- package/dist/{index-f05f7a63.esm.js → index-f7e098bb.esm.js} +391 -274
- package/package.json +5 -5
- package/dist/declarations/src/@hooks/use-validate-imported-headers.d.ts +0 -15
|
@@ -43,6 +43,7 @@ var _Set = require('@babel/runtime-corejs3/core-js-stable/set');
|
|
|
43
43
|
var _sortInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/sort');
|
|
44
44
|
var _indexOfInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/index-of');
|
|
45
45
|
var _trimInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/trim');
|
|
46
|
+
var _bindInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/bind');
|
|
46
47
|
var _Promise = require('@babel/runtime-corejs3/core-js-stable/promise');
|
|
47
48
|
var _sliceInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/slice');
|
|
48
49
|
var _Object$values = require('@babel/runtime-corejs3/core-js-stable/object/values');
|
|
@@ -91,6 +92,7 @@ var _Set__default = /*#__PURE__*/_interopDefault(_Set);
|
|
|
91
92
|
var _sortInstanceProperty__default = /*#__PURE__*/_interopDefault(_sortInstanceProperty);
|
|
92
93
|
var _indexOfInstanceProperty__default = /*#__PURE__*/_interopDefault(_indexOfInstanceProperty);
|
|
93
94
|
var _trimInstanceProperty__default = /*#__PURE__*/_interopDefault(_trimInstanceProperty);
|
|
95
|
+
var _bindInstanceProperty__default = /*#__PURE__*/_interopDefault(_bindInstanceProperty);
|
|
94
96
|
var _Promise__default = /*#__PURE__*/_interopDefault(_Promise);
|
|
95
97
|
var _sliceInstanceProperty__default = /*#__PURE__*/_interopDefault(_sliceInstanceProperty);
|
|
96
98
|
var _Object$values__default = /*#__PURE__*/_interopDefault(_Object$values);
|
|
@@ -620,6 +622,26 @@ var messages = reactIntl.defineMessages({
|
|
|
620
622
|
id: 'ExportResourcesModal.uploadErrorsDetected',
|
|
621
623
|
description: 'Message shown when errors are detected during file upload',
|
|
622
624
|
defaultMessage: 'There are <b>{total}</b> errors detected while uploading the file <b>{fileName}</b>. Use <templateLink>our template</templateLink> to review the right formatting and supported values, try exporting using our field selection first or visit <documentationLink>our documentation</documentationLink> for further information.'
|
|
625
|
+
},
|
|
626
|
+
queryPredicate: {
|
|
627
|
+
id: 'ExportResourcesModal.queryPredicate',
|
|
628
|
+
description: 'Label for query predicate option',
|
|
629
|
+
defaultMessage: 'Query predicate'
|
|
630
|
+
},
|
|
631
|
+
invalidQueryPredicate: {
|
|
632
|
+
id: 'ExportResourcesModal.invalidQueryPredicate',
|
|
633
|
+
description: 'Error when query predicate field is not valid',
|
|
634
|
+
defaultMessage: 'There is an error with the query predicate. Make sure the syntax is correct.'
|
|
635
|
+
},
|
|
636
|
+
missingQueryPredicateError: {
|
|
637
|
+
id: 'ExportResourcesModal.missingQueryPredicateError',
|
|
638
|
+
description: 'Error when query predicate field is missing',
|
|
639
|
+
defaultMessage: 'Please enter a query predicate'
|
|
640
|
+
},
|
|
641
|
+
noResourcesToExport: {
|
|
642
|
+
id: 'ExportResourcesModal.noResourcesToExport',
|
|
643
|
+
description: 'Error message when there are no resources to export',
|
|
644
|
+
defaultMessage: 'No resources match your query predicate. Please check your query predicate and try again.'
|
|
623
645
|
}
|
|
624
646
|
});
|
|
625
647
|
|
|
@@ -643,6 +665,16 @@ function renderLocaleError(key) {
|
|
|
643
665
|
return null;
|
|
644
666
|
}
|
|
645
667
|
}
|
|
668
|
+
const renderQueryPredicateError = key => {
|
|
669
|
+
switch (key) {
|
|
670
|
+
case 'missing':
|
|
671
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$h({}, messages.missingQueryPredicateError));
|
|
672
|
+
case 'invalidInput':
|
|
673
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$h({}, messages.invalidQueryPredicate));
|
|
674
|
+
default:
|
|
675
|
+
return null;
|
|
676
|
+
}
|
|
677
|
+
};
|
|
646
678
|
|
|
647
679
|
function _callSuper$3(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct$3() ? _Reflect$construct__default["default"](o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
|
|
648
680
|
function _isNativeReflectConstruct$3() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct$3 = function () { return !!t; })(); }
|
|
@@ -787,7 +819,8 @@ const EXPORT_OPERATION_STATES = {
|
|
|
787
819
|
const EXPORT_TYPES = {
|
|
788
820
|
ALL: 'all',
|
|
789
821
|
FILTERED: 'filtered',
|
|
790
|
-
SELECTED: 'selected'
|
|
822
|
+
SELECTED: 'selected',
|
|
823
|
+
QUERY_PREDICATE: 'query-predicate'
|
|
791
824
|
};
|
|
792
825
|
|
|
793
826
|
const EXPORTABLE_RESOURCES = {
|
|
@@ -864,6 +897,140 @@ const DEFAULT_SHORT_LIVED_FLAGS = {};
|
|
|
864
897
|
const DEFAULT_LONG_LIVED_FLAGS = {};
|
|
865
898
|
_objectSpread$f(_objectSpread$f({}, DEFAULT_SHORT_LIVED_FLAGS), DEFAULT_LONG_LIVED_FLAGS);
|
|
866
899
|
|
|
900
|
+
function resourceTypeToFileName(resourceType, locale) {
|
|
901
|
+
var _context;
|
|
902
|
+
const date = new Date();
|
|
903
|
+
const dateFormatter = new Intl.DateTimeFormat(locale, {
|
|
904
|
+
year: '2-digit',
|
|
905
|
+
month: '2-digit',
|
|
906
|
+
day: '2-digit',
|
|
907
|
+
hour: '2-digit',
|
|
908
|
+
minute: '2-digit',
|
|
909
|
+
hour12: false
|
|
910
|
+
});
|
|
911
|
+
const parts = dateFormatter.formatToParts(date);
|
|
912
|
+
const dateParts = _reduceInstanceProperty__default["default"](parts).call(parts, (acc, part) => {
|
|
913
|
+
if (part.type !== 'literal') {
|
|
914
|
+
acc[part.type] = part.value;
|
|
915
|
+
}
|
|
916
|
+
return acc;
|
|
917
|
+
}, {});
|
|
918
|
+
const orderedDateParts = _mapInstanceProperty__default["default"](_context = _filterInstanceProperty__default["default"](parts).call(parts, part => part.type === 'day' || part.type === 'month' || part.type === 'year')).call(_context, part => dateParts[part.type]).join('-');
|
|
919
|
+
const formattedDate = `${orderedDateParts}_${dateParts.hour}-${dateParts.minute}`;
|
|
920
|
+
const resourceTypeMap = {
|
|
921
|
+
[EXPORTABLE_RESOURCES.CATEGORY]: 'Categories',
|
|
922
|
+
[EXPORTABLE_RESOURCES.PRODUCT]: 'Products',
|
|
923
|
+
[EXPORTABLE_RESOURCES.PRODUCT_TYPE]: 'Product_Types',
|
|
924
|
+
[EXPORTABLE_RESOURCES.DISCOUNT_CODE]: 'Discount_Codes',
|
|
925
|
+
[EXPORTABLE_RESOURCES.INVENTORY_ENTRY]: 'Inventories',
|
|
926
|
+
[EXPORTABLE_RESOURCES.CUSTOMER]: 'Customers',
|
|
927
|
+
[EXPORTABLE_RESOURCES.ORDER]: 'Orders'
|
|
928
|
+
};
|
|
929
|
+
const displayName = resourceTypeMap[resourceType];
|
|
930
|
+
if (!displayName) {
|
|
931
|
+
throw new UnexpectedResourceTypeError(resourceType);
|
|
932
|
+
}
|
|
933
|
+
return `${displayName}_Export_${formattedDate}`;
|
|
934
|
+
}
|
|
935
|
+
function mapLocalesToOptions(locales) {
|
|
936
|
+
return _mapInstanceProperty__default["default"](locales).call(locales, locale => ({
|
|
937
|
+
value: locale,
|
|
938
|
+
label: locale
|
|
939
|
+
}));
|
|
940
|
+
}
|
|
941
|
+
function isFilledArray(maybeArray) {
|
|
942
|
+
return _Array$isArray__default["default"](maybeArray) && maybeArray.length > 0;
|
|
943
|
+
}
|
|
944
|
+
function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
|
|
945
|
+
const extensionRegex = /\.(csv|json)$/i;
|
|
946
|
+
if (!extensionRegex.test(fileName)) return `${fileName}.${fileFormat}`;
|
|
947
|
+
return fileName;
|
|
948
|
+
}
|
|
949
|
+
function getExportLogsLink(projectKey, msg) {
|
|
950
|
+
return jsxRuntime.jsx(uiKit.Link, {
|
|
951
|
+
to: `/${projectKey}/operations/export/logs`,
|
|
952
|
+
children: msg
|
|
953
|
+
}, "link");
|
|
954
|
+
}
|
|
955
|
+
const extractFieldNamesAndAdditionalFieldExtensions = fields => {
|
|
956
|
+
const result = _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
|
|
957
|
+
if (field.extendedFieldNames) {
|
|
958
|
+
return [...acc, field.name, ...field.extendedFieldNames];
|
|
959
|
+
}
|
|
960
|
+
return [...acc, field.name];
|
|
961
|
+
}, []);
|
|
962
|
+
return [...new _Set__default["default"](result)];
|
|
963
|
+
};
|
|
964
|
+
function sortFieldsByFieldOrder(_ref) {
|
|
965
|
+
let fieldNames = _ref.fieldNames,
|
|
966
|
+
fieldOrder = _ref.fieldOrder;
|
|
967
|
+
if (isFilledArray(fieldOrder)) {
|
|
968
|
+
return _sortInstanceProperty__default["default"](fieldNames).call(fieldNames, (a, b) => {
|
|
969
|
+
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]);
|
|
970
|
+
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]);
|
|
971
|
+
|
|
972
|
+
// If a field is not 'custom',then consider it as '*'
|
|
973
|
+
orderA = orderA === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderA;
|
|
974
|
+
orderB = orderB === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderB;
|
|
975
|
+
return orderA - orderB;
|
|
976
|
+
});
|
|
977
|
+
}
|
|
978
|
+
return fieldNames;
|
|
979
|
+
}
|
|
980
|
+
function buildSelectedExportFilters(selectedResourceIds) {
|
|
981
|
+
if (!selectedResourceIds || selectedResourceIds?.length === 0) return undefined;
|
|
982
|
+
const formattedIds = _mapInstanceProperty__default["default"](selectedResourceIds).call(selectedResourceIds, id => `"${id}"`).join(', ');
|
|
983
|
+
return `id in (${formattedIds})`;
|
|
984
|
+
}
|
|
985
|
+
function isQueryFilter(filters) {
|
|
986
|
+
if (!filters) return false;
|
|
987
|
+
return 'query' in filters;
|
|
988
|
+
}
|
|
989
|
+
function isSearchFilter(filters) {
|
|
990
|
+
if (!filters) return false;
|
|
991
|
+
return 'filters' in filters || 'fullText' in filters;
|
|
992
|
+
}
|
|
993
|
+
function isPredicateFilter(filters) {
|
|
994
|
+
if (!filters) return false;
|
|
995
|
+
return 'where' in filters;
|
|
996
|
+
}
|
|
997
|
+
function validateFilters(filtersObject) {
|
|
998
|
+
if (filtersObject.where && filtersObject.filters) {
|
|
999
|
+
return false;
|
|
1000
|
+
}
|
|
1001
|
+
return Boolean(isQueryFilter(filtersObject.filters) || isSearchFilter(filtersObject.filters) || isPredicateFilter(filtersObject));
|
|
1002
|
+
}
|
|
1003
|
+
function areFiltersApplied(filtersObject) {
|
|
1004
|
+
var _context2;
|
|
1005
|
+
if (!filtersObject) {
|
|
1006
|
+
return false;
|
|
1007
|
+
}
|
|
1008
|
+
if (filtersObject.where && _trimInstanceProperty__default["default"](_context2 = filtersObject.where).call(_context2) !== '') {
|
|
1009
|
+
return true;
|
|
1010
|
+
}
|
|
1011
|
+
if (isQueryFilter(filtersObject.filters)) {
|
|
1012
|
+
return Boolean(filtersObject.filters.query);
|
|
1013
|
+
}
|
|
1014
|
+
if (isSearchFilter(filtersObject.filters)) {
|
|
1015
|
+
var _context3, _context4;
|
|
1016
|
+
const _filters = filtersObject.filters;
|
|
1017
|
+
return Boolean(_filters.filters?.length || ((_context3 = _filters.fullText?.text) == null ? void 0 : _bindInstanceProperty__default["default"](_context4 = Function.call).call(_context4, _trimInstanceProperty__default["default"](_context3), _context3))?.());
|
|
1018
|
+
}
|
|
1019
|
+
return false;
|
|
1020
|
+
}
|
|
1021
|
+
function getInitialExportType(args) {
|
|
1022
|
+
if (args.selectedResourceIds?.length) {
|
|
1023
|
+
return EXPORT_TYPES.SELECTED;
|
|
1024
|
+
}
|
|
1025
|
+
if (args.filters?.total && areFiltersApplied(args.filters)) {
|
|
1026
|
+
return EXPORT_TYPES.FILTERED;
|
|
1027
|
+
}
|
|
1028
|
+
return EXPORT_TYPES.ALL;
|
|
1029
|
+
}
|
|
1030
|
+
function removeEmptyGroups(groups) {
|
|
1031
|
+
return _filterInstanceProperty__default["default"](groups).call(groups, group => group.fields && group.fields.length > 0);
|
|
1032
|
+
}
|
|
1033
|
+
|
|
867
1034
|
const isAnyFieldChecked = fields => {
|
|
868
1035
|
return _someInstanceProperty__default["default"](fields).call(fields, field => field.isChecked || field.fields && isAnyFieldChecked(field.fields));
|
|
869
1036
|
};
|
|
@@ -977,6 +1144,25 @@ const getSelectedFieldLabels = group => {
|
|
|
977
1144
|
findSelectedFieldLabels(group.fields);
|
|
978
1145
|
return selectedLabels;
|
|
979
1146
|
};
|
|
1147
|
+
const extractFieldNamesFromGroups = (groups, fieldOrder) => {
|
|
1148
|
+
let checkedFields = [];
|
|
1149
|
+
const getCheckedFields = fields => {
|
|
1150
|
+
return _filterInstanceProperty__default["default"](fields).call(fields, field => {
|
|
1151
|
+
if (field.fields) {
|
|
1152
|
+
return getCheckedFields(field.fields);
|
|
1153
|
+
}
|
|
1154
|
+
if (field.isChecked) checkedFields.push(field);
|
|
1155
|
+
return field.isChecked ?? false;
|
|
1156
|
+
});
|
|
1157
|
+
};
|
|
1158
|
+
_forEachInstanceProperty__default["default"](groups).call(groups, group => {
|
|
1159
|
+
getCheckedFields(group.fields);
|
|
1160
|
+
});
|
|
1161
|
+
return sortFieldsByFieldOrder({
|
|
1162
|
+
fieldNames: extractFieldNamesAndAdditionalFieldExtensions(checkedFields),
|
|
1163
|
+
fieldOrder
|
|
1164
|
+
});
|
|
1165
|
+
};
|
|
980
1166
|
|
|
981
1167
|
let Step = /*#__PURE__*/function (Step) {
|
|
982
1168
|
Step["FileSettings"] = "file-settings";
|
|
@@ -997,21 +1183,27 @@ function validate(_ref) {
|
|
|
997
1183
|
let values = _valuesInstanceProperty__default["default"](_ref),
|
|
998
1184
|
step = _ref.step,
|
|
999
1185
|
fieldSelectionMode = _ref.fieldSelectionMode,
|
|
1000
|
-
importedHeaders = _ref.importedHeaders
|
|
1186
|
+
importedHeaders = _ref.importedHeaders,
|
|
1187
|
+
exportType = _ref.exportType;
|
|
1001
1188
|
const fileName = values.fileName,
|
|
1189
|
+
queryPredicate = values.queryPredicate,
|
|
1002
1190
|
locales = values.locales,
|
|
1003
1191
|
groups = values.groups;
|
|
1004
1192
|
const errors = {
|
|
1005
1193
|
fileName: {},
|
|
1006
1194
|
locales: {},
|
|
1007
1195
|
fields: {},
|
|
1008
|
-
importedCsvTemplateFile: {}
|
|
1196
|
+
importedCsvTemplateFile: {},
|
|
1197
|
+
queryPredicate: {}
|
|
1009
1198
|
};
|
|
1010
1199
|
if (uiKit.TextInput.isEmpty(fileName)) {
|
|
1011
1200
|
errors.fileName.missing = true;
|
|
1012
1201
|
} else if (!/^[a-zA-Z0-9-_.]+$/.test(fileName)) {
|
|
1013
1202
|
errors.fileName.invalidInput = true;
|
|
1014
1203
|
}
|
|
1204
|
+
if (exportType === 'query-predicate' && uiKit.TextInput.isEmpty(queryPredicate)) {
|
|
1205
|
+
errors.queryPredicate.missing = true;
|
|
1206
|
+
}
|
|
1015
1207
|
if (step === Step.FieldsSelection) {
|
|
1016
1208
|
if (fieldSelectionMode === 'selected-fields') {
|
|
1017
1209
|
const allFields = _reduceInstanceProperty__default["default"](groups).call(groups, (acc, group) => _concatInstanceProperty__default["default"](acc).call(acc, group.fields), []);
|
|
@@ -1041,139 +1233,6 @@ function isFieldNameValid(header) {
|
|
|
1041
1233
|
return /^[a-zA-Z0-9._-]+$/.test(processedHeader);
|
|
1042
1234
|
}
|
|
1043
1235
|
|
|
1044
|
-
function resourceTypeToFileName(resourceType, locale) {
|
|
1045
|
-
var _context;
|
|
1046
|
-
const date = new Date();
|
|
1047
|
-
const dateFormatter = new Intl.DateTimeFormat(locale, {
|
|
1048
|
-
year: '2-digit',
|
|
1049
|
-
month: '2-digit',
|
|
1050
|
-
day: '2-digit',
|
|
1051
|
-
hour: '2-digit',
|
|
1052
|
-
minute: '2-digit',
|
|
1053
|
-
hour12: false
|
|
1054
|
-
});
|
|
1055
|
-
const parts = dateFormatter.formatToParts(date);
|
|
1056
|
-
const dateParts = _reduceInstanceProperty__default["default"](parts).call(parts, (acc, part) => {
|
|
1057
|
-
if (part.type !== 'literal') {
|
|
1058
|
-
acc[part.type] = part.value;
|
|
1059
|
-
}
|
|
1060
|
-
return acc;
|
|
1061
|
-
}, {});
|
|
1062
|
-
const orderedDateParts = _mapInstanceProperty__default["default"](_context = _filterInstanceProperty__default["default"](parts).call(parts, part => part.type === 'day' || part.type === 'month' || part.type === 'year')).call(_context, part => dateParts[part.type]).join('-');
|
|
1063
|
-
const formattedDate = `${orderedDateParts}_${dateParts.hour}-${dateParts.minute}`;
|
|
1064
|
-
const resourceTypeMap = {
|
|
1065
|
-
[EXPORTABLE_RESOURCES.CATEGORY]: 'Categories',
|
|
1066
|
-
[EXPORTABLE_RESOURCES.PRODUCT]: 'Products',
|
|
1067
|
-
[EXPORTABLE_RESOURCES.PRODUCT_TYPE]: 'Product_Types',
|
|
1068
|
-
[EXPORTABLE_RESOURCES.DISCOUNT_CODE]: 'Discount_Codes',
|
|
1069
|
-
[EXPORTABLE_RESOURCES.INVENTORY_ENTRY]: 'Inventories',
|
|
1070
|
-
[EXPORTABLE_RESOURCES.CUSTOMER]: 'Customers',
|
|
1071
|
-
[EXPORTABLE_RESOURCES.ORDER]: 'Orders'
|
|
1072
|
-
};
|
|
1073
|
-
const displayName = resourceTypeMap[resourceType];
|
|
1074
|
-
if (!displayName) {
|
|
1075
|
-
throw new UnexpectedResourceTypeError(resourceType);
|
|
1076
|
-
}
|
|
1077
|
-
return `${displayName}_Export_${formattedDate}`;
|
|
1078
|
-
}
|
|
1079
|
-
function mapLocalesToOptions(locales) {
|
|
1080
|
-
return _mapInstanceProperty__default["default"](locales).call(locales, locale => ({
|
|
1081
|
-
value: locale,
|
|
1082
|
-
label: locale
|
|
1083
|
-
}));
|
|
1084
|
-
}
|
|
1085
|
-
function isFilledArray(maybeArray) {
|
|
1086
|
-
return _Array$isArray__default["default"](maybeArray) && maybeArray.length > 0;
|
|
1087
|
-
}
|
|
1088
|
-
function appendCsvOrJsonExtensionIfAbsent(fileName, fileFormat) {
|
|
1089
|
-
const extensionRegex = /\.(csv|json)$/i;
|
|
1090
|
-
if (!extensionRegex.test(fileName)) return `${fileName}.${fileFormat}`;
|
|
1091
|
-
return fileName;
|
|
1092
|
-
}
|
|
1093
|
-
function getExportLogsLink(projectKey, msg) {
|
|
1094
|
-
return jsxRuntime.jsx(uiKit.Link, {
|
|
1095
|
-
to: `/${projectKey}/operations/export/logs`,
|
|
1096
|
-
children: msg
|
|
1097
|
-
}, "link");
|
|
1098
|
-
}
|
|
1099
|
-
const extractFieldNamesAndAdditionalFieldExtensions = fields => {
|
|
1100
|
-
const result = _reduceInstanceProperty__default["default"](fields).call(fields, (acc, field) => {
|
|
1101
|
-
if (field.extendedFieldNames) {
|
|
1102
|
-
return [...acc, field.name, ...field.extendedFieldNames];
|
|
1103
|
-
}
|
|
1104
|
-
return [...acc, field.name];
|
|
1105
|
-
}, []);
|
|
1106
|
-
return [...new _Set__default["default"](result)];
|
|
1107
|
-
};
|
|
1108
|
-
function sortFieldsByFieldOrder(_ref) {
|
|
1109
|
-
let fieldNames = _ref.fieldNames,
|
|
1110
|
-
fieldOrder = _ref.fieldOrder;
|
|
1111
|
-
if (isFilledArray(fieldOrder)) {
|
|
1112
|
-
return _sortInstanceProperty__default["default"](fieldNames).call(fieldNames, (a, b) => {
|
|
1113
|
-
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]);
|
|
1114
|
-
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]);
|
|
1115
|
-
|
|
1116
|
-
// If a field is not 'custom',then consider it as '*'
|
|
1117
|
-
orderA = orderA === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderA;
|
|
1118
|
-
orderB = orderB === -1 ? _indexOfInstanceProperty__default["default"](fieldOrder).call(fieldOrder, '*') : orderB;
|
|
1119
|
-
return orderA - orderB;
|
|
1120
|
-
});
|
|
1121
|
-
}
|
|
1122
|
-
return fieldNames;
|
|
1123
|
-
}
|
|
1124
|
-
function buildSelectedExportFilters(selectedResourceIds) {
|
|
1125
|
-
if (!selectedResourceIds || selectedResourceIds?.length === 0) return undefined;
|
|
1126
|
-
const formattedIds = _mapInstanceProperty__default["default"](selectedResourceIds).call(selectedResourceIds, id => `"${id}"`).join(', ');
|
|
1127
|
-
return `id in (${formattedIds})`;
|
|
1128
|
-
}
|
|
1129
|
-
function isQueryFilter(filters) {
|
|
1130
|
-
if (!filters) return false;
|
|
1131
|
-
return 'query' in filters;
|
|
1132
|
-
}
|
|
1133
|
-
function isSearchFilter(filters) {
|
|
1134
|
-
if (!filters) return false;
|
|
1135
|
-
return 'filters' in filters || 'fullText' in filters;
|
|
1136
|
-
}
|
|
1137
|
-
function isPredicateFilter(filters) {
|
|
1138
|
-
if (!filters) return false;
|
|
1139
|
-
return 'where' in filters;
|
|
1140
|
-
}
|
|
1141
|
-
function validateFilters(filtersObject) {
|
|
1142
|
-
if (filtersObject.where && filtersObject.filters) {
|
|
1143
|
-
return false;
|
|
1144
|
-
}
|
|
1145
|
-
return Boolean(isQueryFilter(filtersObject.filters) || isSearchFilter(filtersObject.filters) || isPredicateFilter(filtersObject));
|
|
1146
|
-
}
|
|
1147
|
-
function areFiltersApplied(filtersObject) {
|
|
1148
|
-
var _context2;
|
|
1149
|
-
if (!filtersObject) {
|
|
1150
|
-
return false;
|
|
1151
|
-
}
|
|
1152
|
-
if (filtersObject.where && _trimInstanceProperty__default["default"](_context2 = filtersObject.where).call(_context2) !== '') {
|
|
1153
|
-
return true;
|
|
1154
|
-
}
|
|
1155
|
-
if (isQueryFilter(filtersObject.filters)) {
|
|
1156
|
-
return Boolean(filtersObject.filters.query);
|
|
1157
|
-
}
|
|
1158
|
-
if (isSearchFilter(filtersObject.filters)) {
|
|
1159
|
-
const _filters = filtersObject.filters;
|
|
1160
|
-
return Boolean(_filters.filters?.length || _filters.fullText?.text?.trim());
|
|
1161
|
-
}
|
|
1162
|
-
return false;
|
|
1163
|
-
}
|
|
1164
|
-
function getInitialExportType(args) {
|
|
1165
|
-
if (args.selectedResourceIds?.length) {
|
|
1166
|
-
return EXPORT_TYPES.SELECTED;
|
|
1167
|
-
}
|
|
1168
|
-
if (args.filters?.total && areFiltersApplied(args.filters)) {
|
|
1169
|
-
return EXPORT_TYPES.FILTERED;
|
|
1170
|
-
}
|
|
1171
|
-
return EXPORT_TYPES.ALL;
|
|
1172
|
-
}
|
|
1173
|
-
function removeEmptyGroups(groups) {
|
|
1174
|
-
return _filterInstanceProperty__default["default"](groups).call(groups, group => group.fields && group.fields.length > 0);
|
|
1175
|
-
}
|
|
1176
|
-
|
|
1177
1236
|
function ownKeys$e(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; }
|
|
1178
1237
|
function _objectSpread$e(e) { for (var r = 1; r < arguments.length; r++) { var _context2, _context3; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context2 = ownKeys$e(Object(t), !0)).call(_context2, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context3 = ownKeys$e(Object(t))).call(_context3, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1179
1238
|
const updateFieldGroupsWithIsCheckedValue = (groups, cachedSelectedGroups) => {
|
|
@@ -1398,6 +1457,13 @@ function groupFieldValidationErrors(errors, intl) {
|
|
|
1398
1457
|
});
|
|
1399
1458
|
}
|
|
1400
1459
|
|
|
1460
|
+
function isExportApiSuccessResponse(response) {
|
|
1461
|
+
return 'id' in response && 'state' in response && 'resourceType' in response && 'resourceCount' in response;
|
|
1462
|
+
}
|
|
1463
|
+
function isExportApiErrorResponse(error) {
|
|
1464
|
+
return Boolean(error && typeof error === 'object' && 'body' in error && error.body && typeof error.body === 'object' && ('validationErrors' in error.body || 'errors' in error.body) && 'message' in error.body && 'statusCode' in error.body && 'error' in error.body);
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1401
1467
|
const useInitialValues = props => {
|
|
1402
1468
|
var _context;
|
|
1403
1469
|
const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
|
|
@@ -1430,6 +1496,7 @@ const useInitialValues = props => {
|
|
|
1430
1496
|
fileName: `${resourceTypeToFileName(props.resourceType, userLocale)}`,
|
|
1431
1497
|
locales: [locale],
|
|
1432
1498
|
groups: updateFieldGroupWithAdditionalFieldExtensions(groups),
|
|
1499
|
+
queryPredicate: '',
|
|
1433
1500
|
// Preferences
|
|
1434
1501
|
fillRows: false,
|
|
1435
1502
|
importedCsvTemplateFile: null
|
|
@@ -1441,37 +1508,30 @@ const _excluded$3 = ["projectKey"];
|
|
|
1441
1508
|
function ownKeys$c(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; }
|
|
1442
1509
|
function _objectSpread$c(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$c(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$c(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1443
1510
|
async function makeExportRequest(params, asyncDispatchFn) {
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
throw new InvalidResponseError('Response missing state field');
|
|
1462
|
-
}
|
|
1463
|
-
return response;
|
|
1464
|
-
} catch (responseError) {
|
|
1465
|
-
if (responseError && typeof responseError === 'object' && 'body' in responseError && responseError.body && typeof responseError.body === 'object' && 'validationErrors' in responseError.body) {
|
|
1466
|
-
throw responseError.body;
|
|
1467
|
-
}
|
|
1468
|
-
throw responseError;
|
|
1511
|
+
const projectKey = params.projectKey,
|
|
1512
|
+
requestData = _objectWithoutProperties(params, _excluded$3);
|
|
1513
|
+
const uri = `/${projectKey}/export-operations`;
|
|
1514
|
+
const requestAction = sdk.actions.post({
|
|
1515
|
+
mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
|
|
1516
|
+
uri,
|
|
1517
|
+
headers: {
|
|
1518
|
+
accept: 'application/json'
|
|
1519
|
+
},
|
|
1520
|
+
payload: requestData
|
|
1521
|
+
});
|
|
1522
|
+
const response = await asyncDispatchFn(requestAction);
|
|
1523
|
+
if (!response || typeof response !== 'object') {
|
|
1524
|
+
throw new InvalidResponseError();
|
|
1525
|
+
}
|
|
1526
|
+
if (!('state' in response)) {
|
|
1527
|
+
throw new InvalidResponseError('Response missing state field');
|
|
1469
1528
|
}
|
|
1529
|
+
return response;
|
|
1470
1530
|
}
|
|
1471
1531
|
function createExportOperation(params, asyncDispatchFn) {
|
|
1472
1532
|
return makeExportRequest(params, asyncDispatchFn);
|
|
1473
1533
|
}
|
|
1474
|
-
function
|
|
1534
|
+
function validateExportOperation(params, asyncDispatchFn) {
|
|
1475
1535
|
return makeExportRequest(_objectSpread$c(_objectSpread$c({}, params), {}, {
|
|
1476
1536
|
dryRun: true
|
|
1477
1537
|
}), asyncDispatchFn);
|
|
@@ -1486,25 +1546,6 @@ const useStartExportOperation = props => {
|
|
|
1486
1546
|
projectKey: applicationContext.project?.key
|
|
1487
1547
|
})),
|
|
1488
1548
|
projectKey = _useApplicationContex.projectKey;
|
|
1489
|
-
const extractFieldNamesFromGroups = groups => {
|
|
1490
|
-
let checkedFields = [];
|
|
1491
|
-
const getCheckedFields = fields => {
|
|
1492
|
-
return _filterInstanceProperty__default["default"](fields).call(fields, field => {
|
|
1493
|
-
if (field.fields) {
|
|
1494
|
-
return getCheckedFields(field.fields);
|
|
1495
|
-
}
|
|
1496
|
-
if (field.isChecked) checkedFields.push(field);
|
|
1497
|
-
return field.isChecked ?? false;
|
|
1498
|
-
});
|
|
1499
|
-
};
|
|
1500
|
-
_forEachInstanceProperty__default["default"](groups).call(groups, group => {
|
|
1501
|
-
getCheckedFields(group.fields);
|
|
1502
|
-
});
|
|
1503
|
-
return sortFieldsByFieldOrder({
|
|
1504
|
-
fieldNames: extractFieldNamesAndAdditionalFieldExtensions(checkedFields),
|
|
1505
|
-
fieldOrder: props.fieldOrder
|
|
1506
|
-
});
|
|
1507
|
-
};
|
|
1508
1549
|
const startExportOperation = async (values, exportType, fieldSelectionMode, localeOption, importedHeaders) => {
|
|
1509
1550
|
try {
|
|
1510
1551
|
if (!projectKey) throw new Error('Project key is missing');
|
|
@@ -1512,7 +1553,7 @@ const useStartExportOperation = props => {
|
|
|
1512
1553
|
if (fieldSelectionMode === 'imported-csv-template' && values.importedCsvTemplateFile) {
|
|
1513
1554
|
fields = importedHeaders;
|
|
1514
1555
|
} else {
|
|
1515
|
-
fields = extractFieldNamesFromGroups(values.groups);
|
|
1556
|
+
fields = extractFieldNamesFromGroups(values.groups, props.fieldOrder);
|
|
1516
1557
|
}
|
|
1517
1558
|
let where = undefined;
|
|
1518
1559
|
let filters = undefined;
|
|
@@ -1525,6 +1566,9 @@ const useStartExportOperation = props => {
|
|
|
1525
1566
|
} else if (isSearchFilter(props.filters.filters)) {
|
|
1526
1567
|
filters = props.filters.filters;
|
|
1527
1568
|
}
|
|
1569
|
+
} else if (exportType === EXPORT_TYPES.QUERY_PREDICATE) {
|
|
1570
|
+
var _context;
|
|
1571
|
+
where = _trimInstanceProperty__default["default"](_context = values.queryPredicate).call(_context);
|
|
1528
1572
|
}
|
|
1529
1573
|
let locales = undefined;
|
|
1530
1574
|
if (localeOption !== 'onlyLocalesFoundInCsvFile') {
|
|
@@ -1541,29 +1585,32 @@ const useStartExportOperation = props => {
|
|
|
1541
1585
|
where,
|
|
1542
1586
|
filters
|
|
1543
1587
|
}, asyncDispatch);
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1588
|
+
if (isExportApiSuccessResponse(response)) {
|
|
1589
|
+
switch (response.state) {
|
|
1590
|
+
case EXPORT_OPERATION_STATES.QUEUED:
|
|
1591
|
+
case EXPORT_OPERATION_STATES.PROCESSING:
|
|
1592
|
+
case EXPORT_OPERATION_STATES.COMPLETED:
|
|
1593
|
+
showNotification({
|
|
1594
|
+
kind: 'info',
|
|
1595
|
+
domain: constants.DOMAINS.SIDE,
|
|
1596
|
+
// @ts-ignore
|
|
1597
|
+
text: intl.formatMessage(messages.exportOperationSuccessMessage, {
|
|
1598
|
+
newline: getNewLine,
|
|
1599
|
+
logsLink: msg => getExportLogsLink(projectKey, msg),
|
|
1600
|
+
b: getBold
|
|
1601
|
+
})
|
|
1602
|
+
}, {
|
|
1603
|
+
dismissAfter: 5000
|
|
1604
|
+
});
|
|
1605
|
+
if (typeof props.onExportSuccess === 'function') props.onExportSuccess();
|
|
1606
|
+
break;
|
|
1607
|
+
default:
|
|
1608
|
+
throw new UnexpectedExportOperationStateError(response.state);
|
|
1609
|
+
}
|
|
1610
|
+
} else {
|
|
1611
|
+
throw new Error(response.message || 'Unknown error occurred during export operation');
|
|
1564
1612
|
}
|
|
1565
1613
|
} catch (error) {
|
|
1566
|
-
// TODO: custom error messages for each error type
|
|
1567
1614
|
showNotification({
|
|
1568
1615
|
text: intl.formatMessage(messages.unexpectedError),
|
|
1569
1616
|
kind: 'error',
|
|
@@ -1580,7 +1627,7 @@ const useStartExportOperation = props => {
|
|
|
1580
1627
|
|
|
1581
1628
|
const _excluded$2 = ["fields"];
|
|
1582
1629
|
function ownKeys$b(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; }
|
|
1583
|
-
function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
1630
|
+
function _objectSpread$b(e) { for (var r = 1; r < arguments.length; r++) { var _context6, _context7; var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? _forEachInstanceProperty__default["default"](_context6 = ownKeys$b(Object(t), !0)).call(_context6, function (r) { _defineProperty(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](e, _Object$getOwnPropertyDescriptors__default["default"](t)) : _forEachInstanceProperty__default["default"](_context7 = ownKeys$b(Object(t))).call(_context7, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1584
1631
|
const getFieldFullName = _ref => {
|
|
1585
1632
|
var _context;
|
|
1586
1633
|
let fieldPrefix = _ref.fieldPrefix,
|
|
@@ -1590,6 +1637,7 @@ const getFieldFullName = _ref => {
|
|
|
1590
1637
|
const localizeTypeDefinitionLabels = function () {
|
|
1591
1638
|
let fieldDefinitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
1592
1639
|
return _mapInstanceProperty__default["default"](fieldDefinitions).call(fieldDefinitions, _ref2 => {
|
|
1640
|
+
var _context2, _context3;
|
|
1593
1641
|
let fields = _ref2.fields,
|
|
1594
1642
|
fieldsType = _objectWithoutProperties(_ref2, _excluded$2);
|
|
1595
1643
|
const isFieldTypeLabelLocalized = _Array$isArray__default["default"](fieldsType.label);
|
|
@@ -1599,7 +1647,7 @@ const localizeTypeDefinitionLabels = function () {
|
|
|
1599
1647
|
from: 'label',
|
|
1600
1648
|
to: 'label'
|
|
1601
1649
|
}]).label : fieldsType.label,
|
|
1602
|
-
fields: fields?.
|
|
1650
|
+
fields: ((_context2 = fields) == null ? void 0 : _bindInstanceProperty__default["default"](_context3 = Function.call).call(_context3, _mapInstanceProperty__default["default"](_context2), _context2))?.(field => {
|
|
1603
1651
|
const isFieldLabelLocalized = _Array$isArray__default["default"](field.label);
|
|
1604
1652
|
if (!isFieldLabelLocalized) {
|
|
1605
1653
|
return field;
|
|
@@ -1637,6 +1685,7 @@ const useConvertFieldDefinitionsForExport = () => {
|
|
|
1637
1685
|
if (!fieldDefinitions) return [];
|
|
1638
1686
|
const localizedTypeDefinitions = localizeTypeDefinitionLabels(fieldDefinitions);
|
|
1639
1687
|
const results = _mapInstanceProperty__default["default"](localizedTypeDefinitions).call(localizedTypeDefinitions, transformedType => {
|
|
1688
|
+
var _context4, _context5;
|
|
1640
1689
|
const isTypeLabelLocalized = typeof transformedType.label !== 'string';
|
|
1641
1690
|
return {
|
|
1642
1691
|
isExpandable: true,
|
|
@@ -1650,7 +1699,7 @@ const useConvertFieldDefinitionsForExport = () => {
|
|
|
1650
1699
|
fallbackOrder: languages,
|
|
1651
1700
|
fallback: transformedType.name
|
|
1652
1701
|
}) : transformedType.label,
|
|
1653
|
-
fields: sortByField(transformedType.fields?.
|
|
1702
|
+
fields: sortByField(((_context4 = transformedType.fields) == null ? void 0 : _bindInstanceProperty__default["default"](_context5 = Function.call).call(_context5, _mapInstanceProperty__default["default"](_context4), _context4))?.(fieldDefinition => {
|
|
1654
1703
|
const isFieldLabelLocalized = typeof fieldDefinition.label !== 'string';
|
|
1655
1704
|
return {
|
|
1656
1705
|
name: getFieldFullName({
|
|
@@ -1677,7 +1726,7 @@ const useConvertFieldDefinitionsForExport = () => {
|
|
|
1677
1726
|
};
|
|
1678
1727
|
};
|
|
1679
1728
|
|
|
1680
|
-
const
|
|
1729
|
+
const useValidateExportOperation = () => {
|
|
1681
1730
|
const intl = reactIntl.useIntl();
|
|
1682
1731
|
const asyncDispatch = sdk.useAsyncDispatch();
|
|
1683
1732
|
const showNotification = actionsGlobal.useShowNotification();
|
|
@@ -1685,9 +1734,9 @@ const useValidateImportedHeaders = () => {
|
|
|
1685
1734
|
projectKey: context.project?.key
|
|
1686
1735
|
})),
|
|
1687
1736
|
projectKey = _useApplicationContex.projectKey;
|
|
1688
|
-
const
|
|
1737
|
+
const validateExport = async params => {
|
|
1689
1738
|
try {
|
|
1690
|
-
var _context;
|
|
1739
|
+
var _context, _context2, _context3;
|
|
1691
1740
|
if (!projectKey) return;
|
|
1692
1741
|
const invalidFields = _filterInstanceProperty__default["default"](_context = params.fields).call(_context, field => !isFieldNameValid(field));
|
|
1693
1742
|
if (invalidFields.length > 0) {
|
|
@@ -1699,25 +1748,46 @@ const useValidateImportedHeaders = () => {
|
|
|
1699
1748
|
}))
|
|
1700
1749
|
};
|
|
1701
1750
|
}
|
|
1702
|
-
await
|
|
1751
|
+
const response = await validateExportOperation({
|
|
1703
1752
|
projectKey,
|
|
1704
1753
|
resourceType: params.resourceType,
|
|
1705
1754
|
fileName: params.fileName,
|
|
1706
1755
|
fileFormat: params.outputFormat,
|
|
1707
1756
|
fields: params.fields,
|
|
1708
|
-
locales: params.locales
|
|
1757
|
+
locales: params.locales,
|
|
1758
|
+
where: ((_context2 = params.queryPredicate) == null ? void 0 : _bindInstanceProperty__default["default"](_context3 = Function.call).call(_context3, _trimInstanceProperty__default["default"](_context2), _context2))?.() || undefined
|
|
1709
1759
|
}, asyncDispatch);
|
|
1710
|
-
|
|
1711
|
-
success: true,
|
|
1712
|
-
validationErrors: []
|
|
1713
|
-
};
|
|
1714
|
-
} catch (error) {
|
|
1715
|
-
if (typeof error === 'object' && error && 'validationErrors' in error && _Array$isArray__default["default"](error.validationErrors)) {
|
|
1760
|
+
if (isExportApiSuccessResponse(response) && response.resourceCount === 0) {
|
|
1716
1761
|
return {
|
|
1717
1762
|
success: false,
|
|
1718
|
-
|
|
1763
|
+
noResourcesToExport: true
|
|
1719
1764
|
};
|
|
1720
1765
|
}
|
|
1766
|
+
return {
|
|
1767
|
+
success: true
|
|
1768
|
+
};
|
|
1769
|
+
} catch (error) {
|
|
1770
|
+
if (isExportApiErrorResponse(error)) {
|
|
1771
|
+
if (error.body.errors?.length) {
|
|
1772
|
+
var _context4;
|
|
1773
|
+
const whereError = _findInstanceProperty__default["default"](_context4 = error.body.errors).call(_context4, error => {
|
|
1774
|
+
var _context5;
|
|
1775
|
+
return error.message && _includesInstanceProperty__default["default"](_context5 = error.message).call(_context5, 'Malformed parameter: where');
|
|
1776
|
+
});
|
|
1777
|
+
if (whereError) {
|
|
1778
|
+
return {
|
|
1779
|
+
success: false,
|
|
1780
|
+
invalidQueryPredicate: true
|
|
1781
|
+
};
|
|
1782
|
+
}
|
|
1783
|
+
}
|
|
1784
|
+
if (error.body.validationErrors?.length) {
|
|
1785
|
+
return {
|
|
1786
|
+
success: false,
|
|
1787
|
+
validationErrors: error.body.validationErrors
|
|
1788
|
+
};
|
|
1789
|
+
}
|
|
1790
|
+
}
|
|
1721
1791
|
showNotification({
|
|
1722
1792
|
text: intl.formatMessage(messages.unexpectedError),
|
|
1723
1793
|
kind: 'error',
|
|
@@ -1730,7 +1800,7 @@ const useValidateImportedHeaders = () => {
|
|
|
1730
1800
|
}
|
|
1731
1801
|
};
|
|
1732
1802
|
return {
|
|
1733
|
-
|
|
1803
|
+
validateExport
|
|
1734
1804
|
};
|
|
1735
1805
|
};
|
|
1736
1806
|
|
|
@@ -1778,6 +1848,7 @@ function ownKeys$9(e, r) { var t = _Object$keys__default["default"](e); if (_Obj
|
|
|
1778
1848
|
function _objectSpread$9(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$9(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$9(Object(t))).call(_context2, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
1779
1849
|
function ExportScopeSection() {
|
|
1780
1850
|
const _useExportResourcesMo = useExportResourcesModalContext(),
|
|
1851
|
+
formik = _useExportResourcesMo.formik,
|
|
1781
1852
|
exportType = _useExportResourcesMo.exportType,
|
|
1782
1853
|
totalResourcesCount = _useExportResourcesMo.totalResourcesCount,
|
|
1783
1854
|
filters = _useExportResourcesMo.filters,
|
|
@@ -1785,10 +1856,11 @@ function ExportScopeSection() {
|
|
|
1785
1856
|
selectedResourceIds = _useExportResourcesMo.selectedResourceIds,
|
|
1786
1857
|
setExportType = _useExportResourcesMo.setExportType,
|
|
1787
1858
|
resourceType = _useExportResourcesMo.resourceType,
|
|
1788
|
-
hideExportSelectedResourcesOption = _useExportResourcesMo.hideExportSelectedResourcesOption
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1859
|
+
hideExportSelectedResourcesOption = _useExportResourcesMo.hideExportSelectedResourcesOption,
|
|
1860
|
+
showQueryPredicateOption = _useExportResourcesMo.showQueryPredicateOption;
|
|
1861
|
+
const shouldShowQueryPredicateField = exportType === EXPORT_TYPES.QUERY_PREDICATE;
|
|
1862
|
+
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1863
|
+
children: [jsxRuntime.jsxs(uiKit.RadioInput.Group, {
|
|
1792
1864
|
value: exportType,
|
|
1793
1865
|
onChange: e => {
|
|
1794
1866
|
setExportType(e.target.value);
|
|
@@ -1828,8 +1900,23 @@ function ExportScopeSection() {
|
|
|
1828
1900
|
}
|
|
1829
1901
|
}) : messages.exportScopeSelectedWithoutCount
|
|
1830
1902
|
})
|
|
1903
|
+
}), showQueryPredicateOption && jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
1904
|
+
value: EXPORT_TYPES.QUERY_PREDICATE,
|
|
1905
|
+
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
1906
|
+
intlMessage: messages.queryPredicate
|
|
1907
|
+
})
|
|
1831
1908
|
})]
|
|
1832
|
-
})
|
|
1909
|
+
}), shouldShowQueryPredicateField && jsxRuntime.jsx(uiKit.TextField, {
|
|
1910
|
+
name: "queryPredicate",
|
|
1911
|
+
"data-testid": "query-predicate-field",
|
|
1912
|
+
title: "",
|
|
1913
|
+
onChange: formik.handleChange,
|
|
1914
|
+
onBlur: formik.handleBlur,
|
|
1915
|
+
value: _valuesInstanceProperty__default["default"](formik).queryPredicate,
|
|
1916
|
+
touched: formik.touched.queryPredicate,
|
|
1917
|
+
errors: mapFormikErrors(formik.errors.queryPredicate),
|
|
1918
|
+
renderError: renderQueryPredicateError
|
|
1919
|
+
})]
|
|
1833
1920
|
});
|
|
1834
1921
|
}
|
|
1835
1922
|
|
|
@@ -2117,6 +2204,7 @@ const CollapsibleFieldWrapper = _ref => {
|
|
|
2117
2204
|
});
|
|
2118
2205
|
};
|
|
2119
2206
|
const FieldSection = _ref3 => {
|
|
2207
|
+
var _context, _context2, _context7, _context8;
|
|
2120
2208
|
let fields = _ref3.fields,
|
|
2121
2209
|
parentKeys = _ref3.parentKeys,
|
|
2122
2210
|
formik = _ref3.formik,
|
|
@@ -2126,9 +2214,12 @@ const FieldSection = _ref3 => {
|
|
|
2126
2214
|
maxVisibleChildren = _ref3.maxVisibleChildren;
|
|
2127
2215
|
const _useExportFieldSelect = useExportFieldSelectionContext(),
|
|
2128
2216
|
updateExpandedGroups = _useExportFieldSelect.updateExpandedGroups;
|
|
2129
|
-
const visibleFields = isSearchActive || !maxVisibleChildren ? fields : fields?.
|
|
2217
|
+
const visibleFields = isSearchActive || !maxVisibleChildren ? fields : ((_context = fields) == null ? void 0 : _bindInstanceProperty__default["default"](_context2 = Function.call).call(_context2, _sliceInstanceProperty__default["default"](_context), _context))?.(0, maxVisibleChildren);
|
|
2130
2218
|
const hasMoreFields = maxVisibleChildren && !isSearchActive && fields && fields.length > maxVisibleChildren;
|
|
2131
|
-
const visibleIndex = field =>
|
|
2219
|
+
const visibleIndex = field => {
|
|
2220
|
+
var _context3, _context4, _context5, _context6;
|
|
2221
|
+
return ((_context3 = ((_context4 = fields) == null ? void 0 : _bindInstanceProperty__default["default"](_context5 = Function.call).call(_context5, _filterInstanceProperty__default["default"](_context4), _context4))?.(f => !f.isHidden)) == null ? void 0 : _bindInstanceProperty__default["default"](_context6 = Function.call).call(_context6, _indexOfInstanceProperty__default["default"](_context3), _context3))?.(field) || -1;
|
|
2222
|
+
};
|
|
2132
2223
|
const shouldDisplayField = field => {
|
|
2133
2224
|
if (field.isHidden) return false;
|
|
2134
2225
|
if (!maxVisibleChildren) return true;
|
|
@@ -2139,7 +2230,7 @@ const FieldSection = _ref3 => {
|
|
|
2139
2230
|
};
|
|
2140
2231
|
return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
2141
2232
|
scale: "s",
|
|
2142
|
-
children: [visibleFields?.
|
|
2233
|
+
children: [((_context7 = visibleFields) == null ? void 0 : _bindInstanceProperty__default["default"](_context8 = Function.call).call(_context8, _mapInstanceProperty__default["default"](_context7), _context7))?.((field, index) => {
|
|
2143
2234
|
const isChildrenCountDisplayed = shouldDisplayChildrenCount(field);
|
|
2144
2235
|
const hasDependents = Boolean(field.dependentGroupNames?.length || field.dependentFieldNames?.length);
|
|
2145
2236
|
const isAnyOfTheChildFieldsChecked = isAnyFieldChecked(field.fields || []);
|
|
@@ -2187,8 +2278,8 @@ const FieldSection = _ref3 => {
|
|
|
2187
2278
|
const updateAllChildFieldsChecked = (path, checked) => {
|
|
2188
2279
|
const item = get__default["default"](_valuesInstanceProperty__default["default"](formik), path);
|
|
2189
2280
|
if (item && item.fields) {
|
|
2190
|
-
var
|
|
2191
|
-
_forEachInstanceProperty__default["default"](
|
|
2281
|
+
var _context9;
|
|
2282
|
+
_forEachInstanceProperty__default["default"](_context9 = item.fields).call(_context9, (field, i) => {
|
|
2192
2283
|
const fieldPath = `${path}.fields[${i}]`;
|
|
2193
2284
|
if (!field.fields?.length) {
|
|
2194
2285
|
formik.setFieldValue(`${fieldPath}.isChecked`, checked || field.isRequired,
|
|
@@ -2405,7 +2496,7 @@ const NoSearchResults = () => {
|
|
|
2405
2496
|
};
|
|
2406
2497
|
|
|
2407
2498
|
function ownKeys$5(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; }
|
|
2408
|
-
function _objectSpread$5(e) { for (var r = 1; r < arguments.length; r++) { var
|
|
2499
|
+
function _objectSpread$5(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$5(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$5(Object(t))).call(_context8, function (r) { _Object$defineProperty__default["default"](e, r, _Object$getOwnPropertyDescriptor__default["default"](t, r)); }); } return e; }
|
|
2409
2500
|
const totalSpacing = 56 +
|
|
2410
2501
|
// MC header
|
|
2411
2502
|
32 * 2 + (
|
|
@@ -2447,6 +2538,7 @@ const StyledGridCard = /*#__PURE__*/_styled__default["default"](uiKit.Card, {
|
|
|
2447
2538
|
target: "e1odwg620"
|
|
2448
2539
|
} )("max-height:calc(100vh - ", totalSpacing, "px);overflow:auto;" + ("" ));
|
|
2449
2540
|
const SelectedFieldsForm = () => {
|
|
2541
|
+
var _context, _context2;
|
|
2450
2542
|
const intl = reactIntl.useIntl();
|
|
2451
2543
|
const _React$useState = React__default["default"].useState(''),
|
|
2452
2544
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -2463,22 +2555,22 @@ const SelectedFieldsForm = () => {
|
|
|
2463
2555
|
const _useExportResourcesMo = useExportResourcesModalContext(),
|
|
2464
2556
|
formik = _useExportResourcesMo.formik,
|
|
2465
2557
|
resourceType = _useExportResourcesMo.resourceType;
|
|
2466
|
-
const isSearchActive = fieldSearchTerm?.
|
|
2558
|
+
const isSearchActive = ((_context = fieldSearchTerm) == null ? void 0 : _bindInstanceProperty__default["default"](_context2 = Function.call).call(_context2, _trimInstanceProperty__default["default"](_context), _context))?.()?.length >= MIN_SEARCH_LENGTH;
|
|
2467
2559
|
React__default["default"].useEffect(() => {
|
|
2468
|
-
var
|
|
2560
|
+
var _context4;
|
|
2469
2561
|
updateFieldDependenciesStatus(formik);
|
|
2470
2562
|
const checkedFields = {};
|
|
2471
2563
|
function getCheckedFields(field, groupName) {
|
|
2472
2564
|
const fieldName = field.name ? `${groupName}.${field.name}` : groupName;
|
|
2473
2565
|
if (field.fields) {
|
|
2474
|
-
var
|
|
2475
|
-
return _forEachInstanceProperty__default["default"](
|
|
2566
|
+
var _context3;
|
|
2567
|
+
return _forEachInstanceProperty__default["default"](_context3 = field.fields).call(_context3, f => getCheckedFields(f, fieldName));
|
|
2476
2568
|
}
|
|
2477
2569
|
checkedFields[fieldName] = field.isChecked;
|
|
2478
2570
|
}
|
|
2479
|
-
_forEachInstanceProperty__default["default"](
|
|
2480
|
-
var
|
|
2481
|
-
_forEachInstanceProperty__default["default"](
|
|
2571
|
+
_forEachInstanceProperty__default["default"](_context4 = _valuesInstanceProperty__default["default"](formik).groups).call(_context4, group => {
|
|
2572
|
+
var _context5;
|
|
2573
|
+
_forEachInstanceProperty__default["default"](_context5 = group.fields).call(_context5, field => {
|
|
2482
2574
|
getCheckedFields(field, group.groupName);
|
|
2483
2575
|
});
|
|
2484
2576
|
});
|
|
@@ -2491,8 +2583,8 @@ const SelectedFieldsForm = () => {
|
|
|
2491
2583
|
const filteredGroups = React__default["default"].useMemo(() => {
|
|
2492
2584
|
const updateFields = (fields, parentMatches) => {
|
|
2493
2585
|
return _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
2494
|
-
var
|
|
2495
|
-
const matches = _includesInstanceProperty__default["default"](
|
|
2586
|
+
var _context6;
|
|
2587
|
+
const matches = _includesInstanceProperty__default["default"](_context6 = field.label.toLowerCase()).call(_context6, fieldSearchTerm.toLowerCase());
|
|
2496
2588
|
let isHidden = !matches && !parentMatches;
|
|
2497
2589
|
if (field.fields) {
|
|
2498
2590
|
const updatedFields = updateFields(field.fields, matches);
|
|
@@ -2638,6 +2730,8 @@ const _excluded$1 = ["children"];
|
|
|
2638
2730
|
const ExportResourcesProvider = _ref => {
|
|
2639
2731
|
let children = _ref.children,
|
|
2640
2732
|
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
2733
|
+
const intl = reactIntl.useIntl();
|
|
2734
|
+
const showNotification = actionsGlobal.useShowNotification();
|
|
2641
2735
|
const initialValues = useInitialValues(props);
|
|
2642
2736
|
const _React$useState = React__default["default"].useState(Step.FileSettings),
|
|
2643
2737
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
@@ -2668,47 +2762,70 @@ const ExportResourcesProvider = _ref => {
|
|
|
2668
2762
|
setValidationErrors = _React$useState12[1];
|
|
2669
2763
|
const _useStartExportOperat = useStartExportOperation(props),
|
|
2670
2764
|
startExportOperation = _useStartExportOperat.startExportOperation;
|
|
2671
|
-
const
|
|
2672
|
-
|
|
2673
|
-
const onSubmit = async values => {
|
|
2674
|
-
if (currentStep === Step.FileSettings) {
|
|
2675
|
-
setCurrentStep(Step.FieldsSelection);
|
|
2676
|
-
} else if (currentStep === Step.FieldsSelection) {
|
|
2677
|
-
if (fieldSelectionMode !== 'imported-csv-template') {
|
|
2678
|
-
setCurrentStep(Step.ConfirmExport);
|
|
2679
|
-
return;
|
|
2680
|
-
}
|
|
2681
|
-
const isUsingImportedCsvLocales = localeOption === 'onlyLocalesFoundInCsvFile';
|
|
2682
|
-
const validationResult = await validateHeaders({
|
|
2683
|
-
fileName: values.fileName,
|
|
2684
|
-
outputFormat: values.outputFormat,
|
|
2685
|
-
resourceType: props.resourceType,
|
|
2686
|
-
fields: importedHeaders,
|
|
2687
|
-
locales: isUsingImportedCsvLocales ? undefined : values.locales
|
|
2688
|
-
});
|
|
2689
|
-
if (validationResult?.success) {
|
|
2690
|
-
setCurrentStep(Step.ConfirmExport);
|
|
2691
|
-
} else {
|
|
2692
|
-
setValidationErrors(validationResult?.validationErrors);
|
|
2693
|
-
setCurrentStep(Step.ValidationErrors);
|
|
2694
|
-
}
|
|
2695
|
-
} else {
|
|
2696
|
-
startExportOperation(values, exportType, fieldSelectionMode, localeOption, importedHeaders);
|
|
2697
|
-
}
|
|
2698
|
-
};
|
|
2765
|
+
const _useValidateExportOpe = useValidateExportOperation(),
|
|
2766
|
+
validateExport = _useValidateExportOpe.validateExport;
|
|
2699
2767
|
const formik$1 = formik.useFormik({
|
|
2700
2768
|
initialValues,
|
|
2701
2769
|
validate: values => validate({
|
|
2702
2770
|
values,
|
|
2703
2771
|
step: currentStep,
|
|
2704
2772
|
fieldSelectionMode,
|
|
2705
|
-
importedHeaders
|
|
2773
|
+
importedHeaders,
|
|
2774
|
+
exportType
|
|
2706
2775
|
}),
|
|
2707
|
-
onSubmit
|
|
2776
|
+
onSubmit: async values => {
|
|
2777
|
+
if (currentStep === Step.FileSettings) {
|
|
2778
|
+
if (exportType === EXPORT_TYPES.QUERY_PREDICATE) {
|
|
2779
|
+
const validationResult = await validateExport({
|
|
2780
|
+
fileName: values.fileName,
|
|
2781
|
+
outputFormat: values.outputFormat,
|
|
2782
|
+
resourceType: props.resourceType,
|
|
2783
|
+
fields: extractFieldNamesFromGroups(values.groups, props.fieldOrder),
|
|
2784
|
+
locales: values.locales,
|
|
2785
|
+
queryPredicate: values.queryPredicate
|
|
2786
|
+
});
|
|
2787
|
+
if (validationResult?.invalidQueryPredicate) {
|
|
2788
|
+
formik$1.setFieldError('queryPredicate', 'invalidInput');
|
|
2789
|
+
return;
|
|
2790
|
+
}
|
|
2791
|
+
if (validationResult?.noResourcesToExport) {
|
|
2792
|
+
showNotification({
|
|
2793
|
+
text: intl.formatMessage(messages.noResourcesToExport),
|
|
2794
|
+
kind: 'error',
|
|
2795
|
+
domain: constants.DOMAINS.PAGE
|
|
2796
|
+
});
|
|
2797
|
+
return;
|
|
2798
|
+
}
|
|
2799
|
+
}
|
|
2800
|
+
setCurrentStep(Step.FieldsSelection);
|
|
2801
|
+
} else if (currentStep === Step.FieldsSelection) {
|
|
2802
|
+
if (fieldSelectionMode !== 'imported-csv-template') {
|
|
2803
|
+
setCurrentStep(Step.ConfirmExport);
|
|
2804
|
+
return;
|
|
2805
|
+
}
|
|
2806
|
+
const isUsingImportedCsvLocales = localeOption === 'onlyLocalesFoundInCsvFile';
|
|
2807
|
+
const validationResult = await validateExport({
|
|
2808
|
+
fileName: values.fileName,
|
|
2809
|
+
outputFormat: values.outputFormat,
|
|
2810
|
+
resourceType: props.resourceType,
|
|
2811
|
+
fields: importedHeaders,
|
|
2812
|
+
locales: isUsingImportedCsvLocales ? undefined : values.locales,
|
|
2813
|
+
queryPredicate: values.queryPredicate
|
|
2814
|
+
});
|
|
2815
|
+
if (validationResult?.success) {
|
|
2816
|
+
setCurrentStep(Step.ConfirmExport);
|
|
2817
|
+
} else {
|
|
2818
|
+
setValidationErrors(validationResult?.validationErrors);
|
|
2819
|
+
setCurrentStep(Step.ValidationErrors);
|
|
2820
|
+
}
|
|
2821
|
+
} else {
|
|
2822
|
+
startExportOperation(values, exportType, fieldSelectionMode, localeOption, importedHeaders);
|
|
2823
|
+
}
|
|
2824
|
+
}
|
|
2708
2825
|
});
|
|
2709
2826
|
React__default["default"].useEffect(() => {
|
|
2710
2827
|
formik$1.validateForm();
|
|
2711
|
-
}, [currentStep, fieldSelectionMode, importedHeaders]);
|
|
2828
|
+
}, [currentStep, fieldSelectionMode, importedHeaders, exportType]);
|
|
2712
2829
|
return jsxRuntime.jsx(ExportResourcesContext.Provider, {
|
|
2713
2830
|
value: {
|
|
2714
2831
|
formik: formik$1,
|
|
@@ -2720,6 +2837,7 @@ const ExportResourcesProvider = _ref => {
|
|
|
2720
2837
|
totalResourcesCount: props.totalResourcesCount,
|
|
2721
2838
|
selectedResourceIds: props.selectedResourceIds,
|
|
2722
2839
|
hideExportSelectedResourcesOption: props.hideExportSelectedResourcesOption,
|
|
2840
|
+
showQueryPredicateOption: props.showQueryPredicateOption,
|
|
2723
2841
|
filters: props.filters,
|
|
2724
2842
|
hasFilters: areFiltersApplied(props.filters),
|
|
2725
2843
|
setExportType,
|
|
@@ -3068,11 +3186,11 @@ function getDefaultDropWrapperStyles(_dropAreaState) {
|
|
|
3068
3186
|
return /*#__PURE__*/react.css("" , "" );
|
|
3069
3187
|
}
|
|
3070
3188
|
|
|
3071
|
-
var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-
|
|
3189
|
+
var ActiveDragDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./active-drag-drop-area-7fd53916.cjs.prod.js' /* webpackChunkName: "active-drag-drop-area" */); }));
|
|
3072
3190
|
|
|
3073
|
-
var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-
|
|
3191
|
+
var EnabledDropArea = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./enabled-drop-area-4c8d613f.cjs.prod.js' /* webpackChunkName: "enabled-drop-area" */); }));
|
|
3074
3192
|
|
|
3075
|
-
var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-
|
|
3193
|
+
var FileDropped = /*#__PURE__*/React.lazy(() => Promise.resolve().then(function () { return require('./file-dropped-area-b685a683.cjs.prod.js' /* webpackChunkName: "filed-dropped-area" */); }));
|
|
3076
3194
|
|
|
3077
3195
|
function getDropArea(_ref) {
|
|
3078
3196
|
let dropAreaState = _ref.dropAreaState,
|