@wix/bex-core 2.111.0 → 2.113.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 +4 -4
- 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 +4 -4
- 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/cjs/state/QueryState.js +10 -2
- package/dist/cjs/state/QueryState.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 +4 -4
- 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 +4 -4
- 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/esm/state/QueryState.js +10 -2
- package/dist/esm/state/QueryState.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/dist/types/state/QueryState.d.ts +2 -2
- package/dist/types/state/QueryState.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":[]}
|
|
@@ -61,6 +61,8 @@ class QueryState {
|
|
|
61
61
|
changeLimit: _mobx.action,
|
|
62
62
|
reset: _mobx.action,
|
|
63
63
|
toComputed: _mobx.action,
|
|
64
|
+
_filters: _mobx.observable.ref,
|
|
65
|
+
customFilters: _mobx.observable.ref,
|
|
64
66
|
addFilter: _mobx.action,
|
|
65
67
|
asComputed: _mobx.computed,
|
|
66
68
|
activeFilters: _mobx.computed,
|
|
@@ -242,8 +244,14 @@ class QueryState {
|
|
|
242
244
|
if (filter === undefined) {
|
|
243
245
|
return;
|
|
244
246
|
}
|
|
245
|
-
this._filters
|
|
246
|
-
|
|
247
|
+
this._filters = {
|
|
248
|
+
...this._filters,
|
|
249
|
+
[key]: filter
|
|
250
|
+
};
|
|
251
|
+
this.customFilters = {
|
|
252
|
+
...this.customFilters,
|
|
253
|
+
[key]: filter
|
|
254
|
+
};
|
|
247
255
|
const disposers = this.addFilterListeners(filter);
|
|
248
256
|
return () => {
|
|
249
257
|
disposers.forEach(d => d == null ? void 0 : d());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_Pagination","_mapValues","_interopRequireDefault","_pickBy","_events","_StringFilterState","_SortState","_util","_core","_QueryHistoryState","QueryState","constructor","params","_defineProperty2","default","EventEmitter","observable","set","deep","filter","addEventListener","events","emit","refreshOnColumnsChange","pagination","Pagination","limit","history","sort","SortState","customFilters","mapValues","filters","name","_filters","search","StringFilterState","defaultValue","queryHistory","QueryHistoryState","query","makeObservable","changeLimit","action","reset","toComputed","addFilter","asComputed","computed","activeFilters","nonPersistentFilters","nonPersistentFiltersEntries","nonPersistentFiltersMap","activeFiltersEntries","activeFiltersCount","hasActiveFilters","hasNonPersistentActiveFilters","resetFilters","bound","resetPage","filtersKey","filtersKeyHash","fields","fieldsKey","fieldsKeyHash","hasNonPersistentCustomFilters","nonPersistentCustomFiltersCount","init","_this$queryHistory","disposers","Object","values","filtersEntries","flatMap","_","addFilterListeners","forEach","d","Array","from","_columns","_fields","join","isEmpty","toArray","map","itemKey","undefined","hashQueryKey","moveToPage","_toComputed","searchFilter","page","offset","cursor","value","rawFilters","nonPersistentFiltersKey","rawSearch","field","fieldName","direction","order","columns","filtersArray","e","persistent","entries","entry","nonPersistentCustomFilters","reduce","size","pickBy","hasActiveSort","length","key","options","resetCustomFilters","resetSorting","initialCursor","exports"],"sources":["../../../src/state/QueryState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n AllFilters,\n ChangeValueOptions,\n ComputedQuery,\n ComputedQueryFull,\n Filter,\n FiltersMap,\n} from '../model';\nimport { initialCursor, Pagination } from './Pagination';\nimport mapValues from 'lodash/mapValues';\nimport pickBy from 'lodash/pickBy';\nimport { EventEmitter } from 'events';\nimport { History } from 'history';\nimport { StringFilterState } from './StringFilterState';\nimport { SortState } from './SortState';\nimport { addEventListener, TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\nimport { QueryHistoryState } from './QueryHistoryState';\n\nexport interface QueryStateParams<F extends FiltersMap = FiltersMap> {\n history?: History;\n filters: F;\n search?: Filter<string>;\n limit?: number;\n refreshOnColumnsChange?: boolean;\n}\n\nexport type QueryStateEvents = {\n change: () => void;\n refresh: (opts?: { clearResult?: boolean }) => void;\n scheduleRefresh: (opts?: { clearResult?: boolean }) => void;\n persist: () => void;\n};\n\nexport class QueryState<F extends FiltersMap = FiltersMap> {\n readonly history?: History;\n readonly pagination: Pagination;\n readonly customFilters: F;\n sort: SortState;\n readonly _filters: AllFilters<F>;\n readonly events = new EventEmitter() as TypedEmitter<QueryStateEvents>;\n\n readonly queryHistory: QueryHistoryState<F> | null;\n readonly refreshOnColumnsChange;\n\n _columns = observable.set<string>([], { deep: false });\n _fields = observable.set<string>([], { deep: false });\n\n _initializedFromHistory?: boolean;\n\n constructor(params: QueryStateParams<F>) {\n this.refreshOnColumnsChange = params.refreshOnColumnsChange;\n this.pagination = new Pagination({ limit: params.limit });\n\n this.history = params.history;\n this.sort = new SortState({});\n\n this.customFilters = mapValues(params.filters, (filter, name) => {\n if (filter) {\n filter.name = name;\n }\n return filter;\n }) as F;\n\n this._filters = {\n ...this.customFilters,\n search:\n params.search ??\n new StringFilterState({\n name: 'search',\n defaultValue: '',\n }),\n };\n\n this.queryHistory = this.history\n ? new QueryHistoryState({\n query: this,\n history: this.history,\n })\n : null;\n\n makeObservable(this, {\n changeLimit: action,\n reset: action,\n toComputed: action,\n addFilter: action,\n asComputed: computed,\n activeFilters: computed,\n nonPersistentFilters: computed,\n nonPersistentFiltersEntries: computed,\n nonPersistentFiltersMap: computed,\n activeFiltersEntries: computed,\n activeFiltersCount: computed,\n hasActiveFilters: computed,\n hasNonPersistentActiveFilters: computed,\n resetFilters: action.bound,\n resetPage: action.bound,\n filtersKey: computed,\n filtersKeyHash: computed,\n fields: computed,\n fieldsKey: computed,\n fieldsKeyHash: computed,\n hasNonPersistentCustomFilters: computed,\n nonPersistentCustomFiltersCount: computed,\n });\n }\n\n init() {\n const disposers = [\n ...Object.values(this.filtersEntries).flatMap(([_, filter]) => {\n return this.addFilterListeners(filter);\n }),\n this.queryHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n get limit() {\n return this.pagination.limit;\n }\n\n get fields() {\n return [\n ...Array.from(this._columns.values()),\n ...Array.from(this._fields.values()),\n ];\n }\n\n get fieldsKey() {\n return this.fields.sort();\n }\n\n get fieldsKeyHash() {\n return this.fieldsKey.join('');\n }\n\n get filtersKey() {\n const { customFilters } = this;\n\n return mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n }\n\n get filtersKeyHash() {\n return hashQueryKey([this.filtersKey]);\n }\n\n changeLimit(limit: number) {\n this.pagination.changeLimit(limit);\n }\n\n public reset() {\n this.pagination.moveToPage(0);\n }\n\n private _toComputed(): ComputedQueryFull<F> {\n const {\n pagination,\n customFilters,\n nonPersistentFiltersMap,\n search: searchFilter,\n sort,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n fields,\n refreshOnColumnsChange,\n } = this;\n const { page, limit, offset, cursor } = pagination;\n\n const filters: ComputedQuery<F>['filters'] = mapValues(\n customFilters,\n (filter) =>\n filter != null ? (filter.isEmpty ? undefined : filter.value) : filter,\n );\n const rawFilters: ComputedQuery<F>['rawFilters'] = mapValues(\n customFilters,\n (filter) => (filter != null ? filter.value : filter),\n );\n\n const filtersKey = mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const nonPersistentFiltersKey = mapValues(\n nonPersistentFiltersMap,\n (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const rawSearch = searchFilter.value;\n const search = searchFilter.isEmpty ? undefined : rawSearch;\n\n return {\n page,\n limit,\n sort: sort.value.map(({ field: fieldName, direction: order }) => ({\n fieldName,\n order,\n })),\n offset,\n cursor: cursor == null || typeof cursor === 'string' ? cursor : null,\n rawFilters,\n filtersKey,\n nonPersistentFiltersKey,\n filters,\n rawSearch,\n search,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n columns: fields,\n fields: refreshOnColumnsChange\n ? fields\n : Array.from(this._fields.values()),\n };\n }\n\n toComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get asComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get filtersArray() {\n const { _filters } = this;\n return Object.values(_filters).filter(\n (e) => e != null,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFilters() {\n const { filtersArray } = this;\n return filtersArray.filter((filter) => !filter.persistent);\n }\n\n get filtersEntries() {\n const { _filters } = this;\n return Object.entries(_filters).filter(\n (entry): entry is [string, Filter<unknown>] => entry[1] != null,\n );\n }\n\n get nonPersistentFiltersEntries() {\n const { filtersEntries } = this;\n return filtersEntries.filter(([_, filter]) => !filter.persistent);\n }\n\n get nonPersistentCustomFiltersCount() {\n return Object.values(this.nonPersistentCustomFilters).reduce(\n (size, filter) => size + filter.size,\n 0,\n );\n }\n\n get hasNonPersistentCustomFilters() {\n return this.nonPersistentCustomFiltersCount > 0;\n }\n\n get nonPersistentCustomFilters() {\n const { customFilters } = this;\n return Object.values(customFilters).filter(\n (e) => e != null && !e?.persistent,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFiltersMap() {\n const { customFilters } = this;\n return pickBy(customFilters, (filter) => !filter?.persistent) as Partial<F>;\n }\n\n get activeFiltersEntries() {\n const { nonPersistentFiltersEntries } = this;\n return nonPersistentFiltersEntries.filter(([_, filter]) => !filter.isEmpty);\n }\n\n get activeFilters() {\n const { nonPersistentFilters } = this;\n return nonPersistentFilters.filter((filter) => !filter.isEmpty);\n }\n\n get activeFiltersCount() {\n return this.activeFilters.reduce((size, filter) => size + filter.size, 0);\n }\n\n get hasActiveFilters() {\n return (\n this.filtersArray.reduce((size, filter) => size + filter.size, 0) > 0\n );\n }\n\n get hasNonPersistentActiveFilters() {\n return this.activeFiltersCount > 0;\n }\n\n get hasActiveSort() {\n return this.sort.value.length > 0;\n }\n\n addFilter<K extends keyof AllFilters<F>>(key: K, filter: AllFilters<F>[K]) {\n if (filter === undefined) {\n return;\n }\n this._filters[key] = filter;\n this.customFilters[key] = filter;\n const disposers = this.addFilterListeners(filter);\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n resetFilters(options?: ChangeValueOptions) {\n const { nonPersistentFilters } = this;\n nonPersistentFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetCustomFilters(options?: ChangeValueOptions) {\n const { nonPersistentCustomFilters } = this;\n nonPersistentCustomFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetSorting(params: { emitChangeEvent?: boolean } = {}) {\n this.sort.reset(params);\n }\n\n resetPage() {\n const { pagination } = this;\n pagination.page = 1;\n pagination.cursor = initialCursor;\n }\n\n get search() {\n return this._filters.search;\n }\n\n get filters(): AllFilters<F> {\n return this._filters;\n }\n\n addFilterListeners = (filter: Filter<unknown>) => {\n return [\n addEventListener(filter.events, 'change', () =>\n this.events.emit('change'),\n ),\n addEventListener(filter.events, 'refresh', () =>\n this.events.emit('refresh'),\n ),\n addEventListener(filter.events, 'scheduleRefresh', () =>\n this.events.emit('scheduleRefresh'),\n ),\n ];\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_Pagination","_mapValues","_interopRequireDefault","_pickBy","_events","_StringFilterState","_SortState","_util","_core","_QueryHistoryState","QueryState","constructor","params","_defineProperty2","default","EventEmitter","observable","set","deep","filter","addEventListener","events","emit","refreshOnColumnsChange","pagination","Pagination","limit","history","sort","SortState","customFilters","mapValues","filters","name","_filters","search","StringFilterState","defaultValue","queryHistory","QueryHistoryState","query","makeObservable","changeLimit","action","reset","toComputed","ref","addFilter","asComputed","computed","activeFilters","nonPersistentFilters","nonPersistentFiltersEntries","nonPersistentFiltersMap","activeFiltersEntries","activeFiltersCount","hasActiveFilters","hasNonPersistentActiveFilters","resetFilters","bound","resetPage","filtersKey","filtersKeyHash","fields","fieldsKey","fieldsKeyHash","hasNonPersistentCustomFilters","nonPersistentCustomFiltersCount","init","_this$queryHistory","disposers","Object","values","filtersEntries","flatMap","_","addFilterListeners","forEach","d","Array","from","_columns","_fields","join","isEmpty","toArray","map","itemKey","undefined","hashQueryKey","moveToPage","_toComputed","searchFilter","page","offset","cursor","value","rawFilters","nonPersistentFiltersKey","rawSearch","field","fieldName","direction","order","columns","filtersArray","e","persistent","entries","entry","nonPersistentCustomFilters","reduce","size","pickBy","hasActiveSort","length","key","options","resetCustomFilters","resetSorting","initialCursor","exports"],"sources":["../../../src/state/QueryState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n AllFilters,\n ChangeValueOptions,\n ComputedQuery,\n ComputedQueryFull,\n Filter,\n FiltersMap,\n} from '../model';\nimport { initialCursor, Pagination } from './Pagination';\nimport mapValues from 'lodash/mapValues';\nimport pickBy from 'lodash/pickBy';\nimport { EventEmitter } from 'events';\nimport { History } from 'history';\nimport { StringFilterState } from './StringFilterState';\nimport { SortState } from './SortState';\nimport { addEventListener, TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\nimport { QueryHistoryState } from './QueryHistoryState';\n\nexport interface QueryStateParams<F extends FiltersMap = FiltersMap> {\n history?: History;\n filters: F;\n search?: Filter<string>;\n limit?: number;\n refreshOnColumnsChange?: boolean;\n}\n\nexport type QueryStateEvents = {\n change: () => void;\n refresh: (opts?: { clearResult?: boolean }) => void;\n scheduleRefresh: (opts?: { clearResult?: boolean }) => void;\n persist: () => void;\n};\n\nexport class QueryState<F extends FiltersMap = FiltersMap> {\n readonly history?: History;\n readonly pagination: Pagination;\n customFilters: F;\n sort: SortState;\n _filters: AllFilters<F>;\n readonly events = new EventEmitter() as TypedEmitter<QueryStateEvents>;\n\n readonly queryHistory: QueryHistoryState<F> | null;\n readonly refreshOnColumnsChange;\n\n _columns = observable.set<string>([], { deep: false });\n _fields = observable.set<string>([], { deep: false });\n\n _initializedFromHistory?: boolean;\n\n constructor(params: QueryStateParams<F>) {\n this.refreshOnColumnsChange = params.refreshOnColumnsChange;\n this.pagination = new Pagination({ limit: params.limit });\n\n this.history = params.history;\n this.sort = new SortState({});\n\n this.customFilters = mapValues(params.filters, (filter, name) => {\n if (filter) {\n filter.name = name;\n }\n return filter;\n }) as F;\n\n this._filters = {\n ...this.customFilters,\n search:\n params.search ??\n new StringFilterState({\n name: 'search',\n defaultValue: '',\n }),\n };\n\n this.queryHistory = this.history\n ? new QueryHistoryState({\n query: this,\n history: this.history,\n })\n : null;\n\n makeObservable(this, {\n changeLimit: action,\n reset: action,\n toComputed: action,\n _filters: observable.ref,\n customFilters: observable.ref,\n addFilter: action,\n asComputed: computed,\n activeFilters: computed,\n nonPersistentFilters: computed,\n nonPersistentFiltersEntries: computed,\n nonPersistentFiltersMap: computed,\n activeFiltersEntries: computed,\n activeFiltersCount: computed,\n hasActiveFilters: computed,\n hasNonPersistentActiveFilters: computed,\n resetFilters: action.bound,\n resetPage: action.bound,\n filtersKey: computed,\n filtersKeyHash: computed,\n fields: computed,\n fieldsKey: computed,\n fieldsKeyHash: computed,\n hasNonPersistentCustomFilters: computed,\n nonPersistentCustomFiltersCount: computed,\n });\n }\n\n init() {\n const disposers = [\n ...Object.values(this.filtersEntries).flatMap(([_, filter]) => {\n return this.addFilterListeners(filter);\n }),\n this.queryHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n get limit() {\n return this.pagination.limit;\n }\n\n get fields() {\n return [\n ...Array.from(this._columns.values()),\n ...Array.from(this._fields.values()),\n ];\n }\n\n get fieldsKey() {\n return this.fields.sort();\n }\n\n get fieldsKeyHash() {\n return this.fieldsKey.join('');\n }\n\n get filtersKey() {\n const { customFilters } = this;\n\n return mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n }\n\n get filtersKeyHash() {\n return hashQueryKey([this.filtersKey]);\n }\n\n changeLimit(limit: number) {\n this.pagination.changeLimit(limit);\n }\n\n public reset() {\n this.pagination.moveToPage(0);\n }\n\n private _toComputed(): ComputedQueryFull<F> {\n const {\n pagination,\n customFilters,\n nonPersistentFiltersMap,\n search: searchFilter,\n sort,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n fields,\n refreshOnColumnsChange,\n } = this;\n const { page, limit, offset, cursor } = pagination;\n\n const filters: ComputedQuery<F>['filters'] = mapValues(\n customFilters,\n (filter) =>\n filter != null ? (filter.isEmpty ? undefined : filter.value) : filter,\n );\n const rawFilters: ComputedQuery<F>['rawFilters'] = mapValues(\n customFilters,\n (filter) => (filter != null ? filter.value : filter),\n );\n\n const filtersKey = mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const nonPersistentFiltersKey = mapValues(\n nonPersistentFiltersMap,\n (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const rawSearch = searchFilter.value;\n const search = searchFilter.isEmpty ? undefined : rawSearch;\n\n return {\n page,\n limit,\n sort: sort.value.map(({ field: fieldName, direction: order }) => ({\n fieldName,\n order,\n })),\n offset,\n cursor: cursor == null || typeof cursor === 'string' ? cursor : null,\n rawFilters,\n filtersKey,\n nonPersistentFiltersKey,\n filters,\n rawSearch,\n search,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n columns: fields,\n fields: refreshOnColumnsChange\n ? fields\n : Array.from(this._fields.values()),\n };\n }\n\n toComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get asComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get filtersArray() {\n const { _filters } = this;\n return Object.values(_filters).filter(\n (e) => e != null,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFilters() {\n const { filtersArray } = this;\n return filtersArray.filter((filter) => !filter.persistent);\n }\n\n get filtersEntries() {\n const { _filters } = this;\n return Object.entries(_filters).filter(\n (entry): entry is [string, Filter<unknown>] => entry[1] != null,\n );\n }\n\n get nonPersistentFiltersEntries() {\n const { filtersEntries } = this;\n return filtersEntries.filter(([_, filter]) => !filter.persistent);\n }\n\n get nonPersistentCustomFiltersCount() {\n return Object.values(this.nonPersistentCustomFilters).reduce(\n (size, filter) => size + filter.size,\n 0,\n );\n }\n\n get hasNonPersistentCustomFilters() {\n return this.nonPersistentCustomFiltersCount > 0;\n }\n\n get nonPersistentCustomFilters() {\n const { customFilters } = this;\n return Object.values(customFilters).filter(\n (e) => e != null && !e?.persistent,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFiltersMap() {\n const { customFilters } = this;\n return pickBy(customFilters, (filter) => !filter?.persistent) as Partial<F>;\n }\n\n get activeFiltersEntries() {\n const { nonPersistentFiltersEntries } = this;\n return nonPersistentFiltersEntries.filter(([_, filter]) => !filter.isEmpty);\n }\n\n get activeFilters() {\n const { nonPersistentFilters } = this;\n return nonPersistentFilters.filter((filter) => !filter.isEmpty);\n }\n\n get activeFiltersCount() {\n return this.activeFilters.reduce((size, filter) => size + filter.size, 0);\n }\n\n get hasActiveFilters() {\n return (\n this.filtersArray.reduce((size, filter) => size + filter.size, 0) > 0\n );\n }\n\n get hasNonPersistentActiveFilters() {\n return this.activeFiltersCount > 0;\n }\n\n get hasActiveSort() {\n return this.sort.value.length > 0;\n }\n\n addFilter<K extends keyof AllFilters<F>>(key: K, filter: AllFilters<F>[K]) {\n if (filter === undefined) {\n return;\n }\n this._filters = {\n ...this._filters,\n [key]: filter,\n };\n this.customFilters = {\n ...this.customFilters,\n [key]: filter,\n };\n const disposers = this.addFilterListeners(filter);\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n resetFilters(options?: ChangeValueOptions) {\n const { nonPersistentFilters } = this;\n nonPersistentFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetCustomFilters(options?: ChangeValueOptions) {\n const { nonPersistentCustomFilters } = this;\n nonPersistentCustomFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetSorting(params: { emitChangeEvent?: boolean } = {}) {\n this.sort.reset(params);\n }\n\n resetPage() {\n const { pagination } = this;\n pagination.page = 1;\n pagination.cursor = initialCursor;\n }\n\n get search() {\n return this._filters.search;\n }\n\n get filters(): AllFilters<F> {\n return this._filters;\n }\n\n addFilterListeners = (filter: Filter<unknown>) => {\n return [\n addEventListener(filter.events, 'change', () =>\n this.events.emit('change'),\n ),\n addEventListener(filter.events, 'refresh', () =>\n this.events.emit('refresh'),\n ),\n addEventListener(filter.events, 'scheduleRefresh', () =>\n this.events.emit('scheduleRefresh'),\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",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"cairo.customFields.addCustomField.modal.emptyFieldType.error": "Selecciona un tipo de campo.",
|
|
71
71
|
"cairo.filtersPanel.date.today": "Hoy",
|
|
72
72
|
"cairo.tags.manageTags.modal.toast.create.error": "No se pudo crear la etiqueta.",
|
|
73
|
-
"cairo.tags.tagsField.readOnly.emptyState": "
|
|
73
|
+
"cairo.tags.tagsField.readOnly.emptyState": "Todavía no hay ninguna etiqueta asignada. ",
|
|
74
74
|
"cairo.customFields.fieldType.longText.Name.placeholder": "P. ej., Notas",
|
|
75
75
|
"cairo.customFields.fieldType.dropdownList": "Lista desplegable",
|
|
76
76
|
"cairo.customFields.archive.modal.cancel.CTA": "Cancelar",
|
|
@@ -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",
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
"cairo.table.gridView": "Vista en cuadrícula",
|
|
474
474
|
"cairo.export.selectedItems": "Seleccionados",
|
|
475
475
|
"cairo.entityPage.success.toast": "Se guardaron los cambios.",
|
|
476
|
-
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "
|
|
476
|
+
"cairo.tags.tagsField.readOnly.emptyState.asLabels": "Todavía no hay ninguna etiqueta asignada.",
|
|
477
477
|
"cairo.table.custom-columns.button.tooltip": "Personalizar columnas",
|
|
478
478
|
"cairo.table.advanced-sorting.button.tooltip": "Clasificación avanzada",
|
|
479
479
|
"cairo.dragAndDrop.button-role-label.sr": "Arrastrar {itemName}.",
|
|
@@ -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": "このフィルターのアイテムはみつかりませんでした。",
|