@wix/bex-core 2.139.0 → 2.140.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/locale/messages_cs.json +3 -0
- package/dist/cjs/assets/locale/messages_da.json +23 -20
- package/dist/cjs/assets/locale/messages_de.json +3 -0
- package/dist/cjs/assets/locale/messages_en.json +4 -1
- package/dist/cjs/assets/locale/messages_es.json +3 -0
- package/dist/cjs/assets/locale/messages_fr.json +23 -20
- package/dist/cjs/assets/locale/messages_hi.json +5 -2
- package/dist/cjs/assets/locale/messages_id.json +23 -20
- package/dist/cjs/assets/locale/messages_it.json +3 -0
- package/dist/cjs/assets/locale/messages_ja.json +3 -0
- package/dist/cjs/assets/locale/messages_ko.json +23 -20
- package/dist/cjs/assets/locale/messages_nl.json +3 -0
- package/dist/cjs/assets/locale/messages_no.json +23 -20
- package/dist/cjs/assets/locale/messages_pl.json +5 -2
- package/dist/cjs/assets/locale/messages_pt.json +23 -20
- package/dist/cjs/assets/locale/messages_ru.json +3 -0
- package/dist/cjs/assets/locale/messages_sv.json +3 -0
- package/dist/cjs/assets/locale/messages_th.json +23 -20
- package/dist/cjs/assets/locale/messages_tr.json +23 -20
- package/dist/cjs/assets/locale/messages_uk.json +23 -20
- package/dist/cjs/assets/locale/messages_vi.json +23 -20
- package/dist/cjs/assets/locale/messages_zh.json +23 -20
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/CustomFieldsViewWidgetState.js +11 -9
- package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
- package/dist/cjs/state/DataExtensionState.js +20 -11
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +3 -0
- package/dist/esm/assets/locale/messages_da.json +23 -20
- package/dist/esm/assets/locale/messages_de.json +3 -0
- package/dist/esm/assets/locale/messages_en.json +4 -1
- package/dist/esm/assets/locale/messages_es.json +3 -0
- package/dist/esm/assets/locale/messages_fr.json +23 -20
- package/dist/esm/assets/locale/messages_hi.json +5 -2
- package/dist/esm/assets/locale/messages_id.json +23 -20
- package/dist/esm/assets/locale/messages_it.json +3 -0
- package/dist/esm/assets/locale/messages_ja.json +3 -0
- package/dist/esm/assets/locale/messages_ko.json +23 -20
- package/dist/esm/assets/locale/messages_nl.json +3 -0
- package/dist/esm/assets/locale/messages_no.json +23 -20
- package/dist/esm/assets/locale/messages_pl.json +5 -2
- package/dist/esm/assets/locale/messages_pt.json +23 -20
- package/dist/esm/assets/locale/messages_ru.json +3 -0
- package/dist/esm/assets/locale/messages_sv.json +3 -0
- package/dist/esm/assets/locale/messages_th.json +23 -20
- package/dist/esm/assets/locale/messages_tr.json +23 -20
- package/dist/esm/assets/locale/messages_uk.json +23 -20
- package/dist/esm/assets/locale/messages_vi.json +23 -20
- package/dist/esm/assets/locale/messages_zh.json +23 -20
- package/dist/esm/state/CustomFieldsViewWidgetState.js +4 -3
- package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
- package/dist/esm/state/DataExtensionState.js +21 -11
- package/dist/esm/state/DataExtensionState.js.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/CustomFieldsViewWidgetState.d.ts +2 -1
- package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
- package/dist/types/state/DataExtensionState.d.ts +4 -1
- package/dist/types/state/DataExtensionState.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","MAX_CUSTOM_FIELDS","exports","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","disableUserDefinedWriting","filterable","closeSidePanel","dataExtensionService","DataExtensionSchemaService","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","_dataExtensionSchemas","observable","ref","userSchema","appSchemas","_upsertSchema","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","reportBi","biReporter","DataExtensionStateBIReporter","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","_customField$xWixPi","customField","toCustomField","title","read","write","isPiiField","enabled","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","properties","isSupportedFieldType","getAvailableCustomFieldsInSchema","requiredPermissions","filteredFields","Object","keys","filter","field","isAllowedType","isPermitted","includesAllReadPermissions","sorted","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","fields","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","getSchemaAndFieldsByNamespace","_schema$jsonSchema","userFieldsNamespace","find","s","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","newSchema","index","findIndex","dataExtensionSchemas","runInAction"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOwner,\n CustomFieldType,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { CustomFieldForm } from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n fqdn: Fqdn;\n}\nexport interface DefaultPermissionsConfig {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport const MAX_CUSTOM_FIELDS = 25;\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly fqdn;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n _dataExtensionSchemas: DataExtensionSchema[] = [];\n containsPii?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n readonly disableUserDefinedWriting;\n readonly filterable;\n\n constructor(\n params: Readonly<DataExtensionStateParams & DataExtensionOverrides>,\n ) {\n this.container = params.container;\n this.disableUserDefinedWriting = params.disableUserDefinedWriting;\n this.filterable = params.filterable;\n this.closeSidePanel = params.closeSidePanel;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.containsPii = params.containsPii;\n this.defaultPermissions = params.defaultPermissions;\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n filterableCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n _dataExtensionSchemas: observable.ref,\n userSchema: computed,\n appSchemas: computed,\n _upsertSchema: action,\n containsPii: observable,\n defaultPermissions: observable,\n });\n }\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({\n id,\n origin,\n reportBi,\n }: {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n }) {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi,\n });\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n this._upsertSchema(dataExtensionSchema);\n }\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const isPiiField = customField['x-wix-pii']?.enabled;\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii: Boolean(isPiiField),\n };\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n namespace,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n }): CustomField | undefined {\n if (!DataExtensionSchemaService.toCustomType(schema)) {\n return;\n }\n return {\n id: key,\n label: schema?.title || key,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema) as CustomFieldType,\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\n properties: schema?.properties ?? {},\n namespace,\n permissions: schema['x-wix-permissions'],\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n namespace,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n namespace: string;\n },\n ): CustomField[] {\n const filteredFields = Object.keys(properties).filter((key) => {\n const field = properties[key];\n const isAllowedType =\n this.isSupportedFieldType(field.type) ||\n (field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1');\n\n const isPermitted =\n requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions);\n\n return !field['x-wix-archived'] && isAllowedType && isPermitted;\n });\n\n const sorted = filteredFields.sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n });\n\n return sorted\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n const fields = this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n return fields;\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getSchemaAndFieldsByNamespace(namespace: string) {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n\n const schema = _dataExtensionSchemas.find((s) => s.namespace === namespace);\n\n if (!schema) {\n return {};\n }\n\n const fields = this.getAvailableCustomFieldsInSchema(\n schema.jsonSchema?.properties || {},\n {\n editable: false,\n owner: namespace === userFieldsNamespace ? 'user' : 'app',\n namespace,\n },\n );\n\n return {\n schema,\n fields,\n };\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n namespace: appSchema.namespace as string,\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, appSchema) => {\n const properties: { [key: string]: DataExtensionField } =\n appSchema?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n namespace: appSchema.namespace as string,\n }),\n )\n .filter(Boolean) as CustomField[],\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get filterableCustomFields(): CustomField[] {\n if (!this.filterable) {\n return [];\n }\n\n return this.availableCustomFields.filter((field) => field.filterable);\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n\n return () => {};\n }\n\n _upsertSchema(newSchema: DataExtensionSchema) {\n const { _dataExtensionSchemas } = this;\n\n const index = _dataExtensionSchemas.findIndex(\n (schema) => schema.namespace === newSchema?.namespace,\n );\n\n if (index === -1) {\n this._dataExtensionSchemas = [..._dataExtensionSchemas, newSchema];\n } else {\n this._dataExtensionSchemas = _dataExtensionSchemas.map((schema) =>\n schema.namespace === newSchema.namespace ? newSchema : schema,\n );\n }\n }\n\n get userSchema() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas?.find(\n (s) => s.namespace === userFieldsNamespace,\n );\n }\n\n get appSchemas() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas?.filter(\n (s) => s.namespace !== userFieldsNamespace,\n );\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n this._dataExtensionSchemas = dataExtensionSchemas ?? [];\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","MAX_CUSTOM_FIELDS","exports","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","disableUserDefinedWriting","filterable","closeSidePanel","_extensionPoint","extensionPoint","dataExtensionService","DataExtensionSchemaService","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","_dataExtensionSchemasBase","observable","ref","_dataExtensionSchemas","userSchema","appSchemas","_upsertSchema","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","reportBi","biReporter","DataExtensionStateBIReporter","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","_customField$xWixPi","customField","toCustomField","title","read","write","isPiiField","enabled","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","properties","isSupportedFieldType","getAvailableCustomFieldsInSchema","requiredPermissions","filteredFields","Object","keys","filter","field","isAllowedType","isPermitted","includesAllReadPermissions","sorted","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","getSchemaAndFieldsByNamespace","_schema$jsonSchema","userFieldsNamespace","find","s","fields","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","newSchema","index","findIndex","dataExtensionSchemas","runInAction"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOwner,\n CustomFieldType,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { CustomFieldForm } from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n fqdn: Fqdn;\n}\nexport interface DefaultPermissionsConfig {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\n extensionPoint?: string;\n defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport const MAX_CUSTOM_FIELDS = 25;\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly fqdn;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n _dataExtensionSchemasBase: DataExtensionSchema[] = [];\n containsPii?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n readonly disableUserDefinedWriting;\n readonly filterable;\n\n _extensionPoint;\n\n constructor(\n params: Readonly<DataExtensionStateParams & DataExtensionOverrides>,\n ) {\n this.container = params.container;\n this.disableUserDefinedWriting = params.disableUserDefinedWriting;\n this.filterable = params.filterable;\n this.closeSidePanel = params.closeSidePanel;\n this.fqdn = params.fqdn;\n this._extensionPoint = params.extensionPoint;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.containsPii = params.containsPii;\n this.defaultPermissions = params.defaultPermissions;\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n filterableCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n _dataExtensionSchemasBase: observable.ref,\n _dataExtensionSchemas: computed,\n userSchema: computed,\n appSchemas: computed,\n _upsertSchema: action,\n containsPii: observable,\n defaultPermissions: observable,\n });\n }\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({\n id,\n origin,\n reportBi,\n }: {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n }) {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi,\n });\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n this._upsertSchema(dataExtensionSchema);\n }\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const isPiiField = customField['x-wix-pii']?.enabled;\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii: Boolean(isPiiField),\n };\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n namespace,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n }): CustomField | undefined {\n if (!DataExtensionSchemaService.toCustomType(schema)) {\n return;\n }\n return {\n id: key,\n label: schema?.title || key,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema) as CustomFieldType,\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\n properties: schema?.properties ?? {},\n namespace,\n permissions: schema['x-wix-permissions'],\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n namespace,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n namespace: string;\n },\n ): CustomField[] {\n const filteredFields = Object.keys(properties).filter((key) => {\n const field = properties[key];\n const isAllowedType =\n this.isSupportedFieldType(field.type) ||\n (field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1');\n\n const isPermitted =\n requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions);\n\n return !field['x-wix-archived'] && isAllowedType && isPermitted;\n });\n\n const sorted = filteredFields.sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n });\n\n return sorted\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getSchemaAndFieldsByNamespace(namespace: string) {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n\n const schema = _dataExtensionSchemas.find((s) => s.namespace === namespace);\n\n if (!schema) {\n return {};\n }\n\n const fields = this.getAvailableCustomFieldsInSchema(\n schema.jsonSchema?.properties || {},\n {\n editable: false,\n owner: namespace === userFieldsNamespace ? 'user' : 'app',\n namespace,\n },\n );\n\n return {\n schema,\n fields,\n };\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n namespace: appSchema.namespace as string,\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, appSchema) => {\n const properties: { [key: string]: DataExtensionField } =\n appSchema?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n namespace: appSchema.namespace as string,\n }),\n )\n .filter(Boolean) as CustomField[],\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get filterableCustomFields(): CustomField[] {\n if (!this.filterable) {\n return [];\n }\n\n return this.availableCustomFields.filter((field) => field.filterable);\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n\n return () => {};\n }\n\n _upsertSchema(newSchema: DataExtensionSchema) {\n const { _dataExtensionSchemasBase } = this;\n\n const index = _dataExtensionSchemasBase.findIndex(\n (schema) => schema.namespace === newSchema?.namespace,\n );\n\n if (index === -1) {\n this._dataExtensionSchemasBase = [\n ..._dataExtensionSchemasBase,\n newSchema,\n ];\n } else {\n this._dataExtensionSchemasBase = _dataExtensionSchemasBase.map((schema) =>\n schema.namespace === newSchema.namespace ? newSchema : schema,\n );\n }\n }\n\n get userSchema() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.find(\n (s) => s.namespace === userFieldsNamespace,\n );\n }\n\n get _dataExtensionSchemas() {\n const { _extensionPoint, _dataExtensionSchemasBase } = this;\n return _dataExtensionSchemasBase.filter((s: DataExtensionSchema) =>\n _extensionPoint\n ? s.extensionPoint === _extensionPoint\n : s.extensionPoint == null || s.extensionPoint === 'ROOT',\n );\n }\n\n get appSchemas() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.filter(\n (s) => s.namespace !== userFieldsNamespace,\n );\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n this._dataExtensionSchemasBase = dataExtensionSchemas ?? [];\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"cairo.customFields.fieldType.date.invalid.value": "Enter a date that follows this format: {dateFormat}",
|
|
67
67
|
"cairo.customFields.fieldType.dropdownList.placeholder": "Např. Itálie",
|
|
68
68
|
"cairo.filtersPanel.numRange.maxRange.error": "Hodnota „Do“ musí být větší než hodnota „Od“.",
|
|
69
|
+
"cairo.errorHandler.requestID.tooltip.cta": "Copy ID",
|
|
69
70
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Zpět",
|
|
70
71
|
"cairo.dragAndDrop.discardChanges.CTA": "Zahodit",
|
|
71
72
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Neplatná hodnota",
|
|
@@ -403,6 +404,7 @@
|
|
|
403
404
|
"cairo.manageView.Rename.modal.save.CTA": "Uložit",
|
|
404
405
|
"cairo.customFields.archive.technicalError": "Pole nebylo archivováno kvůli technickým potížím.",
|
|
405
406
|
"cairo.sortableColumns.notification": "Váš seznam již není tříděn podle {columnTitle}.",
|
|
407
|
+
"cairo.errorHandler.requestID.tooltip.cta.copied-success": "Copied!",
|
|
406
408
|
"cairo.tags.manageTags.modal.toast.rename.error": "Tag nebylo možné přejmenovat.",
|
|
407
409
|
"cairo.dragAndDrop.leaveSiteMessage": "Změny v pořadí položek nemusí být uloženy.",
|
|
408
410
|
"cairo.table.advanced-sorting.sortManually.toast": "Tento seznam nyní třídíte ručně.",
|
|
@@ -483,6 +485,7 @@
|
|
|
483
485
|
"cairo.tags.manageTags.modal.emptyState.body": "Tagy vám pomáhají filtrovat a organizovat položky.",
|
|
484
486
|
"cairo.selectPlaceholder": "Vyberte...",
|
|
485
487
|
"cairo.tags.popover.tagCreated.toast.success.asLabels": "Štítek byl vytvořen.",
|
|
488
|
+
"cairo.errorHandler.requestID.tooltip.description": "If you report this error Customer Care, share this request ID so they can investigate.",
|
|
486
489
|
"cairo.table.advanced-sorting.sortByColumns.toast": "Nyní třídíte podle sloupců.",
|
|
487
490
|
"cairo.continue": "Pokračovat",
|
|
488
491
|
"cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"cairo.sortableColumns.modal.cancel": "Annuller",
|
|
39
39
|
"cairo.customFields.writePermission.tooltip": "Denne evne er kun tilgængelig for ejere og medejere.",
|
|
40
40
|
"cairo.customFields.manageFields.subtitle": "Tilføj, rediger eller arkiver dine tilpassede felter.",
|
|
41
|
-
"cairo.tags.bulkItemUpdate.toast.error.CTA.asLabels": "
|
|
41
|
+
"cairo.tags.bulkItemUpdate.toast.error.CTA.asLabels": "Prøv igen",
|
|
42
42
|
"cairo.customFields.emptyStatePassive.subtitle": "Når der er felter, kan du se dem her.",
|
|
43
43
|
"cairo.manageView.saveChanges.disabled.predefinedView.tooltip": "Dette er en forudindstillet visning. Hvis du vil gemme ændringerne, skal du gemme som en ny visning.",
|
|
44
44
|
"cairo.entityPage.header.subscribe.CTA": "Abonnér",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"cairo.customFields.editCustomField.modal.title": "Rediger tilpasset felt",
|
|
54
54
|
"cairo.deleteSuccess": "\"{itemName}\" er slettet.",
|
|
55
55
|
"cairo.tags.manageTags.modal.toast.rename.success.asLabels": "Etiket omdøbt.",
|
|
56
|
-
"cairo.tags.bulkItemUpdate.toast.error.CTA": "
|
|
56
|
+
"cairo.tags.bulkItemUpdate.toast.error.CTA": "Prøv igen",
|
|
57
57
|
"cairo.export.databaseIssueMessage": "Der opstod et midlertidigt problem hos os, og eksporten kunne ikke gemmes. Kontakt support for at få hjælp.",
|
|
58
58
|
"cairo.tags.manageTags.modal.toast.create.error.asLabels": "Kunne ikke oprette etiket.",
|
|
59
59
|
"cairo.saveView.Success.toast": "\"{viewName}\" gemt.",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"cairo.customFields.fieldType.date.invalid.value": "Enter a date that follows this format: {dateFormat}",
|
|
67
67
|
"cairo.customFields.fieldType.dropdownList.placeholder": "fx Italien",
|
|
68
68
|
"cairo.filtersPanel.numRange.maxRange.error": "'Til'-værdien skal være højere end 'Fra'-værdien.",
|
|
69
|
+
"cairo.errorHandler.requestID.tooltip.cta": "Copy ID",
|
|
69
70
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Annuller",
|
|
70
71
|
"cairo.dragAndDrop.discardChanges.CTA": "Kassér",
|
|
71
72
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Ugyldig værdi",
|
|
@@ -114,6 +115,7 @@
|
|
|
114
115
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Annuller",
|
|
115
116
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Sæt de besøgendes tilladelser til \"Læs\" for at forbinde dette felt dynamisk på din hjemmeside. <learnMore>Læs mere</learnMore>",
|
|
116
117
|
"cairo.settings.search.anchor-doesnt-exist.error": "Der er ikke længere et afsnit med navnet \"{anchorName}\" på denne side.",
|
|
118
|
+
"cairo.dropdown.filters.error-loading.description": "Unable to load items due to a technical issue. Reload to try again.",
|
|
117
119
|
"cairo.tags.popover.assignFolder.tooltip.asLabels": "Etiketter kan ikke tildeles mapper.",
|
|
118
120
|
"cairo.tags.creationLimitReached.error.asLabels": "Det er ikke muligt at oprette mere end 100 etiketter.",
|
|
119
121
|
"cairo.deleteModal.title": "Er du sikker på, du ønsker at slette denne?",
|
|
@@ -131,7 +133,7 @@
|
|
|
131
133
|
"cairo.customFields.addCustomField.modal.fieldName": "Navn",
|
|
132
134
|
"cairo.tags.tagsWidget.subtitle.asLabels": "Etiketter hjælper dig med at filtrere og holde dig organiseret.",
|
|
133
135
|
"cairo.tags.loadTags.error.title": "Vi kunne ikke indlæse dine tags",
|
|
134
|
-
"cairo.tags.bulkItemUpdate.updatingTags.toast.CTA": "
|
|
136
|
+
"cairo.tags.bulkItemUpdate.updatingTags.toast.CTA": "Vis status",
|
|
135
137
|
"cairo.manageView.Delete.CTA.error.toast": "På grund af et teknisk problem blev din visning ikke slettet.",
|
|
136
138
|
"cairo.dragAndDrop.reorder-cancelled.sr": "Træk annulleret.",
|
|
137
139
|
"cairo.appliedFilters.discardChanges.description": "De valgte filtre anvendes ikke på denne visning.",
|
|
@@ -155,7 +157,7 @@
|
|
|
155
157
|
"cairo.tags.manageTags.modal.toast.create.success": "Tag er oprettet.",
|
|
156
158
|
"cairo.search.filter.Tab.noresults.text": "Se i en anden fane, ændr dine filtre eller prøv en ny søgning.",
|
|
157
159
|
"cairo.saveViewModal.saveButton": "Gem",
|
|
158
|
-
"cairo.tags.bulkItemUpdate.toast.success.asLabels": "
|
|
160
|
+
"cairo.tags.bulkItemUpdate.toast.success.asLabels": "Etiketter er opdateret.",
|
|
159
161
|
"cairo.table.custom-columns.move.disabled.tooltip": "Denne kolonne kan ikke flyttes.",
|
|
160
162
|
"cairo.moreActions": "Flere handlinger",
|
|
161
163
|
"cairo.viewDropdown.allOrders.defaultViews": "Alle ordre",
|
|
@@ -167,7 +169,7 @@
|
|
|
167
169
|
"cairo.emptyState.filters.nothingFound.clearFilters.CTA": "Ryd filtre",
|
|
168
170
|
"cairo.toolbar.moreFiltersButton": "Filtrér",
|
|
169
171
|
"cairo.export.exportFailedMessage": "Der opstod en fejl under forsøget på at eksportere dine varer.",
|
|
170
|
-
"cairo.tags.bulkItemUpdate.updatingModal.title": "
|
|
172
|
+
"cairo.tags.bulkItemUpdate.updatingModal.title": "Opdaterer tags ...",
|
|
171
173
|
"cairo.customFields.fieldType.date.inputTitle": "Dato",
|
|
172
174
|
"cairo.customFields.fieldType.longText": "Lang tekst",
|
|
173
175
|
"cairo.export.tryAgain": "Prøv igen",
|
|
@@ -177,21 +179,21 @@
|
|
|
177
179
|
"cairo.table.deleteViewModal.deleteBody": "Når du har slettet \"{viewName}\", kan den ikke gendannes.",
|
|
178
180
|
"cairo.export.allItems": "Alle",
|
|
179
181
|
"cairo.customFields.addCustomField.modal.advancedSettings": "Avancerede indstillinger",
|
|
180
|
-
"cairo.tags.bulkItemUpdate.updatingTags.toast.asLabels": "
|
|
182
|
+
"cairo.tags.bulkItemUpdate.updatingTags.toast.asLabels": "Opdaterer etiketter ...",
|
|
181
183
|
"cairo.search.noresults.title": "Ingen resultater fundet",
|
|
182
184
|
"cairo.table.summaryBar.list.item": "{title}: <value>{value}</value>",
|
|
183
185
|
"cairo.tags.applyChanges.toast.success": "Tags er opdateret.",
|
|
184
186
|
"cairo.bulkSelected": "{num, plural, one {1 valgt} other {{num,number} valgt}}",
|
|
185
187
|
"cairo.customFields.fieldType.numberInteger.Name.placeholder": "fx alder",
|
|
186
188
|
"cairo.tags.collectionPage.popover.create.CTA.asLabels": "Opret \"{tagName}\"",
|
|
187
|
-
"cairo.tags.popover.bulkItemUpdate.tooltip.asLabels": "
|
|
189
|
+
"cairo.tags.popover.bulkItemUpdate.tooltip.asLabels": "Ændringer kan ikke foretages, før etiketter er opdateret.",
|
|
188
190
|
"cairo.customFields.updateDataExtension.fqdn-not-found.error": "Vi kan ikke opdatere et tilpasset felt på grund af et teknisk problem hos os.",
|
|
189
191
|
"cairo.export.serverErrorMessage": "På grund af en midlertidig serverfejl kunne din eksport ikke fuldføres. Kontakt support for at få hjælp.",
|
|
190
192
|
"cairo.toast.undone": "Handling fortrudt.",
|
|
191
193
|
"cairo.entityPage.header.apply.CTA": "Anvend",
|
|
192
194
|
"cairo.picker.createNew.button.tooltip": "Du har valgt det maksimale antal elementer. Fravælg et element for at oprette et nyt.",
|
|
193
195
|
"cairo.page.loadError.failedState.description": "Der opstod et teknisk problem hos os. Genindlæs for at prøve igen.",
|
|
194
|
-
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "
|
|
196
|
+
"cairo.tags.bulkItemUpdate.updatingModal.CTA": "Luk",
|
|
195
197
|
"cairo.manageView.setAsDefault.reset.CTA": "Nulstil standardvisning",
|
|
196
198
|
"cairo.filtersPanel.date.title": "Dato",
|
|
197
199
|
"cairo.manageView.setAsDefault.reset.success.toast": "Din standardvisning blev nulstillet.",
|
|
@@ -259,7 +261,7 @@
|
|
|
259
261
|
"cairo.customFields.addCustomField.modal.advancedSettings.key.title": "Nøgle",
|
|
260
262
|
"cairo.customFields.addCustomField.modal.PII-setting.toggle.editNote": "PII kan ikke ændres efter oprettelsen. For at ændre det skal du oprette et nyt felt.",
|
|
261
263
|
"section.header.items": "Elementer",
|
|
262
|
-
"cairo.tags.popover.bulkItemUpdate.tooltip": "
|
|
264
|
+
"cairo.tags.popover.bulkItemUpdate.tooltip": "Der kan ikke laves ændringer, før tags er opdateret.",
|
|
263
265
|
"cairo.customFields.fieldType.numberInteger": "tal (heltal)",
|
|
264
266
|
"airo.tags.collectionPage.popover.emptyState.body.asLabels": "Etiketter hjælper dig med at filtrere og organisere dine elementer.",
|
|
265
267
|
"cairo.folders.showAll.button": "Vis alle",
|
|
@@ -270,7 +272,7 @@
|
|
|
270
272
|
"cairo.tags.popover.bulkItemLimit.tooltip.asLabels": "Etiketter kan kun tildeles til 100 elementer ad gangen.",
|
|
271
273
|
"cairo.appliedFilters.discardChanges.title": "Vil du kassere ændringerne?",
|
|
272
274
|
"cairo.viewsDropdown.allItems.label": "Alle elementer",
|
|
273
|
-
"cairo.tags.bulkItemUpdate.toast.error.asLabels": "{total, plural,
|
|
275
|
+
"cairo.tags.bulkItemUpdate.toast.error.asLabels": "{total, plural, one {1 etiket kunne ikke opdateres på grund af et teknisk problem.} other {{total,number} etiketter kunne ikke opdateres på grund af et teknisk problem.}}",
|
|
274
276
|
"cairo.filtersPanel.date.to.placeholder": "Til",
|
|
275
277
|
"cairo.manageView.Delete.CTA": "Slet",
|
|
276
278
|
"cairo.page.primary.cta": "Create New",
|
|
@@ -287,7 +289,6 @@
|
|
|
287
289
|
"cairo.tags.collectionPage.popover.emptyState.body": "Organiser dine elementer med tags. Opret dit første tag i søgefeltet.",
|
|
288
290
|
"cairo.tags.collectionPage.popover.close.CTA": "Luk",
|
|
289
291
|
"cairo.table.custom-columns.disabled.tooltip": "Denne kolonne kan ikke skjules eller flyttes.",
|
|
290
|
-
"cairo.dropdown.filters.error-loading.description": "Unable to load items due to a technical issue. Reload to try again.",
|
|
291
292
|
"cairo.tags.manageTags.modal.search.placeholder.asLabels": "Søg efter etiketter ...",
|
|
292
293
|
"cairo.page.loadError.failedState.title": "Kunne ikke indlæse denne side",
|
|
293
294
|
"cairo.bulkSelected.selectUpTo": "Vælg op til {max} elementer.",
|
|
@@ -346,9 +347,8 @@
|
|
|
346
347
|
"cairo.filtersPanel.date.14days": "Seneste 14 dage",
|
|
347
348
|
"cairo.emptyState.additem.cta": "Nyt element",
|
|
348
349
|
"cairo.tags.tagsWidget.noPermissions.tooltip.asLabels": "Du har ikke tilladelse til at administrere etiketter. Kontakt en hjemmesideadministrator for at få adgang.",
|
|
349
|
-
"cairo.dropdown.filters.error-loading.cta": "Reload",
|
|
350
350
|
"cairo.tags.tagsWidget.create.CTA.asLabels": "Opret etiketter",
|
|
351
|
-
"cairo.tags.bulkItemUpdate.updatingTags.toast": "
|
|
351
|
+
"cairo.tags.bulkItemUpdate.updatingTags.toast": "Opdaterer tags ...",
|
|
352
352
|
"cairo.dragAndDrop.live-region.itemDragged.sr": "{currentNumber} af {totalNumber}.",
|
|
353
353
|
"cairo.customFields.url-input.error": "Indtast en gyldig URL. fx https://www.wix.com",
|
|
354
354
|
"cairo.noFiltersApplied.validationTooltip": "Tilføj eller kassér et filter eller en kolonne for at gemme denne visning.",
|
|
@@ -379,14 +379,14 @@
|
|
|
379
379
|
"cairo.emptyState.additem.title": "Tilføj dit første element",
|
|
380
380
|
"cairo.tags.manageTags.modal.list.input.validation.maxLength": "Tags skal være under {count, plural, other {# tegn}}",
|
|
381
381
|
"cairo.selector.modal.items.selected": "{total, plural, one {1 element valgt} other {{total,number} elementer valgt}}",
|
|
382
|
-
"cairo.tags.bulkItemUpdate.updatingModal.CTA.asLabels": "
|
|
382
|
+
"cairo.tags.bulkItemUpdate.updatingModal.CTA.asLabels": "Luk",
|
|
383
383
|
"cairo.tags.tagsWidget.options.manage.CTA": "Administrer tags",
|
|
384
384
|
"cairo.table.filter.button": "Filtrer",
|
|
385
385
|
"cairo.tags.collectionPage.popover.emptyState.search.placeholder": "Indtast nyt tag-navn",
|
|
386
386
|
"cairo.emptyState.reset.button": "Nulstil søgning",
|
|
387
387
|
"cairo.customFields.modal.dropDownlist.option.error": "Dette navn eksisterer allerede. Prøv med et andet.",
|
|
388
388
|
"cairo.appliedFilters.discardChanges.CTA": "Fortryd ændringer",
|
|
389
|
-
"cairo.tags.bulkItemUpdate.updatingModal.body.asLabels": "
|
|
389
|
+
"cairo.tags.bulkItemUpdate.updatingModal.body.asLabels": "Dette kan tage et øjeblik. Hold denne fane åben, indtil opdateringen er færdig. ",
|
|
390
390
|
"airo.tags.collectionPage.popover.emptyState.body": "Tags hjælper dig med at filtrere og organisere dine elementer.",
|
|
391
391
|
"cairo.saveViewModal.error.message.unexpected": "Denne visning kunne ikke gemmes i øjeblikket. Forsøg igen om et par minutter.",
|
|
392
392
|
"cairo.collectionPage.appInstall-inContext.moreActions.relatedApps.CTA": "Udforsk relaterede apps",
|
|
@@ -404,6 +404,7 @@
|
|
|
404
404
|
"cairo.manageView.Rename.modal.save.CTA": "Gem",
|
|
405
405
|
"cairo.customFields.archive.technicalError": "Feltet blev ikke arkiveret på grund af et teknisk problem.",
|
|
406
406
|
"cairo.sortableColumns.notification": "Din liste er ikke længere sorteret efter {columnTitle}.",
|
|
407
|
+
"cairo.errorHandler.requestID.tooltip.cta.copied-success": "Copied!",
|
|
407
408
|
"cairo.tags.manageTags.modal.toast.rename.error": "Kunne ikke omdøbe tag.",
|
|
408
409
|
"cairo.dragAndDrop.leaveSiteMessage": "Ændringer, du har foretaget i rækkefølgen af dine varer, gemmes muligvis ikke.",
|
|
409
410
|
"cairo.table.advanced-sorting.sortManually.toast": "Du sorterer nu denne liste manuelt.",
|
|
@@ -411,7 +412,7 @@
|
|
|
411
412
|
"cairo.error.contactSupport.cta": "Kontakt support",
|
|
412
413
|
"cairo.tags.loadTags.error.body": "Der opstod et teknisk problem hos os. Genindlæs for at prøve igen.",
|
|
413
414
|
"cairo.table.deleteViewModal.deleteButtonTwo": "Slet visning",
|
|
414
|
-
"cairo.tags.bulkItemUpdate.updatingModal.title.asLabels": "
|
|
415
|
+
"cairo.tags.bulkItemUpdate.updatingModal.title.asLabels": "Opdaterer etiketter ...",
|
|
415
416
|
"cairo.table.saveViewModal.learnMoreLink": "Læs mere",
|
|
416
417
|
"cairo.tags.collectionPage.toast.create.error.asLabels": "Det var ikke muligt at oprette etiket på grund af et teknisk problem hos os.",
|
|
417
418
|
"cairo.tags.popover.creationLimitReached.error.asLabels": "Det er ikke muligt at oprette mere end 100 etiketter. Slet en etiket for at oprette en ny.",
|
|
@@ -419,7 +420,7 @@
|
|
|
419
420
|
"cairo.entityPage.header.cancel.CTA": "Annuller",
|
|
420
421
|
"cairo.dragAndDrop.discardChanges.cancel": "Annuller",
|
|
421
422
|
"cairo.export.successMessage.downloadLink": "<text>Din fil bliver downloadet automatisk. Virker den ikke?</text><action>Download den her</action>",
|
|
422
|
-
"cairo.tags.bulkItemUpdate.updatingTags.toast.CTA.asLabels": "
|
|
423
|
+
"cairo.tags.bulkItemUpdate.updatingTags.toast.CTA.asLabels": "Vis status",
|
|
423
424
|
"cairo.deleteModal.body": "Sletning fjerner personen permanent og kan ikke fortrydes.",
|
|
424
425
|
"cairo.export.exportingTitle": "Eksporterer dine elementer ...",
|
|
425
426
|
"errorHandler.common-error.networkError": "There was an issue connecting to the network. Check your connection and try again.",
|
|
@@ -473,7 +474,7 @@
|
|
|
473
474
|
"cairo.customFields.edit.CTA": "Rediger",
|
|
474
475
|
"cairo.customFields.fieldType.url": "URL",
|
|
475
476
|
"cairo.filtersPanel.numRange.min-from": "Fra",
|
|
476
|
-
"cairo.tags.bulkItemUpdate.toast.success": "Tags
|
|
477
|
+
"cairo.tags.bulkItemUpdate.toast.success": "Tags er opdateret.",
|
|
477
478
|
"cairo.customFields.maxFields": "Du kan tilføje op til 10 tilpassede felter.",
|
|
478
479
|
"cairo.offline": "Du er i øjeblikket offline.",
|
|
479
480
|
"cairo.export.leaveSiteTitle": "Forlad hjemmeside?",
|
|
@@ -484,13 +485,14 @@
|
|
|
484
485
|
"cairo.tags.manageTags.modal.emptyState.body": "Tags hjælper dig med at filtrere og organisere dine elementer.",
|
|
485
486
|
"cairo.selectPlaceholder": "Vælg...",
|
|
486
487
|
"cairo.tags.popover.tagCreated.toast.success.asLabels": "Etiket er oprettet.",
|
|
488
|
+
"cairo.errorHandler.requestID.tooltip.description": "If you report this error Customer Care, share this request ID so they can investigate.",
|
|
487
489
|
"cairo.table.advanced-sorting.sortByColumns.toast": "Du sorterer nu efter kolonner.",
|
|
488
490
|
"cairo.continue": "Fortsæt",
|
|
489
491
|
"cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
|
|
490
492
|
"cairo.collectionsPage.add.item.CTA": "Tilføj element",
|
|
491
493
|
"cairo.tags.collectionPage.toast.update.error": "Kan ikke opdatere tags på grund af et teknisk problem hos os.",
|
|
492
|
-
"cairo.tags.bulkItemUpdate.toast.error": "{total, plural,
|
|
493
|
-
"cairo.tags.bulkItemUpdate.updatingModal.body": "
|
|
494
|
+
"cairo.tags.bulkItemUpdate.toast.error": "{total, plural, one {1 tag kunne ikke opdateres på grund af et teknisk problem.} other {{total,number} tags kunne ikke opdateres på grund af et teknisk problem.}}",
|
|
495
|
+
"cairo.tags.bulkItemUpdate.updatingModal.body": "Dette kan tage et øjeblik. Hold denne fane åben, indtil opdateringen er færdig. ",
|
|
494
496
|
"cairo.tags.tagsWidget.add.CTA": "Tildel tags",
|
|
495
497
|
"cairo.table.clearFilters.button": "Ryd alt",
|
|
496
498
|
"cairo.table.gridView": "Gittervisning",
|
|
@@ -512,6 +514,7 @@
|
|
|
512
514
|
"cairo.tags.manageTags.modal.toast.delete.error": "Kunne ikke slette tag.",
|
|
513
515
|
"cairo.tags.tagsWidget.options.add.CTA": "Opret \"{tagName}\"",
|
|
514
516
|
"cairo.table.custom-columns.title": "Tilpas kolonner",
|
|
517
|
+
"cairo.dropdown.filters.error-loading.cta": "Reload",
|
|
515
518
|
"cairo.tags.manageTags.modal.add.CTA.asLabels": "Opret etiket",
|
|
516
519
|
"cairo.export.leaveSiteMessage": "Vi er ikke færdige med at eksportere dine varer. Er du sikker på, at du vil lukke vinduet?",
|
|
517
520
|
"cairo.customFields.maxLimit.modal.title": "Du har nået grænsen for antal tilpassede felter",
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"cairo.customFields.fieldType.date.invalid.value": "Enter a date that follows this format: {dateFormat}",
|
|
67
67
|
"cairo.customFields.fieldType.dropdownList.placeholder": "z. B. Italien",
|
|
68
68
|
"cairo.filtersPanel.numRange.maxRange.error": "Der Wert „Bis“ muss größer sein als der Wert „Von“.",
|
|
69
|
+
"cairo.errorHandler.requestID.tooltip.cta": "Copy ID",
|
|
69
70
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Abbrechen",
|
|
70
71
|
"cairo.dragAndDrop.discardChanges.CTA": "Verwerfen",
|
|
71
72
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Ungültiger Wert",
|
|
@@ -403,6 +404,7 @@
|
|
|
403
404
|
"cairo.manageView.Rename.modal.save.CTA": "Speichern",
|
|
404
405
|
"cairo.customFields.archive.technicalError": "Wegen eines technischen Problems wurde das Feld nicht archiviert.",
|
|
405
406
|
"cairo.sortableColumns.notification": "Deine Liste wird nicht mehr nach {columnTitle} sortiert.",
|
|
407
|
+
"cairo.errorHandler.requestID.tooltip.cta.copied-success": "Copied!",
|
|
406
408
|
"cairo.tags.manageTags.modal.toast.rename.error": "Tag wurde nicht umbenannt.",
|
|
407
409
|
"cairo.dragAndDrop.leaveSiteMessage": "Änderungen an der Reihenfolge deiner Elemente werden möglicherweise nicht gespeichert.",
|
|
408
410
|
"cairo.table.advanced-sorting.sortManually.toast": "Du sortierst diese Liste jetzt manuell.",
|
|
@@ -483,6 +485,7 @@
|
|
|
483
485
|
"cairo.tags.manageTags.modal.emptyState.body": "Tags helfen dir beim Filtern und Ordnen deiner Elemente.",
|
|
484
486
|
"cairo.selectPlaceholder": "Wählen ...",
|
|
485
487
|
"cairo.tags.popover.tagCreated.toast.success.asLabels": "Label wurde erstellt.",
|
|
488
|
+
"cairo.errorHandler.requestID.tooltip.description": "If you report this error Customer Care, share this request ID so they can investigate.",
|
|
486
489
|
"cairo.table.advanced-sorting.sortByColumns.toast": "Du sortierst jetzt nach Spalten.",
|
|
487
490
|
"cairo.continue": "Weiter",
|
|
488
491
|
"cairo.filtersPanel.numRange.minRange-from.placeholder": "Min.",
|
|
@@ -554,5 +554,8 @@
|
|
|
554
554
|
"cairo.tags.popover.assignFolder.tooltip.asLabels": "Labels can't be assigned to folders.",
|
|
555
555
|
"cairo.customFields.fieldType.date.invalid.value": "Enter a date that follows this format: {dateFormat}",
|
|
556
556
|
"cairo.dropdown.filters.error-loading.description": "Unable to load items due to a technical issue. Reload to try again.",
|
|
557
|
-
"cairo.dropdown.filters.error-loading.cta": "Reload"
|
|
557
|
+
"cairo.dropdown.filters.error-loading.cta": "Reload",
|
|
558
|
+
"cairo.errorHandler.requestID.tooltip.description": "If you report this error Customer Care, share this request ID so they can investigate.",
|
|
559
|
+
"cairo.errorHandler.requestID.tooltip.cta": "Copy ID",
|
|
560
|
+
"cairo.errorHandler.requestID.tooltip.cta.copied-success": "Copied!"
|
|
558
561
|
}
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
"cairo.customFields.fieldType.date.invalid.value": "Enter a date that follows this format: {dateFormat}",
|
|
67
67
|
"cairo.customFields.fieldType.dropdownList.placeholder": "P. ej., Italia",
|
|
68
68
|
"cairo.filtersPanel.numRange.maxRange.error": "El valor \"hasta\" debe ser mayor que el valor \"desde\".",
|
|
69
|
+
"cairo.errorHandler.requestID.tooltip.cta": "Copy ID",
|
|
69
70
|
"cairo.tags.manageTags.modal.deleteModal.cancel.CTA": "Cancelar",
|
|
70
71
|
"cairo.dragAndDrop.discardChanges.CTA": "Descartar",
|
|
71
72
|
"cairo.customFields.fieldType.dateAndTime.invalid.value": "Valor inválido",
|
|
@@ -403,6 +404,7 @@
|
|
|
403
404
|
"cairo.manageView.Rename.modal.save.CTA": "Guardar",
|
|
404
405
|
"cairo.customFields.archive.technicalError": "El campo no se archivó debido a un problema técnico.",
|
|
405
406
|
"cairo.sortableColumns.notification": "Tu lista ya no está ordenada por {columnTitle}.",
|
|
407
|
+
"cairo.errorHandler.requestID.tooltip.cta.copied-success": "Copied!",
|
|
406
408
|
"cairo.tags.manageTags.modal.toast.rename.error": "No se pudo renombrar la etiqueta.",
|
|
407
409
|
"cairo.dragAndDrop.leaveSiteMessage": "Es posible que los cambios realizados en el orden de tus ítems no se guarden.",
|
|
408
410
|
"cairo.table.advanced-sorting.sortManually.toast": "Ahora estás ordenando esta lista manualmente.",
|
|
@@ -483,6 +485,7 @@
|
|
|
483
485
|
"cairo.tags.manageTags.modal.emptyState.body": "Las etiquetas te ayudan a filtrar y organizar tus ítems.",
|
|
484
486
|
"cairo.selectPlaceholder": "Seleccionar",
|
|
485
487
|
"cairo.tags.popover.tagCreated.toast.success.asLabels": "Etiqueta creada.",
|
|
488
|
+
"cairo.errorHandler.requestID.tooltip.description": "If you report this error Customer Care, share this request ID so they can investigate.",
|
|
486
489
|
"cairo.table.advanced-sorting.sortByColumns.toast": "Ahora estás ordenando por columnas.",
|
|
487
490
|
"cairo.continue": "Continuar",
|
|
488
491
|
"cairo.filtersPanel.numRange.minRange-from.placeholder": "Mín.",
|