@wix/bex-core 2.58.0 → 2.60.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/InMemoryBackend/InMemoryBackend.js +4 -1
- package/dist/cjs/InMemoryBackend/InMemoryBackend.js.map +1 -1
- package/dist/cjs/assets/locale/messages_cs.json +4 -0
- package/dist/cjs/assets/locale/messages_da.json +4 -0
- package/dist/cjs/assets/locale/messages_de.json +4 -0
- package/dist/cjs/assets/locale/messages_en.json +5 -1
- package/dist/cjs/assets/locale/messages_es.json +4 -0
- package/dist/cjs/assets/locale/messages_fr.json +4 -0
- package/dist/cjs/assets/locale/messages_hi.json +4 -0
- package/dist/cjs/assets/locale/messages_id.json +4 -0
- package/dist/cjs/assets/locale/messages_it.json +4 -0
- package/dist/cjs/assets/locale/messages_ja.json +4 -0
- package/dist/cjs/assets/locale/messages_ko.json +4 -0
- package/dist/cjs/assets/locale/messages_nl.json +4 -0
- package/dist/cjs/assets/locale/messages_no.json +4 -0
- package/dist/cjs/assets/locale/messages_pl.json +4 -0
- package/dist/cjs/assets/locale/messages_pt.json +4 -0
- package/dist/cjs/assets/locale/messages_ru.json +4 -0
- package/dist/cjs/assets/locale/messages_sv.json +4 -0
- package/dist/cjs/assets/locale/messages_th.json +4 -0
- package/dist/cjs/assets/locale/messages_tr.json +4 -0
- package/dist/cjs/assets/locale/messages_uk.json +4 -0
- package/dist/cjs/assets/locale/messages_vi.json +4 -0
- package/dist/cjs/assets/locale/messages_zh.json +4 -0
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/esm/InMemoryBackend/InMemoryBackend.js +6 -1
- package/dist/esm/InMemoryBackend/InMemoryBackend.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +4 -0
- package/dist/esm/assets/locale/messages_da.json +4 -0
- package/dist/esm/assets/locale/messages_de.json +4 -0
- package/dist/esm/assets/locale/messages_en.json +5 -1
- package/dist/esm/assets/locale/messages_es.json +4 -0
- package/dist/esm/assets/locale/messages_fr.json +4 -0
- package/dist/esm/assets/locale/messages_hi.json +4 -0
- package/dist/esm/assets/locale/messages_id.json +4 -0
- package/dist/esm/assets/locale/messages_it.json +4 -0
- package/dist/esm/assets/locale/messages_ja.json +4 -0
- package/dist/esm/assets/locale/messages_ko.json +4 -0
- package/dist/esm/assets/locale/messages_nl.json +4 -0
- package/dist/esm/assets/locale/messages_no.json +4 -0
- package/dist/esm/assets/locale/messages_pl.json +4 -0
- package/dist/esm/assets/locale/messages_pt.json +4 -0
- package/dist/esm/assets/locale/messages_ru.json +4 -0
- package/dist/esm/assets/locale/messages_sv.json +4 -0
- package/dist/esm/assets/locale/messages_th.json +4 -0
- package/dist/esm/assets/locale/messages_tr.json +4 -0
- package/dist/esm/assets/locale/messages_uk.json +4 -0
- package/dist/esm/assets/locale/messages_vi.json +4 -0
- package/dist/esm/assets/locale/messages_zh.json +4 -0
- package/dist/types/InMemoryBackend/InMemoryBackend.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/package.json +2 -2
|
@@ -167,7 +167,10 @@ class InMemoryBackend {
|
|
|
167
167
|
const {
|
|
168
168
|
itemKey
|
|
169
169
|
} = this;
|
|
170
|
-
this.events.
|
|
170
|
+
const moveStartPromises = this.events.listeners('moveStart').map(listener => listener(events));
|
|
171
|
+
if (moveStartPromises.length) {
|
|
172
|
+
await Promise.all(moveStartPromises);
|
|
173
|
+
}
|
|
171
174
|
await this.simulateAsyncDelay(params);
|
|
172
175
|
for (const {
|
|
173
176
|
from,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chance","require","_orderBy","_interopRequireDefault","_shuffle","_events","_core","InMemoryBackend","constructor","params","_defineProperty2","default","EventEmitter","Chance","query","fetchDataStartPromises","events","listeners","map","listener","length","Promise","all","simulateAsyncDelay","fetchDataSync","items","forEach","item","delete","itemKey","set","Map","index","values","predicate","_","Math","floor","random","available","shuffle","find","enableTotal","createOne","paginationMode","orderBy","projection","initialTotal","total","delay","min","max","excludeOrdinalFilters","newList","throwError","chance","resolve","setTimeout","integer","Array","fill","getOrderBy","ordinal","_getOrdinal","filters","allItems","orders","itemsAfterOrdering","fieldName","order","size","get","itemsAfterFiltering","filter","offset","cursor","findIndex","value","itemsAfterSlicing","slice","limit","cursorItem","itemsAfterFieldsProjection","deleteAll","isItemDeleted","emit","clear","updateMany","categoriesOrdinal","category","hashQueryKey","Object","fromEntries","entries","key","includes","has","move","from","after","array","fromKey","toKey","fromIndex","splice","toIndex","i","len","updateAll","patch","patchedItems","unshift","newItems","push","getRandomItems","count","page","pickset","undefined","exports"],"sources":["../../../src/InMemoryBackend/InMemoryBackend.ts"],"sourcesContent":["import { FiltersMap, RawFilters } from '../model';\nimport { Chance } from 'chance';\nimport orderBy from 'lodash/orderBy';\nimport shuffle from 'lodash/shuffle';\nimport { ListIteratee } from 'lodash';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\n\ninterface Order<T> {\n fieldName: ListIteratee<T>;\n order: 'asc' | 'desc';\n}\n\ninterface IndexedItem<T> {\n item: T;\n index: number;\n}\n\nexport type TransformPatch<T> = (item: T) => Partial<T>;\n\nexport interface BackendQuery<F extends FiltersMap = FiltersMap> {\n /**\n * Number of items to fetch for each page\n */\n limit: number;\n /**\n * The index of the item to start fetching items from.<br>\n * Relevant for APIs that support offset pagination.<br>\n * Not available on `CursorQuery`\n */\n offset?: number;\n page?: number;\n /**\n * Current search term (defaults to `undefined` for empty search)\n */\n search?: string;\n /**\n * The `cursor` returned from the server, to be sent back to it in the next call.<br>\n * Relevant for APIs that support cursor pagination.<br>\n * Not available on `OffsetQuery`\n */\n cursor?: string | null;\n /**\n * Current state of the filters. Each key holds the value of the filter, according to its type, defined in [CollectionConfig](./?path=/story/common-hooks--usecollection).\n */\n filters?: RawFilters<F>;\n\n /**\n * Current sort applied to the collection.\n */\n sort?: { fieldName: string; order: 'asc' | 'desc' }[];\n\n /**\n * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fields?: string[];\n /**\n * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fieldsset?: string[];\n}\n\nexport interface Delay {\n min: number;\n max: number;\n}\n\ninterface SubmitParams {\n delay?: Delay;\n throwError?: () => unknown;\n}\n\ninterface MoveEvent<T, F extends FiltersMap> {\n from: IndexedItem<T>;\n after: IndexedItem<T> | null;\n over: IndexedItem<T>;\n filters: RawFilters<F>;\n}\n\nexport interface InMemoryBackendParams<T, F extends FiltersMap = FiltersMap> {\n paginationMode?: 'offset' | 'cursor';\n /**\n * A callback function for each item creation\n */\n createOne: (index: number) => T;\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n */\n itemKey: (item: T) => string;\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-types--computedquery) sent by the client and returns another function that accepts an item and should return a boolean that indicates whether the item passes the query filtering or not.\n */\n predicate?: (query: BackendQuery<F>) => (item: T) => boolean;\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-types--computedquery) sent by the client and returns another function that accepts an item and should returns a list of rules to order the items by\n */\n orderBy?: (query: BackendQuery<F>) => Order<T>[];\n\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-types--computedquery) sent by the client and returns a list of fields to project from the item\n */\n projection?: (query: BackendQuery<F>) => (item: T) => T;\n /**\n * Simulates API latency\n * @default { min: 0, max: 5 }\n */\n delay?: { min: number; max: number };\n /**\n * Total number of items to store in the backend\n */\n total: number;\n /**\n * Enable total for the backend. Defaults to \"true\"\n */\n enableTotal?: boolean;\n\n excludeOrdinalFilters?: string[];\n}\n\nexport class InMemoryBackend<T, F extends FiltersMap = FiltersMap> {\n readonly createOne: InMemoryBackendParams<T, F>['createOne'];\n readonly itemKey: InMemoryBackendParams<T, F>['itemKey'];\n readonly predicate: (query: BackendQuery<F>) => (item: T) => boolean;\n readonly orderBy?: (query: BackendQuery<F>) => Order<T>[];\n readonly projection;\n readonly initialTotal: number;\n readonly delay: { min: number; max: number };\n readonly paginationMode;\n readonly enableTotal?: boolean;\n\n readonly excludeOrdinalFilters;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n updatedMany: () => void;\n updateAll: () => void;\n deleteAll: () => void;\n fetchDataStart: (query: BackendQuery<F>) => void | Promise<void>;\n moveStart: (events: MoveEvent<T, F>[]) => void | Promise<void>;\n }>;\n\n map: Map<string, T>;\n\n readonly chance = new Chance();\n\n constructor(params: InMemoryBackendParams<T, F>) {\n this.enableTotal = params.enableTotal ?? true;\n this.createOne = params.createOne;\n this.itemKey = params.itemKey;\n this.paginationMode = params.paginationMode;\n this.predicate = params.predicate ?? (() => () => true);\n this.orderBy = params.orderBy;\n this.projection = params.projection;\n this.initialTotal = params.total;\n this.delay = params.delay ?? { min: 0, max: 5 };\n this.excludeOrdinalFilters = params.excludeOrdinalFilters ?? [];\n this.map = new Map<string, T>(\n this.newList(params.total).map((item) => [this.itemKey(item), item]),\n );\n }\n\n private async simulateAsyncDelay({ delay, throwError }: SubmitParams = {}) {\n const { chance } = this;\n await new Promise((resolve) =>\n setTimeout(resolve, chance.integer(delay ?? this.delay)),\n ); // simulate async\n\n await throwError?.();\n }\n\n private newList(length: number) {\n return new Array(length)\n .fill(null)\n .map((_, index) => this.createOne(index));\n }\n\n fetchDataSync(query: BackendQuery<F>) {\n const { itemKey, predicate, orderBy: getOrderBy, paginationMode } = this;\n\n const ordinal = this._getOrdinal(query.filters ?? {});\n\n const allItems = this.values;\n\n const orders = getOrderBy?.(query);\n\n let itemsAfterOrdering;\n\n if (orders?.length) {\n itemsAfterOrdering = orderBy(\n allItems,\n orders.map(({ fieldName }) => fieldName),\n orders.map(({ order }) => order),\n );\n } else if (ordinal.size) {\n itemsAfterOrdering = orderBy(\n allItems,\n (item) => ordinal.get(itemKey(item)),\n ['asc'],\n );\n } else {\n itemsAfterOrdering = allItems;\n }\n\n const itemsAfterFiltering = itemsAfterOrdering.filter(predicate(query));\n\n let offset;\n\n if (paginationMode === 'cursor') {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : 0;\n } else {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : query.offset ?? 0;\n }\n\n const itemsAfterSlicing = itemsAfterFiltering.slice(\n offset,\n offset + query.limit,\n );\n\n const cursorItem = itemsAfterFiltering[offset + query.limit] as\n | T\n | undefined;\n\n const itemsAfterFieldsProjection = this.projection\n ? itemsAfterSlicing.map(this.projection(query))\n : itemsAfterSlicing;\n\n return {\n items: itemsAfterFieldsProjection,\n ...(this.enableTotal\n ? { total: itemsAfterFiltering.length, available: allItems.length }\n : {}),\n cursor: cursorItem && itemKey(cursorItem),\n };\n }\n\n fetchData = async (query: BackendQuery<F>) => {\n const fetchDataStartPromises = this.events\n .listeners('fetchDataStart')\n .map((listener) => listener(query));\n\n if (fetchDataStartPromises.length) {\n await Promise.all(fetchDataStartPromises);\n }\n\n await this.simulateAsyncDelay();\n return this.fetchDataSync(query);\n };\n\n deleteMany = async (items: T[], params?: SubmitParams) => {\n await this.simulateAsyncDelay(params);\n items.forEach((item) => this.map.delete(this.itemKey(item)));\n };\n\n async deleteAll(\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate, itemKey } = this;\n\n const isItemDeleted = predicate({\n filters,\n limit: 1,\n });\n\n for (const item of this.values) {\n if (isItemDeleted(item)) {\n this.map.delete(itemKey(item));\n }\n }\n\n this.events.emit('deleteAll');\n }\n\n clear() {\n this.map.clear();\n }\n\n update = async (item: T) => {\n await this.simulateAsyncDelay();\n this.map.set(this.itemKey(item), item);\n };\n\n async updateMany(items: T[], params: SubmitParams = {}) {\n await this.simulateAsyncDelay(params);\n for (const item of items) {\n this.map.set(this.itemKey(item), item);\n }\n this.events.emit('updatedMany');\n }\n readonly categoriesOrdinal: Map<string, Map<string, number>> = new Map();\n\n _getOrdinal(filters: RawFilters<F>) {\n const { categoriesOrdinal, excludeOrdinalFilters } = this;\n\n const category = hashQueryKey([\n {\n filters: Object.fromEntries(\n Object.entries(filters).filter(\n ([key]) => !excludeOrdinalFilters.includes(key),\n ),\n ),\n },\n ]);\n\n const ordinal =\n categoriesOrdinal.get(category) ?? new Map<string, number>();\n\n if (!categoriesOrdinal.has(category)) {\n categoriesOrdinal.set(category, ordinal);\n }\n\n return ordinal;\n }\n\n async move(\n events: MoveEvent<T, F>[],\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n } = {},\n ) {\n const { itemKey } = this;\n this.events.emit('moveStart', events);\n await this.simulateAsyncDelay(params);\n\n for (const { from, after, filters } of events) {\n const ordinal = this._getOrdinal(filters);\n\n const array = ordinal.size\n ? orderBy(this.values.slice(), (item) => ordinal.get(itemKey(item)), [\n 'asc',\n ])\n : this.values.slice();\n\n const fromKey = itemKey(from.item);\n const toKey = after != null ? itemKey(after.item) : null;\n\n const fromIndex = array.findIndex((item) => fromKey === itemKey(item));\n if (fromIndex !== -1) {\n array.splice(fromIndex, 1);\n }\n\n if (toKey != null) {\n const toIndex = array.findIndex((item) => toKey === itemKey(item));\n if (toIndex !== -1) {\n array.splice(toIndex + 1, 0, from.item);\n }\n } else {\n array.splice(0, 0, from.item);\n }\n\n ordinal.clear();\n for (let i = 0, len = array.length; i < len; i++) {\n ordinal.set(itemKey(array[i]), i);\n }\n }\n }\n\n async updateAll(\n patch: TransformPatch<T>,\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate } = this;\n\n const itemsAfterFiltering = this.values.filter(\n predicate({\n filters,\n limit: 1,\n }),\n );\n\n const patchedItems = itemsAfterFiltering.map((value) => ({\n ...value,\n ...patch(value),\n }));\n\n for (const item of patchedItems) {\n this.map.set(this.itemKey(item), item);\n }\n\n this.events.emit('updateAll');\n }\n\n async unshift(newItems: T[]) {\n await this.simulateAsyncDelay();\n const map = new Map<string, T>();\n\n for (const item of newItems) {\n map.set(this.itemKey(item), item);\n }\n\n for (const [key, value] of Array.from(this.map.entries())) {\n map.set(key, value);\n }\n\n this.map = map;\n }\n\n async push(newItems: T[]) {\n await this.simulateAsyncDelay();\n\n for (const item of newItems) {\n this.map.set(this.itemKey(item), item);\n }\n }\n\n elementAt = (index: number) => this.values[index];\n\n getRandomItems(\n count: number,\n { limit, page }: { limit: number; page: number },\n ) {\n const { chance, values } = this;\n const offset = (page - 1) * limit;\n return chance.pickset(values.slice(offset, offset + limit), count);\n }\n\n randomItem = (predicate = (_: T) => true) => {\n const index = Math.floor(Math.random() * this.available);\n return {\n index,\n item: shuffle(this.values).find(predicate),\n };\n };\n\n get values() {\n return Array.from(this.map.values());\n }\n\n get available() {\n return this.map.size;\n }\n\n get(key?: string): T | undefined {\n if (key == null) {\n return undefined;\n }\n return this.map.get(key);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chance","require","_orderBy","_interopRequireDefault","_shuffle","_events","_core","InMemoryBackend","constructor","params","_defineProperty2","default","EventEmitter","Chance","query","fetchDataStartPromises","events","listeners","map","listener","length","Promise","all","simulateAsyncDelay","fetchDataSync","items","forEach","item","delete","itemKey","set","Map","index","values","predicate","_","Math","floor","random","available","shuffle","find","enableTotal","createOne","paginationMode","orderBy","projection","initialTotal","total","delay","min","max","excludeOrdinalFilters","newList","throwError","chance","resolve","setTimeout","integer","Array","fill","getOrderBy","ordinal","_getOrdinal","filters","allItems","orders","itemsAfterOrdering","fieldName","order","size","get","itemsAfterFiltering","filter","offset","cursor","findIndex","value","itemsAfterSlicing","slice","limit","cursorItem","itemsAfterFieldsProjection","deleteAll","isItemDeleted","emit","clear","updateMany","categoriesOrdinal","category","hashQueryKey","Object","fromEntries","entries","key","includes","has","move","moveStartPromises","from","after","array","fromKey","toKey","fromIndex","splice","toIndex","i","len","updateAll","patch","patchedItems","unshift","newItems","push","getRandomItems","count","page","pickset","undefined","exports"],"sources":["../../../src/InMemoryBackend/InMemoryBackend.ts"],"sourcesContent":["import { FiltersMap, RawFilters } from '../model';\nimport { Chance } from 'chance';\nimport orderBy from 'lodash/orderBy';\nimport shuffle from 'lodash/shuffle';\nimport { ListIteratee } from 'lodash';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\n\ninterface Order<T> {\n fieldName: ListIteratee<T>;\n order: 'asc' | 'desc';\n}\n\ninterface IndexedItem<T> {\n item: T;\n index: number;\n}\n\nexport type TransformPatch<T> = (item: T) => Partial<T>;\n\nexport interface BackendQuery<F extends FiltersMap = FiltersMap> {\n /**\n * Number of items to fetch for each page\n */\n limit: number;\n /**\n * The index of the item to start fetching items from.<br>\n * Relevant for APIs that support offset pagination.<br>\n * Not available on `CursorQuery`\n */\n offset?: number;\n page?: number;\n /**\n * Current search term (defaults to `undefined` for empty search)\n */\n search?: string;\n /**\n * The `cursor` returned from the server, to be sent back to it in the next call.<br>\n * Relevant for APIs that support cursor pagination.<br>\n * Not available on `OffsetQuery`\n */\n cursor?: string | null;\n /**\n * Current state of the filters. Each key holds the value of the filter, according to its type, defined in [CollectionConfig](./?path=/story/common-hooks--usecollection).\n */\n filters?: RawFilters<F>;\n\n /**\n * Current sort applied to the collection.\n */\n sort?: { fieldName: string; order: 'asc' | 'desc' }[];\n\n /**\n * Array of projected fields. A list of specific field names to return. If `fieldsets` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fields?: string[];\n /**\n * Array of named, predefined sets of projected fields. A array of predefined named sets of fields to be returned. Specifying multiple `fieldsets` will return the union of fields from all sets. If `fields` are also specified, the union of `fieldsets` and `fields` is returned.\n */\n fieldsset?: string[];\n}\n\nexport interface Delay {\n min: number;\n max: number;\n}\n\ninterface SubmitParams {\n delay?: Delay;\n throwError?: () => unknown;\n}\n\ninterface MoveEvent<T, F extends FiltersMap> {\n from: IndexedItem<T>;\n after: IndexedItem<T> | null;\n over: IndexedItem<T>;\n filters: RawFilters<F>;\n}\n\nexport interface InMemoryBackendParams<T, F extends FiltersMap = FiltersMap> {\n paginationMode?: 'offset' | 'cursor';\n /**\n * A callback function for each item creation\n */\n createOne: (index: number) => T;\n /**\n * A callback function that accepts an item and returns a unique ID of it. typically `item.id`.\n */\n itemKey: (item: T) => string;\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-types--computedquery) sent by the client and returns another function that accepts an item and should return a boolean that indicates whether the item passes the query filtering or not.\n */\n predicate?: (query: BackendQuery<F>) => (item: T) => boolean;\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-types--computedquery) sent by the client and returns another function that accepts an item and should returns a list of rules to order the items by\n */\n orderBy?: (query: BackendQuery<F>) => Order<T>[];\n\n /**\n * A function that accepts a subset of [ComputedQuery](./?path=/story/common-types--computedquery) sent by the client and returns a list of fields to project from the item\n */\n projection?: (query: BackendQuery<F>) => (item: T) => T;\n /**\n * Simulates API latency\n * @default { min: 0, max: 5 }\n */\n delay?: { min: number; max: number };\n /**\n * Total number of items to store in the backend\n */\n total: number;\n /**\n * Enable total for the backend. Defaults to \"true\"\n */\n enableTotal?: boolean;\n\n excludeOrdinalFilters?: string[];\n}\n\nexport class InMemoryBackend<T, F extends FiltersMap = FiltersMap> {\n readonly createOne: InMemoryBackendParams<T, F>['createOne'];\n readonly itemKey: InMemoryBackendParams<T, F>['itemKey'];\n readonly predicate: (query: BackendQuery<F>) => (item: T) => boolean;\n readonly orderBy?: (query: BackendQuery<F>) => Order<T>[];\n readonly projection;\n readonly initialTotal: number;\n readonly delay: { min: number; max: number };\n readonly paginationMode;\n readonly enableTotal?: boolean;\n\n readonly excludeOrdinalFilters;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n updatedMany: () => void;\n updateAll: () => void;\n deleteAll: () => void;\n fetchDataStart: (query: BackendQuery<F>) => void | Promise<void>;\n moveStart: (events: MoveEvent<T, F>[]) => void | Promise<void>;\n }>;\n\n map: Map<string, T>;\n\n readonly chance = new Chance();\n\n constructor(params: InMemoryBackendParams<T, F>) {\n this.enableTotal = params.enableTotal ?? true;\n this.createOne = params.createOne;\n this.itemKey = params.itemKey;\n this.paginationMode = params.paginationMode;\n this.predicate = params.predicate ?? (() => () => true);\n this.orderBy = params.orderBy;\n this.projection = params.projection;\n this.initialTotal = params.total;\n this.delay = params.delay ?? { min: 0, max: 5 };\n this.excludeOrdinalFilters = params.excludeOrdinalFilters ?? [];\n this.map = new Map<string, T>(\n this.newList(params.total).map((item) => [this.itemKey(item), item]),\n );\n }\n\n private async simulateAsyncDelay({ delay, throwError }: SubmitParams = {}) {\n const { chance } = this;\n await new Promise((resolve) =>\n setTimeout(resolve, chance.integer(delay ?? this.delay)),\n ); // simulate async\n\n await throwError?.();\n }\n\n private newList(length: number) {\n return new Array(length)\n .fill(null)\n .map((_, index) => this.createOne(index));\n }\n\n fetchDataSync(query: BackendQuery<F>) {\n const { itemKey, predicate, orderBy: getOrderBy, paginationMode } = this;\n\n const ordinal = this._getOrdinal(query.filters ?? {});\n\n const allItems = this.values;\n\n const orders = getOrderBy?.(query);\n\n let itemsAfterOrdering;\n\n if (orders?.length) {\n itemsAfterOrdering = orderBy(\n allItems,\n orders.map(({ fieldName }) => fieldName),\n orders.map(({ order }) => order),\n );\n } else if (ordinal.size) {\n itemsAfterOrdering = orderBy(\n allItems,\n (item) => ordinal.get(itemKey(item)),\n ['asc'],\n );\n } else {\n itemsAfterOrdering = allItems;\n }\n\n const itemsAfterFiltering = itemsAfterOrdering.filter(predicate(query));\n\n let offset;\n\n if (paginationMode === 'cursor') {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : 0;\n } else {\n offset = query.cursor\n ? itemsAfterFiltering.findIndex(\n (value) => itemKey(value) === query.cursor,\n )\n : query.offset ?? 0;\n }\n\n const itemsAfterSlicing = itemsAfterFiltering.slice(\n offset,\n offset + query.limit,\n );\n\n const cursorItem = itemsAfterFiltering[offset + query.limit] as\n | T\n | undefined;\n\n const itemsAfterFieldsProjection = this.projection\n ? itemsAfterSlicing.map(this.projection(query))\n : itemsAfterSlicing;\n\n return {\n items: itemsAfterFieldsProjection,\n ...(this.enableTotal\n ? { total: itemsAfterFiltering.length, available: allItems.length }\n : {}),\n cursor: cursorItem && itemKey(cursorItem),\n };\n }\n\n fetchData = async (query: BackendQuery<F>) => {\n const fetchDataStartPromises = this.events\n .listeners('fetchDataStart')\n .map((listener) => listener(query));\n\n if (fetchDataStartPromises.length) {\n await Promise.all(fetchDataStartPromises);\n }\n\n await this.simulateAsyncDelay();\n return this.fetchDataSync(query);\n };\n\n deleteMany = async (items: T[], params?: SubmitParams) => {\n await this.simulateAsyncDelay(params);\n items.forEach((item) => this.map.delete(this.itemKey(item)));\n };\n\n async deleteAll(\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate, itemKey } = this;\n\n const isItemDeleted = predicate({\n filters,\n limit: 1,\n });\n\n for (const item of this.values) {\n if (isItemDeleted(item)) {\n this.map.delete(itemKey(item));\n }\n }\n\n this.events.emit('deleteAll');\n }\n\n clear() {\n this.map.clear();\n }\n\n update = async (item: T) => {\n await this.simulateAsyncDelay();\n this.map.set(this.itemKey(item), item);\n };\n\n async updateMany(items: T[], params: SubmitParams = {}) {\n await this.simulateAsyncDelay(params);\n for (const item of items) {\n this.map.set(this.itemKey(item), item);\n }\n this.events.emit('updatedMany');\n }\n readonly categoriesOrdinal: Map<string, Map<string, number>> = new Map();\n\n _getOrdinal(filters: RawFilters<F>) {\n const { categoriesOrdinal, excludeOrdinalFilters } = this;\n\n const category = hashQueryKey([\n {\n filters: Object.fromEntries(\n Object.entries(filters).filter(\n ([key]) => !excludeOrdinalFilters.includes(key),\n ),\n ),\n },\n ]);\n\n const ordinal =\n categoriesOrdinal.get(category) ?? new Map<string, number>();\n\n if (!categoriesOrdinal.has(category)) {\n categoriesOrdinal.set(category, ordinal);\n }\n\n return ordinal;\n }\n\n async move(\n events: MoveEvent<T, F>[],\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n } = {},\n ) {\n const { itemKey } = this;\n\n const moveStartPromises = this.events\n .listeners('moveStart')\n .map((listener) => listener(events));\n\n if (moveStartPromises.length) {\n await Promise.all(moveStartPromises);\n }\n\n await this.simulateAsyncDelay(params);\n\n for (const { from, after, filters } of events) {\n const ordinal = this._getOrdinal(filters);\n\n const array = ordinal.size\n ? orderBy(this.values.slice(), (item) => ordinal.get(itemKey(item)), [\n 'asc',\n ])\n : this.values.slice();\n\n const fromKey = itemKey(from.item);\n const toKey = after != null ? itemKey(after.item) : null;\n\n const fromIndex = array.findIndex((item) => fromKey === itemKey(item));\n if (fromIndex !== -1) {\n array.splice(fromIndex, 1);\n }\n\n if (toKey != null) {\n const toIndex = array.findIndex((item) => toKey === itemKey(item));\n if (toIndex !== -1) {\n array.splice(toIndex + 1, 0, from.item);\n }\n } else {\n array.splice(0, 0, from.item);\n }\n\n ordinal.clear();\n for (let i = 0, len = array.length; i < len; i++) {\n ordinal.set(itemKey(array[i]), i);\n }\n }\n }\n\n async updateAll(\n patch: TransformPatch<T>,\n params: {\n delay?: Delay;\n throwError?: () => unknown;\n filters?: RawFilters<F>;\n } = {},\n ) {\n const { filters = {} } = params;\n\n await this.simulateAsyncDelay(params);\n const { predicate } = this;\n\n const itemsAfterFiltering = this.values.filter(\n predicate({\n filters,\n limit: 1,\n }),\n );\n\n const patchedItems = itemsAfterFiltering.map((value) => ({\n ...value,\n ...patch(value),\n }));\n\n for (const item of patchedItems) {\n this.map.set(this.itemKey(item), item);\n }\n\n this.events.emit('updateAll');\n }\n\n async unshift(newItems: T[]) {\n await this.simulateAsyncDelay();\n const map = new Map<string, T>();\n\n for (const item of newItems) {\n map.set(this.itemKey(item), item);\n }\n\n for (const [key, value] of Array.from(this.map.entries())) {\n map.set(key, value);\n }\n\n this.map = map;\n }\n\n async push(newItems: T[]) {\n await this.simulateAsyncDelay();\n\n for (const item of newItems) {\n this.map.set(this.itemKey(item), item);\n }\n }\n\n elementAt = (index: number) => this.values[index];\n\n getRandomItems(\n count: number,\n { limit, page }: { limit: number; page: number },\n ) {\n const { chance, values } = this;\n const offset = (page - 1) * limit;\n return chance.pickset(values.slice(offset, offset + limit), count);\n }\n\n randomItem = (predicate = (_: T) => true) => {\n const index = Math.floor(Math.random() * this.available);\n return {\n index,\n item: shuffle(this.values).find(predicate),\n };\n };\n\n get values() {\n return Array.from(this.map.values());\n }\n\n get available() {\n return this.map.size;\n }\n\n get(key?: string): T | undefined {\n if (key == null) {\n return undefined;\n }\n return this.map.get(key);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Zpět",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Odstranit",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Obnovit stránku",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "Např. Itálie",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Zpět",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Zahodit",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Dlouhý text",
|
|
142
143
|
"cairo.export.tryAgain": "Zkusit znovu",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Třídit seznam podle {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Změny v pořadí položek nemusí být uloženy.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Jakmile odstraníte zobrazení „{viewName}“, nebudete jej moct obnovit.",
|
|
146
148
|
"cairo.export.allItems": "Vše",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Tento klíč již existuje. Zkuste jiný.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Změny nebyly uloženy kvůli technickým potížím na naší straně. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Klíč",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Položky",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Číslo (celé)",
|
|
212
215
|
"cairo.folders.showAll.button": "Vše",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Tento sloupec nelze skrýt nebo přesunout.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Stránku se nepodařilo načíst",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Vyberte až {max} položek.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Uložit změny",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archivovat",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Annuller",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Slet",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Opdater visning",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "fx Italien",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annuller",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Kassér",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Lang tekst",
|
|
142
143
|
"cairo.export.tryAgain": "Prøv igen",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Sorter liste efter {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Ændringer, du har foretaget i rækkefølgen af dine varer, gemmes muligvis ikke.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Når du har slettet \"{viewName}\", kan den ikke gendannes.",
|
|
146
148
|
"cairo.export.allItems": "Alle",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Denne nøgle eksisterer allerede. Prøv med en anden.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Dine ændringer blev ikke gemt på grund af en teknisk fejl hos os. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Nøgle",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Elementer",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "tal (heltal)",
|
|
212
215
|
"cairo.folders.showAll.button": "Vis alle",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Denne kolonne kan ikke skjules eller flyttes.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Kunne ikke indlæse denne side",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Vælg op til {max} elementer.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Gem ændringer",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Arkivér",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Abbrechen",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Löschen",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Ansicht aktualisieren",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "z. B. Italien",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Abbrechen",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Verwerfen",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Langer Text",
|
|
142
143
|
"cairo.export.tryAgain": "Erneut versuchen",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Liste sortieren nach {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Änderungen an der Reihenfolge deiner Elemente werden möglicherweise nicht gespeichert.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Sobald du „{viewName}“ löschst, kann dies nicht wiederhergestellt werden.",
|
|
146
148
|
"cairo.export.allItems": "Alle",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Diesen Schlüssel gibt es bereits. Gib einen anderen ein.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Wegen technischer Probleme wurden die Änderungen nicht gespeichert. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Schlüssel",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Elemente",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Ganze Zahl",
|
|
212
215
|
"cairo.folders.showAll.button": "Alle anzeigen",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Diese Spalte kann nicht ausgeblendet oder verschoben werden.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Seite konnte nicht geladen werden",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Wähle bis zu {max} Elemente.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Änderungen speichern",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archivieren",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -436,5 +436,9 @@
|
|
|
436
436
|
"cairo.subtitle.learnMore": "Learn more",
|
|
437
437
|
"cairo.tags.creationLimitReached.error": "Unable to create more than 100 tags.",
|
|
438
438
|
"cairo.tags.popover.creationLimitReached.error": "Unable to create more than 100 tags. Delete a tag in order to create a new one.",
|
|
439
|
-
"cairo.entityPage.header.submit.CTA": "Submit"
|
|
439
|
+
"cairo.entityPage.header.submit.CTA": "Submit",
|
|
440
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
441
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
442
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
443
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field."
|
|
440
444
|
}
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Cancelar",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Eliminar",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Actualizar vista",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "P. ej., Italia",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Cancelar",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Descartar",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Texto largo",
|
|
142
143
|
"cairo.export.tryAgain": "Reintentar",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "¿Quieres ordenar la lista por {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Es posible que los cambios realizados en el orden de tus ítems no se guarden.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Una vez que elimines \"{viewName}\", no se podrá restaurar.",
|
|
146
148
|
"cairo.export.allItems": "Todos",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Esta clave ya existe. Intenta una diferente.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Los cambios no se guardaron debido a un problema técnico de nuestra parte. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Clave",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Ítems",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Número (entero)",
|
|
212
215
|
"cairo.folders.showAll.button": "Mostrar todo",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Esta columna no se puede ocultar ni mover.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "No se pudo cargar esta página",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Selecciona hasta {max} ítems.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Guardar cambios",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archivar",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Annuler",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Supprimer",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Actualiser",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "Ex. Italie",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annuler",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Ignorer",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Texte long",
|
|
142
143
|
"cairo.export.tryAgain": "Réessayer",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Trier la liste par {columnTitle} ?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Les modifications apportées à votre commande ne seront pas enregistrées.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Une fois la vue « {viewName} » supprimée, elle ne pourra plus être restaurée.",
|
|
146
148
|
"cairo.export.allItems": "Tous",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Cette clé existe déjà. Veuillez en essayer une autre.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Les modifications n'ont pas pu être enregistrées en raison d'un problème technique de notre côté. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Clé",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Éléments",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Nombre (entier)",
|
|
212
215
|
"cairo.folders.showAll.button": "Tout afficher",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Cette colonne ne peut pas être masquée ou déplacée.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Cette page n'a pas pu être chargée",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Sélectionnez jusqu'à {max} éléments.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Enregistrer les modifications",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archiver",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "रद्द करें",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Delete",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Refresh",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "जैसे, इटली",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Cancel",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "खारिज करें",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Long text",
|
|
142
143
|
"cairo.export.tryAgain": "फिर से कोशिश करें",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "क्या सूची को {columnTitle} के आधार पर क्रमबद्ध करें?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "आपके द्वारा अपनी आइटम के क्रम में किए गए परिवर्तन सेव नहीं किए जा सकते हैं।",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "\"{viewName}\" को हटा देने के बाद, इसे बहाल नहीं किया जा सकता है। ",
|
|
146
148
|
"cairo.export.allItems": "सभी",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "This key already exists. Try a different one.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "हमारे यहाँ किसी तकनीकी समस्या के कारण परिवर्तन सहेजे नहीं गए थे। ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "कुंजी",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "आइटम",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Number (integer)",
|
|
212
215
|
"cairo.folders.showAll.button": "सभी दिखाएं",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "इस कॉलम को छिपाया या स्थानांतरित नहीं किया जा सकता है।",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Couldn’t load this page",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "अधिकतम {max} आइटम चुनें।",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "परिवर्तन सहेजें",
|
|
236
240
|
"cairo.customFields.archive.CTA": "आर्काइव करें",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Cancel",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Hapus",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Muat Ulang Tampilan",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "mis., Italia",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Batal",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Buang",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Teks Panjang",
|
|
142
143
|
"cairo.export.tryAgain": "Coba Lagi",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Urutkan daftar menurut {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Perubahan yang Anda buat pada urutan item Anda mungkin tidak tersimpan.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Setelah Anda menghapus \"{viewName}\", maka tidak akan dapat dipulihkan.",
|
|
146
148
|
"cairo.export.allItems": "Semua",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Kunci ini sudah ada. Coba nama lain.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Perubahan tidak disimpan karena masalah teknis di pihak kami. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Kunci",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Item",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Angka (bilangan bulat)",
|
|
212
215
|
"cairo.folders.showAll.button": "Tampilkan Semua",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Kolom ini tidak dapat disembunyikan atau dipindahkan.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Tidak dapat memuat halaman ini",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Pilih hingga {max} item.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Simpan Perubahan",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Arsipkan",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Annulla",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Elimina",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Aggiorna",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "es.: Italia",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annulla",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Annulla",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Testo lungo",
|
|
142
143
|
"cairo.export.tryAgain": "Riprova",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Ordina elenco per {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Le modifiche che hai apportato all'ordine degli elementi potrebbero non essere state salvate.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Se elimini \"{viewName}\" non sarà possibile annullare l'operazione.",
|
|
146
148
|
"cairo.export.allItems": "Tutti",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Questa chiave esiste già. Provane un'altra.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Impossibile salvare le modifiche a causa di un problema tecnico interno. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Chiave",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Articoli",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Numero (intero)",
|
|
212
215
|
"cairo.folders.showAll.button": "Mostra tutto",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Questa colonna non può essere nascosta o spostata.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Impossibile caricare questa pagina",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Seleziona fino a {max} elementi.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Salva modifiche",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archivia",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "キャンセル",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "削除する",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "ビューを更新する",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "例:イタリア",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "キャンセル",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "破棄",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "長いテキスト",
|
|
142
143
|
"cairo.export.tryAgain": "再試行",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "{columnTitle}でリストを並び替えますか?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "変更されたアイテムの順番が保存されない場合があります。",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "「{viewName}」を削除すると、復元できません。",
|
|
146
148
|
"cairo.export.allItems": "すべて",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "このキーはすでに存在します。別のものを使用してください。",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "弊社側の技術的な問題のため、変更内容が保存されませんでした。 ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "キー",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "商品",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "数字(整数)",
|
|
212
215
|
"cairo.folders.showAll.button": "すべて表示",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "この列の非表示および移動はできません。",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "このページを読み込めませんでした",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "{max}アイテムまで選択できます。",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "変更内容を保存",
|
|
236
240
|
"cairo.customFields.archive.CTA": "アーカイブ",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "취소",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "삭제",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "화면 새로고침",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "예: 이탈리아",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "취소",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "취소",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "장문",
|
|
142
143
|
"cairo.export.tryAgain": "다시 시도",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "{columnTitle} 기준으로 목록 정렬하기",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "아이템 순서에 적용된 변경 사항이 저장되지 않을 수 있습니다.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "\"{viewName}\" 조회 화면 설정을 삭제하면 복구가 불가능합니다.",
|
|
146
148
|
"cairo.export.allItems": "전체",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "이미 존재하는 키입니다. 다른 키를 사용해보세요.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Wix에 기술적인 문제가 발생하여 변경 사항이 저장되지 않았습니다. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "키",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "아이템",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "숫자(정수)",
|
|
212
215
|
"cairo.folders.showAll.button": "전체 표시",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "비공개 또는 이동이 불가능한 칼럼입니다.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "페이지 불러오기 불가",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "최대 {max}개 아이템을 선택할 수 있습니다.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "저장",
|
|
236
240
|
"cairo.customFields.archive.CTA": "보관",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Annuleren",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Verwijderen",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Weergave vernieuwen",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "Bijv. Italië",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annuleren",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Negeren",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Langere tekst",
|
|
142
143
|
"cairo.export.tryAgain": "Probeer het opnieuw",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Lijst sorteren op {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Aangebrachte wijzigingen zullen niet worden opgeslagen.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Zodra je \"{viewName}\" hebt verwijderd, kan het niet meer worden hersteld.",
|
|
146
148
|
"cairo.export.allItems": "Alles",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Deze sleutel bestaat al. Probeer een andere.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Vanwege een technisch probleem aan onze kant zijn wijzigingen niet opgeslagen. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Sleutel",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Items",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Getal (geheel)",
|
|
212
215
|
"cairo.folders.showAll.button": "Alles tonen",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Deze kolom kan niet worden verborgen of verplaatst.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "We konden deze pagina niet laden",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Selecteer maximaal {max} items.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Wijzigingen opslaan",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archiveren",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Avbryt",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Slett",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Oppdater visning",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "f.eks. Italia",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Avbryt",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Forkast",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Lang tekst",
|
|
142
143
|
"cairo.export.tryAgain": "Prøv igjen",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Sorter listen etter {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Det kan være at endringer du har gjort i bestillingen av varene dine ikke er lagret.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Når du har slettet \"{viewName}\" kan handlingen ikke angres.",
|
|
146
148
|
"cairo.export.allItems": "Alle",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Denne nøkkelen finnes allerede. Prøv en annen.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Endringene ble ikke lagret på grunn av et teknisk problem hos oss. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Nøkkel",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Artikler",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Tall (heltall)",
|
|
212
215
|
"cairo.folders.showAll.button": "Vis alle",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Denne kolonnen kan ikke skjules eller flyttes.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Kunne ikke laste inn denne siden",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Velg opptil {max} elementer.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Lagre endringer",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Arkiver",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"cairo.dragAndDrop.leaveSite.modal.cancel.CTA": "Anuluj",
|
|
51
51
|
"cairo.tags.manageTags.modal.deleteModal.delete.CTA": "Usuń",
|
|
52
52
|
"cairo.updatedView.collectionPage.toast.cta": "Odśwież widok",
|
|
53
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.createNote": "PII settings can’t be changed later.",
|
|
53
54
|
"cairo.customFields.fieldType.dropdownList.placeholder": "np. Włochy",
|
|
54
55
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Anuluj",
|
|
55
56
|
"cairo.dragAndDrop.discardChanges.CTA": "Odrzuć",
|
|
@@ -141,6 +142,7 @@
|
|
|
141
142
|
"cairo.customFields.fieldType.longText": "Długi tekst",
|
|
142
143
|
"cairo.export.tryAgain": "Spróbuj ponownie",
|
|
143
144
|
"cairo.sortableColumns.modal.title": "Sortować listę według {columnTitle}?",
|
|
145
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personal information (PII)",
|
|
144
146
|
"cairo.dragAndDrop.leaveSite.modal.description": "Wprowadzone zmiany w kolejności elementów mogą nie zostać zapisane.",
|
|
145
147
|
"cairo.table.deleteViewModal.deleteBody": "Usuniętego widoku „{viewName}” nie będzie można przywrócić.",
|
|
146
148
|
"cairo.export.allItems": "Wszystkie",
|
|
@@ -207,6 +209,7 @@
|
|
|
207
209
|
"cairo.customFields.addCustomField.modal.sameKey.error": "Ten klucz już istnieje. Spróbuj dodać inny.",
|
|
208
210
|
"cairo.entityPage.saveError-technical.toast.description": "Zmiany nie zostały zapisane z powodu problemu technicznego po naszej stronie. ",
|
|
209
211
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Kod",
|
|
212
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII can’t be changed after creation. To change it, create a new field.",
|
|
210
213
|
"section.header.items": "Elementy",
|
|
211
214
|
"cairo.customFields.fieldType.numberInteger": "Liczba (całkowita)",
|
|
212
215
|
"cairo.folders.showAll.button": "Pokaż",
|
|
@@ -232,6 +235,7 @@
|
|
|
232
235
|
"cairo.table.custom-columns.disabled.tooltip": "Tej kolumny nie można ukryć ani przenieść.",
|
|
233
236
|
"cairo.page.loadError.failedState.title": "Nie udało się wczytać tej podstrony",
|
|
234
237
|
"cairo.bulkSelected.selectUpTo": "Wybierz maksymalnie {max} elementów.",
|
|
238
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.info": "Protect personally identifiable information (PII) like addresses and passport info with an additional layer of protection. <link><u>Why is this important?</u></link>",
|
|
235
239
|
"cairo.manageView.saveChanges.CTA": "Zapisz zmiany",
|
|
236
240
|
"cairo.customFields.archive.CTA": "Archiwizuj",
|
|
237
241
|
"cairo.tags.tagsWidget.noPermissions.tooltip": "You need “Permission Type” permission to\nmanage tags. Contact \"Owner\" for access.",
|