@wix/bex-core 2.77.0 → 2.79.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 +8 -3
- package/dist/cjs/assets/locale/messages_da.json +7 -2
- package/dist/cjs/assets/locale/messages_de.json +5 -0
- package/dist/cjs/assets/locale/messages_en.json +8 -3
- package/dist/cjs/assets/locale/messages_es.json +5 -0
- package/dist/cjs/assets/locale/messages_fr.json +5 -0
- package/dist/cjs/assets/locale/messages_hi.json +5 -0
- package/dist/cjs/assets/locale/messages_id.json +5 -0
- package/dist/cjs/assets/locale/messages_it.json +5 -0
- package/dist/cjs/assets/locale/messages_ja.json +10 -5
- package/dist/cjs/assets/locale/messages_ko.json +5 -0
- package/dist/cjs/assets/locale/messages_nl.json +5 -0
- package/dist/cjs/assets/locale/messages_no.json +5 -0
- package/dist/cjs/assets/locale/messages_pl.json +6 -1
- package/dist/cjs/assets/locale/messages_pt.json +5 -0
- package/dist/cjs/assets/locale/messages_ru.json +6 -1
- package/dist/cjs/assets/locale/messages_sv.json +5 -0
- package/dist/cjs/assets/locale/messages_th.json +5 -0
- package/dist/cjs/assets/locale/messages_tr.json +5 -0
- package/dist/cjs/assets/locale/messages_uk.json +6 -1
- package/dist/cjs/assets/locale/messages_vi.json +5 -0
- package/dist/cjs/assets/locale/messages_zh.json +6 -1
- package/dist/cjs/exports/form.js +10 -0
- package/dist/cjs/exports/form.js.map +1 -0
- package/dist/cjs/hooks/collectionConfig.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/createDataExtensionSchemaErrors.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js +8 -10
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/updateDataExtensionSchemaErrors.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/services/translationsImportsMap.js +36 -36
- package/dist/cjs/services/translationsImportsMap.js.map +1 -1
- package/dist/cjs/state/BulkActionModalState.js.map +1 -1
- package/dist/cjs/state/CollectionState.js +2 -1
- package/dist/cjs/state/CollectionState.js.map +1 -1
- package/dist/cjs/state/ExportState/ExportState.js +8 -10
- package/dist/cjs/state/ExportState/ExportState.js.map +1 -1
- package/dist/cjs/state/ExportState/createExportAsyncJobErrors.js.map +1 -1
- package/dist/cjs/state/ExportState/getExportAsyncJobErrors.js.map +1 -1
- package/dist/cjs/state/FetchTotalState.js +3 -3
- package/dist/cjs/state/FetchTotalState.js.map +1 -1
- package/dist/cjs/state/PickerState.js +0 -2
- package/dist/cjs/state/PickerState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsAssignmentState.js +0 -1
- package/dist/cjs/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsManagementState.js +5 -7
- package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/cjs/state/TagsState/createTagErrors.js.map +1 -1
- package/dist/cjs/testkit/ProductsCollectionState.driver.js +0 -2
- package/dist/cjs/testkit/ProductsCollectionState.driver.js.map +1 -1
- package/dist/cjs/testkit/exportServiceMocks.js +1 -0
- package/dist/cjs/testkit/exportServiceMocks.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +8 -3
- package/dist/esm/assets/locale/messages_da.json +7 -2
- package/dist/esm/assets/locale/messages_de.json +5 -0
- package/dist/esm/assets/locale/messages_en.json +8 -3
- package/dist/esm/assets/locale/messages_es.json +5 -0
- package/dist/esm/assets/locale/messages_fr.json +5 -0
- package/dist/esm/assets/locale/messages_hi.json +5 -0
- package/dist/esm/assets/locale/messages_id.json +5 -0
- package/dist/esm/assets/locale/messages_it.json +5 -0
- package/dist/esm/assets/locale/messages_ja.json +10 -5
- package/dist/esm/assets/locale/messages_ko.json +5 -0
- package/dist/esm/assets/locale/messages_nl.json +5 -0
- package/dist/esm/assets/locale/messages_no.json +5 -0
- package/dist/esm/assets/locale/messages_pl.json +6 -1
- package/dist/esm/assets/locale/messages_pt.json +5 -0
- package/dist/esm/assets/locale/messages_ru.json +6 -1
- package/dist/esm/assets/locale/messages_sv.json +5 -0
- package/dist/esm/assets/locale/messages_th.json +5 -0
- package/dist/esm/assets/locale/messages_tr.json +5 -0
- package/dist/esm/assets/locale/messages_uk.json +6 -1
- package/dist/esm/assets/locale/messages_vi.json +5 -0
- package/dist/esm/assets/locale/messages_zh.json +6 -1
- package/dist/esm/exports/form.js +2 -0
- package/dist/esm/exports/form.js.map +1 -0
- package/dist/esm/services/DataExtensionService/createDataExtensionSchemaErrors.js.map +1 -1
- package/dist/esm/services/DataExtensionService/dataExtensionService.js +8 -10
- package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/esm/services/DataExtensionService/updateDataExtensionSchemaErrors.js.map +1 -1
- package/dist/esm/state/BulkActionModalState.js.map +1 -1
- package/dist/esm/state/CollectionState.js +1 -1
- package/dist/esm/state/CollectionState.js.map +1 -1
- package/dist/esm/state/ExportState/ExportState.js +8 -10
- package/dist/esm/state/ExportState/ExportState.js.map +1 -1
- package/dist/esm/state/ExportState/createExportAsyncJobErrors.js.map +1 -1
- package/dist/esm/state/ExportState/getExportAsyncJobErrors.js.map +1 -1
- package/dist/esm/state/FetchTotalState.js +2 -2
- package/dist/esm/state/FetchTotalState.js.map +1 -1
- package/dist/esm/state/PickerState.js +0 -2
- package/dist/esm/state/PickerState.js.map +1 -1
- package/dist/esm/state/TagsState/TagsAssignmentState.js +0 -1
- package/dist/esm/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/esm/state/TagsState/TagsManagementState.js +4 -6
- package/dist/esm/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/esm/state/TagsState/createTagErrors.js.map +1 -1
- package/dist/esm/testkit/ProductsCollectionState.driver.js +0 -2
- package/dist/esm/testkit/ProductsCollectionState.driver.js.map +1 -1
- package/dist/esm/testkit/exportServiceMocks.js +1 -0
- package/dist/esm/testkit/exportServiceMocks.js.map +1 -1
- package/dist/types/exports/form.d.ts +2 -0
- package/dist/types/exports/form.d.ts.map +1 -0
- package/dist/types/hooks/collectionConfig.d.ts +2 -1
- package/dist/types/hooks/collectionConfig.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/createDataExtensionSchemaErrors.d.ts +2 -2
- package/dist/types/services/DataExtensionService/createDataExtensionSchemaErrors.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/updateDataExtensionSchemaErrors.d.ts +2 -2
- package/dist/types/services/DataExtensionService/updateDataExtensionSchemaErrors.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/BulkActionModalState.d.ts +1 -2
- package/dist/types/state/BulkActionModalState.d.ts.map +1 -1
- package/dist/types/state/CollectionState.d.ts +1 -1
- package/dist/types/state/CollectionState.d.ts.map +1 -1
- package/dist/types/state/ExportState/ExportState.d.ts.map +1 -1
- package/dist/types/state/ExportState/createExportAsyncJobErrors.d.ts +2 -2
- package/dist/types/state/ExportState/createExportAsyncJobErrors.d.ts.map +1 -1
- package/dist/types/state/ExportState/getExportAsyncJobErrors.d.ts +2 -2
- package/dist/types/state/ExportState/getExportAsyncJobErrors.d.ts.map +1 -1
- package/dist/types/state/FetchTotalState.d.ts.map +1 -1
- package/dist/types/state/PickerState.d.ts.map +1 -1
- package/dist/types/state/TagsState/TagsAssignmentState.d.ts.map +1 -1
- package/dist/types/state/TagsState/TagsManagementState.d.ts.map +1 -1
- package/dist/types/state/TagsState/createTagErrors.d.ts +2 -2
- package/dist/types/state/TagsState/createTagErrors.d.ts.map +1 -1
- package/dist/types/testkit/ProductsCollectionState.driver.d.ts.map +1 -1
- package/dist/types/testkit/exportServiceMocks.d.ts.map +1 -1
- package/form/package.json +5 -0
- package/package.json +7 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_v","require","_uuid","_mobx","_CollectionOptimisticActions","_TaskState","_CollectionState","_util","TagsAssignmentState","constructor","tagsManagementState","entityId","origin","tagsBIReporter","initialTags","params","_initialTags$privateT","_defineProperty2","default","TaskState","tag","onSubmit","isFromSearch","optimisticActionParams","assignedTagIds","includes","id","newIndex","_getNewIndex","optimisticActions","createOne","index","submit","_","_assignTag","tagIds","tagToUnassign","collection","result","items","find","t","deleteOne","_invokeBiOnAssignUnassign","actionName","allTags","privateTags","filter","addedTags","removedTags","name","uuid","filteredListSize","assignOptimisticActionParams","createOptimisticActionParams","newTag","_createAndAssign","Array","from","Set","assignError","tagId","_createTag","onCreateSuccess","error","Promise","resolve","createTag","onSuccess","fqdn","map","makeObservable","observable","init","action","assignTag","createAndAssignTag","unassignTag","clear","assignedTags","computed","initialTagIds","isDirty","CollectionState","container","events","queryName","fqdnString","join","fetchData","total","length","itemKey","itemName","fetchErrorMessage","filters","CollectionOptimisticActions","orderBy","fieldName","order","undefined","disposers","initTask","runOnce","status","promise","forEach","disposer","fqdnToString","isLoading","isIdle","isError","retry","_this$collection$resu","Boolean","unassigendTagIds","reportBi","cairoTagsAssignTag","itemId","numItems","numTags","numTagsAssigned","tagName","max","Math","exports"],"sources":["../../../../src/state/TagsState/TagsAssignmentState.ts"],"sourcesContent":["import { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsManagementState } from './TagsManagementState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { cairoTagsAssignTag } from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { Tags } from './tagsTypes';\nimport { v4 as uuid } from 'uuid';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Fqdn } from '../../model';\nimport { CollectionOptimisticActions } from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { CollectionState } from '../CollectionState';\nimport { fqdnToString } from '../../util';\nimport { CreateManyParams, DeleteManyParams } from '../OptimisticActions';\n\nexport type OnSubmitTagsFuncType = ({\n allTags,\n addedTags,\n removedTags,\n}: {\n allTags: Tags;\n addedTags: Tags;\n removedTags: Tags;\n}) => void;\n\nexport interface TagsAssignmentStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityId?: string;\n readonly origin: string;\n readonly fqdn: Fqdn;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initialTags?: Tags;\n}\n\nexport interface CreateAndAssignParams {\n name: string;\n id?: string;\n filteredListSize: number;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n assignOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n createOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n}\n\ninterface TagAssignment {\n id: string;\n index: number;\n}\n\nexport class TagsAssignmentState {\n readonly tagsManagementState: TagsManagementState;\n readonly origin;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initTask = new TaskState();\n readonly collection: CollectionState<TagAssignment>;\n readonly optimisticActions: CollectionOptimisticActions<TagAssignment, {}>;\n entityId?: string;\n readonly initialTags: TagAssignment[];\n readonly fqdn;\n\n constructor({\n tagsManagementState,\n entityId,\n origin,\n tagsBIReporter,\n initialTags,\n ...params\n }: TagsAssignmentStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.origin = origin;\n this.tagsBIReporter = tagsBIReporter;\n this.fqdn = params.fqdn;\n this.initialTags = Array.from(\n new Set(initialTags?.privateTags?.tagIds || []),\n ).map((id, index) => ({\n index,\n id,\n }));\n\n makeObservable(this, {\n initialTags: observable,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n clear: action,\n assignedTags: computed,\n initialTagIds: computed,\n isDirty: computed,\n });\n\n this.collection = new CollectionState<TagAssignment>({\n ...tagsManagementState.container,\n events: {},\n queryName: [this.fqdnString, origin, entityId].join('/'),\n fetchData: async () => {\n return {\n items: this.initialTags,\n total: this.initialTags.length,\n };\n },\n itemKey: (tag) => tag.id,\n itemName: (tag) => tag.id,\n fetchErrorMessage: () => '',\n filters: {},\n });\n\n this.optimisticActions = new CollectionOptimisticActions<TagAssignment, {}>(\n {\n collection: this.collection,\n container: tagsManagementState.container,\n orderBy: () => [\n {\n fieldName: ({ index }) => index,\n order: 'asc',\n },\n ],\n },\n );\n }\n\n init({ entityId }: { entityId?: string | null }) {\n this.entityId = entityId ?? undefined;\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n await collection.initTask.status.promise;\n\n this.tagsManagementState.init();\n await this.tagsManagementState.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isLoading() {\n const { status } = this.tagsManagementState.initTask;\n return status.isIdle || status.isLoading || this.initTask.status.isLoading;\n }\n\n get isError() {\n return (\n this.tagsManagementState.initTask.status.isError ||\n this.initTask.status.isError\n );\n }\n\n retry() {\n this.initTask.runOnce();\n }\n\n get assignedTags() {\n return this.collection.result.items\n ?.map(({ id }) => {\n return this.tagsManagementState.items.find((tag: Tag) => tag.id === id);\n })\n .filter(Boolean) as Tag[];\n }\n\n get assignedTagIds() {\n const { isIdle, isLoading } = this.collection.status;\n\n /**\n * During collection fetch, the returned items are 0, which impacts assignedTagIds\n * and sets isDirty to true during the rendering lifecycle, causing flakiness in the UI.\n */\n return isIdle || isLoading\n ? this.initialTagIds\n : this.collection.result.items.map((tag) => tag.id);\n }\n\n get initialTagIds() {\n return this.initialTags.map((tag) => tag.id);\n }\n\n clear() {\n this.collection.result.clear();\n }\n\n assignTag = async ({\n tag,\n onSubmit,\n isFromSearch,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n }) => {\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n const newIndex = this._getNewIndex();\n\n await this.optimisticActions.createOne(\n { id: tag.id!, index: newIndex },\n {\n ...optimisticActionParams,\n submit: async (_: any) => {\n await this._assignTag({\n tagIds: this.assignedTagIds,\n tag,\n onSubmit,\n isFromSearch,\n });\n\n return [{ id: tag.id!, index: newIndex }];\n },\n },\n );\n };\n\n unassignTag = async ({\n tag,\n onSubmit,\n isFromSearch = false,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n }) => {\n const tagToUnassign = this.collection.result.items.find(\n (t) => t.id === tag.id,\n );\n\n await this.optimisticActions.deleteOne(tagToUnassign!, {\n ...optimisticActionParams,\n submit: async () => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Remove',\n tag,\n isFromSearch,\n });\n\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: this.assignedTagIds.filter((id: string) => id !== tag.id),\n },\n },\n addedTags: {\n privateTags: {\n tagIds: [],\n },\n },\n removedTags: {\n privateTags: {\n tagIds: [tag.id!],\n },\n },\n });\n },\n });\n };\n\n createAndAssignTag = async ({\n name,\n id = uuid(),\n filteredListSize,\n onSubmit,\n assignOptimisticActionParams,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const newIndex = this._getNewIndex();\n\n this.optimisticActions.createOne(\n { id, index: newIndex },\n {\n ...assignOptimisticActionParams,\n submit: async (_) => {\n const newTag = await this._createAndAssign({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n });\n return [{ id: newTag.id!, index: newIndex }];\n },\n },\n );\n };\n\n get isDirty() {\n if (this.initialTagIds.length !== this.assignedTagIds.length) {\n return true;\n }\n\n const unassigendTagIds = this.initialTagIds.filter(\n (id) => !this.assignedTagIds.includes(id),\n );\n const assignedTagIds = this.assignedTagIds.filter(\n (id) => !this.initialTagIds.includes(id),\n );\n\n return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;\n }\n\n private _assignTag = async ({\n tagIds,\n tag,\n onSubmit,\n isFromSearch,\n }: {\n tagIds: string[];\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n }) => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Assign',\n tag,\n isFromSearch,\n });\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: Array.from(new Set([...tagIds, tag.id])) as string[],\n },\n },\n addedTags: { privateTags: { tagIds: [tag.id!] } },\n removedTags: { privateTags: { tagIds: [] } },\n });\n };\n\n private _createAndAssign = async ({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const isFromSearch = true;\n let assignError: unknown;\n\n let newTag = this.tagsManagementState.items.find(\n (tag: Tag) => tag.name === name,\n );\n if (newTag) {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n\n return newTag;\n }\n newTag = await this._createTag({\n name,\n id,\n filteredListSize,\n isFromSearch,\n createOptimisticActionParams,\n onCreateSuccess: async (newTag) => {\n try {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n } catch (error: unknown) {\n assignError = error;\n }\n },\n });\n\n // We want to throw assign exception in assign optimistic context so assign tryAgain (and not create) will be triggered\n if (assignError) {\n throw assignError;\n }\n return newTag;\n };\n\n private _createTag = async ({\n name,\n id,\n filteredListSize,\n isFromSearch,\n onCreateSuccess,\n createOptimisticActionParams,\n }: CreateAndAssignParams & { onCreateSuccess: (newTag: Tag) => void }) => {\n return new Promise<Tag>(async (resolve) => {\n await this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize,\n origin: this.origin,\n isFromSearch,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: createOptimisticActionParams,\n onSuccess: async (newTag) => {\n await onCreateSuccess?.(newTag);\n resolve(newTag);\n },\n });\n });\n };\n\n private _invokeBiOnAssignUnassign({\n actionName,\n tag,\n isFromSearch = false,\n }: {\n actionName: string;\n tag: Tag;\n isFromSearch?: boolean;\n }) {\n this.tagsBIReporter.reportBi(\n cairoTagsAssignTag({\n actionName,\n isFromSearch,\n itemId: this.entityId,\n numItems: 1,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.assignedTags.length,\n tagName: tag.name!,\n origin: this.origin,\n }),\n );\n }\n\n private _getNewIndex() {\n const max = Math.max(\n 0,\n ...this.collection.result.items.map((tag) => tag.index!),\n );\n\n return max + 1;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_v","require","_uuid","_mobx","_CollectionOptimisticActions","_TaskState","_CollectionState","_util","TagsAssignmentState","constructor","tagsManagementState","entityId","origin","tagsBIReporter","initialTags","params","_initialTags$privateT","_defineProperty2","default","TaskState","tag","onSubmit","isFromSearch","optimisticActionParams","assignedTagIds","includes","id","newIndex","_getNewIndex","optimisticActions","createOne","index","submit","_","_assignTag","tagIds","tagToUnassign","collection","result","items","find","t","deleteOne","_invokeBiOnAssignUnassign","actionName","allTags","privateTags","filter","addedTags","removedTags","name","uuid","filteredListSize","assignOptimisticActionParams","createOptimisticActionParams","newTag","_createAndAssign","Array","from","Set","assignError","tagId","_createTag","onCreateSuccess","error","Promise","resolve","createTag","onSuccess","fqdn","map","makeObservable","observable","init","action","assignTag","createAndAssignTag","unassignTag","clear","assignedTags","computed","initialTagIds","isDirty","CollectionState","container","events","queryName","fqdnString","join","fetchData","total","length","itemKey","itemName","filters","CollectionOptimisticActions","orderBy","fieldName","order","undefined","disposers","initTask","runOnce","status","promise","forEach","disposer","fqdnToString","isLoading","isIdle","isError","retry","_this$collection$resu","Boolean","unassigendTagIds","reportBi","cairoTagsAssignTag","itemId","numItems","numTags","numTagsAssigned","tagName","max","Math","exports"],"sources":["../../../../src/state/TagsState/TagsAssignmentState.ts"],"sourcesContent":["import { Tag } from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsManagementState } from './TagsManagementState';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { cairoTagsAssignTag } from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { Tags } from './tagsTypes';\nimport { v4 as uuid } from 'uuid';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Fqdn } from '../../model';\nimport { CollectionOptimisticActions } from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { CollectionState } from '../CollectionState';\nimport { fqdnToString } from '../../util';\nimport { CreateManyParams, DeleteManyParams } from '../OptimisticActions';\n\nexport type OnSubmitTagsFuncType = ({\n allTags,\n addedTags,\n removedTags,\n}: {\n allTags: Tags;\n addedTags: Tags;\n removedTags: Tags;\n}) => void;\n\nexport interface TagsAssignmentStateParams {\n readonly tagsManagementState: TagsManagementState;\n readonly entityId?: string;\n readonly origin: string;\n readonly fqdn: Fqdn;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initialTags?: Tags;\n}\n\nexport interface CreateAndAssignParams {\n name: string;\n id?: string;\n filteredListSize: number;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n assignOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n createOptimisticActionParams?: Partial<CreateManyParams<Tag>>;\n}\n\ninterface TagAssignment {\n id: string;\n index: number;\n}\n\nexport class TagsAssignmentState {\n readonly tagsManagementState: TagsManagementState;\n readonly origin;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initTask = new TaskState();\n readonly collection: CollectionState<TagAssignment>;\n readonly optimisticActions: CollectionOptimisticActions<TagAssignment, {}>;\n entityId?: string;\n readonly initialTags: TagAssignment[];\n readonly fqdn;\n\n constructor({\n tagsManagementState,\n entityId,\n origin,\n tagsBIReporter,\n initialTags,\n ...params\n }: TagsAssignmentStateParams) {\n this.tagsManagementState = tagsManagementState;\n this.origin = origin;\n this.tagsBIReporter = tagsBIReporter;\n this.fqdn = params.fqdn;\n this.initialTags = Array.from(\n new Set(initialTags?.privateTags?.tagIds || []),\n ).map((id, index) => ({\n index,\n id,\n }));\n\n makeObservable(this, {\n initialTags: observable,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n clear: action,\n assignedTags: computed,\n initialTagIds: computed,\n isDirty: computed,\n });\n\n this.collection = new CollectionState<TagAssignment>({\n ...tagsManagementState.container,\n events: {},\n queryName: [this.fqdnString, origin, entityId].join('/'),\n fetchData: async () => {\n return {\n items: this.initialTags,\n total: this.initialTags.length,\n };\n },\n itemKey: (tag) => tag.id,\n itemName: (tag) => tag.id,\n filters: {},\n });\n\n this.optimisticActions = new CollectionOptimisticActions<TagAssignment, {}>(\n {\n collection: this.collection,\n container: tagsManagementState.container,\n orderBy: () => [\n {\n fieldName: ({ index }) => index,\n order: 'asc',\n },\n ],\n },\n );\n }\n\n init({ entityId }: { entityId?: string | null }) {\n this.entityId = entityId ?? undefined;\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n await collection.initTask.status.promise;\n\n this.tagsManagementState.init();\n await this.tagsManagementState.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isLoading() {\n const { status } = this.tagsManagementState.initTask;\n return status.isIdle || status.isLoading || this.initTask.status.isLoading;\n }\n\n get isError() {\n return (\n this.tagsManagementState.initTask.status.isError ||\n this.initTask.status.isError\n );\n }\n\n retry() {\n this.initTask.runOnce();\n }\n\n get assignedTags() {\n return this.collection.result.items\n ?.map(({ id }) => {\n return this.tagsManagementState.items.find((tag: Tag) => tag.id === id);\n })\n .filter(Boolean) as Tag[];\n }\n\n get assignedTagIds() {\n const { isIdle, isLoading } = this.collection.status;\n\n /**\n * During collection fetch, the returned items are 0, which impacts assignedTagIds\n * and sets isDirty to true during the rendering lifecycle, causing flakiness in the UI.\n */\n return isIdle || isLoading\n ? this.initialTagIds\n : this.collection.result.items.map((tag) => tag.id);\n }\n\n get initialTagIds() {\n return this.initialTags.map((tag) => tag.id);\n }\n\n clear() {\n this.collection.result.clear();\n }\n\n assignTag = async ({\n tag,\n onSubmit,\n isFromSearch,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n }) => {\n if (this.assignedTagIds.includes(tag.id!)) {\n return;\n }\n const newIndex = this._getNewIndex();\n\n await this.optimisticActions.createOne(\n { id: tag.id!, index: newIndex },\n {\n ...optimisticActionParams,\n submit: async (_: any) => {\n await this._assignTag({\n tagIds: this.assignedTagIds,\n tag,\n onSubmit,\n isFromSearch,\n });\n\n return [{ id: tag.id!, index: newIndex }];\n },\n },\n );\n };\n\n unassignTag = async ({\n tag,\n onSubmit,\n isFromSearch = false,\n optimisticActionParams,\n }: {\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n }) => {\n const tagToUnassign = this.collection.result.items.find(\n (t) => t.id === tag.id,\n );\n\n await this.optimisticActions.deleteOne(tagToUnassign!, {\n ...optimisticActionParams,\n submit: async () => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Remove',\n tag,\n isFromSearch,\n });\n\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: this.assignedTagIds.filter((id: string) => id !== tag.id),\n },\n },\n addedTags: {\n privateTags: {\n tagIds: [],\n },\n },\n removedTags: {\n privateTags: {\n tagIds: [tag.id!],\n },\n },\n });\n },\n });\n };\n\n createAndAssignTag = async ({\n name,\n id = uuid(),\n filteredListSize,\n onSubmit,\n assignOptimisticActionParams,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const newIndex = this._getNewIndex();\n\n this.optimisticActions.createOne(\n { id, index: newIndex },\n {\n ...assignOptimisticActionParams,\n submit: async (_) => {\n const newTag = await this._createAndAssign({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n });\n return [{ id: newTag.id!, index: newIndex }];\n },\n },\n );\n };\n\n get isDirty() {\n if (this.initialTagIds.length !== this.assignedTagIds.length) {\n return true;\n }\n\n const unassigendTagIds = this.initialTagIds.filter(\n (id) => !this.assignedTagIds.includes(id),\n );\n const assignedTagIds = this.assignedTagIds.filter(\n (id) => !this.initialTagIds.includes(id),\n );\n\n return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;\n }\n\n private _assignTag = async ({\n tagIds,\n tag,\n onSubmit,\n isFromSearch,\n }: {\n tagIds: string[];\n tag: Tag;\n onSubmit?: OnSubmitTagsFuncType;\n isFromSearch?: boolean;\n }) => {\n this._invokeBiOnAssignUnassign({\n actionName: 'Assign',\n tag,\n isFromSearch,\n });\n await onSubmit?.({\n allTags: {\n privateTags: {\n tagIds: Array.from(new Set([...tagIds, tag.id])) as string[],\n },\n },\n addedTags: { privateTags: { tagIds: [tag.id!] } },\n removedTags: { privateTags: { tagIds: [] } },\n });\n };\n\n private _createAndAssign = async ({\n name,\n id,\n filteredListSize,\n onSubmit,\n createOptimisticActionParams,\n }: CreateAndAssignParams) => {\n const isFromSearch = true;\n let assignError: unknown;\n\n let newTag = this.tagsManagementState.items.find(\n (tag: Tag) => tag.name === name,\n );\n if (newTag) {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n\n return newTag;\n }\n newTag = await this._createTag({\n name,\n id,\n filteredListSize,\n isFromSearch,\n createOptimisticActionParams,\n onCreateSuccess: async (newTag) => {\n try {\n await this._assignTag({\n tagIds: this.assignedTagIds.filter((tagId) => tagId !== id),\n tag: newTag,\n onSubmit,\n isFromSearch,\n });\n } catch (error: unknown) {\n assignError = error;\n }\n },\n });\n\n // We want to throw assign exception in assign optimistic context so assign tryAgain (and not create) will be triggered\n if (assignError) {\n throw assignError;\n }\n return newTag;\n };\n\n private _createTag = async ({\n name,\n id,\n filteredListSize,\n isFromSearch,\n onCreateSuccess,\n createOptimisticActionParams,\n }: CreateAndAssignParams & { onCreateSuccess: (newTag: Tag) => void }) => {\n return new Promise<Tag>(async (resolve) => {\n await this.tagsManagementState.createTag({\n name,\n id,\n filteredListSize,\n origin: this.origin,\n isFromSearch,\n tagsBIReporter: this.tagsBIReporter,\n optimisticActionParams: createOptimisticActionParams,\n onSuccess: async (newTag) => {\n await onCreateSuccess?.(newTag);\n resolve(newTag);\n },\n });\n });\n };\n\n private _invokeBiOnAssignUnassign({\n actionName,\n tag,\n isFromSearch = false,\n }: {\n actionName: string;\n tag: Tag;\n isFromSearch?: boolean;\n }) {\n this.tagsBIReporter.reportBi(\n cairoTagsAssignTag({\n actionName,\n isFromSearch,\n itemId: this.entityId,\n numItems: 1,\n numTags: this.tagsManagementState.items.length,\n numTagsAssigned: this.assignedTags.length,\n tagName: tag.name!,\n origin: this.origin,\n }),\n );\n }\n\n private _getNewIndex() {\n const max = Math.max(\n 0,\n ...this.collection.result.items.map((tag) => tag.index!),\n );\n\n return max + 1;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,7 +55,6 @@ class TagsManagementState {
|
|
|
55
55
|
itemName: ({
|
|
56
56
|
name
|
|
57
57
|
}) => name,
|
|
58
|
-
fetchErrorMessage: () => '',
|
|
59
58
|
filters: {},
|
|
60
59
|
showToast: toastConfig => {
|
|
61
60
|
var _params$container;
|
|
@@ -240,14 +239,13 @@ class TagsManagementState {
|
|
|
240
239
|
};
|
|
241
240
|
this.optimisticActions.createOne(newTag, {
|
|
242
241
|
submit: async () => {
|
|
242
|
+
(0, _createTagErrors.createTagErrors)({
|
|
243
|
+
translate: this.container.translate,
|
|
244
|
+
visualType
|
|
245
|
+
});
|
|
243
246
|
const createTagResponse = await this.container.httpClient.request((0, _http.createTag)({
|
|
244
247
|
tag: newTag
|
|
245
|
-
})
|
|
246
|
-
errorCodesMapping: (0, _createTagErrors.createTagErrors)({
|
|
247
|
-
translate: this.container.translate,
|
|
248
|
-
visualType
|
|
249
|
-
})
|
|
250
|
-
});
|
|
248
|
+
}));
|
|
251
249
|
const serverCreatedTag = createTagResponse.data.tag;
|
|
252
250
|
await (onSuccess == null ? void 0 : onSuccess(serverCreatedTag));
|
|
253
251
|
return [serverCreatedTag];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_http","_types","_uuid","_events","_CollectionState","_CollectionOptimisticActions","_TaskState","_util","_services","_createTagErrors","TAG_MAX_LENGTH","exports","MAX_TAGS","TagsManagementState","constructor","params","_defineProperty2","default","TaskState","EventEmitter","container","fqdn","collection","CollectionState","events","queryName","fqdnString","join","fetchData","fetchedItems","httpClient","request","listTags","exposure","TagExposure","PRIVATE","then","data","tags","filter","id","name","items","total","length","itemKey","itemName","fetchErrorMessage","filters","showToast","toastConfig","_params$container","overrideShowToast","emit","remove","optimisticActions","CollectionOptimisticActions","orderBy","sort","fieldName","createdDate","Date","valueOf","order","makeObservable","init","action","createTag","updateTag","deleteTag","retry","_isFqdnValid","disposers","initTask","runOnce","status","promise","forEach","disposer","result","isError","isLoading","isIdle","isSuccessful","isSuccess","fqdnToString","getTagById","tagId","_this$collection$resu","_keyedItemsMap","get","item","getTagNameById","_this$getTagById","resource","undefined","_optimisticActionBaseParams","optimisticActionParams","tagsBIReporter","actionName","origin","tagName","filteredListSize","isFromSearch","errorCode","onError","onTryAgain","onUndo","otherOptimisticActionParams","error","internalMonitor","reportError","WixPatternsError","originalException","category","hasReachedTagsLimit","showTagsLimitErrorToast","visualType","message","getTagsReachedLimitErrorMessage","translate","biName","type","tagSubOrigin","uuid","onSuccess","onAction","newTag","createOne","submit","createTagResponse","tag","errorCodesMapping","createTagErrors","serverCreatedTag","tagToUpdate","previousName","updateOne","revision","toString","tagToDelete","deleteOne"],"sources":["../../../../src/state/TagsState/TagsManagementState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport {\n listTags,\n createTag,\n updateTag,\n deleteTag,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/http';\nimport {\n Tag,\n TagExposure,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { v4 as uuid } from 'uuid';\nimport { EventEmitter } from 'events';\nimport { WixPatternsContainer } from '../WixPatternsContainer';\nimport { Fqdn, ToastConfig } from '../../model';\nimport { CollectionState } from '../CollectionState';\nimport { CollectionOptimisticActions } from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { TagErrorVisualType, TypedEmitter, fqdnToString } from '../../util';\nimport { WixPatternsError, WixPatternsErrorCode } from '../../services';\nimport {\n CreateManyParams,\n DeleteManyParams,\n OptimisticActionBasis,\n UpdateManyParams,\n} from '../OptimisticActions';\nimport {\n createTagErrors,\n getTagsReachedLimitErrorMessage,\n} from './createTagErrors';\n\nexport const TAG_MAX_LENGTH = 30;\nconst MAX_TAGS = 100;\n\nexport interface TagsManagementStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n}\n\nexport class TagsManagementState {\n readonly collection: CollectionState<Tag>;\n readonly optimisticActions: CollectionOptimisticActions<Tag, {}>;\n readonly container;\n readonly fqdn;\n readonly initTask = new TaskState();\n readonly events = new EventEmitter() as TypedEmitter<{\n showToast: (toastConfig: ToastConfig) => unknown;\n hideToast: (toastConfig: ToastConfig) => unknown;\n }>;\n overrideShowToast = false;\n\n constructor(params: TagsManagementStateParams) {\n this.container = params.container;\n this.fqdn = params.fqdn;\n this.collection = new CollectionState<Tag>({\n ...params.container,\n events: {},\n queryName: [this.fqdnString, 'tags'].join('/'),\n fetchData: async () => {\n const fetchedItems = await this.container.httpClient\n .request(\n listTags({ fqdn: this.fqdnString, exposure: TagExposure.PRIVATE }),\n )\n .then(({ data: { tags = [] } }) =>\n tags.filter(({ id, name }) => id && name),\n );\n\n return {\n items: fetchedItems,\n total: fetchedItems.length,\n };\n },\n itemKey: ({ id }) => id!,\n itemName: ({ name }) => name!,\n fetchErrorMessage: () => '',\n filters: {},\n showToast: (toastConfig: ToastConfig) => {\n if (this.overrideShowToast) {\n this.events.emit('showToast', toastConfig);\n return {\n remove: () => {\n this.events.emit('hideToast', toastConfig);\n },\n };\n }\n if (params?.container?.showToast) {\n return params.container.showToast(toastConfig);\n }\n return { remove: () => {} };\n },\n });\n\n this.optimisticActions = new CollectionOptimisticActions<Tag, {}>({\n container: this.container,\n collection: this.collection,\n orderBy: ({ sort }) => [\n ...(sort || []),\n {\n fieldName: ({ createdDate }) => (createdDate ?? new Date()).valueOf(),\n order: 'asc',\n },\n ],\n });\n\n makeObservable(this, {\n init: action,\n createTag: action,\n updateTag: action,\n deleteTag: action,\n retry: action,\n });\n }\n\n init() {\n if (!this._isFqdnValid()) {\n return;\n }\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n collection.initTask.runOnce();\n\n await collection.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n retry() {\n this.collection.initTask.runOnce();\n }\n\n get items() {\n return this.collection.result.items;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n get isLoading() {\n const { status } = this.collection.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isSuccessful() {\n const { status } = this.collection.initTask;\n return status.isSuccess;\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n getTagById(tagId: string) {\n return this.collection.result._keyedItemsMap?.get(tagId)?.item;\n }\n\n getTagNameById(tagId: string) {\n return this.getTagById(tagId)?.name;\n }\n\n private _isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n private _optimisticActionBaseParams<T extends OptimisticActionBasis>(\n optimisticActionParams: T,\n {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch = false,\n errorCode,\n }: {\n tagsBIReporter: TagsBIReporter;\n actionName: string;\n origin: string;\n tagName: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n errorCode: WixPatternsErrorCode;\n },\n ) {\n const { onError, onTryAgain, onUndo, ...otherOptimisticActionParams } =\n optimisticActionParams;\n\n return {\n onError: (error: unknown) => {\n tagsBIReporter.onError(\n {\n tagName,\n actionName,\n origin,\n },\n error,\n );\n this.container.internalMonitor.reportError({\n error: new WixPatternsError({\n errorCode,\n originalException: error,\n }),\n category: 'Tags',\n });\n\n onError?.(error);\n },\n onTryAgain: () => {\n tagsBIReporter.onTryAgain({\n actionName,\n isFromSearch,\n filteredListSize,\n });\n onTryAgain?.();\n },\n onUndo: () => {\n tagsBIReporter.onUndo({ actionName });\n onUndo?.();\n },\n ...otherOptimisticActionParams,\n };\n }\n\n private hasReachedTagsLimit() {\n return this.collection.result.total >= MAX_TAGS;\n }\n\n private showTagsLimitErrorToast(visualType: TagErrorVisualType) {\n this.collection.showToast({\n message: getTagsReachedLimitErrorMessage({\n visualType,\n translate: this.container.translate,\n }),\n biName: 'cairo-max-tags-error',\n type: 'ERROR',\n });\n }\n\n async createTag({\n name,\n origin,\n tagSubOrigin,\n filteredListSize,\n id = uuid(),\n isFromSearch = false,\n onSuccess,\n optimisticActionParams = {},\n tagsBIReporter,\n visualType = 'toast',\n }: {\n name: string;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n id?: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void | Promise<void>;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n tagsBIReporter: TagsBIReporter;\n visualType?: TagErrorVisualType;\n }) {\n const actionName = 'Add tag';\n\n tagsBIReporter.onAction({\n tagName: name,\n isFromSearch,\n actionName,\n origin,\n tagSubOrigin,\n });\n\n if (this.hasReachedTagsLimit()) {\n return this.showTagsLimitErrorToast(visualType);\n }\n\n const newTag = {\n id,\n name,\n fqdn: this.fqdnString,\n exposure: TagExposure.PRIVATE,\n createdDate: new Date(),\n };\n\n this.optimisticActions.createOne(newTag, {\n submit: async () => {\n const createTagResponse = await this.container.httpClient.request(\n createTag({ tag: newTag }),\n {\n errorCodesMapping: createTagErrors({\n translate: this.container.translate,\n visualType,\n }),\n },\n );\n\n const serverCreatedTag = createTagResponse.data.tag!;\n await onSuccess?.(serverCreatedTag);\n\n return [serverCreatedTag];\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: name,\n isFromSearch,\n errorCode: 'CreateTagFailed',\n }),\n });\n }\n\n async updateTag({\n tagToUpdate,\n previousName,\n origin,\n tagSubOrigin,\n filteredListSize,\n isFromSearch = false,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToUpdate: Tag;\n previousName: string;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<UpdateManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const actionName = 'Rename tag';\n\n tagsBIReporter.onAction({\n actionName,\n previousName,\n tagName: tagToUpdate.name!,\n isFromSearch,\n origin,\n tagSubOrigin,\n });\n\n this.optimisticActions.updateOne(\n { ...tagToUpdate, revision: (+tagToUpdate.revision! + 1).toString() },\n {\n submit: async () => {\n return this.container.httpClient.request(\n updateTag({ tag: tagToUpdate }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: previousName,\n isFromSearch,\n errorCode: 'UpdateTagFailed',\n }),\n },\n );\n }\n\n async deleteTag({\n tagToDelete,\n origin,\n tagSubOrigin,\n filteredListSize,\n isFromSearch = true,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToDelete: Tag;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const tagName = tagToDelete.name!;\n const actionName = 'Delete tag';\n\n tagsBIReporter.onAction({\n actionName,\n tagName,\n isFromSearch,\n origin,\n tagSubOrigin,\n });\n\n await this.optimisticActions.deleteOne(tagToDelete, {\n submit: async () => {\n return this.container.httpClient.request(\n deleteTag({ tagId: tagToDelete.id! }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch,\n errorCode: 'RemovetagFailed',\n }),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_http","_types","_uuid","_events","_CollectionState","_CollectionOptimisticActions","_TaskState","_util","_services","_createTagErrors","TAG_MAX_LENGTH","exports","MAX_TAGS","TagsManagementState","constructor","params","_defineProperty2","default","TaskState","EventEmitter","container","fqdn","collection","CollectionState","events","queryName","fqdnString","join","fetchData","fetchedItems","httpClient","request","listTags","exposure","TagExposure","PRIVATE","then","data","tags","filter","id","name","items","total","length","itemKey","itemName","filters","showToast","toastConfig","_params$container","overrideShowToast","emit","remove","optimisticActions","CollectionOptimisticActions","orderBy","sort","fieldName","createdDate","Date","valueOf","order","makeObservable","init","action","createTag","updateTag","deleteTag","retry","_isFqdnValid","disposers","initTask","runOnce","status","promise","forEach","disposer","result","isError","isLoading","isIdle","isSuccessful","isSuccess","fqdnToString","getTagById","tagId","_this$collection$resu","_keyedItemsMap","get","item","getTagNameById","_this$getTagById","resource","undefined","_optimisticActionBaseParams","optimisticActionParams","tagsBIReporter","actionName","origin","tagName","filteredListSize","isFromSearch","errorCode","onError","onTryAgain","onUndo","otherOptimisticActionParams","error","internalMonitor","reportError","WixPatternsError","originalException","category","hasReachedTagsLimit","showTagsLimitErrorToast","visualType","message","getTagsReachedLimitErrorMessage","translate","biName","type","tagSubOrigin","uuid","onSuccess","onAction","newTag","createOne","submit","createTagErrors","createTagResponse","tag","serverCreatedTag","tagToUpdate","previousName","updateOne","revision","toString","tagToDelete","deleteOne"],"sources":["../../../../src/state/TagsState/TagsManagementState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport {\n listTags,\n createTag,\n updateTag,\n deleteTag,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/http';\nimport {\n Tag,\n TagExposure,\n} from '@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types';\nimport { TagsBIReporter } from './TagsBIReporter';\nimport { v4 as uuid } from 'uuid';\nimport { EventEmitter } from 'events';\nimport { WixPatternsContainer } from '../WixPatternsContainer';\nimport { Fqdn, ToastConfig } from '../../model';\nimport { CollectionState } from '../CollectionState';\nimport { CollectionOptimisticActions } from '../CollectionOptimisticActions';\nimport { TaskState } from '../TaskState';\nimport { TagErrorVisualType, TypedEmitter, fqdnToString } from '../../util';\nimport { WixPatternsError, WixPatternsErrorCode } from '../../services';\nimport {\n CreateManyParams,\n DeleteManyParams,\n OptimisticActionBasis,\n UpdateManyParams,\n} from '../OptimisticActions';\nimport {\n createTagErrors,\n getTagsReachedLimitErrorMessage,\n} from './createTagErrors';\n\nexport const TAG_MAX_LENGTH = 30;\nconst MAX_TAGS = 100;\n\nexport interface TagsManagementStateParams {\n readonly container: WixPatternsContainer;\n readonly fqdn: Fqdn;\n}\n\nexport class TagsManagementState {\n readonly collection: CollectionState<Tag>;\n readonly optimisticActions: CollectionOptimisticActions<Tag, {}>;\n readonly container;\n readonly fqdn;\n readonly initTask = new TaskState();\n readonly events = new EventEmitter() as TypedEmitter<{\n showToast: (toastConfig: ToastConfig) => unknown;\n hideToast: (toastConfig: ToastConfig) => unknown;\n }>;\n overrideShowToast = false;\n\n constructor(params: TagsManagementStateParams) {\n this.container = params.container;\n this.fqdn = params.fqdn;\n this.collection = new CollectionState<Tag>({\n ...params.container,\n events: {},\n queryName: [this.fqdnString, 'tags'].join('/'),\n fetchData: async () => {\n const fetchedItems = await this.container.httpClient\n .request(\n listTags({ fqdn: this.fqdnString, exposure: TagExposure.PRIVATE }),\n )\n .then(({ data: { tags = [] } }) =>\n tags.filter(({ id, name }) => id && name),\n );\n\n return {\n items: fetchedItems,\n total: fetchedItems.length,\n };\n },\n itemKey: ({ id }) => id!,\n itemName: ({ name }) => name!,\n filters: {},\n showToast: (toastConfig: ToastConfig) => {\n if (this.overrideShowToast) {\n this.events.emit('showToast', toastConfig);\n return {\n remove: () => {\n this.events.emit('hideToast', toastConfig);\n },\n };\n }\n if (params?.container?.showToast) {\n return params.container.showToast(toastConfig);\n }\n return { remove: () => {} };\n },\n });\n\n this.optimisticActions = new CollectionOptimisticActions<Tag, {}>({\n container: this.container,\n collection: this.collection,\n orderBy: ({ sort }) => [\n ...(sort || []),\n {\n fieldName: ({ createdDate }) => (createdDate ?? new Date()).valueOf(),\n order: 'asc',\n },\n ],\n });\n\n makeObservable(this, {\n init: action,\n createTag: action,\n updateTag: action,\n deleteTag: action,\n retry: action,\n });\n }\n\n init() {\n if (!this._isFqdnValid()) {\n return;\n }\n\n const { collection, optimisticActions } = this;\n\n const disposers = [collection.init(), optimisticActions.init()];\n\n this.initTask.runOnce(async () => {\n collection.initTask.runOnce();\n\n await collection.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n retry() {\n this.collection.initTask.runOnce();\n }\n\n get items() {\n return this.collection.result.items;\n }\n\n get isError() {\n return this.initTask.status.isError;\n }\n\n get isLoading() {\n const { status } = this.collection.initTask;\n return status.isIdle || status.isLoading;\n }\n\n get isSuccessful() {\n const { status } = this.collection.initTask;\n return status.isSuccess;\n }\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n getTagById(tagId: string) {\n return this.collection.result._keyedItemsMap?.get(tagId)?.item;\n }\n\n getTagNameById(tagId: string) {\n return this.getTagById(tagId)?.name;\n }\n\n private _isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n private _optimisticActionBaseParams<T extends OptimisticActionBasis>(\n optimisticActionParams: T,\n {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch = false,\n errorCode,\n }: {\n tagsBIReporter: TagsBIReporter;\n actionName: string;\n origin: string;\n tagName: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n errorCode: WixPatternsErrorCode;\n },\n ) {\n const { onError, onTryAgain, onUndo, ...otherOptimisticActionParams } =\n optimisticActionParams;\n\n return {\n onError: (error: unknown) => {\n tagsBIReporter.onError(\n {\n tagName,\n actionName,\n origin,\n },\n error,\n );\n this.container.internalMonitor.reportError({\n error: new WixPatternsError({\n errorCode,\n originalException: error,\n }),\n category: 'Tags',\n });\n\n onError?.(error);\n },\n onTryAgain: () => {\n tagsBIReporter.onTryAgain({\n actionName,\n isFromSearch,\n filteredListSize,\n });\n onTryAgain?.();\n },\n onUndo: () => {\n tagsBIReporter.onUndo({ actionName });\n onUndo?.();\n },\n ...otherOptimisticActionParams,\n };\n }\n\n private hasReachedTagsLimit() {\n return this.collection.result.total >= MAX_TAGS;\n }\n\n private showTagsLimitErrorToast(visualType: TagErrorVisualType) {\n this.collection.showToast({\n message: getTagsReachedLimitErrorMessage({\n visualType,\n translate: this.container.translate,\n }),\n biName: 'cairo-max-tags-error',\n type: 'ERROR',\n });\n }\n\n async createTag({\n name,\n origin,\n tagSubOrigin,\n filteredListSize,\n id = uuid(),\n isFromSearch = false,\n onSuccess,\n optimisticActionParams = {},\n tagsBIReporter,\n visualType = 'toast',\n }: {\n name: string;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n id?: string;\n isFromSearch?: boolean;\n onSuccess?: (tag: Tag) => void | Promise<void>;\n optimisticActionParams?: Partial<CreateManyParams<Tag>>;\n tagsBIReporter: TagsBIReporter;\n visualType?: TagErrorVisualType;\n }) {\n const actionName = 'Add tag';\n\n tagsBIReporter.onAction({\n tagName: name,\n isFromSearch,\n actionName,\n origin,\n tagSubOrigin,\n });\n\n if (this.hasReachedTagsLimit()) {\n return this.showTagsLimitErrorToast(visualType);\n }\n\n const newTag = {\n id,\n name,\n fqdn: this.fqdnString,\n exposure: TagExposure.PRIVATE,\n createdDate: new Date(),\n };\n\n this.optimisticActions.createOne(newTag, {\n submit: async () => {\n createTagErrors({\n translate: this.container.translate,\n visualType,\n });\n\n const createTagResponse = await this.container.httpClient.request(\n createTag({ tag: newTag }),\n );\n\n const serverCreatedTag = createTagResponse.data.tag!;\n await onSuccess?.(serverCreatedTag);\n\n return [serverCreatedTag];\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: name,\n isFromSearch,\n errorCode: 'CreateTagFailed',\n }),\n });\n }\n\n async updateTag({\n tagToUpdate,\n previousName,\n origin,\n tagSubOrigin,\n filteredListSize,\n isFromSearch = false,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToUpdate: Tag;\n previousName: string;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<UpdateManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const actionName = 'Rename tag';\n\n tagsBIReporter.onAction({\n actionName,\n previousName,\n tagName: tagToUpdate.name!,\n isFromSearch,\n origin,\n tagSubOrigin,\n });\n\n this.optimisticActions.updateOne(\n { ...tagToUpdate, revision: (+tagToUpdate.revision! + 1).toString() },\n {\n submit: async () => {\n return this.container.httpClient.request(\n updateTag({ tag: tagToUpdate }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n filteredListSize,\n tagName: previousName,\n isFromSearch,\n errorCode: 'UpdateTagFailed',\n }),\n },\n );\n }\n\n async deleteTag({\n tagToDelete,\n origin,\n tagSubOrigin,\n filteredListSize,\n isFromSearch = true,\n optimisticActionParams = {},\n tagsBIReporter,\n }: {\n tagToDelete: Tag;\n origin: string;\n tagSubOrigin?: string;\n filteredListSize: number;\n isFromSearch?: boolean;\n optimisticActionParams?: Partial<DeleteManyParams<Tag, {}>>;\n tagsBIReporter: TagsBIReporter;\n }) {\n const tagName = tagToDelete.name!;\n const actionName = 'Delete tag';\n\n tagsBIReporter.onAction({\n actionName,\n tagName,\n isFromSearch,\n origin,\n tagSubOrigin,\n });\n\n await this.optimisticActions.deleteOne(tagToDelete, {\n submit: async () => {\n return this.container.httpClient.request(\n deleteTag({ tagId: tagToDelete.id! }),\n );\n },\n ...this._optimisticActionBaseParams(optimisticActionParams, {\n tagsBIReporter,\n actionName,\n origin,\n tagName,\n filteredListSize,\n isFromSearch,\n errorCode: 'RemovetagFailed',\n }),\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createTagErrors","translate","t","visualType","applicationError","FQDN_NOT_FOUND","message","action","text","onClick","TAG_NAME_ALREADY_EXISTS","TAGS_REACHED_LIMIT","getTagsReachedLimitErrorMessage","CREATE_ID_EXHAUSTED_RETRY_ATTEMPTS","exports"],"sources":["../../../../src/state/TagsState/createTagErrors.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["createTagErrors","translate","t","visualType","applicationError","FQDN_NOT_FOUND","message","action","text","onClick","TAG_NAME_ALREADY_EXISTS","TAGS_REACHED_LIMIT","getTagsReachedLimitErrorMessage","CREATE_ID_EXHAUSTED_RETRY_ATTEMPTS","exports"],"sources":["../../../../src/state/TagsState/createTagErrors.ts"],"sourcesContent":["import { ErrorCodesMap } from '@wix/fe-essentials/error-handler';\n\nimport { TagErrorVisualType } from '../../util';\nimport { Translate } from '../../services';\n\nexport const createTagErrors = ({\n translate: t,\n visualType = 'toast',\n}: {\n translate: Translate;\n visualType?: TagErrorVisualType;\n}): ErrorCodesMap => {\n return {\n applicationError: {\n FQDN_NOT_FOUND: () => ({\n message:\n visualType === 'toast'\n ? t('cairo.tags.fqdn-not-found.error')\n : t('cairo.tags.fqdn-not-found.manageTagsModal.error'),\n action: {\n text: t('cairo.error.contactSupport.cta'),\n onClick: () => {\n // TODO: contact support\n },\n },\n }),\n TAG_NAME_ALREADY_EXISTS: () => ({\n message: t('cairo.tags.manageTags.modal.list.input.validation.exists'),\n // Should be optional\n action: {\n text: '',\n onClick: () => {},\n },\n }),\n TAGS_REACHED_LIMIT: () => ({\n message: getTagsReachedLimitErrorMessage({\n visualType,\n translate: t,\n }),\n // Should be optional\n action: {\n text: '',\n onClick: () => {},\n },\n }),\n CREATE_ID_EXHAUSTED_RETRY_ATTEMPTS: () => ({\n message:\n visualType === 'toast'\n ? t('cairo.tags.collectionPage.toast.create.error')\n : t('cairo.tags.manageTags.modal.toast.create.error'),\n action: {\n text: t('cairo.error.tryAgain.cta'),\n // Need context to retry\n onClick: () => {},\n },\n }),\n },\n };\n};\n\nexport const getTagsReachedLimitErrorMessage = ({\n visualType,\n translate: t,\n}: {\n visualType: TagErrorVisualType;\n translate: Translate;\n}): string =>\n visualType === 'toast'\n ? t('cairo.tags.popover.creationLimitReached.error')\n : t('cairo.tags.creationLimitReached.error');\n"],"mappings":";;;;AAKO,MAAMA,eAAe,GAAGA,CAAC;EAC9BC,SAAS,EAAEC,CAAC;EACZC,UAAU,GAAG;AAIf,CAAC,KAAoB;EACnB,OAAO;IACLC,gBAAgB,EAAE;MAChBC,cAAc,EAAEA,CAAA,MAAO;QACrBC,OAAO,EACLH,UAAU,KAAK,OAAO,GAClBD,CAAC,CAAC,iCAAiC,CAAC,GACpCA,CAAC,CAAC,iDAAiD,CAAC;QAC1DK,MAAM,EAAE;UACNC,IAAI,EAAEN,CAAC,CAAC,gCAAgC,CAAC;UACzCO,OAAO,EAAEA,CAAA,KAAM;YACb;UAAA;QAEJ;MACF,CAAC,CAAC;MACFC,uBAAuB,EAAEA,CAAA,MAAO;QAC9BJ,OAAO,EAAEJ,CAAC,CAAC,0DAA0D,CAAC;QACtE;QACAK,MAAM,EAAE;UACNC,IAAI,EAAE,EAAE;UACRC,OAAO,EAAEA,CAAA,KAAM,CAAC;QAClB;MACF,CAAC,CAAC;MACFE,kBAAkB,EAAEA,CAAA,MAAO;QACzBL,OAAO,EAAEM,+BAA+B,CAAC;UACvCT,UAAU;UACVF,SAAS,EAAEC;QACb,CAAC,CAAC;QACF;QACAK,MAAM,EAAE;UACNC,IAAI,EAAE,EAAE;UACRC,OAAO,EAAEA,CAAA,KAAM,CAAC;QAClB;MACF,CAAC,CAAC;MACFI,kCAAkC,EAAEA,CAAA,MAAO;QACzCP,OAAO,EACLH,UAAU,KAAK,OAAO,GAClBD,CAAC,CAAC,8CAA8C,CAAC,GACjDA,CAAC,CAAC,gDAAgD,CAAC;QACzDK,MAAM,EAAE;UACNC,IAAI,EAAEN,CAAC,CAAC,0BAA0B,CAAC;UACnC;UACAO,OAAO,EAAEA,CAAA,KAAM,CAAC;QAClB;MACF,CAAC;IACH;EACF,CAAC;AACH,CAAC;AAACK,OAAA,CAAAd,eAAA,GAAAA,eAAA;AAEK,MAAMY,+BAA+B,GAAGA,CAAC;EAC9CT,UAAU;EACVF,SAAS,EAAEC;AAIb,CAAC,KACCC,UAAU,KAAK,OAAO,GAClBD,CAAC,CAAC,+CAA+C,CAAC,GAClDA,CAAC,CAAC,uCAAuC,CAAC;AAACY,OAAA,CAAAF,+BAAA,GAAAA,+BAAA","ignoreList":[]}
|
|
@@ -32,7 +32,6 @@ class ProductsCollectionStateDriver {
|
|
|
32
32
|
// not passing collection.fetch directly to be able to spy on it
|
|
33
33
|
itemKey: item => item.id,
|
|
34
34
|
itemName: item => item.name,
|
|
35
|
-
fetchErrorMessage: () => 'Error fetching products',
|
|
36
35
|
filters: {},
|
|
37
36
|
limit: 50,
|
|
38
37
|
onlineState: this.container.onlineState,
|
|
@@ -61,7 +60,6 @@ class ProductsCollectionStateDriver {
|
|
|
61
60
|
// not passing collection.fetch directly to be able to spy on it
|
|
62
61
|
itemKey: item => item.id,
|
|
63
62
|
itemName: item => item.name,
|
|
64
|
-
fetchErrorMessage: () => 'Error fetching products',
|
|
65
63
|
filters,
|
|
66
64
|
limit,
|
|
67
65
|
onlineState: this.container.onlineState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_WixPatternsContainer","require","_state","_createProductsBackend","_util","ProductsCollectionStateDriver","constructor","overrides","_defineProperty2","default","spy","jest","fn","backend","events","on","container","WixPatternsContainerDriver","createProductsBackend","queryName","fqdn","parseFqdn","collection","CollectionState","toExtendedFields","item","extendedFields","fetchData","query","itemKey","id","itemName","name","
|
|
1
|
+
{"version":3,"names":["_WixPatternsContainer","require","_state","_createProductsBackend","_util","ProductsCollectionStateDriver","constructor","overrides","_defineProperty2","default","spy","jest","fn","backend","events","on","container","WixPatternsContainerDriver","createProductsBackend","queryName","fqdn","parseFqdn","collection","CollectionState","toExtendedFields","item","extendedFields","fetchData","query","itemKey","id","itemName","name","filters","limit","onlineState","translate","i18n","t","bind","queryCache","history","errorMonitor","showToast","initDependencies","initialFetch","lodash","reCreateCollection","getRandomItem","items","index","chance","integer","min","max","length","fetchDataSync","asComputed","exports"],"sources":["../../../src/testkit/ProductsCollectionState.driver.ts"],"sourcesContent":["import {\n WixPatternsContainerDriver,\n WixPatternsContainerDriverOverrides,\n} from './WixPatternsContainer.driver';\nimport { CollectionState, CollectionStateParams } from '../state';\nimport { InMemoryBackend, InMemoryBackendParams } from '../InMemoryBackend';\nimport { Product } from './product';\nimport { ProductFilters } from './productFilters';\nimport { createProductsBackend } from './createProductsBackend';\nimport { parseFqdn } from '../util';\n\nexport interface ProductsCollectionStateDriverOverrides\n extends WixPatternsContainerDriverOverrides {\n readonly collection?: Partial<CollectionStateParams<Product, ProductFilters>>;\n readonly backend?: Partial<InMemoryBackendParams<Product, ProductFilters>>;\n}\n\nexport class ProductsCollectionStateDriver {\n readonly container: WixPatternsContainerDriver;\n readonly backend: InMemoryBackend<Product, ProductFilters>;\n\n readonly overrides;\n collection: CollectionState<Product, ProductFilters>;\n\n constructor(overrides: ProductsCollectionStateDriverOverrides = {}) {\n this.overrides = overrides;\n\n this.container = new WixPatternsContainerDriver(overrides);\n this.backend = createProductsBackend(overrides.backend);\n\n const queryName = 'wix.cairo.products.v1.product';\n const fqdn = overrides.fqdn\n ? parseFqdn(overrides.fqdn)\n : parseFqdn(queryName);\n\n this.collection = new CollectionState({\n queryName,\n fqdn,\n toExtendedFields: (item) => item.extendedFields,\n fetchData: (query) => this.backend.fetchData(query), // not passing collection.fetch directly to be able to spy on it\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n filters: {},\n limit: 50,\n onlineState: this.container.onlineState,\n translate: this.container.i18n.t.bind(this.container.i18n),\n queryCache: this.container.queryCache,\n history: this.container.history,\n errorMonitor: this.container.errorMonitor,\n showToast: this.container.showToast,\n initDependencies: () => this.container.container.initialFetch(),\n lodash: this.container.container.lodash,\n ...overrides.collection,\n });\n }\n\n reCreateCollection() {\n const {\n queryName,\n query: { limit },\n filters,\n } = this.collection;\n this.collection = new CollectionState({\n queryName,\n fqdn: parseFqdn(queryName),\n fetchData: (query) => this.backend.fetchData(query), // not passing collection.fetch directly to be able to spy on it\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n filters,\n limit,\n onlineState: this.container.onlineState,\n translate: this.container.i18n.t.bind(this.container.i18n),\n queryCache: this.container.queryCache,\n history: this.container.history,\n errorMonitor: this.container.errorMonitor,\n showToast: this.container.showToast,\n initDependencies: () => this.container.container.initialFetch(),\n lodash: this.container.container.lodash,\n ...this.overrides.collection,\n });\n }\n\n getRandomItem() {\n const { items } = this;\n const index = this.backend.chance.integer({\n min: 0,\n max: items.length - 1,\n });\n\n return {\n index,\n item: items[index],\n };\n }\n\n fetchDataStartSpy = () => {\n const spy = jest.fn();\n this.backend.events.on('fetchDataStart', spy);\n return spy;\n };\n\n get items(): Product[] {\n const {\n collection: { query },\n } = this;\n const { items } = this.backend.fetchDataSync(query.asComputed);\n return items;\n }\n\n get chance() {\n return this.backend.chance;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_http","require","_types","_InMemoryBackend","_events","_chance","_isHttpError","exportServiceMocks","whenRequest","chance","Chance","events","EventEmitter","buildExportAsyncJob","params","createDate","Date","updateDate","rest","id","guid","status","JobStatus","INITIALIZED","data","iterationsCount","processedItemsCount","be","InMemoryBackend","createOne","itemKey","item","total","simulateJobIterations","initialJob","job","maxIterationsCount","_job$data","_job$data$query","_job$data$query2","Promise","resolve","setTimeout","paging","query","cursorPaging","PROCESSING","limit","all","listeners","map","fn","update","completedJobOverrides","reduce","prev","current","FINISHED","beforeUpdateSignedUrlOverrides","f","signedUrl","e","FAILED","error","applicationError","code","message","mocks","createExportAsyncJob","reply","Error","push","isHttpError","response","persist","getExportAsyncJob","get","jobId"],"sources":["../../../src/testkit/exportServiceMocks.ts"],"sourcesContent":["import {\n createExportAsyncJob,\n getExportAsyncJob,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/http';\n\nimport {\n ExportAsyncJob,\n Status as JobStatus,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport { InMemoryBackend } from '../InMemoryBackend';\nimport { EventEmitter } from 'events';\nimport { Chance } from 'chance';\nimport { TypedEmitter } from '../util';\nimport { isHttpError } from '../util/isHttpError';\n\nexport function exportServiceMocks(\n whenRequest: typeof import('@wix/http-client-testkit/client').whenRequest,\n) {\n const chance = new Chance();\n\n const events = new EventEmitter() as TypedEmitter<{\n jobCompleted: (job: ExportAsyncJob) => void | Partial<ExportAsyncJob>;\n beforeUpdateSignedUrl: (\n job: ExportAsyncJob,\n ) => Promise<undefined | Partial<ExportAsyncJob>>;\n\n beforeGetJob: (job: ExportAsyncJob | undefined) => void | Promise<void>;\n processing: (job: ExportAsyncJob) => void | Promise<void>;\n beforeCreateJob: (job: ExportAsyncJob) => void | Promise<void>;\n jobCreated: (job: ExportAsyncJob) => void | Promise<void>;\n }>;\n\n const buildExportAsyncJob = (params: ExportAsyncJob = {}): ExportAsyncJob => {\n const {\n createDate = new Date(),\n updateDate = createDate,\n ...rest\n } = params;\n\n return {\n id: chance.guid(),\n status: JobStatus.INITIALIZED,\n ...rest,\n data: {\n iterationsCount: 0,\n processedItemsCount: 0,\n ...rest.data,\n },\n createDate,\n updateDate,\n };\n };\n\n const be = new InMemoryBackend<ExportAsyncJob, {}>({\n createOne: () => buildExportAsyncJob(),\n itemKey: (item) => item.id as string,\n total: 0,\n });\n\n async function simulateJobIterations(initialJob: ExportAsyncJob) {\n let job = initialJob;\n\n try {\n const maxIterationsCount = 4;\n\n while (\n job.data?.iterationsCount != null &&\n job.data.iterationsCount < maxIterationsCount\n ) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n const paging = job.data.query?.paging ?? job.data.query?.cursorPaging;\n\n job = {\n ...job,\n status: JobStatus.PROCESSING,\n data: {\n ...job.data,\n iterationsCount: job.data.iterationsCount + 1,\n processedItemsCount:\n (job.data.processedItemsCount ?? 0) + (paging?.limit ?? 0),\n },\n };\n await Promise.all(events.listeners('processing').map((fn) => fn(job)));\n await be.update(job);\n }\n\n const completedJobOverrides = events.listeners('jobCompleted').reduce(\n (prev, current) => ({\n ...prev,\n ...current(job),\n }),\n {} as ExportAsyncJob,\n );\n\n await be.update({\n ...job,\n status: JobStatus.FINISHED,\n ...completedJobOverrides,\n data: {\n ...job.data,\n ...completedJobOverrides.data,\n },\n });\n\n const beforeUpdateSignedUrlOverrides = (\n await Promise.all(\n events\n .listeners('beforeUpdateSignedUrl')\n .map(async (f) => (await f(job)) ?? {}),\n )\n ).reduce(\n (prev, current) => ({\n ...prev,\n ...current,\n }),\n {} as ExportAsyncJob,\n );\n\n await be.update({\n ...job,\n status: JobStatus.FINISHED,\n ...beforeUpdateSignedUrlOverrides,\n data: {\n ...job.data,\n signedUrl: '/export.csv',\n ...beforeUpdateSignedUrlOverrides.data,\n },\n });\n } catch (e) {\n await be.update({\n ...job,\n status: JobStatus.FAILED,\n data: {\n ...job.data,\n error: {\n applicationError: {\n code: (e as Error).message,\n },\n ...(e as {}),\n },\n },\n });\n }\n }\n\n return {\n mocks: [\n whenRequest(createExportAsyncJob)\n .reply(async (data) => {\n try {\n const paging = data.query.paging ?? data.query.cursorPaging;\n\n if (paging?.limit == null) {\n throw new Error('ExportServiceMocks: paging.limit is required');\n }\n\n const job = buildExportAsyncJob({\n data,\n });\n\n await Promise.all(\n events.listeners('beforeCreateJob').map((fn) => fn(job)),\n );\n\n await be.push([job]);\n\n await Promise.all(\n events.listeners('jobCreated').map((fn) => fn(job)),\n );\n\n simulateJobIterations(job);\n\n return {\n status: 200,\n data: {\n job,\n },\n };\n } catch (e) {\n if (isHttpError(e) && e.response) {\n return {\n status: e.response.status,\n data: e.response.data,\n };\n }\n\n return {\n status: 504,\n data: {},\n };\n }\n })\n .persist(),\n\n whenRequest(getExportAsyncJob)\n .reply(200, async (data) => {\n const job = be.get(data.jobId);\n await Promise.all(\n events.listeners('beforeGetJob').map((fn) => fn(job)),\n );\n return {\n job,\n };\n })\n .persist(),\n ] as import('@wix/http-client-testkit').AnyScenario[],\n be,\n events,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_http","require","_types","_InMemoryBackend","_events","_chance","_isHttpError","exportServiceMocks","whenRequest","chance","Chance","events","EventEmitter","buildExportAsyncJob","params","createDate","Date","updateDate","rest","id","guid","status","JobStatus","INITIALIZED","data","iterationsCount","processedItemsCount","be","InMemoryBackend","createOne","itemKey","item","total","simulateJobIterations","initialJob","job","maxIterationsCount","_job$data","_job$data$query","_job$data$query2","Promise","resolve","setTimeout","paging","query","cursorPaging","PROCESSING","limit","all","listeners","map","fn","update","completedJobOverrides","reduce","prev","current","FINISHED","beforeUpdateSignedUrlOverrides","f","signedUrl","e","FAILED","error","applicationError","code","message","mocks","createExportAsyncJob","reply","Error","push","isHttpError","response","persist","getExportAsyncJob","get","jobId","__applicationErrorsType"],"sources":["../../../src/testkit/exportServiceMocks.ts"],"sourcesContent":["import {\n createExportAsyncJob,\n getExportAsyncJob,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/http';\n\nimport {\n ExportAsyncJob,\n Status as JobStatus,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport { InMemoryBackend } from '../InMemoryBackend';\nimport { EventEmitter } from 'events';\nimport { Chance } from 'chance';\nimport { TypedEmitter } from '../util';\nimport { isHttpError } from '../util/isHttpError';\n\nexport function exportServiceMocks(\n whenRequest: typeof import('@wix/http-client-testkit/client').whenRequest,\n) {\n const chance = new Chance();\n\n const events = new EventEmitter() as TypedEmitter<{\n jobCompleted: (job: ExportAsyncJob) => void | Partial<ExportAsyncJob>;\n beforeUpdateSignedUrl: (\n job: ExportAsyncJob,\n ) => Promise<undefined | Partial<ExportAsyncJob>>;\n\n beforeGetJob: (job: ExportAsyncJob | undefined) => void | Promise<void>;\n processing: (job: ExportAsyncJob) => void | Promise<void>;\n beforeCreateJob: (job: ExportAsyncJob) => void | Promise<void>;\n jobCreated: (job: ExportAsyncJob) => void | Promise<void>;\n }>;\n\n const buildExportAsyncJob = (params: ExportAsyncJob = {}): ExportAsyncJob => {\n const {\n createDate = new Date(),\n updateDate = createDate,\n ...rest\n } = params;\n\n return {\n id: chance.guid(),\n status: JobStatus.INITIALIZED,\n ...rest,\n data: {\n iterationsCount: 0,\n processedItemsCount: 0,\n ...rest.data,\n },\n createDate,\n updateDate,\n };\n };\n\n const be = new InMemoryBackend<ExportAsyncJob, {}>({\n createOne: () => buildExportAsyncJob(),\n itemKey: (item) => item.id as string,\n total: 0,\n });\n\n async function simulateJobIterations(initialJob: ExportAsyncJob) {\n let job = initialJob;\n\n try {\n const maxIterationsCount = 4;\n\n while (\n job.data?.iterationsCount != null &&\n job.data.iterationsCount < maxIterationsCount\n ) {\n await new Promise((resolve) => setTimeout(resolve, 100));\n const paging = job.data.query?.paging ?? job.data.query?.cursorPaging;\n\n job = {\n ...job,\n status: JobStatus.PROCESSING,\n data: {\n ...job.data,\n iterationsCount: job.data.iterationsCount + 1,\n processedItemsCount:\n (job.data.processedItemsCount ?? 0) + (paging?.limit ?? 0),\n },\n };\n await Promise.all(events.listeners('processing').map((fn) => fn(job)));\n await be.update(job);\n }\n\n const completedJobOverrides = events.listeners('jobCompleted').reduce(\n (prev, current) => ({\n ...prev,\n ...current(job),\n }),\n {} as ExportAsyncJob,\n );\n\n await be.update({\n ...job,\n status: JobStatus.FINISHED,\n ...completedJobOverrides,\n data: {\n ...job.data,\n ...completedJobOverrides.data,\n },\n });\n\n const beforeUpdateSignedUrlOverrides = (\n await Promise.all(\n events\n .listeners('beforeUpdateSignedUrl')\n .map(async (f) => (await f(job)) ?? {}),\n )\n ).reduce(\n (prev, current) => ({\n ...prev,\n ...current,\n }),\n {} as ExportAsyncJob,\n );\n\n await be.update({\n ...job,\n status: JobStatus.FINISHED,\n ...beforeUpdateSignedUrlOverrides,\n data: {\n ...job.data,\n signedUrl: '/export.csv',\n ...beforeUpdateSignedUrlOverrides.data,\n },\n });\n } catch (e) {\n await be.update({\n ...job,\n status: JobStatus.FAILED,\n data: {\n ...job.data,\n error: {\n applicationError: {\n code: (e as Error).message,\n },\n ...(e as {}),\n },\n },\n });\n }\n }\n\n return {\n mocks: [\n whenRequest(createExportAsyncJob)\n .reply(async (data) => {\n try {\n const paging = data.query.paging ?? data.query.cursorPaging;\n\n if (paging?.limit == null) {\n throw new Error('ExportServiceMocks: paging.limit is required');\n }\n\n const job = buildExportAsyncJob({\n data,\n });\n\n await Promise.all(\n events.listeners('beforeCreateJob').map((fn) => fn(job)),\n );\n\n await be.push([job]);\n\n await Promise.all(\n events.listeners('jobCreated').map((fn) => fn(job)),\n );\n\n simulateJobIterations(job);\n\n return {\n status: 200,\n data: {\n job,\n },\n };\n } catch (e) {\n if (isHttpError(e) && e.response) {\n return {\n status: e.response.status,\n data: e.response.data,\n };\n }\n\n return {\n status: 504,\n data: {},\n };\n }\n })\n .persist(),\n\n whenRequest(getExportAsyncJob)\n .reply(200, async (data) => {\n const job = be.get(data.jobId);\n await Promise.all(\n events.listeners('beforeGetJob').map((fn) => fn(job)),\n );\n return {\n __applicationErrorsType: {},\n job,\n };\n })\n .persist(),\n ] as import('@wix/http-client-testkit').AnyScenario[],\n be,\n events,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"cairo.bulkSelectedWithTotal": "{num, plural, one {Vybráno 1 z {total,number}} few {Vybráno {num,number} z {total,number}} many {Vybráno {num,number} z {total,number}} other {Vybráno {num,number} z {total,number}}}",
|
|
23
23
|
"cairo.export.cancelTheExportGoBack": "Zpět",
|
|
24
24
|
"cairo.customFields.addCustomField.modal.emptyFieldName.error": "Zadejte název pole.",
|
|
25
|
+
"cairo.filtersPanel.numRange.title": "Number Range",
|
|
25
26
|
"cairo.export.cancelTheExportConfirm": "Zrušit export",
|
|
26
27
|
"cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error": "Unable to export due to a technical issue on our end.",
|
|
27
28
|
"cairo.export.exporting": "Exportování",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"cairo.updatedView.collectionPage.toast.cta": "Obnovit stránku",
|
|
55
56
|
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Nastavení PII nelze později změnit.",
|
|
56
57
|
"cairo.customFields.fieldType.dropdownList.placeholder": "Např. Itálie",
|
|
58
|
+
"cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
|
|
57
59
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Zpět",
|
|
58
60
|
"cairo.dragAndDrop.discardChanges.CTA": "Zahodit",
|
|
59
61
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Neplatná hodnota",
|
|
@@ -180,7 +182,7 @@
|
|
|
180
182
|
"cairo.manageView.saveChanges.error.toast": "Vaše změny nebyly kvůli technickým potížím uloženy.",
|
|
181
183
|
"cairo.tags.collectionPage.tagsColumn.emptyState.body": "Tagy vám pomáhají filtrovat a organizovat položky.",
|
|
182
184
|
"cairo.emptyState.title.nothingAvailable": "Nic k zobrazení",
|
|
183
|
-
"cairo.tags.fqdn-not-found.error.cta": "
|
|
185
|
+
"cairo.tags.fqdn-not-found.error.cta": "Kontaktovat podporu",
|
|
184
186
|
"cairo.toast.undo": "Zpět",
|
|
185
187
|
"cairo.customFields.fieldType.numberDecimal.Name.placeholder": "např. Cena",
|
|
186
188
|
"cairo.tags.popover.bulkItemLimit.tooltip": "Tagy lze přiřadit najednou pouze ke 100 položkám.",
|
|
@@ -198,6 +200,7 @@
|
|
|
198
200
|
"cairo.export.offlineMessage": "Export bude pokračovat, jakmile bude obnoveno připojení k internetu.",
|
|
199
201
|
"cairo.customFields.fieldType.checkbox.Selected.NotChecked": "No (not checked)",
|
|
200
202
|
"cairo.confirm.button": "Potvrdit",
|
|
203
|
+
"cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
|
|
201
204
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "Klíč pole",
|
|
202
205
|
"cairo.manageView.Rename.modal.cancel.CTA": "Zpět",
|
|
203
206
|
"cairo.filtersPanel.default.All": "Vše",
|
|
@@ -254,7 +257,7 @@
|
|
|
254
257
|
"cairo.sortableColumns.modal.CTA": "Třídit seznam",
|
|
255
258
|
"cairo.filtersPanel.noAppliedFilters.label": "Není použit žádný filtr",
|
|
256
259
|
"cairo.dragAndDrop.discardChanges.description": "Jakékoli provedené změny nebudou uloženy.",
|
|
257
|
-
"cairo.tags.fqdn-not-found.error": "
|
|
260
|
+
"cairo.tags.fqdn-not-found.error": "Tuto akci nebylo možné dokončit z důvodu technických potíží na naší straně.",
|
|
258
261
|
"cairo.customFields.fetch.technicalError": "Některá pole se kvůli technickým potížím nenačetla.",
|
|
259
262
|
"cairo.tags.manageTags.modal.title": "Správa tagů: {EntityName}",
|
|
260
263
|
"cairo.sortableColumns.modal.description": "Tento seznam jste roztřídili ručně. Jakmile začnete třídit podle {columnTitle}, bude současné pořadí vašich položek nahrazeno.",
|
|
@@ -361,6 +364,7 @@
|
|
|
361
364
|
"cairo.export.cancelTheExport": "Zrušit export?",
|
|
362
365
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Zjistit více",
|
|
363
366
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Zpět",
|
|
367
|
+
"cairo.filtersPanel.numRange.maxRange-to": "To",
|
|
364
368
|
"cairo.tags.popover.creationLimitReached.error": "Tag nelze vytvořit. Dosáhli jste limitu 100 tagů",
|
|
365
369
|
"cairo.customFields.archive.modal.description": "Toto pole a informace, které v něm byly shromážděny, budou archivovány a nelze je obnovit.",
|
|
366
370
|
"cairo.emptyState.premium.title": "Upgradujte pomocí plánu",
|
|
@@ -395,6 +399,7 @@
|
|
|
395
399
|
"cairo.search.filter.nothingMatches.text": "Zkuste nové hledání nebo změňte filtry.",
|
|
396
400
|
"cairo.tags.manageTags.modal.toast.rename.success": "Tag byl přejmenován.",
|
|
397
401
|
"cairo.customFields.edit.CTA": "Upravit",
|
|
402
|
+
"cairo.filtersPanel.numRange.min-from": "From",
|
|
398
403
|
"cairo.customFields.maxFields": "Můžete přidat až 10 vlastních polí.",
|
|
399
404
|
"cairo.offline": "Momentálně jste offline.",
|
|
400
405
|
"cairo.export.leaveSiteTitle": "Opustit web?",
|
|
@@ -458,7 +463,7 @@
|
|
|
458
463
|
"cairo.dropdownSearch.filters.emptyState": "Pro tento filtr nebyly nalezeny žádné položky.",
|
|
459
464
|
"cairo.filtersPanel.appliedFilters.label": "Použito {numberAppliedFilters}",
|
|
460
465
|
"cairo.customFields.createDataExtension.fqdn-not-extensible.error": "You can't edit this field.",
|
|
461
|
-
"cairo.tags.fqdn-not-found.manageTagsModal.error": "
|
|
466
|
+
"cairo.tags.fqdn-not-found.manageTagsModal.error": "Tuto akci nelze dokončit",
|
|
462
467
|
"cairo.dragAndDrop.note": "Poznámka: Jakékoli provedené změny v pořadí položek se objeví na vašem zveřejněném webu.",
|
|
463
468
|
"cairo.filtersPanel.date.from.placeholder": "Od"
|
|
464
469
|
}
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"cairo.bulkSelectedWithTotal": "{num, plural, one {1 ud af {total,number} er valgt} other {{num,number} ud af {total,number} er valgt}}",
|
|
23
23
|
"cairo.export.cancelTheExportGoBack": "Gå tilbage",
|
|
24
24
|
"cairo.customFields.addCustomField.modal.emptyFieldName.error": "Indtast et feltnavn.",
|
|
25
|
+
"cairo.filtersPanel.numRange.title": "Number Range",
|
|
25
26
|
"cairo.export.cancelTheExportConfirm": "Annuller eksport",
|
|
26
27
|
"cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error": "Unable to export due to a technical issue on our end.",
|
|
27
28
|
"cairo.export.exporting": "Eksporterer",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"cairo.updatedView.collectionPage.toast.cta": "Opdater visning",
|
|
55
56
|
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII-indstillinger kan ikke ændres senere.",
|
|
56
57
|
"cairo.customFields.fieldType.dropdownList.placeholder": "fx Italien",
|
|
58
|
+
"cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
|
|
57
59
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annuller",
|
|
58
60
|
"cairo.dragAndDrop.discardChanges.CTA": "Kassér",
|
|
59
61
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Ugyldig værdi",
|
|
@@ -173,7 +175,7 @@
|
|
|
173
175
|
"cairo.emptyState.subtitle.nothingAvailable": "Vi fandt ingen resultater.",
|
|
174
176
|
"cairo.tags.tagsWidget.create.CTA": "Opret tags",
|
|
175
177
|
"cairo.customFields.addCustomField.modal.keyFormat.error": "Skal starte med et bogstav fra det internationale alfabet og kan kun indeholde bogstaver, tal eller understregninger.",
|
|
176
|
-
"cairo.picker.itemsSelected": "{total, plural, one {1 element
|
|
178
|
+
"cairo.picker.itemsSelected": "{total, plural, one {1 valgt element (maks. {max})} other {{total,number} valgte elementer (maks. {max})}}",
|
|
177
179
|
"cairo.customFields.addCustomField.modal.title": "Tilføj et brugerdefineret felt",
|
|
178
180
|
"cairo.customFields.updateDataExtension.fqdn-not-extensible.error": "This is invalid action - you can't edit this feild ",
|
|
179
181
|
"cairo.dropdownSearch.select.filers.placeholder": "Vælg filtre",
|
|
@@ -198,6 +200,7 @@
|
|
|
198
200
|
"cairo.export.offlineMessage": "Eksporten fortsætter, når internetforbindelsen er genoprettet.",
|
|
199
201
|
"cairo.customFields.fieldType.checkbox.Selected.NotChecked": "No (not checked)",
|
|
200
202
|
"cairo.confirm.button": "Bekræft",
|
|
203
|
+
"cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
|
|
201
204
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "Feltnøgle",
|
|
202
205
|
"cairo.manageView.Rename.modal.cancel.CTA": "Annuller",
|
|
203
206
|
"cairo.filtersPanel.default.All": "Alle",
|
|
@@ -328,7 +331,7 @@
|
|
|
328
331
|
"cairo.appliedFilters.discardChanges.CTA": "Fortryd ændringer",
|
|
329
332
|
"airo.tags.collectionPage.popover.emptyState.body": "Tags hjælper dig med at filtrere og organisere dine elementer.",
|
|
330
333
|
"cairo.saveViewModal.error.message.unexpected": "Denne visning kunne ikke gemmes i øjeblikket. Forsøg igen om et par minutter.",
|
|
331
|
-
"cairo.collectionPage.appInstall-inContext.moreActions.relatedApps.CTA": "
|
|
334
|
+
"cairo.collectionPage.appInstall-inContext.moreActions.relatedApps.CTA": "Udforsk relaterede apps",
|
|
332
335
|
"cairo.customFields.entityPage.emptyState.title": "Ingen felter blev udfyldt",
|
|
333
336
|
"cairo.export.exportToCSVMessage": "Dine elementer og alle deres data downloades som en CSV-fil.",
|
|
334
337
|
"cairo.manageView.unsaved.tooltip": "Hvis du vil gemme dine ændringer, skal du gå til \"Administrer visning\".",
|
|
@@ -361,6 +364,7 @@
|
|
|
361
364
|
"cairo.export.cancelTheExport": "Annuller eksporten?",
|
|
362
365
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Læs mere",
|
|
363
366
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annuller",
|
|
367
|
+
"cairo.filtersPanel.numRange.maxRange-to": "To",
|
|
364
368
|
"cairo.tags.popover.creationLimitReached.error": "Kan ikke oprette tag. Du har nået grænsen på 100 tag.",
|
|
365
369
|
"cairo.customFields.archive.modal.description": "Dette felt og de oplysninger, der er indsamlet til det, arkiveres og kan ikke gendannes.",
|
|
366
370
|
"cairo.emptyState.premium.title": "Opgrader med et abonnement",
|
|
@@ -395,6 +399,7 @@
|
|
|
395
399
|
"cairo.search.filter.nothingMatches.text": "Prøv en ny søgning, eller ændr dine filtre.",
|
|
396
400
|
"cairo.tags.manageTags.modal.toast.rename.success": "Tag er omdøbt.",
|
|
397
401
|
"cairo.customFields.edit.CTA": "Rediger",
|
|
402
|
+
"cairo.filtersPanel.numRange.min-from": "From",
|
|
398
403
|
"cairo.customFields.maxFields": "Du kan tilføje op til 10 tilpassede felter.",
|
|
399
404
|
"cairo.offline": "Du er i øjeblikket offline.",
|
|
400
405
|
"cairo.export.leaveSiteTitle": "Forlad hjemmeside?",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"cairo.bulkSelectedWithTotal": "{num, plural, one {1 von {total,number} ausgewählt} other {{num,number} von {total,number} ausgewählt}}",
|
|
23
23
|
"cairo.export.cancelTheExportGoBack": "Zurück",
|
|
24
24
|
"cairo.customFields.addCustomField.modal.emptyFieldName.error": "Gib einen Feldnamen ein.",
|
|
25
|
+
"cairo.filtersPanel.numRange.title": "Number Range",
|
|
25
26
|
"cairo.export.cancelTheExportConfirm": "Export abbrechen",
|
|
26
27
|
"cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error": "Unable to export due to a technical issue on our end.",
|
|
27
28
|
"cairo.export.exporting": "Exportieren",
|
|
@@ -54,6 +55,7 @@
|
|
|
54
55
|
"cairo.updatedView.collectionPage.toast.cta": "Ansicht aktualisieren",
|
|
55
56
|
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "Einstellungen zu PII können später nicht geändert werden.",
|
|
56
57
|
"cairo.customFields.fieldType.dropdownList.placeholder": "z. B. Italien",
|
|
58
|
+
"cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
|
|
57
59
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Abbrechen",
|
|
58
60
|
"cairo.dragAndDrop.discardChanges.CTA": "Verwerfen",
|
|
59
61
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Ungültiger Wert",
|
|
@@ -198,6 +200,7 @@
|
|
|
198
200
|
"cairo.export.offlineMessage": "Der Export wird fortgesetzt, sobald die Verbindung wiederhergestellt ist.",
|
|
199
201
|
"cairo.customFields.fieldType.checkbox.Selected.NotChecked": "No (not checked)",
|
|
200
202
|
"cairo.confirm.button": "Bestätigen",
|
|
203
|
+
"cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
|
|
201
204
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.placeholder": "Feldschlüssel",
|
|
202
205
|
"cairo.manageView.Rename.modal.cancel.CTA": "Abbrechen",
|
|
203
206
|
"cairo.filtersPanel.default.All": "Alle",
|
|
@@ -361,6 +364,7 @@
|
|
|
361
364
|
"cairo.export.cancelTheExport": "Exportieren abbrechen?",
|
|
362
365
|
"cairo.customFields.addCustomField.modal.PII.learnMore": "Mehr erfahren",
|
|
363
366
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Abbrechen",
|
|
367
|
+
"cairo.filtersPanel.numRange.maxRange-to": "To",
|
|
364
368
|
"cairo.tags.popover.creationLimitReached.error": "Das Tag kann nicht erstellt werden. Du hast das Limit von 100 Tags erreicht.",
|
|
365
369
|
"cairo.customFields.archive.modal.description": "Dieses Feld und die dazugehörigen Informationen werden archiviert und können nicht wiederhergestellt werden.",
|
|
366
370
|
"cairo.emptyState.premium.title": "Auf ein Website-Paket upgraden",
|
|
@@ -395,6 +399,7 @@
|
|
|
395
399
|
"cairo.search.filter.nothingMatches.text": "Starte eine neue Suche oder ändere die Filter.",
|
|
396
400
|
"cairo.tags.manageTags.modal.toast.rename.success": "Tag wurde umbenannt.",
|
|
397
401
|
"cairo.customFields.edit.CTA": "Bearbeiten",
|
|
402
|
+
"cairo.filtersPanel.numRange.min-from": "From",
|
|
398
403
|
"cairo.customFields.maxFields": "Du kannst bis zu 10 benutzerdefinierte Felder hinzufügen.",
|
|
399
404
|
"cairo.offline": "Du bist zurzeit offline.",
|
|
400
405
|
"cairo.export.leaveSiteTitle": "Website verlassen?",
|
|
@@ -457,8 +457,13 @@
|
|
|
457
457
|
"cairo.customFields.updateDataExtension.invalid-namespace.error": "Unable to update custom field due to a technical issue on our end.",
|
|
458
458
|
"cairo.customFields.createDataExtension.fqdn-not-found.error": "Unable to create custom field due to a technical issue on our end.",
|
|
459
459
|
"cairo.customFields.createDataExtension.fqdn-not-extensible.error": "You can't edit this field.",
|
|
460
|
-
"cairo.customFields.fieldType.checkbox.Selected.checked": "
|
|
461
|
-
"cairo.customFields.fieldType.checkbox.Selected.NotChecked": "
|
|
460
|
+
"cairo.customFields.fieldType.checkbox.Selected.checked": "Checked",
|
|
461
|
+
"cairo.customFields.fieldType.checkbox.Selected.NotChecked": "Not checked",
|
|
462
462
|
"cairo.collectionPage.nested.expandAll.tooltip": "Expand all",
|
|
463
|
-
"cairo.collectionPage.nested.collapseAll.tooltip": "Collapse all"
|
|
463
|
+
"cairo.collectionPage.nested.collapseAll.tooltip": "Collapse all",
|
|
464
|
+
"cairo.filtersPanel.numRange.title": "Number Range",
|
|
465
|
+
"cairo.filtersPanel.numRange.maxRange.error": "The max can’t be smaller than the min. ",
|
|
466
|
+
"cairo.filtersPanel.numRange.minRange.error": "The min can’t be larger than the max.",
|
|
467
|
+
"cairo.filtersPanel.numRange.maxRange-to": "To",
|
|
468
|
+
"cairo.filtersPanel.numRange.min-from": "From"
|
|
464
469
|
}
|