@wix/bex-core 2.313.0 → 2.315.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_ar.json +6 -0
- package/dist/cjs/assets/locale/messages_bg.json +6 -0
- package/dist/cjs/assets/locale/messages_ca.json +6 -0
- package/dist/cjs/assets/locale/messages_cs.json +10 -4
- package/dist/cjs/assets/locale/messages_da.json +11 -5
- package/dist/cjs/assets/locale/messages_de.json +10 -4
- package/dist/cjs/assets/locale/messages_el.json +6 -0
- package/dist/cjs/assets/locale/messages_en.json +6 -0
- package/dist/cjs/assets/locale/messages_es.json +10 -4
- package/dist/cjs/assets/locale/messages_fi.json +6 -0
- package/dist/cjs/assets/locale/messages_fr.json +12 -6
- package/dist/cjs/assets/locale/messages_he.json +6 -0
- package/dist/cjs/assets/locale/messages_hi.json +10 -4
- package/dist/cjs/assets/locale/messages_hu.json +6 -0
- package/dist/cjs/assets/locale/messages_id.json +10 -4
- package/dist/cjs/assets/locale/messages_it.json +11 -5
- package/dist/cjs/assets/locale/messages_ja.json +11 -5
- package/dist/cjs/assets/locale/messages_ko.json +15 -9
- package/dist/cjs/assets/locale/messages_lt.json +6 -0
- package/dist/cjs/assets/locale/messages_ms.json +6 -0
- package/dist/cjs/assets/locale/messages_nl.json +10 -4
- package/dist/cjs/assets/locale/messages_no.json +11 -5
- package/dist/cjs/assets/locale/messages_pl.json +10 -4
- package/dist/cjs/assets/locale/messages_pt.json +10 -4
- package/dist/cjs/assets/locale/messages_ro.json +6 -0
- package/dist/cjs/assets/locale/messages_ru.json +10 -4
- package/dist/cjs/assets/locale/messages_sk.json +6 -0
- package/dist/cjs/assets/locale/messages_sl.json +6 -0
- package/dist/cjs/assets/locale/messages_sv.json +10 -4
- package/dist/cjs/assets/locale/messages_th.json +10 -4
- package/dist/cjs/assets/locale/messages_tl.json +6 -0
- package/dist/cjs/assets/locale/messages_tr.json +10 -4
- package/dist/cjs/assets/locale/messages_uk.json +14 -8
- package/dist/cjs/assets/locale/messages_vi.json +10 -4
- package/dist/cjs/assets/locale/messages_zh.json +10 -4
- package/dist/cjs/assets/locale/version_file +1 -1
- package/dist/cjs/hooks/index.js +6 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/useIsMobile.js +12 -0
- package/dist/cjs/hooks/useIsMobile.js.map +1 -0
- package/dist/cjs/services/tagsService/tagsService.js +35 -0
- package/dist/cjs/services/tagsService/tagsService.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsAssignmentState.js +48 -8
- package/dist/cjs/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/esm/assets/locale/messages_ar.json +6 -0
- package/dist/esm/assets/locale/messages_bg.json +6 -0
- package/dist/esm/assets/locale/messages_ca.json +6 -0
- package/dist/esm/assets/locale/messages_cs.json +10 -4
- package/dist/esm/assets/locale/messages_da.json +11 -5
- package/dist/esm/assets/locale/messages_de.json +10 -4
- package/dist/esm/assets/locale/messages_el.json +6 -0
- package/dist/esm/assets/locale/messages_en.json +6 -0
- package/dist/esm/assets/locale/messages_es.json +10 -4
- package/dist/esm/assets/locale/messages_fi.json +6 -0
- package/dist/esm/assets/locale/messages_fr.json +12 -6
- package/dist/esm/assets/locale/messages_he.json +6 -0
- package/dist/esm/assets/locale/messages_hi.json +10 -4
- package/dist/esm/assets/locale/messages_hu.json +6 -0
- package/dist/esm/assets/locale/messages_id.json +10 -4
- package/dist/esm/assets/locale/messages_it.json +11 -5
- package/dist/esm/assets/locale/messages_ja.json +11 -5
- package/dist/esm/assets/locale/messages_ko.json +15 -9
- package/dist/esm/assets/locale/messages_lt.json +6 -0
- package/dist/esm/assets/locale/messages_ms.json +6 -0
- package/dist/esm/assets/locale/messages_nl.json +10 -4
- package/dist/esm/assets/locale/messages_no.json +11 -5
- package/dist/esm/assets/locale/messages_pl.json +10 -4
- package/dist/esm/assets/locale/messages_pt.json +10 -4
- package/dist/esm/assets/locale/messages_ro.json +6 -0
- package/dist/esm/assets/locale/messages_ru.json +10 -4
- package/dist/esm/assets/locale/messages_sk.json +6 -0
- package/dist/esm/assets/locale/messages_sl.json +6 -0
- package/dist/esm/assets/locale/messages_sv.json +10 -4
- package/dist/esm/assets/locale/messages_th.json +10 -4
- package/dist/esm/assets/locale/messages_tl.json +6 -0
- package/dist/esm/assets/locale/messages_tr.json +10 -4
- package/dist/esm/assets/locale/messages_uk.json +14 -8
- package/dist/esm/assets/locale/messages_vi.json +10 -4
- package/dist/esm/assets/locale/messages_zh.json +10 -4
- package/dist/esm/assets/locale/version_file +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/useIsMobile.js +7 -0
- package/dist/esm/hooks/useIsMobile.js.map +1 -0
- package/dist/esm/services/tagsService/tagsService.js +23 -0
- package/dist/esm/services/tagsService/tagsService.js.map +1 -1
- package/dist/esm/state/TagsState/TagsAssignmentState.js +40 -10
- package/dist/esm/state/TagsState/TagsAssignmentState.js.map +1 -1
- package/dist/types/hooks/index.d.ts +1 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/useIsMobile.d.ts +2 -0
- package/dist/types/hooks/useIsMobile.d.ts.map +1 -0
- package/dist/types/services/tagsService/tagsService.d.ts +9 -1
- package/dist/types/services/tagsService/tagsService.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/TagsState/TagsAssignmentState.d.ts +5 -3
- package/dist/types/state/TagsState/TagsAssignmentState.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.TagsAssignmentState = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _types = require("@wix/bex-utils/@wix/ambassador-os-tags-v1-tag/types");
|
|
7
8
|
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
8
9
|
var _uuid = require("uuid");
|
|
9
10
|
var _mobx = require("mobx");
|
|
@@ -41,6 +42,7 @@ class TagsAssignmentState {
|
|
|
41
42
|
}
|
|
42
43
|
const newIndex = this._getNewIndex();
|
|
43
44
|
await this.optimisticActions.createOne({
|
|
45
|
+
...tag,
|
|
44
46
|
id: tag.id,
|
|
45
47
|
index: newIndex
|
|
46
48
|
}, {
|
|
@@ -53,6 +55,7 @@ class TagsAssignmentState {
|
|
|
53
55
|
isFromSearch
|
|
54
56
|
});
|
|
55
57
|
return [{
|
|
58
|
+
...tag,
|
|
56
59
|
id: tag.id,
|
|
57
60
|
index: newIndex
|
|
58
61
|
}];
|
|
@@ -105,7 +108,8 @@ class TagsAssignmentState {
|
|
|
105
108
|
const newIndex = this._getNewIndex();
|
|
106
109
|
this.optimisticActions.createOne({
|
|
107
110
|
id,
|
|
108
|
-
index: newIndex
|
|
111
|
+
index: newIndex,
|
|
112
|
+
name
|
|
109
113
|
}, {
|
|
110
114
|
...assignOptimisticActionParams,
|
|
111
115
|
submit: async _ => {
|
|
@@ -117,6 +121,7 @@ class TagsAssignmentState {
|
|
|
117
121
|
createOptimisticActionParams
|
|
118
122
|
});
|
|
119
123
|
return [{
|
|
124
|
+
...newTag,
|
|
120
125
|
id: newTag.id,
|
|
121
126
|
index: newIndex
|
|
122
127
|
}];
|
|
@@ -246,8 +251,45 @@ class TagsAssignmentState {
|
|
|
246
251
|
events: {},
|
|
247
252
|
queryName: [this.fqdnString, origin, entityId].join('/'),
|
|
248
253
|
fetchData: async () => {
|
|
254
|
+
if (!this._isFqdnValid() || !this.initialTags.length) {
|
|
255
|
+
return {
|
|
256
|
+
items: [],
|
|
257
|
+
total: 0
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
const fetchedTags = await this.tagsManagementState.tagsService.fetchTagsByIds({
|
|
261
|
+
fqdn: this.fqdnString,
|
|
262
|
+
tagIds: this.initialTagIds,
|
|
263
|
+
exposure: _types.TagExposure.PRIVATE
|
|
264
|
+
}, {}, {
|
|
265
|
+
serverErrorOverride: () => ({
|
|
266
|
+
message: this.tagsManagementState.container.translate('cairo.tags.collectionPage.popover.loadTags.error.body'),
|
|
267
|
+
action: {
|
|
268
|
+
text: this.tagsManagementState.container.translate('cairo.tags.loadTags.error.CTA'),
|
|
269
|
+
onClick: () => {
|
|
270
|
+
void this.collection.clearResultAndMoveToStart({
|
|
271
|
+
force: true
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
})
|
|
276
|
+
});
|
|
277
|
+
const tagsById = new Map(fetchedTags.map(tag => [tag.id, tag]));
|
|
278
|
+
const assignedTags = this.initialTags.map(({
|
|
279
|
+
id,
|
|
280
|
+
index
|
|
281
|
+
}) => {
|
|
282
|
+
const tag = tagsById.get(id);
|
|
283
|
+
if (!tag) {
|
|
284
|
+
return undefined;
|
|
285
|
+
}
|
|
286
|
+
return {
|
|
287
|
+
...tag,
|
|
288
|
+
index
|
|
289
|
+
};
|
|
290
|
+
}).filter(tag => !!tag);
|
|
249
291
|
return {
|
|
250
|
-
items:
|
|
292
|
+
items: assignedTags,
|
|
251
293
|
total: this.initialTags.length
|
|
252
294
|
};
|
|
253
295
|
},
|
|
@@ -300,12 +342,7 @@ class TagsAssignmentState {
|
|
|
300
342
|
this.initTask.runOnce();
|
|
301
343
|
}
|
|
302
344
|
get assignedTags() {
|
|
303
|
-
|
|
304
|
-
return (_this$collection$resu = this.collection.result.items) == null ? void 0 : _this$collection$resu.map(({
|
|
305
|
-
id
|
|
306
|
-
}) => {
|
|
307
|
-
return this.tagsManagementState.items.find(tag => tag.id === id);
|
|
308
|
-
}).filter(Boolean);
|
|
345
|
+
return this.collection.result.items;
|
|
309
346
|
}
|
|
310
347
|
get assignedTagIds() {
|
|
311
348
|
const {
|
|
@@ -347,6 +384,9 @@ class TagsAssignmentState {
|
|
|
347
384
|
const assignedTagIds = this.assignedTagIds.filter(id => !this.initialTagIds.includes(id));
|
|
348
385
|
return unassigendTagIds.length !== 0 || assignedTagIds.length !== 0;
|
|
349
386
|
}
|
|
387
|
+
_isFqdnValid() {
|
|
388
|
+
return this.fqdn.resource !== undefined;
|
|
389
|
+
}
|
|
350
390
|
_invokeBiOnAssignUnassign({
|
|
351
391
|
actionName,
|
|
352
392
|
tag,
|
|
@@ -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","ref","init","action","assignTag","createAndAssignTag","unassignTag","replaceAssigned","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","unique","current","every","i","clearResultAndMoveToStart","force","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 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.ref,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n replaceAssigned: 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 replaceAssigned(tagIds: string[]) {\n const unique = Array.from(new Set(tagIds));\n const current = this.initialTagIds;\n if (\n unique.length === current.length &&\n unique.every((id, i) => id === current[i])\n ) {\n return;\n }\n this.initialTags = unique.map((id, index) => ({ id, index }));\n this.collection.clearResultAndMoveToStart({ force: true });\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":["_types","require","_v","_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","ref","init","action","assignTag","createAndAssignTag","unassignTag","replaceAssigned","clear","assignedTags","computed","initialTagIds","isDirty","CollectionState","container","events","queryName","fqdnString","join","fetchData","_isFqdnValid","length","total","fetchedTags","tagsService","fetchTagsByIds","exposure","TagExposure","PRIVATE","serverErrorOverride","message","translate","text","onClick","clearResultAndMoveToStart","force","tagsById","Map","get","undefined","itemKey","itemName","filters","CollectionOptimisticActions","orderBy","fieldName","order","disposers","initTask","runOnce","status","promise","forEach","disposer","fqdnToString","isLoading","isIdle","isError","retry","unique","current","every","i","unassigendTagIds","resource","reportBi","cairoTagsAssignTag","itemId","numItems","numTags","numTagsAssigned","tagName","max","Math","exports"],"sources":["../../../../src/state/TagsState/TagsAssignmentState.ts"],"sourcesContent":["import {\n Tag,\n TagExposure,\n} 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\ntype AssignedTag = TagAssignment & Tag;\n\nexport class TagsAssignmentState {\n readonly tagsManagementState: TagsManagementState;\n readonly origin;\n readonly tagsBIReporter: TagsBIReporter;\n readonly initTask = new TaskState();\n readonly collection: CollectionState<AssignedTag>;\n readonly optimisticActions: CollectionOptimisticActions<AssignedTag, {}>;\n entityId?: string;\n 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.ref,\n init: action,\n assignTag: action,\n createAndAssignTag: action,\n unassignTag: action,\n replaceAssigned: action,\n clear: action,\n assignedTags: computed,\n initialTagIds: computed,\n isDirty: computed,\n });\n\n this.collection = new CollectionState<AssignedTag>({\n ...tagsManagementState.container,\n events: {},\n queryName: [this.fqdnString, origin, entityId].join('/'),\n fetchData: async () => {\n if (!this._isFqdnValid() || !this.initialTags.length) {\n return { items: [], total: 0 };\n }\n\n const fetchedTags =\n await this.tagsManagementState.tagsService.fetchTagsByIds(\n {\n fqdn: this.fqdnString,\n tagIds: this.initialTagIds,\n exposure: TagExposure.PRIVATE,\n },\n {},\n {\n serverErrorOverride: () => ({\n message: this.tagsManagementState.container.translate(\n 'cairo.tags.collectionPage.popover.loadTags.error.body',\n ),\n action: {\n text: this.tagsManagementState.container.translate(\n 'cairo.tags.loadTags.error.CTA',\n ),\n onClick: () => {\n void this.collection.clearResultAndMoveToStart({\n force: true,\n });\n },\n },\n }),\n },\n );\n const tagsById = new Map(fetchedTags.map((tag) => [tag.id!, tag]));\n const assignedTags = this.initialTags\n .map(({ id, index }) => {\n const tag = tagsById.get(id);\n if (!tag) {\n return undefined;\n }\n return { ...tag, index };\n })\n .filter((tag): tag is AssignedTag => !!tag);\n\n return {\n items: assignedTags,\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<AssignedTag, {}>({\n collection: this.collection,\n container: tagsManagementState.container,\n orderBy: () => [\n {\n fieldName: ({ index }) => index,\n order: 'asc',\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 }\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 replaceAssigned(tagIds: string[]) {\n const unique = Array.from(new Set(tagIds));\n const current = this.initialTagIds;\n if (\n unique.length === current.length &&\n unique.every((id, i) => id === current[i])\n ) {\n return;\n }\n this.initialTags = unique.map((id, index) => ({ id, index }));\n this.collection.clearResultAndMoveToStart({ force: true });\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 { ...tag, 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 [{ ...tag, 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, name },\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 [{ ...newTag, 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 _isFqdnValid() {\n return this.fqdn.resource !== undefined;\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":[]}
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
"cairo.table.custom-columns.indication.user": "User",
|
|
9
9
|
"cairo.table.saveViewModal.title": "Save view",
|
|
10
10
|
"cairo.tags.manageTags.modal.list.input.validation.exists.asLabels": "This label already exists.",
|
|
11
|
+
"fields.audio.button.download": "Download track",
|
|
11
12
|
"cairo.customFields.fieldType.numberDecimal.placeholder": "e.g., 25.50",
|
|
12
13
|
"cairo.tags.popover.tagCreated.toast.success": "Tag created.",
|
|
13
14
|
"cairo.dragAndDrop.list-aria-label.sr": "لإعادة الترتيب ، اضغط على مفتاح المسافة للحصول على عنصر؛ مفاتيح الأسهم للسحب؛ المسافة للإسقاط؛ \"escape\" أو \"tab\" للإلغاء.",
|
|
15
|
+
"fields.audio.button.add": "Add Audio ",
|
|
14
16
|
"cairo.collectionPage.nested.expandAll.tooltip": "Expand all",
|
|
15
17
|
"cairo.customFields.addCustomField.modal.add.CTA": "Add Field",
|
|
16
18
|
"cairo.import.subtitle": "Upload a CSV file that contains items you want to import into your content collection.",
|
|
@@ -120,6 +122,7 @@
|
|
|
120
122
|
"cairo.tags.manageTags.modal.search.placeholder": "Search tags...",
|
|
121
123
|
"cairo.tags.manageTags.modal.list.create.CTA": "Create <name>\"{tagName}\"</name>",
|
|
122
124
|
"cairo.export.GetExportAsyncJob.job-not-found.error": "Unable to export due to a technical issue on our end.",
|
|
125
|
+
"fields.audio.more_actions_tooltip": "More actions",
|
|
123
126
|
"cairo.replace-image.tooltip": "Replace image",
|
|
124
127
|
"cairo.tags.filterPanel.dropdown.title.asLabels": "Labels",
|
|
125
128
|
"cairo.customFields.fieldType.dateAndTime": "Date and time",
|
|
@@ -242,6 +245,7 @@
|
|
|
242
245
|
"cairo.entityPage.header.apply.CTA": "Apply",
|
|
243
246
|
"cairo.picker.createNew.button.tooltip": "You've selected the maximum amount of items. Deselect an item to create a new one.",
|
|
244
247
|
"cairo.page.loadError.failedState.description": "There was a technical issue on our end. Reload to try again.",
|
|
248
|
+
"fields.audio.button.replace": "Choose track",
|
|
245
249
|
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
|
|
246
250
|
"cairo.manageView.setAsDefault.reset.CTA": "Reset default view",
|
|
247
251
|
"cairo.filtersPanel.date.title": "Date",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.filterOperator.lessThanOrEqual": "Less Than or Equal",
|
|
273
277
|
"cairo.customFields.fieldType.numberDecimal.Name.placeholder": "e.g., Price",
|
|
274
278
|
"cairo.tags.tagsWidget.title.asLabels": "Labels",
|
|
279
|
+
"EditableTable.fields.no_addresses_found": ".fields.no_addresses_found",
|
|
275
280
|
"cairo.tags.popover.bulkItemLimit.tooltip": "Tags can only be assigned to 100 items at a time.",
|
|
276
281
|
"cairo.tags.filterPanel.dropdown.title": "Tags",
|
|
277
282
|
"cairo.manageView.Rename.error.toast": "Due to a technical issue, your view wasn’t renamed.",
|
|
@@ -424,6 +429,7 @@
|
|
|
424
429
|
"cairo.filtersPanel.date.14days": "Last 14 days",
|
|
425
430
|
"cairo.emptyState.additem.cta": "New Item",
|
|
426
431
|
"cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "You don't have permission to manage labels. Contact a site admin for access.",
|
|
432
|
+
"fields.audio.button.delete": "Delete track",
|
|
427
433
|
"cairo.tags.tagsWidget.create.CTA.asLabels": "Create Labels",
|
|
428
434
|
"cairo.filterOperator.label": "Operator",
|
|
429
435
|
"cairo.tags.bulkItemUpdate.updatingTags.toast": "Updating tags...",
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
"cairo.table.custom-columns.indication.user": "User",
|
|
9
9
|
"cairo.table.saveViewModal.title": "Save view",
|
|
10
10
|
"cairo.tags.manageTags.modal.list.input.validation.exists.asLabels": "This label already exists.",
|
|
11
|
+
"fields.audio.button.download": "Download track",
|
|
11
12
|
"cairo.customFields.fieldType.numberDecimal.placeholder": "e.g., 25.50",
|
|
12
13
|
"cairo.tags.popover.tagCreated.toast.success": "Tag created.",
|
|
13
14
|
"cairo.dragAndDrop.list-aria-label.sr": "За да пренаредите, натиснете интервала, за да вземете елемент; клавиши със стрелки за плъзгане; интервал за пускане; “escape” или “tab” за отмяна.",
|
|
15
|
+
"fields.audio.button.add": "Add Audio ",
|
|
14
16
|
"cairo.collectionPage.nested.expandAll.tooltip": "Expand all",
|
|
15
17
|
"cairo.customFields.addCustomField.modal.add.CTA": "Add Field",
|
|
16
18
|
"cairo.import.subtitle": "Upload a CSV file that contains items you want to import into your content collection.",
|
|
@@ -120,6 +122,7 @@
|
|
|
120
122
|
"cairo.tags.manageTags.modal.search.placeholder": "Search tags...",
|
|
121
123
|
"cairo.tags.manageTags.modal.list.create.CTA": "Create <name>\"{tagName}\"</name>",
|
|
122
124
|
"cairo.export.GetExportAsyncJob.job-not-found.error": "Unable to export due to a technical issue on our end.",
|
|
125
|
+
"fields.audio.more_actions_tooltip": "More actions",
|
|
123
126
|
"cairo.replace-image.tooltip": "Replace image",
|
|
124
127
|
"cairo.tags.filterPanel.dropdown.title.asLabels": "Labels",
|
|
125
128
|
"cairo.customFields.fieldType.dateAndTime": "Date and time",
|
|
@@ -242,6 +245,7 @@
|
|
|
242
245
|
"cairo.entityPage.header.apply.CTA": "Apply",
|
|
243
246
|
"cairo.picker.createNew.button.tooltip": "You've selected the maximum amount of items. Deselect an item to create a new one.",
|
|
244
247
|
"cairo.page.loadError.failedState.description": "There was a technical issue on our end. Reload to try again.",
|
|
248
|
+
"fields.audio.button.replace": "Choose track",
|
|
245
249
|
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
|
|
246
250
|
"cairo.manageView.setAsDefault.reset.CTA": "Reset default view",
|
|
247
251
|
"cairo.filtersPanel.date.title": "Date",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.filterOperator.lessThanOrEqual": "Less Than or Equal",
|
|
273
277
|
"cairo.customFields.fieldType.numberDecimal.Name.placeholder": "e.g., Price",
|
|
274
278
|
"cairo.tags.tagsWidget.title.asLabels": "Labels",
|
|
279
|
+
"EditableTable.fields.no_addresses_found": ".fields.no_addresses_found",
|
|
275
280
|
"cairo.tags.popover.bulkItemLimit.tooltip": "Tags can only be assigned to 100 items at a time.",
|
|
276
281
|
"cairo.tags.filterPanel.dropdown.title": "Tags",
|
|
277
282
|
"cairo.manageView.Rename.error.toast": "Due to a technical issue, your view wasn’t renamed.",
|
|
@@ -424,6 +429,7 @@
|
|
|
424
429
|
"cairo.filtersPanel.date.14days": "Last 14 days",
|
|
425
430
|
"cairo.emptyState.additem.cta": "New Item",
|
|
426
431
|
"cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "You don't have permission to manage labels. Contact a site admin for access.",
|
|
432
|
+
"fields.audio.button.delete": "Delete track",
|
|
427
433
|
"cairo.tags.tagsWidget.create.CTA.asLabels": "Create Labels",
|
|
428
434
|
"cairo.filterOperator.label": "Operator",
|
|
429
435
|
"cairo.tags.bulkItemUpdate.updatingTags.toast": "Updating tags...",
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
"cairo.table.custom-columns.indication.user": "User",
|
|
9
9
|
"cairo.table.saveViewModal.title": "Save view",
|
|
10
10
|
"cairo.tags.manageTags.modal.list.input.validation.exists.asLabels": "This label already exists.",
|
|
11
|
+
"fields.audio.button.download": "Download track",
|
|
11
12
|
"cairo.customFields.fieldType.numberDecimal.placeholder": "e.g., 25.50",
|
|
12
13
|
"cairo.tags.popover.tagCreated.toast.success": "Tag created.",
|
|
13
14
|
"cairo.dragAndDrop.list-aria-label.sr": "Per reordenar, prem la barra espaiadora per agafar un element; fes servir les tecles de fletxa per arrossegar, la barra espaiadora per deixar anar, i les tecles \"esc\" o \"tabulador\" per cancel·lar.",
|
|
15
|
+
"fields.audio.button.add": "Add Audio ",
|
|
14
16
|
"cairo.collectionPage.nested.expandAll.tooltip": "Expand all",
|
|
15
17
|
"cairo.customFields.addCustomField.modal.add.CTA": "Add Field",
|
|
16
18
|
"cairo.import.subtitle": "Upload a CSV file that contains items you want to import into your content collection.",
|
|
@@ -120,6 +122,7 @@
|
|
|
120
122
|
"cairo.tags.manageTags.modal.search.placeholder": "Search tags...",
|
|
121
123
|
"cairo.tags.manageTags.modal.list.create.CTA": "Create <name>\"{tagName}\"</name>",
|
|
122
124
|
"cairo.export.GetExportAsyncJob.job-not-found.error": "Unable to export due to a technical issue on our end.",
|
|
125
|
+
"fields.audio.more_actions_tooltip": "More actions",
|
|
123
126
|
"cairo.replace-image.tooltip": "Replace image",
|
|
124
127
|
"cairo.tags.filterPanel.dropdown.title.asLabels": "Labels",
|
|
125
128
|
"cairo.customFields.fieldType.dateAndTime": "Date and time",
|
|
@@ -242,6 +245,7 @@
|
|
|
242
245
|
"cairo.entityPage.header.apply.CTA": "Apply",
|
|
243
246
|
"cairo.picker.createNew.button.tooltip": "You've selected the maximum amount of items. Deselect an item to create a new one.",
|
|
244
247
|
"cairo.page.loadError.failedState.description": "There was a technical issue on our end. Reload to try again.",
|
|
248
|
+
"fields.audio.button.replace": "Choose track",
|
|
245
249
|
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "Close",
|
|
246
250
|
"cairo.manageView.setAsDefault.reset.CTA": "Reset default view",
|
|
247
251
|
"cairo.filtersPanel.date.title": "Date",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.filterOperator.lessThanOrEqual": "Less Than or Equal",
|
|
273
277
|
"cairo.customFields.fieldType.numberDecimal.Name.placeholder": "e.g., Price",
|
|
274
278
|
"cairo.tags.tagsWidget.title.asLabels": "Labels",
|
|
279
|
+
"EditableTable.fields.no_addresses_found": ".fields.no_addresses_found",
|
|
275
280
|
"cairo.tags.popover.bulkItemLimit.tooltip": "Tags can only be assigned to 100 items at a time.",
|
|
276
281
|
"cairo.tags.filterPanel.dropdown.title": "Tags",
|
|
277
282
|
"cairo.manageView.Rename.error.toast": "Due to a technical issue, your view wasn’t renamed.",
|
|
@@ -424,6 +429,7 @@
|
|
|
424
429
|
"cairo.filtersPanel.date.14days": "Last 14 days",
|
|
425
430
|
"cairo.emptyState.additem.cta": "New Item",
|
|
426
431
|
"cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "You don't have permission to manage labels. Contact a site admin for access.",
|
|
432
|
+
"fields.audio.button.delete": "Delete track",
|
|
427
433
|
"cairo.tags.tagsWidget.create.CTA.asLabels": "Create Labels",
|
|
428
434
|
"cairo.filterOperator.label": "Operator",
|
|
429
435
|
"cairo.tags.bulkItemUpdate.updatingTags.toast": "Updating tags...",
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
"cairo.table.custom-columns.indication.user": "User",
|
|
9
9
|
"cairo.table.saveViewModal.title": "Uložit zobrazení",
|
|
10
10
|
"cairo.tags.manageTags.modal.list.input.validation.exists.asLabels": "Tento štítek již existuje.",
|
|
11
|
+
"fields.audio.button.download": "Download track",
|
|
11
12
|
"cairo.customFields.fieldType.numberDecimal.placeholder": "např. 25,50",
|
|
12
13
|
"cairo.tags.popover.tagCreated.toast.success": "Tag vytvořen.",
|
|
13
14
|
"cairo.dragAndDrop.list-aria-label.sr": "Chcete-li změnit pořadí, stisknutím mezerníku položku uchopíte; šipkami přetáhnete; mezerníkem pustíte; klávesy „escape“ nebo „tab“ pro zrušení.",
|
|
15
|
+
"fields.audio.button.add": "Add Audio ",
|
|
14
16
|
"cairo.collectionPage.nested.expandAll.tooltip": "Rozbalit vše",
|
|
15
17
|
"cairo.customFields.addCustomField.modal.add.CTA": "Přidat pole",
|
|
16
18
|
"cairo.import.subtitle": "Upload a CSV file that contains items you want to import into your content collection.",
|
|
@@ -120,6 +122,7 @@
|
|
|
120
122
|
"cairo.tags.manageTags.modal.search.placeholder": "Vyhledat tagy…",
|
|
121
123
|
"cairo.tags.manageTags.modal.list.create.CTA": "Vytvořit <name>„{tagName}“</name>",
|
|
122
124
|
"cairo.export.GetExportAsyncJob.job-not-found.error": "Kvůli technickým potížím na naší straně nebylo možné provést export.",
|
|
125
|
+
"fields.audio.more_actions_tooltip": "More actions",
|
|
123
126
|
"cairo.replace-image.tooltip": "Nahradit obrázek",
|
|
124
127
|
"cairo.tags.filterPanel.dropdown.title.asLabels": "Štítky",
|
|
125
128
|
"cairo.customFields.fieldType.dateAndTime": "Datum a čas",
|
|
@@ -148,7 +151,7 @@
|
|
|
148
151
|
"cairo.settings.search.anchor-doesnt-exist.error": "Na této stránce část s názvem „{anchorName}“ již není.",
|
|
149
152
|
"cairo.import.configureMappingsTitle": "Map your columns",
|
|
150
153
|
"cairo.tags.popover.assignFolder.tooltip.asLabels": "Štítky nelze přiřadit ke složkám.",
|
|
151
|
-
"cairo.tags.creationLimitReached.error.asLabels": "Nelze vytvořit více než
|
|
154
|
+
"cairo.tags.creationLimitReached.error.asLabels": "{count, plural, one {Nelze vytvořit více než {limit} štítek. Odstraňte {count,number} štítek pro pokračování.} few {Nelze vytvořit více než {limit} štítky. Odstraňte {count,number} štítků pro pokračování.} many {Nelze vytvořit více než {limit} štítků. Odstraňte {count,number} štítků pro pokračování.} other {Nelze vytvořit více než {limit} štítků. Odstraňte {count,number} štítků pro pokračování.}}",
|
|
152
155
|
"cairo.deleteModal.title": "Opravdu to chcete odstranit?",
|
|
153
156
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Nezaškrtnuto",
|
|
154
157
|
"cairo.customFields.booleanValue.true": "Ano",
|
|
@@ -242,6 +245,7 @@
|
|
|
242
245
|
"cairo.entityPage.header.apply.CTA": "Použít",
|
|
243
246
|
"cairo.picker.createNew.button.tooltip": "Vybrali jste maximální počet položek. Chcete-li vytvořit novou, zrušte výběr nějaké položky.",
|
|
244
247
|
"cairo.page.loadError.failedState.description": "Na naší straně se objevily technické potíže. Obnovte stránku a zkuste to znovu.",
|
|
248
|
+
"fields.audio.button.replace": "Choose track",
|
|
245
249
|
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "Zavřít",
|
|
246
250
|
"cairo.manageView.setAsDefault.reset.CTA": "Obnovit výchozí zobrazení",
|
|
247
251
|
"cairo.filtersPanel.date.title": "Datum",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.filterOperator.lessThanOrEqual": "Menší než nebo rovná se",
|
|
273
277
|
"cairo.customFields.fieldType.numberDecimal.Name.placeholder": "např. Cena",
|
|
274
278
|
"cairo.tags.tagsWidget.title.asLabels": "Štítky",
|
|
279
|
+
"EditableTable.fields.no_addresses_found": ".fields.no_addresses_found",
|
|
275
280
|
"cairo.tags.popover.bulkItemLimit.tooltip": "Tagy lze přiřadit najednou pouze ke 100 položkám.",
|
|
276
281
|
"cairo.tags.filterPanel.dropdown.title": "Štítky",
|
|
277
282
|
"cairo.manageView.Rename.error.toast": "Vaše zobrazení nebylo kvůli technickým potížím přejmenováno.",
|
|
@@ -301,7 +306,7 @@
|
|
|
301
306
|
"cairo.filtersPanel.default.All": "Vše",
|
|
302
307
|
"cairo.tags.manageTags.modal.list.input.validation.noName": "Zadejte název.",
|
|
303
308
|
"cairo.tags.collectionPage.popover.manage.CTA": "Správa tagů",
|
|
304
|
-
"cairo.tags.creationLimitReached.error": "Nelze vytvořit více než
|
|
309
|
+
"cairo.tags.creationLimitReached.error": "{count, plural, one {Nelze vytvořit více než {limit} štítek. Odstraňte {count,number} štítek, abyste mohli pokračovat.} few {Nelze vytvořit více než {limit} štítky. Odstraňte {count,number} štítky, abyste mohli pokračovat.} many {Nelze vytvořit více než {limit} štítků. Odstraňte {count,number} štítků, abyste mohli pokračovat.} other {Nelze vytvořit více než {limit} štítků. Odstraňte {count,number} štítků, abyste mohli pokračovat.}}",
|
|
305
310
|
"cairo.table.advanced-sorting.descending.order": "Sestupně",
|
|
306
311
|
"cairo.tags.applyChanges.toast.undo.CTA": "Vrátit zpět",
|
|
307
312
|
"cairo.manageView.Rename.modal.field.title": "Název",
|
|
@@ -424,6 +429,7 @@
|
|
|
424
429
|
"cairo.filtersPanel.date.14days": "Posledních 14 dní",
|
|
425
430
|
"cairo.emptyState.additem.cta": "Nová položka",
|
|
426
431
|
"cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "Nemáte oprávnění štítky spravovat. Pro přístup kontaktujte správce webu.",
|
|
432
|
+
"fields.audio.button.delete": "Delete track",
|
|
427
433
|
"cairo.tags.tagsWidget.create.CTA.asLabels": "Vytvořit štítek",
|
|
428
434
|
"cairo.filterOperator.label": "Operator",
|
|
429
435
|
"cairo.tags.bulkItemUpdate.updatingTags.toast": "Aktualizace tagů…",
|
|
@@ -504,7 +510,7 @@
|
|
|
504
510
|
"cairo.tags.bulkItemUpdate.updatingModal.title.asLabels": "Aktualizace štítků…",
|
|
505
511
|
"cairo.table.saveViewModal.learnMoreLink": "Zjistit více",
|
|
506
512
|
"cairo.tags.collectionPage.toast.create.error.asLabels": "Štítek nelze vytvořit kvůli technickým potížím na naší straně.",
|
|
507
|
-
"cairo.tags.popover.creationLimitReached.error.asLabels": "Nelze vytvořit více než
|
|
513
|
+
"cairo.tags.popover.creationLimitReached.error.asLabels": "{count, plural, one {Nelze vytvořit více než {limit} štítek. Chcete-li přidat nové, odstraňte {count,number} štítek ve Správě popisků.} few {Nelze vytvořit více než {limit} štítky. Chcete-li přidat nové, odstraňte {count,number} štítky ve Správě popisků.} many {Nelze vytvořit více než {limit} štítků. Chcete-li přidat nové, odstraňte {count,number} štítků ve Správě popisků.} other {Nelze vytvořit více než {limit} štítků. Chcete-li přidat nové, odstraňte {count,number} štítků ve Správě popisků.}}",
|
|
508
514
|
"cairo.tags.manageTags.modal.emptyState.title": "Vytvořte nový tag",
|
|
509
515
|
"cairo.entityPage.header.cancel.CTA": "Zpět",
|
|
510
516
|
"cairo.filterOperator.lessThanOrEqual.tag": "less than or equal to",
|
|
@@ -525,7 +531,7 @@
|
|
|
525
531
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Zpět",
|
|
526
532
|
"cairo.filtersPanel.numRange.maxRange-to": "Do",
|
|
527
533
|
"cairo.filterOperator.in.tag": "in",
|
|
528
|
-
"cairo.tags.popover.creationLimitReached.error": "
|
|
534
|
+
"cairo.tags.popover.creationLimitReached.error": "{count, plural, one {Nelze vytvořit více než {limit} štítek. Chcete-li přidat nové, odstraňte {count,number} štítek ve Správě štítků.} few {Nelze vytvořit více než {limit} štítky. Chcete-li přidat nové, odstraňte {count,number} štítků ve Správě štítků.} many {Nelze vytvořit více než {limit} štítků. Chcete-li přidat nové, odstraňte {count,number} štítků ve Správě štítků.} other {Nelze vytvořit více než {limit} štítků. Chcete-li přidat nové, odstraňte {count,number} štítků ve Správě štítků.}}",
|
|
529
535
|
"cairo.customFields.archive.modal.description": "Toto pole a informace, které v něm byly shromážděny, budou archivovány a nelze je obnovit.",
|
|
530
536
|
"cairo.filterOperator.exists.tag": "exists",
|
|
531
537
|
"cairo.emptyState.premium.title": "Upgradujte pomocí plánu",
|
|
@@ -8,9 +8,11 @@
|
|
|
8
8
|
"cairo.table.custom-columns.indication.user": "User",
|
|
9
9
|
"cairo.table.saveViewModal.title": "Gem visning",
|
|
10
10
|
"cairo.tags.manageTags.modal.list.input.validation.exists.asLabels": "Denne etiket eksisterer allerede.",
|
|
11
|
+
"fields.audio.button.download": "Download track",
|
|
11
12
|
"cairo.customFields.fieldType.numberDecimal.placeholder": "fx 25,50",
|
|
12
13
|
"cairo.tags.popover.tagCreated.toast.success": "Tag er oprettet.",
|
|
13
14
|
"cairo.dragAndDrop.list-aria-label.sr": "For at omarrangere skal du trykke på mellemrumstasten for at få fat i et element; piletaster til at trække; mellemrumstasten for at droppe; \"escape\" eller \"tab\" for at annullere.",
|
|
15
|
+
"fields.audio.button.add": "Add Audio ",
|
|
14
16
|
"cairo.collectionPage.nested.expandAll.tooltip": "Udvid alle",
|
|
15
17
|
"cairo.customFields.addCustomField.modal.add.CTA": "Tilføj felt",
|
|
16
18
|
"cairo.import.subtitle": "Upload a CSV file that contains items you want to import into your content collection.",
|
|
@@ -73,7 +75,7 @@
|
|
|
73
75
|
"cairo.import.partialSuccess": "Successfully imported {succeeded} {succeeded, plural, one {item} other {items}}. {failed} {failed, plural, one {item} other {items}} failed to import.",
|
|
74
76
|
"cairo.picker.itemsSelected.maxSelected.tooltip": "Det maksimale antal er valgt",
|
|
75
77
|
"cairo.import.noRowsFound": "No rows were found in this CSV file.",
|
|
76
|
-
"cairo.saveView.Success.toast": "\"{viewName}\" gemt.",
|
|
78
|
+
"cairo.saveView.Success.toast": "\"{viewName}\" blev gemt.",
|
|
77
79
|
"cairo.customFields.fieldType.dropdownList.addOption.CTA": "Tilføj mulighed",
|
|
78
80
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Annuller",
|
|
79
81
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Slet",
|
|
@@ -120,6 +122,7 @@
|
|
|
120
122
|
"cairo.tags.manageTags.modal.search.placeholder": "Søg efter tags ...",
|
|
121
123
|
"cairo.tags.manageTags.modal.list.create.CTA": "Opret <name>\"{tagName}\"</name>",
|
|
122
124
|
"cairo.export.GetExportAsyncJob.job-not-found.error": "Vi kan ikke eksportere på grund af et teknisk problem hos os.",
|
|
125
|
+
"fields.audio.more_actions_tooltip": "More actions",
|
|
123
126
|
"cairo.replace-image.tooltip": "Erstat billede",
|
|
124
127
|
"cairo.tags.filterPanel.dropdown.title.asLabels": "Etiketter",
|
|
125
128
|
"cairo.customFields.fieldType.dateAndTime": "Dato og tidspunkt",
|
|
@@ -148,7 +151,7 @@
|
|
|
148
151
|
"cairo.settings.search.anchor-doesnt-exist.error": "Der er ikke længere et afsnit med navnet \"{anchorName}\" på denne side.",
|
|
149
152
|
"cairo.import.configureMappingsTitle": "Map your columns",
|
|
150
153
|
"cairo.tags.popover.assignFolder.tooltip.asLabels": "Etiketter kan ikke tildeles mapper.",
|
|
151
|
-
"cairo.tags.creationLimitReached.error.asLabels": "
|
|
154
|
+
"cairo.tags.creationLimitReached.error.asLabels": "{count, plural, one {Der kan ikke oprettes mere end {limit} etiket. Slet {count,number} etiket for at fortsætte.} other {Der kan ikke oprettes mere end {limit} etiketter. Slet {count,number} etiketter for at fortsætte.}}",
|
|
152
155
|
"cairo.deleteModal.title": "Er du sikker på, du ønsker at slette denne?",
|
|
153
156
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Ikke kontrolleret",
|
|
154
157
|
"cairo.customFields.booleanValue.true": "Ja",
|
|
@@ -242,6 +245,7 @@
|
|
|
242
245
|
"cairo.entityPage.header.apply.CTA": "Anvend",
|
|
243
246
|
"cairo.picker.createNew.button.tooltip": "Du har valgt det maksimale antal elementer. Fravælg et element for at oprette et nyt.",
|
|
244
247
|
"cairo.page.loadError.failedState.description": "Der opstod et teknisk problem hos os. Genindlæs for at prøve igen.",
|
|
248
|
+
"fields.audio.button.replace": "Choose track",
|
|
245
249
|
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "Luk",
|
|
246
250
|
"cairo.manageView.setAsDefault.reset.CTA": "Nulstil standardvisning",
|
|
247
251
|
"cairo.filtersPanel.date.title": "Dato",
|
|
@@ -272,6 +276,7 @@
|
|
|
272
276
|
"cairo.filterOperator.lessThanOrEqual": "mindre end eller lig med",
|
|
273
277
|
"cairo.customFields.fieldType.numberDecimal.Name.placeholder": "fx pris",
|
|
274
278
|
"cairo.tags.tagsWidget.title.asLabels": "Etiketter",
|
|
279
|
+
"EditableTable.fields.no_addresses_found": ".fields.no_addresses_found",
|
|
275
280
|
"cairo.tags.popover.bulkItemLimit.tooltip": "Tags kan kun tildeles til 100 elementer ad gangen.",
|
|
276
281
|
"cairo.tags.filterPanel.dropdown.title": "Tags",
|
|
277
282
|
"cairo.manageView.Rename.error.toast": "På grund af et teknisk problem blev din visning ikke omdøbt.",
|
|
@@ -301,7 +306,7 @@
|
|
|
301
306
|
"cairo.filtersPanel.default.All": "Alle",
|
|
302
307
|
"cairo.tags.manageTags.modal.list.input.validation.noName": "Indtast et navn.",
|
|
303
308
|
"cairo.tags.collectionPage.popover.manage.CTA": "Administrer tags",
|
|
304
|
-
"cairo.tags.creationLimitReached.error": "
|
|
309
|
+
"cairo.tags.creationLimitReached.error": "{count, plural, one {Der kan ikke oprettes mere end {limit} tag. Slet {count,number} tag for at fortsætte.} other {Der kan ikke oprettes mere end {limit} tags. Slet {count,number} tags for at fortsætte.}}",
|
|
305
310
|
"cairo.table.advanced-sorting.descending.order": "Faldende",
|
|
306
311
|
"cairo.tags.applyChanges.toast.undo.CTA": "Fortryd",
|
|
307
312
|
"cairo.manageView.Rename.modal.field.title": "Navn",
|
|
@@ -424,6 +429,7 @@
|
|
|
424
429
|
"cairo.filtersPanel.date.14days": "Seneste 14 dage",
|
|
425
430
|
"cairo.emptyState.additem.cta": "Nyt element",
|
|
426
431
|
"cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "Du har ikke tilladelse til at administrere etiketter. Kontakt en hjemmesideadministrator for at få adgang.",
|
|
432
|
+
"fields.audio.button.delete": "Delete track",
|
|
427
433
|
"cairo.tags.tagsWidget.create.CTA.asLabels": "Opret etiketter",
|
|
428
434
|
"cairo.filterOperator.label": "Operator",
|
|
429
435
|
"cairo.tags.bulkItemUpdate.updatingTags.toast": "Opdaterer tags ...",
|
|
@@ -504,7 +510,7 @@
|
|
|
504
510
|
"cairo.tags.bulkItemUpdate.updatingModal.title.asLabels": "Opdaterer etiketter ...",
|
|
505
511
|
"cairo.table.saveViewModal.learnMoreLink": "Læs mere",
|
|
506
512
|
"cairo.tags.collectionPage.toast.create.error.asLabels": "Det var ikke muligt at oprette etiket på grund af et teknisk problem hos os.",
|
|
507
|
-
"cairo.tags.popover.creationLimitReached.error.asLabels": "
|
|
513
|
+
"cairo.tags.popover.creationLimitReached.error.asLabels": "{count, plural, one {Der kan ikke oprettes mere end {limit} etiket. Slet {count,number} etiket under Administrer etiketter for at tilføje nye.} other {Der kan ikke oprettes mere end {limit} etiketter. Slet {count,number} etiketter under Administrer etiketter for at tilføje nye.}}",
|
|
508
514
|
"cairo.tags.manageTags.modal.emptyState.title": "Opret et nyt tag",
|
|
509
515
|
"cairo.entityPage.header.cancel.CTA": "Annuller",
|
|
510
516
|
"cairo.filterOperator.lessThanOrEqual.tag": "less than or equal to",
|
|
@@ -525,7 +531,7 @@
|
|
|
525
531
|
"cairo.tags.manageTags.modal.list.input.cancel.CTA": "Annuller",
|
|
526
532
|
"cairo.filtersPanel.numRange.maxRange-to": "Til",
|
|
527
533
|
"cairo.filterOperator.in.tag": "in",
|
|
528
|
-
"cairo.tags.popover.creationLimitReached.error": "
|
|
534
|
+
"cairo.tags.popover.creationLimitReached.error": "{count, plural, one {Der kan ikke oprettes mere end {limit} tag. Slet {count,number} tag under Administrer tags for at tilføje nye.} other {Der kan ikke oprettes mere end {limit} tags. Slet {count,number} tags under Administrer tags for at tilføje nye.}}",
|
|
529
535
|
"cairo.customFields.archive.modal.description": "Dette felt og de oplysninger, der er indsamlet til det, arkiveres og kan ikke gendannes.",
|
|
530
536
|
"cairo.filterOperator.exists.tag": "exists",
|
|
531
537
|
"cairo.emptyState.premium.title": "Opgrader med et abonnement",
|