@wix/bex-core 2.20.0 → 2.21.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 (30) hide show
  1. package/dist/cjs/assets/locale/messages_cs.json +5 -5
  2. package/dist/cjs/assets/locale/messages_de.json +5 -5
  3. package/dist/cjs/assets/locale/messages_en.json +2 -2
  4. package/dist/cjs/assets/locale/messages_nl.json +5 -5
  5. package/dist/cjs/testkit/createFoldersBackend.js +24 -13
  6. package/dist/cjs/testkit/createFoldersBackend.js.map +1 -1
  7. package/dist/cjs/testkit/folder.js.map +1 -1
  8. package/dist/cjs/testkit/foldersStaticData.js +2 -0
  9. package/dist/cjs/testkit/foldersStaticData.js.map +1 -0
  10. package/dist/cjs/testkit/internal.js +6 -0
  11. package/dist/cjs/testkit/internal.js.map +1 -1
  12. package/dist/esm/assets/locale/messages_cs.json +5 -5
  13. package/dist/esm/assets/locale/messages_de.json +5 -5
  14. package/dist/esm/assets/locale/messages_en.json +2 -2
  15. package/dist/esm/assets/locale/messages_nl.json +5 -5
  16. package/dist/esm/testkit/createFoldersBackend.js +22 -13
  17. package/dist/esm/testkit/createFoldersBackend.js.map +1 -1
  18. package/dist/esm/testkit/foldersStaticData.js +16148 -0
  19. package/dist/esm/testkit/foldersStaticData.js.map +1 -0
  20. package/dist/esm/testkit/internal.js +1 -0
  21. package/dist/esm/testkit/internal.js.map +1 -1
  22. package/dist/types/testkit/createFoldersBackend.d.ts +8 -6
  23. package/dist/types/testkit/createFoldersBackend.d.ts.map +1 -1
  24. package/dist/types/testkit/folder.d.ts +14 -0
  25. package/dist/types/testkit/folder.d.ts.map +1 -1
  26. package/dist/types/testkit/foldersStaticData.d.ts +23 -0
  27. package/dist/types/testkit/foldersStaticData.d.ts.map +1 -0
  28. package/dist/types/testkit/internal.d.ts +1 -0
  29. package/dist/types/testkit/internal.d.ts.map +1 -1
  30. package/package.json +2 -2
@@ -49,7 +49,7 @@
49
49
  "cairo.customFields.fieldType.dropdownList.addOption.CTA": "Přidat možnost",
50
50
  "cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Zpět",
51
51
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Odstranit",
52
- "cairo.updatedView.collectionPage.toast.cta": "Refresh",
52
+ "cairo.updatedView.collectionPage.toast.cta": "Obnovit",
53
53
  "cairo.customFields.fieldType.dropdownList.placeholder": "Např. Itálie",
54
54
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Zpět",
55
55
  "cairo.dragAndDrop.discardChanges.CTA": "Zahodit",
@@ -177,7 +177,7 @@
177
177
  "cairo.customFields.technical.error.title": "Nepodařilo se nám načíst vaše vlastní pole.",
178
178
  "cairo.table.saveViewModal.body": "Toto zobrazení bude obsahovat filtry a sloupce, které jsou aktuálně použity. ",
179
179
  "cairo.customFields.emptyStatePassive.title": "Zatím žádná pole",
180
- "cairo.customFields.entityPage.title": "Vlastní pole",
180
+ "cairo.customFields.entityPage.title": "Další pole",
181
181
  "cairo.dragAndDrop.reorderMode.toolbar.save.cta": "Save Order",
182
182
  "cairo.customFields.archive.modal.title": "Archivovat vlastní pole?",
183
183
  "cairo.manageView.Rename.Success.toast": "Složka „{oldViewName}“ byla přejmenována na „{newViewName}“.",
@@ -199,7 +199,7 @@
199
199
  "cairo.customFields.modal.networkError": "Pole nebylo přidáno kvůli chybě sítě. Zkontrolujte připojení a zkuste to znovu.",
200
200
  "cairo.customFields.manageFields.CTA": "Správa",
201
201
  "cairo.appliedFilters": "{num, plural, =0 {Není použit žádný filtr} one {Byl použit 1 filtr} few {Byly použity {num,number} filtry} many {Bylo použito {num,number} filtrů} other {Bylo použito {num,number} filtrů}}",
202
- "cairo.collectionsPage.edit.CTA": "Edit",
202
+ "cairo.collectionsPage.edit.CTA": "Upravit",
203
203
  "cairo.dragAndDrop.reorderMode.toast.success": "Order has been updated",
204
204
  "cairo.customFields.addCustomField.modal.sameKey.error": "Tento klíč již existuje. Zkuste jiný.",
205
205
  "cairo.entityPage.saveError-technical.toast.description": "Změny nebyly uloženy kvůli technickým potížím na naší straně. ",
@@ -347,7 +347,7 @@
347
347
  "cairo.manageView.saveNewView.CTA": "Uložit jako nové zobrazení",
348
348
  "cair.appliedFilters.Apply.CTA": "Použít",
349
349
  "cairo.export.noPermissionsCTA": "Zobrazit role a oprávnění",
350
- "cairo.updatedView.collectionPage.toast.desc": "Collection was updated, refresh to see updated view",
350
+ "cairo.updatedView.collectionPage.toast.desc": "Změny byly uloženy. Pro použití filtrů stránku obnovte.",
351
351
  "cairo.search.nothingMatches.text": "Zkuste nové hledání.",
352
352
  "cairo.viewDropdown.category.predefinedViews": "Přednastavená zobrazení",
353
353
  "cairo.customFields.fieldType.dropdownList.inputTitle": "Možnosti",
@@ -408,7 +408,7 @@
408
408
  "cairo.tags.collectionPage.applyChanges.CTA": "Použít",
409
409
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Zadejte název",
410
410
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Nebyly nalezeny žádné výsledky} one {Byl nalezen 1 výsledek} few {Byly nalezeny {num,number} výsledky} many {Bylo nalezeno {num,number} výsledků} other {Bylo nalezeno {num,number} výsledků}}",
411
- "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
411
+ "cairo.customFields.entityPage.sectionTitle": "Vaše vlastní pole",
412
412
  "cairo.table.listView": "Seznam",
413
413
  "cairo.passiveEmptyState.subtitle": "Až budete mít nějaké položky, uvidíte je zde.",
414
414
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Tagy se nepodařilo načíst kvůli technickým potížím na naší straně.",
@@ -49,7 +49,7 @@
49
49
  "cairo.customFields.fieldType.dropdownList.addOption.CTA": "Option hinzufügen",
50
50
  "cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Abbrechen",
51
51
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Löschen",
52
- "cairo.updatedView.collectionPage.toast.cta": "Refresh",
52
+ "cairo.updatedView.collectionPage.toast.cta": "Aktualisieren",
53
53
  "cairo.customFields.fieldType.dropdownList.placeholder": "z. B. Italien",
54
54
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Abbrechen",
55
55
  "cairo.dragAndDrop.discardChanges.CTA": "Verwerfen",
@@ -177,7 +177,7 @@
177
177
  "cairo.customFields.technical.error.title": "Benutzerdefinierte Felder konnten nicht geladen werden.",
178
178
  "cairo.table.saveViewModal.body": "Diese Ansicht enthält die Filter und Spalten, die du zurzeit anwendest. ",
179
179
  "cairo.customFields.emptyStatePassive.title": "Noch keine Felder vorhanden",
180
- "cairo.customFields.entityPage.title": "Benutzerdefinierte Felder",
180
+ "cairo.customFields.entityPage.title": "Zusätzliche Felder",
181
181
  "cairo.dragAndDrop.reorderMode.toolbar.save.cta": "Save Order",
182
182
  "cairo.customFields.archive.modal.title": "Benutzerdefiniertes Feld archivieren?",
183
183
  "cairo.manageView.Rename.Success.toast": "„{oldViewName}” wurde umbenannt: {newViewName}.",
@@ -199,7 +199,7 @@
199
199
  "cairo.customFields.modal.networkError": "Wegen eines Netzwerkfehlers wurde das Feld nicht hinzugefügt. Überprüfe deine Internetverbindung und versuche es erneut.",
200
200
  "cairo.customFields.manageFields.CTA": "Verwalten",
201
201
  "cairo.appliedFilters": "{num, plural, =0 {Keine Filter ausgewählt} one {1 Filter ausgewählt} other {{num,number} Filter ausgewählt}}",
202
- "cairo.collectionsPage.edit.CTA": "Edit",
202
+ "cairo.collectionsPage.edit.CTA": "Bearbeiten",
203
203
  "cairo.dragAndDrop.reorderMode.toast.success": "Order has been updated",
204
204
  "cairo.customFields.addCustomField.modal.sameKey.error": "Diesen Schlüssel gibt es bereits. Gib einen anderen ein.",
205
205
  "cairo.entityPage.saveError-technical.toast.description": "Wegen technischer Probleme wurden die Änderungen nicht gespeichert. ",
@@ -347,7 +347,7 @@
347
347
  "cairo.manageView.saveNewView.CTA": "Als neue Ansicht speichern",
348
348
  "cair.appliedFilters.Apply.CTA": "Anwenden",
349
349
  "cairo.export.noPermissionsCTA": "Rollen & Berechtigungen ansehen",
350
- "cairo.updatedView.collectionPage.toast.desc": "Collection was updated, refresh to see updated view",
350
+ "cairo.updatedView.collectionPage.toast.desc": "Änderungen wurden gespeichert. Aktualisiere die Seite, um die Filter anzuwenden.",
351
351
  "cairo.search.nothingMatches.text": "Starte eine neue Suche.",
352
352
  "cairo.viewDropdown.category.predefinedViews": "Voreingestellte Ansichten",
353
353
  "cairo.customFields.fieldType.dropdownList.inputTitle": "Optionen",
@@ -408,7 +408,7 @@
408
408
  "cairo.tags.collectionPage.applyChanges.CTA": "Anwenden",
409
409
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Namen eingeben",
410
410
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Keine Ergebnisse gefunden} one {1 Suchergebnis gefunden} other {{num,number} Suchergebnisse gefunden}}",
411
- "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
411
+ "cairo.customFields.entityPage.sectionTitle": "Deine individuellen Felder",
412
412
  "cairo.table.listView": "Listenansicht",
413
413
  "cairo.passiveEmptyState.subtitle": "Sobald Elemente hinzugefügt wurden, siehst du diese hier.",
414
414
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Wegen technischer Probleme wurden die Tags nicht geladen.",
@@ -430,6 +430,6 @@
430
430
  "cairo.entityPage.header.apply.CTA": "Apply",
431
431
  "cairo.entityPage.header.publish.CTA": "Publish",
432
432
  "cairo.entityPage.header.activate.CTA": "Activate",
433
- "cairo.updatedView.collectionPage.toast.desc": "Changes saved. Refresh to apply filters.",
434
- "cairo.updatedView.collectionPage.toast.cta": "Refresh"
433
+ "cairo.updatedView.collectionPage.toast.desc": "Changes don’t match the current filter. Refresh to see updated view.",
434
+ "cairo.updatedView.collectionPage.toast.cta": "Refresh View"
435
435
  }
@@ -49,7 +49,7 @@
49
49
  "cairo.customFields.fieldType.dropdownList.addOption.CTA": "Optie toevoegen",
50
50
  "cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Annuleren",
51
51
  "cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Verwijderen",
52
- "cairo.updatedView.collectionPage.toast.cta": "Refresh",
52
+ "cairo.updatedView.collectionPage.toast.cta": "Vernieuwen",
53
53
  "cairo.customFields.fieldType.dropdownList.placeholder": "Bijv. Italië",
54
54
  "cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annuleren",
55
55
  "cairo.dragAndDrop.discardChanges.CTA": "Negeren",
@@ -177,7 +177,7 @@
177
177
  "cairo.customFields.technical.error.title": "We kunnen je aangepaste velden niet laden.",
178
178
  "cairo.table.saveViewModal.body": "Deze weergave bevat de filters en kolommen die momenteel worden toegepast. ",
179
179
  "cairo.customFields.emptyStatePassive.title": "Nog geen velden",
180
- "cairo.customFields.entityPage.title": "Aangepaste velden",
180
+ "cairo.customFields.entityPage.title": "Extra velden",
181
181
  "cairo.dragAndDrop.reorderMode.toolbar.save.cta": "Save Order",
182
182
  "cairo.customFields.archive.modal.title": "Aangepast veld archiveren?",
183
183
  "cairo.manageView.Rename.Success.toast": "De naam van ''{oldViewName}' is gewijzigd naar ''{newViewName}'.",
@@ -199,7 +199,7 @@
199
199
  "cairo.customFields.modal.networkError": "Veld niet toegevoegd vanwege netwerkfout. Controleer je internetverbinding.",
200
200
  "cairo.customFields.manageFields.CTA": "Beheren",
201
201
  "cairo.appliedFilters": "{num, plural, =0 {Geen filters toegepast} one {1 filter toegepast} other {{num,number} filters toegepast}}",
202
- "cairo.collectionsPage.edit.CTA": "Edit",
202
+ "cairo.collectionsPage.edit.CTA": "Bewerken",
203
203
  "cairo.dragAndDrop.reorderMode.toast.success": "Order has been updated",
204
204
  "cairo.customFields.addCustomField.modal.sameKey.error": "Deze sleutel bestaat al. Probeer een andere.",
205
205
  "cairo.entityPage.saveError-technical.toast.description": "Vanwege een technisch probleem aan onze kant zijn wijzigingen niet opgeslagen. ",
@@ -347,7 +347,7 @@
347
347
  "cairo.manageView.saveNewView.CTA": "Als nieuwe weergave opslaan",
348
348
  "cair.appliedFilters.Apply.CTA": "Toepassen",
349
349
  "cairo.export.noPermissionsCTA": "Rollen en toestemmingen bekijken",
350
- "cairo.updatedView.collectionPage.toast.desc": "Collection was updated, refresh to see updated view",
350
+ "cairo.updatedView.collectionPage.toast.desc": "Wijzigingen zijn opgeslagen. Vernieuw om filters toe te passen.",
351
351
  "cairo.search.nothingMatches.text": "Probeer een nieuwe zoekopdracht.",
352
352
  "cairo.viewDropdown.category.predefinedViews": "Standaardweergaven",
353
353
  "cairo.customFields.fieldType.dropdownList.inputTitle": "Opties",
@@ -408,7 +408,7 @@
408
408
  "cairo.tags.collectionPage.applyChanges.CTA": "Toepassen",
409
409
  "cairo.customFields.addCustomField.modal.fieldName.placeholder": "Naam invoeren",
410
410
  "cairo.a11y.liveRegion.resultsFound": "{num, plural, =0 {Geen resultaten gevonden} one {1 resultaat gevonden} other {{num,number} resultaten gevonden}}",
411
- "cairo.customFields.entityPage.sectionTitle": "Your custom fields",
411
+ "cairo.customFields.entityPage.sectionTitle": "Je aangepaste velden",
412
412
  "cairo.table.listView": "Lijstweergave",
413
413
  "cairo.passiveEmptyState.subtitle": "Je zult toegevoegde items hier kunnen zien.",
414
414
  "cairo.tags.collectionPage.popover.loadTags.error.body": "Kan tags niet laden vanwege een technisch probleem aan onze kant.",
@@ -28,14 +28,23 @@ const createFoldersBackend = ({
28
28
  depth = 4,
29
29
  total = 1000,
30
30
  forceEmptyParentInEachLevel,
31
+ foldersStaticData,
31
32
  ...params
32
33
  } = {}) => {
33
34
  const chance = new _chance.Chance();
34
35
  const backend = new _InMemoryBackend.InMemoryBackend({
35
36
  enableTotal: params == null ? void 0 : params.enableTotal,
36
- createOne: createOne ?? (() => createFolder(chance)),
37
+ createOne: createOne ?? (foldersStaticData ? i => {
38
+ const raw = foldersStaticData[i];
39
+ return {
40
+ ...raw,
41
+ status: raw.status,
42
+ createdAt: new Date(raw.createdAt),
43
+ updatedAt: new Date(raw.updatedAt)
44
+ };
45
+ } : () => createFolder(chance)),
37
46
  itemKey: item => item.id,
38
- total,
47
+ total: foldersStaticData ? Math.min(foldersStaticData.length, total) : total,
39
48
  predicate: ({
40
49
  search,
41
50
  filters
@@ -96,19 +105,21 @@ const createFoldersBackend = ({
96
105
  },
97
106
  ...params
98
107
  });
99
- (0, _nestifyItems.nestifyItems)(backend.values, {
100
- forceEmptyParentInEachLevel,
101
- depth,
102
- setDepthOnItem: (item, {
108
+ if (!foldersStaticData) {
109
+ (0, _nestifyItems.nestifyItems)(backend.values, {
110
+ forceEmptyParentInEachLevel,
103
111
  depth,
104
- parent
105
- }) => {
106
- item.level = depth;
107
- if (parent) {
108
- parent.childCount = (parent.childCount ?? 0) + 1;
112
+ setDepthOnItem: (item, {
113
+ depth,
114
+ parent
115
+ }) => {
116
+ item.level = depth;
117
+ if (parent) {
118
+ parent.childCount = (parent.childCount ?? 0) + 1;
119
+ }
109
120
  }
110
- }
111
- });
121
+ });
122
+ }
112
123
  return backend;
113
124
  };
114
125
  exports.createFoldersBackend = createFoldersBackend;
@@ -1 +1 @@
1
- {"version":3,"names":["_chance","require","_lodash","_InMemoryBackend","_nestifyItems","createFolder","chance","createdAt","date","min","Date","now","max","rest","id","guid","name","updatedAt","status","pickone","createFoldersBackend","createOne","depth","total","forceEmptyParentInEachLevel","params","Chance","backend","InMemoryBackend","enableTotal","itemKey","item","predicate","search","filters","parentId","folderStatus","level","hasChildren","rgx","RegExp","escapeRegExp","_folderStatus$","test","length","some","from","valueOf","to","String","childCount","orderBy","query","sort","projection","_query$fields","fields","includes","breadcrumbs","undefined","nestifyItems","values","setDepthOnItem","parent","exports"],"sources":["../../../src/testkit/createFoldersBackend.ts"],"sourcesContent":["import { Folder } from './folder';\nimport { Chance } from 'chance';\n\nimport { FolderFilters } from './folderFilters';\nimport { escapeRegExp } from 'lodash';\nimport { InMemoryBackend, InMemoryBackendParams } from '../InMemoryBackend';\nimport { nestifyItems } from './nestifyItems';\n\nexport function createFolder(\n chance: Chance.Chance,\n {\n createdAt = chance.date({\n min: new Date(Date.now() - 365 * 24 * 60 * 60 * 1000),\n max: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000),\n }) as Date,\n ...rest\n }: Partial<Folder> = {},\n): Folder {\n return {\n id: chance.guid(),\n name: chance.name(),\n createdAt,\n updatedAt: createdAt,\n status: chance.pickone(['visible', 'hidden']),\n ...rest,\n };\n}\n\nexport const createFoldersBackend = ({\n createOne,\n depth = 4,\n total = 1000,\n forceEmptyParentInEachLevel,\n ...params\n}: Partial<InMemoryBackendParams<Folder, FolderFilters>> & {\n enableTotal?: boolean;\n depth?: number;\n forceEmptyParentInEachLevel?: boolean;\n} = {}) => {\n const chance = new Chance();\n const backend = new InMemoryBackend<Folder, FolderFilters>({\n enableTotal: params?.enableTotal,\n createOne: createOne ?? (() => createFolder(chance)),\n itemKey: (item) => item.id,\n total,\n predicate: ({ search, filters }) => {\n const { id, parentId, folderStatus, updatedAt, level, hasChildren } =\n filters;\n const rgx = new RegExp(escapeRegExp(search), 'i');\n\n return (item) => {\n if (search && !rgx.test(item.name)) {\n return false;\n }\n\n if (\n folderStatus &&\n folderStatus.length &&\n folderStatus[0]?.id !== 'all' &&\n !folderStatus.some((status) => status.id === item.status)\n ) {\n return false;\n }\n\n if (\n item.updatedAt &&\n updatedAt?.from &&\n updatedAt.from.valueOf() > item.updatedAt.valueOf()\n ) {\n return false;\n }\n\n if (\n item.updatedAt &&\n updatedAt?.to &&\n updatedAt.to.valueOf() < item.updatedAt.valueOf()\n ) {\n return false;\n }\n\n if (\n parentId &&\n parentId.length &&\n !parentId.some((parentId) =>\n parentId === 'null'\n ? item.parentId == null\n : item.parentId === parentId,\n )\n ) {\n return false;\n }\n\n if (id && id.length && !id.some((id) => id === item.id)) {\n return false;\n }\n\n if (\n level &&\n level.length &&\n !level.some((level) => level === String(item.level))\n ) {\n return false;\n }\n\n if (hasChildren && hasChildren[0] === 'true' && !item.childCount) {\n return false;\n }\n\n if (hasChildren && hasChildren[0] === 'false' && item.childCount) {\n return false;\n }\n\n return true;\n };\n },\n orderBy: (query) => {\n return [...(query.sort ?? [])];\n },\n projection: (query) => (item) => {\n if (!query.fields?.includes('breadcrumbs')) {\n return {\n ...item,\n breadcrumbs: undefined,\n };\n }\n return item;\n },\n ...params,\n });\n\n nestifyItems(backend.values, {\n forceEmptyParentInEachLevel,\n depth,\n setDepthOnItem: (item, { depth, parent }) => {\n item.level = depth;\n if (parent) {\n parent.childCount = (parent.childCount ?? 0) + 1;\n }\n },\n });\n\n return backend;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chance","require","_lodash","_InMemoryBackend","_nestifyItems","createFolder","chance","createdAt","date","min","Date","now","max","rest","id","guid","name","updatedAt","status","pickone","createFoldersBackend","createOne","depth","total","forceEmptyParentInEachLevel","foldersStaticData","params","Chance","backend","InMemoryBackend","enableTotal","i","raw","itemKey","item","Math","length","predicate","search","filters","parentId","folderStatus","level","hasChildren","rgx","RegExp","escapeRegExp","_folderStatus$","test","some","from","valueOf","to","String","childCount","orderBy","query","sort","projection","_query$fields","fields","includes","breadcrumbs","undefined","nestifyItems","values","setDepthOnItem","parent","exports"],"sources":["../../../src/testkit/createFoldersBackend.ts"],"sourcesContent":["import { Folder, FolderRaw } from './folder';\nimport { Chance } from 'chance';\n\nimport { FolderFilters } from './folderFilters';\nimport { escapeRegExp } from 'lodash';\nimport { InMemoryBackend, InMemoryBackendParams } from '../InMemoryBackend';\nimport { nestifyItems } from './nestifyItems';\n\nexport function createFolder(\n chance: Chance.Chance,\n {\n createdAt = chance.date({\n min: new Date(Date.now() - 365 * 24 * 60 * 60 * 1000),\n max: new Date(Date.now() - 2 * 24 * 60 * 60 * 1000),\n }) as Date,\n ...rest\n }: Partial<Folder> = {},\n): Folder {\n return {\n id: chance.guid(),\n name: chance.name(),\n createdAt,\n updatedAt: createdAt,\n status: chance.pickone(['visible', 'hidden']),\n ...rest,\n };\n}\n\nexport type CreateFoldersBackendParams = Partial<\n InMemoryBackendParams<Folder, FolderFilters>\n> & {\n enableTotal?: boolean;\n depth?: number;\n forceEmptyParentInEachLevel?: boolean;\n foldersStaticData?: FolderRaw[];\n};\n\nexport const createFoldersBackend = ({\n createOne,\n depth = 4,\n total = 1000,\n forceEmptyParentInEachLevel,\n foldersStaticData,\n ...params\n}: CreateFoldersBackendParams = {}) => {\n const chance = new Chance();\n const backend = new InMemoryBackend<Folder, FolderFilters>({\n enableTotal: params?.enableTotal,\n createOne:\n createOne ??\n (foldersStaticData\n ? (i) => {\n const raw = foldersStaticData[i];\n return {\n ...raw,\n status: raw.status as Folder['status'],\n createdAt: new Date(raw.createdAt),\n updatedAt: new Date(raw.updatedAt),\n };\n }\n : () => createFolder(chance)),\n itemKey: (item) => item.id,\n total: foldersStaticData\n ? Math.min(foldersStaticData.length, total)\n : total,\n predicate: ({ search, filters }) => {\n const { id, parentId, folderStatus, updatedAt, level, hasChildren } =\n filters;\n const rgx = new RegExp(escapeRegExp(search), 'i');\n\n return (item) => {\n if (search && !rgx.test(item.name)) {\n return false;\n }\n\n if (\n folderStatus &&\n folderStatus.length &&\n folderStatus[0]?.id !== 'all' &&\n !folderStatus.some((status) => status.id === item.status)\n ) {\n return false;\n }\n\n if (\n item.updatedAt &&\n updatedAt?.from &&\n updatedAt.from.valueOf() > item.updatedAt.valueOf()\n ) {\n return false;\n }\n\n if (\n item.updatedAt &&\n updatedAt?.to &&\n updatedAt.to.valueOf() < item.updatedAt.valueOf()\n ) {\n return false;\n }\n\n if (\n parentId &&\n parentId.length &&\n !parentId.some((parentId) =>\n parentId === 'null'\n ? item.parentId == null\n : item.parentId === parentId,\n )\n ) {\n return false;\n }\n\n if (id && id.length && !id.some((id) => id === item.id)) {\n return false;\n }\n\n if (\n level &&\n level.length &&\n !level.some((level) => level === String(item.level))\n ) {\n return false;\n }\n\n if (hasChildren && hasChildren[0] === 'true' && !item.childCount) {\n return false;\n }\n\n if (hasChildren && hasChildren[0] === 'false' && item.childCount) {\n return false;\n }\n\n return true;\n };\n },\n orderBy: (query) => {\n return [...(query.sort ?? [])];\n },\n projection: (query) => (item) => {\n if (!query.fields?.includes('breadcrumbs')) {\n return {\n ...item,\n breadcrumbs: undefined,\n };\n }\n return item;\n },\n ...params,\n });\n\n if (!foldersStaticData) {\n nestifyItems(backend.values, {\n forceEmptyParentInEachLevel,\n depth,\n setDepthOnItem: (item, { depth, parent }) => {\n item.level = depth;\n if (parent) {\n parent.childCount = (parent.childCount ?? 0) + 1;\n }\n },\n });\n }\n\n return backend;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/testkit/folder.ts"],"sourcesContent":["export interface Folder {\n id: string;\n name: string;\n createdAt: Date;\n updatedAt: Date;\n status: 'visible' | 'hidden' | 'archived';\n parentId?: string | null;\n level?: number;\n breadcrumbs?: { id: string; name: string }[];\n childCount?: number;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/testkit/folder.ts"],"sourcesContent":["export interface FolderRaw {\n id: string;\n name: string;\n createdAt: string;\n updatedAt: string;\n status: string;\n parentId?: string | null;\n level?: number;\n breadcrumbs?: { id: string; name: string }[];\n childCount?: number;\n}\n\nexport interface Folder {\n id: string;\n name: string;\n createdAt: Date;\n updatedAt: Date;\n status: 'visible' | 'hidden' | 'archived';\n parentId?: string | null;\n level?: number;\n breadcrumbs?: { id: string; name: string }[];\n childCount?: number;\n}\n"],"mappings":"","ignoreList":[]}