@wix/bex-core 1.430.0 → 1.432.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.
- package/dist/cjs/assets/locale/messages_cs.json +2 -2
- package/dist/cjs/assets/locale/messages_da.json +3 -3
- package/dist/cjs/assets/locale/messages_id.json +2 -2
- package/dist/cjs/assets/locale/messages_it.json +3 -3
- package/dist/cjs/assets/locale/messages_ja.json +3 -3
- package/dist/cjs/assets/locale/messages_nl.json +3 -3
- package/dist/cjs/assets/locale/messages_no.json +3 -3
- package/dist/cjs/assets/locale/messages_pl.json +3 -3
- package/dist/cjs/assets/locale/messages_sv.json +3 -3
- package/dist/cjs/assets/locale/messages_tr.json +3 -3
- package/dist/cjs/assets/locale/messages_uk.json +3 -3
- package/dist/cjs/assets/locale/messages_vi.json +3 -3
- package/dist/cjs/model/dataResultRaw/dataResultRaw.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticActions.js +1 -0
- package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/cjs/state/QueryPendingState.js +7 -18
- package/dist/cjs/state/QueryPendingState.js.map +1 -1
- package/dist/cjs/state/index.js +0 -7
- package/dist/cjs/state/index.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +2 -2
- package/dist/esm/assets/locale/messages_da.json +3 -3
- package/dist/esm/assets/locale/messages_id.json +2 -2
- package/dist/esm/assets/locale/messages_it.json +3 -3
- package/dist/esm/assets/locale/messages_ja.json +3 -3
- package/dist/esm/assets/locale/messages_nl.json +3 -3
- package/dist/esm/assets/locale/messages_no.json +3 -3
- package/dist/esm/assets/locale/messages_pl.json +3 -3
- package/dist/esm/assets/locale/messages_sv.json +3 -3
- package/dist/esm/assets/locale/messages_tr.json +3 -3
- package/dist/esm/assets/locale/messages_uk.json +3 -3
- package/dist/esm/assets/locale/messages_vi.json +3 -3
- package/dist/esm/state/CollectionOptimisticActions.js +1 -0
- package/dist/esm/state/CollectionOptimisticActions.js.map +1 -1
- package/dist/esm/state/QueryPendingState.js +4 -14
- package/dist/esm/state/QueryPendingState.js.map +1 -1
- package/dist/esm/state/index.js +0 -1
- package/dist/esm/state/index.js.map +1 -1
- package/dist/types/model/dataResultRaw/dataResultRaw.d.ts +4 -0
- package/dist/types/model/dataResultRaw/dataResultRaw.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticActions.d.ts.map +1 -1
- package/dist/types/state/QueryPendingState.d.ts +2 -9
- package/dist/types/state/QueryPendingState.d.ts.map +1 -1
- package/dist/types/state/index.d.ts +0 -1
- package/dist/types/state/index.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/cjs/state/applyFiltersExperimentEnabled.js +0 -10
- package/dist/cjs/state/applyFiltersExperimentEnabled.js.map +0 -1
- package/dist/esm/state/applyFiltersExperimentEnabled.js +0 -5
- package/dist/esm/state/applyFiltersExperimentEnabled.js.map +0 -1
- package/dist/types/state/applyFiltersExperimentEnabled.d.ts +0 -5
- package/dist/types/state/applyFiltersExperimentEnabled.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Upgradujte web a získáte přístup k více funkcím.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Krátký text",
|
|
4
4
|
"cairo.delete.button": "Odstranit",
|
|
5
5
|
"cairo.deselectAll": "Zrušit výběr všech",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Zjistit více",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Zpět",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Toto pole a informace, které v něm byly shromážděny, budou archivovány a nelze je obnovit.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Upgradujte na plán",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Číslo (desetinné)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Vaše zobrazení nebylo kvůli technickým potížím uloženo.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Få adgang til flere funktioner ved at opgradere din hjemmeside.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Kort tekst",
|
|
4
4
|
"cairo.delete.button": "Slet",
|
|
5
5
|
"cairo.deselectAll": "Fravælg alle",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Læs mere",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annuller",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Dette felt og de oplysninger, der er indsamlet til det, arkiveres og kan ikke gendannes.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Opgrader til et abonnement",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Tal (decimal)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Din visning blev ikke gemt på grund af et teknisk problem.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Når der er elementer, kan du se dem her.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Kunne ikke indlæse tags på grund af et teknisk problem hos os.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sortér",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Opgrader",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Dette er en forudindstillet visning. Hvis du vil navngive denne visning, skal den gemmes som en ny visning.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Vælg type",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "fx abonnent",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Akses lebih banyak fitur dengan upgrade situs Anda.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Teks Pendek",
|
|
4
4
|
"cairo.delete.button": "Hapus",
|
|
5
5
|
"cairo.deselectAll": "Batal Pilih Semua",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Pelajari selengkapnya",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Batal",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Kolom ini dan informasi yang dikumpulkan ke dalamnya akan diarsipkan dan tidak dapat dipulihkan.",
|
|
337
|
-
"cairo.emptyState.premium.title": "Upgrade
|
|
337
|
+
"cairo.emptyState.premium.title": "Upgrade ke paket",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Angka (desimal)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Karena masalah teknis, tampilan Anda tidak disimpan.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Accedi a più funzionalità facendo l'upgrade del tuo sito.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Testo breve",
|
|
4
4
|
"cairo.delete.button": "Elimina",
|
|
5
5
|
"cairo.deselectAll": "Deseleziona tutto",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Scopri di più",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annulla",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Questo campo e le informazioni che ha raccolto saranno archiviate e non potrai ripristinarle.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Fai l'upgrade",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Numero (decimale)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Si è verificato un problema tecnico e la visualizzazione non è stata salvata.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Quando ci saranno elementi, li vedrai qui.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Impossibile caricare i tag a causa di un problema tecnico interno.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Ordina",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Fai l'upgrade",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Questa è una visualizzazione predefinita. Per rinominarla, clicca su Salva nuova vista.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Seleziona tipo",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "es.: Iscritto",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "サイトをアップグレードして、より多くの機能にアクセスしてください。",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "短いテキスト",
|
|
4
4
|
"cairo.delete.button": "削除する",
|
|
5
5
|
"cairo.deselectAll": "選択を解除",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "詳しくはこちら",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "キャンセル",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "この項目および収集された情報はアーカイブされ、復元することはできません。",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "プランにアップグレード",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "数字(10進数)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "技術的な問題が発生したため、ビューが保存されませんでした。",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "アイテムが追加されると、ここに表示されます。",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "弊社側で技術的な問題が発生したため、タグが再読み込みされませんでした。",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "並び替え",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "アップグレードする",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "これはプリセットビューです。このビューに名前をつけるには、新規ビューとして保存してください。",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "項目を選択",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "例:定期購入済み",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Krijg toegang tot meer functies door je website te upgraden.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Korte tekst",
|
|
4
4
|
"cairo.delete.button": "Verwijderen",
|
|
5
5
|
"cairo.deselectAll": "Alles deselecteren",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Lees meer",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annuleren",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Dit veld en de daarin verzamelde informatie wordt gearchiveerd en kan niet hersteld worden.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Upgraden naar een abonnement",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Getal (decimaal)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Je weergave is vanwege een technisch probleem niet opgeslagen.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Je zult toegevoegde items hier kunnen zien.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Kan tags niet laden vanwege een technisch probleem aan onze kant.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sorteren",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Upgraden",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Dit is een vooraf ingestelde weergave. Om deze weergave een naam te geven, kies je voor de optie 'Als nieuwe weergave opslaan'.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Veldtype selecteren",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "bijv. Geabonneerd",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Få tilgang til flere funksjoner ved å oppgradere nettstedet ditt.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Kort tekst",
|
|
4
4
|
"cairo.delete.button": "Remove",
|
|
5
5
|
"cairo.deselectAll": "Fjern merking av alle",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Finn ut mer",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Avbryt",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Dette feltet og informasjonen som samles inn til det, vil bli arkivert og kan ikke gjenopprettes.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Oppgrader til en pakke",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Tall (desimal)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "På grunn av et teknisk problem ble ikke visningen din lagret.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Når det finnes elementer, vil du se dem her.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Kunne ikke laste inn tagger på grunn av et teknisk problem hos oss.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sorter",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Oppgrader",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Dette er en forhåndsinnstilt visning. For å navngi denne visningen lagrer du den som en ny visning.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Velg type",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "f.eks. Abonnert",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Uzyskaj dostęp do większej liczby funkcji, przechodząc do Premium.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Krótki tekst",
|
|
4
4
|
"cairo.delete.button": "Remove",
|
|
5
5
|
"cairo.deselectAll": "Odznacz wszystkie",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Dowiedz się więcej",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Anuluj",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "To pole i zebrane w nim informacje zostaną zarchiwizowane i nie będzie można ich przywrócić.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Przejdź na plan",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Liczba (dziesiętna)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Z powodu problemu technicznego widok nie został zapisany.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Po utworzeniu produktów zobaczysz je tutaj.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Nie udało się załadować tagów z powodu problemu technicznego po naszej stronie.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sortuj",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Premium",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Jest to widok wstępnie ustawiony. Aby nazwać ten widok, zapisz jako nowy widok.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Wybierz rodzaj",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "np. subskrybent",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Få tillgång till fler funktioner genom att uppgradera hemsidan.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Kort text",
|
|
4
4
|
"cairo.delete.button": "Radera",
|
|
5
5
|
"cairo.deselectAll": "Avmarkera alla",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": " Läs mer",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Avbryt",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Det här fältet och den insamlade informationen kommer att arkiveras och kan inte återställas.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Uppgradera till ett paket",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Siffra (decimal)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "På grund av ett tekniskt problem sparades inte vyn.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "När det finns objekt ser du dem här.",
|
|
407
407
|
"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.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sortering",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Uppgradera",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Detta är en förinställd vy. För att namnge vyn behöver du spara den som ny vy.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Välj typ",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "t.ex. Prenumererar",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Sitenizi yükselterek daha fazla özellikten faydalanın.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Kısa metin",
|
|
4
4
|
"cairo.delete.button": "Sil",
|
|
5
5
|
"cairo.deselectAll": "Tümünün Seçimini Kaldır",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Daha Fazla Bilgi",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "İptal",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Bu alan ve alanda toplanan bilgiler arşivlenecek ve geri yüklenemeyecek.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Bir Paket Satın Alın",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Sayı (ondalık)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Teknik bir sorun nedeniyle görünümünüz kaydedilmedi.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Eklenen ögeleri burada göreceksiniz.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Bizim tarafımızdaki teknik bir sorun nedeniyle etiketler yüklenemedi.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sırala",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Yükselt",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Bu önceden hazırlanmış bir görünümdür. Görünümü adlandırmak için yeni bir görünüm olarak kaydedin.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Türü seçin",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "Ör. Abone",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Отримайте більше функцій, перевівши свій сайт на Преміум.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Короткий текст",
|
|
4
4
|
"cairo.delete.button": "Видалити",
|
|
5
5
|
"cairo.deselectAll": "Скасувати вибір",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Дізнатися більше",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Скасувати",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Це поле та зібрана в ньому інформація заархівуються без можливості відновлення.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Перейдіть на Преміум",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Число (десяткове)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Виникла технічна проблема, тому не вдалося зберегти ваш перегляд.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Як тільки елементи з'являться, ви побачите їх тут.",
|
|
407
407
|
"cairo.tags.collectionPage.popover.loadTags.error.body": "Не вдалося завантажити теги, бо в нас виникла технічна проблема.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Сортувати",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "На Преміум",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Це готовий перегляд. Щоб додати для нього назву, збережіть перегляд як новий.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Оберіть тип",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "напр., Підписка",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"cairo.emptyState.premium.text": "
|
|
2
|
+
"cairo.emptyState.premium.text": "Truy cập nhiều tính năng hơn bằng cách nâng cấp trang web của bạn.",
|
|
3
3
|
"cairo.customFields.fieldType.shortText": "Văn bản ngắn",
|
|
4
4
|
"cairo.delete.button": "Xóa",
|
|
5
5
|
"cairo.deselectAll": "Bỏ chọn tất cả",
|
|
@@ -334,7 +334,7 @@
|
|
|
334
334
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Tìm hiểu thêm",
|
|
335
335
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Hủy",
|
|
336
336
|
"cairo.customFields.archive.modal.description": "Trường này và thông tin thu thập vào trường này sẽ được lưu trữ và không thể khôi phục được.",
|
|
337
|
-
"cairo.emptyState.premium.title": "
|
|
337
|
+
"cairo.emptyState.premium.title": "Nâng cấp lên gói",
|
|
338
338
|
"cairo.customFields.fieldType.numberDecimal": "Số (thập phân)",
|
|
339
339
|
"cairo.manageView.saveView.error.toast": "Do sự cố kỹ thuật, dạng xem của bạn không được lưu.",
|
|
340
340
|
"cairo.entityPage.newPageName.title": "New {Entity Name}",
|
|
@@ -406,7 +406,7 @@
|
|
|
406
406
|
"cairo.passiveEmptyState.subtitle": "Sau khi có các mục, bạn sẽ thấy chúng ở đây.",
|
|
407
407
|
"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.",
|
|
408
408
|
"cairo.table.advanced-sorting.button.cta": "Sắp xếp",
|
|
409
|
-
"cairo.emptyState.premium.cta": "
|
|
409
|
+
"cairo.emptyState.premium.cta": "Nâng cấp",
|
|
410
410
|
"cairo.manageView.Rename.disabled.predefinedView.tooltip": "Đây là một dạng xem thiết lập trước. Để đặt tên cho dạng xem này, hãy lưu dưới dạng một dạng xem mới.",
|
|
411
411
|
"cairo.customFields.addCustomField.modal.fieldType.placeholder": "Chọn kiểu",
|
|
412
412
|
"cairo.customFields.fieldType.checkbox.Name.placeholder": "VD: Đã đăng ký",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/model/dataResultRaw/dataResultRaw.ts"],"sourcesContent":["export interface DataResultRaw<T> {\n /**\n * Array of items returned from the server\n */\n items: T[];\n /**\n * Total items available in the server, *after* applying filters. If not provided, offset pagination will not work correctly.\n * @default `items.length`\n */\n total?: number | null;\n /**\n * Total items available in the server, *before* applying filters\n */\n available?: number;\n /**\n * In case of cursor pagination, this will be the value that will be sent in the query on the next page request\n */\n cursor?: string | undefined | null;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/model/dataResultRaw/dataResultRaw.ts"],"sourcesContent":["export interface DataResultRaw<T> {\n /**\n * Array of items returned from the server\n * @external\n */\n items: T[];\n /**\n * Total items available in the server, *after* applying filters. If not provided, offset pagination will not work correctly.\n * @default `items.length`\n * @external\n */\n total?: number | null;\n /**\n * Total items available in the server, *before* applying filters\n * @external\n */\n available?: number;\n /**\n * In case of cursor pagination, this will be the value that will be sent in the query on the next page request\n * @external\n */\n cursor?: string | undefined | null;\n}\n"],"mappings":""}
|
|
@@ -275,6 +275,7 @@ class CollectionOptimisticActions {
|
|
|
275
275
|
patchedItems: new Map(submitResult.map(item => [itemKey(item), item]))
|
|
276
276
|
});
|
|
277
277
|
this.replacePatchAndReprocess(updatedOptimisticPatch, optimisticPatch);
|
|
278
|
+
this._clearPatchOnNextResultOrUnmount(updatedOptimisticPatch);
|
|
278
279
|
return submitResult;
|
|
279
280
|
}),
|
|
280
281
|
onRollback: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_CollectionOptimisticActionsState","_CollectionOptimisticProcessor","_CollectionOptimisticPatch","_CollectionOptimisticExecutor","_events","_QueryResultSimulationDefault","_CollectionOptimisticSequenceExecutor","CollectionOptimisticActions","_queryNames","collection","queryName","collections","map","c","constructor","params","_defineProperty2","default","EventEmitter","Map","action","patch","state","noInvalidate","patches","remove","invalidate","forEach","p","refreshAllPages","events","clearPatch","off","_clearPatch","onRefresh","isStale","once","on","emit","CollectionOptimisticActionsState","source","patchesCache","container","cacheNamespace","resultSimulationDefault","QueryResultSimulationDefault","predicate","orderBy","createdAt","executor","CollectionOptimisticExecutor","batchWait","errorMonitor","showToast","translate","lodash","processors","push","CollectionOptimisticProcessor","optimistic","_optimisticActions","makeObservable","pushPatchAndReprocess","replacePatchAndReprocess","rollback","bound","clear","move","pendingMovePatches","computed","Array","isArray","hasRunningSequence","from","sequences","values","some","s","seq","running","filter","newPatch","oldPatch","oldPatchIndex","findIndex","addOne","item","addMany","items","itemKey","result","submit","serverEventuallyUpdated","onUndo","onTryAgain","onError","optimisticPatch","OptimisticPatch","queryCache","queryNames","actionType","patchedItems","originalItems","originalTotal","total","get","selector","has","_clearPatchOnNextResultOrUnmount","execute","actions","reduce","patchedItemsEntries","key","set","onRollback","eventuallyUpdated","onEventuallyUpdated","createOne","createMany","optimisticPatchParams","submitResult","updatedOptimisticPatch","updateMany","keepPosition","_result$get","originalItem","enqueueMovePatch","query","filtersKeyHash","event","_initSequence","CollectionOptimisticSequenceExecutor","err","pendingPatches","_p$move","Error","message","reorderModeCanceledMessage","biName","onClick","sequence","collectionSnapshot","updateOne","updateAll","patchOrFn","originQuery","itemPredicate","updatedAt","Date","deleteMany","deleteOne","deleteAll","initCollection","processor","dispose","init","i","indexOf","splice","emitRefresh","emitBeforeResultUpdated","emitter","disposers","reaction","isEmpty","_pages","unprocessed","flatMap","page","length","allFilteredOut","fetchNextPageIfNeeded","disposer","remaining","exports"],"sources":["../../../src/state/CollectionOptimisticActions.ts"],"sourcesContent":["import { ActionMove, ComputedQuery, FiltersMap, ToastConfig } from '../model';\nimport {\n action,\n computed,\n IObservableArray,\n makeObservable,\n reaction,\n} from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { Order } from './QueryResultSimulation';\nimport { CollectionOptimisticActionsState } from './CollectionOptimisticActionsState';\nimport { CollectionOptimisticProcessor } from './CollectionOptimisticProcessor';\nimport {\n OptimisticPatch,\n OptimisticPatchParams,\n} from './CollectionOptimisticPatch';\nimport {\n CollectionOptimisticExecutor,\n EventuallyUpdated,\n} from './CollectionOptimisticExecutor';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { QueryResultSimulationDefault } from './QueryResultSimulationDefault';\nimport { CollectionOptimisticSequenceExecutor } from './CollectionOptimisticSequenceExecutor';\nimport { ModalLayoutProps } from '../services';\n\nexport interface OptimisticActionBasis {\n showUndoToast?: boolean;\n showUndoSuccessToast?: boolean;\n onUndo?: () => void;\n errorToast?: (err: unknown) => ToastConfig | string;\n onError?: (err: unknown) => void;\n onTryAgain?: () => void | Promise<void>;\n successToast?: ToastConfig | string;\n serverEventuallyUpdated?: EventuallyUpdated;\n}\n\nexport interface UpdateAllParams<R> extends OptimisticActionBasis {\n submit: () => Promise<R>;\n keepPosition?: boolean;\n}\n\nexport interface UpdateManyParams<T, R> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<R>;\n keepPosition?: boolean;\n}\n\nexport interface MoveParams<T, R> extends OptimisticActionBasis {\n submit?: (params: ActionMove<T>) => Promise<R>;\n collectionSnapshot: { [key: string]: string | number | undefined };\n}\n\nexport interface AddManyParams<T, R> extends OptimisticActionBasis {\n submit?: (items: T[]) => Promise<R>;\n}\n\nexport interface CreateManyParams<T> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<T[]>;\n}\n\nexport interface DeleteManyParams<T, R> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<R>;\n}\n\nexport interface DeleteAllParams<R> extends OptimisticActionBasis {\n submit: () => Promise<R>;\n}\n\nexport interface CollectionOptimisticActionsBaseParams<\n T,\n F extends FiltersMap,\n> {\n readonly predicate?: (\n computedQuery: ComputedQuery<F>,\n ) => (item: T) => boolean;\n readonly orderBy?: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly batchWait?: number;\n readonly noInvalidate?: boolean;\n readonly cacheNamespace?: string;\n}\n\nexport interface CollectionOptimisticActionsParams<T, F extends FiltersMap>\n extends CollectionOptimisticActionsBaseParams<T, F> {\n readonly collection: CollectionState<T, F>;\n readonly collections?: CollectionState<T, F>[];\n readonly container: {\n patchesCache: Map<string, IObservableArray<OptimisticPatch<T>>>;\n events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n };\n}\n\nexport class CollectionOptimisticActions<T, F extends FiltersMap> {\n readonly collection;\n readonly collections;\n readonly predicate: (computedQuery: ComputedQuery<F>) => (item: T) => boolean;\n readonly orderBy: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly events = new EventEmitter() as TypedEmitter<{\n reprocess: () => void;\n updated: () => void;\n refresh: (params: { isStale: boolean }) => void;\n unmount: () => void;\n beforeResultUpdated: () => void;\n dragAndDropSequenceError: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n dragAndDropSequenceRetry: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n }>;\n readonly noInvalidate;\n\n readonly state;\n\n readonly processors: CollectionOptimisticProcessor<T, F>[] = [];\n readonly executor: CollectionOptimisticExecutor<OptimisticPatch<T>>;\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n readonly resultSimulationDefault;\n readonly reorderModeCanceledMessage = 'REORDER_MODE_CANCELED';\n\n _resumeNavigation: (() => void) | null = null;\n\n _orderByMode: 'orders' | 'moves' = 'orders';\n\n get _queryNames() {\n return [\n this.collection.queryName,\n ...this.collections.map((c) => c.queryName),\n ];\n }\n\n constructor(params: CollectionOptimisticActionsParams<T, F>) {\n this.collection = params.collection;\n this.collections = params.collections ?? [];\n\n this.state = new CollectionOptimisticActionsState<T>({\n source: this.collection,\n patchesCache: params.container.patchesCache,\n cacheNamespace: params.cacheNamespace,\n });\n\n this.resultSimulationDefault = new QueryResultSimulationDefault({\n collection: this.collection,\n });\n\n this.predicate = params.predicate ?? this.resultSimulationDefault.predicate;\n this.orderBy = params.orderBy ?? this.resultSimulationDefault.orderBy;\n this.createdAt = params.createdAt;\n this.noInvalidate = params.noInvalidate;\n\n this.executor = new CollectionOptimisticExecutor({\n batchWait: params.batchWait ?? 0,\n errorMonitor: this.collection.errorMonitor,\n showToast: this.collection.showToast,\n translate: this.collection.translate,\n lodash: this.collection.lodash,\n container: params.container,\n });\n\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n optimistic: this,\n }),\n );\n\n if (params.collections != null) {\n params.collections.forEach((collection) => {\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n collection,\n optimistic: this,\n }),\n );\n });\n }\n\n this.collection._optimisticActions = this;\n\n makeObservable(this, {\n pushPatchAndReprocess: action,\n replacePatchAndReprocess: action,\n rollback: action.bound,\n clear: action,\n move: action,\n pendingMovePatches: computed,\n });\n }\n\n rollback(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { events, state } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n\n for (const p of patches) {\n state.patches.remove(p);\n }\n\n events.emit('reprocess');\n }\n\n private _clearPatch = action((patch: OptimisticPatch<T>) => {\n const { state, collection, collections, noInvalidate } = this;\n if (noInvalidate) {\n return;\n }\n\n state.patches.remove(patch);\n collection.invalidate();\n collections.forEach((p) => p.refreshAllPages());\n });\n\n _clearPatchOnNextResultOrUnmount = (patch: OptimisticPatch<T>) => {\n const { events } = this;\n\n const clearPatch = () => {\n events.off('unmount', clearPatch);\n this._clearPatch(patch);\n };\n\n const onRefresh = ({ isStale }: { isStale: boolean }) => {\n events.off('refresh', onRefresh);\n\n // clear only when results are not going to come from cache\n if (isStale) {\n events.once('beforeResultUpdated', clearPatch);\n }\n };\n\n // Clear the patch on the next collection result update to eliminate inconsistencies between server state and local patches\n events.on('refresh', onRefresh);\n // since not clearing the patch immediately, clear it on unmount if was not cleared yet\n events.on('unmount', clearPatch);\n\n events.emit('updated');\n };\n\n get hasRunningSequence() {\n return Array.from(this.sequences.values()).some((s) => s.seq.state.running);\n }\n\n get pendingMovePatches() {\n return this.state.patches.filter((p) => p.move);\n }\n\n pushPatchAndReprocess(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { state, events } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n state.patches.push(...patches);\n events.emit('reprocess');\n }\n\n replacePatchAndReprocess(\n newPatch: OptimisticPatch<T>,\n oldPatch: OptimisticPatch<T>,\n ) {\n const { state, events } = this;\n\n const oldPatchIndex = state.patches.findIndex(\n (patch) => patch === oldPatch,\n );\n state.patches[oldPatchIndex] = newPatch;\n events.emit('reprocess');\n }\n\n /**\n * @deprecated Use createOne instead\n */\n addOne<R>(item: T, params: AddManyParams<T, R> = {}) {\n return this.addMany([item], params);\n }\n\n /**\n * @deprecated Use createMany instead\n */\n addMany<R>(items: T[], params: AddManyParams<T, R> = {}) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit?.(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n createOne(item: T, params: CreateManyParams<T>) {\n this.createMany([item], params);\n }\n\n createMany(items: T[], params: CreateManyParams<T>) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatchParams: OptimisticPatchParams<T> = {\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n };\n\n const optimisticPatch = new OptimisticPatch<T>(optimisticPatchParams);\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action(async (actions) => {\n const submitResult = await submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n );\n\n const updatedOptimisticPatch = new OptimisticPatch({\n ...optimisticPatchParams,\n patchedItems: new Map(\n submitResult.map((item) => [itemKey(item), item]),\n ),\n });\n\n this.replacePatchAndReprocess(updatedOptimisticPatch, optimisticPatch);\n return submitResult;\n }),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n async updateMany<R>(items: T[], params: UpdateManyParams<T, R>) {\n const { executor, collection } = this;\n const { itemKey, result } = collection;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'updateMany',\n keepPosition,\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(\n items.map((item) => {\n const key = itemKey(item);\n const originalItem = result.get(itemKey(item))?.item ?? item;\n return [key, originalItem];\n }),\n ),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'updateMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n enqueueMovePatch<R>(\n optimisticPatch: OptimisticPatch<T>,\n params: MoveParams<T, R>,\n ) {\n const { submit, onTryAgain } = params;\n const { collection, state, events } = this;\n const { query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const event = optimisticPatch.move;\n\n if (event == null) {\n return;\n }\n\n const _initSequence = () => {\n const { sequences } = this;\n const seq =\n sequences.get(filtersKeyHash) ??\n new CollectionOptimisticSequenceExecutor({\n showToast: collection.showToast,\n translate: collection.translate,\n errorMonitor: collection.errorMonitor,\n onRollback: (err) => {\n const pendingPatches = patches.filter(\n (p) => p.move?.filtersKeyHash === filtersKeyHash,\n );\n this.rollback(pendingPatches);\n\n if (\n err instanceof Error &&\n err.message === this.reorderModeCanceledMessage\n ) {\n executor.seq.clear();\n return;\n }\n\n events.emit('dragAndDropSequenceError', {\n patches: pendingPatches,\n });\n executor.seq.clear();\n return {\n message: collection.translate('cairo.dragAndDrop.error.toast'),\n biName: 'cairo-drag-and-drop-submit-error',\n action: {\n onClick: async () => {\n this.pushPatchAndReprocess(pendingPatches);\n for (const p of pendingPatches) {\n this.enqueueMovePatch(p, params);\n }\n events.emit('dragAndDropSequenceRetry', {\n patches: pendingPatches,\n });\n\n await onTryAgain?.();\n },\n },\n };\n },\n });\n\n if (!sequences.has(filtersKeyHash)) {\n sequences.set(filtersKeyHash, seq);\n }\n\n return seq;\n };\n\n const executor = _initSequence();\n\n executor.sequence({\n submit: () => submit?.(event),\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n });\n }\n\n async move<R>(event: ActionMove<T>, params: MoveParams<T, R>) {\n const { collection, state } = this;\n const { itemKey, result, query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches,\n actionType: 'move',\n patchedItems: new Map(),\n originalItems: new Map(),\n originalTotal: result.total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n move: {\n ...event,\n filtersKeyHash,\n },\n collectionSnapshot: params.collectionSnapshot,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.enqueueMovePatch(optimisticPatch, params);\n }\n\n async updateOne<R>(item: T, params: UpdateManyParams<T, R>) {\n return this.updateMany([item], params);\n }\n\n /**\n * @deprecated `updateAll(fn)` API is not recommended as it's not possible to calculate \"optimistic total\", prefer updateAll(patchObject) API.\n */\n async updateAll<R>(\n patchOrFn: (item: T) => Partial<T>,\n params: UpdateAllParams<R>,\n ): Promise<void>;\n\n async updateAll<R>(\n patchOrFn: Partial<T>,\n params: UpdateAllParams<R>,\n ): Promise<void>;\n\n async updateAll<R>(\n patchOrFn: ((item: T) => Partial<T>) | Partial<T>,\n params: UpdateAllParams<R>,\n ) {\n const { executor, collection, predicate, createdAt } = this;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const { patch, actionType } =\n typeof patchOrFn === 'function'\n ? { actionType: 'updateAll' as const, patch: patchOrFn }\n : {\n actionType: 'updateAllConst' as const,\n patch: (item: T) => ({ ...item, ...patchOrFn }),\n };\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType,\n keepPosition,\n queryNames: this._queryNames,\n patchedItems: new Map(\n items.map((item) => [itemKey(item), { ...item, ...patch(item) }]),\n ),\n originalItems: new Map(items.map((item) => [itemKey(item), item])),\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n patch,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n deleteMany<R>(items: T[], params: DeleteManyParams<T, R>) {\n const { executor, collection } = this;\n const {\n itemKey,\n result: { total },\n } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType: 'deleteMany',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'deleteMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n deleteOne<R>(item: T, params: DeleteManyParams<T, R>) {\n return this.deleteMany([item], params);\n }\n\n async deleteAll<R>(params: UpdateAllParams<R>) {\n const { executor, collection, predicate, createdAt } = this;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n patches: this.state.patches,\n queryCache: collection.queryCache,\n actionType: 'deleteAll',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n });\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n initCollection(collection: CollectionState<T, F>) {\n this.collections.push(collection);\n const processor = new CollectionOptimisticProcessor({\n collection,\n optimistic: this,\n orderBy: this.orderBy,\n predicate: this.predicate,\n });\n\n const dispose = processor.init();\n\n return () => {\n const i = this.collections.indexOf(collection);\n if (i !== -1) {\n this.collections.splice(i, 1);\n }\n dispose();\n };\n }\n\n init() {\n const { collection, processors, events } = this;\n\n const emitRefresh = (params: { isStale: boolean }) => {\n events.emit('refresh', params);\n };\n const emitBeforeResultUpdated = () => events.emit('beforeResultUpdated');\n\n collection.emitter.on('refresh', emitRefresh);\n collection.emitter.on('beforeResultUpdated', emitBeforeResultUpdated);\n\n const disposers = [\n reaction(\n () => {\n const {\n result: { isEmpty, _pages },\n } = collection;\n const unprocessed = _pages.unprocessed.flatMap((page) => page);\n return isEmpty && unprocessed.length > 0;\n },\n (allFilteredOut) => {\n if (allFilteredOut) {\n collection.fetchNextPageIfNeeded();\n }\n },\n ),\n ...processors.map((p) => p.init()),\n ];\n\n return () => {\n collection.emitter.off('refresh', emitRefresh);\n collection.emitter.off('beforeResultUpdated', emitBeforeResultUpdated);\n disposers.forEach((disposer) => disposer());\n events.emit('unmount');\n };\n }\n\n clear() {\n const { patches } = this.state;\n const remaining = patches.clear();\n for (const patch of remaining) {\n if (!patch.isStale) {\n patches.push(patch);\n }\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_CollectionOptimisticActionsState","_CollectionOptimisticProcessor","_CollectionOptimisticPatch","_CollectionOptimisticExecutor","_events","_QueryResultSimulationDefault","_CollectionOptimisticSequenceExecutor","CollectionOptimisticActions","_queryNames","collection","queryName","collections","map","c","constructor","params","_defineProperty2","default","EventEmitter","Map","action","patch","state","noInvalidate","patches","remove","invalidate","forEach","p","refreshAllPages","events","clearPatch","off","_clearPatch","onRefresh","isStale","once","on","emit","CollectionOptimisticActionsState","source","patchesCache","container","cacheNamespace","resultSimulationDefault","QueryResultSimulationDefault","predicate","orderBy","createdAt","executor","CollectionOptimisticExecutor","batchWait","errorMonitor","showToast","translate","lodash","processors","push","CollectionOptimisticProcessor","optimistic","_optimisticActions","makeObservable","pushPatchAndReprocess","replacePatchAndReprocess","rollback","bound","clear","move","pendingMovePatches","computed","Array","isArray","hasRunningSequence","from","sequences","values","some","s","seq","running","filter","newPatch","oldPatch","oldPatchIndex","findIndex","addOne","item","addMany","items","itemKey","result","submit","serverEventuallyUpdated","onUndo","onTryAgain","onError","optimisticPatch","OptimisticPatch","queryCache","queryNames","actionType","patchedItems","originalItems","originalTotal","total","get","selector","has","_clearPatchOnNextResultOrUnmount","execute","actions","reduce","patchedItemsEntries","key","set","onRollback","eventuallyUpdated","onEventuallyUpdated","createOne","createMany","optimisticPatchParams","submitResult","updatedOptimisticPatch","updateMany","keepPosition","_result$get","originalItem","enqueueMovePatch","query","filtersKeyHash","event","_initSequence","CollectionOptimisticSequenceExecutor","err","pendingPatches","_p$move","Error","message","reorderModeCanceledMessage","biName","onClick","sequence","collectionSnapshot","updateOne","updateAll","patchOrFn","originQuery","itemPredicate","updatedAt","Date","deleteMany","deleteOne","deleteAll","initCollection","processor","dispose","init","i","indexOf","splice","emitRefresh","emitBeforeResultUpdated","emitter","disposers","reaction","isEmpty","_pages","unprocessed","flatMap","page","length","allFilteredOut","fetchNextPageIfNeeded","disposer","remaining","exports"],"sources":["../../../src/state/CollectionOptimisticActions.ts"],"sourcesContent":["import { ActionMove, ComputedQuery, FiltersMap, ToastConfig } from '../model';\nimport {\n action,\n computed,\n IObservableArray,\n makeObservable,\n reaction,\n} from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { Order } from './QueryResultSimulation';\nimport { CollectionOptimisticActionsState } from './CollectionOptimisticActionsState';\nimport { CollectionOptimisticProcessor } from './CollectionOptimisticProcessor';\nimport {\n OptimisticPatch,\n OptimisticPatchParams,\n} from './CollectionOptimisticPatch';\nimport {\n CollectionOptimisticExecutor,\n EventuallyUpdated,\n} from './CollectionOptimisticExecutor';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { QueryResultSimulationDefault } from './QueryResultSimulationDefault';\nimport { CollectionOptimisticSequenceExecutor } from './CollectionOptimisticSequenceExecutor';\nimport { ModalLayoutProps } from '../services';\n\nexport interface OptimisticActionBasis {\n showUndoToast?: boolean;\n showUndoSuccessToast?: boolean;\n onUndo?: () => void;\n errorToast?: (err: unknown) => ToastConfig | string;\n onError?: (err: unknown) => void;\n onTryAgain?: () => void | Promise<void>;\n successToast?: ToastConfig | string;\n serverEventuallyUpdated?: EventuallyUpdated;\n}\n\nexport interface UpdateAllParams<R> extends OptimisticActionBasis {\n submit: () => Promise<R>;\n keepPosition?: boolean;\n}\n\nexport interface UpdateManyParams<T, R> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<R>;\n keepPosition?: boolean;\n}\n\nexport interface MoveParams<T, R> extends OptimisticActionBasis {\n submit?: (params: ActionMove<T>) => Promise<R>;\n collectionSnapshot: { [key: string]: string | number | undefined };\n}\n\nexport interface AddManyParams<T, R> extends OptimisticActionBasis {\n submit?: (items: T[]) => Promise<R>;\n}\n\nexport interface CreateManyParams<T> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<T[]>;\n}\n\nexport interface DeleteManyParams<T, R> extends OptimisticActionBasis {\n submit: (items: T[]) => Promise<R>;\n}\n\nexport interface DeleteAllParams<R> extends OptimisticActionBasis {\n submit: () => Promise<R>;\n}\n\nexport interface CollectionOptimisticActionsBaseParams<\n T,\n F extends FiltersMap,\n> {\n readonly predicate?: (\n computedQuery: ComputedQuery<F>,\n ) => (item: T) => boolean;\n readonly orderBy?: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly batchWait?: number;\n readonly noInvalidate?: boolean;\n readonly cacheNamespace?: string;\n}\n\nexport interface CollectionOptimisticActionsParams<T, F extends FiltersMap>\n extends CollectionOptimisticActionsBaseParams<T, F> {\n readonly collection: CollectionState<T, F>;\n readonly collections?: CollectionState<T, F>[];\n readonly container: {\n patchesCache: Map<string, IObservableArray<OptimisticPatch<T>>>;\n events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n };\n}\n\nexport class CollectionOptimisticActions<T, F extends FiltersMap> {\n readonly collection;\n readonly collections;\n readonly predicate: (computedQuery: ComputedQuery<F>) => (item: T) => boolean;\n readonly orderBy: (computedQuery: ComputedQuery<F>) => Order<T>[];\n readonly createdAt?: (item: T) => Date;\n readonly events = new EventEmitter() as TypedEmitter<{\n reprocess: () => void;\n updated: () => void;\n refresh: (params: { isStale: boolean }) => void;\n unmount: () => void;\n beforeResultUpdated: () => void;\n dragAndDropSequenceError: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n dragAndDropSequenceRetry: (params: {\n patches: OptimisticPatch<T>[];\n }) => void;\n }>;\n readonly noInvalidate;\n\n readonly state;\n\n readonly processors: CollectionOptimisticProcessor<T, F>[] = [];\n readonly executor: CollectionOptimisticExecutor<OptimisticPatch<T>>;\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n readonly resultSimulationDefault;\n readonly reorderModeCanceledMessage = 'REORDER_MODE_CANCELED';\n\n _resumeNavigation: (() => void) | null = null;\n\n _orderByMode: 'orders' | 'moves' = 'orders';\n\n get _queryNames() {\n return [\n this.collection.queryName,\n ...this.collections.map((c) => c.queryName),\n ];\n }\n\n constructor(params: CollectionOptimisticActionsParams<T, F>) {\n this.collection = params.collection;\n this.collections = params.collections ?? [];\n\n this.state = new CollectionOptimisticActionsState<T>({\n source: this.collection,\n patchesCache: params.container.patchesCache,\n cacheNamespace: params.cacheNamespace,\n });\n\n this.resultSimulationDefault = new QueryResultSimulationDefault({\n collection: this.collection,\n });\n\n this.predicate = params.predicate ?? this.resultSimulationDefault.predicate;\n this.orderBy = params.orderBy ?? this.resultSimulationDefault.orderBy;\n this.createdAt = params.createdAt;\n this.noInvalidate = params.noInvalidate;\n\n this.executor = new CollectionOptimisticExecutor({\n batchWait: params.batchWait ?? 0,\n errorMonitor: this.collection.errorMonitor,\n showToast: this.collection.showToast,\n translate: this.collection.translate,\n lodash: this.collection.lodash,\n container: params.container,\n });\n\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n optimistic: this,\n }),\n );\n\n if (params.collections != null) {\n params.collections.forEach((collection) => {\n this.processors.push(\n new CollectionOptimisticProcessor({\n ...params,\n collection,\n optimistic: this,\n }),\n );\n });\n }\n\n this.collection._optimisticActions = this;\n\n makeObservable(this, {\n pushPatchAndReprocess: action,\n replacePatchAndReprocess: action,\n rollback: action.bound,\n clear: action,\n move: action,\n pendingMovePatches: computed,\n });\n }\n\n rollback(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { events, state } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n\n for (const p of patches) {\n state.patches.remove(p);\n }\n\n events.emit('reprocess');\n }\n\n private _clearPatch = action((patch: OptimisticPatch<T>) => {\n const { state, collection, collections, noInvalidate } = this;\n if (noInvalidate) {\n return;\n }\n\n state.patches.remove(patch);\n collection.invalidate();\n collections.forEach((p) => p.refreshAllPages());\n });\n\n _clearPatchOnNextResultOrUnmount = (patch: OptimisticPatch<T>) => {\n const { events } = this;\n\n const clearPatch = () => {\n events.off('unmount', clearPatch);\n this._clearPatch(patch);\n };\n\n const onRefresh = ({ isStale }: { isStale: boolean }) => {\n events.off('refresh', onRefresh);\n\n // clear only when results are not going to come from cache\n if (isStale) {\n events.once('beforeResultUpdated', clearPatch);\n }\n };\n\n // Clear the patch on the next collection result update to eliminate inconsistencies between server state and local patches\n events.on('refresh', onRefresh);\n // since not clearing the patch immediately, clear it on unmount if was not cleared yet\n events.on('unmount', clearPatch);\n\n events.emit('updated');\n };\n\n get hasRunningSequence() {\n return Array.from(this.sequences.values()).some((s) => s.seq.state.running);\n }\n\n get pendingMovePatches() {\n return this.state.patches.filter((p) => p.move);\n }\n\n pushPatchAndReprocess(patch: OptimisticPatch<T> | OptimisticPatch<T>[]) {\n const { state, events } = this;\n const patches = Array.isArray(patch) ? patch : [patch];\n state.patches.push(...patches);\n events.emit('reprocess');\n }\n\n replacePatchAndReprocess(\n newPatch: OptimisticPatch<T>,\n oldPatch: OptimisticPatch<T>,\n ) {\n const { state, events } = this;\n\n const oldPatchIndex = state.patches.findIndex(\n (patch) => patch === oldPatch,\n );\n state.patches[oldPatchIndex] = newPatch;\n events.emit('reprocess');\n }\n\n /**\n * @deprecated Use createOne instead\n */\n addOne<R>(item: T, params: AddManyParams<T, R> = {}) {\n return this.addMany([item], params);\n }\n\n /**\n * @deprecated Use createMany instead\n */\n addMany<R>(items: T[], params: AddManyParams<T, R> = {}) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit?.(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n createOne(item: T, params: CreateManyParams<T>) {\n this.createMany([item], params);\n }\n\n createMany(items: T[], params: CreateManyParams<T>) {\n const { collection, executor } = this;\n const { itemKey, result } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const optimisticPatchParams: OptimisticPatchParams<T> = {\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'createMany',\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n };\n\n const optimisticPatch = new OptimisticPatch<T>(optimisticPatchParams);\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action(async (actions) => {\n const submitResult = await submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'createMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n );\n\n const updatedOptimisticPatch = new OptimisticPatch({\n ...optimisticPatchParams,\n patchedItems: new Map(\n submitResult.map((item) => [itemKey(item), item]),\n ),\n });\n\n this.replacePatchAndReprocess(updatedOptimisticPatch, optimisticPatch);\n this._clearPatchOnNextResultOrUnmount(updatedOptimisticPatch);\n return submitResult;\n }),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n async updateMany<R>(items: T[], params: UpdateManyParams<T, R>) {\n const { executor, collection } = this;\n const { itemKey, result } = collection;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches: this.state.patches,\n actionType: 'updateMany',\n keepPosition,\n patchedItems: new Map(items.map((item) => [itemKey(item), item])),\n originalItems: new Map(\n items.map((item) => {\n const key = itemKey(item);\n const originalItem = result.get(itemKey(item))?.item ?? item;\n return [key, originalItem];\n }),\n ),\n originalTotal: result.total,\n patch: (item, { patchedItems }) => patchedItems.get(itemKey(item)),\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n return executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'updateMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n enqueueMovePatch<R>(\n optimisticPatch: OptimisticPatch<T>,\n params: MoveParams<T, R>,\n ) {\n const { submit, onTryAgain } = params;\n const { collection, state, events } = this;\n const { query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const event = optimisticPatch.move;\n\n if (event == null) {\n return;\n }\n\n const _initSequence = () => {\n const { sequences } = this;\n const seq =\n sequences.get(filtersKeyHash) ??\n new CollectionOptimisticSequenceExecutor({\n showToast: collection.showToast,\n translate: collection.translate,\n errorMonitor: collection.errorMonitor,\n onRollback: (err) => {\n const pendingPatches = patches.filter(\n (p) => p.move?.filtersKeyHash === filtersKeyHash,\n );\n this.rollback(pendingPatches);\n\n if (\n err instanceof Error &&\n err.message === this.reorderModeCanceledMessage\n ) {\n executor.seq.clear();\n return;\n }\n\n events.emit('dragAndDropSequenceError', {\n patches: pendingPatches,\n });\n executor.seq.clear();\n return {\n message: collection.translate('cairo.dragAndDrop.error.toast'),\n biName: 'cairo-drag-and-drop-submit-error',\n action: {\n onClick: async () => {\n this.pushPatchAndReprocess(pendingPatches);\n for (const p of pendingPatches) {\n this.enqueueMovePatch(p, params);\n }\n events.emit('dragAndDropSequenceRetry', {\n patches: pendingPatches,\n });\n\n await onTryAgain?.();\n },\n },\n };\n },\n });\n\n if (!sequences.has(filtersKeyHash)) {\n sequences.set(filtersKeyHash, seq);\n }\n\n return seq;\n };\n\n const executor = _initSequence();\n\n executor.sequence({\n submit: () => submit?.(event),\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n });\n }\n\n async move<R>(event: ActionMove<T>, params: MoveParams<T, R>) {\n const { collection, state } = this;\n const { itemKey, result, query } = collection;\n const { patches } = state;\n\n const { filtersKeyHash } = query;\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n queryNames: this._queryNames,\n patches,\n actionType: 'move',\n patchedItems: new Map(),\n originalItems: new Map(),\n originalTotal: result.total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n move: {\n ...event,\n filtersKeyHash,\n },\n collectionSnapshot: params.collectionSnapshot,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.enqueueMovePatch(optimisticPatch, params);\n }\n\n async updateOne<R>(item: T, params: UpdateManyParams<T, R>) {\n return this.updateMany([item], params);\n }\n\n /**\n * @deprecated `updateAll(fn)` API is not recommended as it's not possible to calculate \"optimistic total\", prefer updateAll(patchObject) API.\n */\n async updateAll<R>(\n patchOrFn: (item: T) => Partial<T>,\n params: UpdateAllParams<R>,\n ): Promise<void>;\n\n async updateAll<R>(\n patchOrFn: Partial<T>,\n params: UpdateAllParams<R>,\n ): Promise<void>;\n\n async updateAll<R>(\n patchOrFn: ((item: T) => Partial<T>) | Partial<T>,\n params: UpdateAllParams<R>,\n ) {\n const { executor, collection, predicate, createdAt } = this;\n const {\n submit,\n serverEventuallyUpdated,\n keepPosition,\n onUndo,\n onTryAgain,\n onError,\n } = params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const { patch, actionType } =\n typeof patchOrFn === 'function'\n ? { actionType: 'updateAll' as const, patch: patchOrFn }\n : {\n actionType: 'updateAllConst' as const,\n patch: (item: T) => ({ ...item, ...patchOrFn }),\n };\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType,\n keepPosition,\n queryNames: this._queryNames,\n patchedItems: new Map(\n items.map((item) => [itemKey(item), { ...item, ...patch(item) }]),\n ),\n originalItems: new Map(items.map((item) => [itemKey(item), item])),\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n patch,\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n deleteMany<R>(items: T[], params: DeleteManyParams<T, R>) {\n const { executor, collection } = this;\n const {\n itemKey,\n result: { total },\n } = collection;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n queryCache: collection.queryCache,\n patches: this.state.patches,\n actionType: 'deleteMany',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item, { patchedItems }) => patchedItems.has(itemKey(item)),\n });\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n executor.execute([optimisticPatch], {\n ...params,\n submit: action((actions) =>\n submit(\n Array.from(\n actions\n .filter(({ actionType }) => actionType === 'deleteMany')\n .reduce((map, { patchedItemsEntries }) => {\n for (const [key, item] of patchedItemsEntries) {\n map.set(key, item);\n }\n return map;\n }, new Map<string, T>())\n .values(),\n ),\n ),\n ),\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n deleteOne<R>(item: T, params: DeleteManyParams<T, R>) {\n return this.deleteMany([item], params);\n }\n\n async deleteAll<R>(params: UpdateAllParams<R>) {\n const { executor, collection, predicate, createdAt } = this;\n const { submit, serverEventuallyUpdated, onUndo, onTryAgain, onError } =\n params;\n const {\n itemKey,\n result: { originQuery, items, total },\n } = collection;\n\n const itemPredicate = predicate(originQuery);\n\n const updatedAt = new Date();\n\n const patchedItems = new Map(items.map((item) => [itemKey(item), item]));\n\n const optimisticPatch = new OptimisticPatch({\n patches: this.state.patches,\n queryCache: collection.queryCache,\n actionType: 'deleteAll',\n patchedItems,\n queryNames: this._queryNames,\n originalItems: patchedItems,\n originalTotal: total,\n selector: (item) =>\n itemPredicate(item) &&\n (createdAt == null || createdAt(item) <= updatedAt),\n });\n\n optimisticPatch.events.on(\n 'scheduleRemoval',\n this._clearPatchOnNextResultOrUnmount,\n );\n\n this.pushPatchAndReprocess(optimisticPatch);\n\n executor.execute([optimisticPatch], {\n ...params,\n submit,\n onRollback: () => {\n this.rollback(optimisticPatch);\n },\n eventuallyUpdated: serverEventuallyUpdated,\n onEventuallyUpdated: optimisticPatch.onEventuallyUpdated,\n onTryAgain: async () => {\n this.pushPatchAndReprocess(optimisticPatch);\n await onTryAgain?.();\n },\n onError,\n onUndo,\n });\n }\n\n initCollection(collection: CollectionState<T, F>) {\n this.collections.push(collection);\n const processor = new CollectionOptimisticProcessor({\n collection,\n optimistic: this,\n orderBy: this.orderBy,\n predicate: this.predicate,\n });\n\n const dispose = processor.init();\n\n return () => {\n const i = this.collections.indexOf(collection);\n if (i !== -1) {\n this.collections.splice(i, 1);\n }\n dispose();\n };\n }\n\n init() {\n const { collection, processors, events } = this;\n\n const emitRefresh = (params: { isStale: boolean }) => {\n events.emit('refresh', params);\n };\n const emitBeforeResultUpdated = () => events.emit('beforeResultUpdated');\n\n collection.emitter.on('refresh', emitRefresh);\n collection.emitter.on('beforeResultUpdated', emitBeforeResultUpdated);\n\n const disposers = [\n reaction(\n () => {\n const {\n result: { isEmpty, _pages },\n } = collection;\n const unprocessed = _pages.unprocessed.flatMap((page) => page);\n return isEmpty && unprocessed.length > 0;\n },\n (allFilteredOut) => {\n if (allFilteredOut) {\n collection.fetchNextPageIfNeeded();\n }\n },\n ),\n ...processors.map((p) => p.init()),\n ];\n\n return () => {\n collection.emitter.off('refresh', emitRefresh);\n collection.emitter.off('beforeResultUpdated', emitBeforeResultUpdated);\n disposers.forEach((disposer) => disposer());\n events.emit('unmount');\n };\n }\n\n clear() {\n const { patches } = this.state;\n const remaining = patches.clear();\n for (const patch of remaining) {\n if (!patch.isStale) {\n patches.push(patch);\n }\n }\n }\n}\n"],"mappings":"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"}
|