@commercetools-frontend-extensions/export-resources-modal 1.3.1 → 1.3.2
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.
|
@@ -26,21 +26,21 @@ var _possibleConstructorReturn = require('@babel/runtime-corejs3/helpers/possibl
|
|
|
26
26
|
var _getPrototypeOf = require('@babel/runtime-corejs3/helpers/getPrototypeOf');
|
|
27
27
|
var _wrapNativeSuper = require('@babel/runtime-corejs3/helpers/wrapNativeSuper');
|
|
28
28
|
var _Array$isArray = require('@babel/runtime-corejs3/core-js-stable/array/is-array');
|
|
29
|
-
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
30
|
-
var PropTypes = require('prop-types');
|
|
31
|
-
var formik = require('formik');
|
|
32
|
-
var moment = require('moment');
|
|
33
|
-
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
34
|
-
var react = require('react');
|
|
35
29
|
var uiKit = require('@commercetools-frontend/ui-kit');
|
|
36
30
|
var omitEmpty = require('omit-empty-es');
|
|
37
31
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
38
|
-
var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
|
|
39
32
|
var designSystem = require('@commercetools-uikit/design-system');
|
|
40
|
-
var
|
|
33
|
+
var PropTypes = require('prop-types');
|
|
34
|
+
var React = require('react');
|
|
35
|
+
var react = require('@emotion/react');
|
|
41
36
|
var _styled = require('@emotion/styled/base');
|
|
37
|
+
var _valuesInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/values');
|
|
38
|
+
var applicationShellConnectors = require('@commercetools-frontend/application-shell-connectors');
|
|
42
39
|
var sdk = require('@commercetools-frontend/sdk');
|
|
43
40
|
var actionsGlobal = require('@commercetools-frontend/actions-global');
|
|
41
|
+
var _slicedToArray = require('@babel/runtime-corejs3/helpers/slicedToArray');
|
|
42
|
+
var formik = require('formik');
|
|
43
|
+
var moment = require('moment');
|
|
44
44
|
var constants = require('@commercetools-frontend/constants');
|
|
45
45
|
|
|
46
46
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
@@ -58,31 +58,35 @@ var _flatInstanceProperty__default = /*#__PURE__*/_interopDefault(_flatInstanceP
|
|
|
58
58
|
var _concatInstanceProperty__default = /*#__PURE__*/_interopDefault(_concatInstanceProperty);
|
|
59
59
|
var _Reflect$construct__default = /*#__PURE__*/_interopDefault(_Reflect$construct);
|
|
60
60
|
var _Array$isArray__default = /*#__PURE__*/_interopDefault(_Array$isArray);
|
|
61
|
-
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
62
|
-
var moment__default = /*#__PURE__*/_interopDefault(moment);
|
|
63
61
|
var omitEmpty__default = /*#__PURE__*/_interopDefault(omitEmpty);
|
|
64
|
-
var
|
|
62
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
63
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
65
64
|
var _styled__default = /*#__PURE__*/_interopDefault(_styled);
|
|
65
|
+
var _valuesInstanceProperty__default = /*#__PURE__*/_interopDefault(_valuesInstanceProperty);
|
|
66
|
+
var moment__default = /*#__PURE__*/_interopDefault(moment);
|
|
66
67
|
|
|
67
|
-
const
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
const EXPORT_OPERATION_STATES = {
|
|
69
|
+
PROCESSING: 'processing',
|
|
70
|
+
COMPLETED: 'completed',
|
|
71
|
+
FAILED: 'failed'
|
|
71
72
|
};
|
|
73
|
+
|
|
72
74
|
const EXPORT_SELECTION_TYPES = {
|
|
73
75
|
ALL_RESOURCES: 'allResources',
|
|
74
76
|
ONLY_MATCHING: 'onlyMatching',
|
|
75
77
|
ONLY_SELECTED: 'onlySelected'
|
|
76
78
|
};
|
|
79
|
+
|
|
80
|
+
const EXPORTABLE_RESOURCES = {
|
|
81
|
+
CATEGORY: 'category',
|
|
82
|
+
PRODUCT: 'product',
|
|
83
|
+
DISCOUNT_CODE: 'discountCode'
|
|
84
|
+
};
|
|
85
|
+
|
|
77
86
|
const OUTPUT_FORMATS = {
|
|
78
87
|
JSON: 'json',
|
|
79
88
|
CSV: 'csv'
|
|
80
89
|
};
|
|
81
|
-
const EXPORT_OPERATION_STATES = {
|
|
82
|
-
PROCESSING: 'processing',
|
|
83
|
-
COMPLETED: 'completed',
|
|
84
|
-
FAILED: 'failed'
|
|
85
|
-
};
|
|
86
90
|
|
|
87
91
|
function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct__default["default"](Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
88
92
|
function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !_Reflect$construct__default["default"]) return false; if (_Reflect$construct__default["default"].sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct__default["default"](Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -178,6 +182,14 @@ function isFilledArray(maybeArray) {
|
|
|
178
182
|
return _Array$isArray__default["default"](maybeArray) && maybeArray.length;
|
|
179
183
|
}
|
|
180
184
|
|
|
185
|
+
/*
|
|
186
|
+
* This function is responsible for constructing the GraphQL query based on the export settings
|
|
187
|
+
*
|
|
188
|
+
* Depending on the type of export selection (all resources, only selected, or only matching/filtered) it constructs different types of queries:
|
|
189
|
+
* - For 'all resources', it generates a query that fetches all fields and languages specified in the export settings.
|
|
190
|
+
* - For 'only selected', it creates a query that fetches only the fields and languages of the selected resources. The ids of the selected resources are included in the query.
|
|
191
|
+
* - The 'only matching' case is a placeholder for future development where a query will be constructed based on certain filtering criteria using the `where` parameter.
|
|
192
|
+
*/
|
|
181
193
|
function buildGraphQuery(exportSettings) {
|
|
182
194
|
var _context;
|
|
183
195
|
const operation = resourceTypeToOperationName(exportSettings.resourceType);
|
|
@@ -213,6 +225,21 @@ function buildGraphQuery(exportSettings) {
|
|
|
213
225
|
throw new UnexpectedSelectionTypeError(exportSettings.exportSelectionType);
|
|
214
226
|
}
|
|
215
227
|
}
|
|
228
|
+
|
|
229
|
+
/*
|
|
230
|
+
* This function builds the necessary field structure for our GraphQL queries, tt is specifically designed to handle different types of fields
|
|
231
|
+
*
|
|
232
|
+
* For fields whose values change depending on the language aka localised fields, a unique request format is used
|
|
233
|
+
* This format combines the field and the language, separated by '_____'. This approach is adopted as our system disallows the use of hyphens `-` in these situations
|
|
234
|
+
*
|
|
235
|
+
* Fields that don't vary by language but contain additional subfields (known as 'nested fields') are also addressed
|
|
236
|
+
* In these cases the function is used recursively on these subfields to generate the appropriate request.
|
|
237
|
+
*
|
|
238
|
+
* Overall, this function enables us to accurately request different types of data, including those varying by language or containing subfields.
|
|
239
|
+
*
|
|
240
|
+
* More details can be found in the related PR: https://github.com/commercetools/commercetools-exporter/pull/103
|
|
241
|
+
*/
|
|
242
|
+
|
|
216
243
|
function buildFields(_ref) {
|
|
217
244
|
var _context2;
|
|
218
245
|
let fields = _ref.fields,
|
|
@@ -220,7 +247,7 @@ function buildFields(_ref) {
|
|
|
220
247
|
return _flatInstanceProperty__default["default"](_context2 = _mapInstanceProperty__default["default"](fields).call(fields, field => {
|
|
221
248
|
if (field.isLocalized) return _mapInstanceProperty__default["default"](languages).call(languages, language => {
|
|
222
249
|
var _context3, _context4, _context5;
|
|
223
|
-
const alias = replaceSpecialCharsWithUnderscore(_concatInstanceProperty__default["default"](_context3 = "".concat(field.key, "
|
|
250
|
+
const alias = replaceSpecialCharsWithUnderscore(_concatInstanceProperty__default["default"](_context3 = "".concat(field.key, "_____")).call(_context3, language));
|
|
224
251
|
return _concatInstanceProperty__default["default"](_context4 = _concatInstanceProperty__default["default"](_context5 = "".concat(alias, ": ")).call(_context5, field.key, "(locale: \"")).call(_context4, language, "\")");
|
|
225
252
|
});else {
|
|
226
253
|
if (isFilledArray(field.fields)) {
|
|
@@ -236,6 +263,22 @@ function buildFields(_ref) {
|
|
|
236
263
|
})).call(_context2);
|
|
237
264
|
}
|
|
238
265
|
|
|
266
|
+
function validate(values) {
|
|
267
|
+
const errors = {
|
|
268
|
+
fileName: {},
|
|
269
|
+
languages: {}
|
|
270
|
+
};
|
|
271
|
+
if (uiKit.TextInput.isEmpty(values.fileName)) {
|
|
272
|
+
errors.fileName.missing = true;
|
|
273
|
+
} else if (!/^[a-zA-Z0-9-_]+$/.test(values.fileName)) {
|
|
274
|
+
errors.fileName.invalidInput = true;
|
|
275
|
+
}
|
|
276
|
+
if (values.languages.length < 1) {
|
|
277
|
+
errors.languages.missing = true;
|
|
278
|
+
}
|
|
279
|
+
return omitEmpty__default["default"](errors);
|
|
280
|
+
}
|
|
281
|
+
|
|
239
282
|
var messages = reactIntl.defineMessages({
|
|
240
283
|
modalTitle: {
|
|
241
284
|
id: 'ExportResourcesModal.modalTitle',
|
|
@@ -389,112 +432,26 @@ var messages = reactIntl.defineMessages({
|
|
|
389
432
|
}
|
|
390
433
|
});
|
|
391
434
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
isOpen: PropTypes__default["default"].bool.isRequired,
|
|
398
|
-
closeModal: PropTypes__default["default"].func.isRequired,
|
|
399
|
-
allResourcesCount: PropTypes__default["default"].number.isRequired,
|
|
400
|
-
matchingResourcesCount: PropTypes__default["default"].number,
|
|
401
|
-
selectedResourceIds: PropTypes__default["default"].array,
|
|
402
|
-
// TODO: Circular reference
|
|
403
|
-
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
404
|
-
key: PropTypes__default["default"].string.isRequired,
|
|
405
|
-
label: PropTypes__default["default"].string,
|
|
406
|
-
isLocalized: PropTypes__default["default"].bool,
|
|
407
|
-
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
408
|
-
key: PropTypes__default["default"].string.isRequired,
|
|
409
|
-
label: PropTypes__default["default"].string,
|
|
410
|
-
isLocalized: PropTypes__default["default"].bool
|
|
411
|
-
}))
|
|
412
|
-
})).isRequired,
|
|
413
|
-
exportSelectionType: PropTypes__default["default"].string,
|
|
414
|
-
appliedSearchTerms: PropTypes__default["default"].array,
|
|
415
|
-
appliedFilters: PropTypes__default["default"].array,
|
|
416
|
-
renderProperties: PropTypes__default["default"].func
|
|
417
|
-
}).isRequired;
|
|
418
|
-
|
|
419
|
-
function validate(values) {
|
|
420
|
-
const errors = {
|
|
421
|
-
fileName: {},
|
|
422
|
-
languages: {}
|
|
423
|
-
};
|
|
424
|
-
if (uiKit.TextInput.isEmpty(values.fileName)) {
|
|
425
|
-
errors.fileName.missing = true;
|
|
426
|
-
} else if (!/^[a-zA-Z0-9-_]+$/.test(values.fileName)) {
|
|
427
|
-
errors.fileName.invalidInput = true;
|
|
428
|
-
}
|
|
429
|
-
if (values.languages.length < 1) {
|
|
430
|
-
errors.languages.missing = true;
|
|
431
|
-
}
|
|
432
|
-
return omitEmpty__default["default"](errors);
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
const ExportResourcesContextProvider = props => {
|
|
436
|
-
var _context;
|
|
437
|
-
const todayFormatted = moment__default["default"]().format('DD-MM-YY_HH-mm');
|
|
438
|
-
const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
|
|
439
|
-
language: applicationContext.dataLocale
|
|
440
|
-
})),
|
|
441
|
-
language = _useApplicationContex.language;
|
|
442
|
-
const formik$1 = formik.useFormik({
|
|
443
|
-
initialValues: {
|
|
444
|
-
outputFormat: props.outputFormat,
|
|
445
|
-
fileName: _concatInstanceProperty__default["default"](_context = "".concat(resourceTypeToPlural({
|
|
446
|
-
resourceType: props.resourceType,
|
|
447
|
-
isUpperCase: true
|
|
448
|
-
}), "_Export_")).call(_context, todayFormatted),
|
|
449
|
-
languages: [language],
|
|
450
|
-
fields: props.fields,
|
|
451
|
-
appliedSearchTerms: props.appliedSearchTerms,
|
|
452
|
-
appliedFilters: props.appliedFilters,
|
|
453
|
-
exportSelectionType: props.exportSelectionType,
|
|
454
|
-
isAllLanguagesChecked: false
|
|
455
|
-
},
|
|
456
|
-
validate
|
|
457
|
-
});
|
|
458
|
-
const _useState = react.useState(false),
|
|
459
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
460
|
-
exportOperationStarted = _useState2[0],
|
|
461
|
-
setExportOperationStarted = _useState2[1];
|
|
462
|
-
return jsxRuntime.jsx(ExportResourcesContext.Provider, {
|
|
463
|
-
value: {
|
|
464
|
-
formik: formik$1,
|
|
465
|
-
resourceType: props.resourceType,
|
|
466
|
-
allResourcesCount: props.allResourcesCount,
|
|
467
|
-
matchingResourcesCount: props.matchingResourcesCount,
|
|
468
|
-
selectedResourceIds: props.selectedResourceIds,
|
|
469
|
-
exportOperationStarted,
|
|
470
|
-
setExportOperationStarted
|
|
471
|
-
},
|
|
472
|
-
children: props.children
|
|
435
|
+
function getBold(msg) {
|
|
436
|
+
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
437
|
+
as: "span",
|
|
438
|
+
isBold: true,
|
|
439
|
+
children: msg
|
|
473
440
|
});
|
|
474
|
-
};
|
|
475
|
-
ExportResourcesContextProvider.displayName = 'ExportResourcesContextProvider';
|
|
476
|
-
ExportResourcesContextProvider.propTypes = {};
|
|
477
|
-
|
|
478
|
-
function useExportResourcesContext() {
|
|
479
|
-
const context = react.useContext(ExportResourcesContext);
|
|
480
|
-
if (!context) {
|
|
481
|
-
throw new MissingExportResourceProviderError();
|
|
482
|
-
}
|
|
483
|
-
return context;
|
|
484
441
|
}
|
|
485
442
|
|
|
486
|
-
const smallTopPadding = /*#__PURE__*/react
|
|
443
|
+
const smallTopPadding = /*#__PURE__*/react.css("padding-top:", designSystem.customProperties.spacingXs, ";" + ("" ), "" );
|
|
487
444
|
const tagListContainer = _ref => {
|
|
488
445
|
let isNewTheme = _ref.isNewTheme;
|
|
489
|
-
return /*#__PURE__*/react
|
|
446
|
+
return /*#__PURE__*/react.css("width:100%;display:flex;flex-wrap:wrap;display:inline-flex;padding:0 ", isNewTheme ? 0 : designSystem.customProperties.spacingL, ";&>div{margin:0 ", designSystem.customProperties.spacingS, " ", designSystem.customProperties.spacingS, " 0;}" + ("" ), "" );
|
|
490
447
|
};
|
|
491
|
-
const tagListItem = /*#__PURE__*/react
|
|
492
|
-
const divider = /*#__PURE__*/react
|
|
448
|
+
const tagListItem = /*#__PURE__*/react.css("margin:0 ", designSystem.customProperties.spacingXs, " ", designSystem.customProperties.spacingXs, " 0;display:flex;min-width:0;" + ("" ), "" );
|
|
449
|
+
const divider = /*#__PURE__*/react.css("box-sizing:border-box;width:100%;margin:0;border:0;border-top:1px solid ", designSystem.customProperties.colorNeutral60, ";" + ("" ), "" );
|
|
493
450
|
const notBold = {
|
|
494
451
|
name: "lugakg",
|
|
495
452
|
styles: "font-weight:normal"
|
|
496
453
|
} ;
|
|
497
|
-
const successMessage = /*#__PURE__*/react
|
|
454
|
+
const successMessage = /*#__PURE__*/react.css("margin-bottom:", designSystem.customProperties.spacingL, ";" + ("" ), "" );
|
|
498
455
|
const styles = {
|
|
499
456
|
tagListItem,
|
|
500
457
|
tagListContainer,
|
|
@@ -504,173 +461,50 @@ const styles = {
|
|
|
504
461
|
successMessage
|
|
505
462
|
};
|
|
506
463
|
|
|
464
|
+
function TagList(props) {
|
|
465
|
+
const _useTheme = designSystem.useTheme(),
|
|
466
|
+
isNewTheme = _useTheme.isNewTheme;
|
|
467
|
+
return jsxRuntime.jsx("div", {
|
|
468
|
+
css: styles.tagListContainer({
|
|
469
|
+
isNewTheme
|
|
470
|
+
}),
|
|
471
|
+
"data-testid": props['data-testid'],
|
|
472
|
+
children: _mapInstanceProperty__default["default"](React.Children).call(React.Children, props.children, tag => jsxRuntime.jsx("div", {
|
|
473
|
+
css: styles.tagListItem,
|
|
474
|
+
children: tag
|
|
475
|
+
}))
|
|
476
|
+
});
|
|
477
|
+
}
|
|
478
|
+
TagList.displayName = 'TagList';
|
|
479
|
+
TagList.propTypes = {};
|
|
480
|
+
|
|
507
481
|
function ownKeys$a(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
508
482
|
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$a(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$a(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
509
|
-
function
|
|
483
|
+
function AppliedFilters(_ref) {
|
|
484
|
+
let filters = _ref.filters,
|
|
485
|
+
onFilterRemove = _ref.onFilterRemove;
|
|
510
486
|
const _useTheme = designSystem.useTheme(),
|
|
511
487
|
isNewTheme = _useTheme.isNewTheme;
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
},
|
|
531
|
-
onChange: formik.handleChange,
|
|
532
|
-
children: [jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
533
|
-
value: EXPORT_SELECTION_TYPES.ALL_RESOURCES,
|
|
534
|
-
"data-testid": 'test-all-resources',
|
|
535
|
-
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
536
|
-
isBold: !isNewTheme,
|
|
537
|
-
intlMessage: _objectSpread$a(_objectSpread$a({}, messages.exportAllResources), {}, {
|
|
538
|
-
values: {
|
|
539
|
-
resourceType: resourceTypePlural,
|
|
540
|
-
count: allResourcesCount
|
|
541
|
-
}
|
|
542
|
-
})
|
|
543
|
-
})
|
|
544
|
-
}), jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
545
|
-
value: EXPORT_SELECTION_TYPES.ONLY_MATCHING,
|
|
546
|
-
"data-testid": 'test-only-matching',
|
|
547
|
-
isDisabled: !Boolean(matchingResourcesCount),
|
|
548
|
-
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
549
|
-
isBold: !isNewTheme,
|
|
550
|
-
intlMessage: _objectSpread$a(_objectSpread$a({}, messages.exportOnlyMatchingResources), {}, {
|
|
551
|
-
values: {
|
|
552
|
-
count: matchingResourcesCount || intl.formatMessage(messages.nothingApplied)
|
|
553
|
-
}
|
|
554
|
-
})
|
|
555
|
-
})
|
|
556
|
-
}), jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
557
|
-
value: EXPORT_SELECTION_TYPES.ONLY_SELECTED,
|
|
558
|
-
"data-testid": 'test-only-selected',
|
|
559
|
-
isDisabled: !Boolean(selectedResourceIds.length),
|
|
560
|
-
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
561
|
-
isBold: !isNewTheme,
|
|
562
|
-
intlMessage: _objectSpread$a(_objectSpread$a({}, messages.exportOnlySelectedResources), {}, {
|
|
563
|
-
values: {
|
|
564
|
-
resourceType: resourceTypePlural,
|
|
565
|
-
count: selectedResourceIds.length
|
|
566
|
-
}
|
|
567
|
-
})
|
|
488
|
+
if (isNewTheme) return jsxRuntime.jsx(uiKit.CollapsiblePanel, {
|
|
489
|
+
condensed: true,
|
|
490
|
+
isDefaultClosed: !Boolean(filters.length),
|
|
491
|
+
header: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
492
|
+
intlMessage: _objectSpread$a(_objectSpread$a({}, messages.appliedFiltersMessage), {}, {
|
|
493
|
+
values: {
|
|
494
|
+
filtersCount: filters.length
|
|
495
|
+
}
|
|
496
|
+
})
|
|
497
|
+
}),
|
|
498
|
+
children: jsxRuntime.jsx(TagList, {
|
|
499
|
+
children: _mapInstanceProperty__default["default"](filters).call(filters, filter => jsxRuntime.jsx("div", {
|
|
500
|
+
"data-testid": "test-filter-".concat(filter),
|
|
501
|
+
children: jsxRuntime.jsx(uiKit.Tag, {
|
|
502
|
+
onRemove: () => {
|
|
503
|
+
onFilterRemove(filter);
|
|
504
|
+
},
|
|
505
|
+
children: filter
|
|
568
506
|
})
|
|
569
|
-
})
|
|
570
|
-
})
|
|
571
|
-
});
|
|
572
|
-
}
|
|
573
|
-
|
|
574
|
-
function getBold(msg) {
|
|
575
|
-
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
576
|
-
as: "span",
|
|
577
|
-
isBold: true,
|
|
578
|
-
children: msg
|
|
579
|
-
});
|
|
580
|
-
}
|
|
581
|
-
|
|
582
|
-
function ownKeys$9(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
583
|
-
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$9(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$9(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
584
|
-
function ExportTextMessage() {
|
|
585
|
-
const _useExportResourcesCo = useExportResourcesContext(),
|
|
586
|
-
resourceType = _useExportResourcesCo.resourceType,
|
|
587
|
-
allResourcesCount = _useExportResourcesCo.allResourcesCount,
|
|
588
|
-
selectedResourceIds = _useExportResourcesCo.selectedResourceIds,
|
|
589
|
-
matchingResourcesCount = _useExportResourcesCo.matchingResourcesCount,
|
|
590
|
-
formik = _useExportResourcesCo.formik;
|
|
591
|
-
const resourceTypePlural = resourceTypeToPlural({
|
|
592
|
-
resourceType: resourceType
|
|
593
|
-
});
|
|
594
|
-
switch (_valuesInstanceProperty__default["default"](formik).exportSelectionType) {
|
|
595
|
-
case EXPORT_SELECTION_TYPES.ALL_RESOURCES:
|
|
596
|
-
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
597
|
-
intlMessage: _objectSpread$9(_objectSpread$9({}, messages.exportAllMessage), {}, {
|
|
598
|
-
values: {
|
|
599
|
-
count: allResourcesCount,
|
|
600
|
-
resourceType: resourceTypePlural,
|
|
601
|
-
b: getBold
|
|
602
|
-
}
|
|
603
|
-
})
|
|
604
|
-
});
|
|
605
|
-
case EXPORT_SELECTION_TYPES.ONLY_MATCHING:
|
|
606
|
-
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
607
|
-
intlMessage: _objectSpread$9(_objectSpread$9({}, messages.exportMatchingMessage), {}, {
|
|
608
|
-
values: {
|
|
609
|
-
count: matchingResourcesCount,
|
|
610
|
-
resourceType: resourceTypePlural,
|
|
611
|
-
b: getBold
|
|
612
|
-
}
|
|
613
|
-
})
|
|
614
|
-
});
|
|
615
|
-
case EXPORT_SELECTION_TYPES.ONLY_SELECTED:
|
|
616
|
-
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
617
|
-
intlMessage: _objectSpread$9(_objectSpread$9({}, messages.exportSelectedMessage), {}, {
|
|
618
|
-
values: {
|
|
619
|
-
count: selectedResourceIds.length,
|
|
620
|
-
resourceType: resourceTypePlural,
|
|
621
|
-
b: getBold
|
|
622
|
-
}
|
|
623
|
-
})
|
|
624
|
-
});
|
|
625
|
-
default:
|
|
626
|
-
throw new UnexpectedSelectionTypeError(_valuesInstanceProperty__default["default"](formik).exportSelectionType);
|
|
627
|
-
}
|
|
628
|
-
}
|
|
629
|
-
|
|
630
|
-
function TagList(props) {
|
|
631
|
-
const _useTheme = designSystem.useTheme(),
|
|
632
|
-
isNewTheme = _useTheme.isNewTheme;
|
|
633
|
-
return jsxRuntime.jsx("div", {
|
|
634
|
-
css: styles.tagListContainer({
|
|
635
|
-
isNewTheme
|
|
636
|
-
}),
|
|
637
|
-
"data-testid": props['data-testid'],
|
|
638
|
-
children: _mapInstanceProperty__default["default"](react.Children).call(react.Children, props.children, tag => jsxRuntime.jsx("div", {
|
|
639
|
-
css: styles.tagListItem,
|
|
640
|
-
children: tag
|
|
641
|
-
}))
|
|
642
|
-
});
|
|
643
|
-
}
|
|
644
|
-
TagList.displayName = 'TagList';
|
|
645
|
-
TagList.propTypes = {};
|
|
646
|
-
|
|
647
|
-
function ownKeys$8(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
648
|
-
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$8(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$8(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
649
|
-
function AppliedFilters(_ref) {
|
|
650
|
-
let filters = _ref.filters,
|
|
651
|
-
onFilterRemove = _ref.onFilterRemove;
|
|
652
|
-
const _useTheme = designSystem.useTheme(),
|
|
653
|
-
isNewTheme = _useTheme.isNewTheme;
|
|
654
|
-
if (isNewTheme) return jsxRuntime.jsx(uiKit.CollapsiblePanel, {
|
|
655
|
-
condensed: true,
|
|
656
|
-
isDefaultClosed: !Boolean(filters.length),
|
|
657
|
-
header: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
658
|
-
intlMessage: _objectSpread$8(_objectSpread$8({}, messages.appliedFiltersMessage), {}, {
|
|
659
|
-
values: {
|
|
660
|
-
filtersCount: filters.length
|
|
661
|
-
}
|
|
662
|
-
})
|
|
663
|
-
}),
|
|
664
|
-
children: jsxRuntime.jsx(TagList, {
|
|
665
|
-
children: _mapInstanceProperty__default["default"](filters).call(filters, filter => jsxRuntime.jsx("div", {
|
|
666
|
-
"data-testid": "test-filter-".concat(filter),
|
|
667
|
-
children: jsxRuntime.jsx(uiKit.Tag, {
|
|
668
|
-
onRemove: () => {
|
|
669
|
-
onFilterRemove(filter);
|
|
670
|
-
},
|
|
671
|
-
children: filter
|
|
672
|
-
})
|
|
673
|
-
}, filter))
|
|
507
|
+
}, filter))
|
|
674
508
|
})
|
|
675
509
|
});
|
|
676
510
|
return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
@@ -684,7 +518,7 @@ function AppliedFilters(_ref) {
|
|
|
684
518
|
color: "neutral60"
|
|
685
519
|
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
686
520
|
isBold: true,
|
|
687
|
-
intlMessage: _objectSpread$
|
|
521
|
+
intlMessage: _objectSpread$a(_objectSpread$a({}, messages.appliedFiltersMessage), {}, {
|
|
688
522
|
values: {
|
|
689
523
|
filtersCount: filters.length
|
|
690
524
|
}
|
|
@@ -705,31 +539,10 @@ function AppliedFilters(_ref) {
|
|
|
705
539
|
}
|
|
706
540
|
AppliedFilters.propTypes = {};
|
|
707
541
|
|
|
708
|
-
|
|
709
|
-
function
|
|
710
|
-
const _useTheme = designSystem.useTheme(),
|
|
711
|
-
themedValue = _useTheme.themedValue;
|
|
712
|
-
return jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
713
|
-
scale: "m",
|
|
714
|
-
alignItems: "center",
|
|
715
|
-
children: [jsxRuntime.jsx(uiKit.Text.Body, {
|
|
716
|
-
intlMessage: messages.exportBasedOnMyViewsMessage
|
|
717
|
-
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
718
|
-
intlMessage: messages.myViews
|
|
719
|
-
}), jsxRuntime.jsx(uiKit.Constraints.Horizontal, {
|
|
720
|
-
max: themedValue(4, 7),
|
|
721
|
-
children: jsxRuntime.jsx(uiKit.SelectInput, {
|
|
722
|
-
isDisabled: true,
|
|
723
|
-
placeholder: "Default"
|
|
724
|
-
})
|
|
725
|
-
})]
|
|
726
|
-
});
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
function ownKeys$7(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
730
|
-
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$7(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
542
|
+
function ownKeys$9(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
543
|
+
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$9(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$9(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
731
544
|
const IconPlaceholder = /*#__PURE__*/_styled__default["default"]("div", {
|
|
732
|
-
target: "
|
|
545
|
+
target: "e1oion860"
|
|
733
546
|
} )("width:", uiKit.customProperties.spacingM, ";" + ("" ));
|
|
734
547
|
function AppliedSearchTerms(_ref) {
|
|
735
548
|
let appliedSearchTerms = _ref.appliedSearchTerms;
|
|
@@ -739,7 +552,7 @@ function AppliedSearchTerms(_ref) {
|
|
|
739
552
|
condensed: true,
|
|
740
553
|
isDefaultClosed: !Boolean(appliedSearchTerms.length),
|
|
741
554
|
header: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
742
|
-
intlMessage: _objectSpread$
|
|
555
|
+
intlMessage: _objectSpread$9(_objectSpread$9({}, messages.appliedSearchTermsMessage), {}, {
|
|
743
556
|
values: {
|
|
744
557
|
searchTermsCount: appliedSearchTerms.length
|
|
745
558
|
}
|
|
@@ -760,7 +573,7 @@ function AppliedSearchTerms(_ref) {
|
|
|
760
573
|
color: "neutral60"
|
|
761
574
|
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
762
575
|
isBold: true,
|
|
763
|
-
intlMessage: _objectSpread$
|
|
576
|
+
intlMessage: _objectSpread$9(_objectSpread$9({}, messages.appliedSearchTermsMessage), {}, {
|
|
764
577
|
values: {
|
|
765
578
|
searchTermsCount: appliedSearchTerms.length
|
|
766
579
|
}
|
|
@@ -777,6 +590,172 @@ function AppliedSearchTerms(_ref) {
|
|
|
777
590
|
}
|
|
778
591
|
AppliedSearchTerms.propTypes = {};
|
|
779
592
|
|
|
593
|
+
// TODO: @redesign cleanup
|
|
594
|
+
function ExportBasedOnMyViewsSelectField() {
|
|
595
|
+
const _useTheme = designSystem.useTheme(),
|
|
596
|
+
themedValue = _useTheme.themedValue;
|
|
597
|
+
return jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
598
|
+
scale: "m",
|
|
599
|
+
alignItems: "center",
|
|
600
|
+
children: [jsxRuntime.jsx(uiKit.Text.Body, {
|
|
601
|
+
intlMessage: messages.exportBasedOnMyViewsMessage
|
|
602
|
+
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
603
|
+
intlMessage: messages.myViews
|
|
604
|
+
}), jsxRuntime.jsx(uiKit.Constraints.Horizontal, {
|
|
605
|
+
max: themedValue(4, 7),
|
|
606
|
+
children: jsxRuntime.jsx(uiKit.SelectInput, {
|
|
607
|
+
isDisabled: true,
|
|
608
|
+
placeholder: "Default"
|
|
609
|
+
})
|
|
610
|
+
})]
|
|
611
|
+
});
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
function ownKeys$8(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
615
|
+
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$8(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$8(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
616
|
+
function renderFileNameError(key) {
|
|
617
|
+
switch (key) {
|
|
618
|
+
case 'missing':
|
|
619
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages.missingFileNameError));
|
|
620
|
+
case 'invalidInput':
|
|
621
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages.invalidFileNameError));
|
|
622
|
+
default:
|
|
623
|
+
return null;
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
function renderLanguageError(key) {
|
|
627
|
+
switch (key) {
|
|
628
|
+
case 'missing':
|
|
629
|
+
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$8({}, messages.missingLanguageError));
|
|
630
|
+
default:
|
|
631
|
+
return null;
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
function useExportResourcesContext() {
|
|
636
|
+
const context = React.useContext(ExportResourcesContext);
|
|
637
|
+
if (!context) {
|
|
638
|
+
throw new MissingExportResourceProviderError();
|
|
639
|
+
}
|
|
640
|
+
return context;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
async function createExportOperation(_ref) {
|
|
644
|
+
let projectKey = _ref.projectKey,
|
|
645
|
+
graphQuery = _ref.graphQuery,
|
|
646
|
+
asyncDispatchFn = _ref.asyncDispatchFn;
|
|
647
|
+
const uri = "/proxy/export/".concat(projectKey, "/export-operations");
|
|
648
|
+
const response = await asyncDispatchFn(sdk.actions.post({
|
|
649
|
+
// FIXME: EXPORT is undefined
|
|
650
|
+
mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
|
|
651
|
+
uri: uri,
|
|
652
|
+
headers: {
|
|
653
|
+
accept: 'application/json'
|
|
654
|
+
},
|
|
655
|
+
payload: {
|
|
656
|
+
query: graphQuery
|
|
657
|
+
}
|
|
658
|
+
}));
|
|
659
|
+
return response;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
function ownKeys$7(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
663
|
+
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$7(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$7(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
664
|
+
function ExportConfirmationModal(props) {
|
|
665
|
+
const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => {
|
|
666
|
+
var _applicationContext$p, _applicationContext$p2;
|
|
667
|
+
return {
|
|
668
|
+
projectName: (_applicationContext$p = applicationContext.project) === null || _applicationContext$p === void 0 ? void 0 : _applicationContext$p.name,
|
|
669
|
+
projectKey: (_applicationContext$p2 = applicationContext.project) === null || _applicationContext$p2 === void 0 ? void 0 : _applicationContext$p2.key
|
|
670
|
+
};
|
|
671
|
+
}),
|
|
672
|
+
projectName = _useApplicationContex.projectName,
|
|
673
|
+
projectKey = _useApplicationContex.projectKey;
|
|
674
|
+
const _useExportResourcesCo = useExportResourcesContext(),
|
|
675
|
+
formik = _useExportResourcesCo.formik,
|
|
676
|
+
allResourcesCount = _useExportResourcesCo.allResourcesCount,
|
|
677
|
+
matchingResourcesCount = _useExportResourcesCo.matchingResourcesCount,
|
|
678
|
+
selectedResourceIds = _useExportResourcesCo.selectedResourceIds,
|
|
679
|
+
resourceType = _useExportResourcesCo.resourceType,
|
|
680
|
+
setExportOperationStarted = _useExportResourcesCo.setExportOperationStarted;
|
|
681
|
+
const intl = reactIntl.useIntl();
|
|
682
|
+
const asyncDispatch = sdk.useAsyncDispatch();
|
|
683
|
+
const resourceTypePlural = resourceTypeToPlural({
|
|
684
|
+
resourceType: props.resourceType
|
|
685
|
+
});
|
|
686
|
+
const countInConfirmationMessage = () => {
|
|
687
|
+
switch (_valuesInstanceProperty__default["default"](formik).exportSelectionType) {
|
|
688
|
+
case EXPORT_SELECTION_TYPES.ALL_RESOURCES:
|
|
689
|
+
return allResourcesCount;
|
|
690
|
+
case EXPORT_SELECTION_TYPES.ONLY_MATCHING:
|
|
691
|
+
return matchingResourcesCount;
|
|
692
|
+
case EXPORT_SELECTION_TYPES.ONLY_SELECTED:
|
|
693
|
+
return selectedResourceIds.length;
|
|
694
|
+
default:
|
|
695
|
+
throw new UnexpectedSelectionTypeError(_valuesInstanceProperty__default["default"](formik).exportSelectionType);
|
|
696
|
+
}
|
|
697
|
+
};
|
|
698
|
+
return jsxRuntime.jsx(applicationComponents.ConfirmationDialog, {
|
|
699
|
+
dataAttributesPrimaryButton: {
|
|
700
|
+
'data-testid': 'confirm-export-button'
|
|
701
|
+
},
|
|
702
|
+
title: intl.formatMessage(messages.confirmationTitle, {
|
|
703
|
+
resourceType: resourceTypePlural
|
|
704
|
+
}),
|
|
705
|
+
labelPrimary: intl.formatMessage(messages.exportConfirmationLabel, {
|
|
706
|
+
resourceType: resourceTypePlural
|
|
707
|
+
}),
|
|
708
|
+
isOpen: props.isOpen,
|
|
709
|
+
onClose: props.closeModal,
|
|
710
|
+
onCancel: props.closeModal,
|
|
711
|
+
onConfirm: async () => {
|
|
712
|
+
setExportOperationStarted(false);
|
|
713
|
+
const graphQuery = buildGraphQuery({
|
|
714
|
+
resourceType: resourceType,
|
|
715
|
+
selectedResourceIds: selectedResourceIds,
|
|
716
|
+
fields: _valuesInstanceProperty__default["default"](formik).fields,
|
|
717
|
+
exportSelectionType: _valuesInstanceProperty__default["default"](formik).exportSelectionType,
|
|
718
|
+
languages: _valuesInstanceProperty__default["default"](formik).languages
|
|
719
|
+
});
|
|
720
|
+
props.closeModal();
|
|
721
|
+
try {
|
|
722
|
+
const response = await createExportOperation({
|
|
723
|
+
projectKey,
|
|
724
|
+
graphQuery,
|
|
725
|
+
asyncDispatchFn: asyncDispatch
|
|
726
|
+
});
|
|
727
|
+
switch (response.state) {
|
|
728
|
+
case EXPORT_OPERATION_STATES.PROCESSING:
|
|
729
|
+
case EXPORT_OPERATION_STATES.COMPLETED:
|
|
730
|
+
setExportOperationStarted(true);
|
|
731
|
+
break;
|
|
732
|
+
default:
|
|
733
|
+
throw new UnexpectedExportOperationStateError(response.state);
|
|
734
|
+
}
|
|
735
|
+
} catch (errors) {
|
|
736
|
+
actionsGlobal.showApiErrorNotification({
|
|
737
|
+
errors
|
|
738
|
+
});
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
children: jsxRuntime.jsxs("div", {
|
|
742
|
+
children: [jsxRuntime.jsx(uiKit.Text.Body, {
|
|
743
|
+
intlMessage: _objectSpread$7(_objectSpread$7({}, messages.confirmationBodyPlan), {}, {
|
|
744
|
+
values: {
|
|
745
|
+
resourceType: resourceTypePlural,
|
|
746
|
+
projectName: projectName,
|
|
747
|
+
count: countInConfirmationMessage(),
|
|
748
|
+
bold: getBold
|
|
749
|
+
}
|
|
750
|
+
})
|
|
751
|
+
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
752
|
+
intlMessage: messages.confirmationBodyQuestion
|
|
753
|
+
})]
|
|
754
|
+
})
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
ExportConfirmationModal.propTypes = {};
|
|
758
|
+
|
|
780
759
|
function ownKeys$6(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
781
760
|
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var _context3, _context4; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context3 = ownKeys$6(Object(source), !0)).call(_context3, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context4 = ownKeys$6(Object(source))).call(_context4, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
782
761
|
function normalizeFields(fields) {
|
|
@@ -825,29 +804,144 @@ function ExportFields(_ref2) {
|
|
|
825
804
|
fields: fields
|
|
826
805
|
})
|
|
827
806
|
});
|
|
828
|
-
return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
829
|
-
scale: "s",
|
|
830
|
-
children: [jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
831
|
-
scale: "s",
|
|
832
|
-
alignItems: "flex-start",
|
|
833
|
-
children: [jsxRuntime.jsx(uiKit.AngleRightIcon, {
|
|
834
|
-
"data-testid": "test-arrowRight",
|
|
835
|
-
size: "medium",
|
|
836
|
-
color: "neutral60"
|
|
837
|
-
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
838
|
-
isBold: true,
|
|
839
|
-
intlMessage: _objectSpread$6(_objectSpread$6({}, messages.columnsMessage), {}, {
|
|
807
|
+
return jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
808
|
+
scale: "s",
|
|
809
|
+
children: [jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
810
|
+
scale: "s",
|
|
811
|
+
alignItems: "flex-start",
|
|
812
|
+
children: [jsxRuntime.jsx(uiKit.AngleRightIcon, {
|
|
813
|
+
"data-testid": "test-arrowRight",
|
|
814
|
+
size: "medium",
|
|
815
|
+
color: "neutral60"
|
|
816
|
+
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
817
|
+
isBold: true,
|
|
818
|
+
intlMessage: _objectSpread$6(_objectSpread$6({}, messages.columnsMessage), {}, {
|
|
819
|
+
values: {
|
|
820
|
+
columnsCount: fields.length
|
|
821
|
+
}
|
|
822
|
+
})
|
|
823
|
+
})]
|
|
824
|
+
}), jsxRuntime.jsx(FieldsRenderer, {
|
|
825
|
+
fields: fields
|
|
826
|
+
})]
|
|
827
|
+
});
|
|
828
|
+
}
|
|
829
|
+
ExportFields.propTypes = {};
|
|
830
|
+
|
|
831
|
+
function ownKeys$5(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
832
|
+
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$5(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$5(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
833
|
+
function ExportSelectionRadioButtons() {
|
|
834
|
+
const _useTheme = designSystem.useTheme(),
|
|
835
|
+
isNewTheme = _useTheme.isNewTheme;
|
|
836
|
+
const intl = reactIntl.useIntl();
|
|
837
|
+
const _useExportResourcesCo = useExportResourcesContext(),
|
|
838
|
+
formik = _useExportResourcesCo.formik,
|
|
839
|
+
resourceType = _useExportResourcesCo.resourceType,
|
|
840
|
+
allResourcesCount = _useExportResourcesCo.allResourcesCount,
|
|
841
|
+
matchingResourcesCount = _useExportResourcesCo.matchingResourcesCount,
|
|
842
|
+
selectedResourceIds = _useExportResourcesCo.selectedResourceIds;
|
|
843
|
+
const resourceTypePlural = resourceTypeToPlural({
|
|
844
|
+
resourceType: resourceType
|
|
845
|
+
});
|
|
846
|
+
return jsxRuntime.jsx(uiKit.Spacings.Inline, {
|
|
847
|
+
scale: "xl",
|
|
848
|
+
children: jsxRuntime.jsxs(uiKit.RadioInput.Group, {
|
|
849
|
+
name: "exportSelectionType",
|
|
850
|
+
value: _valuesInstanceProperty__default["default"](formik).exportSelectionType,
|
|
851
|
+
direction: "inline",
|
|
852
|
+
directionProps: {
|
|
853
|
+
scale: 'xl'
|
|
854
|
+
},
|
|
855
|
+
onChange: formik.handleChange,
|
|
856
|
+
children: [jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
857
|
+
value: EXPORT_SELECTION_TYPES.ALL_RESOURCES,
|
|
858
|
+
"data-testid": 'test-all-resources',
|
|
859
|
+
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
860
|
+
isBold: !isNewTheme,
|
|
861
|
+
intlMessage: _objectSpread$5(_objectSpread$5({}, messages.exportAllResources), {}, {
|
|
862
|
+
values: {
|
|
863
|
+
resourceType: resourceTypePlural,
|
|
864
|
+
count: allResourcesCount
|
|
865
|
+
}
|
|
866
|
+
})
|
|
867
|
+
})
|
|
868
|
+
}), jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
869
|
+
value: EXPORT_SELECTION_TYPES.ONLY_MATCHING,
|
|
870
|
+
"data-testid": 'test-only-matching',
|
|
871
|
+
isDisabled: !Boolean(matchingResourcesCount),
|
|
872
|
+
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
873
|
+
isBold: !isNewTheme,
|
|
874
|
+
intlMessage: _objectSpread$5(_objectSpread$5({}, messages.exportOnlyMatchingResources), {}, {
|
|
875
|
+
values: {
|
|
876
|
+
count: matchingResourcesCount || intl.formatMessage(messages.nothingApplied)
|
|
877
|
+
}
|
|
878
|
+
})
|
|
879
|
+
})
|
|
880
|
+
}), jsxRuntime.jsx(uiKit.RadioInput.Option, {
|
|
881
|
+
value: EXPORT_SELECTION_TYPES.ONLY_SELECTED,
|
|
882
|
+
"data-testid": 'test-only-selected',
|
|
883
|
+
isDisabled: !Boolean(selectedResourceIds.length),
|
|
884
|
+
children: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
885
|
+
isBold: !isNewTheme,
|
|
886
|
+
intlMessage: _objectSpread$5(_objectSpread$5({}, messages.exportOnlySelectedResources), {}, {
|
|
887
|
+
values: {
|
|
888
|
+
resourceType: resourceTypePlural,
|
|
889
|
+
count: selectedResourceIds.length
|
|
890
|
+
}
|
|
891
|
+
})
|
|
892
|
+
})
|
|
893
|
+
})]
|
|
894
|
+
})
|
|
895
|
+
});
|
|
896
|
+
}
|
|
897
|
+
|
|
898
|
+
function ownKeys$4(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
899
|
+
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$4(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$4(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
900
|
+
function ExportTextMessage() {
|
|
901
|
+
const _useExportResourcesCo = useExportResourcesContext(),
|
|
902
|
+
resourceType = _useExportResourcesCo.resourceType,
|
|
903
|
+
allResourcesCount = _useExportResourcesCo.allResourcesCount,
|
|
904
|
+
selectedResourceIds = _useExportResourcesCo.selectedResourceIds,
|
|
905
|
+
matchingResourcesCount = _useExportResourcesCo.matchingResourcesCount,
|
|
906
|
+
formik = _useExportResourcesCo.formik;
|
|
907
|
+
const resourceTypePlural = resourceTypeToPlural({
|
|
908
|
+
resourceType: resourceType
|
|
909
|
+
});
|
|
910
|
+
switch (_valuesInstanceProperty__default["default"](formik).exportSelectionType) {
|
|
911
|
+
case EXPORT_SELECTION_TYPES.ALL_RESOURCES:
|
|
912
|
+
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
913
|
+
intlMessage: _objectSpread$4(_objectSpread$4({}, messages.exportAllMessage), {}, {
|
|
840
914
|
values: {
|
|
841
|
-
|
|
915
|
+
count: allResourcesCount,
|
|
916
|
+
resourceType: resourceTypePlural,
|
|
917
|
+
b: getBold
|
|
842
918
|
}
|
|
843
919
|
})
|
|
844
|
-
})
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
920
|
+
});
|
|
921
|
+
case EXPORT_SELECTION_TYPES.ONLY_MATCHING:
|
|
922
|
+
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
923
|
+
intlMessage: _objectSpread$4(_objectSpread$4({}, messages.exportMatchingMessage), {}, {
|
|
924
|
+
values: {
|
|
925
|
+
count: matchingResourcesCount,
|
|
926
|
+
resourceType: resourceTypePlural,
|
|
927
|
+
b: getBold
|
|
928
|
+
}
|
|
929
|
+
})
|
|
930
|
+
});
|
|
931
|
+
case EXPORT_SELECTION_TYPES.ONLY_SELECTED:
|
|
932
|
+
return jsxRuntime.jsx(uiKit.Text.Body, {
|
|
933
|
+
intlMessage: _objectSpread$4(_objectSpread$4({}, messages.exportSelectedMessage), {}, {
|
|
934
|
+
values: {
|
|
935
|
+
count: selectedResourceIds.length,
|
|
936
|
+
resourceType: resourceTypePlural,
|
|
937
|
+
b: getBold
|
|
938
|
+
}
|
|
939
|
+
})
|
|
940
|
+
});
|
|
941
|
+
default:
|
|
942
|
+
throw new UnexpectedSelectionTypeError(_valuesInstanceProperty__default["default"](formik).exportSelectionType);
|
|
943
|
+
}
|
|
849
944
|
}
|
|
850
|
-
ExportFields.propTypes = {};
|
|
851
945
|
|
|
852
946
|
const ExportSelection = () => {
|
|
853
947
|
const _useTheme = designSystem.useTheme(),
|
|
@@ -911,8 +1005,8 @@ const ExportSelection = () => {
|
|
|
911
1005
|
});
|
|
912
1006
|
};
|
|
913
1007
|
|
|
914
|
-
function ownKeys$
|
|
915
|
-
function _objectSpread$
|
|
1008
|
+
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1009
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
916
1010
|
const ExportProperties = props => {
|
|
917
1011
|
const _useTheme = designSystem.useTheme(),
|
|
918
1012
|
isNewTheme = _useTheme.isNewTheme;
|
|
@@ -929,36 +1023,15 @@ const ExportProperties = props => {
|
|
|
929
1023
|
return jsxRuntime.jsx(uiKit.CollapsiblePanel, {
|
|
930
1024
|
header: jsxRuntime.jsx(uiKit.Text.Body, {
|
|
931
1025
|
isBold: true,
|
|
932
|
-
intlMessage: _objectSpread$
|
|
1026
|
+
intlMessage: _objectSpread$3({}, messages.propertiesPanelLabel)
|
|
933
1027
|
}),
|
|
934
1028
|
children: props.renderProperties()
|
|
935
1029
|
});
|
|
936
1030
|
};
|
|
937
1031
|
ExportProperties.propTypes = {};
|
|
938
1032
|
|
|
939
|
-
function ownKeys$
|
|
940
|
-
function _objectSpread$
|
|
941
|
-
function renderFileNameError(key) {
|
|
942
|
-
switch (key) {
|
|
943
|
-
case 'missing':
|
|
944
|
-
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$4({}, messages.missingFileNameError));
|
|
945
|
-
case 'invalidInput':
|
|
946
|
-
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$4({}, messages.invalidFileNameError));
|
|
947
|
-
default:
|
|
948
|
-
return null;
|
|
949
|
-
}
|
|
950
|
-
}
|
|
951
|
-
function renderLanguageError(key) {
|
|
952
|
-
switch (key) {
|
|
953
|
-
case 'missing':
|
|
954
|
-
return jsxRuntime.jsx(reactIntl.FormattedMessage, _objectSpread$4({}, messages.missingLanguageError));
|
|
955
|
-
default:
|
|
956
|
-
return null;
|
|
957
|
-
}
|
|
958
|
-
}
|
|
959
|
-
|
|
960
|
-
function ownKeys$3(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
961
|
-
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$3(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$3(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1033
|
+
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1034
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
962
1035
|
const outputFormatOptions = [{
|
|
963
1036
|
value: OUTPUT_FORMATS.JSON,
|
|
964
1037
|
label: 'JSON'
|
|
@@ -992,12 +1065,12 @@ function ExportFileSettings(props) {
|
|
|
992
1065
|
children: [jsxRuntime.jsx(applicationComponents.PageContentNarrow, {
|
|
993
1066
|
children: jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
994
1067
|
scale: "xl",
|
|
995
|
-
children: [jsxRuntime.jsx(uiKit.SelectField, _objectSpread$
|
|
1068
|
+
children: [jsxRuntime.jsx(uiKit.SelectField, _objectSpread$2(_objectSpread$2({
|
|
996
1069
|
isDisabled: true
|
|
997
1070
|
}, formik.getFieldProps('outputFormat')), {}, {
|
|
998
1071
|
title: intl.formatMessage(messages.outputFormat),
|
|
999
1072
|
options: outputFormatOptions
|
|
1000
|
-
})), jsxRuntime.jsx(uiKit.TextField, _objectSpread$
|
|
1073
|
+
})), jsxRuntime.jsx(uiKit.TextField, _objectSpread$2(_objectSpread$2({
|
|
1001
1074
|
title: intl.formatMessage(messages.fileName)
|
|
1002
1075
|
}, formik.getFieldProps('fileName')), {}, {
|
|
1003
1076
|
touched: formik.touched.fileName,
|
|
@@ -1005,7 +1078,7 @@ function ExportFileSettings(props) {
|
|
|
1005
1078
|
renderError: renderFileNameError
|
|
1006
1079
|
})), jsxRuntime.jsxs(uiKit.Spacings.Stack, {
|
|
1007
1080
|
scale: "xs",
|
|
1008
|
-
children: [jsxRuntime.jsx(uiKit.SelectField, _objectSpread$
|
|
1081
|
+
children: [jsxRuntime.jsx(uiKit.SelectField, _objectSpread$2(_objectSpread$2({
|
|
1009
1082
|
id: "languages",
|
|
1010
1083
|
title: intl.formatMessage(messages.localLanguage),
|
|
1011
1084
|
options: mapLanguagesToOptions(languages),
|
|
@@ -1042,13 +1115,13 @@ function ExportFileSettings(props) {
|
|
|
1042
1115
|
scale: "l",
|
|
1043
1116
|
children: [jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
1044
1117
|
scale: "l",
|
|
1045
|
-
children: [jsxRuntime.jsx(uiKit.SelectField, _objectSpread$
|
|
1118
|
+
children: [jsxRuntime.jsx(uiKit.SelectField, _objectSpread$2(_objectSpread$2({
|
|
1046
1119
|
isDisabled: true
|
|
1047
1120
|
}, formik.getFieldProps('outputFormat')), {}, {
|
|
1048
1121
|
title: intl.formatMessage(messages.outputFormat),
|
|
1049
1122
|
options: outputFormatOptions,
|
|
1050
1123
|
horizontalConstraint: 7
|
|
1051
|
-
})), jsxRuntime.jsx(uiKit.TextField, _objectSpread$
|
|
1124
|
+
})), jsxRuntime.jsx(uiKit.TextField, _objectSpread$2(_objectSpread$2({
|
|
1052
1125
|
title: intl.formatMessage(messages.fileName)
|
|
1053
1126
|
}, formik.getFieldProps('fileName')), {}, {
|
|
1054
1127
|
touched: formik.touched.fileName,
|
|
@@ -1057,7 +1130,7 @@ function ExportFileSettings(props) {
|
|
|
1057
1130
|
horizontalConstraint: 7
|
|
1058
1131
|
}))]
|
|
1059
1132
|
}), jsxRuntime.jsx(uiKit.Spacings.Inline, {
|
|
1060
|
-
children: jsxRuntime.jsx(uiKit.SelectField, _objectSpread$
|
|
1133
|
+
children: jsxRuntime.jsx(uiKit.SelectField, _objectSpread$2(_objectSpread$2({
|
|
1061
1134
|
id: "languages",
|
|
1062
1135
|
title: jsxRuntime.jsxs(uiKit.Spacings.Inline, {
|
|
1063
1136
|
scale: "s",
|
|
@@ -1097,122 +1170,6 @@ function ExportFileSettings(props) {
|
|
|
1097
1170
|
ExportFileSettings.displayName = 'ExportFileSettings';
|
|
1098
1171
|
ExportFileSettings.propTypes = {};
|
|
1099
1172
|
|
|
1100
|
-
async function createExportOperation(_ref) {
|
|
1101
|
-
let projectKey = _ref.projectKey,
|
|
1102
|
-
graphQuery = _ref.graphQuery,
|
|
1103
|
-
asyncDispatchFn = _ref.asyncDispatchFn;
|
|
1104
|
-
const uri = "/proxy/export/".concat(projectKey, "/export-operations");
|
|
1105
|
-
const response = await asyncDispatchFn(sdk.actions.post({
|
|
1106
|
-
// FIXME: EXPORT is undefined
|
|
1107
|
-
mcApiProxyTarget: constants.MC_API_PROXY_TARGETS.EXPORT,
|
|
1108
|
-
uri: uri,
|
|
1109
|
-
headers: {
|
|
1110
|
-
accept: 'application/json'
|
|
1111
|
-
},
|
|
1112
|
-
payload: {
|
|
1113
|
-
query: graphQuery
|
|
1114
|
-
}
|
|
1115
|
-
}));
|
|
1116
|
-
return response;
|
|
1117
|
-
}
|
|
1118
|
-
|
|
1119
|
-
function ownKeys$2(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1120
|
-
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$2(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$2(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1121
|
-
function ExportConfirmationModal(props) {
|
|
1122
|
-
const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => {
|
|
1123
|
-
var _applicationContext$p, _applicationContext$p2;
|
|
1124
|
-
return {
|
|
1125
|
-
projectName: (_applicationContext$p = applicationContext.project) === null || _applicationContext$p === void 0 ? void 0 : _applicationContext$p.name,
|
|
1126
|
-
projectKey: (_applicationContext$p2 = applicationContext.project) === null || _applicationContext$p2 === void 0 ? void 0 : _applicationContext$p2.key
|
|
1127
|
-
};
|
|
1128
|
-
}),
|
|
1129
|
-
projectName = _useApplicationContex.projectName,
|
|
1130
|
-
projectKey = _useApplicationContex.projectKey;
|
|
1131
|
-
const _useExportResourcesCo = useExportResourcesContext(),
|
|
1132
|
-
formik = _useExportResourcesCo.formik,
|
|
1133
|
-
allResourcesCount = _useExportResourcesCo.allResourcesCount,
|
|
1134
|
-
matchingResourcesCount = _useExportResourcesCo.matchingResourcesCount,
|
|
1135
|
-
selectedResourceIds = _useExportResourcesCo.selectedResourceIds,
|
|
1136
|
-
resourceType = _useExportResourcesCo.resourceType,
|
|
1137
|
-
setExportOperationStarted = _useExportResourcesCo.setExportOperationStarted;
|
|
1138
|
-
const intl = reactIntl.useIntl();
|
|
1139
|
-
const asyncDispatch = sdk.useAsyncDispatch();
|
|
1140
|
-
const resourceTypePlural = resourceTypeToPlural({
|
|
1141
|
-
resourceType: props.resourceType
|
|
1142
|
-
});
|
|
1143
|
-
const countInConfirmationMessage = () => {
|
|
1144
|
-
switch (_valuesInstanceProperty__default["default"](formik).exportSelectionType) {
|
|
1145
|
-
case EXPORT_SELECTION_TYPES.ALL_RESOURCES:
|
|
1146
|
-
return allResourcesCount;
|
|
1147
|
-
case EXPORT_SELECTION_TYPES.ONLY_MATCHING:
|
|
1148
|
-
return matchingResourcesCount;
|
|
1149
|
-
case EXPORT_SELECTION_TYPES.ONLY_SELECTED:
|
|
1150
|
-
return selectedResourceIds.length;
|
|
1151
|
-
default:
|
|
1152
|
-
throw new UnexpectedSelectionTypeError(_valuesInstanceProperty__default["default"](formik).exportSelectionType);
|
|
1153
|
-
}
|
|
1154
|
-
};
|
|
1155
|
-
return jsxRuntime.jsx(applicationComponents.ConfirmationDialog, {
|
|
1156
|
-
dataAttributesPrimaryButton: {
|
|
1157
|
-
'data-testid': 'confirm-export-button'
|
|
1158
|
-
},
|
|
1159
|
-
title: intl.formatMessage(messages.confirmationTitle, {
|
|
1160
|
-
resourceType: resourceTypePlural
|
|
1161
|
-
}),
|
|
1162
|
-
labelPrimary: intl.formatMessage(messages.exportConfirmationLabel, {
|
|
1163
|
-
resourceType: resourceTypePlural
|
|
1164
|
-
}),
|
|
1165
|
-
isOpen: props.isOpen,
|
|
1166
|
-
onClose: props.closeModal,
|
|
1167
|
-
onCancel: props.closeModal,
|
|
1168
|
-
onConfirm: async () => {
|
|
1169
|
-
setExportOperationStarted(false);
|
|
1170
|
-
const graphQuery = buildGraphQuery({
|
|
1171
|
-
resourceType: resourceType,
|
|
1172
|
-
selectedResourceIds: selectedResourceIds,
|
|
1173
|
-
fields: _valuesInstanceProperty__default["default"](formik).fields,
|
|
1174
|
-
exportSelectionType: _valuesInstanceProperty__default["default"](formik).exportSelectionType,
|
|
1175
|
-
languages: _valuesInstanceProperty__default["default"](formik).languages
|
|
1176
|
-
});
|
|
1177
|
-
props.closeModal();
|
|
1178
|
-
try {
|
|
1179
|
-
const response = await createExportOperation({
|
|
1180
|
-
projectKey,
|
|
1181
|
-
graphQuery,
|
|
1182
|
-
asyncDispatchFn: asyncDispatch
|
|
1183
|
-
});
|
|
1184
|
-
switch (response.state) {
|
|
1185
|
-
case EXPORT_OPERATION_STATES.PROCESSING:
|
|
1186
|
-
case EXPORT_OPERATION_STATES.COMPLETED:
|
|
1187
|
-
setExportOperationStarted(true);
|
|
1188
|
-
break;
|
|
1189
|
-
default:
|
|
1190
|
-
throw new UnexpectedExportOperationStateError(response.state);
|
|
1191
|
-
}
|
|
1192
|
-
} catch (errors) {
|
|
1193
|
-
actionsGlobal.showApiErrorNotification({
|
|
1194
|
-
errors
|
|
1195
|
-
});
|
|
1196
|
-
}
|
|
1197
|
-
},
|
|
1198
|
-
children: jsxRuntime.jsxs("div", {
|
|
1199
|
-
children: [jsxRuntime.jsx(uiKit.Text.Body, {
|
|
1200
|
-
intlMessage: _objectSpread$2(_objectSpread$2({}, messages.confirmationBodyPlan), {}, {
|
|
1201
|
-
values: {
|
|
1202
|
-
resourceType: resourceTypePlural,
|
|
1203
|
-
projectName: projectName,
|
|
1204
|
-
count: countInConfirmationMessage(),
|
|
1205
|
-
bold: getBold
|
|
1206
|
-
}
|
|
1207
|
-
})
|
|
1208
|
-
}), jsxRuntime.jsx(uiKit.Text.Body, {
|
|
1209
|
-
intlMessage: messages.confirmationBodyQuestion
|
|
1210
|
-
})]
|
|
1211
|
-
})
|
|
1212
|
-
});
|
|
1213
|
-
}
|
|
1214
|
-
ExportConfirmationModal.propTypes = {};
|
|
1215
|
-
|
|
1216
1173
|
function ownKeys$1(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1217
1174
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys$1(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys$1(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
1218
1175
|
const getExportLogsLink = (projectKey, msg) => jsxRuntime.jsx(uiKit.Link, {
|
|
@@ -1247,6 +1204,76 @@ function ExportOperationSuccessMessage(_ref) {
|
|
|
1247
1204
|
}
|
|
1248
1205
|
ExportOperationSuccessMessage.propTypes = {};
|
|
1249
1206
|
|
|
1207
|
+
const ExportResourcesContext = /*#__PURE__*/React.createContext();
|
|
1208
|
+
|
|
1209
|
+
PropTypes__default["default"].shape({
|
|
1210
|
+
resourceType: PropTypes__default["default"].string.isRequired,
|
|
1211
|
+
outputFormat: PropTypes__default["default"].string,
|
|
1212
|
+
isOpen: PropTypes__default["default"].bool.isRequired,
|
|
1213
|
+
closeModal: PropTypes__default["default"].func.isRequired,
|
|
1214
|
+
allResourcesCount: PropTypes__default["default"].number.isRequired,
|
|
1215
|
+
matchingResourcesCount: PropTypes__default["default"].number,
|
|
1216
|
+
selectedResourceIds: PropTypes__default["default"].array,
|
|
1217
|
+
// TODO: Circular reference
|
|
1218
|
+
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
1219
|
+
key: PropTypes__default["default"].string.isRequired,
|
|
1220
|
+
label: PropTypes__default["default"].string,
|
|
1221
|
+
isLocalized: PropTypes__default["default"].bool,
|
|
1222
|
+
fields: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({
|
|
1223
|
+
key: PropTypes__default["default"].string.isRequired,
|
|
1224
|
+
label: PropTypes__default["default"].string,
|
|
1225
|
+
isLocalized: PropTypes__default["default"].bool
|
|
1226
|
+
}))
|
|
1227
|
+
})).isRequired,
|
|
1228
|
+
exportSelectionType: PropTypes__default["default"].string,
|
|
1229
|
+
appliedSearchTerms: PropTypes__default["default"].array,
|
|
1230
|
+
appliedFilters: PropTypes__default["default"].array,
|
|
1231
|
+
renderProperties: PropTypes__default["default"].func
|
|
1232
|
+
}).isRequired;
|
|
1233
|
+
|
|
1234
|
+
const ExportResourcesContextProvider = props => {
|
|
1235
|
+
var _context;
|
|
1236
|
+
const todayFormatted = moment__default["default"]().format('DD-MM-YY_HH-mm');
|
|
1237
|
+
const _useApplicationContex = applicationShellConnectors.useApplicationContext(applicationContext => ({
|
|
1238
|
+
language: applicationContext.dataLocale
|
|
1239
|
+
})),
|
|
1240
|
+
language = _useApplicationContex.language;
|
|
1241
|
+
const formik$1 = formik.useFormik({
|
|
1242
|
+
initialValues: {
|
|
1243
|
+
outputFormat: props.outputFormat,
|
|
1244
|
+
fileName: _concatInstanceProperty__default["default"](_context = "".concat(resourceTypeToPlural({
|
|
1245
|
+
resourceType: props.resourceType,
|
|
1246
|
+
isUpperCase: true
|
|
1247
|
+
}), "_Export_")).call(_context, todayFormatted),
|
|
1248
|
+
languages: [language],
|
|
1249
|
+
fields: props.fields,
|
|
1250
|
+
appliedSearchTerms: props.appliedSearchTerms,
|
|
1251
|
+
appliedFilters: props.appliedFilters,
|
|
1252
|
+
exportSelectionType: props.exportSelectionType,
|
|
1253
|
+
isAllLanguagesChecked: false
|
|
1254
|
+
},
|
|
1255
|
+
validate
|
|
1256
|
+
});
|
|
1257
|
+
const _React$useState = React__default["default"].useState(false),
|
|
1258
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
1259
|
+
exportOperationStarted = _React$useState2[0],
|
|
1260
|
+
setExportOperationStarted = _React$useState2[1];
|
|
1261
|
+
return jsxRuntime.jsx(ExportResourcesContext.Provider, {
|
|
1262
|
+
value: {
|
|
1263
|
+
formik: formik$1,
|
|
1264
|
+
resourceType: props.resourceType,
|
|
1265
|
+
allResourcesCount: props.allResourcesCount,
|
|
1266
|
+
matchingResourcesCount: props.matchingResourcesCount,
|
|
1267
|
+
selectedResourceIds: props.selectedResourceIds,
|
|
1268
|
+
exportOperationStarted,
|
|
1269
|
+
setExportOperationStarted
|
|
1270
|
+
},
|
|
1271
|
+
children: props.children
|
|
1272
|
+
});
|
|
1273
|
+
};
|
|
1274
|
+
ExportResourcesContextProvider.displayName = 'ExportResourcesContextProvider';
|
|
1275
|
+
ExportResourcesContextProvider.propTypes = {};
|
|
1276
|
+
|
|
1250
1277
|
const _excluded = ["renderProperties"];
|
|
1251
1278
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
1252
1279
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|