@wix/bex-core 2.97.0 → 2.98.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 (64) hide show
  1. package/dist/cjs/assets/locale/messages_cs.json +1 -0
  2. package/dist/cjs/assets/locale/messages_da.json +1 -0
  3. package/dist/cjs/assets/locale/messages_de.json +1 -0
  4. package/dist/cjs/assets/locale/messages_es.json +1 -0
  5. package/dist/cjs/assets/locale/messages_fr.json +1 -0
  6. package/dist/cjs/assets/locale/messages_hi.json +1 -0
  7. package/dist/cjs/assets/locale/messages_id.json +1 -0
  8. package/dist/cjs/assets/locale/messages_it.json +1 -0
  9. package/dist/cjs/assets/locale/messages_ja.json +1 -0
  10. package/dist/cjs/assets/locale/messages_ko.json +10 -9
  11. package/dist/cjs/assets/locale/messages_nl.json +1 -0
  12. package/dist/cjs/assets/locale/messages_no.json +9 -8
  13. package/dist/cjs/assets/locale/messages_pl.json +9 -8
  14. package/dist/cjs/assets/locale/messages_pt.json +1 -0
  15. package/dist/cjs/assets/locale/messages_ru.json +10 -9
  16. package/dist/cjs/assets/locale/messages_sv.json +1 -0
  17. package/dist/cjs/assets/locale/messages_th.json +10 -9
  18. package/dist/cjs/assets/locale/messages_tr.json +1 -0
  19. package/dist/cjs/assets/locale/messages_uk.json +10 -9
  20. package/dist/cjs/assets/locale/messages_vi.json +10 -9
  21. package/dist/cjs/assets/locale/messages_zh.json +10 -9
  22. package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
  23. package/dist/cjs/services/DataExtensionService/dataExtensionService.js +14 -1
  24. package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
  25. package/dist/cjs/state/CustomFieldsViewWidgetState.js +34 -28
  26. package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
  27. package/dist/cjs/state/DataExtensionState.js +13 -6
  28. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  29. package/dist/esm/assets/locale/messages_cs.json +1 -0
  30. package/dist/esm/assets/locale/messages_da.json +1 -0
  31. package/dist/esm/assets/locale/messages_de.json +1 -0
  32. package/dist/esm/assets/locale/messages_es.json +1 -0
  33. package/dist/esm/assets/locale/messages_fr.json +1 -0
  34. package/dist/esm/assets/locale/messages_hi.json +1 -0
  35. package/dist/esm/assets/locale/messages_id.json +1 -0
  36. package/dist/esm/assets/locale/messages_it.json +1 -0
  37. package/dist/esm/assets/locale/messages_ja.json +1 -0
  38. package/dist/esm/assets/locale/messages_ko.json +10 -9
  39. package/dist/esm/assets/locale/messages_nl.json +1 -0
  40. package/dist/esm/assets/locale/messages_no.json +9 -8
  41. package/dist/esm/assets/locale/messages_pl.json +9 -8
  42. package/dist/esm/assets/locale/messages_pt.json +1 -0
  43. package/dist/esm/assets/locale/messages_ru.json +10 -9
  44. package/dist/esm/assets/locale/messages_sv.json +1 -0
  45. package/dist/esm/assets/locale/messages_th.json +10 -9
  46. package/dist/esm/assets/locale/messages_tr.json +1 -0
  47. package/dist/esm/assets/locale/messages_uk.json +10 -9
  48. package/dist/esm/assets/locale/messages_vi.json +10 -9
  49. package/dist/esm/assets/locale/messages_zh.json +10 -9
  50. package/dist/esm/services/DataExtensionService/dataExtensionService.js +11 -1
  51. package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
  52. package/dist/esm/state/CustomFieldsViewWidgetState.js +36 -27
  53. package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
  54. package/dist/esm/state/DataExtensionState.js +14 -11
  55. package/dist/esm/state/DataExtensionState.js.map +1 -1
  56. package/dist/types/model/wixPatternsEssentials.d.ts +1 -0
  57. package/dist/types/model/wixPatternsEssentials.d.ts.map +1 -1
  58. package/dist/types/services/DataExtensionService/dataExtensionService.d.ts +6 -2
  59. package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
  60. package/dist/types/state/CustomFieldsViewWidgetState.d.ts +3 -0
  61. package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
  62. package/dist/types/state/DataExtensionState.d.ts +2 -1
  63. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  64. package/package.json +3 -3
@@ -17,13 +17,13 @@
17
17
  "cairo.emptyState.filters.nothingFound.title": "Нічого не знайдено",
18
18
  "cairo.connection.error.text": "Перевірте ваш інтернет і повторіть спробу.",
19
19
  "cairo.table.summaryBar.loadError.cta": "Reload",
20
- "cairo.filtersPanel.numRange.maxRange.consumer.error": "{maxAmount, plural, =1 {The max must be 1 or less.} other {The max must be # or less.}}",
20
+ "cairo.filtersPanel.numRange.maxRange.consumer.error": "{maxAmount, plural, one {Значення має бути 1 або менше.} few {Значення має бути {maxAmount,number} або менше.} many {Значення має бути {maxAmount,number} або менше.} other {Значення має бути {maxAmount,number} або менше.}}",
21
21
  "cairo.table.saveView.button": "Зберегти перегляд",
22
22
  "cairo.customFields.editCustomField.fieldType.tooltip": "Цей тип поля неможливо змінити.",
23
23
  "cairo.bulkSelectedWithTotal": "{num, plural, one {Обрано 1 з {total,number}} few {Обрано {num,number} з {total,number}} many {Обрано {num,number} з {total,number}} other {Обрано {num,number} з {total,number}}}",
24
24
  "cairo.export.cancelTheExportGoBack": "Назад",
25
25
  "cairo.customFields.addCustomField.modal.emptyFieldName.error": "Уведіть назву поля.",
26
- "cairo.filtersPanel.numRange.title": "Number Range",
26
+ "cairo.filtersPanel.numRange.title": "Діапазон чисел",
27
27
  "cairo.export.cancelTheExportConfirm": "Скасувати експорт",
28
28
  "cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error": "Не вдається експортувати, бо в нас виникла технічна проблема.",
29
29
  "cairo.export.exporting": "Експортування",
@@ -56,7 +56,7 @@
56
56
  "cairo.updatedView.collectionPage.toast.cta": "Оновити",
57
57
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Персональні дані не можна буде змінити пізніше.",
58
58
  "cairo.customFields.fieldType.dropdownList.placeholder": "напр., Італія",
59
- "cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
59
+ "cairo.filtersPanel.numRange.maxRange.error": "Значення «До» має бути більше ніж значення «Від».",
60
60
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Скасувати",
61
61
  "cairo.dragAndDrop.discardChanges.CTA": "Скинути",
62
62
  "cairo.customFields.fieldType.dateAndTime.invalid.value": "Недійсне значення",
@@ -131,6 +131,7 @@
131
131
  "cairo.tags.collectionPage.toast.create.error": "Не вдається створити тег, бо в нас виникла технічна проблема.",
132
132
  "cairo.confirmModal.title": "Ви дійсно хочете виконати цю дію?",
133
133
  "cairo.entityPage.header.connect.CTA": "Підключити",
134
+ "cairo.customFields.url-input.placeholder": "https://www.wix.com",
134
135
  "cairo.customFields.fieldType.time.inputTitle": "Час",
135
136
  "cairo.manageView.Rename.disabled.tooltip": "Щоб перейменувати перегляд, збережіть зміни або збережіть його як новий.",
136
137
  "cairo.dropdownSearch.select.filers.clear": "Очистити",
@@ -174,7 +175,7 @@
174
175
  "cairo.customFields.addCustomField.CTA": "Додати поле",
175
176
  "cairo.customFields.addCustomField.modal.fieldType": "Тип поля",
176
177
  "cairo.filtersPanel.done.button": "Готово",
177
- "cairo.filtersPanel.numRange.maxRange-to.placeholder": "Max.",
178
+ "cairo.filtersPanel.numRange.maxRange-to.placeholder": "Макс.",
178
179
  "cairo.emptyState.subtitle.nothingAvailable": "Ми нічого не знайшли.",
179
180
  "cairo.tags.tagsWidget.create.CTA": "Створити теги",
180
181
  "cairo.customFields.addCustomField.modal.keyFormat.error": "Має починатися з латинської літери та може містити лише букви, цифри та підкреслення.",
@@ -182,7 +183,7 @@
182
183
  "cairo.customFields.addCustomField.modal.title": "Додати власне поле",
183
184
  "cairo.customFields.updateDataExtension.fqdn-not-extensible.error": "Ви не можете редагувати це поле.",
184
185
  "cairo.dropdownSearch.select.filers.placeholder": "Оберіть фільтри",
185
- "cairo.filtersPanel.numRange.minRange.consumer.error": "{minAmount, plural, =1 {Enter a number larger than 1.} other {Enter a number larger than #.}}",
186
+ "cairo.filtersPanel.numRange.minRange.consumer.error": "{minAmount, plural, one {Значення має бути 1 або більше.} few {Значення має бути {minAmount,number} або більше.} many {Значення має бути {minAmount,number} або більше.} other {Значення має бути {minAmount,number} або більше.}}",
186
187
  "cairo.manageView.saveChanges.error.toast": "Через технічну проблему не вдалося зберегти ваші зміни.",
187
188
  "cairo.tags.collectionPage.tagsColumn.emptyState.body": "Теги допомагають фільтрувати й упорядковувати позиції.",
188
189
  "cairo.emptyState.title.nothingAvailable": "Немає результатів",
@@ -203,7 +204,7 @@
203
204
  "cairo.table.deleteViewModal.deleteButton": "Видалити перегляд",
204
205
  "cairo.export.offlineMessage": "Експорт продовжиться, коли з'єднання з інтернетом відновиться.",
205
206
  "cairo.confirm.button": "Підтвердити",
206
- "cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
207
+ "cairo.filtersPanel.numRange.minRange.error": "Значення «Від» має бути менше ніж значення «До».",
207
208
  "cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "fieldKey",
208
209
  "cairo.manageView.Rename.modal.cancel.CTA": "Скасувати",
209
210
  "cairo.filtersPanel.default.All": "Усі",
@@ -370,7 +371,7 @@
370
371
  "cairo.export.cancelTheExport": "Скасувати експорт?",
371
372
  "cairo.customFields.addCustomField.modal.PII.learnMore": "Дізнатися більше",
372
373
  "cairo.tags.manageTags.modal.list.input.cancel.CTA": "Скасувати",
373
- "cairo.filtersPanel.numRange.maxRange-to": "To",
374
+ "cairo.filtersPanel.numRange.maxRange-to": "До",
374
375
  "cairo.tags.popover.creationLimitReached.error": "Не вдається створити тег. Ви досягли ліміту 100 тегів.",
375
376
  "cairo.customFields.archive.modal.description": "Це поле та зібрана в ньому інформація заархівуються без можливості відновлення.",
376
377
  "cairo.emptyState.premium.title": "Перейдіть на Преміум",
@@ -406,7 +407,7 @@
406
407
  "cairo.tags.manageTags.modal.toast.rename.success": "Назву тегу змінено.",
407
408
  "cairo.customFields.edit.CTA": "Редагувати",
408
409
  "cairo.customFields.fieldType.url": "URL",
409
- "cairo.filtersPanel.numRange.min-from": "From",
410
+ "cairo.filtersPanel.numRange.min-from": "Від",
410
411
  "cairo.customFields.maxFields": "Ви можете додати до 10 власних полів.",
411
412
  "cairo.offline": "Ви зараз офлайн.",
412
413
  "cairo.export.leaveSiteTitle": "Залишити сайт?",
@@ -418,7 +419,7 @@
418
419
  "cairo.selectPlaceholder": "Виберіть...",
419
420
  "cairo.table.advanced-sorting.sortByColumns.toast": "Тепер ви сортуєте за стовпчиками.",
420
421
  "cairo.continue": "Продовжити",
421
- "cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
422
+ "cairo.filtersPanel.numRange.minRange-from.placeholder": "Мін.",
422
423
  "cairo.collectionsPage.add.item.CTA": "Додати елемент",
423
424
  "cairo.tags.collectionPage.toast.update.error": "Не вдається оновити теги, бо в нас виникла технічна проблема.",
424
425
  "cairo.tags.tagsWidget.add.CTA": "Призначити теги",
@@ -17,13 +17,13 @@
17
17
  "cairo.emptyState.filters.nothingFound.title": "Không tìm thấy mục nào",
18
18
  "cairo.connection.error.text": "Hãy kiểm tra kết nối internet của bạn và thử lại.",
19
19
  "cairo.table.summaryBar.loadError.cta": "Reload",
20
- "cairo.filtersPanel.numRange.maxRange.consumer.error": "{maxAmount, plural, =1 {The max must be 1 or less.} other {The max must be # or less.}}",
20
+ "cairo.filtersPanel.numRange.maxRange.consumer.error": "{maxAmount, plural, other {Giá trị phải từ {maxAmount,number} trở xuống.}}",
21
21
  "cairo.table.saveView.button": "Lưu dạng xem",
22
22
  "cairo.customFields.editCustomField.fieldType.tooltip": "Không thể thay đổi kiểu trường.",
23
23
  "cairo.bulkSelectedWithTotal": "{num, plural, other {Đã chọn {num,number}/{total,number}}}",
24
24
  "cairo.export.cancelTheExportGoBack": "Quay lại",
25
25
  "cairo.customFields.addCustomField.modal.emptyFieldName.error": "Nhập tên trường.",
26
- "cairo.filtersPanel.numRange.title": "Number Range",
26
+ "cairo.filtersPanel.numRange.title": "Phạm vi số",
27
27
  "cairo.export.cancelTheExportConfirm": "Hủy xuất",
28
28
  "cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error": "Không thể xuất bản do chúng tôi đã gặp vấn đề kỹ thuật.",
29
29
  "cairo.export.exporting": "Đang xuất",
@@ -56,7 +56,7 @@
56
56
  "cairo.updatedView.collectionPage.toast.cta": "Làm mới dạng xem",
57
57
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Không thể thay thiết lập PII sau này.",
58
58
  "cairo.customFields.fieldType.dropdownList.placeholder": "VD: Ý",
59
- "cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
59
+ "cairo.filtersPanel.numRange.maxRange.error": "Giá trị \"Đến\" phải lớn hơn giá trị \"Từ\".",
60
60
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Hủy",
61
61
  "cairo.dragAndDrop.discardChanges.CTA": "Bỏ",
62
62
  "cairo.customFields.fieldType.dateAndTime.invalid.value": "Giá trị không hợp lệ",
@@ -131,6 +131,7 @@
131
131
  "cairo.tags.collectionPage.toast.create.error": "Không thể tạo thẻ do chúng tôi gặp vấn đề kỹ thuật.",
132
132
  "cairo.confirmModal.title": "Bạn có chắc muốn thực hiện hành động này không?",
133
133
  "cairo.entityPage.header.connect.CTA": "Kết nối",
134
+ "cairo.customFields.url-input.placeholder": "https://www.wix.com",
134
135
  "cairo.customFields.fieldType.time.inputTitle": "Giờ",
135
136
  "cairo.manageView.Rename.disabled.tooltip": "Để đổi tên dạng xem này, hãy lưu thay đổi hoặc lưu dưới dạng một dạng xem mới.",
136
137
  "cairo.dropdownSearch.select.filers.clear": "Xóa",
@@ -174,7 +175,7 @@
174
175
  "cairo.customFields.addCustomField.CTA": "Thêm trường",
175
176
  "cairo.customFields.addCustomField.modal.fieldType": "Kiểu trường",
176
177
  "cairo.filtersPanel.done.button": "Xong",
177
- "cairo.filtersPanel.numRange.maxRange-to.placeholder": "Max.",
178
+ "cairo.filtersPanel.numRange.maxRange-to.placeholder": "Tối đa",
178
179
  "cairo.emptyState.subtitle.nothingAvailable": "Chúng tôi không tìm thấy bất cứ thứ gì.",
179
180
  "cairo.tags.tagsWidget.create.CTA": "Tạo thẻ",
180
181
  "cairo.customFields.addCustomField.modal.keyFormat.error": "Phải bắt đầu bằng một chữ cái tiếng Anh và chỉ có thể chứa chữ cái, chữ số hoặc dấu gạch dưới.",
@@ -182,7 +183,7 @@
182
183
  "cairo.customFields.addCustomField.modal.title": "Thêm trường tùy chỉnh",
183
184
  "cairo.customFields.updateDataExtension.fqdn-not-extensible.error": "Bạn không thể chỉnh sửa trường này.",
184
185
  "cairo.dropdownSearch.select.filers.placeholder": "Chọn bộ lọc",
185
- "cairo.filtersPanel.numRange.minRange.consumer.error": "{minAmount, plural, =1 {Enter a number larger than 1.} other {Enter a number larger than #.}}",
186
+ "cairo.filtersPanel.numRange.minRange.consumer.error": "{minAmount, plural, other {Giá trị phải từ {minAmount,number} trở lên.}}",
186
187
  "cairo.manageView.saveChanges.error.toast": "Do sự cố kỹ thuật, các thay đổi của bạn không được lưu.",
187
188
  "cairo.tags.collectionPage.tagsColumn.emptyState.body": "Thẻ giúp bạn lọc và sắp xếp ngăn nắp các mục.",
188
189
  "cairo.emptyState.title.nothingAvailable": "Không có gì để hiển thị",
@@ -203,7 +204,7 @@
203
204
  "cairo.table.deleteViewModal.deleteButton": "Xóa dạng xem",
204
205
  "cairo.export.offlineMessage": "Quá trình xuất sẽ tiếp tục sau khi kết nối Internet được khôi phục.",
205
206
  "cairo.confirm.button": "Xác nhận",
206
- "cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
207
+ "cairo.filtersPanel.numRange.minRange.error": "Giá trị \"Từ\" phải nhỏ hơn giá trị \"Đến\".",
207
208
  "cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "Khóa trường",
208
209
  "cairo.manageView.Rename.modal.cancel.CTA": "Hủy",
209
210
  "cairo.filtersPanel.default.All": "Tất cả",
@@ -370,7 +371,7 @@
370
371
  "cairo.export.cancelTheExport": "Hủy xuất?",
371
372
  "cairo.customFields.addCustomField.modal.PII.learnMore": "Tìm hiểu thêm",
372
373
  "cairo.tags.manageTags.modal.list.input.cancel.CTA": "Hủy",
373
- "cairo.filtersPanel.numRange.maxRange-to": "To",
374
+ "cairo.filtersPanel.numRange.maxRange-to": "Đến",
374
375
  "cairo.tags.popover.creationLimitReached.error": "Không thể tạo thẻ. Bạn đã đạt đến giới hạn 100 thẻ.",
375
376
  "cairo.customFields.archive.modal.description": "Trường này và thông tin thu thập vào trường này sẽ được lưu trữ và không thể khôi phục được.",
376
377
  "cairo.emptyState.premium.title": "Nâng cấp bằng gói",
@@ -406,7 +407,7 @@
406
407
  "cairo.tags.manageTags.modal.toast.rename.success": "Đã đổi tên thẻ.",
407
408
  "cairo.customFields.edit.CTA": "Chỉnh sửa",
408
409
  "cairo.customFields.fieldType.url": "URL",
409
- "cairo.filtersPanel.numRange.min-from": "From",
410
+ "cairo.filtersPanel.numRange.min-from": "Từ",
410
411
  "cairo.customFields.maxFields": "Bạn có thể thêm tối đa 10 trường tùy chỉnh.",
411
412
  "cairo.offline": "Bạn hiện đang ngoại tuyến.",
412
413
  "cairo.export.leaveSiteTitle": "Rời trang web?",
@@ -418,7 +419,7 @@
418
419
  "cairo.selectPlaceholder": "Chọn...",
419
420
  "cairo.table.advanced-sorting.sortByColumns.toast": "Bạn hiện đang sắp xếp theo cột.",
420
421
  "cairo.continue": "Tiếp tục",
421
- "cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
422
+ "cairo.filtersPanel.numRange.minRange-from.placeholder": "Tối thiểu",
422
423
  "cairo.collectionsPage.add.item.CTA": "Thêm mục",
423
424
  "cairo.tags.collectionPage.toast.update.error": "Không thể cập nhật thẻ do chúng tôi gặp vấn đề kỹ thuật.",
424
425
  "cairo.tags.tagsWidget.add.CTA": "Gắn thẻ",
@@ -17,13 +17,13 @@
17
17
  "cairo.emptyState.filters.nothingFound.title": "沒有找到項目",
18
18
  "cairo.connection.error.text": "請檢查網路連線並且再試一次。",
19
19
  "cairo.table.summaryBar.loadError.cta": "Reload",
20
- "cairo.filtersPanel.numRange.maxRange.consumer.error": "{maxAmount, plural, =1 {The max must be 1 or less.} other {The max must be # or less.}}",
20
+ "cairo.filtersPanel.numRange.maxRange.consumer.error": "{maxAmount, plural, other {值不得超過 {maxAmount,number}}}",
21
21
  "cairo.table.saveView.button": "儲存檢視",
22
22
  "cairo.customFields.editCustomField.fieldType.tooltip": "無法變更欄位類型。",
23
23
  "cairo.bulkSelectedWithTotal": "{num, plural, other {已選擇 {num,number}/{total,number} 個項目}}",
24
24
  "cairo.export.cancelTheExportGoBack": "返回",
25
25
  "cairo.customFields.addCustomField.modal.emptyFieldName.error": "請輸入欄位名稱。",
26
- "cairo.filtersPanel.numRange.title": "Number Range",
26
+ "cairo.filtersPanel.numRange.title": "數字範圍",
27
27
  "cairo.export.cancelTheExportConfirm": "取消匯出",
28
28
  "cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error": "由於我們這邊發生技術問題,因此無法匯出。",
29
29
  "cairo.export.exporting": "正在匯出",
@@ -56,7 +56,7 @@
56
56
  "cairo.updatedView.collectionPage.toast.cta": "重新整理檢視",
57
57
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII 設定無法在日後變更。",
58
58
  "cairo.customFields.fieldType.dropdownList.placeholder": "例如,義大利",
59
- "cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
59
+ "cairo.filtersPanel.numRange.maxRange.error": "「上限」值必須大於「下限」值。",
60
60
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "取消",
61
61
  "cairo.dragAndDrop.discardChanges.CTA": "捨棄",
62
62
  "cairo.customFields.fieldType.dateAndTime.invalid.value": "無效的值",
@@ -131,6 +131,7 @@
131
131
  "cairo.tags.collectionPage.toast.create.error": "由於我們這邊發生技術問題,因此無法建立標籤。",
132
132
  "cairo.confirmModal.title": "是否要進行此操作?",
133
133
  "cairo.entityPage.header.connect.CTA": "連結",
134
+ "cairo.customFields.url-input.placeholder": "https://www.wix.com",
134
135
  "cairo.customFields.fieldType.time.inputTitle": "時間",
135
136
  "cairo.manageView.Rename.disabled.tooltip": "若要重新命名此檢視,請儲存變更或另存為新檢視。",
136
137
  "cairo.dropdownSearch.select.filers.clear": "清除",
@@ -174,7 +175,7 @@
174
175
  "cairo.customFields.addCustomField.CTA": "新增欄位",
175
176
  "cairo.customFields.addCustomField.modal.fieldType": "欄位類型",
176
177
  "cairo.filtersPanel.done.button": "完成",
177
- "cairo.filtersPanel.numRange.maxRange-to.placeholder": "Max.",
178
+ "cairo.filtersPanel.numRange.maxRange-to.placeholder": "上限",
178
179
  "cairo.emptyState.subtitle.nothingAvailable": "我們找不到任何結果。",
179
180
  "cairo.tags.tagsWidget.create.CTA": "建立標籤",
180
181
  "cairo.customFields.addCustomField.modal.keyFormat.error": "必須以英文字母開頭,且只能包含字母、數字或底線。",
@@ -182,7 +183,7 @@
182
183
  "cairo.customFields.addCustomField.modal.title": "新增自訂欄位",
183
184
  "cairo.customFields.updateDataExtension.fqdn-not-extensible.error": "您無法編輯此欄位。",
184
185
  "cairo.dropdownSearch.select.filers.placeholder": "選擇篩選條件",
185
- "cairo.filtersPanel.numRange.minRange.consumer.error": "{minAmount, plural, =1 {Enter a number larger than 1.} other {Enter a number larger than #.}}",
186
+ "cairo.filtersPanel.numRange.minRange.consumer.error": "{minAmount, plural, other {值必須為 {minAmount,number} 或以上。}}",
186
187
  "cairo.manageView.saveChanges.error.toast": "由於技術問題,因此並未儲存變更。",
187
188
  "cairo.tags.collectionPage.tagsColumn.emptyState.body": "標籤可幫助您篩選和組織項目。",
188
189
  "cairo.emptyState.title.nothingAvailable": "沒有可顯示的內容",
@@ -203,7 +204,7 @@
203
204
  "cairo.table.deleteViewModal.deleteButton": "刪除檢視",
204
205
  "cairo.export.offlineMessage": "恢復網路連線後,將會繼續匯出。",
205
206
  "cairo.confirm.button": "確認",
206
- "cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
207
+ "cairo.filtersPanel.numRange.minRange.error": "「下限」值必須小於「上限」值。",
207
208
  "cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "fieldKey(欄位關鍵字)",
208
209
  "cairo.manageView.Rename.modal.cancel.CTA": "取消",
209
210
  "cairo.filtersPanel.default.All": "所有",
@@ -370,7 +371,7 @@
370
371
  "cairo.export.cancelTheExport": "是否取消匯出?",
371
372
  "cairo.customFields.addCustomField.modal.PII.learnMore": "了解更多",
372
373
  "cairo.tags.manageTags.modal.list.input.cancel.CTA": "取消",
373
- "cairo.filtersPanel.numRange.maxRange-to": "To",
374
+ "cairo.filtersPanel.numRange.maxRange-to": "上限",
374
375
  "cairo.tags.popover.creationLimitReached.error": "無法建立標籤。您已用盡 100 個標籤的限額。",
375
376
  "cairo.customFields.archive.modal.description": "此欄位及收集到的資訊將被封存,且無法還原。",
376
377
  "cairo.emptyState.premium.title": "透過方案升級",
@@ -406,7 +407,7 @@
406
407
  "cairo.tags.manageTags.modal.toast.rename.success": "標籤已重新命名。",
407
408
  "cairo.customFields.edit.CTA": "編輯",
408
409
  "cairo.customFields.fieldType.url": "URL",
409
- "cairo.filtersPanel.numRange.min-from": "From",
410
+ "cairo.filtersPanel.numRange.min-from": "下限",
410
411
  "cairo.customFields.maxFields": "您最多可以新增 10 個自訂欄位。",
411
412
  "cairo.offline": "您目前處於離線狀態。",
412
413
  "cairo.export.leaveSiteTitle": "離開網站?",
@@ -418,7 +419,7 @@
418
419
  "cairo.selectPlaceholder": "請選擇…...",
419
420
  "cairo.table.advanced-sorting.sortByColumns.toast": "您正在依資料列排序。",
420
421
  "cairo.continue": "繼續",
421
- "cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
422
+ "cairo.filtersPanel.numRange.minRange-from.placeholder": "下限",
422
423
  "cairo.collectionsPage.add.item.CTA": "新增項目",
423
424
  "cairo.tags.collectionPage.toast.update.error": "由於我們這邊發生技術問題,因此無法更新標籤。",
424
425
  "cairo.tags.tagsWidget.add.CTA": "指派標籤",
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/model/wixPatternsEssentials.ts"],"sourcesContent":["import type { Essentials, EssentialsOptions } from '@wix/fe-essentials/core';\nimport type { LogParams, ReportProps } from '@wix/fe-essentials/bi';\nimport type { ErrorHandler } from '@wix/fe-essentials/error-handler';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ShowToast } from './toast';\nimport type {\n Environment,\n EnvironmentBi,\n ErrorMonitor,\n Experiments,\n MonitorLogger,\n OnlineManager,\n} from '../services';\nimport type { History } from 'history';\nimport type { QueryCache } from 'react-query/core';\nimport type { FunctionComponent } from 'react';\nimport { DataCapsule } from './dataCapsule';\nimport { HttpClient } from './httpClient';\n\nexport type OnSidePanelOpen = (listener: () => void) => {\n remove(): void;\n};\n\nexport type CloseSidePanel = () => unknown;\n\nexport interface BiLogger {\n report(reportProps: ReportProps): Promise<any>;\n}\n\nexport interface CairoBILoggerFactory {\n updateDefaults(params: LogParams): this;\n logger(): BiLogger;\n}\n\nexport type PageLocation = {\n pageId: string;\n pathname: string;\n search?: string;\n hash?: string;\n};\n\nexport type OnNavigationPause = () => { resume(): void };\nexport type OnNavigationCallback = (pause: OnNavigationPause) => void;\nexport type OnNavigation = (callback: OnNavigationCallback) => {\n remove(): void;\n};\n\nexport type NavigateToObject = {\n pageId: string;\n relativeUrl?: string;\n appState?: string;\n referrer?: string;\n};\nexport type NavigateOptions = { state?: any };\nexport type NavigateToFunc = (to: NavigateToObject) => void;\n\nexport type BeforeUnloadResponse = {\n remove: () => void;\n};\nexport type OnBeforeUnload = (\n callback: (event: Event) => void,\n) => BeforeUnloadResponse;\n\nexport interface HostContainerExtension {\n appId?: string;\n componentId: string;\n title?: string;\n menuItem?: {\n IconComponent?: FunctionComponent;\n structuredAction: (params?: Record<string, any>) => unknown;\n };\n Extension?: React.ComponentType;\n}\nexport type GetExtensions = () =>\n | HostContainerExtension[]\n | Promise<HostContainerExtension[]>;\ninterface HostContainer {\n getExtensions: GetExtensions;\n}\n\nexport type GetHostContainer = (hostContainerId: string) => HostContainer;\n\ntype CreateEssentials = (options: EssentialsOptions) => {\n i18n: Essentials['i18n'];\n dataCapsule: Essentials['dataCapsule'];\n biLoggerFactory?: () => CairoBILoggerFactory;\n errorMonitor: ErrorMonitor;\n fedopsLogger?: MonitorLogger;\n experiments?: Experiments;\n};\nexport type CreateComponentSettings = (container: {\n httpClient: HttpClient;\n queryCache: QueryCache;\n environment: Environment;\n createEssentials: CreateEssentials;\n}) => (options: { namespace: string }) => DataCapsule;\n\nexport interface PatternsErrorHandler {\n withErrorHandler: ErrorHandler['withErrorHandler'];\n getResolvedError?: ErrorHandler['getResolvedError'];\n}\n\nexport interface WixPatternsEssentials {\n httpClient: HttpClient;\n /** A `ErrorMonitor` instance `@wix/fe-essentials/error-monitor` */\n errorMonitor: ErrorMonitor;\n /** A `Experiments` instance `@wix/fe-essentials/experiments` */\n experiments: Experiments;\n errorHandler?: PatternsErrorHandler;\n biLogger?: BiLogger | null;\n /**\n * A function that returns the shape `{ i18n }` - should be compatible with `{createEssentials} from '@wix/fe-essentials'` */\n createEssentials: CreateEssentials;\n /** A `DataCapsule` to store component-level settings such as `Views` */\n createComponentSettings?: CreateComponentSettings;\n /** The user's environment\n * - `language` - preferable language for the user\n * - `artifactId` - App level identifier, usually the artifact ID\n * - `componentId` - Component/page level identifier (Optional)\n * - `componentName` - Readable component/page name (Optional)\n */\n environment: Pick<Environment, 'language'> &\n Partial<Omit<Environment, 'language'>> & { uiLibVersion?: string };\n environmentBI: EnvironmentBi;\n /** `useTranslation` hook from `react-i18next` or `@wix/fe-essentials/react` */\n useTranslation: typeof useTranslation;\n /** `Trans` component from `react-i18next` or `@wix/fe-essentials/react */\n Trans: typeof Trans;\n user: {\n permissions: string[];\n };\n /** `useExperiments` hook from `@wix/yoshi-flow-bm` or `@wix/fe-essentials/react` */\n useExperiments: () => {\n ready: boolean;\n experiments: {\n enabled: (key: string) => boolean;\n };\n };\n usePageLocation?: () => PageLocation;\n /** A function that shows a global toast. For BM usage, it should be `showToast` from `business-manager-api` */\n showToast?: ShowToast;\n /** A function to perform a navigation to a given pageId */\n navigateTo?: NavigateToFunc;\n useAppLoaded?: () => void;\n onSidePanelOpen?: OnSidePanelOpen;\n closeSidePanel?: CloseSidePanel;\n /** Custom [history](https://github.com/remix-run/history/tree/v5.3.0/packages/history) instance to sync custom consumer navigations with Cairo navigations */\n history?: History;\n /** An optional query cache instance for controlling the cache from other modules */\n queryCache?: QueryCache;\n /** A function that interrupts a navigation to another app inside wix platforms */\n onNavigation?: OnNavigation;\n getHostContainer?: GetHostContainer;\n onlineManager?: OnlineManager;\n /**\n * Deals with dirty state by setting up a listener that triggers a confirmation dialog when a user attempts to leave a page. The event listener is removed upon component unmount.\n * @param callback - called on navigation with an event object. Use event.preventDefault() within the callback to display the dialog.\n * @returns { remove: () => void } - object that includes a remove method. You can use this method to remove the listener whenever necessary.\n */\n onBeforeUnload?: OnBeforeUnload;\n}\n\nexport interface WixPatternsEssentialsOverrides\n extends Omit<Partial<WixPatternsEssentials>, 'environment'> {\n environment: Partial<WixPatternsEssentials['environment']>;\n}\n\nexport type ContextType = 'ACCOUNT' | 'SITE';\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/model/wixPatternsEssentials.ts"],"sourcesContent":["import type { Essentials, EssentialsOptions } from '@wix/fe-essentials/core';\nimport type { LogParams, ReportProps } from '@wix/fe-essentials/bi';\nimport type { ErrorHandler } from '@wix/fe-essentials/error-handler';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ShowToast } from './toast';\nimport type {\n Environment,\n EnvironmentBi,\n ErrorMonitor,\n Experiments,\n MonitorLogger,\n OnlineManager,\n} from '../services';\nimport type { History } from 'history';\nimport type { QueryCache } from 'react-query/core';\nimport type { FunctionComponent } from 'react';\nimport { DataCapsule } from './dataCapsule';\nimport { HttpClient } from './httpClient';\n\nexport type OnSidePanelOpen = (listener: () => void) => {\n remove(): void;\n};\n\nexport type CloseSidePanel = () => unknown;\n\nexport interface BiLogger {\n report(reportProps: ReportProps): Promise<any>;\n}\n\nexport interface CairoBILoggerFactory {\n updateDefaults(params: LogParams): this;\n logger(): BiLogger;\n}\n\nexport type PageLocation = {\n pageId: string;\n pathname: string;\n search?: string;\n hash?: string;\n};\n\nexport type OnNavigationPause = () => { resume(): void };\nexport type OnNavigationCallback = (pause: OnNavigationPause) => void;\nexport type OnNavigation = (callback: OnNavigationCallback) => {\n remove(): void;\n};\n\nexport type NavigateToObject = {\n pageId: string;\n relativeUrl?: string;\n appState?: string;\n referrer?: string;\n};\nexport type NavigateOptions = { state?: any };\nexport type NavigateToFunc = (to: NavigateToObject) => void;\n\nexport type BeforeUnloadResponse = {\n remove: () => void;\n};\nexport type OnBeforeUnload = (\n callback: (event: Event) => void,\n) => BeforeUnloadResponse;\n\nexport interface HostContainerExtension {\n appId?: string;\n componentId: string;\n title?: string;\n menuItem?: {\n IconComponent?: FunctionComponent;\n structuredAction: (params?: Record<string, any>) => unknown;\n };\n Extension?: React.ComponentType;\n}\nexport type GetExtensions = () =>\n | HostContainerExtension[]\n | Promise<HostContainerExtension[]>;\ninterface HostContainer {\n getExtensions: GetExtensions;\n}\n\nexport type GetHostContainer = (hostContainerId: string) => HostContainer;\n\ntype CreateEssentials = (options: EssentialsOptions) => {\n i18n: Essentials['i18n'];\n dataCapsule: Essentials['dataCapsule'];\n biLoggerFactory?: () => CairoBILoggerFactory;\n errorMonitor: ErrorMonitor;\n fedopsLogger?: MonitorLogger;\n experiments?: Experiments;\n};\nexport type CreateComponentSettings = (container: {\n httpClient: HttpClient;\n queryCache: QueryCache;\n environment: Environment;\n createEssentials: CreateEssentials;\n}) => (options: { namespace: string }) => DataCapsule;\n\nexport interface PatternsErrorHandler {\n withErrorHandler: ErrorHandler['withErrorHandler'];\n getResolvedError?: ErrorHandler['getResolvedError'];\n showError?: ErrorHandler['showError'];\n}\n\nexport interface WixPatternsEssentials {\n httpClient: HttpClient;\n /** A `ErrorMonitor` instance `@wix/fe-essentials/error-monitor` */\n errorMonitor: ErrorMonitor;\n /** A `Experiments` instance `@wix/fe-essentials/experiments` */\n experiments: Experiments;\n errorHandler?: PatternsErrorHandler;\n biLogger?: BiLogger | null;\n /**\n * A function that returns the shape `{ i18n }` - should be compatible with `{createEssentials} from '@wix/fe-essentials'` */\n createEssentials: CreateEssentials;\n /** A `DataCapsule` to store component-level settings such as `Views` */\n createComponentSettings?: CreateComponentSettings;\n /** The user's environment\n * - `language` - preferable language for the user\n * - `artifactId` - App level identifier, usually the artifact ID\n * - `componentId` - Component/page level identifier (Optional)\n * - `componentName` - Readable component/page name (Optional)\n */\n environment: Pick<Environment, 'language'> &\n Partial<Omit<Environment, 'language'>> & { uiLibVersion?: string };\n environmentBI: EnvironmentBi;\n /** `useTranslation` hook from `react-i18next` or `@wix/fe-essentials/react` */\n useTranslation: typeof useTranslation;\n /** `Trans` component from `react-i18next` or `@wix/fe-essentials/react */\n Trans: typeof Trans;\n user: {\n permissions: string[];\n };\n /** `useExperiments` hook from `@wix/yoshi-flow-bm` or `@wix/fe-essentials/react` */\n useExperiments: () => {\n ready: boolean;\n experiments: {\n enabled: (key: string) => boolean;\n };\n };\n usePageLocation?: () => PageLocation;\n /** A function that shows a global toast. For BM usage, it should be `showToast` from `business-manager-api` */\n showToast?: ShowToast;\n /** A function to perform a navigation to a given pageId */\n navigateTo?: NavigateToFunc;\n useAppLoaded?: () => void;\n onSidePanelOpen?: OnSidePanelOpen;\n closeSidePanel?: CloseSidePanel;\n /** Custom [history](https://github.com/remix-run/history/tree/v5.3.0/packages/history) instance to sync custom consumer navigations with Cairo navigations */\n history?: History;\n /** An optional query cache instance for controlling the cache from other modules */\n queryCache?: QueryCache;\n /** A function that interrupts a navigation to another app inside wix platforms */\n onNavigation?: OnNavigation;\n getHostContainer?: GetHostContainer;\n onlineManager?: OnlineManager;\n /**\n * Deals with dirty state by setting up a listener that triggers a confirmation dialog when a user attempts to leave a page. The event listener is removed upon component unmount.\n * @param callback - called on navigation with an event object. Use event.preventDefault() within the callback to display the dialog.\n * @returns { remove: () => void } - object that includes a remove method. You can use this method to remove the listener whenever necessary.\n */\n onBeforeUnload?: OnBeforeUnload;\n}\n\nexport interface WixPatternsEssentialsOverrides\n extends Omit<Partial<WixPatternsEssentials>, 'environment'> {\n environment: Partial<WixPatternsEssentials['environment']>;\n}\n\nexport type ContextType = 'ACCOUNT' | 'SITE';\n"],"mappings":"","ignoreList":[]}
@@ -82,7 +82,20 @@ class DataExtensionSchemaService {
82
82
  case 'boolean':
83
83
  return 'checkbox';
84
84
  case 'array':
85
- return 'dropdown';
85
+ {
86
+ var _field$items;
87
+ if (((_field$items = field.items) == null ? void 0 : _field$items['x-wix-object-type']) === 'FILE/V1') {
88
+ return 'files';
89
+ }
90
+ return 'dropdown';
91
+ }
92
+ case 'object':
93
+ {
94
+ if (field['x-wix-object-type'] === 'FILE/V1') {
95
+ return 'files';
96
+ }
97
+ return 'dropdown';
98
+ }
86
99
  default:
87
100
  return 'shortText';
88
101
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","_http","_updateDataExtensionSchemaErrors","_createDataExtensionSchemaErrors","DataExtensionSchemaService","toSchemaType","type","format","maxLength","items","Error","toCustomType","field","hasOwnProperty","toCustomField","schema","key","_schema$jsonSchema","property","jsonSchema","properties","title","id","constructor","params","_defineProperty2","default","httpClient","translate","errorHandler","addCustomField","_params$schema","_params$schema2","_params$schema3","userFieldsNamespace","form","name","readApps","readUsers","writeApps","writeUsers","containsPii","fqdn","permissions","read","write","filterable","namespace","_updateDataExtensionSchema","_createDataExtensionSchema","archiveCustomField","_params$schema4","_params$schema5","fetchSchemas","request","listDataExtensionSchemas","namespaces","fields","RequestedField","ARCHIVED","then","res","data","withErrorHandler","createDataExtensionSchema","dataExtensionSchema","errorCodesMap","createDataExtensionSchemaErrors","updateDataExtensionSchema","updateDataExtensionSchemaErrors","exports"],"sources":["../../../../src/services/DataExtensionService/dataExtensionService.ts"],"sourcesContent":["import {\n DataExtensionSchema,\n RequestedField,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport {\n createDataExtensionSchema,\n listDataExtensionSchemas,\n updateDataExtensionSchema,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';\nimport { CustomFieldForm, WixPatternsContainer } from '../../state';\nimport { PatternsErrorHandler, WixPatternsEssentials } from '../../model';\nimport { updateDataExtensionSchemaErrors } from './updateDataExtensionSchemaErrors';\nimport { createDataExtensionSchemaErrors } from './createDataExtensionSchemaErrors';\n\nexport interface DataExtensionSchemaServiceParams {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler: PatternsErrorHandler;\n}\n\n// server types\nexport type DataExtensionType =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'array';\n\nexport type DataExtensionPermission =\n | 'apps'\n | 'owning-app'\n | 'users'\n | 'users-of-users';\n\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | string;\n title?: string;\n maxLength?: number;\n enum?: string[];\n 'x-wix-archived'?: boolean;\n 'x-wix-filterable'?: boolean;\n 'x-wix-created-date': string;\n 'x-wix-permissions': {\n read: DataExtensionPermission[];\n write: DataExtensionPermission[];\n };\n 'x-wix-pii'?: boolean;\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'date'\n | 'dateTime'\n | 'integer'\n | 'decimal'\n | 'checkbox'\n | 'dropdown';\n\nexport type CustomFieldOrigin =\n | 'Custom columns panel'\n | 'Custom fields panel'\n | 'Custom fields widget'\n | 'external';\n\nexport interface ExtendedFields {\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: Record<string, Record<string, any> | undefined>;\n}\n\nexport type CustomFieldOwner = 'user' | 'app';\n\nexport interface CustomField {\n id: string;\n type: CustomFieldType;\n label?: string;\n maxLength?: number;\n options?: string[];\n editable: boolean;\n filterable?: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n}\n\nexport interface AddFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n form: CustomFieldForm;\n filterable?: boolean;\n}\n\nexport interface ArchiveFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n id: string;\n}\n\nexport class DataExtensionSchemaService {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler;\n\n readonly userFieldsNamespace = '_user_fields';\n\n static toSchemaType(type?: CustomFieldType) {\n switch (type) {\n case 'shortText':\n return {\n type: 'string',\n format: 'single-line',\n maxLength: 120,\n };\n case 'longText':\n return {\n type: 'string',\n maxLength: 200,\n };\n case 'date':\n return {\n type: 'string',\n format: 'date',\n };\n case 'dateTime':\n return {\n type: 'string',\n format: 'date-time',\n };\n case 'integer':\n return {\n type: 'integer',\n };\n case 'decimal':\n return {\n type: 'number',\n };\n case 'checkbox':\n return {\n type: 'boolean',\n };\n case 'dropdown':\n return {\n type: 'array',\n items: {\n type: 'string',\n },\n };\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n static toCustomType(field: DataExtensionField): CustomFieldType {\n switch (field.type) {\n case 'string':\n if (field.hasOwnProperty('enum')) {\n return 'dropdown';\n }\n\n switch (field.format) {\n case 'date-time':\n return 'dateTime';\n case 'date':\n return 'date';\n case 'single-line':\n return 'shortText';\n default:\n return 'longText';\n }\n case 'number':\n return 'decimal';\n case 'integer':\n return 'integer';\n case 'boolean':\n return 'checkbox';\n case 'array':\n return 'dropdown';\n default:\n return 'shortText';\n }\n }\n\n static toCustomField(\n schema: DataExtensionSchema,\n key: string,\n ): DataExtensionField | undefined {\n const property: DataExtensionField = schema.jsonSchema?.properties?.[key];\n\n if (!property || typeof property !== 'object') {\n return;\n }\n\n if (\n typeof property.title !== 'string' ||\n typeof property.type !== 'string' ||\n typeof property['x-wix-permissions'] !== 'object'\n ) {\n return;\n }\n\n return { ...property, id: key };\n }\n\n constructor(params: DataExtensionSchemaServiceParams) {\n this.httpClient = params.httpClient;\n this.translate = params.translate;\n this.errorHandler = params.errorHandler;\n }\n addCustomField(params: AddFieldParams) {\n const { userFieldsNamespace } = this;\n const {\n form: {\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n fqdn,\n } = params;\n const type = DataExtensionSchemaService.toSchemaType(params.form.type);\n\n const permissions = {\n read: [\n 'users',\n ...(readUsers ? ['users-of-users'] : []),\n ...(readApps ? ['apps'] : []),\n ],\n write: [\n 'users',\n ...(writeUsers ? ['users-of-users'] : []),\n ...(writeApps ? ['apps'] : []),\n ],\n };\n\n const filterable = params.filterable ? { 'x-wix-filterable': true } : {};\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [key]: {\n ...params.schema?.jsonSchema?.properties[key],\n title: name,\n ...(containsPii ? { 'x-wix-pii': true } : {}),\n ...type,\n 'x-wix-permissions': permissions,\n ...filterable,\n },\n },\n },\n };\n\n return params.schema?.id\n ? this._updateDataExtensionSchema(schema)\n : this._createDataExtensionSchema(schema);\n }\n\n archiveCustomField(params: ArchiveFieldParams) {\n const { userFieldsNamespace } = this;\n const { id, fqdn } = params;\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [id]: {\n ...params.schema?.jsonSchema?.properties[id],\n 'x-wix-archived': true,\n },\n },\n },\n };\n return this._updateDataExtensionSchema(schema);\n }\n\n fetchSchemas(fqdn: string) {\n const { httpClient } = this;\n\n return httpClient\n .request(\n listDataExtensionSchemas({\n fqdn,\n namespaces: [],\n fields: [RequestedField.ARCHIVED],\n }),\n )\n .then((res) => res.data);\n }\n\n private async _createDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n createDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n {\n errorCodesMap: createDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n },\n )\n .then((res) => res.data);\n }\n\n private async _updateDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n updateDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n {\n errorCodesMap: updateDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n },\n )\n .then((res) => res.data);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_types","require","_http","_updateDataExtensionSchemaErrors","_createDataExtensionSchemaErrors","DataExtensionSchemaService","toSchemaType","type","format","maxLength","items","Error","toCustomType","field","hasOwnProperty","_field$items","toCustomField","schema","key","_schema$jsonSchema","property","jsonSchema","properties","title","id","constructor","params","_defineProperty2","default","httpClient","translate","errorHandler","addCustomField","_params$schema","_params$schema2","_params$schema3","userFieldsNamespace","form","name","readApps","readUsers","writeApps","writeUsers","containsPii","fqdn","permissions","read","write","filterable","namespace","_updateDataExtensionSchema","_createDataExtensionSchema","archiveCustomField","_params$schema4","_params$schema5","fetchSchemas","request","listDataExtensionSchemas","namespaces","fields","RequestedField","ARCHIVED","then","res","data","withErrorHandler","createDataExtensionSchema","dataExtensionSchema","errorCodesMap","createDataExtensionSchemaErrors","updateDataExtensionSchema","updateDataExtensionSchemaErrors","exports"],"sources":["../../../../src/services/DataExtensionService/dataExtensionService.ts"],"sourcesContent":["import {\n DataExtensionSchema,\n RequestedField,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport {\n createDataExtensionSchema,\n listDataExtensionSchemas,\n updateDataExtensionSchema,\n} from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/http';\nimport { CustomFieldForm, WixPatternsContainer } from '../../state';\nimport { PatternsErrorHandler, WixPatternsEssentials } from '../../model';\nimport { updateDataExtensionSchemaErrors } from './updateDataExtensionSchemaErrors';\nimport { createDataExtensionSchemaErrors } from './createDataExtensionSchemaErrors';\n\nexport interface DataExtensionSchemaServiceParams {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler: PatternsErrorHandler;\n}\n\n// server types\nexport type DataExtensionType =\n | 'string'\n | 'number'\n | 'integer'\n | 'boolean'\n | 'array'\n | 'object';\n\nexport type DataExtensionPermission =\n | 'apps'\n | 'owning-app'\n | 'users'\n | 'users-of-users';\n\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | string;\n title?: string;\n maxLength?: number;\n enum?: string[];\n 'x-wix-archived'?: boolean;\n 'x-wix-filterable'?: boolean;\n 'x-wix-created-date': string;\n 'x-wix-object-type'?: string;\n 'x-wix-permissions': {\n read: DataExtensionPermission[];\n write: DataExtensionPermission[];\n };\n properties?: Record<string, any>;\n items?: DataExtensionField;\n 'x-wix-pii'?: boolean;\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'date'\n | 'dateTime'\n | 'integer'\n | 'decimal'\n | 'checkbox'\n | 'dropdown'\n | 'files';\n\nexport type CustomFieldOrigin =\n | 'Custom columns panel'\n | 'Custom fields panel'\n | 'Custom fields widget'\n | 'external';\n\nexport interface ExtendedFields {\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: Record<string, Record<string, any> | undefined>;\n}\n\nexport type CustomFieldOwner = 'user' | 'app';\n\nexport interface CustomField {\n id: string;\n type: CustomFieldType;\n label?: string;\n maxLength?: number;\n options?: string[];\n editable: boolean;\n filterable?: boolean;\n owner: CustomFieldOwner;\n properties?: Record<string, string>;\n namespace: string;\n}\n\nexport interface AddFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n form: CustomFieldForm;\n filterable?: boolean;\n}\n\nexport interface ArchiveFieldParams {\n schema?: DataExtensionSchema;\n fqdn: string;\n id: string;\n}\n\nexport class DataExtensionSchemaService {\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly translate: WixPatternsContainer['translate'];\n readonly errorHandler;\n\n readonly userFieldsNamespace = '_user_fields';\n\n static toSchemaType(type?: CustomFieldType) {\n switch (type) {\n case 'shortText':\n return {\n type: 'string',\n format: 'single-line',\n maxLength: 120,\n };\n case 'longText':\n return {\n type: 'string',\n maxLength: 200,\n };\n case 'date':\n return {\n type: 'string',\n format: 'date',\n };\n case 'dateTime':\n return {\n type: 'string',\n format: 'date-time',\n };\n case 'integer':\n return {\n type: 'integer',\n };\n case 'decimal':\n return {\n type: 'number',\n };\n case 'checkbox':\n return {\n type: 'boolean',\n };\n case 'dropdown':\n return {\n type: 'array',\n items: {\n type: 'string',\n },\n };\n default:\n throw new Error(`Unexpected type: ${type}`);\n }\n }\n\n static toCustomType(field: DataExtensionField): CustomFieldType {\n switch (field.type) {\n case 'string':\n if (field.hasOwnProperty('enum')) {\n return 'dropdown';\n }\n switch (field.format) {\n case 'date-time':\n return 'dateTime';\n case 'date':\n return 'date';\n case 'single-line':\n return 'shortText';\n default:\n return 'longText';\n }\n case 'number':\n return 'decimal';\n case 'integer':\n return 'integer';\n case 'boolean':\n return 'checkbox';\n case 'array': {\n if (field.items?.['x-wix-object-type'] === 'FILE/V1') {\n return 'files';\n }\n return 'dropdown';\n }\n case 'object': {\n if (field['x-wix-object-type'] === 'FILE/V1') {\n return 'files';\n }\n return 'dropdown';\n }\n default:\n return 'shortText';\n }\n }\n\n static toCustomField(\n schema: DataExtensionSchema,\n key: string,\n ): DataExtensionField | undefined {\n const property: DataExtensionField = schema.jsonSchema?.properties?.[key];\n\n if (!property || typeof property !== 'object') {\n return;\n }\n\n if (\n typeof property.title !== 'string' ||\n typeof property.type !== 'string' ||\n typeof property['x-wix-permissions'] !== 'object'\n ) {\n return;\n }\n\n return { ...property, id: key };\n }\n\n constructor(params: DataExtensionSchemaServiceParams) {\n this.httpClient = params.httpClient;\n this.translate = params.translate;\n this.errorHandler = params.errorHandler;\n }\n addCustomField(params: AddFieldParams) {\n const { userFieldsNamespace } = this;\n const {\n form: {\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n fqdn,\n } = params;\n const type = DataExtensionSchemaService.toSchemaType(params.form.type);\n\n const permissions = {\n read: [\n 'users',\n ...(readUsers ? ['users-of-users'] : []),\n ...(readApps ? ['apps'] : []),\n ],\n write: [\n 'users',\n ...(writeUsers ? ['users-of-users'] : []),\n ...(writeApps ? ['apps'] : []),\n ],\n };\n\n const filterable = params.filterable ? { 'x-wix-filterable': true } : {};\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [key]: {\n ...params.schema?.jsonSchema?.properties[key],\n title: name,\n ...(containsPii ? { 'x-wix-pii': true } : {}),\n ...type,\n 'x-wix-permissions': permissions,\n ...filterable,\n },\n },\n },\n };\n\n return params.schema?.id\n ? this._updateDataExtensionSchema(schema)\n : this._createDataExtensionSchema(schema);\n }\n\n archiveCustomField(params: ArchiveFieldParams) {\n const { userFieldsNamespace } = this;\n const { id, fqdn } = params;\n\n const schema: DataExtensionSchema = {\n fqdn,\n namespace: userFieldsNamespace,\n ...params.schema,\n jsonSchema: {\n properties: {\n ...params.schema?.jsonSchema?.properties,\n [id]: {\n ...params.schema?.jsonSchema?.properties[id],\n 'x-wix-archived': true,\n },\n },\n },\n };\n return this._updateDataExtensionSchema(schema);\n }\n\n fetchSchemas(fqdn: string) {\n const { httpClient } = this;\n\n return httpClient\n .request(\n listDataExtensionSchemas({\n fqdn,\n namespaces: [],\n fields: [RequestedField.ARCHIVED],\n }),\n )\n .then((res) => res.data);\n }\n\n private async _createDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n createDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n {\n errorCodesMap: createDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n },\n )\n .then((res) => res.data);\n }\n\n private async _updateDataExtensionSchema(schema: DataExtensionSchema) {\n const { httpClient, errorHandler } = this;\n return errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n updateDataExtensionSchema({ dataExtensionSchema: schema }),\n ),\n {\n errorCodesMap: updateDataExtensionSchemaErrors({\n translate: this.translate,\n }),\n },\n )\n .then((res) => res.data);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -43,35 +43,40 @@ class CustomFieldsViewWidgetState {
43
43
  }));
44
44
  }
45
45
  init() {
46
- const {
47
- initTask
48
- } = this;
49
- initTask.runOnce(async () => {
50
- var _this$dataExtension$i, _this$apps$initTask$s;
51
- this.dataExtension.init();
52
- await ((_this$dataExtension$i = this.dataExtension.initTask.status.promise) == null ? void 0 : _this$dataExtension$i.catch(err => {
53
- const cairoError = new _services.WixPatternsError({
54
- errorCode: 'InitCustomFieldsDataExtensionFailed',
55
- originalException: err
56
- });
57
- this.container.internalMonitor.reportError({
58
- error: cairoError
59
- });
60
- this.reportBi((0, _v.cairoErrorInLoadingAComponent)({
61
- errorType: cairoError.name
62
- }));
63
- throw cairoError;
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(() => {}));
69
- this.reportBi((0, _v.loadEnd)({
70
- url: this.url,
71
- loadingTime: Math.round(performance.now() - this.startTime)
72
- }));
46
+ this.initTask.runOnce(async () => {
47
+ await this.initDataExtension();
48
+ this.initApps();
73
49
  });
74
50
  }
51
+ initDataExtension() {
52
+ var _this$dataExtension$i;
53
+ this.dataExtension.init();
54
+ return (_this$dataExtension$i = this.dataExtension.initTask.status.promise) == null ? void 0 : _this$dataExtension$i.catch(this.onInitError.bind(this));
55
+ }
56
+ initApps() {
57
+ var _this$apps$initTask$s;
58
+ const appIds = (this.dataExtension.appSchemas || []).map(schema => schema.appDefId).filter(Boolean);
59
+ this.apps.init(appIds);
60
+ (_this$apps$initTask$s = this.apps.initTask.status.promise) == null || _this$apps$initTask$s.then(() => this.reportBi((0, _v.loadEnd)({
61
+ url: this.url,
62
+ loadingTime: Math.round(performance.now() - this.startTime)
63
+ }))).catch(
64
+ // do nothing
65
+ () => {});
66
+ }
67
+ onInitError(err) {
68
+ const cairoError = new _services.WixPatternsError({
69
+ errorCode: 'InitCustomFieldsDataExtensionFailed',
70
+ originalException: err
71
+ });
72
+ this.container.internalMonitor.reportError({
73
+ error: cairoError
74
+ });
75
+ this.reportBi((0, _v.cairoErrorInLoadingAComponent)({
76
+ errorType: cairoError.name
77
+ }));
78
+ throw cairoError;
79
+ }
75
80
  retry() {
76
81
  this.reportBi((0, _v.cairoTryAgainClicked)({
77
82
  filteredListSize: this.dataExtension.availableUserCustomFields.length,
@@ -96,11 +101,12 @@ class CustomFieldsViewWidgetState {
96
101
  var _extendedFields$names;
97
102
  const userCustomFields = this.dataExtension.availableUserCustomFields;
98
103
  const fields = (extendedFields == null || (_extendedFields$names = extendedFields.namespaces) == null ? void 0 : _extendedFields$names[namespace]) ?? {};
99
- return userCustomFields.filter(field => {
104
+ const filteredFields = userCustomFields.filter(field => {
100
105
  const fieldValue = fields[field.id];
101
106
  const isEmpty = fieldValue === null || fieldValue === undefined;
102
107
  return !isEmpty;
103
108
  });
109
+ return filteredFields;
104
110
  }
105
111
  const appSchema = (_this$dataExtension$a = this.dataExtension.appSchemas) == null ? void 0 : _this$dataExtension$a.find(schema => schema.namespace === namespace);
106
112
  const appFields = appSchema ? this.dataExtension.getAvailableCustomFieldsForApp(appSchema) : [];
@@ -1 +1 @@
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 './WixPatternsContainer';\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-os-data/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":[]}
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","initDataExtension","initApps","_this$dataExtension$i","status","promise","catch","onInitError","bind","_this$apps$initTask$s","appIds","appSchemas","map","schema","appDefId","filter","Boolean","then","loadEnd","loadingTime","Math","round","startTime","err","cairoError","WixPatternsError","errorCode","originalException","internalMonitor","reportError","error","cairoErrorInLoadingAComponent","errorType","name","retry","cairoTryAgainClicked","filteredListSize","availableUserCustomFields","length","actionName","loaction","isLoading","isIdle","isError","getExtendedFieldsToDisplayForNamespace","namespace","extendedFields","_this$dataExtension$a","isUserNamespace","_extendedFields$names","userCustomFields","fields","namespaces","filteredFields","field","fieldValue","id","isEmpty","undefined","appSchema","find","appFields","getAvailableCustomFieldsForApp","getAppName","_this$dataExtension$a2","appNames","exports"],"sources":["../../../src/state/CustomFieldsViewWidgetState.ts"],"sourcesContent":["import { WixPatternsContainer } from './WixPatternsContainer';\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-os-data/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 this.initTask.runOnce(async () => {\n await this.initDataExtension();\n this.initApps();\n });\n }\n\n initDataExtension() {\n this.dataExtension.init();\n return this.dataExtension.initTask.status.promise?.catch(\n this.onInitError.bind(this),\n );\n }\n\n initApps() {\n const appIds = (this.dataExtension.appSchemas || [])\n .map((schema) => schema.appDefId)\n .filter(Boolean) as string[];\n\n this.apps.init(appIds);\n this.apps.initTask.status.promise\n ?.then(() =>\n this.reportBi(\n loadEnd({\n url: this.url,\n loadingTime: Math.round(performance.now() - this.startTime),\n }),\n ),\n )\n .catch(\n // do nothing\n () => {},\n );\n }\n\n onInitError(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 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 const filteredFields = userCustomFields.filter((field) => {\n const fieldValue = fields[field.id];\n const isEmpty = fieldValue === null || fieldValue === undefined;\n return !isEmpty;\n });\n return filteredFields;\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":[]}
@@ -25,15 +25,16 @@ class DataExtensionState {
25
25
  (0, _defineProperty2.default)(this, "container", void 0);
26
26
  (0, _defineProperty2.default)(this, "customFieldModalState", void 0);
27
27
  (0, _defineProperty2.default)(this, "archiveFieldModal", void 0);
28
+ (0, _defineProperty2.default)(this, "_hasWritePermissions", void 0);
28
29
  (0, _defineProperty2.default)(this, "closeSidePanel", void 0);
29
30
  (0, _defineProperty2.default)(this, "reportBi", void 0);
30
31
  (0, _defineProperty2.default)(this, "fqdn", void 0);
32
+ (0, _defineProperty2.default)(this, "MAX_CUSTOM_FIELDS", 50);
31
33
  (0, _defineProperty2.default)(this, "userSchema", undefined);
32
34
  (0, _defineProperty2.default)(this, "appSchemas", undefined);
33
35
  (0, _defineProperty2.default)(this, "containsPii", void 0);
34
36
  (0, _defineProperty2.default)(this, "disableUserDefinedWriting", void 0);
35
37
  (0, _defineProperty2.default)(this, "filterable", void 0);
36
- (0, _defineProperty2.default)(this, "_hasWritePermissions", void 0);
37
38
  this.container = params.container;
38
39
  this.disableUserDefinedWriting = params.disableUserDefinedWriting;
39
40
  this.filterable = params.filterable;
@@ -201,6 +202,7 @@ class DataExtensionState {
201
202
  editable,
202
203
  filterable: schema['x-wix-filterable'],
203
204
  owner,
205
+ properties: (schema == null ? void 0 : schema.properties) ?? {},
204
206
  namespace
205
207
  };
206
208
  }
@@ -216,17 +218,21 @@ class DataExtensionState {
216
218
  owner,
217
219
  namespace
218
220
  }) {
219
- return Object.keys(properties).filter(key => {
221
+ const filteredFields = Object.keys(properties).filter(key => {
220
222
  const field = properties[key];
221
- return !field['x-wix-archived'] && this.isSupportedFieldType(field.type) && (requiredPermissions == null || (0, _DataExtensionField.includesAllReadPermissions)(field, requiredPermissions));
222
- }).sort((a, b) => {
223
+ const isAllowedType = this.isSupportedFieldType(field.type) || field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1';
224
+ const isPermitted = requiredPermissions == null || (0, _DataExtensionField.includesAllReadPermissions)(field, requiredPermissions);
225
+ return !field['x-wix-archived'] && isAllowedType && isPermitted;
226
+ });
227
+ const sorted = filteredFields.sort((a, b) => {
223
228
  const aVal = new Date(properties[a]['x-wix-created-date']);
224
229
  const bVal = new Date(properties[b]['x-wix-created-date']);
225
230
  if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {
226
231
  return 0;
227
232
  }
228
233
  return aVal.valueOf() - bVal.valueOf();
229
- }).map(key => this._toCustomField({
234
+ });
235
+ return sorted.map(key => this._toCustomField({
230
236
  key,
231
237
  schema: properties[key],
232
238
  editable,
@@ -241,11 +247,12 @@ class DataExtensionState {
241
247
  get availableUserCustomFields() {
242
248
  var _this$userSchema;
243
249
  const properties = ((_this$userSchema = this.userSchema) == null || (_this$userSchema = _this$userSchema.jsonSchema) == null ? void 0 : _this$userSchema.properties) || {};
244
- return this.getAvailableCustomFieldsInSchema(properties, {
250
+ const fields = this.getAvailableCustomFieldsInSchema(properties, {
245
251
  editable: true,
246
252
  owner: 'user',
247
253
  namespace: '_user_fields'
248
254
  });
255
+ return fields;
249
256
  }
250
257
  get availableAppsCustomFields() {
251
258
  var _this$appSchemas;