@wix/bex-core 1.449.0 → 1.451.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/cjs/assets/locale/messages_cs.json +1 -0
  2. package/dist/cjs/assets/locale/messages_da.json +3 -2
  3. package/dist/cjs/assets/locale/messages_de.json +3 -2
  4. package/dist/cjs/assets/locale/messages_en.json +3 -2
  5. package/dist/cjs/assets/locale/messages_es.json +1 -0
  6. package/dist/cjs/assets/locale/messages_fr.json +1 -0
  7. package/dist/cjs/assets/locale/messages_hi.json +1 -0
  8. package/dist/cjs/assets/locale/messages_id.json +1 -0
  9. package/dist/cjs/assets/locale/messages_it.json +1 -0
  10. package/dist/cjs/assets/locale/messages_ja.json +1 -0
  11. package/dist/cjs/assets/locale/messages_ko.json +1 -0
  12. package/dist/cjs/assets/locale/messages_nl.json +2 -1
  13. package/dist/cjs/assets/locale/messages_no.json +1 -0
  14. package/dist/cjs/assets/locale/messages_pl.json +1 -0
  15. package/dist/cjs/assets/locale/messages_pt.json +1 -0
  16. package/dist/cjs/assets/locale/messages_ru.json +1 -0
  17. package/dist/cjs/assets/locale/messages_sv.json +1 -0
  18. package/dist/cjs/assets/locale/messages_th.json +1 -0
  19. package/dist/cjs/assets/locale/messages_tr.json +3 -2
  20. package/dist/cjs/assets/locale/messages_uk.json +1 -0
  21. package/dist/cjs/assets/locale/messages_vi.json +1 -0
  22. package/dist/cjs/assets/locale/messages_visuale2e.json +3 -0
  23. package/dist/cjs/assets/locale/messages_zh.json +1 -0
  24. package/dist/cjs/services/navigationManager.js +17 -4
  25. package/dist/cjs/services/navigationManager.js.map +1 -1
  26. package/dist/cjs/services/translations.js.map +1 -1
  27. package/dist/cjs/state/AppsState.js +100 -0
  28. package/dist/cjs/state/AppsState.js.map +1 -0
  29. package/dist/cjs/state/CustomFieldsViewWidgetState.js +34 -1
  30. package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
  31. package/dist/cjs/state/DataExtensionState.js +14 -7
  32. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  33. package/dist/cjs/testkit/CairoContainer.driver.js +11 -10
  34. package/dist/cjs/testkit/CairoContainer.driver.js.map +1 -1
  35. package/dist/esm/assets/locale/messages_cs.json +1 -0
  36. package/dist/esm/assets/locale/messages_da.json +3 -2
  37. package/dist/esm/assets/locale/messages_de.json +3 -2
  38. package/dist/esm/assets/locale/messages_en.json +3 -2
  39. package/dist/esm/assets/locale/messages_es.json +1 -0
  40. package/dist/esm/assets/locale/messages_fr.json +1 -0
  41. package/dist/esm/assets/locale/messages_hi.json +1 -0
  42. package/dist/esm/assets/locale/messages_id.json +1 -0
  43. package/dist/esm/assets/locale/messages_it.json +1 -0
  44. package/dist/esm/assets/locale/messages_ja.json +1 -0
  45. package/dist/esm/assets/locale/messages_ko.json +1 -0
  46. package/dist/esm/assets/locale/messages_nl.json +2 -1
  47. package/dist/esm/assets/locale/messages_no.json +1 -0
  48. package/dist/esm/assets/locale/messages_pl.json +1 -0
  49. package/dist/esm/assets/locale/messages_pt.json +1 -0
  50. package/dist/esm/assets/locale/messages_ru.json +1 -0
  51. package/dist/esm/assets/locale/messages_sv.json +1 -0
  52. package/dist/esm/assets/locale/messages_th.json +1 -0
  53. package/dist/esm/assets/locale/messages_tr.json +3 -2
  54. package/dist/esm/assets/locale/messages_uk.json +1 -0
  55. package/dist/esm/assets/locale/messages_vi.json +1 -0
  56. package/dist/esm/assets/locale/messages_visuale2e.json +3 -0
  57. package/dist/esm/assets/locale/messages_zh.json +1 -0
  58. package/dist/esm/services/navigationManager.js +15 -4
  59. package/dist/esm/services/navigationManager.js.map +1 -1
  60. package/dist/esm/state/AppsState.js +89 -0
  61. package/dist/esm/state/AppsState.js.map +1 -0
  62. package/dist/esm/state/CustomFieldsViewWidgetState.js +36 -1
  63. package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
  64. package/dist/esm/state/DataExtensionState.js +17 -10
  65. package/dist/esm/state/DataExtensionState.js.map +1 -1
  66. package/dist/esm/testkit/CairoContainer.driver.js +12 -11
  67. package/dist/esm/testkit/CairoContainer.driver.js.map +1 -1
  68. package/dist/types/services/navigationManager.d.ts +12 -6
  69. package/dist/types/services/navigationManager.d.ts.map +1 -1
  70. package/dist/types/services/translations.d.ts +1 -1
  71. package/dist/types/services/translations.d.ts.map +1 -1
  72. package/dist/types/state/AppsState.d.ts +20 -0
  73. package/dist/types/state/AppsState.d.ts.map +1 -0
  74. package/dist/types/state/CustomFieldsViewWidgetState.d.ts +6 -0
  75. package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
  76. package/dist/types/state/DataExtensionState.d.ts +2 -0
  77. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  78. package/dist/types/testkit/CairoContainer.driver.d.ts +1 -1
  79. package/dist/types/testkit/CairoContainer.driver.d.ts.map +1 -1
  80. package/package.json +3 -3
@@ -8,6 +8,7 @@ var _TaskState = require("./TaskState");
8
8
  var _DataExtensionState = require("./DataExtensionState");
9
9
  var _services = require("../services");
10
10
  var _v = require("@wix/bex-utils/@wix/bi-logger-cairo-os/v2");
11
+ var _AppsState = require("./AppsState");
11
12
  class CustomFieldsViewWidgetState {
12
13
  constructor({
13
14
  container,
@@ -16,10 +17,12 @@ class CustomFieldsViewWidgetState {
16
17
  }) {
17
18
  (0, _defineProperty2.default)(this, "container", void 0);
18
19
  (0, _defineProperty2.default)(this, "dataExtension", void 0);
20
+ (0, _defineProperty2.default)(this, "apps", void 0);
19
21
  (0, _defineProperty2.default)(this, "initTask", new _TaskState.TaskState());
20
22
  (0, _defineProperty2.default)(this, "reportBi", void 0);
21
23
  (0, _defineProperty2.default)(this, "startTime", performance.now());
22
24
  (0, _defineProperty2.default)(this, "url", void 0);
25
+ (0, _defineProperty2.default)(this, "userFieldsNamespace", void 0);
23
26
  this.container = container;
24
27
  this.url = url;
25
28
  this.reportBi = container.createBILogger({
@@ -31,6 +34,10 @@ class CustomFieldsViewWidgetState {
31
34
  fqdn,
32
35
  reportBi: this.reportBi
33
36
  });
37
+ this.userFieldsNamespace = this.dataExtension.dataExtensionService.userFieldsNamespace;
38
+ this.apps = new _AppsState.AppsState({
39
+ container
40
+ });
34
41
  this.reportBi((0, _v.loadStart)({
35
42
  url: this.url
36
43
  }));
@@ -40,7 +47,7 @@ class CustomFieldsViewWidgetState {
40
47
  initTask
41
48
  } = this;
42
49
  initTask.runOnce(async () => {
43
- var _this$dataExtension$i;
50
+ var _this$dataExtension$i, _this$apps$initTask$s;
44
51
  this.dataExtension.init();
45
52
  await ((_this$dataExtension$i = this.dataExtension.initTask.status.promise) == null ? void 0 : _this$dataExtension$i.catch(err => {
46
53
  const cairoError = new _services.WixPatternsError({
@@ -55,6 +62,10 @@ class CustomFieldsViewWidgetState {
55
62
  }));
56
63
  throw cairoError;
57
64
  }));
65
+ const appIds = (this.dataExtension.appSchemas || []).map(schema => schema.appDefId).filter(Boolean);
66
+ this.apps.init(appIds);
67
+ // Wait for the apps names to be loaded, but not fail the whole init if it fails
68
+ await ((_this$apps$initTask$s = this.apps.initTask.status.promise) == null ? void 0 : _this$apps$initTask$s.catch(() => {}));
58
69
  this.reportBi((0, _v.loadEnd)({
59
70
  url: this.url,
60
71
  loadingTime: Math.round(performance.now() - this.startTime)
@@ -78,6 +89,28 @@ class CustomFieldsViewWidgetState {
78
89
  get isError() {
79
90
  return this.initTask.status.isError;
80
91
  }
92
+ getExtendedFieldsToDisplayForNamespace(namespace, extendedFields) {
93
+ var _this$dataExtension$a;
94
+ const isUserNamespace = namespace === this.userFieldsNamespace;
95
+ if (isUserNamespace) {
96
+ var _extendedFields$names;
97
+ const userCustomFields = this.dataExtension.availableUserCustomFields;
98
+ const fields = (extendedFields == null || (_extendedFields$names = extendedFields.namespaces) == null ? void 0 : _extendedFields$names[namespace]) ?? {};
99
+ return userCustomFields.filter(field => {
100
+ const fieldValue = fields[field.id];
101
+ const isEmpty = fieldValue === null || fieldValue === undefined;
102
+ return !isEmpty;
103
+ });
104
+ }
105
+ const appSchema = (_this$dataExtension$a = this.dataExtension.appSchemas) == null ? void 0 : _this$dataExtension$a.find(schema => schema.namespace === namespace);
106
+ const appFields = appSchema ? this.dataExtension.getAvailableCustomFieldsForApp(appSchema) : [];
107
+ return appFields;
108
+ }
109
+ getAppName(namespace) {
110
+ var _this$dataExtension$a2;
111
+ const appSchema = (_this$dataExtension$a2 = this.dataExtension.appSchemas) == null ? void 0 : _this$dataExtension$a2.find(schema => schema.namespace === namespace);
112
+ return this.apps.appNames[(appSchema == null ? void 0 : appSchema.appDefId) || ''];
113
+ }
81
114
  }
82
115
  exports.CustomFieldsViewWidgetState = CustomFieldsViewWidgetState;
83
116
  //# sourceMappingURL=CustomFieldsViewWidgetState.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_TaskState","require","_DataExtensionState","_services","_v","CustomFieldsViewWidgetState","constructor","container","fqdn","url","_defineProperty2","default","TaskState","performance","now","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","loadStart","init","initTask","runOnce","_this$dataExtension$i","status","promise","catch","err","cairoError","WixPatternsError","errorCode","originalException","internalMonitor","reportError","error","cairoErrorInLoadingAComponent","errorType","name","loadEnd","loadingTime","Math","round","startTime","retry","cairoTryAgainClicked","filteredListSize","availableUserCustomFields","length","actionName","loaction","isLoading","isIdle","isError","exports"],"sources":["../../../src/state/CustomFieldsViewWidgetState.ts"],"sourcesContent":["import { WixPatternsContainer } from './CairoContainer';\nimport { Fqdn } from '../model';\nimport { TaskState } from './TaskState';\nimport { DataExtensionState } from './DataExtensionState';\nimport { WixPatternsError } from '../services';\nimport {\n cairoErrorInLoadingAComponent,\n cairoTryAgainClicked,\n loadEnd,\n loadStart,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\n\nexport interface CustomFieldsViewWidgetStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n readonly url: string;\n}\nexport class CustomFieldsViewWidgetState {\n readonly container;\n readonly dataExtension;\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly startTime = performance.now();\n readonly url;\n\n constructor({ container, fqdn, url }: CustomFieldsViewWidgetStateParams) {\n this.container = container;\n this.url = url;\n\n this.reportBi = container.createBILogger({\n componentType: 'CustomFieldsViewWidget',\n ...fqdn,\n });\n\n this.dataExtension = new DataExtensionState({\n container,\n fqdn,\n reportBi: this.reportBi,\n });\n\n this.reportBi(\n loadStart({\n url: this.url,\n }),\n );\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n this.dataExtension.init();\n\n await this.dataExtension.initTask.status.promise?.catch((err) => {\n const cairoError = new WixPatternsError({\n errorCode: 'InitCustomFieldsDataExtensionFailed',\n originalException: err,\n });\n\n this.container.internalMonitor.reportError({\n error: cairoError,\n });\n\n this.reportBi(\n cairoErrorInLoadingAComponent({\n errorType: cairoError.name,\n }),\n );\n\n throw cairoError;\n });\n\n this.reportBi(\n loadEnd({\n url: this.url,\n loadingTime: Math.round(performance.now() - this.startTime),\n }),\n );\n });\n }\n\n retry() {\n this.reportBi(\n cairoTryAgainClicked({\n filteredListSize: this.dataExtension.availableUserCustomFields.length,\n actionName: 'Load custom fields',\n loaction: 'View only widget',\n }),\n );\n\n this.initTask.runOnce();\n }\n\n get isLoading() {\n const { status } = this.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_TaskState","require","_DataExtensionState","_services","_v","_AppsState","CustomFieldsViewWidgetState","constructor","container","fqdn","url","_defineProperty2","default","TaskState","performance","now","reportBi","createBILogger","componentType","dataExtension","DataExtensionState","userFieldsNamespace","dataExtensionService","apps","AppsState","loadStart","init","initTask","runOnce","_this$dataExtension$i","_this$apps$initTask$s","status","promise","catch","err","cairoError","WixPatternsError","errorCode","originalException","internalMonitor","reportError","error","cairoErrorInLoadingAComponent","errorType","name","appIds","appSchemas","map","schema","appDefId","filter","Boolean","loadEnd","loadingTime","Math","round","startTime","retry","cairoTryAgainClicked","filteredListSize","availableUserCustomFields","length","actionName","loaction","isLoading","isIdle","isError","getExtendedFieldsToDisplayForNamespace","namespace","extendedFields","_this$dataExtension$a","isUserNamespace","_extendedFields$names","userCustomFields","fields","namespaces","field","fieldValue","id","isEmpty","undefined","appSchema","find","appFields","getAvailableCustomFieldsForApp","getAppName","_this$dataExtension$a2","appNames","exports"],"sources":["../../../src/state/CustomFieldsViewWidgetState.ts"],"sourcesContent":["import { WixPatternsContainer } from './CairoContainer';\nimport { Fqdn } from '../model';\nimport { TaskState } from './TaskState';\nimport { DataExtensionState } from './DataExtensionState';\nimport { ExtendedFields, WixPatternsError } from '../services';\nimport {\n cairoErrorInLoadingAComponent,\n cairoTryAgainClicked,\n loadEnd,\n loadStart,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { AppsState } from './AppsState';\n\nexport interface CustomFieldsViewWidgetStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n readonly url: string;\n}\nexport class CustomFieldsViewWidgetState {\n readonly container: WixPatternsContainer;\n readonly dataExtension;\n readonly apps;\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly startTime = performance.now();\n readonly url;\n readonly userFieldsNamespace;\n\n constructor({ container, fqdn, url }: CustomFieldsViewWidgetStateParams) {\n this.container = container;\n this.url = url;\n\n this.reportBi = container.createBILogger({\n componentType: 'CustomFieldsViewWidget',\n ...fqdn,\n });\n\n this.dataExtension = new DataExtensionState({\n container,\n fqdn,\n reportBi: this.reportBi,\n });\n\n this.userFieldsNamespace =\n this.dataExtension.dataExtensionService.userFieldsNamespace;\n\n this.apps = new AppsState({\n container,\n });\n\n this.reportBi(\n loadStart({\n url: this.url,\n }),\n );\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n this.dataExtension.init();\n\n await this.dataExtension.initTask.status.promise?.catch((err: Error) => {\n const cairoError = new WixPatternsError({\n errorCode: 'InitCustomFieldsDataExtensionFailed',\n originalException: err,\n });\n\n this.container.internalMonitor.reportError({\n error: cairoError,\n });\n\n this.reportBi(\n cairoErrorInLoadingAComponent({\n errorType: cairoError.name,\n }),\n );\n\n throw cairoError;\n });\n\n const appIds = (this.dataExtension.appSchemas || [])\n .map((schema) => schema.appDefId)\n .filter(Boolean) as string[];\n this.apps.init(appIds);\n // Wait for the apps names to be loaded, but not fail the whole init if it fails\n await this.apps.initTask.status.promise?.catch(() => {});\n\n this.reportBi(\n loadEnd({\n url: this.url,\n loadingTime: Math.round(performance.now() - this.startTime),\n }),\n );\n });\n }\n\n retry() {\n this.reportBi(\n cairoTryAgainClicked({\n filteredListSize: this.dataExtension.availableUserCustomFields.length,\n actionName: 'Load custom fields',\n loaction: 'View only widget',\n }),\n );\n\n this.initTask.runOnce();\n }\n\n get isLoading() {\n const { status } = this.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n getExtendedFieldsToDisplayForNamespace(\n namespace: string,\n extendedFields?: ExtendedFields,\n ) {\n const isUserNamespace = namespace === this.userFieldsNamespace;\n\n if (isUserNamespace) {\n const userCustomFields = this.dataExtension.availableUserCustomFields;\n const fields =\n extendedFields?.namespaces?.[\n namespace as keyof typeof extendedFields.namespaces\n ] ?? {};\n return userCustomFields.filter((field) => {\n const fieldValue = fields[field.id];\n const isEmpty = fieldValue === null || fieldValue === undefined;\n return !isEmpty;\n });\n }\n\n const appSchema = this.dataExtension.appSchemas?.find(\n (schema) => schema.namespace === namespace,\n );\n const appFields = appSchema\n ? this.dataExtension.getAvailableCustomFieldsForApp(appSchema)\n : [];\n\n return appFields;\n }\n\n getAppName(namespace: string) {\n const appSchema = this.dataExtension.appSchemas?.find(\n (schema) => schema.namespace === namespace,\n );\n\n return this.apps.appNames[appSchema?.appDefId || ''];\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -234,15 +234,18 @@ class DataExtensionState {
234
234
  get availableAppsCustomFields() {
235
235
  var _this$appSchemas;
236
236
  return ((_this$appSchemas = this.appSchemas) == null ? void 0 : _this$appSchemas.reduce((prev, schema) => {
237
- var _schema$jsonSchema;
238
- const properties = (schema == null || (_schema$jsonSchema = schema.jsonSchema) == null ? void 0 : _schema$jsonSchema.properties) || {};
239
- return [...prev, ...this.getAvailableCustomFieldsInSchema(properties, {
240
- editable: false,
241
- requiredPermissions: ['users'],
242
- owner: 'app'
243
- })];
237
+ return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];
244
238
  }, [])) ?? [];
245
239
  }
240
+ getAvailableCustomFieldsForApp(appSchema) {
241
+ var _appSchema$jsonSchema;
242
+ const properties = ((_appSchema$jsonSchema = appSchema.jsonSchema) == null ? void 0 : _appSchema$jsonSchema.properties) || {};
243
+ return this.getAvailableCustomFieldsInSchema(properties, {
244
+ editable: false,
245
+ requiredPermissions: ['users'],
246
+ owner: 'app'
247
+ });
248
+ }
246
249
  get availableCustomFields() {
247
250
  return [...this.availableUserCustomFields, ...this.availableAppsCustomFields];
248
251
  }
@@ -275,6 +278,10 @@ class DataExtensionState {
275
278
  get isReachedMaxCustomFields() {
276
279
  return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;
277
280
  }
281
+ get allNamespaces() {
282
+ var _this$userSchema3;
283
+ return [(_this$userSchema3 = this.userSchema) == null ? void 0 : _this$userSchema3.namespace, ...(this.appSchemas || []).map(schema => schema.namespace)].filter(Boolean);
284
+ }
278
285
  init() {
279
286
  const {
280
287
  initTask
@@ -1 +1 @@
1
- {"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","MAX_CUSTOM_FIELDS","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","owner","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","_schema$jsonSchema","_this$userSchema2","_this$appSchemas2","cur","_cur$jsonSchema","concat","length","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","namespace","userFieldsNamespace","exports"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n CustomFieldOwner,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './CairoContainer';\nimport {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\n fqdn: Fqdn;\n}\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\n\n constructor(params: Readonly<DataExtensionStateParams>) {\n this.container = params.container;\n this.closeSidePanel = params.closeSidePanel;\n this.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: action,\n });\n }\n\n _hasWritePermissions?: boolean;\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: this.MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({ id, origin }: { id?: string; origin: string }) {\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n runInAction(() => {\n this.userSchema = dataExtensionSchema;\n });\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n };\n }\n\n openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema && params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n }\n\n customFieldModalState.modalState.modal.open();\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n }): CustomField {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n owner,\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n },\n ): CustomField[] {\n return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n })\n .map((key) =>\n this._toCustomField({ key, schema: properties[key], editable, owner }),\n );\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n const properties: { [key: string]: DataExtensionField } =\n schema?.jsonSchema?.properties || {};\n return [\n ...prev,\n ...this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n }),\n ];\n }, [] as CustomField[]) ?? []\n );\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n }),\n );\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, cur) => {\n const properties: { [key: string]: DataExtensionField } =\n cur?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n }),\n ),\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","MAX_CUSTOM_FIELDS","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","owner","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","cur","_cur$jsonSchema","concat","length","allNamespaces","_this$userSchema3","namespace","Boolean","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","userFieldsNamespace","exports"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n CustomFieldOwner,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './CairoContainer';\nimport {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\n fqdn: Fqdn;\n}\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\n\n constructor(params: Readonly<DataExtensionStateParams>) {\n this.container = params.container;\n this.closeSidePanel = params.closeSidePanel;\n this.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: action,\n });\n }\n\n _hasWritePermissions?: boolean;\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: this.MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({ id, origin }: { id?: string; origin: string }) {\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n runInAction(() => {\n this.userSchema = dataExtensionSchema;\n });\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n };\n }\n\n openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema && params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n }\n\n customFieldModalState.modalState.modal.open();\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n }): CustomField {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n owner,\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n },\n ): CustomField[] {\n return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n })\n .map((key) =>\n this._toCustomField({ key, schema: properties[key], editable, owner }),\n );\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n }),\n );\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, cur) => {\n const properties: { [key: string]: DataExtensionField } =\n cur?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n }),\n ),\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= this.MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -133,20 +133,20 @@ class CairoContainerDriver {
133
133
  }));
134
134
  this.navigateTo = (overrides == null ? void 0 : overrides.navigateTo) ?? jest.fn();
135
135
  this.onNavigation = (overrides == null ? void 0 : overrides.onNavigation) ?? jest.fn().mockImplementation(callback => {
136
- const remove = this.navigationManager.subscribe(callback);
136
+ const remove = this.navigationManager.subscribe(state => {
137
+ state.prevented = true;
138
+ callback(state.pause);
139
+ });
137
140
  return {
138
141
  remove
139
142
  };
140
143
  });
141
144
  if (!overrides.onBeforeUnloadMissingInEnvironment) {
142
145
  this.onBeforeUnload = (overrides == null ? void 0 : overrides.onBeforeUnload) ?? jest.fn().mockImplementation(callback => {
143
- const remove = this.navigationManager.subscribe(pause => {
146
+ const remove = this.navigationManager.subscribe(state => {
144
147
  const {
145
148
  resume
146
- } = pause();
147
- const state = {
148
- prevented: false
149
- };
149
+ } = state.pause();
150
150
  callback({
151
151
  preventDefault: () => {
152
152
  state.prevented = true;
@@ -157,9 +157,6 @@ class CairoContainerDriver {
157
157
  });
158
158
  }
159
159
  });
160
- if (!state.prevented) {
161
- resume();
162
- }
163
160
  });
164
161
  return {
165
162
  remove
@@ -249,7 +246,11 @@ class CairoContainerDriver {
249
246
  return childEssentials;
250
247
  },
251
248
  showToast: this.showToast,
252
- navigateTo: this.navigateTo,
249
+ navigateTo: params => {
250
+ var _this$navigateTo;
251
+ (_this$navigateTo = this.navigateTo) == null || _this$navigateTo.call(this, params);
252
+ this.navigationManager.navigateToPage(params);
253
+ },
253
254
  onNavigation: this.onNavigation,
254
255
  onBeforeUnload: this.onBeforeUnload,
255
256
  getHostContainer: overrides == null ? void 0 : overrides.getHostContainer,
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","CairoContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","navigateTo","onNavigation","callback","onBeforeUnloadMissingInEnvironment","onBeforeUnload","pause","resume","state","prevented","preventDefault","events","once","leave","history","createMemoryHistory","search","replaceHistory","container","WixPatternsContainer","queryCache","patchesCache","componentId","artifactId","join","providerType","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","undefined","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","options","i18nOptions","childEssentials","createChildEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","biLoggerFactory","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/CairoContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n useExperiments,\n useTranslation,\n Trans,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { WixPatternsContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n WixPatternsEssentials,\n GetHostContainer,\n OnBeforeUnload,\n OnNavigation,\n ShowToast,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\n\nexport interface CairoContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<WixPatternsEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n}\n\nexport class CairoContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly navigateTo: WixPatternsEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: WixPatternsContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: CairoContainerDriverOverrides = { asMobileView: false },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe(callback);\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((pause) => {\n const { resume } = pause();\n\n const state = {\n prevented: false,\n };\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n\n if (!state.prevented) {\n resume();\n }\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new WixPatternsContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n history: this.history,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n navigateTo: this.navigateTo,\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","CairoContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","navigateTo","onNavigation","callback","state","prevented","pause","onBeforeUnloadMissingInEnvironment","onBeforeUnload","resume","preventDefault","events","once","leave","history","createMemoryHistory","search","replaceHistory","container","WixPatternsContainer","queryCache","patchesCache","componentId","artifactId","join","providerType","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","undefined","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","options","i18nOptions","childEssentials","createChildEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","params","_this$navigateTo","call","navigateToPage","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","biLoggerFactory","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/CairoContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n Trans,\n useExperiments,\n useTranslation,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { WixPatternsContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n GetHostContainer,\n OnBeforeUnload,\n OnNavigation,\n ShowToast,\n WixPatternsEssentials,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\n\nexport interface CairoContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<WixPatternsEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly navigateTo?: WixPatternsEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n}\n\nexport class CairoContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly navigateTo: WixPatternsEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: WixPatternsContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: CairoContainerDriverOverrides = { asMobileView: false },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe((state) => {\n state.prevented = true;\n callback(state.pause);\n });\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((state) => {\n const { resume } = state.pause();\n\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new WixPatternsContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n history: this.history,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n navigateTo: (params) => {\n this.navigateTo?.(params);\n this.navigationManager.navigateToPage(params);\n },\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Použít",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Zadejte název",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Nebyly nalezeny žádné výsledky} one {Byl nalezen 1 výsledek} few {Byly nalezeny {num,number} výsledky} many {Bylo nalezeno {num,number} výsledků} other {Bylo nalezeno {num,number} výsledků}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Seznam",
405
406
  "cairo.passiveEmptyState.subtitle": "Až budete mít nějaké položky, uvidíte je zde.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Tagy se nepodařilo načíst kvůli technickým potížím na naší straně.",
@@ -89,7 +89,7 @@
89
89
  "cairo.dragAndDrop.reorderMode.toolbar.title": "Changes in order will be reflected in your live site.",
90
90
  "cairo.customFields.addCustomField.modal.cancel.CTA": "Annuller",
91
91
  "cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Sæt de besøgendes tilladelser til \"Læs\" for at forbinde dette felt dynamisk på din hjemmeside. <learnMore>Læs mere</learnMore>",
92
- "cairo.deleteModal.title": "Er du sikker på, du ønsker at slette dette?",
92
+ "cairo.deleteModal.title": "Er du sikker på, du ønsker at slette denne?",
93
93
  "cairo.customFields.booleanValue.true": "Ja",
94
94
  "cairo.tags.manageTags.modal.list.action.delete.CTA": "Slet",
95
95
  "cairo.customFields.addCustomField.modal.advancedSettings.key.tooltip": "Denne nøgle bruges i din kode. Den kan ikke ændres senere.",
@@ -325,7 +325,7 @@
325
325
  "cairo.entityPage.header.cancel.CTA": "Annuller",
326
326
  "cairo.dragAndDrop.discardChanges.cancel": "Annuller",
327
327
  "cairo.export.successMessage.downloadLink": "<text>Din fil bliver downloadet automatisk. Virker den ikke?</text><action>Download den her</action>",
328
- "cairo.deleteModal.body": "Sletning fjerner det permanent og kan ikke fortrydes.",
328
+ "cairo.deleteModal.body": "Sletning fjerner personen permanent og kan ikke fortrydes.",
329
329
  "cairo.export.exportingTitle": "Eksporterer dine varer...",
330
330
  "cairo.filtersPanel.clear.button": "Ryd alt",
331
331
  "cairo.customFields.editCustomField.success.toast": "Dine ændringer blev gemt.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Anvend",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Indtast et navn",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Der blev ikke fundet nogen resultater} one {1 resultat fundet} other {{num,number} resultater fundet}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Listevisning",
405
406
  "cairo.passiveEmptyState.subtitle": "Når der er elementer, kan du se dem her.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Kunne ikke indlæse tags på grund af et teknisk problem hos os.",
@@ -89,7 +89,7 @@
89
89
  "cairo.dragAndDrop.reorderMode.toolbar.title": "Changes in order will be reflected in your live site.",
90
90
  "cairo.customFields.addCustomField.modal.cancel.CTA": "Abbrechen",
91
91
  "cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Setze die Besucherberechtigungen auf „Lesen“, um dieses Feld auf deiner Website dynamisch zu verknüpfen. <learnMore>Mehr erfahren</learnMore>",
92
- "cairo.deleteModal.title": "Möchtest du es wirklich löschen?",
92
+ "cairo.deleteModal.title": "Mitarbeiter wirklich löschen?",
93
93
  "cairo.customFields.booleanValue.true": "Ja",
94
94
  "cairo.tags.manageTags.modal.list.action.delete.CTA": "Löschen",
95
95
  "cairo.customFields.addCustomField.modal.advancedSettings.key.tooltip": "Dieser Schlüssel wird in deinem Code verwendet und kann später nicht geändert werden.",
@@ -325,7 +325,7 @@
325
325
  "cairo.entityPage.header.cancel.CTA": "Abbrechen",
326
326
  "cairo.dragAndDrop.discardChanges.cancel": "Abbrechen",
327
327
  "cairo.export.successMessage.downloadLink": "<text>Deine Datei wird automatisch heruntergeladen. Es hat nicht geklappt?</text><action>Lade sie hier herunter.</action>",
328
- "cairo.deleteModal.body": "Durch das Löschen wird es dauerhaft entfernt. Dies kann nicht rückgängig gemacht werden.",
328
+ "cairo.deleteModal.body": "Dadurch wird der Mitarbeiter dauerhaft entfernt. Dies kann nicht rückgängig gemacht werden.",
329
329
  "cairo.export.exportingTitle": "Elemente werden exportiert...",
330
330
  "cairo.filtersPanel.clear.button": "Alle löschen",
331
331
  "cairo.customFields.editCustomField.success.toast": "Deine Änderungen wurden gespeichert.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Anwenden",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Namen eingeben",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Keine Ergebnisse gefunden} one {1 Suchergebnis gefunden} other {{num,number} Suchergebnisse gefunden}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Listenansicht",
405
406
  "cairo.passiveEmptyState.subtitle": "Sobald Elemente hinzugefügt wurden, siehst du diese hier.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Wegen technischer Probleme wurden die Tags nicht geladen.",
@@ -321,7 +321,7 @@
321
321
  "cairo.customFields.manageFields.subtitle": "Add, edit or archive your custom fields.",
322
322
  "cairo.customFields.editCustomField.modal.title": "Edit custom field",
323
323
  "cairo.customFields.showAll.button": "Show All",
324
- "cairo.customFields.entityPage.title": "Custom fields",
324
+ "cairo.customFields.entityPage.title": "Additional fields",
325
325
  "cairo.customFields.entityPage.emptyState.title": "No fields were filled",
326
326
  "cairo.customFields.entityPage.emptyState.subtitle": "User fields appear here if they are filled in by users.",
327
327
  "cairo.customFields.manageFields.CTA": "Manage",
@@ -423,5 +423,6 @@
423
423
  "cairo.emptyState.premium.cta": "Upgrade",
424
424
  "cairo.table.summaryBar.list.item": "{title}: <value>{value}</value>",
425
425
  "cairo.emptyState.premium.title": "Upgrade with a plan",
426
- "cairo.emptyState.premium.text": "Access more features by upgrading your site."
426
+ "cairo.emptyState.premium.text": "Access more features by upgrading your site.",
427
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields"
427
428
  }
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Aplicar",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Ingresar nombre",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {No se encontraron resultados} one {1 resultado encontrado} other {{num,number} resultados encontrados}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Vista de lista",
405
406
  "cairo.passiveEmptyState.subtitle": "Cuando haya ítems, los verás aquí.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "No se pudieron cargar las etiquetas debido a un problema técnico de nuestra parte.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Appliquer",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Saisissez un nom",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Aucun résultat} one {1 résultat} other {{num,number} résultats}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Liste",
405
406
  "cairo.passiveEmptyState.subtitle": "Une fois qu'il y aura des éléments, vous les verrez ici.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Impossible de charger les libellés en raison d'un problème technique.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Apply",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "नाम दर्ज करें",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {No results found} one {1 result found} other {# results found}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "लिस्ट व्यू",
405
406
  "cairo.passiveEmptyState.subtitle": "आइटम्स आने के बाद, आप उन्हें यहां देख सकेंगे।",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Couldn’t load tags due to a technical issue on our end.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Terapkan",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Masukkan nama",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Hasil tidak ditemukan} other {{num,number} hasil ditemukan}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Tampilan Daftar",
405
406
  "cairo.passiveEmptyState.subtitle": "Setelah ada item, Anda akan melihatnya di sini.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Tidak dapat memuat tag karena masalah teknis di pihak kami.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "Applica",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Inserisci un nome",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Nessun risultato trovato} one {1 risultato trovato} other {{num,number} risultati trovati}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "Vista elenco",
405
406
  "cairo.passiveEmptyState.subtitle": "Quando ci saranno elementi, li vedrai qui.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Impossibile caricare i tag a causa di un problema tecnico interno.",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "適用する",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "名前を入力",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {検索結果はありません} other {{num,number}件の検索結果が見つかりました}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "リストビュー",
405
406
  "cairo.passiveEmptyState.subtitle": "アイテムが追加されると、ここに表示されます。",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "弊社側で技術的な問題が発生したため、タグが再読み込みされませんでした。",
@@ -401,6 +401,7 @@
401
401
  "cairo.tags.collectionPage.applyChanges.CTA": "적용",
402
402
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "이름을 입력하세요.",
403
403
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {검색 결과 없음} other {검색 결과 {num,number}개 발견}}",
404
+ "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
404
405
  "cairo.table.listView": "목록형",
405
406
  "cairo.passiveEmptyState.subtitle": "아이템이 추가되면 여기에서 확인할 수 있습니다.",
406
407
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Wix에 기술적인 문제가 발생하여 태그를 불러올 수 없습니다.",