@wix/bex-core 2.111.0 → 2.112.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 +2 -2
- package/dist/cjs/assets/locale/messages_da.json +2 -2
- package/dist/cjs/assets/locale/messages_de.json +2 -2
- package/dist/cjs/assets/locale/messages_es.json +2 -2
- package/dist/cjs/assets/locale/messages_fr.json +1 -1
- package/dist/cjs/assets/locale/messages_id.json +2 -2
- package/dist/cjs/assets/locale/messages_it.json +2 -2
- package/dist/cjs/assets/locale/messages_ja.json +4 -4
- package/dist/cjs/assets/locale/messages_ko.json +1 -1
- package/dist/cjs/assets/locale/messages_nl.json +2 -2
- package/dist/cjs/assets/locale/messages_no.json +1 -1
- package/dist/cjs/assets/locale/messages_pl.json +2 -2
- package/dist/cjs/assets/locale/messages_ru.json +2 -2
- package/dist/cjs/assets/locale/messages_sv.json +2 -2
- package/dist/cjs/assets/locale/messages_th.json +2 -2
- package/dist/cjs/assets/locale/messages_tr.json +2 -2
- package/dist/cjs/assets/locale/messages_uk.json +2 -2
- package/dist/cjs/assets/locale/messages_vi.json +2 -2
- package/dist/cjs/assets/locale/messages_zh.json +2 -2
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalState.js +3 -0
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/state/DataExtensionState.js +0 -1
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +2 -2
- package/dist/esm/assets/locale/messages_da.json +2 -2
- package/dist/esm/assets/locale/messages_de.json +2 -2
- package/dist/esm/assets/locale/messages_es.json +2 -2
- package/dist/esm/assets/locale/messages_fr.json +1 -1
- package/dist/esm/assets/locale/messages_id.json +2 -2
- package/dist/esm/assets/locale/messages_it.json +2 -2
- package/dist/esm/assets/locale/messages_ja.json +4 -4
- package/dist/esm/assets/locale/messages_ko.json +1 -1
- package/dist/esm/assets/locale/messages_nl.json +2 -2
- package/dist/esm/assets/locale/messages_no.json +1 -1
- package/dist/esm/assets/locale/messages_pl.json +2 -2
- package/dist/esm/assets/locale/messages_ru.json +2 -2
- package/dist/esm/assets/locale/messages_sv.json +2 -2
- package/dist/esm/assets/locale/messages_th.json +2 -2
- package/dist/esm/assets/locale/messages_tr.json +2 -2
- package/dist/esm/assets/locale/messages_uk.json +2 -2
- package/dist/esm/assets/locale/messages_vi.json +2 -2
- package/dist/esm/assets/locale/messages_zh.json +2 -2
- package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/esm/state/CustomFieldModalState.js +3 -0
- package/dist/esm/state/CustomFieldModalState.js.map +1 -1
- package/dist/esm/state/DataExtensionState.js +0 -1
- package/dist/esm/state/DataExtensionState.js.map +1 -1
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts +8 -1
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
- package/dist/types/state/DataExtensionState.d.ts +0 -1
- package/dist/types/state/DataExtensionState.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","ConditionalModalState","onConfirm","form","mode","customFieldModalBiReporter","reportModalEndProcess","t","validation","validate","hasError","enableAutoValidation","Error","_this$dataExtensionSt","_this$dataExtensionSt2","dataExtensionSchema","dataExtensionState","dataExtensionService","addCustomField","getFormValues","schema","userSchema","fqdn","fqdnString","filterable","runInAction","container","showToast","call","message","type","biName","endType","e","onConfirmError","FormState","FieldState","validators","value","name","key","allUserCustomFields","some","field","id","test","readUsers","readApps","writeUsers","writeApps","containsPii","permissions","read","apps","users","write","$","dirty","CustomFieldModalBiReporter","makeObservable","namePlaceholder","computed","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","setFormValues","generateUniqueKey","bound","setKeyFieldIfNotDirty","setDefaultPermissions","_this$errorToastConfi","getResolvedError","errorHandler","_httpError$response","_httpError$response2","_httpError$response3","resolvedError","httpError","isDetailsResponse","response","data","isErrorDetails","details","validationError","fieldViolations","v","ruleName","text","onClick","window","open","reportSubmitFailure","errorType","settings","setOff","disableAutoValidation","disablePermissionCheckboxes","_defaultPermissions$i","_defaultPermissions$s","defaultPermissions","installedApps","hide","_defaultPermissions$i2","_defaultPermissions$i3","defaultRead","defaultWrite","siteVisitors","_defaultPermissions$s2","_defaultPermissions$s3","containsKey","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","exports"],"sources":["../../../src/state/CustomFieldModalState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';\nimport { FieldState, FormState } from 'formstate';\nimport { ToggleState } from './ToggleState';\nimport { CustomFieldOrigin, CustomFieldType } from '../services';\nimport { DataExtensionState } from './DataExtensionState';\nimport { slugify } from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\nexport interface CustomFieldStateParams {\n dataExtensionState: DataExtensionState;\n}\n\nexport interface CustomFieldForm {\n type?: CustomFieldType;\n key: string;\n name: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n}\n\nexport class CustomFieldModalState {\n dataExtensionState: DataExtensionState;\n customFieldModalBiReporter: CustomFieldModalBiReporter;\n settings = new ToggleState();\n errorToastConfig: ToastConfig | undefined = undefined;\n mode: 'new' | 'edit' = 'new';\n origin: CustomFieldOrigin = 'Custom columns panel';\n\n modalState = new ConditionalModalState({\n onConfirm: async () => {\n const {\n form,\n mode,\n customFieldModalBiReporter: { reportModalEndProcess },\n t,\n } = this;\n\n const validation = await form.validate();\n\n if (validation.hasError) {\n this.enableAutoValidation();\n throw new Error('validation');\n }\n\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionState.dataExtensionService.addCustomField({\n form: this.getFormValues(),\n schema: this.dataExtensionState.userSchema,\n fqdn: this.dataExtensionState.fqdnString,\n filterable: this.dataExtensionState.filterable,\n });\n\n runInAction(() => {\n this.dataExtensionState.userSchema = dataExtensionSchema;\n });\n\n this.dataExtensionState.container.showToast?.({\n message:\n mode === 'new'\n ? t('cairo.customFields.successToast')\n : t('cairo.customFields.editCustomField.success.toast'),\n type: 'SUCCESS',\n biName: 'cairo-custom-field-success-toast',\n });\n\n reportModalEndProcess({ endType: 'Add Field' });\n } catch (e: unknown) {\n this.onConfirmError(e);\n }\n },\n });\n\n form = new FormState({\n type: new FieldState<CustomFieldType | undefined>(undefined).validators(\n (value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldType.error',\n );\n }\n\n return undefined;\n },\n ),\n name: new FieldState('').validators((value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n return undefined;\n }),\n key: new FieldState('').validators((value) => {\n const {\n t,\n mode,\n dataExtensionState: { allUserCustomFields },\n } = this;\n\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n if (\n mode === 'new' &&\n allUserCustomFields.some((field) => field.id === value)\n ) {\n return t('cairo.customFields.addCustomField.modal.sameKey.error');\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_]*$/g.test(value)) {\n return t('cairo.customFields.addCustomField.modal.keyFormat.error');\n }\n\n return undefined;\n }),\n readUsers: new FieldState(false),\n readApps: new FieldState(false),\n writeUsers: new FieldState(false),\n writeApps: new FieldState(false),\n containsPii: new FieldState(false),\n });\n\n disabledFields = {\n permissions: {\n read: { apps: true, users: true },\n write: { apps: true, users: true },\n },\n };\n\n constructor(params: CustomFieldStateParams) {\n this.dataExtensionState = params.dataExtensionState;\n this.customFieldModalBiReporter = new CustomFieldModalBiReporter({\n dataExtensionState: params.dataExtensionState,\n });\n\n makeObservable(this, {\n namePlaceholder: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n reset: action,\n setFormValues: action,\n generateUniqueKey: action.bound,\n setKeyFieldIfNotDirty: action.bound,\n setDefaultPermissions: action,\n });\n }\n\n onConfirmError(e: unknown) {\n const { getResolvedError } = this.dataExtensionState.container.errorHandler;\n\n runInAction(() => {\n const resolvedError = getResolvedError?.(e);\n const httpError = resolvedError?.httpError;\n\n if (\n isDetailsResponse(httpError?.response?.data) &&\n isErrorDetails(httpError?.response?.data.details) &&\n httpError?.response?.data?.details?.validationError?.fieldViolations?.some(\n (v) => v.ruleName === 'EXCEEDED_STORED_DATA_SIZE',\n )\n ) {\n this.errorToastConfig = {\n message: this.t('cairo.customFields.modal.maxFieldsError'),\n action: {\n text: this.t('cairo.error.contactSupport.cta'),\n onClick: () => {\n window.open('https://www.wix.com/contact', '_blank');\n },\n },\n };\n } else {\n this.errorToastConfig = {\n message: resolvedError?.message!,\n action: resolvedError?.action,\n };\n }\n });\n\n this.customFieldModalBiReporter.reportSubmitFailure({\n errorType: this.errorToastConfig?.message,\n });\n\n // Prevents modal closing\n throw e;\n }\n reset() {\n const {\n form,\n settings,\n disabledFields: { permissions },\n } = this;\n\n form.reset();\n settings.setOff();\n this.errorToastConfig = undefined;\n this.disableAutoValidation();\n\n permissions.read.apps = false;\n permissions.read.users = false;\n permissions.write.apps = false;\n permissions.write.users = false;\n }\n\n enableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.enableAutoValidation();\n name.enableAutoValidation();\n type.enableAutoValidation();\n }\n\n disableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.disableAutoValidation();\n name.disableAutoValidation();\n type.disableAutoValidation();\n }\n\n getFormValues(): CustomFieldForm {\n const {\n form: {\n $: {\n type,\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n },\n } = this;\n\n return {\n type: type.value,\n key: key.value,\n name: name.value,\n readApps: readApps.value,\n readUsers: readUsers.value,\n writeApps: writeApps.value,\n writeUsers: writeUsers.value,\n containsPii: containsPii.value,\n };\n }\n\n setFormValues(\n form: CustomFieldForm,\n params?: { disablePermissionCheckboxes: boolean },\n ) {\n const {\n form: { $ },\n } = this;\n\n $.key.value = form.key;\n $.name.value = form.name;\n $.type.value = form.type;\n $.readApps.value = form.readApps;\n $.readUsers.value = form.readUsers;\n $.writeApps.value = form.writeApps;\n $.writeUsers.value = form.writeUsers;\n $.containsPii.value = form.containsPii;\n if (params?.disablePermissionCheckboxes) {\n if (form.readUsers) {\n this.disabledFields.permissions.read.users = true;\n }\n\n if (form.readApps) {\n this.disabledFields.permissions.read.apps = true;\n }\n\n if (form.writeUsers) {\n this.disabledFields.permissions.write.users = true;\n }\n\n if (form.writeApps) {\n this.disabledFields.permissions.write.apps = true;\n }\n }\n }\n\n setDefaultPermissions() {\n const {\n form: { $ },\n dataExtensionState: { defaultPermissions },\n } = this;\n if (!defaultPermissions?.installedApps?.hide) {\n $.readApps.value = !!defaultPermissions?.installedApps?.defaultRead;\n $.writeApps.value = !!defaultPermissions?.installedApps?.defaultWrite;\n }\n\n if (!defaultPermissions?.siteVisitors?.hide) {\n $.readUsers.value = !!defaultPermissions?.siteVisitors?.defaultRead;\n $.writeUsers.value = !!defaultPermissions?.siteVisitors?.defaultWrite;\n }\n }\n\n setKeyFieldIfNotDirty = (value: string) => {\n const {\n form: {\n $: { key },\n },\n mode,\n } = this;\n\n if (mode === 'new' && !key.dirty) {\n // In the formstate library setting a field value using\n // the onChange API sets the dirty state of the field to true.\n // However, since here it's not a manual user input\n // we avoid changing the dirty state by setting a value directly.\n key.value = value;\n }\n };\n\n private containsKey(key: string) {\n return this.dataExtensionState.allUserCustomFields.some(\n (field) => field.id === key,\n );\n }\n\n generateUniqueKey(name: string) {\n const slug = slugify(name);\n const type = this.form.$.type.value;\n\n if (slug && slug.length >= 4 && !this.containsKey(slug)) {\n return slug;\n }\n\n if (!type) {\n return '';\n }\n\n let index = 1;\n\n while (this.containsKey(`${type}_${index}`)) {\n index += 1;\n }\n\n return `${type}_${index}`;\n }\n\n get t() {\n return this.dataExtensionState.container.translate;\n }\n\n get isSubmitting() {\n return this.modalState.modal.confirming.isLoading;\n }\n\n get namePlaceholder() {\n const {\n t,\n form: {\n $: { type },\n },\n } = this;\n\n switch (type.value) {\n case 'dropdown':\n return t('cairo.customFields.fieldType.dropdownList.Name.placeholder');\n case 'checkbox':\n return t('cairo.customFields.fieldType.checkbox.Name.placeholder');\n case 'shortText':\n return t('cairo.customFields.fieldType.shortText.Name.placeholder');\n case 'longText':\n return t('cairo.customFields.fieldType.longText.Name.placeholder');\n case 'url':\n return t('cairo.customFields.placeholder.url');\n case 'date':\n return t('cairo.customFields.fieldType.date.Name.placeholder');\n case 'dateTime':\n return t('cairo.customFields.fieldType.dateAndTime.Name.placeholder');\n case 'integer':\n return t('cairo.customFields.fieldType.numberInteger.Name.placeholder');\n case 'decimal':\n return t('cairo.customFields.fieldType.numberDecimal.Name.placeholder');\n default:\n return t(\n 'cairo.customFields.addCustomField.modal.fieldName.placeholder',\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","ConditionalModalState","onConfirm","dataExtensionState","isReachedMaxCustomFields","form","mode","customFieldModalBiReporter","reportModalEndProcess","t","validation","validate","hasError","enableAutoValidation","Error","_this$dataExtensionSt","_this$dataExtensionSt2","dataExtensionSchema","dataExtensionService","addCustomField","getFormValues","schema","userSchema","fqdn","fqdnString","filterable","runInAction","container","showToast","call","message","type","biName","endType","e","onConfirmError","FormState","FieldState","validators","value","name","key","allUserCustomFields","some","field","id","test","readUsers","readApps","writeUsers","writeApps","containsPii","permissions","read","apps","users","write","$","dirty","CustomFieldModalBiReporter","makeObservable","namePlaceholder","computed","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","setFormValues","generateUniqueKey","bound","setKeyFieldIfNotDirty","setDefaultPermissions","_this$errorToastConfi","getResolvedError","errorHandler","_httpError$response","_httpError$response2","_httpError$response3","resolvedError","httpError","isDetailsResponse","response","data","isErrorDetails","details","validationError","fieldViolations","v","ruleName","text","onClick","window","open","reportSubmitFailure","errorType","settings","setOff","disableAutoValidation","disablePermissionCheckboxes","_defaultPermissions$i","_defaultPermissions$s","defaultPermissions","installedApps","hide","_defaultPermissions$i2","_defaultPermissions$i3","defaultRead","defaultWrite","siteVisitors","_defaultPermissions$s2","_defaultPermissions$s3","containsKey","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","exports"],"sources":["../../../src/state/CustomFieldModalState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';\nimport { FieldState, FormState } from 'formstate';\nimport { ToggleState } from './ToggleState';\nimport { CustomFieldOrigin, CustomFieldType } from '../services';\nimport { DataExtensionState } from './DataExtensionState';\nimport { slugify } from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\nexport interface CustomFieldStateParams {\n dataExtensionState: DataExtensionState;\n}\n\nexport interface CustomFieldForm {\n type?: CustomFieldType;\n key: string;\n name: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n}\n\nexport class CustomFieldModalState {\n dataExtensionState: DataExtensionState;\n customFieldModalBiReporter: CustomFieldModalBiReporter;\n settings = new ToggleState();\n errorToastConfig: ToastConfig | undefined = undefined;\n mode: 'new' | 'edit' = 'new';\n origin: CustomFieldOrigin = 'Custom columns panel';\n\n modalState = new ConditionalModalState({\n onConfirm: async () => {\n if (this.dataExtensionState.isReachedMaxCustomFields) {\n return;\n }\n const {\n form,\n mode,\n customFieldModalBiReporter: { reportModalEndProcess },\n t,\n } = this;\n\n const validation = await form.validate();\n\n if (validation.hasError) {\n this.enableAutoValidation();\n throw new Error('validation');\n }\n\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionState.dataExtensionService.addCustomField({\n form: this.getFormValues(),\n schema: this.dataExtensionState.userSchema,\n fqdn: this.dataExtensionState.fqdnString,\n filterable: this.dataExtensionState.filterable,\n });\n\n runInAction(() => {\n this.dataExtensionState.userSchema = dataExtensionSchema;\n });\n\n this.dataExtensionState.container.showToast?.({\n message:\n mode === 'new'\n ? t('cairo.customFields.successToast')\n : t('cairo.customFields.editCustomField.success.toast'),\n type: 'SUCCESS',\n biName: 'cairo-custom-field-success-toast',\n });\n\n reportModalEndProcess({ endType: 'Add Field' });\n } catch (e: unknown) {\n this.onConfirmError(e);\n }\n },\n });\n\n form = new FormState({\n type: new FieldState<CustomFieldType | undefined>(undefined).validators(\n (value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldType.error',\n );\n }\n\n return undefined;\n },\n ),\n name: new FieldState('').validators((value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n return undefined;\n }),\n key: new FieldState('').validators((value) => {\n const {\n t,\n mode,\n dataExtensionState: { allUserCustomFields },\n } = this;\n\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n if (\n mode === 'new' &&\n allUserCustomFields.some((field) => field.id === value)\n ) {\n return t('cairo.customFields.addCustomField.modal.sameKey.error');\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_]*$/g.test(value)) {\n return t('cairo.customFields.addCustomField.modal.keyFormat.error');\n }\n\n return undefined;\n }),\n readUsers: new FieldState(false),\n readApps: new FieldState(false),\n writeUsers: new FieldState(false),\n writeApps: new FieldState(false),\n containsPii: new FieldState(false),\n });\n\n disabledFields = {\n permissions: {\n read: { apps: true, users: true },\n write: { apps: true, users: true },\n },\n };\n\n constructor(params: CustomFieldStateParams) {\n this.dataExtensionState = params.dataExtensionState;\n this.customFieldModalBiReporter = new CustomFieldModalBiReporter({\n dataExtensionState: params.dataExtensionState,\n });\n\n makeObservable(this, {\n namePlaceholder: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n reset: action,\n setFormValues: action,\n generateUniqueKey: action.bound,\n setKeyFieldIfNotDirty: action.bound,\n setDefaultPermissions: action,\n });\n }\n\n onConfirmError(e: unknown) {\n const { getResolvedError } = this.dataExtensionState.container.errorHandler;\n\n runInAction(() => {\n const resolvedError = getResolvedError?.(e);\n const httpError = resolvedError?.httpError;\n\n if (\n isDetailsResponse(httpError?.response?.data) &&\n isErrorDetails(httpError?.response?.data.details) &&\n httpError?.response?.data?.details?.validationError?.fieldViolations?.some(\n (v) => v.ruleName === 'EXCEEDED_STORED_DATA_SIZE',\n )\n ) {\n this.errorToastConfig = {\n message: this.t('cairo.customFields.modal.maxFieldsError'),\n action: {\n text: this.t('cairo.error.contactSupport.cta'),\n onClick: () => {\n window.open('https://www.wix.com/contact', '_blank');\n },\n },\n };\n } else {\n this.errorToastConfig = {\n message: resolvedError?.message!,\n action: resolvedError?.action,\n };\n }\n });\n\n this.customFieldModalBiReporter.reportSubmitFailure({\n errorType: this.errorToastConfig?.message,\n });\n\n // Prevents modal closing\n throw e;\n }\n reset() {\n const {\n form,\n settings,\n disabledFields: { permissions },\n } = this;\n\n form.reset();\n settings.setOff();\n this.errorToastConfig = undefined;\n this.disableAutoValidation();\n\n permissions.read.apps = false;\n permissions.read.users = false;\n permissions.write.apps = false;\n permissions.write.users = false;\n }\n\n enableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.enableAutoValidation();\n name.enableAutoValidation();\n type.enableAutoValidation();\n }\n\n disableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.disableAutoValidation();\n name.disableAutoValidation();\n type.disableAutoValidation();\n }\n\n getFormValues(): CustomFieldForm {\n const {\n form: {\n $: {\n type,\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n },\n } = this;\n\n return {\n type: type.value,\n key: key.value,\n name: name.value,\n readApps: readApps.value,\n readUsers: readUsers.value,\n writeApps: writeApps.value,\n writeUsers: writeUsers.value,\n containsPii: containsPii.value,\n };\n }\n\n setFormValues(\n form: CustomFieldForm,\n params?: { disablePermissionCheckboxes: boolean },\n ) {\n const {\n form: { $ },\n } = this;\n\n $.key.value = form.key;\n $.name.value = form.name;\n $.type.value = form.type;\n $.readApps.value = form.readApps;\n $.readUsers.value = form.readUsers;\n $.writeApps.value = form.writeApps;\n $.writeUsers.value = form.writeUsers;\n $.containsPii.value = form.containsPii;\n if (params?.disablePermissionCheckboxes) {\n if (form.readUsers) {\n this.disabledFields.permissions.read.users = true;\n }\n\n if (form.readApps) {\n this.disabledFields.permissions.read.apps = true;\n }\n\n if (form.writeUsers) {\n this.disabledFields.permissions.write.users = true;\n }\n\n if (form.writeApps) {\n this.disabledFields.permissions.write.apps = true;\n }\n }\n }\n\n setDefaultPermissions() {\n const {\n form: { $ },\n dataExtensionState: { defaultPermissions },\n } = this;\n if (!defaultPermissions?.installedApps?.hide) {\n $.readApps.value = !!defaultPermissions?.installedApps?.defaultRead;\n $.writeApps.value = !!defaultPermissions?.installedApps?.defaultWrite;\n }\n\n if (!defaultPermissions?.siteVisitors?.hide) {\n $.readUsers.value = !!defaultPermissions?.siteVisitors?.defaultRead;\n $.writeUsers.value = !!defaultPermissions?.siteVisitors?.defaultWrite;\n }\n }\n\n setKeyFieldIfNotDirty = (value: string) => {\n const {\n form: {\n $: { key },\n },\n mode,\n } = this;\n\n if (mode === 'new' && !key.dirty) {\n // In the formstate library setting a field value using\n // the onChange API sets the dirty state of the field to true.\n // However, since here it's not a manual user input\n // we avoid changing the dirty state by setting a value directly.\n key.value = value;\n }\n };\n\n private containsKey(key: string) {\n return this.dataExtensionState.allUserCustomFields.some(\n (field) => field.id === key,\n );\n }\n\n generateUniqueKey(name: string) {\n const slug = slugify(name);\n const type = this.form.$.type.value;\n\n if (slug && slug.length >= 4 && !this.containsKey(slug)) {\n return slug;\n }\n\n if (!type) {\n return '';\n }\n\n let index = 1;\n\n while (this.containsKey(`${type}_${index}`)) {\n index += 1;\n }\n\n return `${type}_${index}`;\n }\n\n get t() {\n return this.dataExtensionState.container.translate;\n }\n\n get isSubmitting() {\n return this.modalState.modal.confirming.isLoading;\n }\n\n get namePlaceholder() {\n const {\n t,\n form: {\n $: { type },\n },\n } = this;\n\n switch (type.value) {\n case 'dropdown':\n return t('cairo.customFields.fieldType.dropdownList.Name.placeholder');\n case 'checkbox':\n return t('cairo.customFields.fieldType.checkbox.Name.placeholder');\n case 'shortText':\n return t('cairo.customFields.fieldType.shortText.Name.placeholder');\n case 'longText':\n return t('cairo.customFields.fieldType.longText.Name.placeholder');\n case 'url':\n return t('cairo.customFields.placeholder.url');\n case 'date':\n return t('cairo.customFields.fieldType.date.Name.placeholder');\n case 'dateTime':\n return t('cairo.customFields.fieldType.dateAndTime.Name.placeholder');\n case 'integer':\n return t('cairo.customFields.fieldType.numberInteger.Name.placeholder');\n case 'decimal':\n return t('cairo.customFields.fieldType.numberDecimal.Name.placeholder');\n default:\n return t(\n 'cairo.customFields.addCustomField.modal.fieldName.placeholder',\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,7 +29,6 @@ class DataExtensionState {
|
|
|
29
29
|
(0, _defineProperty2.default)(this, "closeSidePanel", void 0);
|
|
30
30
|
(0, _defineProperty2.default)(this, "reportBi", void 0);
|
|
31
31
|
(0, _defineProperty2.default)(this, "fqdn", void 0);
|
|
32
|
-
(0, _defineProperty2.default)(this, "MAX_CUSTOM_FIELDS", 50);
|
|
33
32
|
(0, _defineProperty2.default)(this, "userSchema", undefined);
|
|
34
33
|
(0, _defineProperty2.default)(this, "appSchemas", undefined);
|
|
35
34
|
(0, _defineProperty2.default)(this, "containsPii", void 0);
|
|
@@ -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","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","isPiiField","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","setDefaultPermissions","modalState","modal","open","_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","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","userFieldsNamespace"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\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 {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\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 biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly reportBi;\n readonly fqdn;\n\n readonly MAX_CUSTOM_FIELDS = 50;\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\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.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\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 userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: 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({ id, origin }: { id?: string; origin: string }) {\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 runInAction(() => {\n this.userSchema = 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 this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.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'];\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 openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema) {\n if (params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n } else {\n customFieldModalState.setDefaultPermissions();\n }\n }\n\n customFieldModalState.modalState.modal.open();\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,\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 };\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 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\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 dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\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","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","userSchema","observable","ref","appSchemas","openCustomFieldModal","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","runInAction","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","customField","toCustomField","title","read","write","isPiiField","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","setDefaultPermissions","modalState","modal","open","_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","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","userFieldsNamespace"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\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 {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n reportBi: ReportBI;\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 biReporter: DataExtensionStateBIReporter;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n customFieldModalState?: CustomFieldModalState;\n archiveFieldModal?: ConditionalModalState<{\n id: string;\n origin: string;\n }>;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly reportBi;\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 userSchema?: DataExtensionSchema = undefined;\n appSchemas?: DataExtensionSchema[] = undefined;\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.reportBi = params.reportBi;\n this.fqdn = params.fqdn;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\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 userSchema: observable.ref,\n appSchemas: observable.ref,\n openCustomFieldModal: 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({ id, origin }: { id?: string; origin: string }) {\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 runInAction(() => {\n this.userSchema = 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 this.biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n this.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'];\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 openCustomFieldModal(params: {\n fieldId?: string;\n origin: CustomFieldOrigin;\n }) {\n const { customFieldModalState } = this;\n\n if (!customFieldModalState) {\n return;\n }\n\n const { customFieldModalBiReporter } = customFieldModalState;\n\n customFieldModalState.reset();\n customFieldModalState.mode = params.fieldId ? 'edit' : 'new';\n customFieldModalState.origin = params.origin;\n customFieldModalBiReporter.formSnapshot = null;\n\n if (this.userSchema) {\n if (params.fieldId) {\n const formValues = this.extractFieldValuesFromSchema(params.fieldId);\n\n if (!formValues) {\n return;\n }\n\n customFieldModalState.setFormValues(formValues, {\n disablePermissionCheckboxes: true,\n });\n customFieldModalBiReporter.formSnapshot = formValues;\n } else {\n customFieldModalState.setDefaultPermissions();\n }\n }\n\n customFieldModalState.modalState.modal.open();\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,\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 };\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 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\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 dataExtensionSchemas?.forEach((s) => {\n if (s.namespace === dataExtensionService.userFieldsNamespace) {\n this.userSchema = s;\n return;\n }\n this.appSchemas = this.appSchemas ? [...this.appSchemas, s] : [s];\n });\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"cairo.customFields.addCustomField.modal.emptyFieldType.error": "Vyberte typ pole.",
|
|
71
71
|
"cairo.filtersPanel.date.today": "Dnes",
|
|
72
72
|
"cairo.tags.manageTags.modal.toast.create.error": "Tag nebylo možné vytvořit.",
|
|
73
|
-
"cairo.tags.tagsField.readOnly.emptyState": "
|
|
73
|
+
"cairo.tags.tagsField.readOnly.emptyState": "Zatím nejsou přiřazené žádné tagy. ",
|
|
74
74
|
"cairo.customFields.fieldType.longText.Name.placeholder": "např. Poznámky",
|
|
75
75
|
"cairo.customFields.fieldType.dropdownList": "Rozbalovací seznam",
|
|
76
76
|
"cairo.customFields.archive.modal.cancel.CTA": "Zpět",
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"cairo.table.gridView": "Mřížka",
|
|
474
474
|
"cairo.export.selectedItems": "Vybráno",
|
|
475
475
|
"cairo.entityPage.success.toast": "Změny byly uloženy.",
|
|
476
|
-
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "
|
|
476
|
+
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "Zatím nejsou přiřazené žádné štítky.",
|
|
477
477
|
"cairo.table.custom-columns.button.tooltip": "Přizpůsobit sloupce",
|
|
478
478
|
"cairo.table.advanced-sorting.button.tooltip": "Pokročilé třídění",
|
|
479
479
|
"cairo.dragAndDrop.button-role-label.sr": "Přetáhnout {itemName}.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Indtast etiketnavn",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Annuller",
|
|
111
111
|
"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>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Der er ikke længere et afsnit med navnet \"{anchorName}\" på denne side.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Det er ikke muligt at oprette mere end 100 etiketter.",
|
|
114
114
|
"cairo.deleteModal.title": "Er du sikker på, du ønsker at slette denne?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Ikke kontrolleret",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Tilføj en mulighed.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Installerede apps",
|
|
522
522
|
"cairo.export.successMessage": "Din fil downloades nu. Virker det ikke?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Der opstod et problem med at downloade filen.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Brug tilpassede felter til at gemme og indsamle flere oplysninger.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "\"{viewName}\" blev indstillet som standardvisning.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Ingen elementer blev fundet med dette filter.",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"cairo.customFields.addCustomField.modal.emptyFieldType.error": "Wähle einen Feldtyp aus.",
|
|
71
71
|
"cairo.filtersPanel.date.today": "Heute",
|
|
72
72
|
"cairo.tags.manageTags.modal.toast.create.error": "Tag wurde nicht erstellt.",
|
|
73
|
-
"cairo.tags.tagsField.readOnly.emptyState": "
|
|
73
|
+
"cairo.tags.tagsField.readOnly.emptyState": "Du hast noch keine Tags zugewiesen. ",
|
|
74
74
|
"cairo.customFields.fieldType.longText.Name.placeholder": "z. B. Hinweise",
|
|
75
75
|
"cairo.customFields.fieldType.dropdownList": "Dropdown-Liste",
|
|
76
76
|
"cairo.customFields.archive.modal.cancel.CTA": "Abbrechen",
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"cairo.table.gridView": "Rasteransicht",
|
|
474
474
|
"cairo.export.selectedItems": "Ausgewählt",
|
|
475
475
|
"cairo.entityPage.success.toast": "Deine Änderungen wurden gespeichert.",
|
|
476
|
-
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "
|
|
476
|
+
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "Du hast noch keine Labels zugewiesen.",
|
|
477
477
|
"cairo.table.custom-columns.button.tooltip": "Spalten anpassen",
|
|
478
478
|
"cairo.table.advanced-sorting.button.tooltip": "Erweiterte Sortierung",
|
|
479
479
|
"cairo.dragAndDrop.button-role-label.sr": "{itemName} ziehen",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Ingresa el nombre de la etiqueta",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Cancelar",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Establece permisos de lectura de los visitantes para conectar este campo dinámicamente en tu sitio. <learnMore>Leer más</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "La sección llamada “{anchorName}” ya no existe en esta página.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "No se pueden crear más de 100 etiquetas.",
|
|
114
114
|
"cairo.deleteModal.title": "¿Quieres eliminar esto?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "No seleccionados",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Agrega una opción.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Apps instaladas",
|
|
522
522
|
"cairo.export.successMessage": "Se está descargando tu archivo. ¿No funciona?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Hubo un problema al descargar el archivo.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Usa campos personalizados para almacenar y recopilar más información.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "\"{viewName}\" se configuró como tu vista predeterminada.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "No se encontraron ítems para este filtro.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Saisissez le nom du libellé",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Annuler",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Définissez les autorisations des visiteurs sur « Lire » pour connecter ce champ dynamiquement sur votre site. <learnMore>En savoir plus</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Il n'y a plus de section qui s'appelle « {anchorName} » sur cette page.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Impossible de créer plus de 100 libellés.",
|
|
114
114
|
"cairo.deleteModal.title": "Êtes-vous sûr de vouloir supprimer cet élément ?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Pas cochée",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Masukkan nama label",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Cancel",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Atur izin pengunjung ke \"Baca\" untuk menghubungkan kolom ini secara dinamis di situs Anda. <learnMore>Pelajari selengkapnya</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Tidak ada lagi bagian dengan nama \"{anchorName}\" di halaman ini.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Tidak dapat membuat lebih dari 100 label.",
|
|
114
114
|
"cairo.deleteModal.title": "Yakin Ingin Menghapusnya?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Tidak dicentang",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Tambahkan opsi.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Aplikasi Terinstal",
|
|
522
522
|
"cairo.export.successMessage": "File Anda sedang diunduh. Tidak berfungsi?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Terjadi masalah saat mengunduh file.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Gunakan kolom kustom untuk menyimpan dan mengumpulkan lebih banyak informasi.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "\"{viewName}\" diatur sebagai tampilan default Anda.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Tidak ada item yang ditemukan untuk filter ini.",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"cairo.customFields.addCustomField.modal.emptyFieldType.error": "Seleziona un tipo di campo.",
|
|
71
71
|
"cairo.filtersPanel.date.today": "Oggi",
|
|
72
72
|
"cairo.tags.manageTags.modal.toast.create.error": "Impossibile creare il tag.",
|
|
73
|
-
"cairo.tags.tagsField.readOnly.emptyState": "
|
|
73
|
+
"cairo.tags.tagsField.readOnly.emptyState": "Non ci sono ancora tag assegnati. ",
|
|
74
74
|
"cairo.customFields.fieldType.longText.Name.placeholder": "es.: note",
|
|
75
75
|
"cairo.customFields.fieldType.dropdownList": "Menu a tendina",
|
|
76
76
|
"cairo.customFields.archive.modal.cancel.CTA": "Annulla",
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"cairo.table.gridView": "Vista a griglia",
|
|
474
474
|
"cairo.export.selectedItems": "Selezionati",
|
|
475
475
|
"cairo.entityPage.success.toast": "Le modifiche sono state salvate.",
|
|
476
|
-
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "
|
|
476
|
+
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "Non ci sono ancora etichette assegnate.",
|
|
477
477
|
"cairo.table.custom-columns.button.tooltip": "Personalizza colonne",
|
|
478
478
|
"cairo.table.advanced-sorting.button.tooltip": "Ordinamento avanzato",
|
|
479
479
|
"cairo.dragAndDrop.button-role-label.sr": "Trascina {itemName}.",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"cairo.customFields.addCustomField.modal.emptyFieldType.error": "項目タイプを選択してください。",
|
|
71
71
|
"cairo.filtersPanel.date.today": "今日",
|
|
72
72
|
"cairo.tags.manageTags.modal.toast.create.error": "タグが作成されませんでした。",
|
|
73
|
-
"cairo.tags.tagsField.readOnly.emptyState": "
|
|
73
|
+
"cairo.tags.tagsField.readOnly.emptyState": "まだタグは割り当てられていません。 ",
|
|
74
74
|
"cairo.customFields.fieldType.longText.Name.placeholder": "例:メモ",
|
|
75
75
|
"cairo.customFields.fieldType.dropdownList": "ドロップダウンリスト",
|
|
76
76
|
"cairo.customFields.archive.modal.cancel.CTA": "キャンセル",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "ラベル名を入力",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "キャンセル",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "この項目をサイト上で動的に接続するには、訪問者の権限を「読み込み」に設定します。<learnMore>詳細はこちら</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "このページにはもう「{anchorName}」という名前のセクションはありません。",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "100件より多くのラベルは作成できません。",
|
|
114
114
|
"cairo.deleteModal.title": "本当に削除してもよろしいですか?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "チェックマークなし",
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"cairo.table.gridView": "グリッドビュー",
|
|
474
474
|
"cairo.export.selectedItems": "選択中",
|
|
475
475
|
"cairo.entityPage.success.toast": "変更内容が保存されました。",
|
|
476
|
-
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "
|
|
476
|
+
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "まだラベルは割り当てられていません。",
|
|
477
477
|
"cairo.table.custom-columns.button.tooltip": "列をカスタマイズ",
|
|
478
478
|
"cairo.table.advanced-sorting.button.tooltip": "高度な並べ替え",
|
|
479
479
|
"cairo.dragAndDrop.button-role-label.sr": "{itemName}をドラッグします。",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "オプションを追加してください。",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "追加済みアプリ",
|
|
522
522
|
"cairo.export.successMessage": "現在ファイルのダウンロード中です。問題がある場合は",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "ファイルのダウンロードに問題が発生しました。",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "カスタム項目を使用してより多くの情報を収集、保存します。",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "「{viewName}」がデフォルトビューとして設定されました。",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "このフィルターのアイテムはみつかりませんでした。",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "라벨 이름을 입력하세요.",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "취소",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "사이트에 입력란을 동적으로 연결하려면 방문자 권한을 \"조회\"로 설정하세요. <learnMore>자세히 보기</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "페이지에서 \"{anchorName}\" 섹션이 삭제되었습니다.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "라벨은 최대 100개까지 추가할 수 있습니다.",
|
|
114
114
|
"cairo.deleteModal.title": "정말 삭제하시겠습니까?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "체크되지 않음",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Naam van label invoeren",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Annuleren",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Stel bezoekersmachtigingen in op 'Lezen' om dit veld dynamisch te koppelen op je website. <learnMore>Lees meer</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Er bestaat geen onderdeel met de naam \"{anchorName}\" meer op deze pagina.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Er kunnen niet meer dan 100 labels worden gemaakt.",
|
|
114
114
|
"cairo.deleteModal.title": "Weet je zeker dat je dit wilt verwijderen?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Niet aangevinkt",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Voeg een optie toe.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Geïnstalleerde apps",
|
|
522
522
|
"cairo.export.successMessage": "Je bestand wordt nu gedownload. Is het mislukt?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Er is een probleem opgetreden bij het downloaden van het bestand.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Gebruik aangepaste velden om meer informatie te verzamelen en op te slaan.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "\"{viewName}\" is ingesteld als je standaardweergave.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Geen items gevonden voor dit filter.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Skriv inn etikettnavn",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Avbryt",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Sett besøkstillatelser til «Les» for å koble dette feltet dynamisk til nettstedet ditt. <learnMore>Finn ut mer</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Det finnes ikke lenger en seksjon som heter «{anchorName}» på denne siden.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Kan ikke opprette mer enn 100 etiketter.",
|
|
114
114
|
"cairo.deleteModal.title": "Sikker på at du vil slette dette?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Ikke avmerket",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Wprowadź nazwę etykiety",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Anuluj",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Ustaw uprawnienia odwiedzających na „Odczyt”, aby dynamicznie podłączyć to pole na stronie. <learnMore>Dowiedz się więcej</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Na tej podstronie nie ma już sekcji o nazwie „{anchorName}”.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Nie można utworzyć więcej niż 100 etykiet.",
|
|
114
114
|
"cairo.deleteModal.title": "Na pewno chcesz to usunąć?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Nie zaznaczone",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Dodaj opcję.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Zainst. aplikacje",
|
|
522
522
|
"cairo.export.successMessage": "Pobieranie wkrótce zostanie rozpoczęte. Nie rozpoczęło się?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Wystąpił problem podczas pobierania pliku.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Użyj pól niestandardowych, aby przechowywać i zbierać więcej informacji.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "Widok „{viewName}” został ustawiony jako domyślny.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Nie znaleziono elementów dla tego filtra.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Введите название метки",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Отмена",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Установите права доступа посетителей на «Чтение», чтобы динамически подключить это поле. <learnMore>Подробнее</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "На странице больше нет раздела с названием «{anchorName}».",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Невозможно создать более 100 меток.",
|
|
114
114
|
"cairo.deleteModal.title": "Точно удалить?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Не отмечено",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Добавьте вариант.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Приложения сайта",
|
|
522
522
|
"cairo.export.successMessage": "Файл скачивается. Ничего не происходит?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "При скачивании файла возникла проблема.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Используйте настраиваемые поля для сбора и хранения дополнительной информации.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "Вид «{viewName}» установлен как вид по умолчанию.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Для этого фильтра ничего не найдено.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Ange etikettens namn",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "Avbryt",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Ställ in besökarbehörigheter till \"Skrivskyddat\" för att ansluta fältet dynamiskt på hemsidan. <learnMore>Läs mer</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Det finns inte längre en sektion som heter \"{anchorName}\" på den här sidan.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "Du kan inte skapa fler än 100 etiketter.",
|
|
114
114
|
"cairo.deleteModal.title": "Är du säker på att du vill radera bilden?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "Ej markerad",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Lägg till ett alternativ.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Installerade appar",
|
|
522
522
|
"cairo.export.successMessage": "Din fil håller nu på att laddas ner. Funkar det inte?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Det gick inte att ladda ner filen.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Använd anpassade fält för att lagra och samla in mer information.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "\"{viewName}\" har ställts in som din standardvy.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Inga objekt hittades för filtret.",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "กรอกชื่อป้ายกำกับ",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "ยกเลิก",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "กำหนดสิทธิ์ให้ผู้เข้าชม \"อ่าน\" ได้ เพื่อเชื่อมต่อช่องข้อมูลนี้เข้ากับเว็บไซต์ของคุณแบบไดนามิก <learnMore>ศึกษาเพิ่มเติม</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "หน้าเพจนี้ไม่มีหมวด \"{anchorName}\" แล้ว",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "ไม่สามารถสร้างป้ายกำกับมากกว่า 100 ป้าย",
|
|
114
114
|
"cairo.deleteModal.title": "คุณแน่ใจว่าต้องการลบสิ่งนี้?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "ไม่ได้ทำเครื่องหมาย",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "เพิ่มตัวเลือก",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "แอปที่ติดตั้งแล้ว",
|
|
522
522
|
"cairo.export.successMessage": "กำลังดาวน์โหลดไฟล์ของคุณ หากระบบไม่ทำงาน",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "พบปัญหาในการดาวน์โหลดไฟล์",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "ใช้ช่องข้อมูลที่กำหนดเองเพื่อจัดเก็บและรวบรวมข้อมูลเพิ่มเติม",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "กำหนดให้ \"{viewName}\" เป็นมุมมองตั้งต้นของคุณแล้ว",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "ไม่พบข้อมูลตามตัวกรองนี้",
|
|
@@ -109,7 +109,7 @@
|
|
|
109
109
|
"cairo.tags.manageTags.modal.list.input.placeholder.asLabels": "Etiket adı girin",
|
|
110
110
|
"cairo.customFields.addCustomField.modal.cancel.CTA": "İptal",
|
|
111
111
|
"cairo.customFields.addCustomField.modal.advancedSettings.siteVisitors.note": "Bu alanı dinamik olarak sitenize bağlamak için ziyaretçi izinlerini \"Okuma\" olarak ayarlayın. <learnMore>Daha Fazla Bilgi</learnMore>",
|
|
112
|
-
"cairo.settings.search.anchor-doesnt-exist.error": "
|
|
112
|
+
"cairo.settings.search.anchor-doesnt-exist.error": "Bu sayfada artık \"{anchorName}\" adlı bir bölüm yok.",
|
|
113
113
|
"cairo.tags.creationLimitReached.error.asLabels": "100 etiketten fazlası oluşturulamaz.",
|
|
114
114
|
"cairo.deleteModal.title": "Silmek İstediğinize Emin misiniz?",
|
|
115
115
|
"cairo.customFields.fieldType.checkbox.Selected.notChecked": "İşaretsiz",
|
|
@@ -520,7 +520,7 @@
|
|
|
520
520
|
"cairo.customFields.addCustomField.dropdownList.emptyFieldName.error": "Seçenek ekleyin.",
|
|
521
521
|
"cairo.customFields.addCustomField.modal.advancedSettings.externalApps": "Yüklü uygulamalar",
|
|
522
522
|
"cairo.export.successMessage": "Dosyanız şu anda indiriliyor. İndirme başlamadı mı?",
|
|
523
|
-
"cairo.downloadable-url.error.generic": "
|
|
523
|
+
"cairo.downloadable-url.error.generic": "Dosya indirilirken bir sorun oluştu.",
|
|
524
524
|
"cairo.customFields.entityPage.subtitle": "Daha fazla bilgi toplamak ve depolamak için özel alanları kullanın.",
|
|
525
525
|
"cairo.manageView.setAsDefault.success.toast": "\"{viewName}\" varsayılan görünüm olarak ayarlandı.",
|
|
526
526
|
"cairo.dropdownSearch.filters.emptyState": "Bu filtre için öge bulunamadı.",
|