@wix/bex-core 2.115.0 → 2.119.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 (75) hide show
  1. package/dist/cjs/assets/locale/messages_da.json +2 -2
  2. package/dist/cjs/assets/locale/messages_id.json +2 -2
  3. package/dist/cjs/assets/locale/messages_ja.json +4 -4
  4. package/dist/cjs/assets/locale/messages_ko.json +2 -2
  5. package/dist/cjs/assets/locale/messages_nl.json +3 -3
  6. package/dist/cjs/assets/locale/messages_no.json +2 -2
  7. package/dist/cjs/assets/locale/messages_pl.json +2 -2
  8. package/dist/cjs/assets/locale/messages_sv.json +2 -2
  9. package/dist/cjs/assets/locale/messages_th.json +2 -2
  10. package/dist/cjs/assets/locale/messages_tr.json +2 -2
  11. package/dist/cjs/assets/locale/messages_vi.json +2 -2
  12. package/dist/cjs/assets/locale/messages_zh.json +2 -2
  13. package/dist/cjs/model/filter.js.map +1 -1
  14. package/dist/cjs/state/ArrayFilterState/ArrayFilterState.js +2 -0
  15. package/dist/cjs/state/ArrayFilterState/ArrayFilterState.js.map +1 -1
  16. package/dist/cjs/state/BulkSelectState.js +3 -0
  17. package/dist/cjs/state/BulkSelectState.js.map +1 -1
  18. package/dist/cjs/state/CollectionState.js +5 -2
  19. package/dist/cjs/state/CollectionState.js.map +1 -1
  20. package/dist/cjs/state/CustomFieldModalState.js +7 -2
  21. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  22. package/dist/cjs/state/DataExtensionState.js +60 -14
  23. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  24. package/dist/cjs/state/MultiCollectionSupport.js +6 -2
  25. package/dist/cjs/state/MultiCollectionSupport.js.map +1 -1
  26. package/dist/cjs/state/QueryState.js +11 -4
  27. package/dist/cjs/state/QueryState.js.map +1 -1
  28. package/dist/cjs/state/RangeFilterState/RangeFilterState.js +2 -0
  29. package/dist/cjs/state/RangeFilterState/RangeFilterState.js.map +1 -1
  30. package/dist/esm/assets/locale/messages_da.json +2 -2
  31. package/dist/esm/assets/locale/messages_id.json +2 -2
  32. package/dist/esm/assets/locale/messages_ja.json +4 -4
  33. package/dist/esm/assets/locale/messages_ko.json +2 -2
  34. package/dist/esm/assets/locale/messages_nl.json +3 -3
  35. package/dist/esm/assets/locale/messages_no.json +2 -2
  36. package/dist/esm/assets/locale/messages_pl.json +2 -2
  37. package/dist/esm/assets/locale/messages_sv.json +2 -2
  38. package/dist/esm/assets/locale/messages_th.json +2 -2
  39. package/dist/esm/assets/locale/messages_tr.json +2 -2
  40. package/dist/esm/assets/locale/messages_vi.json +2 -2
  41. package/dist/esm/assets/locale/messages_zh.json +2 -2
  42. package/dist/esm/state/ArrayFilterState/ArrayFilterState.js +1 -0
  43. package/dist/esm/state/ArrayFilterState/ArrayFilterState.js.map +1 -1
  44. package/dist/esm/state/BulkSelectState.js +3 -0
  45. package/dist/esm/state/BulkSelectState.js.map +1 -1
  46. package/dist/esm/state/CollectionState.js +2 -2
  47. package/dist/esm/state/CollectionState.js.map +1 -1
  48. package/dist/esm/state/CustomFieldModalState.js +5 -2
  49. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  50. package/dist/esm/state/DataExtensionState.js +43 -14
  51. package/dist/esm/state/DataExtensionState.js.map +1 -1
  52. package/dist/esm/state/MultiCollectionSupport.js +4 -2
  53. package/dist/esm/state/MultiCollectionSupport.js.map +1 -1
  54. package/dist/esm/state/QueryState.js +8 -4
  55. package/dist/esm/state/QueryState.js.map +1 -1
  56. package/dist/esm/state/RangeFilterState/RangeFilterState.js +1 -0
  57. package/dist/esm/state/RangeFilterState/RangeFilterState.js.map +1 -1
  58. package/dist/types/model/filter.d.ts +5 -0
  59. package/dist/types/model/filter.d.ts.map +1 -1
  60. package/dist/types/state/ArrayFilterState/ArrayFilterState.d.ts +1 -0
  61. package/dist/types/state/ArrayFilterState/ArrayFilterState.d.ts.map +1 -1
  62. package/dist/types/state/BulkSelectState.d.ts +1 -0
  63. package/dist/types/state/BulkSelectState.d.ts.map +1 -1
  64. package/dist/types/state/CollectionState.d.ts +2 -1
  65. package/dist/types/state/CollectionState.d.ts.map +1 -1
  66. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  67. package/dist/types/state/DataExtensionState.d.ts +11 -2
  68. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  69. package/dist/types/state/MultiCollectionSupport.d.ts +3 -1
  70. package/dist/types/state/MultiCollectionSupport.d.ts.map +1 -1
  71. package/dist/types/state/QueryState.d.ts +5 -2
  72. package/dist/types/state/QueryState.d.ts.map +1 -1
  73. package/dist/types/state/RangeFilterState/RangeFilterState.d.ts +1 -0
  74. package/dist/types/state/RangeFilterState/RangeFilterState.d.ts.map +1 -1
  75. package/package.json +4 -4
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Vælg en felttype.",
71
71
  "cairo.filtersPanel.date.today": "I dag",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Kunne ikke oprette tag.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Der er ikke tildelt nogen tags endnu. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "fx bemærkninger",
75
75
  "cairo.customFields.fieldType.dropdownList": "Rullemenu",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Annuller",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Gittervisning",
474
474
  "cairo.export.selectedItems": "Valgt",
475
475
  "cairo.entityPage.success.toast": "Dine ændringer blev gemt.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Der er ikke tildelt nogen etiketter endnu.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Tilpas kolonner",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Avanceret sortering",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Træk {itemName}.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Pilih jenis kolom.",
71
71
  "cairo.filtersPanel.date.today": "Hari Ini",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Tidak dapat membuat tag.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Belum ada tag yang ditetapkan. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "mis., Catatan",
75
75
  "cairo.customFields.fieldType.dropdownList": "daftar tarik turun",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Batal",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Tampilan Grid",
474
474
  "cairo.export.selectedItems": "Dipilih",
475
475
  "cairo.entityPage.success.toast": "Perubahan Anda disimpan.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Belum ada label yang ditetapkan.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Sesuaikan kolom",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Penyortiran lanjutan",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Seret {itemName}.",
@@ -61,7 +61,7 @@
61
61
  "cairo.updatedView.collectionPage.toast.cta": "ビューを更新する",
62
62
  "cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII 設定は後で変更できません。",
63
63
  "cairo.customFields.fieldType.dropdownList.placeholder": "例:イタリア",
64
- "cairo.filtersPanel.numRange.maxRange.error": "「開始」の値は「終了」の値より大きくする必要があります。",
64
+ "cairo.filtersPanel.numRange.maxRange.error": "「終了」の値は「開始」の値より大きくする必要があります。",
65
65
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "キャンセル",
66
66
  "cairo.dragAndDrop.discardChanges.CTA": "破棄",
67
67
  "cairo.customFields.fieldType.dateAndTime.invalid.value": "無効な値",
@@ -221,7 +221,7 @@
221
221
  "cairo.table.deleteViewModal.deleteButton": "ビューを削除する",
222
222
  "cairo.export.offlineMessage": "インターネット接続が回復すると、エクスポートが再開されます。",
223
223
  "cairo.confirm.button": "確認",
224
- "cairo.filtersPanel.numRange.minRange.error": "「終了」の値は「開始」の値より小さくする必要があります。",
224
+ "cairo.filtersPanel.numRange.minRange.error": "「開始」の値は「終了」の値より小さくする必要があります。",
225
225
  "cairo.tags.collectionPage.tagsColumn.emptyState.body.asLabels": "ラベルはアイテムのフィルタリングやサイトの整理に役立ちます。",
226
226
  "cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "項目キー",
227
227
  "cairo.tags.manageTags.modal.toast.delete.error.asLabels": "ラベルが削除されませんでした。",
@@ -409,7 +409,7 @@
409
409
  "cairo.export.cancelTheExport": "エクスポートをキャンセルしますか?",
410
410
  "cairo.customFields.addCustomField.modal.PII.learnMore": "詳しくはこちら",
411
411
  "cairo.tags.manageTags.modal.list.input.cancel.CTA": "キャンセル",
412
- "cairo.filtersPanel.numRange.maxRange-to": "開始",
412
+ "cairo.filtersPanel.numRange.maxRange-to": "終了",
413
413
  "cairo.tags.popover.creationLimitReached.error": "タグが作成されませんでした。タグの上限100件に達しました。",
414
414
  "cairo.customFields.archive.modal.description": "この項目および収集された情報はアーカイブされ、復元することはできません。",
415
415
  "cairo.emptyState.premium.title": "プランでアップグレード",
@@ -452,7 +452,7 @@
452
452
  "cairo.tags.manageTags.modal.toast.rename.success": "タグ名が変更されました。",
453
453
  "cairo.customFields.edit.CTA": "編集",
454
454
  "cairo.customFields.fieldType.url": "URL",
455
- "cairo.filtersPanel.numRange.min-from": "終了",
455
+ "cairo.filtersPanel.numRange.min-from": "開始",
456
456
  "cairo.customFields.maxFields": "カスタム項目は10個まで追加できます。",
457
457
  "cairo.offline": "現在オフライン状態です。",
458
458
  "cairo.export.leaveSiteTitle": "サイトを閉じてもよろしいですか?",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "입력란 유형을 선택하세요.",
71
71
  "cairo.filtersPanel.date.today": "오늘",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "태그를 추가할 수 없습니다.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "지정된 태그가 없습니다. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "예: 메모",
75
75
  "cairo.customFields.fieldType.dropdownList": "드롭다운 목록",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "취소",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "그리드뷰",
474
474
  "cairo.export.selectedItems": "선택된 아이템",
475
475
  "cairo.entityPage.success.toast": "변경사항이 저장되었습니다.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "지정된 라벨이 없습니다.",
477
477
  "cairo.table.custom-columns.button.tooltip": "칼럼 사용자 지정",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "오르차순 정렬",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "{itemName} 아이템을 드래그하세요.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Selecteer een veldtype.",
71
71
  "cairo.filtersPanel.date.today": "Vandaag",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Kan tag niet maken.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Er zijn nog geen tags toegewezen. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "bijv. Opmerkingen",
75
75
  "cairo.customFields.fieldType.dropdownList": "Dropdownlijst",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Annuleren",
@@ -334,7 +334,7 @@
334
334
  "cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "Je hebt geen machtiging om labels te beheren. Neem contact op met een websitebeheerder voor toegang.",
335
335
  "cairo.tags.tagsWidget.create.CTA.asLabels": "Labels maken",
336
336
  "cairo.dragAndDrop.live-region.itemDragged.sr": "{currentNumber} van {totalNumber}.",
337
- "cairo.customFields.url-input.error": "Voer een geldige URL in. Bijv. https://www.wix.com",
337
+ "cairo.customFields.url-input.error": "Voer een geldige URL in, bijv. https://www.wix.com",
338
338
  "cairo.noFiltersApplied.validationTooltip": "Je moet een kolom toevoegen of verwijderen om deze weergave op te kunnen slaan.",
339
339
  "cairo.customFields.placeholder.url": "bijv. Homepage",
340
340
  "cairo.customFields.emptyState.subtitle": "Wanneer je velden hebt, kun je de gegevens die je verzamelt hier opvolgen.",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Rasterweergave",
474
474
  "cairo.export.selectedItems": "Geselecteerd",
475
475
  "cairo.entityPage.success.toast": "Je wijzigingen zijn opgeslagen.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Er zijn nog geen labels toegewezen.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Kolommen aanpassen",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Geavanceerd sorteren",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Sleep {itemName}.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Velg en felttype.",
71
71
  "cairo.filtersPanel.date.today": "I dag",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Kunne ikke opprette tagg.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Det er ikke tildelt noen tagger ennå. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "f.eks. Notater",
75
75
  "cairo.customFields.fieldType.dropdownList": "Nedtrekksliste",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Avbryt",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Rutenettvisning",
474
474
  "cairo.export.selectedItems": "Valgt",
475
475
  "cairo.entityPage.success.toast": "Endringene dine ble lagret.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Det er ikke tildelt noen etiketter ennå.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Tilpass kolonner",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Avansert sortering",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Dra {itemName}.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Wybierz typ pola.",
71
71
  "cairo.filtersPanel.date.today": "Dzisiaj",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Nie można utworzyć tagu.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Nie przypisano jeszcze żadnych tagów. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "np. uwagi",
75
75
  "cairo.customFields.fieldType.dropdownList": "Lista rozwijana",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Anuluj",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Widok siatki",
474
474
  "cairo.export.selectedItems": "Zaznaczone",
475
475
  "cairo.entityPage.success.toast": "Zmiany zostały zapisane.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Nie przypisano jeszcze żadnych etykiet.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Dostosuj kolumny",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Sortowanie zaawansowane",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Przenieś {itemName}.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Välj en fälttyp.",
71
71
  "cairo.filtersPanel.date.today": "Idag",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Kunde inte skapa taggen.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Det finns inga taggar tilldelade än. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "t.ex. Anteckningar",
75
75
  "cairo.customFields.fieldType.dropdownList": "Rullgardinsmeny",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Avbryt",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Rutnätsvy",
474
474
  "cairo.export.selectedItems": "Markerade",
475
475
  "cairo.entityPage.success.toast": "Dina ändringar har sparats.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Det finns inga etiketter tilldelade än.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Anpassa kolumner",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Avancerad sortering",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Dra {itemName}.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "เลือกประเภทช่องข้อมูล",
71
71
  "cairo.filtersPanel.date.today": "วันนี้",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "ไม่สามารถสร้างแท็ก",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "ยังไม่มีการติดแท็ก ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "เช่น หมายเหตุ",
75
75
  "cairo.customFields.fieldType.dropdownList": "รายการแบบดึงลง",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "ยกเลิก",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "มุมมองแบบตาราง",
474
474
  "cairo.export.selectedItems": "รายการที่เลือกไว้",
475
475
  "cairo.entityPage.success.toast": "บันทึกการแก้ไขแล้ว",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "ยังไม่มีการติดป้ายกำกับ",
477
477
  "cairo.table.custom-columns.button.tooltip": "แก้ไขคอลัมน์",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "การจัดเรียงขั้นสูง",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "ลาก {itemName}",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Bir alan türü seçin.",
71
71
  "cairo.filtersPanel.date.today": "Bugün",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Etiket oluşturulamadı.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Henüz atanmış etiket yok. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "Ör. Notlar",
75
75
  "cairo.customFields.fieldType.dropdownList": "Açılır liste",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "İptal",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Izgara görünümü",
474
474
  "cairo.export.selectedItems": "Seçili",
475
475
  "cairo.entityPage.success.toast": "Değişiklikleriniz kaydedildi.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Henüz atanmış etiket yok.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Sütunları özelleştir",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Gelişmiş sıralama",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "{itemName} ögesini sürükle.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "Chọn kiểu trường.",
71
71
  "cairo.filtersPanel.date.today": "Hôm nay",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "Không thể tạo thẻ.",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "Chưa chỉ định thẻ nào. ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "VD: Ghi chú",
75
75
  "cairo.customFields.fieldType.dropdownList": "Menu thả xuống",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "Hủy",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "Dạng xem lưới",
474
474
  "cairo.export.selectedItems": "Đã chọn",
475
475
  "cairo.entityPage.success.toast": "Đã lưu các thay đổi của bạn.",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "Chưa chỉ định nhãn nào.",
477
477
  "cairo.table.custom-columns.button.tooltip": "Tùy chỉnh cột",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "Sắp xếp nâng cao",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "Kéo {itemName}.",
@@ -70,7 +70,7 @@
70
70
  "cairo.customFields.addCustomField.modal.emptyFieldType.error": "請選取欄位類型。",
71
71
  "cairo.filtersPanel.date.today": "今天",
72
72
  "cairo.tags.manageTags.modal.toast.create.error": "無法建立標籤。",
73
- "cairo.tags.tagsField.readOnly.emptyState": "There aren’t any tags assigned yet. ",
73
+ "cairo.tags.tagsField.readOnly.emptyState": "尚未指派任何標籤。 ",
74
74
  "cairo.customFields.fieldType.longText.Name.placeholder": "例如,注意事項",
75
75
  "cairo.customFields.fieldType.dropdownList": "下拉式清單",
76
76
  "cairo.customFields.archive.modal.cancel.CTA": "取消",
@@ -473,7 +473,7 @@
473
473
  "cairo.table.gridView": "網格檢視",
474
474
  "cairo.export.selectedItems": "已選項目",
475
475
  "cairo.entityPage.success.toast": "變更已儲存。",
476
- "cairo.tags.tagsField.readOnly.emptyState.asLabels": "There aren’t any labels assigned yet.",
476
+ "cairo.tags.tagsField.readOnly.emptyState.asLabels": "尚未指派任何標籤。",
477
477
  "cairo.table.custom-columns.button.tooltip": "自訂欄目",
478
478
  "cairo.table.advanced-sorting.button.tooltip": "進階排序",
479
479
  "cairo.dragAndDrop.button-role-label.sr": "拖曳 {itemName}。",
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/model/filter.ts"],"sourcesContent":["import { TypedEmitter } from '../util';\n\n/*\nchange - whenever we want to notify that the value was changed, for additional side effects, i.e BI events. For example, when initializing the value, we don't want to emit this event.\nrefresh - the collection should be refreshed as a result of this change\nscheduleRefresh - the collection should schedule a refresh as a result of this change\n */\ntype FilterEvent = 'change' | 'refresh' | 'scheduleRefresh' | 'beforeRefresh';\n\nexport interface ChangeValueOptions {\n emitEvents?: FilterEvent[];\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\nexport type FilterItem<T> = T extends (infer V)[] ? V : T;\n\nexport interface FilterEventOptions {\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\ninterface FilterEventsSchema {\n refresh: (opt: FilterEventOptions | undefined) => unknown;\n beforeRefresh: (opt: FilterEventOptions | undefined) => unknown;\n change: (opt?: FilterEventOptions) => unknown;\n scheduleRefresh: (opt?: FilterEventOptions) => unknown;\n}\n\nexport type FilterEvents = TypedEmitter<FilterEventsSchema>;\n\nexport interface Filter<T> {\n events: TypedEmitter<FilterEventsSchema>;\n name: string;\n persistent?: boolean;\n readonly value: T;\n readonly toArray: FilterItem<T>[];\n readonly isEmpty: boolean;\n readonly toQueryString: string;\n readonly decode: (value: unknown) => T;\n readonly encode: (value: T) => unknown;\n readonly size: number;\n readonly itemKey: (item: FilterItem<T>) => string;\n readonly itemName: (item: FilterItem<T>) => string;\n readonly matches: (item: FilterItem<T>, value: T) => boolean;\n readonly equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n\n applyFromQueryString(str: string): void;\n setValue(value: T, options?: ChangeValueOptions): void;\n changeValue(value: T, options?: ChangeValueOptions): void;\n refresh(value: T, options?: ChangeValueOptions): void;\n scheduleRefresh(value: T): void;\n reset(options?: ChangeValueOptions): void;\n remove(items: FilterItem<T>[], options?: ChangeValueOptions): void;\n clone(...args: any[]): Filter<T>;\n hasDiff(items: T): boolean;\n _hideFromToolbar?: boolean;\n}\n\nexport interface FilterStateBaseParams<T> {\n name?: string;\n /**\n * Marks the filter as a \"context\" or \"scope\" filter. This makes the filter not be visible in the sub-toolbar tag list, not saved in views, not counted as \"X filters applied\".\n * @external\n */\n persistent?: boolean;\n /**\n * The value to initialize the filter with (Optional)\n * @external\n */\n initialValue?: T;\n\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n * @external\n */\n itemKey: (item: FilterItem<T>) => string;\n /**\n * A callback function that accepts an item and returns the item name which is used in many messages through cairo\n * @external\n */\n itemName: (item: FilterItem<T>) => string;\n\n /**\n * A function which accepts 2 items and returns true if they are equal\n * @external\n */\n equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n}\n\nexport type FiltersMap = { [key: string]: Filter<any> | undefined };\nexport type OptionalFiltersMap = { [key: string]: undefined };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/model/filter.ts"],"sourcesContent":["import { TypedEmitter } from '../util';\n\n/*\nchange - whenever we want to notify that the value was changed, for additional side effects, i.e BI events. For example, when initializing the value, we don't want to emit this event.\nrefresh - the collection should be refreshed as a result of this change\nscheduleRefresh - the collection should schedule a refresh as a result of this change\n */\ntype FilterEvent = 'change' | 'refresh' | 'scheduleRefresh' | 'beforeRefresh';\n\nexport interface ChangeValueOptions {\n emitEvents?: FilterEvent[];\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\nexport type FilterItem<T> = T extends (infer V)[] ? V : T;\n\nexport interface FilterEventOptions {\n clearResult?: boolean;\n actionType?: 'add' | 'remove';\n clickedValueKey?: string;\n}\n\ninterface FilterEventsSchema {\n refresh: (opt: FilterEventOptions | undefined) => unknown;\n beforeRefresh: (opt: FilterEventOptions | undefined) => unknown;\n change: (opt?: FilterEventOptions) => unknown;\n scheduleRefresh: (opt?: FilterEventOptions) => unknown;\n}\n\nexport type FilterEvents = TypedEmitter<FilterEventsSchema>;\n\nexport interface Filter<T> {\n events: TypedEmitter<FilterEventsSchema>;\n name: string;\n persistent?: boolean;\n readonly value: T;\n readonly toArray: FilterItem<T>[];\n readonly isEmpty: boolean;\n readonly toQueryString: string;\n readonly decode: (value: unknown) => T;\n readonly encode: (value: T) => unknown;\n readonly size: number;\n readonly itemKey: (item: FilterItem<T>) => string;\n readonly itemName: (item: FilterItem<T>) => string;\n readonly matches: (item: FilterItem<T>, value: T) => boolean;\n readonly equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n readonly isCustomField?: boolean;\n\n applyFromQueryString(str: string): void;\n setValue(value: T, options?: ChangeValueOptions): void;\n changeValue(value: T, options?: ChangeValueOptions): void;\n refresh(value: T, options?: ChangeValueOptions): void;\n scheduleRefresh(value: T): void;\n reset(options?: ChangeValueOptions): void;\n remove(items: FilterItem<T>[], options?: ChangeValueOptions): void;\n clone(...args: any[]): Filter<T>;\n hasDiff(items: T): boolean;\n _hideFromToolbar?: boolean;\n}\n\nexport interface FilterStateBaseParams<T> {\n name?: string;\n /**\n * Marks the filter as a \"context\" or \"scope\" filter. This makes the filter not be visible in the sub-toolbar tag list, not saved in views, not counted as \"X filters applied\".\n * @external\n */\n persistent?: boolean;\n /**\n * The value to initialize the filter with (Optional)\n * @external\n */\n initialValue?: T;\n\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n * @external\n */\n itemKey: (item: FilterItem<T>) => string;\n /**\n * A callback function that accepts an item and returns the item name which is used in many messages through cairo\n * @external\n */\n itemName: (item: FilterItem<T>) => string;\n\n /**\n * A function which accepts 2 items and returns true if they are equal\n * @external\n */\n equals?: (item1: FilterItem<T>, item2: FilterItem<T>) => boolean;\n /**\n * If the filter is a custom field\n */\n isCustomField?: boolean;\n}\n\nexport type FiltersMap = { [key: string]: Filter<any> | undefined };\nexport type OptionalFiltersMap = { [key: string]: undefined };\n"],"mappings":"","ignoreList":[]}
@@ -17,6 +17,7 @@ class ArrayFilterState {
17
17
  (0, _defineProperty2.default)(this, "itemKey", void 0);
18
18
  (0, _defineProperty2.default)(this, "itemName", void 0);
19
19
  (0, _defineProperty2.default)(this, "equals", void 0);
20
+ (0, _defineProperty2.default)(this, "isCustomField", void 0);
20
21
  (0, _defineProperty2.default)(this, "events", new _events.EventEmitter());
21
22
  (0, _defineProperty2.default)(this, "matches", void 0);
22
23
  this.name = params.name ?? '';
@@ -35,6 +36,7 @@ class ArrayFilterState {
35
36
  return value == null || !value.length || value.some(v => itemKey(v) === key);
36
37
  });
37
38
  this.equals = params.equals;
39
+ this.isCustomField = params.isCustomField;
38
40
  (0, _mobx.makeObservable)(this, {
39
41
  _value: _mobx.observable.ref,
40
42
  defaultValue: _mobx.observable.ref,
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","_mobx","ArrayFilterState","constructor","params","_defineProperty2","default","EventEmitter","name","persistent","defaultValue","parse","simplify","value","itemKey","itemName","_value","initialValue","matches","item","key","length","some","v","equals","makeObservable","observable","ref","isEmpty","computed","size","reset","action","setValue","changeValue","scheduleRefresh","clone","toArray","toQueryString","JSON","stringify","map","applyFromQueryString","str","maybeArr","Array","isArray","filter","_","encode","decode","raw","emitEvents","options","event","events","emit","refresh","hasDiff","items","every","i","remove","keysToRemove","Set","has","exports","stringsArrayFilter","arrayFilter","idNameArrayFilter","id","idArrayFilter","idNameArrayFilterNum","String"],"sources":["../../../../src/state/ArrayFilterState/ArrayFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport {\n ChangeValueOptions,\n Filter,\n FilterEvents,\n FilterStateBaseParams,\n} from '../../model';\n\nexport interface ArrayFilterStateParams<T> extends FilterStateBaseParams<T[]> {\n /**\n * The value to set the value to, when clearing the filter (Optional)\n * @external\n */\n defaultValue?: T[];\n /**\n * Convert a unknown object to a T.<br>\n * If the function returns null, the item will be skipped when we try to deserializate it from an array.\n * @param value\n * @external\n */\n readonly parse: (\n value: Record<string, unknown> | string | null | undefined,\n ) => T | null;\n /**\n * Return a simplified form of an item for serialization.\n * @param value\n * @external\n */\n readonly simplify?: (value: T) => Partial<T>;\n\n /**\n * Indicates whether an item matches the current value of the filter\n * @external\n */\n readonly matches?: (item: T, value: T[]) => boolean;\n\n readonly equals?: (item1: T, item2: T) => boolean;\n}\n\nexport class ArrayFilterState<T> implements Filter<T[]> {\n _value: T[];\n\n name: string;\n persistent;\n defaultValue: T[];\n readonly parse: ArrayFilterStateParams<T>['parse'];\n readonly simplify: (value: T) => Partial<T>;\n readonly itemKey: (item: T) => string;\n readonly itemName: (item: T) => string;\n readonly equals?: (item1: T, item2: T) => boolean;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n readonly matches: (item: T, value: T[]) => boolean;\n\n constructor(params: Readonly<ArrayFilterStateParams<T>>) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n this.defaultValue = params.defaultValue ?? [];\n this.parse = params.parse;\n this.simplify = params.simplify ?? ((value) => value);\n this.itemKey = params.itemKey;\n this.itemName = params.itemName;\n this._value = params.initialValue ?? this.defaultValue;\n this.matches =\n params.matches ??\n ((item, value) => {\n const { itemKey } = this;\n const key = typeof item === 'string' ? item : itemKey(item);\n return (\n value == null ||\n !value.length ||\n value.some((v) => itemKey(v) === key)\n );\n });\n this.equals = params.equals;\n\n makeObservable(this, {\n _value: observable.ref,\n defaultValue: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n reset: action,\n setValue: action,\n changeValue: action,\n scheduleRefresh: action,\n clone: action,\n });\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return this._value;\n }\n\n get isEmpty() {\n return !this.size;\n }\n\n get size() {\n return this._value.length;\n }\n\n get toQueryString() {\n return JSON.stringify(this._value.map(this.simplify));\n }\n\n applyFromQueryString(str: string) {\n try {\n const maybeArr = JSON.parse(str) as unknown;\n if (Array.isArray(maybeArr)) {\n this.setValue(\n maybeArr.map(this.parse).filter((value): value is T => value != null),\n );\n }\n } catch (_) {}\n }\n\n encode(value: T[]) {\n return value.map(this.simplify);\n }\n\n decode(raw: unknown) {\n if (Array.isArray(raw)) {\n return raw.map(this.parse).filter((value): value is T => value != null);\n }\n\n return [];\n }\n\n setValue(value: T[], { emitEvents, ...options }: ChangeValueOptions = {}) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: T[],\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n refresh(value: T[], options?: ChangeValueOptions) {\n this.changeValue(value, {\n ...options,\n emitEvents: ['refresh'],\n });\n }\n\n scheduleRefresh(value: T[]) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.defaultValue, options);\n }\n\n hasDiff(items: T[]) {\n const { value } = this;\n return (\n value.length !== items.length ||\n value.some((item) =>\n items.every((i) => this.itemKey(i) !== this.itemKey(item)),\n )\n );\n }\n\n remove(items: T[], options: ChangeValueOptions = {}) {\n const { itemKey } = this;\n const keysToRemove = new Set(items.map(itemKey));\n this.setValue(\n this._value.filter((item) => !keysToRemove.has(itemKey(item))),\n options,\n );\n }\n\n clone(params: Partial<ArrayFilterStateParams<T>>): ArrayFilterState<T> {\n const {\n itemName,\n itemKey,\n simplify,\n parse,\n defaultValue,\n value: initialValue,\n matches,\n persistent,\n name,\n } = this;\n return new ArrayFilterState({\n itemName,\n itemKey,\n simplify,\n parse,\n defaultValue,\n initialValue,\n matches,\n persistent,\n name,\n ...params,\n });\n }\n}\n\nexport const stringsArrayFilter = <T extends string>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => item,\n itemName: (item) => item,\n parse: (value) => {\n if (value == null || typeof value !== 'string') {\n return null;\n }\n return value as T;\n },\n simplify: (value) => value,\n ...params,\n });\n\nexport const arrayFilter = <T>(params: ArrayFilterStateParams<T>) =>\n new ArrayFilterState<T>(params);\n\nexport const idNameArrayFilter = <T extends { id: string; name: string }>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n parse: (value) => {\n if (\n value == null ||\n typeof value === 'string' ||\n typeof value.id !== 'string' ||\n typeof value.name !== 'string'\n ) {\n return null;\n }\n return value as T;\n },\n simplify: (value) =>\n ({\n id: value.id,\n name: value.name,\n } as Partial<T>),\n ...params,\n });\n\nexport const idArrayFilter = <T extends { id: string }>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => item.id,\n itemName: () => '',\n parse: (value) => {\n if (\n value == null ||\n typeof value === 'string' ||\n typeof value.id !== 'string'\n ) {\n return null;\n }\n return value as T;\n },\n simplify: (value) =>\n ({\n id: value.id,\n } as Partial<T>),\n ...params,\n });\n\nexport const idNameArrayFilterNum = <T extends { id: number; name: string }>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => String(item.id),\n itemName: (item) => item.name,\n parse: (value) => {\n if (\n value == null ||\n typeof value === 'string' ||\n typeof value.id !== 'number' ||\n typeof value.name !== 'string'\n ) {\n return null;\n }\n return value as T;\n },\n simplify: (value) =>\n ({\n id: value.id,\n name: value.name,\n } as Partial<T>),\n ...params,\n });\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_events","require","_mobx","ArrayFilterState","constructor","params","_defineProperty2","default","EventEmitter","name","persistent","defaultValue","parse","simplify","value","itemKey","itemName","_value","initialValue","matches","item","key","length","some","v","equals","isCustomField","makeObservable","observable","ref","isEmpty","computed","size","reset","action","setValue","changeValue","scheduleRefresh","clone","toArray","toQueryString","JSON","stringify","map","applyFromQueryString","str","maybeArr","Array","isArray","filter","_","encode","decode","raw","emitEvents","options","event","events","emit","refresh","hasDiff","items","every","i","remove","keysToRemove","Set","has","exports","stringsArrayFilter","arrayFilter","idNameArrayFilter","id","idArrayFilter","idNameArrayFilterNum","String"],"sources":["../../../../src/state/ArrayFilterState/ArrayFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport {\n ChangeValueOptions,\n Filter,\n FilterEvents,\n FilterStateBaseParams,\n} from '../../model';\n\nexport interface ArrayFilterStateParams<T> extends FilterStateBaseParams<T[]> {\n /**\n * The value to set the value to, when clearing the filter (Optional)\n * @external\n */\n defaultValue?: T[];\n /**\n * Convert a unknown object to a T.<br>\n * If the function returns null, the item will be skipped when we try to deserializate it from an array.\n * @param value\n * @external\n */\n readonly parse: (\n value: Record<string, unknown> | string | null | undefined,\n ) => T | null;\n /**\n * Return a simplified form of an item for serialization.\n * @param value\n * @external\n */\n readonly simplify?: (value: T) => Partial<T>;\n\n /**\n * Indicates whether an item matches the current value of the filter\n * @external\n */\n readonly matches?: (item: T, value: T[]) => boolean;\n\n readonly equals?: (item1: T, item2: T) => boolean;\n}\n\nexport class ArrayFilterState<T> implements Filter<T[]> {\n _value: T[];\n\n name: string;\n persistent;\n defaultValue: T[];\n readonly parse: ArrayFilterStateParams<T>['parse'];\n readonly simplify: (value: T) => Partial<T>;\n readonly itemKey: (item: T) => string;\n readonly itemName: (item: T) => string;\n readonly equals?: (item1: T, item2: T) => boolean;\n readonly isCustomField?: boolean;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n readonly matches: (item: T, value: T[]) => boolean;\n\n constructor(params: Readonly<ArrayFilterStateParams<T>>) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n this.defaultValue = params.defaultValue ?? [];\n this.parse = params.parse;\n this.simplify = params.simplify ?? ((value) => value);\n this.itemKey = params.itemKey;\n this.itemName = params.itemName;\n this._value = params.initialValue ?? this.defaultValue;\n this.matches =\n params.matches ??\n ((item, value) => {\n const { itemKey } = this;\n const key = typeof item === 'string' ? item : itemKey(item);\n return (\n value == null ||\n !value.length ||\n value.some((v) => itemKey(v) === key)\n );\n });\n this.equals = params.equals;\n this.isCustomField = params.isCustomField;\n\n makeObservable(this, {\n _value: observable.ref,\n defaultValue: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n reset: action,\n setValue: action,\n changeValue: action,\n scheduleRefresh: action,\n clone: action,\n });\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return this._value;\n }\n\n get isEmpty() {\n return !this.size;\n }\n\n get size() {\n return this._value.length;\n }\n\n get toQueryString() {\n return JSON.stringify(this._value.map(this.simplify));\n }\n\n applyFromQueryString(str: string) {\n try {\n const maybeArr = JSON.parse(str) as unknown;\n if (Array.isArray(maybeArr)) {\n this.setValue(\n maybeArr.map(this.parse).filter((value): value is T => value != null),\n );\n }\n } catch (_) {}\n }\n\n encode(value: T[]) {\n return value.map(this.simplify);\n }\n\n decode(raw: unknown) {\n if (Array.isArray(raw)) {\n return raw.map(this.parse).filter((value): value is T => value != null);\n }\n\n return [];\n }\n\n setValue(value: T[], { emitEvents, ...options }: ChangeValueOptions = {}) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: T[],\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n refresh(value: T[], options?: ChangeValueOptions) {\n this.changeValue(value, {\n ...options,\n emitEvents: ['refresh'],\n });\n }\n\n scheduleRefresh(value: T[]) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.defaultValue, options);\n }\n\n hasDiff(items: T[]) {\n const { value } = this;\n return (\n value.length !== items.length ||\n value.some((item) =>\n items.every((i) => this.itemKey(i) !== this.itemKey(item)),\n )\n );\n }\n\n remove(items: T[], options: ChangeValueOptions = {}) {\n const { itemKey } = this;\n const keysToRemove = new Set(items.map(itemKey));\n this.setValue(\n this._value.filter((item) => !keysToRemove.has(itemKey(item))),\n options,\n );\n }\n\n clone(params: Partial<ArrayFilterStateParams<T>>): ArrayFilterState<T> {\n const {\n itemName,\n itemKey,\n simplify,\n parse,\n defaultValue,\n value: initialValue,\n matches,\n persistent,\n name,\n } = this;\n return new ArrayFilterState({\n itemName,\n itemKey,\n simplify,\n parse,\n defaultValue,\n initialValue,\n matches,\n persistent,\n name,\n ...params,\n });\n }\n}\n\nexport const stringsArrayFilter = <T extends string>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => item,\n itemName: (item) => item,\n parse: (value) => {\n if (value == null || typeof value !== 'string') {\n return null;\n }\n return value as T;\n },\n simplify: (value) => value,\n ...params,\n });\n\nexport const arrayFilter = <T>(params: ArrayFilterStateParams<T>) =>\n new ArrayFilterState<T>(params);\n\nexport const idNameArrayFilter = <T extends { id: string; name: string }>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n parse: (value) => {\n if (\n value == null ||\n typeof value === 'string' ||\n typeof value.id !== 'string' ||\n typeof value.name !== 'string'\n ) {\n return null;\n }\n return value as T;\n },\n simplify: (value) =>\n ({\n id: value.id,\n name: value.name,\n } as Partial<T>),\n ...params,\n });\n\nexport const idArrayFilter = <T extends { id: string }>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => item.id,\n itemName: () => '',\n parse: (value) => {\n if (\n value == null ||\n typeof value === 'string' ||\n typeof value.id !== 'string'\n ) {\n return null;\n }\n return value as T;\n },\n simplify: (value) =>\n ({\n id: value.id,\n } as Partial<T>),\n ...params,\n });\n\nexport const idNameArrayFilterNum = <T extends { id: number; name: string }>(\n params?: Partial<ArrayFilterStateParams<T>>,\n) =>\n new ArrayFilterState<T>({\n itemKey: (item) => String(item.id),\n itemName: (item) => item.name,\n parse: (value) => {\n if (\n value == null ||\n typeof value === 'string' ||\n typeof value.id !== 'number' ||\n typeof value.name !== 'string'\n ) {\n return null;\n }\n return value as T;\n },\n simplify: (value) =>\n ({\n id: value.id,\n name: value.name,\n } as Partial<T>),\n ...params,\n });\n"],"mappings":"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","ignoreList":[]}
@@ -91,6 +91,9 @@ class BulkSelectState {
91
91
  get selectedCount() {
92
92
  return this.select.selectedCount;
93
93
  }
94
+ get allSelectedItemsFetched() {
95
+ return this.selectedCountOrTotal <= this.collection.result.items.length;
96
+ }
94
97
  get selectedValues() {
95
98
  return this.select.selectedValues.map(({
96
99
  item
@@ -1 +1 @@
1
- {"version":3,"names":["_SelectState","require","_mobx","_snapshot","_util","_events","BulkSelectState","allSelected","select","defaultStatus","isChecked","hasUnchecked","uncheckedValues","length","constructor","params","_defineProperty2","default","EventEmitter","events","emit","action","isEmptyEnabledItems","deselectAll","selectAll","collection","scrollToTop","disableAutoSelectAllCount","useNewSelectAllLogic","SelectState","keyGetter","item","key","totalSnapshot","Snapshot","expression","effect","result","total","makeObservable","computed","observable","ref","selectOne","selectOneItem","deselectOne","deselectOneItem","resetToDefaults","bound","selectedIds","uncheckedIds","selectedValues","selectedKeyedItems","uncheckedInCurrentCollection","selectedCountOrTotal","checkedSet","indeterminateSet","getCollectionItem","_keyedItemsMap","get","selectedKeys","toArray","filter","status","map","value","selectedCount","Set","isIndeterminate","final","keyedItems","finalizeMany","start","startAll","set","keyedItem","delete","clear","init","disposers","addEventListener","emitter","forceUpdate","reaction","syncValues","e","forEach","disposer","id","isEmpty","itemKey","has","toggle","exports"],"sources":["../../../src/state/BulkSelectState.ts"],"sourcesContent":["import { SelectState } from './SelectState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { Snapshot } from './snapshot';\nimport { addEventListener, TypedEmitter } from '../util';\nimport { EventEmitter } from 'events';\nimport { KeyedItem } from '../model';\n\nexport interface BulkSelectKeyedItem<T> {\n item: T;\n key: string;\n}\n\nexport interface BulkSelectStateParams<T> {\n collection: CollectionState<T, any>;\n disableAutoSelectAllCount?: boolean;\n maxSelection?: number;\n scrollToTop: () => unknown;\n useNewSelectAllLogic?: boolean;\n}\n\nexport class BulkSelectState<T> {\n readonly select: SelectState<BulkSelectKeyedItem<T>>;\n readonly events = new EventEmitter() as TypedEmitter<{\n openModal: () => unknown;\n closeModal: () => unknown;\n }>;\n readonly collection;\n readonly scrollToTop;\n useNewSelectAllLogic;\n disableAutoSelectAllCount?: boolean;\n totalSnapshot;\n\n get allSelected() {\n return this.select.defaultStatus.isChecked;\n }\n\n get hasUnchecked() {\n return !!this.uncheckedValues.length;\n }\n\n constructor(params: Readonly<BulkSelectStateParams<T>>) {\n this.collection = params.collection;\n this.scrollToTop = params.scrollToTop;\n this.disableAutoSelectAllCount = params.disableAutoSelectAllCount;\n this.useNewSelectAllLogic = params.useNewSelectAllLogic;\n\n this.select = new SelectState<BulkSelectKeyedItem<T>>({\n keyGetter: (item) => item.key,\n });\n\n this.totalSnapshot = new Snapshot({\n expression: () => this.allSelected,\n effect: () => this.collection.result.total,\n });\n\n makeObservable(this, {\n allSelected: computed,\n disableAutoSelectAllCount: observable.ref,\n selectAll: action,\n selectOne: action,\n selectOneItem: action,\n deselectOne: action,\n deselectOneItem: action,\n resetToDefaults: action.bound,\n hasUnchecked: computed,\n selectedIds: computed,\n uncheckedIds: computed,\n selectedValues: computed,\n selectedKeyedItems: computed,\n uncheckedValues: computed,\n uncheckedInCurrentCollection: computed,\n selectedCountOrTotal: computed,\n checkedSet: computed,\n indeterminateSet: computed,\n });\n }\n\n getCollectionItem(key: string) {\n return this.collection.result._keyedItemsMap.get(key);\n }\n\n get selectedIds() {\n return this.select.selectedKeys;\n }\n\n get uncheckedIds() {\n return this.select.toArray\n .filter(({ status }) => !status.isChecked)\n .map(({ value }) => value.key);\n }\n\n get selectedCount(): number {\n return this.select.selectedCount;\n }\n\n get selectedValues() {\n return this.select.selectedValues.map(({ item }) => item);\n }\n\n get checkedSet() {\n return new Set(\n this.select.toArray\n .filter(({ status }) => status.isChecked)\n .map(({ value }) => value.key),\n );\n }\n\n get indeterminateSet() {\n return new Set(\n this.select.toArray\n .filter(({ status }) => status.isIndeterminate)\n .map(({ value }) => value.key),\n );\n }\n\n get uncheckedValues() {\n return this.select.toArray\n .filter(({ status }) => !status.isChecked)\n .map(({ value }) => value.item);\n }\n\n isChecked(key: string) {\n const { select } = this;\n return select.isChecked(key);\n }\n\n selectAll() {\n const { select, collection } = this;\n select.defaultStatus = select.defaultStatus.final();\n const {\n result: { keyedItems },\n } = collection;\n select.finalizeMany(keyedItems);\n }\n\n deselectAll() {\n const { select } = this;\n select.defaultStatus = select.defaultStatus.start();\n select.startAll();\n }\n\n selectOneItem(item: BulkSelectKeyedItem<T>) {\n const { select, useNewSelectAllLogic } = this;\n\n select.set(item);\n\n if (!useNewSelectAllLogic) {\n select.defaultStatus = select.defaultStatus.start();\n }\n }\n\n selectOne(key: string) {\n const { collection } = this;\n const { result } = collection;\n const keyedItem = result.get(key);\n if (keyedItem) {\n this.selectOneItem(keyedItem);\n }\n }\n\n deselectOneItem(keyedItem: BulkSelectKeyedItem<T>) {\n const { select, useNewSelectAllLogic } = this;\n\n select.delete(keyedItem);\n\n if (!useNewSelectAllLogic) {\n select.defaultStatus = select.defaultStatus.start();\n }\n }\n\n deselectOne(key: string) {\n const { collection } = this;\n const { result } = collection;\n const keyedItem = result.get(key);\n\n if (keyedItem == null) {\n return;\n }\n\n this.deselectOneItem(keyedItem);\n }\n\n openModal = () => {\n this.events.emit('openModal');\n };\n\n closeModal = () => {\n this.events.emit('closeModal');\n };\n\n resetToDefaults() {\n const { select } = this;\n select.defaultStatus = select.defaultStatus.start();\n select.clear();\n }\n\n init() {\n const disposers = [\n this.totalSnapshot.init(),\n addEventListener(this.collection.emitter, 'ready', () => {\n this.totalSnapshot.forceUpdate();\n }),\n reaction(\n () => this.collection.result.keyedItems,\n (keyedItems) => {\n const {\n select,\n allSelected,\n disableAutoSelectAllCount,\n collection: {\n result: { _keyedItemsMap },\n },\n } = this;\n if (allSelected && !disableAutoSelectAllCount) {\n select.syncValues(keyedItems);\n } else {\n select.syncValues(\n select.selectedKeys\n .map(\n (key) =>\n _keyedItemsMap.get(key) as\n | BulkSelectKeyedItem<T>\n | null\n | undefined,\n )\n .filter((e): e is BulkSelectKeyedItem<T> => e != null),\n );\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get selectedKeyedItems() {\n return this.selectedIds\n .map((id) => this.collection.result.get(id))\n .filter((item): item is KeyedItem<T> => !!item);\n }\n\n get isEmpty() {\n return this.select.isEmpty;\n }\n\n get uncheckedInCurrentCollection() {\n const { uncheckedValues, collection } = this;\n const { itemKey } = collection;\n\n return uncheckedValues.filter((item) =>\n collection.result.has(itemKey(item)),\n );\n }\n\n get selectedCountOrTotal() {\n const {\n allSelected,\n disableAutoSelectAllCount,\n selectedIds,\n useNewSelectAllLogic,\n uncheckedInCurrentCollection,\n collection: {\n result: { total },\n },\n } = this;\n\n if (!allSelected || disableAutoSelectAllCount) {\n return selectedIds.length;\n }\n\n if (useNewSelectAllLogic) {\n return total - uncheckedInCurrentCollection.length;\n }\n\n return total;\n }\n\n toggleIsSelectAll = action(() => {\n const {\n allSelected,\n select: { isEmptyEnabledItems },\n } = this;\n if (allSelected || !isEmptyEnabledItems) {\n this.deselectAll();\n } else {\n this.selectAll();\n }\n });\n\n toggle(keyedItem: BulkSelectKeyedItem<T>) {\n this.select.toggle(keyedItem);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_SelectState","require","_mobx","_snapshot","_util","_events","BulkSelectState","allSelected","select","defaultStatus","isChecked","hasUnchecked","uncheckedValues","length","constructor","params","_defineProperty2","default","EventEmitter","events","emit","action","isEmptyEnabledItems","deselectAll","selectAll","collection","scrollToTop","disableAutoSelectAllCount","useNewSelectAllLogic","SelectState","keyGetter","item","key","totalSnapshot","Snapshot","expression","effect","result","total","makeObservable","computed","observable","ref","selectOne","selectOneItem","deselectOne","deselectOneItem","resetToDefaults","bound","selectedIds","uncheckedIds","selectedValues","selectedKeyedItems","uncheckedInCurrentCollection","selectedCountOrTotal","checkedSet","indeterminateSet","getCollectionItem","_keyedItemsMap","get","selectedKeys","toArray","filter","status","map","value","selectedCount","allSelectedItemsFetched","items","Set","isIndeterminate","final","keyedItems","finalizeMany","start","startAll","set","keyedItem","delete","clear","init","disposers","addEventListener","emitter","forceUpdate","reaction","syncValues","e","forEach","disposer","id","isEmpty","itemKey","has","toggle","exports"],"sources":["../../../src/state/BulkSelectState.ts"],"sourcesContent":["import { SelectState } from './SelectState';\nimport { action, computed, makeObservable, observable, reaction } from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { Snapshot } from './snapshot';\nimport { addEventListener, TypedEmitter } from '../util';\nimport { EventEmitter } from 'events';\nimport { KeyedItem } from '../model';\n\nexport interface BulkSelectKeyedItem<T> {\n item: T;\n key: string;\n}\n\nexport interface BulkSelectStateParams<T> {\n collection: CollectionState<T, any>;\n disableAutoSelectAllCount?: boolean;\n maxSelection?: number;\n scrollToTop: () => unknown;\n useNewSelectAllLogic?: boolean;\n}\n\nexport class BulkSelectState<T> {\n readonly select: SelectState<BulkSelectKeyedItem<T>>;\n readonly events = new EventEmitter() as TypedEmitter<{\n openModal: () => unknown;\n closeModal: () => unknown;\n }>;\n readonly collection;\n readonly scrollToTop;\n useNewSelectAllLogic;\n disableAutoSelectAllCount?: boolean;\n totalSnapshot;\n\n get allSelected() {\n return this.select.defaultStatus.isChecked;\n }\n\n get hasUnchecked() {\n return !!this.uncheckedValues.length;\n }\n\n constructor(params: Readonly<BulkSelectStateParams<T>>) {\n this.collection = params.collection;\n this.scrollToTop = params.scrollToTop;\n this.disableAutoSelectAllCount = params.disableAutoSelectAllCount;\n this.useNewSelectAllLogic = params.useNewSelectAllLogic;\n\n this.select = new SelectState<BulkSelectKeyedItem<T>>({\n keyGetter: (item) => item.key,\n });\n\n this.totalSnapshot = new Snapshot({\n expression: () => this.allSelected,\n effect: () => this.collection.result.total,\n });\n\n makeObservable(this, {\n allSelected: computed,\n disableAutoSelectAllCount: observable.ref,\n selectAll: action,\n selectOne: action,\n selectOneItem: action,\n deselectOne: action,\n deselectOneItem: action,\n resetToDefaults: action.bound,\n hasUnchecked: computed,\n selectedIds: computed,\n uncheckedIds: computed,\n selectedValues: computed,\n selectedKeyedItems: computed,\n uncheckedValues: computed,\n uncheckedInCurrentCollection: computed,\n selectedCountOrTotal: computed,\n checkedSet: computed,\n indeterminateSet: computed,\n });\n }\n\n getCollectionItem(key: string) {\n return this.collection.result._keyedItemsMap.get(key);\n }\n\n get selectedIds() {\n return this.select.selectedKeys;\n }\n\n get uncheckedIds() {\n return this.select.toArray\n .filter(({ status }) => !status.isChecked)\n .map(({ value }) => value.key);\n }\n\n get selectedCount(): number {\n return this.select.selectedCount;\n }\n\n get allSelectedItemsFetched() {\n return this.selectedCountOrTotal <= this.collection.result.items.length;\n }\n\n get selectedValues() {\n return this.select.selectedValues.map(({ item }) => item);\n }\n\n get checkedSet() {\n return new Set(\n this.select.toArray\n .filter(({ status }) => status.isChecked)\n .map(({ value }) => value.key),\n );\n }\n\n get indeterminateSet() {\n return new Set(\n this.select.toArray\n .filter(({ status }) => status.isIndeterminate)\n .map(({ value }) => value.key),\n );\n }\n\n get uncheckedValues() {\n return this.select.toArray\n .filter(({ status }) => !status.isChecked)\n .map(({ value }) => value.item);\n }\n\n isChecked(key: string) {\n const { select } = this;\n return select.isChecked(key);\n }\n\n selectAll() {\n const { select, collection } = this;\n select.defaultStatus = select.defaultStatus.final();\n const {\n result: { keyedItems },\n } = collection;\n select.finalizeMany(keyedItems);\n }\n\n deselectAll() {\n const { select } = this;\n select.defaultStatus = select.defaultStatus.start();\n select.startAll();\n }\n\n selectOneItem(item: BulkSelectKeyedItem<T>) {\n const { select, useNewSelectAllLogic } = this;\n\n select.set(item);\n\n if (!useNewSelectAllLogic) {\n select.defaultStatus = select.defaultStatus.start();\n }\n }\n\n selectOne(key: string) {\n const { collection } = this;\n const { result } = collection;\n const keyedItem = result.get(key);\n if (keyedItem) {\n this.selectOneItem(keyedItem);\n }\n }\n\n deselectOneItem(keyedItem: BulkSelectKeyedItem<T>) {\n const { select, useNewSelectAllLogic } = this;\n\n select.delete(keyedItem);\n\n if (!useNewSelectAllLogic) {\n select.defaultStatus = select.defaultStatus.start();\n }\n }\n\n deselectOne(key: string) {\n const { collection } = this;\n const { result } = collection;\n const keyedItem = result.get(key);\n\n if (keyedItem == null) {\n return;\n }\n\n this.deselectOneItem(keyedItem);\n }\n\n openModal = () => {\n this.events.emit('openModal');\n };\n\n closeModal = () => {\n this.events.emit('closeModal');\n };\n\n resetToDefaults() {\n const { select } = this;\n select.defaultStatus = select.defaultStatus.start();\n select.clear();\n }\n\n init() {\n const disposers = [\n this.totalSnapshot.init(),\n addEventListener(this.collection.emitter, 'ready', () => {\n this.totalSnapshot.forceUpdate();\n }),\n reaction(\n () => this.collection.result.keyedItems,\n (keyedItems) => {\n const {\n select,\n allSelected,\n disableAutoSelectAllCount,\n collection: {\n result: { _keyedItemsMap },\n },\n } = this;\n if (allSelected && !disableAutoSelectAllCount) {\n select.syncValues(keyedItems);\n } else {\n select.syncValues(\n select.selectedKeys\n .map(\n (key) =>\n _keyedItemsMap.get(key) as\n | BulkSelectKeyedItem<T>\n | null\n | undefined,\n )\n .filter((e): e is BulkSelectKeyedItem<T> => e != null),\n );\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get selectedKeyedItems() {\n return this.selectedIds\n .map((id) => this.collection.result.get(id))\n .filter((item): item is KeyedItem<T> => !!item);\n }\n\n get isEmpty() {\n return this.select.isEmpty;\n }\n\n get uncheckedInCurrentCollection() {\n const { uncheckedValues, collection } = this;\n const { itemKey } = collection;\n\n return uncheckedValues.filter((item) =>\n collection.result.has(itemKey(item)),\n );\n }\n\n get selectedCountOrTotal() {\n const {\n allSelected,\n disableAutoSelectAllCount,\n selectedIds,\n useNewSelectAllLogic,\n uncheckedInCurrentCollection,\n collection: {\n result: { total },\n },\n } = this;\n\n if (!allSelected || disableAutoSelectAllCount) {\n return selectedIds.length;\n }\n\n if (useNewSelectAllLogic) {\n return total - uncheckedInCurrentCollection.length;\n }\n\n return total;\n }\n\n toggleIsSelectAll = action(() => {\n const {\n allSelected,\n select: { isEmptyEnabledItems },\n } = this;\n if (allSelected || !isEmptyEnabledItems) {\n this.deselectAll();\n } else {\n this.selectAll();\n }\n });\n\n toggle(keyedItem: BulkSelectKeyedItem<T>) {\n this.select.toggle(keyedItem);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1020,7 +1020,8 @@ class CollectionState {
1020
1020
  });
1021
1021
  }
1022
1022
  init({
1023
- skipInitialFetch
1023
+ skipInitialFetch,
1024
+ skipFilterListeners
1024
1025
  } = {}) {
1025
1026
  const {
1026
1027
  bulkSelect,
@@ -1034,7 +1035,9 @@ class CollectionState {
1034
1035
  } = onlineState;
1035
1036
  result.originQuery = query.asComputed;
1036
1037
  onlineState.events.on('change', this.onOnlineStateChange);
1037
- const disposers = [query.init(), this._registerQueryEvents(), result.init(), bulkSelect.init(),
1038
+ const disposers = [query.init({
1039
+ skipFilterListeners
1040
+ }), this._registerQueryEvents(), result.init(), bulkSelect.init(),
1038
1041
  // react-query considers "mounted" only if listeners are subscribed
1039
1042
  this.queryObserver.subscribe(() => {}), focusManager.subscribe(this._recoverIfError)];
1040
1043
  initTask.runOnce(async () => {