@crystaldesign/diva-backoffice 26.14.0-beta.14 → 26.14.0-beta.16

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.
Files changed (19) hide show
  1. package/build/esm/index.js +240 -315
  2. package/build/types/backoffice/src/tests/unit/ui/CommonComponents/publishedKeyChangeCheck.test.d.ts +2 -0
  3. package/build/types/backoffice/src/tests/unit/ui/CommonComponents/publishedKeyChangeCheck.test.d.ts.map +1 -0
  4. package/build/types/backoffice/src/tests/unit/ui/Form/formErrorText.test.d.ts +2 -0
  5. package/build/types/backoffice/src/tests/unit/ui/Form/formErrorText.test.d.ts.map +1 -0
  6. package/build/types/backoffice/src/ui/CommonComponents/SpreadsheetWrapper/index.d.ts.map +1 -1
  7. package/build/types/backoffice/src/ui/CommonComponents/SpreadsheetWrapper/{publishedKeyChangeReview.d.ts → publishedKeyChangeCheck.d.ts} +8 -15
  8. package/build/types/backoffice/src/ui/CommonComponents/SpreadsheetWrapper/publishedKeyChangeCheck.d.ts.map +1 -0
  9. package/build/types/backoffice/src/ui/CommonComponents/SpreadsheetWrapper/updateConfirmationReview.d.ts +9 -4
  10. package/build/types/backoffice/src/ui/CommonComponents/SpreadsheetWrapper/updateConfirmationReview.d.ts.map +1 -1
  11. package/build/types/backoffice/src/ui/Form/formErrorText.d.ts +12 -0
  12. package/build/types/backoffice/src/ui/Form/formErrorText.d.ts.map +1 -0
  13. package/build/types/backoffice/src/ui/Form/index.d.ts.map +1 -1
  14. package/build/types/backoffice/src/ui/IDMCatalogEditor/Tables/Features.d.ts.map +1 -1
  15. package/build/types/backoffice/src/ui/Table/BaseTable/index.d.ts.map +1 -1
  16. package/package.json +12 -12
  17. package/build/types/backoffice/src/tests/unit/ui/CommonComponents/publishedKeyChangeReview.test.d.ts +0 -2
  18. package/build/types/backoffice/src/tests/unit/ui/CommonComponents/publishedKeyChangeReview.test.d.ts.map +0 -1
  19. package/build/types/backoffice/src/ui/CommonComponents/SpreadsheetWrapper/publishedKeyChangeReview.d.ts.map +0 -1
@@ -24991,6 +24991,18 @@ function ItemSelector(_ref) {
24991
24991
  });
24992
24992
  }
24993
24993
 
24994
+ /**
24995
+ * The text a form configuration names for an error it expects (`onError`, keyed by the error code), or undefined for
24996
+ * any other error.
24997
+ *
24998
+ * @param error - What the save threw
24999
+ * @param onError - The form's texts by error code
25000
+ * @returns The text for the error, if the form names one
25001
+ */
25002
+ function formErrorText(error, onError) {
25003
+ return error instanceof DivaError ? onError === null || onError === void 0 ? void 0 : onError[error.name] : undefined;
25004
+ }
25005
+
24994
25006
  var LOG$o = getLogger('Backoffice', 'Form');
24995
25007
  function toNamePath$1(name) {
24996
25008
  if (name === undefined || name === '') return [];
@@ -25117,9 +25129,8 @@ var FormWrapper$1 = function FormWrapper(_ref, ref) {
25117
25129
  }();
25118
25130
  var onErrorInternal = function onErrorInternal(err, errorText) {
25119
25131
  if (err instanceof DivaError && err.name) {
25120
- var _state$configuration$;
25121
25132
  LOG$o.error(err);
25122
- var errorTranslation = (_state$configuration$ = state.configuration.onError) === null || _state$configuration$ === void 0 ? void 0 : _state$configuration$[err.name];
25133
+ var errorTranslation = formErrorText(err, state.configuration.onError);
25123
25134
  onError === null || onError === void 0 || onError(errorTranslation ? t(errorTranslation, {
25124
25135
  defaultValue: errorText
25125
25136
  }) : err.message, false);
@@ -32292,6 +32303,10 @@ function BulkAction(_ref8) {
32292
32303
  _useState12 = _slicedToArray(_useState11, 2),
32293
32304
  showPopover = _useState12[0],
32294
32305
  setShowPopover = _useState12[1];
32306
+ var _useState13 = useState(),
32307
+ _useState14 = _slicedToArray(_useState13, 2),
32308
+ failedEntryId = _useState14[0],
32309
+ setFailedEntryId = _useState14[1];
32295
32310
  var allowed = useMemo(function () {
32296
32311
  // if isValue is not set check if all fields have the same value, otherwise check if all fields have the given isValue
32297
32312
  if (!action.rule) return true;
@@ -32356,6 +32371,7 @@ function BulkAction(_ref8) {
32356
32371
  }, [selectedData, action]);
32357
32372
  var onClickError = function onClickError() {
32358
32373
  if (hasSelected && !allowed) {
32374
+ setFailedEntryId(undefined);
32359
32375
  setShowPopover(resolveText(action.errorText));
32360
32376
  return false;
32361
32377
  }
@@ -32367,27 +32383,28 @@ function BulkAction(_ref8) {
32367
32383
  var callback = /*#__PURE__*/function () {
32368
32384
  var _ref9 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee5(updatedData) {
32369
32385
  var _action$callback2;
32370
- var _action$callback, apiInterface, data, i, dataEntry;
32386
+ var _action$callback, apiInterface, data, requestId, i, dataEntry, _resolveText, form;
32371
32387
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
32372
32388
  while (1) switch (_context5.prev = _context5.next) {
32373
32389
  case 0:
32390
+ setFailedEntryId(undefined);
32374
32391
  if (!(action.actionType === 'Callback')) {
32375
- _context5.next = 3;
32392
+ _context5.next = 4;
32376
32393
  break;
32377
32394
  }
32378
32395
  (_action$callback = action.callback) === null || _action$callback === void 0 || _action$callback.call(action, selectedData);
32379
32396
  return _context5.abrupt("return");
32380
- case 3:
32397
+ case 4:
32381
32398
  apiInterface = new _default$c({
32382
32399
  apiInterface: action.apiInterface,
32383
32400
  type: 'Form'
32384
32401
  }, root);
32385
32402
  data = [];
32386
- _context5.prev = 5;
32403
+ _context5.prev = 6;
32387
32404
  i = 0;
32388
- case 7:
32405
+ case 8:
32389
32406
  if (!(i < selectedData.length)) {
32390
- _context5.next = 36;
32407
+ _context5.next = 40;
32391
32408
  break;
32392
32409
  }
32393
32410
  if (progressBar) {
@@ -32395,59 +32412,65 @@ function BulkAction(_ref8) {
32395
32412
  }
32396
32413
  dataEntry = selectedData[i];
32397
32414
  if (!apiInterface.canUpdate) {
32398
- _context5.next = 18;
32415
+ _context5.next = 20;
32399
32416
  break;
32400
32417
  }
32418
+ requestId = dataEntry._id;
32419
+ // if form/updatedData only contianed certain fields
32401
32420
  _context5.t0 = data;
32402
- _context5.next = 14;
32421
+ _context5.next = 16;
32403
32422
  return apiInterface.update(_objectSpread$26(_objectSpread$26({}, dataEntry), updatedData), dataEntry, action.apiCallbackMapping);
32404
- case 14:
32423
+ case 16:
32405
32424
  _context5.t1 = _context5.sent;
32406
32425
  _context5.t0.push.call(_context5.t0, _context5.t1);
32407
- _context5.next = 32;
32426
+ _context5.next = 36;
32408
32427
  break;
32409
- case 18:
32428
+ case 20:
32410
32429
  if (!apiInterface.canCreate) {
32411
- _context5.next = 26;
32430
+ _context5.next = 29;
32412
32431
  break;
32413
32432
  }
32433
+ requestId = dataEntry._id;
32414
32434
  _context5.t2 = data;
32415
- _context5.next = 22;
32435
+ _context5.next = 25;
32416
32436
  return apiInterface.create(dataEntry, updatedData);
32417
- case 22:
32437
+ case 25:
32418
32438
  _context5.t3 = _context5.sent;
32419
32439
  _context5.t2.push.call(_context5.t2, _context5.t3);
32420
- _context5.next = 32;
32440
+ _context5.next = 36;
32421
32441
  break;
32422
- case 26:
32442
+ case 29:
32423
32443
  if (!apiInterface.canDelete) {
32424
- _context5.next = 32;
32444
+ _context5.next = 36;
32425
32445
  break;
32426
32446
  }
32447
+ requestId = state.selected[i];
32427
32448
  _context5.t4 = data;
32428
- _context5.next = 30;
32449
+ _context5.next = 34;
32429
32450
  return apiInterface["delete"](state.selected[i], updatedData);
32430
- case 30:
32451
+ case 34:
32431
32452
  _context5.t5 = _context5.sent;
32432
32453
  _context5.t4.push.call(_context5.t4, _context5.t5);
32433
- case 32:
32454
+ case 36:
32434
32455
  if (progressBar) progressBar.setProgressBarPercentage(Math.floor(i / selectedData.length * 100));
32435
- case 33:
32456
+ case 37:
32436
32457
  i++;
32437
- _context5.next = 7;
32458
+ _context5.next = 8;
32438
32459
  break;
32439
- case 36:
32460
+ case 40:
32440
32461
  state.onUpdate(data);
32441
32462
  if (progressBar) {
32442
32463
  progressBar.setProgressBarPercentage(100);
32443
32464
  progressBar.setProgressBarOpen(false);
32444
32465
  progressBar.setProgressBarPercentage(0);
32445
32466
  }
32446
- _context5.next = 45;
32467
+ _context5.next = 52;
32447
32468
  break;
32448
- case 40:
32449
- _context5.prev = 40;
32450
- _context5.t6 = _context5["catch"](5);
32469
+ case 44:
32470
+ _context5.prev = 44;
32471
+ _context5.t6 = _context5["catch"](6);
32472
+ setFailedEntryId(requestId);
32473
+ if (data.length) state.onUpdate(data);
32451
32474
  if (progressBar) {
32452
32475
  progressBar.setProgressBarOpen(false);
32453
32476
  progressBar.setProgressBarPercentage(0);
@@ -32456,14 +32479,17 @@ function BulkAction(_ref8) {
32456
32479
  cause: _context5.t6,
32457
32480
  code: 'BACKO_0002'
32458
32481
  }));
32459
- setShowPopover(t('errorcodes._source.labels.error.BACKO_0002'));
32460
- case 45:
32482
+ // A form can name the text for an error it expects, e.g. a taken product slot (MEDIA_0011) when render jobs are
32483
+ // finished; any other error is a generic failure.
32484
+ form = action.actionType === 'Modal' && action.type === 'Form' && action.id ? root.configurationStore.getConfiguration(action.id, 'Form') : undefined;
32485
+ setShowPopover((_resolveText = resolveText(formErrorText(_context5.t6, form === null || form === void 0 ? void 0 : form.onError))) !== null && _resolveText !== void 0 ? _resolveText : t('errorcodes._source.labels.error.BACKO_0002'));
32486
+ case 52:
32461
32487
  (_action$callback2 = action.callback) === null || _action$callback2 === void 0 || _action$callback2.call(action, updatedData);
32462
- case 46:
32488
+ case 53:
32463
32489
  case "end":
32464
32490
  return _context5.stop();
32465
32491
  }
32466
- }, _callee5, null, [[5, 40]]);
32492
+ }, _callee5, null, [[6, 44]]);
32467
32493
  }));
32468
32494
  return function callback(_x2) {
32469
32495
  return _ref9.apply(this, arguments);
@@ -32479,6 +32505,8 @@ function BulkAction(_ref8) {
32479
32505
  style: {
32480
32506
  marginRight: 5
32481
32507
  }
32508
+ }), failedEntryId && /*#__PURE__*/jsx("div", {
32509
+ children: failedEntryId
32482
32510
  }), showPopover]
32483
32511
  }),
32484
32512
  open: !!showPopover,
@@ -38153,6 +38181,78 @@ function _isIdmCatalogPublished() {
38153
38181
  return _isIdmCatalogPublished.apply(this, arguments);
38154
38182
  }
38155
38183
 
38184
+ /** One update of a bulk request: the record id and the JSON patch the grid sends for it. */
38185
+
38186
+ /** A changed key of one update row: the column and its new value. */
38187
+
38188
+ /** The JSON patch path of a column field (`a.b` → `/a/b`). */
38189
+ var patchPath = function patchPath(field) {
38190
+ return "/".concat(field.split('.').join('/'));
38191
+ };
38192
+
38193
+ /** The keys an update row changes: a patch operation on a key column or below it. */
38194
+ var changedKeys = function changedKeys(row, keyFields) {
38195
+ return keyFields.flatMap(function (field) {
38196
+ var _row$patch;
38197
+ var path = patchPath(field);
38198
+ var operation = (_row$patch = row.patch) === null || _row$patch === void 0 ? void 0 : _row$patch.find(function (candidate) {
38199
+ return candidate.path === path || candidate.path.startsWith("".concat(path, "/"));
38200
+ });
38201
+ return operation ? [{
38202
+ field: field,
38203
+ value: operation.value
38204
+ }] : [];
38205
+ });
38206
+ };
38207
+
38208
+ /**
38209
+ * A key change in a published IDM catalog is asked before it is written: baskets and products saved with the old key
38210
+ * cannot find it any more, whether or not anything in the catalog still references it. The bulk request then asks the
38211
+ * server to refuse every key change (`confirmKeyChanges`), so the one in-use dialog shows the warning together with the
38212
+ * places, if any, and its confirmation writes the change.
38213
+ */
38214
+ function createPublishedKeyChangeCheck(deps) {
38215
+ return /*#__PURE__*/function () {
38216
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {
38217
+ var _request$update;
38218
+ var changesKey;
38219
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
38220
+ while (1) switch (_context.prev = _context.next) {
38221
+ case 0:
38222
+ changesKey = ((_request$update = request.update) !== null && _request$update !== void 0 ? _request$update : []).some(function (row) {
38223
+ return changedKeys(row, deps.keyFields).length > 0;
38224
+ });
38225
+ _context.t0 = !changesKey || deps.isAgentWrite();
38226
+ if (_context.t0) {
38227
+ _context.next = 6;
38228
+ break;
38229
+ }
38230
+ _context.next = 5;
38231
+ return deps.catalogPublished();
38232
+ case 5:
38233
+ _context.t0 = !_context.sent;
38234
+ case 6:
38235
+ if (!_context.t0) {
38236
+ _context.next = 8;
38237
+ break;
38238
+ }
38239
+ return _context.abrupt("return", undefined);
38240
+ case 8:
38241
+ return _context.abrupt("return", {
38242
+ confirmKeyChanges: 'true'
38243
+ });
38244
+ case 9:
38245
+ case "end":
38246
+ return _context.stop();
38247
+ }
38248
+ }, _callee);
38249
+ }));
38250
+ return function (_x) {
38251
+ return _ref.apply(this, arguments);
38252
+ };
38253
+ }();
38254
+ }
38255
+
38156
38256
  function ownKeys$1P(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
38157
38257
  function _objectSpread$1P(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1P(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1P(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
38158
38258
  /** The warning for a key change in a published catalog: baskets and products saved with the old key cannot find it any more. */
@@ -38165,10 +38265,10 @@ var publishedCatalogKeyChangeWarning = function publishedCatalogKeyChangeWarning
38165
38265
  /**
38166
38266
  * The change of a key other records address a record by (a feature number, an option key) while it is still used: the
38167
38267
  * server refuses it with `<ENTITY>_IN_USE` and the places, confirmed with `?updateReferences=true` it changes them too.
38168
- * Every table with the in-use review gets it; `catalogPublished` adds the warning for a published catalog, unless every
38169
- * refused row was confirmed with it before it was sent (`warnedBefore`).
38268
+ * Every table with the in-use review gets it. In a published catalog (`catalogPublished`) the server refuses every key
38269
+ * change, also an unused one (see `createPublishedKeyChangeCheck`), and this one dialog carries the warning.
38170
38270
  */
38171
- var referencedKeyChangeConfirmation = function referencedKeyChangeConfirmation(t, inUse, catalogPublished, warnedBefore) {
38271
+ var referencedKeyChangeConfirmation = function referencedKeyChangeConfirmation(t, inUse, catalogPublished) {
38172
38272
  var _inUse$usageTypeLabel;
38173
38273
  return {
38174
38274
  errorCode: /_IN_USE$/,
@@ -38186,44 +38286,36 @@ var referencedKeyChangeConfirmation = function referencedKeyChangeConfirmation(t
38186
38286
  question: t('backoffice.inUse.keyChange.question', {
38187
38287
  defaultValue: 'Die Änderung wird an allen diesen Stellen übernommen.'
38188
38288
  }),
38189
- warning: catalogPublished && (/*#__PURE__*/function () {
38190
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(rows) {
38191
- return _regeneratorRuntime.wrap(function _callee$(_context) {
38192
- while (1) switch (_context.prev = _context.next) {
38193
- case 0:
38194
- _context.t0 = !rows.every(function (row) {
38195
- return warnedBefore === null || warnedBefore === void 0 ? void 0 : warnedBefore(row);
38196
- });
38197
- if (!_context.t0) {
38198
- _context.next = 5;
38199
- break;
38200
- }
38201
- _context.next = 4;
38202
- return catalogPublished();
38203
- case 4:
38204
- _context.t0 = _context.sent;
38205
- case 5:
38206
- if (!_context.t0) {
38207
- _context.next = 9;
38208
- break;
38209
- }
38210
- _context.t1 = publishedCatalogKeyChangeWarning(t);
38211
- _context.next = 10;
38289
+ warning: catalogPublished && /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
38290
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
38291
+ while (1) switch (_context.prev = _context.next) {
38292
+ case 0:
38293
+ _context.next = 2;
38294
+ return catalogPublished();
38295
+ case 2:
38296
+ if (!_context.sent) {
38297
+ _context.next = 6;
38212
38298
  break;
38213
- case 9:
38214
- _context.t1 = undefined;
38215
- case 10:
38216
- return _context.abrupt("return", _context.t1);
38217
- case 11:
38218
- case "end":
38219
- return _context.stop();
38220
- }
38221
- }, _callee);
38222
- }));
38223
- return function (_x) {
38224
- return _ref.apply(this, arguments);
38225
- };
38226
- }()),
38299
+ }
38300
+ _context.t0 = publishedCatalogKeyChangeWarning(t);
38301
+ _context.next = 7;
38302
+ break;
38303
+ case 6:
38304
+ _context.t0 = undefined;
38305
+ case 7:
38306
+ return _context.abrupt("return", _context.t0);
38307
+ case 8:
38308
+ case "end":
38309
+ return _context.stop();
38310
+ }
38311
+ }, _callee);
38312
+ })),
38313
+ warningTitle: t('backoffice.inUse.keyChange.publishedTitle', {
38314
+ defaultValue: 'Schlüssel geändert'
38315
+ }),
38316
+ warningOkText: t('backoffice.inUse.keyChange.publishedConfirm', {
38317
+ defaultValue: 'Trotzdem ändern'
38318
+ }),
38227
38319
  okText: t('backoffice.inUse.keyChange.confirm', {
38228
38320
  defaultValue: 'Überall ändern'
38229
38321
  }),
@@ -38252,7 +38344,7 @@ function createUpdateConfirmationReview(deps) {
38252
38344
  return /*#__PURE__*/function () {
38253
38345
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(response, request) {
38254
38346
  var _response$errors$upda, _response$errors;
38255
- var updateErrors, matches, isRefused, refused, entries, refusedRows, agentWrite, placesOf, confirmed, _options$agentConfirm, _options$agentConfirm2, _options$warning, _options$agentHint, warning, _options$warning2, _warning, retryErrors, _retry$errors$update, _retry$errors, retry, ownErrors, text;
38347
+ var updateErrors, matches, isRefused, refused, entries, refusedRows, agentWrite, placesOf, confirmed, _options$agentConfirm, _options$agentConfirm2, _options$warning, _options$agentHint, warning, _options$warning2, _warning, used, retryErrors, _retry$errors$update, _retry$errors, retry, ownErrors, text;
38256
38348
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
38257
38349
  while (1) switch (_context2.prev = _context2.next) {
38258
38350
  case 0:
@@ -38271,12 +38363,14 @@ function createUpdateConfirmationReview(deps) {
38271
38363
  return _context2.abrupt("return", response);
38272
38364
  case 6:
38273
38365
  entries = refused.map(function (error) {
38274
- var _error$usages, _request$update$error, _request$update, _error$usageCount;
38366
+ var _error$usages, _request$update$error, _request$update, _deps$newKey, _request$update2, _error$usageCount;
38275
38367
  var usages = (_error$usages = error.usages) !== null && _error$usages !== void 0 ? _error$usages : [];
38276
38368
  var id = String((_request$update$error = request === null || request === void 0 || (_request$update = request.update) === null || _request$update === void 0 || (_request$update = _request$update[error.index]) === null || _request$update === void 0 ? void 0 : _request$update._id) !== null && _request$update$error !== void 0 ? _request$update$error : '');
38369
+ var name = deps.rowLabel(id, error.key);
38370
+ var newKey = (_deps$newKey = deps.newKey) === null || _deps$newKey === void 0 ? void 0 : _deps$newKey.call(deps, request === null || request === void 0 || (_request$update2 = request.update) === null || _request$update2 === void 0 ? void 0 : _request$update2[error.index]);
38277
38371
  return {
38278
38372
  error: error,
38279
- name: deps.rowLabel(id, error.key),
38373
+ name: newKey ? "".concat(name, " \u2192 ").concat(newKey) : name,
38280
38374
  count: (_error$usageCount = error.usageCount) !== null && _error$usageCount !== void 0 ? _error$usageCount : usages.length,
38281
38375
  usages: usages,
38282
38376
  places: usages.map(function (usage) {
@@ -38286,8 +38380,8 @@ function createUpdateConfirmationReview(deps) {
38286
38380
  };
38287
38381
  });
38288
38382
  refusedRows = refused.map(function (error) {
38289
- var _request$update2;
38290
- return request === null || request === void 0 || (_request$update2 = request.update) === null || _request$update2 === void 0 ? void 0 : _request$update2[error.index];
38383
+ var _request$update3;
38384
+ return request === null || request === void 0 || (_request$update3 = request.update) === null || _request$update3 === void 0 ? void 0 : _request$update3[error.index];
38291
38385
  });
38292
38386
  agentWrite = deps.agentWrite();
38293
38387
  placesOf = function placesOf(entry) {
@@ -38309,19 +38403,33 @@ function createUpdateConfirmationReview(deps) {
38309
38403
  warning = _context2.sent;
38310
38404
  agentWrite.notes.push("Not changed: ".concat(entries.map(placesOf).join('; '), ". ").concat((_options$agentHint = options.agentHint) !== null && _options$agentHint !== void 0 ? _options$agentHint : 'Only the user can confirm this change, in the table: report the places to them.').concat(warning ? " Tell the user this warning together with the places, before they agree: \"".concat(warning, "\"") : ''));
38311
38405
  case 18:
38312
- _context2.next = 26;
38406
+ _context2.next = 27;
38313
38407
  break;
38314
38408
  case 20:
38315
38409
  _context2.next = 22;
38316
38410
  return (_options$warning2 = options.warning) === null || _options$warning2 === void 0 ? void 0 : _options$warning2.call(options, refusedRows);
38317
38411
  case 22:
38318
38412
  _warning = _context2.sent;
38319
- _context2.next = 25;
38413
+ // A key change nothing references is refused only to show the warning: it has no places to list
38414
+ used = entries.filter(function (entry) {
38415
+ return entry.count > 0;
38416
+ });
38417
+ _context2.next = 26;
38320
38418
  return modal.confirm({
38321
- title: options.title,
38419
+ title: _warning && options.warningTitle || options.title,
38322
38420
  width: 560,
38323
38421
  content: /*#__PURE__*/jsxs(Fragment, {
38324
- children: [entries.map(function (entry) {
38422
+ children: [_warning && /*#__PURE__*/jsx("p", {
38423
+ children: _warning
38424
+ }), entries.filter(function (entry) {
38425
+ return entry.count === 0;
38426
+ }).map(function (entry) {
38427
+ return /*#__PURE__*/jsx("div", {
38428
+ children: /*#__PURE__*/jsx("strong", {
38429
+ children: entry.name
38430
+ })
38431
+ }, entry.name);
38432
+ }), used.map(function (entry) {
38325
38433
  return /*#__PURE__*/jsxs("div", {
38326
38434
  children: [/*#__PURE__*/jsx("strong", {
38327
38435
  children: options.entry(entry.name, entry.count)
@@ -38343,31 +38451,29 @@ function createUpdateConfirmationReview(deps) {
38343
38451
  })]
38344
38452
  })]
38345
38453
  }, entry.name);
38346
- }), /*#__PURE__*/jsx("p", {
38454
+ }), used.length > 0 && /*#__PURE__*/jsx("p", {
38347
38455
  children: options.question
38348
- }), _warning && /*#__PURE__*/jsx("p", {
38349
- children: _warning
38350
38456
  })]
38351
38457
  }),
38352
- okText: options.okText,
38458
+ okText: _warning && options.warningOkText || options.okText,
38353
38459
  cancelText: t('backoffice.inUse.cancel', {
38354
38460
  defaultValue: 'Abbrechen'
38355
38461
  })
38356
38462
  });
38357
- case 25:
38358
- confirmed = _context2.sent;
38359
38463
  case 26:
38464
+ confirmed = _context2.sent;
38465
+ case 27:
38360
38466
  retryErrors = new Map();
38361
38467
  if (!confirmed) {
38362
- _context2.next = 41;
38468
+ _context2.next = 42;
38363
38469
  break;
38364
38470
  }
38365
- _context2.prev = 28;
38366
- _context2.next = 31;
38471
+ _context2.prev = 29;
38472
+ _context2.next = 32;
38367
38473
  return deps.sendConfirmed(refused.map(function (error) {
38368
38474
  return request.update[error.index];
38369
38475
  }));
38370
- case 31:
38476
+ case 32:
38371
38477
  retry = _context2.sent;
38372
38478
  ownErrors = (_retry$errors$update = retry === null || retry === void 0 || (_retry$errors = retry.errors) === null || _retry$errors === void 0 ? void 0 : _retry$errors.update) !== null && _retry$errors$update !== void 0 ? _retry$errors$update : [];
38373
38479
  refused.forEach(function (error, i) {
@@ -38387,11 +38493,11 @@ function createUpdateConfirmationReview(deps) {
38387
38493
  })
38388
38494
  });
38389
38495
  });
38390
- _context2.next = 40;
38496
+ _context2.next = 41;
38391
38497
  break;
38392
- case 36:
38393
- _context2.prev = 36;
38394
- _context2.t0 = _context2["catch"](28);
38498
+ case 37:
38499
+ _context2.prev = 37;
38500
+ _context2.t0 = _context2["catch"](29);
38395
38501
  text = _context2.t0 instanceof Error ? _context2.t0.message : String(_context2.t0);
38396
38502
  refused.forEach(function (error) {
38397
38503
  return retryErrors.set(error, {
@@ -38400,14 +38506,14 @@ function createUpdateConfirmationReview(deps) {
38400
38506
  error: text
38401
38507
  });
38402
38508
  });
38403
- case 40:
38509
+ case 41:
38404
38510
  // The agent hears what the confirmed retry did, not what it asked for
38405
38511
  entries.forEach(function (entry) {
38406
38512
  var _retryError$error;
38407
38513
  var retryError = retryErrors.get(entry.error);
38408
38514
  agentWrite === null || agentWrite === void 0 || agentWrite.notes.push(retryError ? "Not changed: ".concat(placesOf(entry), " - ").concat((_retryError$error = retryError.error) !== null && _retryError$error !== void 0 ? _retryError$error : "status ".concat(retryError.statusCode), ".") : "Changed together with every place that uses it: ".concat(placesOf(entry), "."));
38409
38515
  });
38410
- case 41:
38516
+ case 42:
38411
38517
  return _context2.abrupt("return", _objectSpread$1P(_objectSpread$1P({}, response), {}, {
38412
38518
  errors: _objectSpread$1P(_objectSpread$1P({}, response.errors), {}, {
38413
38519
  update: updateErrors.map(function (error) {
@@ -38423,13 +38529,13 @@ function createUpdateConfirmationReview(deps) {
38423
38529
  })
38424
38530
  })
38425
38531
  }));
38426
- case 42:
38532
+ case 43:
38427
38533
  case "end":
38428
38534
  return _context2.stop();
38429
38535
  }
38430
- }, _callee2, null, [[28, 36]]);
38536
+ }, _callee2, null, [[29, 37]]);
38431
38537
  }));
38432
- return function (_x2, _x3) {
38538
+ return function (_x, _x2) {
38433
38539
  return _ref2.apply(this, arguments);
38434
38540
  };
38435
38541
  }();
@@ -38484,152 +38590,12 @@ function createConfirmedUpdater(params) {
38484
38590
  }
38485
38591
  }, _callee3);
38486
38592
  }));
38487
- return function (_x4) {
38593
+ return function (_x3) {
38488
38594
  return _ref4.apply(this, arguments);
38489
38595
  };
38490
38596
  }();
38491
38597
  }
38492
38598
 
38493
- /** A field of a row by its dotted path. */
38494
- var valueAt = function valueAt(data, field) {
38495
- return field.split('.').reduce(function (value, key) {
38496
- return value === null || value === void 0 ? void 0 : value[key];
38497
- }, data);
38498
- };
38499
- /** The JSON patch path of a column field (`a.b` → `/a/b`). */
38500
- var patchPath = function patchPath(field) {
38501
- return "/".concat(field.split('.').join('/'));
38502
- };
38503
-
38504
- /** The keys an update row changes: a patch operation on a key column or below it. */
38505
- var changedKeys = function changedKeys(row, keyFields) {
38506
- return keyFields.flatMap(function (field) {
38507
- var _row$patch;
38508
- var path = patchPath(field);
38509
- var operation = (_row$patch = row.patch) === null || _row$patch === void 0 ? void 0 : _row$patch.find(function (candidate) {
38510
- return candidate.path === path || candidate.path.startsWith("".concat(path, "/"));
38511
- });
38512
- return operation ? [{
38513
- field: field,
38514
- value: operation.value
38515
- }] : [];
38516
- });
38517
- };
38518
-
38519
- /** Identifies an update row across a retry, which prepares the same patch anew. */
38520
- var rowSignature = function rowSignature(row) {
38521
- var _row$_id, _row$patch2;
38522
- return "".concat((_row$_id = row._id) !== null && _row$_id !== void 0 ? _row$_id : '', "|").concat(JSON.stringify((_row$patch2 = row.patch) !== null && _row$patch2 !== void 0 ? _row$patch2 : []));
38523
- };
38524
-
38525
- /**
38526
- * A key change in a published IDM catalog is asked before it is sent: baskets and products saved with the old key cannot
38527
- * find it any more, whether or not anything in the catalog still references it. Returns the bulk request review (the
38528
- * positions the user did not confirm, held back) and whether an update row was confirmed with that warning already, so
38529
- * the in-use dialog that may follow does not ask about it twice.
38530
- */
38531
- function createPublishedKeyChangeReview(deps) {
38532
- var confirmed = new Set();
38533
-
38534
- /** `originals`: the grid's data of each update row before the edit, at the positions of `request.update`. */
38535
- var review = /*#__PURE__*/function () {
38536
- var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {
38537
- var _request$update;
38538
- var originals,
38539
- keyRows,
38540
- ok,
38541
- _args = arguments;
38542
- return _regeneratorRuntime.wrap(function _callee$(_context) {
38543
- while (1) switch (_context.prev = _context.next) {
38544
- case 0:
38545
- originals = _args.length > 1 && _args[1] !== undefined ? _args[1] : [];
38546
- keyRows = ((_request$update = request.update) !== null && _request$update !== void 0 ? _request$update : []).map(function (row, index) {
38547
- return {
38548
- row: row,
38549
- index: index,
38550
- keys: changedKeys(row, deps.keyFields)
38551
- };
38552
- }).filter(function (entry) {
38553
- return entry.keys.length && !confirmed.has(rowSignature(entry.row));
38554
- });
38555
- _context.t0 = !keyRows.length || deps.isAgentWrite();
38556
- if (_context.t0) {
38557
- _context.next = 7;
38558
- break;
38559
- }
38560
- _context.next = 6;
38561
- return deps.catalogPublished();
38562
- case 6:
38563
- _context.t0 = !_context.sent;
38564
- case 7:
38565
- if (!_context.t0) {
38566
- _context.next = 9;
38567
- break;
38568
- }
38569
- return _context.abrupt("return", []);
38570
- case 9:
38571
- _context.next = 11;
38572
- return deps.modal.confirm({
38573
- title: deps.t('backoffice.inUse.keyChange.publishedTitle', {
38574
- defaultValue: 'Schlüssel geändert'
38575
- }),
38576
- width: 560,
38577
- content: /*#__PURE__*/jsxs(Fragment, {
38578
- children: [/*#__PURE__*/jsx("p", {
38579
- children: publishedCatalogKeyChangeWarning(deps.t)
38580
- }), /*#__PURE__*/jsx("ul", {
38581
- children: keyRows.map(function (_ref2) {
38582
- var row = _ref2.row,
38583
- index = _ref2.index,
38584
- keys = _ref2.keys;
38585
- return /*#__PURE__*/jsx("li", {
38586
- children: keys.map(function (key) {
38587
- var _ref3, _valueAt, _key$value;
38588
- return "".concat(String((_ref3 = (_valueAt = valueAt(originals[index], key.field)) !== null && _valueAt !== void 0 ? _valueAt : row._id) !== null && _ref3 !== void 0 ? _ref3 : ''), " \u2192 ").concat(String((_key$value = key.value) !== null && _key$value !== void 0 ? _key$value : ''));
38589
- }).join(', ')
38590
- }, index);
38591
- })
38592
- })]
38593
- }),
38594
- okText: deps.t('backoffice.inUse.keyChange.publishedConfirm', {
38595
- defaultValue: 'Trotzdem ändern'
38596
- }),
38597
- cancelText: deps.t('backoffice.inUse.cancel', {
38598
- defaultValue: 'Abbrechen'
38599
- })
38600
- });
38601
- case 11:
38602
- ok = _context.sent;
38603
- if (ok) {
38604
- _context.next = 14;
38605
- break;
38606
- }
38607
- return _context.abrupt("return", keyRows.map(function (entry) {
38608
- return entry.index;
38609
- }));
38610
- case 14:
38611
- keyRows.forEach(function (entry) {
38612
- return confirmed.add(rowSignature(entry.row));
38613
- });
38614
- return _context.abrupt("return", []);
38615
- case 16:
38616
- case "end":
38617
- return _context.stop();
38618
- }
38619
- }, _callee);
38620
- }));
38621
- return function review(_x) {
38622
- return _ref.apply(this, arguments);
38623
- };
38624
- }();
38625
- return {
38626
- review: review,
38627
- wasConfirmed: function wasConfirmed(row) {
38628
- return confirmed.has(rowSignature(row));
38629
- }
38630
- };
38631
- }
38632
-
38633
38599
  var _excluded$d = ["toolbarToolId", "agentBoundParent"];
38634
38600
  function _createForOfIteratorHelper$K(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$K(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
38635
38601
  function _unsupportedIterableToArray$K(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$K(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$K(r, a) : void 0; } }
@@ -38644,7 +38610,7 @@ function _objectSpread$1O(e) { for (var r = 1; r < arguments.length; r++) { var
38644
38610
  * @returns JSX element representing the spreadsheet wrapper
38645
38611
  */
38646
38612
  var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_ref, ref) {
38647
- var _props$configuration$, _props$configuration, _props$configuration2, _props$applicationDat, _props$configuration3, _props$configuration$2, _props$configuration4, _publishedKeyChangeRe, _props$configuration$3, _read$list, _ref2, _props$configuration$4, _props$configuration5, _props$configuration6, _root$contentStore$bo, _root$contentStore$ri;
38613
+ var _props$configuration$, _props$configuration, _props$configuration2, _props$applicationDat, _props$configuration3, _props$configuration$2, _props$configuration4, _props$configuration$3, _read$list, _ref2, _props$configuration$4, _props$configuration5, _props$configuration6, _root$contentStore$bo, _root$contentStore$ri;
38648
38614
  var toolbarToolId = _ref.toolbarToolId,
38649
38615
  agentBoundParent = _ref.agentBoundParent,
38650
38616
  props = _objectWithoutProperties(_ref, _excluded$d);
@@ -38716,7 +38682,7 @@ var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_re
38716
38682
  // An IDM catalog table: a key change there can break the baskets and products of a published catalog
38717
38683
  var catalogIdRef = useRef();
38718
38684
  catalogIdRef.current = typeof ((_props$applicationDat = props.applicationData) === null || _props$applicationDat === void 0 ? void 0 : _props$applicationDat.catalogId) === 'string' ? props.applicationData.catalogId : undefined;
38719
- var _catalogPublished = function catalogPublished() {
38685
+ var catalogPublished = function catalogPublished() {
38720
38686
  var catalogId = catalogIdRef.current;
38721
38687
  if (!catalogId) return Promise.resolve(false);
38722
38688
  return isIdmCatalogPublished({
@@ -38729,24 +38695,20 @@ var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_re
38729
38695
  }
38730
38696
  });
38731
38697
  };
38732
- // A key change in a published catalog is asked before it is sent; the review keeps what was confirmed, so it lives as long as the table
38698
+ // A key change in a published catalog is refused by the server until confirmed, also an unused one
38733
38699
  var keyFields = (_props$configuration3 = props.configuration) === null || _props$configuration3 === void 0 ? void 0 : _props$configuration3.keyFields;
38734
38700
  var publishedKeyChangeRef = useRef();
38735
- if (keyFields !== null && keyFields !== void 0 && keyFields.length && !publishedKeyChangeRef.current) publishedKeyChangeRef.current = createPublishedKeyChangeReview({
38701
+ if (keyFields !== null && keyFields !== void 0 && keyFields.length && !publishedKeyChangeRef.current) publishedKeyChangeRef.current = createPublishedKeyChangeCheck({
38736
38702
  keyFields: keyFields,
38737
- catalogPublished: function catalogPublished() {
38738
- return catalogIdRef.current ? _catalogPublished() : Promise.resolve(false);
38739
- },
38703
+ catalogPublished: catalogPublished,
38740
38704
  isAgentWrite: function isAgentWrite() {
38741
38705
  return !!root.gridRegistry.agentWriteTo(handleRef.current);
38742
- },
38743
- t: t,
38744
- modal: modal
38706
+ }
38745
38707
  });
38746
38708
  var updateConfirmationRef = useRef([]);
38747
38709
  var bulkTemplate = removeTemplates === null || removeTemplates === void 0 ? void 0 : removeTemplates.bulk;
38748
38710
  // the table's own confirmations first: the in-use one answers only the rows they left
38749
- var updateConfirmations = [].concat(_toConsumableArray([(_props$configuration$2 = (_props$configuration4 = props.configuration) === null || _props$configuration4 === void 0 ? void 0 : _props$configuration4.updateConfirmation) !== null && _props$configuration$2 !== void 0 ? _props$configuration$2 : []].flat()), _toConsumableArray(inUseOption ? [referencedKeyChangeConfirmation(t, inUseOption === true ? undefined : inUseOption, catalogIdRef.current ? _catalogPublished : undefined, (_publishedKeyChangeRe = publishedKeyChangeRef.current) === null || _publishedKeyChangeRe === void 0 ? void 0 : _publishedKeyChangeRe.wasConfirmed)] : []));
38711
+ var updateConfirmations = [].concat(_toConsumableArray([(_props$configuration$2 = (_props$configuration4 = props.configuration) === null || _props$configuration4 === void 0 ? void 0 : _props$configuration4.updateConfirmation) !== null && _props$configuration$2 !== void 0 ? _props$configuration$2 : []].flat()), _toConsumableArray(inUseOption ? [referencedKeyChangeConfirmation(t, inUseOption === true ? undefined : inUseOption, catalogIdRef.current ? catalogPublished : undefined)] : []));
38750
38712
  updateConfirmationRef.current = updateConfirmations.length && bulkTemplate ? updateConfirmations.map(function (options) {
38751
38713
  return createUpdateConfirmationReview({
38752
38714
  options: options,
@@ -38758,6 +38720,12 @@ var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_re
38758
38720
  rowLabel: function rowLabel(id, key) {
38759
38721
  return key !== null && key !== void 0 ? key : id;
38760
38722
  },
38723
+ newKey: function newKey(row) {
38724
+ return changedKeys(row, keyFields !== null && keyFields !== void 0 ? keyFields : []).map(function (change) {
38725
+ var _change$value;
38726
+ return String((_change$value = change.value) !== null && _change$value !== void 0 ? _change$value : '');
38727
+ }).join(', ') || undefined;
38728
+ },
38761
38729
  sendConfirmed: createConfirmedUpdater({
38762
38730
  bulk: bulkTemplate,
38763
38731
  confirmParam: options.confirmParam,
@@ -38775,78 +38743,34 @@ var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_re
38775
38743
  if (!(viewConfiguration !== null && viewConfiguration !== void 0 && viewConfiguration.inUseReview) && !(viewConfiguration !== null && viewConfiguration !== void 0 && viewConfiguration.updateConfirmation) && !(viewConfiguration !== null && viewConfiguration !== void 0 && (_viewConfiguration$ke = viewConfiguration.keyFields) !== null && _viewConfiguration$ke !== void 0 && _viewConfiguration$ke.length) || !('apiInterface' in viewConfiguration)) return viewConfiguration;
38776
38744
  if (!((_viewConfiguration$ap = viewConfiguration.apiInterface) !== null && _viewConfiguration$ap !== void 0 && _viewConfiguration$ap.bulk) && !((_viewConfiguration$ap2 = viewConfiguration.apiInterface) !== null && _viewConfiguration$ap2 !== void 0 && _viewConfiguration$ap2["delete"])) return viewConfiguration;
38777
38745
  var ownReview = viewConfiguration.apiInterface.reviewBulkResponse;
38778
- var ownRequestReview = viewConfiguration.apiInterface.reviewBulkRequest;
38779
38746
  return _objectSpread$1O(_objectSpread$1O({}, viewConfiguration), {}, {
38780
38747
  apiInterface: _objectSpread$1O(_objectSpread$1O({}, viewConfiguration.apiInterface), {}, {
38781
- reviewBulkRequest: function () {
38782
- var _reviewBulkRequest = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request, originals) {
38783
- var _yield$ownRequestRevi, _request$update;
38784
- var heldBack, keyChanges, asked;
38748
+ bulkQueryParams: function () {
38749
+ var _bulkQueryParams = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(request) {
38750
+ var _viewConfiguration$ap3, _viewConfiguration$ap4, _publishedKeyChangeRe;
38751
+ var ownParams, keyChangeParams;
38785
38752
  return _regeneratorRuntime.wrap(function _callee$(_context) {
38786
38753
  while (1) switch (_context.prev = _context.next) {
38787
38754
  case 0:
38788
- if (!ownRequestReview) {
38789
- _context.next = 15;
38790
- break;
38791
- }
38792
- _context.next = 3;
38793
- return ownRequestReview(request, originals);
38794
- case 3:
38795
- _context.t2 = _yield$ownRequestRevi = _context.sent;
38796
- _context.t1 = _context.t2 !== null;
38797
- if (!_context.t1) {
38798
- _context.next = 7;
38799
- break;
38800
- }
38801
- _context.t1 = _yield$ownRequestRevi !== void 0;
38755
+ _context.next = 2;
38756
+ return (_viewConfiguration$ap3 = (_viewConfiguration$ap4 = viewConfiguration.apiInterface).bulkQueryParams) === null || _viewConfiguration$ap3 === void 0 ? void 0 : _viewConfiguration$ap3.call(_viewConfiguration$ap4, request);
38757
+ case 2:
38758
+ ownParams = _context.sent;
38759
+ _context.next = 5;
38760
+ return (_publishedKeyChangeRe = publishedKeyChangeRef.current) === null || _publishedKeyChangeRe === void 0 ? void 0 : _publishedKeyChangeRe.call(publishedKeyChangeRef, request);
38761
+ case 5:
38762
+ keyChangeParams = _context.sent;
38763
+ return _context.abrupt("return", ownParams || keyChangeParams ? _objectSpread$1O(_objectSpread$1O({}, ownParams), keyChangeParams) : undefined);
38802
38764
  case 7:
38803
- if (!_context.t1) {
38804
- _context.next = 11;
38805
- break;
38806
- }
38807
- _context.t3 = _yield$ownRequestRevi;
38808
- _context.next = 12;
38809
- break;
38810
- case 11:
38811
- _context.t3 = [];
38812
- case 12:
38813
- _context.t0 = _context.t3;
38814
- _context.next = 16;
38815
- break;
38816
- case 15:
38817
- _context.t0 = [];
38818
- case 16:
38819
- heldBack = _context.t0;
38820
- keyChanges = publishedKeyChangeRef.current; // a row the table's own review held back already is not asked about
38821
- if (!keyChanges) {
38822
- _context.next = 24;
38823
- break;
38824
- }
38825
- _context.next = 21;
38826
- return keyChanges.review(_objectSpread$1O(_objectSpread$1O({}, request), {}, {
38827
- update: (_request$update = request.update) === null || _request$update === void 0 ? void 0 : _request$update.map(function (row, index) {
38828
- return heldBack.includes(index) ? {} : row;
38829
- })
38830
- }), originals);
38831
- case 21:
38832
- _context.t4 = _context.sent;
38833
- _context.next = 25;
38834
- break;
38835
- case 24:
38836
- _context.t4 = [];
38837
- case 25:
38838
- asked = _context.t4;
38839
- return _context.abrupt("return", [].concat(_toConsumableArray(heldBack), _toConsumableArray(asked)));
38840
- case 27:
38841
38765
  case "end":
38842
38766
  return _context.stop();
38843
38767
  }
38844
38768
  }, _callee);
38845
38769
  }));
38846
- function reviewBulkRequest(_x, _x2) {
38847
- return _reviewBulkRequest.apply(this, arguments);
38770
+ function bulkQueryParams(_x) {
38771
+ return _bulkQueryParams.apply(this, arguments);
38848
38772
  }
38849
- return reviewBulkRequest;
38773
+ return bulkQueryParams;
38850
38774
  }(),
38851
38775
  reviewBulkResponse: function () {
38852
38776
  var _reviewBulkResponse = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(response, request) {
@@ -38903,7 +38827,7 @@ var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_re
38903
38827
  }
38904
38828
  }, _callee2, null, [[9, 20, 23, 26]]);
38905
38829
  }));
38906
- function reviewBulkResponse(_x3, _x4) {
38830
+ function reviewBulkResponse(_x2, _x3) {
38907
38831
  return _reviewBulkResponse.apply(this, arguments);
38908
38832
  }
38909
38833
  return reviewBulkResponse;
@@ -38952,7 +38876,7 @@ var SpreadsheetWrapper = /*#__PURE__*/forwardRef(function SpreadsheetWrapper(_re
38952
38876
  return boundParentRef.current;
38953
38877
  }
38954
38878
  } : {}), {}, {
38955
- catalogPublished: _catalogPublished,
38879
+ catalogPublished: catalogPublished,
38956
38880
  keyFields: (_props$configuration7 = props.configuration) === null || _props$configuration7 === void 0 ? void 0 : _props$configuration7.keyFields,
38957
38881
  requestAgentApproval: function requestAgentApproval(changeCount, actionLabel, signal) {
38958
38882
  return new Promise(function (resolve) {
@@ -67739,6 +67663,7 @@ var Features$2 = /*#__PURE__*/forwardRef(function Features(_ref, ref) {
67739
67663
  cellDataType: 'lookup',
67740
67664
  customParams: {
67741
67665
  nameField: 'featureText',
67666
+ keepExistingName: true,
67742
67667
  filterCellType: 'number',
67743
67668
  displayLabelTemplate: '${value}',
67744
67669
  lookupLabelTemplate: '${name} (${value})',
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=publishedKeyChangeCheck.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishedKeyChangeCheck.test.d.ts","sourceRoot":"","sources":["../../../../../../../../src/tests/unit/ui/CommonComponents/publishedKeyChangeCheck.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formErrorText.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formErrorText.test.d.ts","sourceRoot":"","sources":["../../../../../../../../src/tests/unit/ui/Form/formErrorText.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/CommonComponents/SpreadsheetWrapper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAe,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAwE,MAAM,OAAO,CAAC;AAK7F,OAAO,EAAkD,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAIL,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AAGpC,gHAAgH;AAEhH,MAAM,MAAM,sBAAsB,CAAC,KAAK,GAAG,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG;IACvE,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wGAAwG;IACxG,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,EAAE,CAAC;IAC7E;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;;mBAGe,sBAAsB;IACrC,0FAA0F;oBAC1E,MAAM;IACtB,kGAAkG;uBAC/E,gBAAgB;;AAySrC,wBAA4C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/CommonComponents/SpreadsheetWrapper/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAe,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,KAAwE,MAAM,OAAO,CAAC;AAK7F,OAAO,EAAkD,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzG,OAAO,EAIL,yBAAyB,EAC1B,MAAM,4BAA4B,CAAC;AAGpC,gHAAgH;AAEhH,MAAM,MAAM,sBAAsB,CAAC,KAAK,GAAG,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,GAAG;IACvE,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wGAAwG;IACxG,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,kBAAkB,CAAC;IAC3C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,yBAAyB,EAAE,CAAC;IAC7E;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC;;mBAGe,sBAAsB;IACrC,0FAA0F;oBAC1E,MAAM;IACtB,kGAAkG;uBAC/E,gBAAgB;;AA+RrC,wBAA4C"}
@@ -1,5 +1,3 @@
1
- import type { TFunction } from 'i18next';
2
- import type { HookAPI } from 'antd/es/modal/useModal';
3
1
  /** One update of a bulk request: the record id and the JSON patch the grid sends for it. */
4
2
  interface UpdateRow {
5
3
  _id?: string;
@@ -20,22 +18,17 @@ interface PublishedKeyChangeDeps {
20
18
  catalogPublished: () => Promise<boolean>;
21
19
  /** Set while the agent writes: its approval bar (or the auto-approve hold) has warned already. */
22
20
  isAgentWrite: () => boolean;
23
- t: TFunction;
24
- modal: HookAPI;
25
21
  }
26
22
  /** The keys an update row changes: a patch operation on a key column or below it. */
27
23
  export declare const changedKeys: (row: UpdateRow, keyFields: string[]) => KeyChange[];
28
24
  /**
29
- * A key change in a published IDM catalog is asked before it is sent: baskets and products saved with the old key cannot
30
- * find it any more, whether or not anything in the catalog still references it. Returns the bulk request review (the
31
- * positions the user did not confirm, held back) and whether an update row was confirmed with that warning already, so
32
- * the in-use dialog that may follow does not ask about it twice.
25
+ * A key change in a published IDM catalog is asked before it is written: baskets and products saved with the old key
26
+ * cannot find it any more, whether or not anything in the catalog still references it. The bulk request then asks the
27
+ * server to refuse every key change (`confirmKeyChanges`), so the one in-use dialog shows the warning together with the
28
+ * places, if any, and its confirmation writes the change.
33
29
  */
34
- export declare function createPublishedKeyChangeReview(deps: PublishedKeyChangeDeps): {
35
- review: (request: {
36
- update?: UpdateRow[];
37
- }, originals?: unknown[]) => Promise<number[]>;
38
- wasConfirmed: (row: UpdateRow) => boolean;
39
- };
30
+ export declare function createPublishedKeyChangeCheck(deps: PublishedKeyChangeDeps): (request: {
31
+ update?: UpdateRow[];
32
+ }) => Promise<Record<string, string> | undefined>;
40
33
  export {};
41
- //# sourceMappingURL=publishedKeyChangeReview.d.ts.map
34
+ //# sourceMappingURL=publishedKeyChangeCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"publishedKeyChangeCheck.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/CommonComponents/SpreadsheetWrapper/publishedKeyChangeCheck.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CACzD;AAED,qEAAqE;AACrE,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,UAAU,sBAAsB;IAC9B,iHAAiH;IACjH,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,kGAAkG;IAClG,YAAY,EAAE,MAAM,OAAO,CAAC;CAC7B;AAKD,qFAAqF;AACrF,eAAO,MAAM,WAAW,QAAS,SAAS,aAAa,MAAM,EAAE,KAAG,SAAS,EAKvE,CAAC;AAEL;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,sBAAsB,aACjD;IAAE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC,CAK9F"}
@@ -17,8 +17,11 @@ export interface UpdateConfirmationOptions {
17
17
  entry: (name: string, count: number) => string;
18
18
  /** What confirming does, under the places. */
19
19
  question: string;
20
- /** A warning under the question for the refused update rows, looked up when the dialog opens; none when it resolves to nothing. */
20
+ /** A warning for the refused update rows, looked up when the dialog opens; none when it resolves to nothing. */
21
21
  warning?: (rows: unknown[]) => Promise<string | undefined>;
22
+ /** Title and confirm button while the warning shows; default: `title` and `okText`. */
23
+ warningTitle?: string;
24
+ warningOkText?: string;
22
25
  okText: string;
23
26
  /** Groups the places under a heading per kind; without it they are one list. */
24
27
  usageTypeLabel?: (type: string) => string;
@@ -34,10 +37,10 @@ export declare const publishedCatalogKeyChangeWarning: (t: TFunction) => string;
34
37
  /**
35
38
  * The change of a key other records address a record by (a feature number, an option key) while it is still used: the
36
39
  * server refuses it with `<ENTITY>_IN_USE` and the places, confirmed with `?updateReferences=true` it changes them too.
37
- * Every table with the in-use review gets it; `catalogPublished` adds the warning for a published catalog, unless every
38
- * refused row was confirmed with it before it was sent (`warnedBefore`).
40
+ * Every table with the in-use review gets it. In a published catalog (`catalogPublished`) the server refuses every key
41
+ * change, also an unused one (see `createPublishedKeyChangeCheck`), and this one dialog carries the warning.
39
42
  */
40
- export declare const referencedKeyChangeConfirmation: (t: TFunction, inUse?: InUseReviewOptions, catalogPublished?: () => Promise<boolean>, warnedBefore?: (row: any) => boolean) => UpdateConfirmationOptions;
43
+ export declare const referencedKeyChangeConfirmation: (t: TFunction, inUse?: InUseReviewOptions, catalogPublished?: () => Promise<boolean>) => UpdateConfirmationOptions;
41
44
  export interface UpdateConfirmationDeps {
42
45
  options: UpdateConfirmationOptions;
43
46
  t: TFunction;
@@ -46,6 +49,8 @@ export interface UpdateConfirmationDeps {
46
49
  agentWrite: () => AgentWriteScope | undefined;
47
50
  /** The record's name: by its id, else the key the server names it by. */
48
51
  rowLabel: (id: string, key?: string) => string;
52
+ /** The new key an update row sets, shown after the record's name; none when the row changes no key. */
53
+ newKey?: (row: unknown) => string | undefined;
49
54
  /** Sends updates (`{ _id, patch }`) again, confirmed; answers in the bulk shape. */
50
55
  sendConfirmed: (updates: unknown[]) => Promise<any>;
51
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updateConfirmationReview.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/CommonComponents/SpreadsheetWrapper/updateConfirmationReview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAyB,kBAAkB,EAAE,UAAU,EAAgC,MAAM,qBAAqB,CAAC;AAG1H;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,mIAAmI;IACnI,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC;IAC3C,2GAA2G;IAC3G,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC;IACzD,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gIAAgI;AAChI,eAAO,MAAM,gCAAgC,MAAO,SAAS,WAIzD,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,MACvC,SAAS,UACJ,kBAAkB,qBACP,MAAM,OAAO,CAAC,OAAO,CAAC,iBAC1B,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,KACnC,yBAeD,CAAC;AAoBH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,yBAAyB,CAAC;IACnC,CAAC,EAAE,SAAS,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,oFAAoF;IACpF,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,sBAAsB,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAoH1H;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,GAAG,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAmBvC"}
1
+ {"version":3,"file":"updateConfirmationReview.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/CommonComponents/SpreadsheetWrapper/updateConfirmationReview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAyB,kBAAkB,EAAE,UAAU,EAAgC,MAAM,qBAAqB,CAAC;AAG1H;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,gHAAgH;IAChH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC3D,uFAAuF;IACvF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC;IAC3C,2GAA2G;IAC3G,aAAa,CAAC,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,OAAO,CAAC;IACzD,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gIAAgI;AAChI,eAAO,MAAM,gCAAgC,MAAO,SAAS,WAIzD,CAAC;AAEL;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,MACvC,SAAS,UACJ,kBAAkB,qBACP,MAAM,OAAO,CAAC,OAAO,CAAC,KACxC,yBAeD,CAAC;AAoBH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,yBAAyB,CAAC;IACnC,CAAC,EAAE,SAAS,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,UAAU,EAAE,MAAM,eAAe,GAAG,SAAS,CAAC;IAC9C,yEAAyE;IACzE,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,uGAAuG;IACvG,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,GAAG,SAAS,CAAC;IAC9C,oFAAoF;IACpF,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CACrD;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,sBAAsB,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CA+H1H;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CAAC,MAAM,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,GAAG,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC/B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAmBvC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * The text a form configuration names for an error it expects (`onError`, keyed by the error code), or undefined for
3
+ * any other error.
4
+ *
5
+ * @param error - What the save threw
6
+ * @param onError - The form's texts by error code
7
+ * @returns The text for the error, if the form names one
8
+ */
9
+ export declare function formErrorText(error: unknown, onError?: {
10
+ [code: string]: string;
11
+ }): string | undefined;
12
+ //# sourceMappingURL=formErrorText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formErrorText.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Form/formErrorText.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,MAAM,GAAG,SAAS,CAEtG"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Form/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAiB,YAAY,EAAgC,MAAM,MAAM,CAAC;AAGjF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAe5C,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,qIAAqI;IACrI,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiWD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAG1C;;YAjV0B,MAAM,IAAI;cAAY,MAAM,GAAG;;YAA/B,MAAM,IAAI;cAAY,MAAM,GAAG;;AAmV1D,wBAAuD;AAEvD,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Form/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAEjF,OAAO,EAAiB,YAAY,EAAgC,MAAM,MAAM,CAAC;AAGjF,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAgB5C,MAAM,WAAW,KAAK;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,qIAAqI;IACrI,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiWD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,OAG1C;;YAjV0B,MAAM,IAAI;cAAY,MAAM,GAAG;;YAA/B,MAAM,IAAI;cAAY,MAAM,GAAG;;AAmV1D,wBAAuD;AAEvD,cAAc,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/IDMCatalogEditor/Tables/Features.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,SAAS,EAA+B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAkBvC,QAAA,MAAM,QAAQ;oBAGM,MAAM;qBACL,WAAW;eACjB,SAAS;YACZ,oBAAoB,CAAC,GAAG,CAAC;6CAkUnC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Features.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/IDMCatalogEditor/Tables/Features.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAIhF,OAAO,EAAE,SAAS,EAA+B,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAkBvC,QAAA,MAAM,QAAQ;oBAGM,MAAM;qBACL,WAAW;eACjB,SAAS;YACZ,oBAAoB,CAAC,GAAG,CAAC;6CAmUnC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/Table/BaseTable/index.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAwB,MAAM,UAAU,CAAC;AAgCvD,eAAO,MAAM,UAAU,mDAAoB,CAAC;AAwB5C,UAAU,KAAK,CAAC,CAAC;IACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CACjB;0BAEqB,CAAC,SAAS,MAAM,aAAa,KAAK,CAAC,CAAC,CAAC;;;AAsY3D,wBAAsC;AACtC,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/Table/BaseTable/index.tsx"],"names":[],"mappings":"AAoBA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,EAAE,KAAK,EAAwB,MAAM,UAAU,CAAC;AAkCvD,eAAO,MAAM,UAAU,mDAAoB,CAAC;AAwB5C,UAAU,KAAK,CAAC,CAAC;IACf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;CACjB;0BAEqB,CAAC,SAAS,MAAM,aAAa,KAAK,CAAC,CAAC,CAAC;;;AAqY3D,wBAAsC;AACtC,cAAc,UAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crystaldesign/diva-backoffice",
3
- "version": "26.14.0-beta.14",
3
+ "version": "26.14.0-beta.16",
4
4
  "description": "Ant Design backoffice shell (configuration modules), the Diva Data Engine component hosting the IDM and enricher editors, and the Produkt Onboarding component hosting the Assortment Manager.",
5
5
  "license": "COMMERCIAL",
6
6
  "devDependencies": {
@@ -16,16 +16,16 @@
16
16
  "dependencies": {
17
17
  "@ant-design/icons": "6.3.4",
18
18
  "@babel/runtime": "7.24.7",
19
- "@crystaldesign/classification": "26.14.0-beta.14",
20
- "@crystaldesign/content-box": "26.14.0-beta.14",
21
- "@crystaldesign/content-item": "26.14.0-beta.14",
22
- "@crystaldesign/diva-agent": "26.14.0-beta.14",
23
- "@crystaldesign/diva-core": "26.14.0-beta.14",
24
- "@crystaldesign/diva-utils": "26.14.0-beta.14",
25
- "@crystaldesign/mass-configurator": "26.14.0-beta.14",
26
- "@crystaldesign/media-upload": "26.14.0-beta.14",
27
- "@crystaldesign/rtf-editor": "26.14.0-beta.14",
28
- "@crystaldesign/spreadsheet": "26.14.0-beta.14",
19
+ "@crystaldesign/classification": "26.14.0-beta.16",
20
+ "@crystaldesign/content-box": "26.14.0-beta.16",
21
+ "@crystaldesign/content-item": "26.14.0-beta.16",
22
+ "@crystaldesign/diva-agent": "26.14.0-beta.16",
23
+ "@crystaldesign/diva-core": "26.14.0-beta.16",
24
+ "@crystaldesign/diva-utils": "26.14.0-beta.16",
25
+ "@crystaldesign/mass-configurator": "26.14.0-beta.16",
26
+ "@crystaldesign/media-upload": "26.14.0-beta.16",
27
+ "@crystaldesign/rtf-editor": "26.14.0-beta.16",
28
+ "@crystaldesign/spreadsheet": "26.14.0-beta.16",
29
29
  "@dnd-kit/core": "^6.1.0",
30
30
  "@dnd-kit/sortable": "^8.0.0",
31
31
  "@dnd-kit/utilities": "^3.2.2",
@@ -62,5 +62,5 @@
62
62
  "suiteName": "diva-backoffice",
63
63
  "outputDirectory": "./test-reports"
64
64
  },
65
- "gitHead": "08fc1d00210b682a40b407973c80ba3782f051e6"
65
+ "gitHead": "11c0bdb7e9f25e64b2fea6acd824925b879d20f5"
66
66
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=publishedKeyChangeReview.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publishedKeyChangeReview.test.d.ts","sourceRoot":"","sources":["../../../../../../../../src/tests/unit/ui/CommonComponents/publishedKeyChangeReview.test.tsx"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"publishedKeyChangeReview.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/CommonComponents/SpreadsheetWrapper/publishedKeyChangeReview.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,4FAA4F;AAC5F,UAAU,SAAS;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CACzD;AAED,qEAAqE;AACrE,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD,UAAU,sBAAsB;IAC9B,iHAAiH;IACjH,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,kGAAkG;IAClG,YAAY,EAAE,MAAM,OAAO,CAAC;IAC5B,CAAC,EAAE,SAAS,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD,qFAAqF;AACrF,eAAO,MAAM,WAAW,QAAS,SAAS,aAAa,MAAM,EAAE,KAAG,SAAS,EAKvE,CAAC;AAKL;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,sBAAsB;sBAI1C;QAAE,MAAM,CAAC,EAAE,SAAS,EAAE,CAAA;KAAE,cAAa,OAAO,EAAE,KAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;wBA6BjE,SAAS;EAC/C"}