@wix/bex-core 2.119.0 → 2.122.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 (76) hide show
  1. package/dist/cjs/assets/locale/messages_cs.json +6 -0
  2. package/dist/cjs/assets/locale/messages_da.json +6 -0
  3. package/dist/cjs/assets/locale/messages_de.json +6 -0
  4. package/dist/cjs/assets/locale/messages_en.json +7 -1
  5. package/dist/cjs/assets/locale/messages_es.json +6 -0
  6. package/dist/cjs/assets/locale/messages_fr.json +6 -0
  7. package/dist/cjs/assets/locale/messages_hi.json +6 -0
  8. package/dist/cjs/assets/locale/messages_id.json +6 -0
  9. package/dist/cjs/assets/locale/messages_it.json +6 -0
  10. package/dist/cjs/assets/locale/messages_ja.json +6 -0
  11. package/dist/cjs/assets/locale/messages_ko.json +6 -0
  12. package/dist/cjs/assets/locale/messages_nl.json +6 -0
  13. package/dist/cjs/assets/locale/messages_no.json +6 -0
  14. package/dist/cjs/assets/locale/messages_pl.json +6 -0
  15. package/dist/cjs/assets/locale/messages_pt.json +6 -0
  16. package/dist/cjs/assets/locale/messages_ru.json +6 -0
  17. package/dist/cjs/assets/locale/messages_sv.json +6 -0
  18. package/dist/cjs/assets/locale/messages_th.json +6 -0
  19. package/dist/cjs/assets/locale/messages_tr.json +6 -0
  20. package/dist/cjs/assets/locale/messages_uk.json +6 -0
  21. package/dist/cjs/assets/locale/messages_vi.json +6 -0
  22. package/dist/cjs/assets/locale/messages_visuale2e.json +2 -1
  23. package/dist/cjs/assets/locale/messages_zh.json +6 -0
  24. package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
  25. package/dist/cjs/services/translations.js.map +1 -1
  26. package/dist/cjs/state/AppsState.js +1 -0
  27. package/dist/cjs/state/AppsState.js.map +1 -1
  28. package/dist/cjs/state/CustomFieldsViewWidgetState.js +4 -0
  29. package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
  30. package/dist/cjs/state/DataExtensionState.js +4 -3
  31. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  32. package/dist/cjs/state/index.js +7 -0
  33. package/dist/cjs/state/index.js.map +1 -1
  34. package/dist/esm/assets/locale/messages_cs.json +6 -0
  35. package/dist/esm/assets/locale/messages_da.json +6 -0
  36. package/dist/esm/assets/locale/messages_de.json +6 -0
  37. package/dist/esm/assets/locale/messages_en.json +7 -1
  38. package/dist/esm/assets/locale/messages_es.json +6 -0
  39. package/dist/esm/assets/locale/messages_fr.json +6 -0
  40. package/dist/esm/assets/locale/messages_hi.json +6 -0
  41. package/dist/esm/assets/locale/messages_id.json +6 -0
  42. package/dist/esm/assets/locale/messages_it.json +6 -0
  43. package/dist/esm/assets/locale/messages_ja.json +6 -0
  44. package/dist/esm/assets/locale/messages_ko.json +6 -0
  45. package/dist/esm/assets/locale/messages_nl.json +6 -0
  46. package/dist/esm/assets/locale/messages_no.json +6 -0
  47. package/dist/esm/assets/locale/messages_pl.json +6 -0
  48. package/dist/esm/assets/locale/messages_pt.json +6 -0
  49. package/dist/esm/assets/locale/messages_ru.json +6 -0
  50. package/dist/esm/assets/locale/messages_sv.json +6 -0
  51. package/dist/esm/assets/locale/messages_th.json +6 -0
  52. package/dist/esm/assets/locale/messages_tr.json +6 -0
  53. package/dist/esm/assets/locale/messages_uk.json +6 -0
  54. package/dist/esm/assets/locale/messages_vi.json +6 -0
  55. package/dist/esm/assets/locale/messages_visuale2e.json +2 -1
  56. package/dist/esm/assets/locale/messages_zh.json +6 -0
  57. package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
  58. package/dist/esm/state/AppsState.js +1 -0
  59. package/dist/esm/state/AppsState.js.map +1 -1
  60. package/dist/esm/state/CustomFieldsViewWidgetState.js +4 -0
  61. package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
  62. package/dist/esm/state/DataExtensionState.js +3 -2
  63. package/dist/esm/state/DataExtensionState.js.map +1 -1
  64. package/dist/esm/state/index.js +1 -0
  65. package/dist/esm/state/index.js.map +1 -1
  66. package/dist/types/services/DataExtensionService/dataExtensionService.d.ts +4 -0
  67. package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
  68. package/dist/types/services/translations.d.ts +1 -1
  69. package/dist/types/services/translations.d.ts.map +1 -1
  70. package/dist/types/state/AppsState.d.ts +1 -1
  71. package/dist/types/state/AppsState.d.ts.map +1 -1
  72. package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
  73. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  74. package/dist/types/state/index.d.ts +1 -0
  75. package/dist/types/state/index.d.ts.map +1 -1
  76. package/package.json +4 -4
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Usuń",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Odśwież widok",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Ustawień PII nie będzie można później zmienić.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "np. Włochy",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "Wartość „Do” musi być większa niż wartość „Od”.",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Anuluj",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Wyczyść filtry",
161
162
  "cairo.toolbar.moreFiltersButton": "Filtr",
162
163
  "cairo.export.exportFailedMessage": "Wystąpił błąd podczas próby wyeksportowania elementów.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Data",
164
166
  "cairo.customFields.fieldType.longText": "Długi tekst",
165
167
  "cairo.export.tryAgain": "Spróbuj ponownie",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Zastosuj",
182
184
  "cairo.picker.createNew.button.tooltip": "Wybrano maksymalną liczbę elementów. Odznacz element, aby utworzyć nowy.",
183
185
  "cairo.page.loadError.failedState.description": "Wystąpił problem techniczny po naszej stronie. Odśwież, aby spróbować ponownie.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Przywróć widok domyślny",
185
188
  "cairo.filtersPanel.date.title": "Data",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Domyślny widok został zresetowany.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Kod",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII nie można zmienić po utworzeniu. Aby je zmienić, utwórz nowe pole.",
250
253
  "section.header.items": "Elementy",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Liczba (całkowita)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "Etykiety ułatwiają filtrowanie i porządkowanie elementów.",
253
257
  "cairo.folders.showAll.button": "Pokaż",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
469
473
  "cairo.collectionsPage.add.item.CTA": "Dodaj artykuł",
470
474
  "cairo.tags.collectionPage.toast.update.error": "Nie można zaktualizować tagów z powodu problemu technicznego po naszej stronie.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Przypisz tagi",
472
477
  "cairo.table.clearFilters.button": "Wyczyść wszystko",
473
478
  "cairo.table.gridView": "Widok siatki",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Widok listy",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Utwórz nową etykietę",
504
509
  "cairo.passiveEmptyState.subtitle": "Po utworzeniu produktów zobaczysz je tutaj.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Nie udało się załadować tagów z powodu problemu technicznego po naszej stronie.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Sortuj",
507
513
  "cairo.emptyState.premium.cta": "Premium",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Excluir",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Atualizar visualização",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "As configurações de PII não podem ser alteradas posteriormente.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "Ex.: Itália",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "O valor \"Até\" deve ser maior do que o valor \"De\".",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Cancelar",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Limpar filtros",
161
162
  "cairo.toolbar.moreFiltersButton": "Filtrar",
162
163
  "cairo.export.exportFailedMessage": "Ocorreu um erro ao tentar exportar seus itens.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Data",
164
166
  "cairo.customFields.fieldType.longText": "Texto longo",
165
167
  "cairo.export.tryAgain": "Tentar novamente",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Aplicar",
182
184
  "cairo.picker.createNew.button.tooltip": "Você selecionou a quantidade máxima de itens. É necessário desmarcar um item para criar um novo.",
183
185
  "cairo.page.loadError.failedState.description": "Houve um problema técnico no nosso sistema. Recarregue para tentar novamente.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Redefinir visualização padrão",
185
188
  "cairo.filtersPanel.date.title": "Data",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Sua visualização padrão foi redefinida.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Chave de campo",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII não podem ser alteradas após a criação. Para alterá-las, crie um novo campo.",
250
253
  "section.header.items": "Itens",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Número (inteiro)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "As etiquetas ajudam a filtrar e organizar seus itens.",
253
257
  "cairo.folders.showAll.button": "Mostrar tudo",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Mín.",
469
473
  "cairo.collectionsPage.add.item.CTA": "Adicionar item",
470
474
  "cairo.tags.collectionPage.toast.update.error": "Não foi possível atualizar as tags devido a um problema técnico no nosso sistema.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Atribuir tags",
472
477
  "cairo.table.clearFilters.button": "Limpar tudo",
473
478
  "cairo.table.gridView": "Grade",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Lista",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Criar nova etiqueta",
504
509
  "cairo.passiveEmptyState.subtitle": "Quando houver itens, você os verá aqui.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Não foi possível carregar as tags devido a um problema técnico no nosso sistema.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Classificar",
507
513
  "cairo.emptyState.premium.cta": "Fazer upgrade",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Удалить",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Обновить",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Настройки PII нельзя будет изменить позже.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "например, Италия",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "Значение «До» должно быть больше значения «От».",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Отменить",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Очистить фильтры",
161
162
  "cairo.toolbar.moreFiltersButton": "Фильтр",
162
163
  "cairo.export.exportFailedMessage": "Во время экспорта возникла ошибка.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Дата",
164
166
  "cairo.customFields.fieldType.longText": "Длинный текст",
165
167
  "cairo.export.tryAgain": "Повторить",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Применить",
182
184
  "cairo.picker.createNew.button.tooltip": "Вы выбрали максимальное количество элементов. Чтобы создать еще один, снимите выделение в одного из выбранных.",
183
185
  "cairo.page.loadError.failedState.description": "Возникла техническая проблема на нашей стороне. Обновите страницу и попробуйте снова.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Сбросить настройки вида",
185
188
  "cairo.filtersPanel.date.title": "Дата",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Вид по умолчанию был сброшен.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Параметр",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "Личную информацию нельзя изменить после создания. Чтобы изменить ее, создайте новое поле.",
250
253
  "section.header.items": "Товары",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Число (целое)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "Метки помогают фильтровать и структурировать элементы.",
253
257
  "cairo.folders.showAll.button": "Показать все",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Мин.",
469
473
  "cairo.collectionsPage.add.item.CTA": "Добавить элемент",
470
474
  "cairo.tags.collectionPage.toast.update.error": "Не удалось обновить теги из-за технической проблемы на нашей стороне.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Назначить теги",
472
477
  "cairo.table.clearFilters.button": "Очистить все",
473
478
  "cairo.table.gridView": "Сетка",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Показать списком",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Создайте новую метку",
504
509
  "cairo.passiveEmptyState.subtitle": "Как только появятся элементы, вы увидите их здесь.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Не удалось загрузить теги из-за технической ошибки.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Сортировать",
507
513
  "cairo.emptyState.premium.cta": "Купить",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Radera",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Uppdatera vy",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PPI-inställningar kan inte ändras senare.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "t.ex. Italien",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "Värdet \"Till\" måste vara större än värdet \"Från\".",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Avbryt",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Rensa filter",
161
162
  "cairo.toolbar.moreFiltersButton": "Filtrera",
162
163
  "cairo.export.exportFailedMessage": "Det uppstod ett fel med att exportera dina objekt.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Datum",
164
166
  "cairo.customFields.fieldType.longText": "Lång text",
165
167
  "cairo.export.tryAgain": "Försök igen",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Sök",
182
184
  "cairo.picker.createNew.button.tooltip": "Du har valt det maximala antalet objekt. Avmarkera ett objekt för att skapa ett nytt.",
183
185
  "cairo.page.loadError.failedState.description": "Det uppstod ett tekniskt problem på vår sida. Uppdatera för att försöka igen.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Återställ standardvy",
185
188
  "cairo.filtersPanel.date.title": "Datum",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Din standardvy har återställts.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Nyckel",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PPI kan inte ändras efter skapandet. Skapa ett nytt fält för att ändra det.",
250
253
  "section.header.items": "Artiklar",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Siffra (heltal)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "Etiketter hjälper dig filtrera och hålla ordning på dina objekt.",
253
257
  "cairo.folders.showAll.button": "Visa alla",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
469
473
  "cairo.collectionsPage.add.item.CTA": "Lägg till",
470
474
  "cairo.tags.collectionPage.toast.update.error": "Det gick inte att uppdatera taggarna på grund av ett tekniskt problem på vår sida.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Tilldela taggar",
472
477
  "cairo.table.clearFilters.button": "Rensa allt",
473
478
  "cairo.table.gridView": "Rutnätsvy",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Listvy",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Skapa en ny etikett",
504
509
  "cairo.passiveEmptyState.subtitle": "När det finns objekt ser du dem här.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Det gick inte att läsa in taggarna på grund av ett tekniskt problem på vår sida.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Sortering",
507
513
  "cairo.emptyState.premium.cta": "Uppgradera",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "ลบ",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "รีเฟรชมุมมอง",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "การตั้งค่า PII ไม่สามารถเปลี่ยนแปลงในภายหลัง",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "เช่น อิตาลี",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "ค่า \"จนถึง\" ต้องมากกว่าค่า \"ตั้งแต่\"",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "ยกเลิก",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "ล้างตัวกรอง",
161
162
  "cairo.toolbar.moreFiltersButton": "ตัวกรอง",
162
163
  "cairo.export.exportFailedMessage": "เกิดข้อผิดพลาดขณะพยายามส่งออกข้อมูลของคุณ",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "วันที่",
164
166
  "cairo.customFields.fieldType.longText": "ข้อความยาว ๆ",
165
167
  "cairo.export.tryAgain": "ลองอีกครั้ง",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "นำไปใช้",
182
184
  "cairo.picker.createNew.button.tooltip": "คุณเลือกไว้ครบจำนวนสูงสุดที่กำหนดแล้ว กรุณายกเลิกการเลือกเพื่อสร้างรายการใหม่",
183
185
  "cairo.page.loadError.failedState.description": "พบปัญหาทางเทคนิคในส่วนของเรา โปรดลองโหลดอีกครั้ง",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "รีเซ็ตมุมมองตั้งต้น",
185
188
  "cairo.filtersPanel.date.title": "วันที่",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "รีเซ็ตมุมมองเริ่มต้นของคุณแล้ว",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "คีย์",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "คุณจะไม่สามารถเปลี่ยนแปลง PII หลังสร้างขึ้น หากต้องการเปลี่ยน โปรดสร้างช่องข้อมูลใหม่",
250
253
  "section.header.items": "รายการ",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "ตัวเลข (จำนวนเต็ม)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "ป้ายกำกับจะช่วยคุณในการกรองและจัดระเบียบรายการต่าง ๆ",
253
257
  "cairo.folders.showAll.button": "แสดงทั้งหมด",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "ขั้นต่ำ",
469
473
  "cairo.collectionsPage.add.item.CTA": "เพิ่มรายการ",
470
474
  "cairo.tags.collectionPage.toast.update.error": "ไม่สามารถอัปเดตแท็กได้เนื่องจากปัญหาทางเทคนิคในส่วนของเรา",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "มอบแท็ก",
472
477
  "cairo.table.clearFilters.button": "ล้างทั้งหมด",
473
478
  "cairo.table.gridView": "มุมมองแบบตาราง",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "มุมมองรายการ",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "สร้างป้ายกำกับใหม่",
504
509
  "cairo.passiveEmptyState.subtitle": "เมื่อมีรายการที่จะแสดง ข้อมูลจะมาปรากฏที่นี่",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "ไม่สามารถโหลดแท็กได้เนื่องจากปัญหาทางเทคนิคในส่วนของเรา",
506
512
  "cairo.table.advanced-sorting.button.cta": "จัดเรียง",
507
513
  "cairo.emptyState.premium.cta": "อัปเกรด",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Sil",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Görünümü Yenile",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "KTB ayarları daha sonra değiştirilemez.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "Ör. İtalya",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "Bitiş değeri başlangıç değerinden büyük olmalıdır.",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "İptal",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Filtreleri Kaldır",
161
162
  "cairo.toolbar.moreFiltersButton": "Filtrele",
162
163
  "cairo.export.exportFailedMessage": "Ögeleriniz dışa aktarılırken bir hata oluştu.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Tarih",
164
166
  "cairo.customFields.fieldType.longText": "Uzun metin",
165
167
  "cairo.export.tryAgain": "Tekrar Dene",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Uygula",
182
184
  "cairo.picker.createNew.button.tooltip": "Maksimum sayıda öge seçtiniz. Yeni oluşturmak için bir ögenin seçimini kaldırın.",
183
185
  "cairo.page.loadError.failedState.description": "Bizim tarafımızda teknik bir sorun oluştu. Yeniden denemek için sayfayı tekrar yükleyin.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Varsayılan Görünümü Sıfırla",
185
188
  "cairo.filtersPanel.date.title": "Tarih",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Varsayılan görünümünüz sıfırlandı.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Anahtar",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "KTB oluşturulduktan sonra değiştirilemez. Değiştirmek için yeni bir alan oluşturun.",
250
253
  "section.header.items": "Ögeler",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Sayı (tam sayı)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "Etiketler, ögelerinizi filtrelemenize ve düzenlemenize yardımcı olur.",
253
257
  "cairo.folders.showAll.button": "Tümünü Göster",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
469
473
  "cairo.collectionsPage.add.item.CTA": "Öge Ekle",
470
474
  "cairo.tags.collectionPage.toast.update.error": "Bizim tarafımızdaki teknik bir sorun nedeniyle etiketler güncellenemedi.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Etiket Ata",
472
477
  "cairo.table.clearFilters.button": "Tümünü Temizle",
473
478
  "cairo.table.gridView": "Izgara görünümü",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Liste görünümü",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Yeni etiket oluşturun",
504
509
  "cairo.passiveEmptyState.subtitle": "Eklenen ögeleri burada göreceksiniz.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Bizim tarafımızdaki teknik bir sorun nedeniyle etiketler yüklenemedi.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Sırala",
507
513
  "cairo.emptyState.premium.cta": "Yükselt",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Видалити",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Оновити",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Персональні дані не можна буде змінити пізніше.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "напр., Італія",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "Значення «До» має бути більше ніж значення «Від».",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Скасувати",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Очистити фільтри",
161
162
  "cairo.toolbar.moreFiltersButton": "Фільтрувати",
162
163
  "cairo.export.exportFailedMessage": "Під час спроби експорту товарів сталася помилка.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Дата",
164
166
  "cairo.customFields.fieldType.longText": "Довгий текст",
165
167
  "cairo.export.tryAgain": "Спробуйте ще раз",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Застосувати",
182
184
  "cairo.picker.createNew.button.tooltip": "Вибрано максимальну кількість елементів. Щоб створити новий елемент, зніміть виділення з одного з елементів.",
183
185
  "cairo.page.loadError.failedState.description": "У нас виникла технічна проблема. Оновіть, щоб спробувати знову.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Скинути стандартний перегляд",
185
188
  "cairo.filtersPanel.date.title": "Дата",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Стандартний перегляд скинуто.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Ключ",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "Персональні дані не можна змінювати після створення. Щоб змінити їх, створіть нове поле.",
250
253
  "section.header.items": "Елементи",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Число (ціле)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "Мітки допомагають фільтрувати й упорядковувати позиції.",
253
257
  "cairo.folders.showAll.button": "Показати всі",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Мін.",
469
473
  "cairo.collectionsPage.add.item.CTA": "Додати елемент",
470
474
  "cairo.tags.collectionPage.toast.update.error": "Не вдається оновити теги, бо в нас виникла технічна проблема.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Призначити теги",
472
477
  "cairo.table.clearFilters.button": "Очистити все",
473
478
  "cairo.table.gridView": "Таблиця",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Список",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Створіть нову мітку",
504
509
  "cairo.passiveEmptyState.subtitle": "Як тільки елементи з'являться, ви побачите їх тут.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Не вдалося завантажити теги, бо в нас виникла технічна проблема.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Сортувати",
507
513
  "cairo.emptyState.premium.cta": "На Преміум",
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Xóa",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "Làm mới dạng xem",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Không thể thay thiết lập PII sau này.",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "VD: Ý",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "Giá trị \"Đến\" phải lớn hơn giá trị \"Từ\".",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Hủy",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Xóa bộ lọc",
161
162
  "cairo.toolbar.moreFiltersButton": "Lọc",
162
163
  "cairo.export.exportFailedMessage": "Đã xảy ra lỗi khi tìm cách xuất các mục của bạn.",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "Ngày",
164
166
  "cairo.customFields.fieldType.longText": "Văn bản dài",
165
167
  "cairo.export.tryAgain": "Thử lại",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "Áp dụng",
182
184
  "cairo.picker.createNew.button.tooltip": "Bạn đã chọn số lượng mục tối đa. Bỏ chọn một mục để tạo mục mới.",
183
185
  "cairo.page.loadError.failedState.description": "Chúng tôi đã gặp phải vấn đề kỹ thuật. Tải lại để thử lại.",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "Đặt lại dạng xem mặc định",
185
188
  "cairo.filtersPanel.date.title": "Ngày",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "Dạng xem mặc định của bạn đã được đặt lại.",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Khóa",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "Không thể thay đổi PII sau khi tạo. Để thay đổi, hãy tạo một trường mới.",
250
253
  "section.header.items": "Mặt hàng",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "Số (số nguyên)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "Nhãn giúp bạn lọc và sắp xếp các mục.",
253
257
  "cairo.folders.showAll.button": "Hiện tất cả",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "Tối thiểu",
469
473
  "cairo.collectionsPage.add.item.CTA": "Thêm mục",
470
474
  "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.",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "Gắn thẻ",
472
477
  "cairo.table.clearFilters.button": "Xóa tất cả",
473
478
  "cairo.table.gridView": "Dạng xem lưới",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "Dạng xem danh sách",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "Tạo nhãn mới",
504
509
  "cairo.passiveEmptyState.subtitle": "Sau khi có các mục, bạn sẽ thấy chúng ở đây.",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Không thể tải các thẻ do chúng tôi gặp vấn đề kỹ thuật.",
506
512
  "cairo.table.advanced-sorting.button.cta": "Sắp xếp",
507
513
  "cairo.emptyState.premium.cta": "Nâng cấp",
@@ -293,5 +293,6 @@
293
293
  "cairo.dragAndDrop.live-region.itemDropped.sr": "Dropped at {currentNumber}.",
294
294
  "cairo.collectionPage.nestedLimit.tooltip": "{subCatsAmount, plural, =1 {There is a max of 1 sub-level.} other {There is a max of # sub-levels.}}",
295
295
  "cairo.viewsDropdown.allItems.label": "All items",
296
- "cairo.manageView.CTA": "Manage View"
296
+ "cairo.manageView.CTA": "Manage View",
297
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed."
297
298
  }
@@ -60,6 +60,7 @@
60
60
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "刪除",
61
61
  "cairo.updatedView.collectionPage.toast.cta": "重新整理檢視",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII 設定無法在日後變更。",
63
+ "cairo.tags.popover.assignFolder.tooltip": "Tags can be only assigned to items.",
63
64
  "cairo.customFields.fieldType.dropdownList.placeholder": "例如,義大利",
64
65
  "cairo.filtersPanel.numRange.maxRange.error": "「上限」值必須大於「下限」值。",
65
66
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "取消",
@@ -160,6 +161,7 @@
160
161
  "cairo.emptyState.filters.nothingFound.clearFilters.CTA": "清除篩選條件",
161
162
  "cairo.toolbar.moreFiltersButton": "篩選條件",
162
163
  "cairo.export.exportFailedMessage": "嘗試匯出項目時發生錯誤。",
164
+ "cairo.tags.bulkItemUpdate.updatingModal.title": "Updating tags…",
163
165
  "cairo.customFields.fieldType.date.inputTitle": "日期",
164
166
  "cairo.customFields.fieldType.longText": "詳盡文字",
165
167
  "cairo.export.tryAgain": "再試一次",
@@ -181,6 +183,7 @@
181
183
  "cairo.entityPage.header.apply.CTA": "套用",
182
184
  "cairo.picker.createNew.button.tooltip": "您選擇的項目數量已達上限。請取消選擇部分項目或建立新請款單。",
183
185
  "cairo.page.loadError.failedState.description": "我們這邊發生技術問題。重新載入以再試一次。",
186
+ "cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
184
187
  "cairo.manageView.setAsDefault.reset.CTA": "重設預設檢視",
185
188
  "cairo.filtersPanel.date.title": "日期",
186
189
  "cairo.manageView.setAsDefault.reset.success.toast": "預設檢視已重設。",
@@ -248,6 +251,7 @@
248
251
  "cairo.customFields.addCustomField.modal.advancedSettings.key.title": "密鑰",
249
252
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII 建立後無法變更。若要變更,請建立新欄位。",
250
253
  "section.header.items": "項目",
254
+ "cairo.tags.popover.bulkItemUpdate.tooltip": "You can't assign new tags while tags are being updated.",
251
255
  "cairo.customFields.fieldType.numberInteger": "數字(整數)",
252
256
  "airo.tags.collectionPage.popover.emptyState.body.asLabels": "標籤可幫助您篩選和整理項目。",
253
257
  "cairo.folders.showAll.button": "顯示全部",
@@ -468,6 +472,7 @@
468
472
  "cairo.filtersPanel.numRange.minRange-from.placeholder": "下限",
469
473
  "cairo.collectionsPage.add.item.CTA": "新增項目",
470
474
  "cairo.tags.collectionPage.toast.update.error": "由於我們這邊發生技術問題,因此無法更新標籤。",
475
+ "cairo.tags.bulkItemUpdate.updatingModal.body": "This may take a few moments. You can close this window to keep working while we update your tags.",
471
476
  "cairo.tags.tagsWidget.add.CTA": "指派標籤",
472
477
  "cairo.table.clearFilters.button": "清除全部",
473
478
  "cairo.table.gridView": "網格檢視",
@@ -502,6 +507,7 @@
502
507
  "cairo.table.listView": "清單檢視",
503
508
  "cairo.tags.manageTags.modal.emptyState.title.asLabels": "建立新標籤",
504
509
  "cairo.passiveEmptyState.subtitle": "項目會在此處顯示。",
510
+ "cairo.customFields.tpaSection.tooltip": "These are fields created by an app you installed.",
505
511
  "cairo.tags.collectionPage.popover.loadTags.error.body": "由於我們這邊發生技術問題,因此無法載入標籤。",
506
512
  "cairo.table.advanced-sorting.button.cta": "排序",
507
513
  "cairo.emptyState.premium.cta": "升級",
@@ -1 +1 @@
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\ninterface DataExtensionFieldItems\n extends Partial<Omit<DataExtensionField, 'type' | 'maxLength'>> {\n type: Omit<DataExtensionType, 'array'>;\n maxLength: number;\n}\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | 'uri' | 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?: DataExtensionFieldItems;\n 'x-wix-pii'?: boolean;\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'url'\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 ExtendedFieldsDataMap {\n [key: string]: any;\n}\n\nexport interface ExtendedFields {\n _type?: 'ExtendedFields';\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: {\n _user_fields?: ExtendedFieldsDataMap | undefined;\n [key: string]: ExtendedFieldsDataMap | undefined;\n };\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 'url':\n return {\n type: 'string',\n format: 'uri',\n maxLength: 256,\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 | undefined {\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 'uri':\n return 'url';\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;\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\ninterface DataExtensionFieldItems\n extends Partial<Omit<DataExtensionField, 'type' | 'maxLength'>> {\n type: Omit<DataExtensionType, 'array'>;\n maxLength: number;\n}\nexport interface DataExtensionField {\n id: string;\n type?: DataExtensionType;\n format?: 'date-time' | 'date' | 'single-line' | 'uri' | 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?: DataExtensionFieldItems;\n 'x-wix-pii'?: boolean;\n}\n\n// client types\nexport type CustomFieldType =\n | 'shortText'\n | 'longText'\n | 'url'\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 ExtendedFieldsDataMap {\n [key: string]: any;\n}\n\nexport interface ExtendedFields {\n _type?: 'ExtendedFields';\n /**\n * Data Extensions extended fields\n * Key: Namespace\n * Value: extended fields data in Struct format\n */\n namespaces?: {\n _user_fields?: ExtendedFieldsDataMap | undefined;\n [key: string]: ExtendedFieldsDataMap | undefined;\n };\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 permissions?: {\n read?: DataExtensionPermission[];\n write?: DataExtensionPermission[];\n };\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 'url':\n return {\n type: 'string',\n format: 'uri',\n maxLength: 256,\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 | undefined {\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 'uri':\n return 'url';\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;\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":[]}