@wix/bex-core 2.79.0 → 2.80.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 +8 -5
- package/dist/cjs/assets/locale/messages_da.json +11 -8
- package/dist/cjs/assets/locale/messages_de.json +11 -8
- package/dist/cjs/assets/locale/messages_en.json +6 -3
- package/dist/cjs/assets/locale/messages_es.json +11 -8
- package/dist/cjs/assets/locale/messages_fr.json +11 -8
- package/dist/cjs/assets/locale/messages_hi.json +5 -2
- package/dist/cjs/assets/locale/messages_id.json +11 -8
- package/dist/cjs/assets/locale/messages_it.json +11 -8
- package/dist/cjs/assets/locale/messages_ja.json +8 -5
- package/dist/cjs/assets/locale/messages_ko.json +11 -8
- package/dist/cjs/assets/locale/messages_nl.json +11 -8
- package/dist/cjs/assets/locale/messages_no.json +11 -8
- package/dist/cjs/assets/locale/messages_pl.json +11 -8
- package/dist/cjs/assets/locale/messages_pt.json +11 -8
- package/dist/cjs/assets/locale/messages_ru.json +11 -8
- package/dist/cjs/assets/locale/messages_sv.json +11 -8
- package/dist/cjs/assets/locale/messages_th.json +11 -8
- package/dist/cjs/assets/locale/messages_tr.json +11 -8
- package/dist/cjs/assets/locale/messages_uk.json +11 -8
- package/dist/cjs/assets/locale/messages_vi.json +11 -8
- package/dist/cjs/assets/locale/messages_zh.json +10 -7
- package/dist/cjs/hooks/useExport.js +4 -2
- package/dist/cjs/hooks/useExport.js.map +1 -1
- package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/createDataExtensionSchemaErrors.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js +27 -11
- package/dist/cjs/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/cjs/services/DataExtensionService/updateDataExtensionSchemaErrors.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/CollectionOptimisticExecutor.js +10 -3
- package/dist/cjs/state/CollectionOptimisticExecutor.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalState.js +42 -35
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/state/DataExtensionState.js +7 -2
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/cjs/state/ExportState/ExportState.js +17 -11
- package/dist/cjs/state/ExportState/ExportState.js.map +1 -1
- package/dist/cjs/state/ExportState/createExportAsyncJobErrors.js.map +1 -1
- package/dist/cjs/state/ExportState/getExportAsyncJobErrors.js.map +1 -1
- package/dist/cjs/state/OptimisticActions.js.map +1 -1
- package/dist/cjs/state/TagsState/TagsManagementState.js +14 -6
- package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/cjs/state/TagsState/createTagErrors.js.map +1 -1
- package/dist/cjs/state/WixPatternsContainer.js +4 -0
- package/dist/cjs/state/WixPatternsContainer.js.map +1 -1
- package/dist/cjs/state/buildWixPatternsContainer.js +2 -0
- package/dist/cjs/state/buildWixPatternsContainer.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/filterByApplyAllPatches.js +3 -0
- package/dist/cjs/state/optimistic-simulation/filterByApplyAllPatches.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +8 -5
- package/dist/esm/assets/locale/messages_da.json +11 -8
- package/dist/esm/assets/locale/messages_de.json +11 -8
- package/dist/esm/assets/locale/messages_en.json +6 -3
- package/dist/esm/assets/locale/messages_es.json +11 -8
- package/dist/esm/assets/locale/messages_fr.json +11 -8
- package/dist/esm/assets/locale/messages_hi.json +5 -2
- package/dist/esm/assets/locale/messages_id.json +11 -8
- package/dist/esm/assets/locale/messages_it.json +11 -8
- package/dist/esm/assets/locale/messages_ja.json +8 -5
- package/dist/esm/assets/locale/messages_ko.json +11 -8
- package/dist/esm/assets/locale/messages_nl.json +11 -8
- package/dist/esm/assets/locale/messages_no.json +11 -8
- package/dist/esm/assets/locale/messages_pl.json +11 -8
- package/dist/esm/assets/locale/messages_pt.json +11 -8
- package/dist/esm/assets/locale/messages_ru.json +11 -8
- package/dist/esm/assets/locale/messages_sv.json +11 -8
- package/dist/esm/assets/locale/messages_th.json +11 -8
- package/dist/esm/assets/locale/messages_tr.json +11 -8
- package/dist/esm/assets/locale/messages_uk.json +11 -8
- package/dist/esm/assets/locale/messages_vi.json +11 -8
- package/dist/esm/assets/locale/messages_zh.json +10 -7
- package/dist/esm/hooks/useExport.js +2 -1
- package/dist/esm/hooks/useExport.js.map +1 -1
- package/dist/esm/services/DataExtensionService/createDataExtensionSchemaErrors.js.map +1 -1
- package/dist/esm/services/DataExtensionService/dataExtensionService.js +17 -11
- package/dist/esm/services/DataExtensionService/dataExtensionService.js.map +1 -1
- package/dist/esm/services/DataExtensionService/updateDataExtensionSchemaErrors.js.map +1 -1
- package/dist/esm/state/CollectionOptimisticExecutor.js +8 -3
- package/dist/esm/state/CollectionOptimisticExecutor.js.map +1 -1
- package/dist/esm/state/CustomFieldModalState.js +38 -32
- package/dist/esm/state/CustomFieldModalState.js.map +1 -1
- package/dist/esm/state/DataExtensionState.js +4 -0
- package/dist/esm/state/DataExtensionState.js.map +1 -1
- package/dist/esm/state/ExportState/ExportState.js +16 -13
- package/dist/esm/state/ExportState/ExportState.js.map +1 -1
- package/dist/esm/state/ExportState/createExportAsyncJobErrors.js.map +1 -1
- package/dist/esm/state/ExportState/getExportAsyncJobErrors.js.map +1 -1
- package/dist/esm/state/TagsState/TagsManagementState.js +6 -4
- package/dist/esm/state/TagsState/TagsManagementState.js.map +1 -1
- package/dist/esm/state/TagsState/createTagErrors.js.map +1 -1
- package/dist/esm/state/WixPatternsContainer.js +3 -0
- package/dist/esm/state/WixPatternsContainer.js.map +1 -1
- package/dist/esm/state/buildWixPatternsContainer.js +2 -1
- package/dist/esm/state/buildWixPatternsContainer.js.map +1 -1
- package/dist/esm/state/optimistic-simulation/filterByApplyAllPatches.js +5 -0
- package/dist/esm/state/optimistic-simulation/filterByApplyAllPatches.js.map +1 -1
- package/dist/types/hooks/useExport.d.ts.map +1 -1
- package/dist/types/model/wixPatternsEssentials.d.ts +6 -0
- package/dist/types/model/wixPatternsEssentials.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/createDataExtensionSchemaErrors.d.ts +0 -1
- package/dist/types/services/DataExtensionService/createDataExtensionSchemaErrors.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts +4 -1
- package/dist/types/services/DataExtensionService/dataExtensionService.d.ts.map +1 -1
- package/dist/types/services/DataExtensionService/updateDataExtensionSchemaErrors.d.ts +0 -1
- package/dist/types/services/DataExtensionService/updateDataExtensionSchemaErrors.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +4 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticExecutor.d.ts +6 -2
- package/dist/types/state/CollectionOptimisticExecutor.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalBiReporter.d.ts +1 -0
- package/dist/types/state/CustomFieldModalBiReporter.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalState.d.ts +3 -0
- package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
- package/dist/types/state/DataExtensionState.d.ts +2 -0
- package/dist/types/state/DataExtensionState.d.ts.map +1 -1
- package/dist/types/state/ExportState/ExportState.d.ts +3 -1
- package/dist/types/state/ExportState/ExportState.d.ts.map +1 -1
- package/dist/types/state/ExportState/createExportAsyncJobErrors.d.ts +2 -2
- package/dist/types/state/ExportState/createExportAsyncJobErrors.d.ts.map +1 -1
- package/dist/types/state/ExportState/getExportAsyncJobErrors.d.ts +2 -2
- package/dist/types/state/ExportState/getExportAsyncJobErrors.d.ts.map +1 -1
- package/dist/types/state/OptimisticActions.d.ts +4 -2
- package/dist/types/state/OptimisticActions.d.ts.map +1 -1
- package/dist/types/state/TagsState/TagsManagementState.d.ts.map +1 -1
- package/dist/types/state/TagsState/createTagErrors.d.ts +2 -1
- package/dist/types/state/TagsState/createTagErrors.d.ts.map +1 -1
- package/dist/types/state/WixPatternsContainer.d.ts +2 -0
- package/dist/types/state/WixPatternsContainer.d.ts.map +1 -1
- package/dist/types/state/buildWixPatternsContainer.d.ts.map +1 -1
- package/dist/types/state/optimistic-simulation/filterByApplyAllPatches.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","MAX_CUSTOM_FIELDS","exports","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","disableUserDefinedWriting","filterable","closeSidePanel","reportBi","dataExtensionService","DataExtensionSchemaService","biReporter","DataExtensionStateBIReporter","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","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","customFieldModalState","customFieldModalBiReporter","reset","mode","formSnapshot","setFormValues","disablePermissionCheckboxes","modalState","modal","open","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","Boolean","init","initTask","runOnce","fetchSchemas","dataExtensionSchemas","forEach","s","userFieldsNamespace"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOrigin,\n CustomFieldOwner,\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}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n filterable?: boolean;\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 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\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\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 });\n }\n\n _hasWritePermissions?: boolean;\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 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 };\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 && 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 }\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 {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\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 return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .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 .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n );\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n 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).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n );\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).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 );\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.availableUserCustomFields.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","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","modalState","modal","open","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","isSupportedFieldType","getAvailableCustomFieldsInSchema","properties","requiredPermissions","Object","keys","filter","field","includesAllReadPermissions","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_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 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}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\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 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\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\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 });\n }\n\n _hasWritePermissions?: boolean;\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 && 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 }\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 {\n return {\n id: key,\n label: schema?.title,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema),\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\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 return Object.keys(properties)\n .filter((key) => {\n const field = properties[key];\n return (\n !field['x-wix-archived'] &&\n this.isSupportedFieldType(field.type) &&\n (requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions))\n );\n })\n .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 .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n );\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n 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).map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n );\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).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 );\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.availableUserCustomFields.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":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAUA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAeA,IAAAG,6BAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAeO,MAAMM,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,EAAE;AAE5B,MAAME,kBAAkB,CAAC;EAc9B,IAAIC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAAC,kBAAY,EAAC,IAAI,CAACC,IAAI,CAAC;EAChC;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACD,IAAI,CAACE,QAAQ,KAAKC,SAAS;EACzC;EASAC,WAAWA,CACTC,MAAmE,EACnE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBA5BkB,IAAIC,oBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,sBAmBAJ,SAAS;IAAA,IAAAG,gBAAA,CAAAC,OAAA,sBACPJ,SAAS;IAAA,IAAAG,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAS5C,IAAI,CAACE,SAAS,GAAGJ,MAAM,CAACI,SAAS;IACjC,IAAI,CAACC,yBAAyB,GAAGL,MAAM,CAACK,yBAAyB;IACjE,IAAI,CAACC,UAAU,GAAGN,MAAM,CAACM,UAAU;IACnC,IAAI,CAACC,cAAc,GAAGP,MAAM,CAACO,cAAc;IAC3C,IAAI,CAACC,QAAQ,GAAGR,MAAM,CAACQ,QAAQ;IAC/B,IAAI,CAACb,IAAI,GAAGK,MAAM,CAACL,IAAI;IACvB,IAAI,CAACc,oBAAoB,GAAG,IAAIC,oCAA0B,CACxDV,MAAM,CAACI,SACT,CAAC;IAED,IAAI,CAACO,UAAU,GAAG,IAAIC,0DAA4B,CAAC;MACjDJ,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;IACF,IAAI,CAACK,WAAW,GAAGb,MAAM,CAACa,WAAW;IAErC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,mBAAmB,EAAEC,cAAQ;MAC7BC,mBAAmB,EAAED,cAAQ;MAC7BE,eAAe,EAAEF,cAAQ;MACzBG,sBAAsB,EAAEH,cAAQ;MAChCI,yBAAyB,EAAEJ,cAAQ;MACnCK,yBAAyB,EAAEL,cAAQ;MACnCM,qBAAqB,EAAEN,cAAQ;MAC/BO,wBAAwB,EAAEP,cAAQ;MAClCQ,qBAAqB,EAAER,cAAQ;MAC/BS,4BAA4B,EAAET,cAAQ;MACtCU,UAAU,EAAEC,gBAAU,CAACC,GAAG;MAC1BC,UAAU,EAAEF,gBAAU,CAACC,GAAG;MAC1BE,oBAAoB,EAAEC,YAAM;MAC5BlB,WAAW,EAAEc;IACf,CAAC,CAAC;EACJ;EAIA,IAAIK,mBAAmBA,CAAA,EAAG;IACxB,IAAI,IAAI,CAACC,oBAAoB,IAAI,IAAI,EAAE;MACrC,IAAI,CAACA,oBAAoB,GAAG,IAAI,CAAC7B,SAAS,CAAC8B,IAAI,CAACC,WAAW,CAACC,QAAQ,CAClE,6BACF,CAAC;IACH;IAEA,OAAO,IAAI,CAACH,oBAAoB;EAClC;EAEA,IAAIT,qBAAqBA,CAAA,EAAG;IAC1B,OAAO,CAAC,IAAI,CAACQ,mBAAmB,IAAI,IAAI,CAACT,wBAAwB;EACnE;EAEA,IAAIE,4BAA4BA,CAAA,EAAG;IACjC,IAAI,CAAC,IAAI,CAACO,mBAAmB,EAAE;MAC7B,OAAO,IAAI,CAAC5B,SAAS,CAACiC,SAAS,CAC7B,4CACF,CAAC;IACH;IAEA,IAAI,IAAI,CAACd,wBAAwB,EAAE;MACjC,OAAO,IAAI,CAACnB,SAAS,CAACiC,SAAS,CAAC,sCAAsC,EAAE;QACtEC,GAAG,EAAEhD;MACP,CAAC,CAAC;IACJ;IAEA,OAAO,EAAE;EACX;EAEA,MAAMiD,YAAYA,CAAC;IAAEC,EAAE;IAAEC;EAAwC,CAAC,EAAE;IAClE,IAAID,EAAE,IAAI,IAAI,EAAE;MACd;IACF;IACA,IAAI;MAAA,IAAAE,qBAAA,EAAAC,eAAA;MACF,MAAM;QAAEC;MAAoB,CAAC,GAC3B,MAAM,IAAI,CAACnC,oBAAoB,CAACoC,kBAAkB,CAAC;QACjDC,MAAM,EAAE,IAAI,CAACpB,UAAU;QACvB/B,IAAI,EAAE,IAAI,CAACF,UAAU;QACrB+C;MACF,CAAC,CAAC;MAEJ,IAAAO,iBAAW,EAAC,MAAM;QAChB,IAAI,CAACrB,UAAU,GAAGkB,mBAAmB;MACvC,CAAC,CAAC;MAEF,CAAAF,qBAAA,IAAAC,eAAA,OAAI,CAACvC,SAAS,EAAC4C,SAAS,aAAxBN,qBAAA,CAAAO,IAAA,CAAAN,eAAA,EAA2B;QACzBO,OAAO,EAAE,IAAI,CAAC9C,SAAS,CAACiC,SAAS,CAC/B,0CACF,CAAC;QACDc,IAAI,EAAE,SAAS;QACfC,MAAM,EAAE;MACV,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOC,CAAC,EAAE;MAAA,IAAAC,sBAAA,EAAAC,gBAAA;MACV,CAAAD,sBAAA,IAAAC,gBAAA,OAAI,CAACnD,SAAS,EAAC4C,SAAS,aAAxBM,sBAAA,CAAAL,IAAA,CAAAM,gBAAA,EAA2B;QACzBL,OAAO,EAAE,IAAI,CAAC9C,SAAS,CAACiC,SAAS,CAC/B,2CACF,CAAC;QACDN,MAAM,EAAE;UACNyB,MAAM,EAAE,MAAM;UACdC,IAAI,EAAE,IAAI,CAACrD,SAAS,CAACiC,SAAS,CAAC,mBAAmB,CAAC;UACnDqB,OAAO,EAAEA,CAAA,KAAM;YACb,IAAI,CAAC/C,UAAU,CAACgD,qBAAqB,CAAC,CAAC;YACvC,IAAI,CAACpB,YAAY,CAAC;cAAEC,EAAE;cAAEC;YAAO,CAAC,CAAC;UACnC,CAAC;UACDmB,kBAAkB,EAAE;QACtB,CAAC;QACDT,IAAI,EAAE,OAAO;QACbC,MAAM,EAAE;MACV,CAAC,CAAC;MACF,IAAI,CAACzC,UAAU,CAACkD,wBAAwB,CAAC;QACvCC,UAAU,EAAE,IAAI,CAACC,4BAA4B,CAACvB,EAAE,CAAC;QACjDC;MACF,CAAC,CAAC;IACJ;EACF;EAEAsB,4BAA4BA,CAACC,OAAe,EAA+B;IACzE,IAAI,CAAC,IAAI,CAACtC,UAAU,EAAE;MACpB;IACF;IAEA,MAAMuC,WAAW,GAAGvD,oCAA0B,CAACwD,aAAa,CAC1D,IAAI,CAACxC,UAAU,EACfsC,OACF,CAAC;IAED,IAAI,CAACC,WAAW,IAAI,CAACA,WAAW,CAACd,IAAI,IAAI,CAACc,WAAW,CAACE,KAAK,EAAE;MAC3D;IACF;IAEA,MAAM;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAGJ,WAAW,CAAC,mBAAmB,CAAC;IACxD,MAAMK,UAAU,GAAGL,WAAW,CAAC,WAAW,CAAC;IAC3C,MAAMM,QAAQ,GAAGH,IAAI,oBAAJA,IAAI,CAAEhC,QAAQ,CAAC,MAAM,CAAC;IACvC,MAAMoC,SAAS,GAAGJ,IAAI,oBAAJA,IAAI,CAAEhC,QAAQ,CAAC,gBAAgB,CAAC;IAClD,MAAMqC,SAAS,GAAGJ,KAAK,oBAALA,KAAK,CAAEjC,QAAQ,CAAC,MAAM,CAAC;IACzC,MAAMsC,UAAU,GAAGL,KAAK,oBAALA,KAAK,CAAEjC,QAAQ,CAAC,gBAAgB,CAAC;IAEpD,OAAO;MACLe,IAAI,EAAEzC,oCAA0B,CAACiE,YAAY,CAACV,WAAW,CAAC;MAC1DW,IAAI,EAAEX,WAAW,CAACE,KAAK;MACvBU,GAAG,EAAEZ,WAAW,CAACzB,EAAE;MACnB+B,QAAQ;MACRC,SAAS;MACTC,SAAS;MACTC,UAAU;MACV7D,WAAW,EAAEiE,OAAO,CAACR,UAAU;IACjC,CAAC;EACH;EAEAxC,oBAAoBA,CAAC9B,MAGpB,EAAE;IACD,MAAM;MAAE+E;IAAsB,CAAC,GAAG,IAAI;IAEtC,IAAI,CAACA,qBAAqB,EAAE;MAC1B;IACF;IAEA,MAAM;MAAEC;IAA2B,CAAC,GAAGD,qBAAqB;IAE5DA,qBAAqB,CAACE,KAAK,CAAC,CAAC;IAC7BF,qBAAqB,CAACG,IAAI,GAAGlF,MAAM,CAACgE,OAAO,GAAG,MAAM,GAAG,KAAK;IAC5De,qBAAqB,CAACtC,MAAM,GAAGzC,MAAM,CAACyC,MAAM;IAC5CuC,0BAA0B,CAACG,YAAY,GAAG,IAAI;IAE9C,IAAI,IAAI,CAACzD,UAAU,IAAI1B,MAAM,CAACgE,OAAO,EAAE;MACrC,MAAMF,UAAU,GAAG,IAAI,CAACC,4BAA4B,CAAC/D,MAAM,CAACgE,OAAO,CAAC;MAEpE,IAAI,CAACF,UAAU,EAAE;QACf;MACF;MAEAiB,qBAAqB,CAACK,aAAa,CAACtB,UAAU,EAAE;QAC9CuB,2BAA2B,EAAE;MAC/B,CAAC,CAAC;MACFL,0BAA0B,CAACG,YAAY,GAAGrB,UAAU;IACtD;IAEAiB,qBAAqB,CAACO,UAAU,CAACC,KAAK,CAACC,IAAI,CAAC,CAAC;EAC/C;EAEAC,cAAcA,CAAC;IACbZ,GAAG;IACH/B,MAAM;IACN4C,QAAQ;IACRC,KAAK;IACLC;EAOF,CAAC,EAAe;IACd,OAAO;MACLpD,EAAE,EAAEqC,GAAG;MACPgB,KAAK,EAAE/C,MAAM,oBAANA,MAAM,CAAEqB,KAAK;MACpB2B,SAAS,EAAEhD,MAAM,oBAANA,MAAM,CAAEgD,SAAS;MAC5BC,OAAO,EAAEjD,MAAM,oBAANA,MAAM,CAAEkD,IAAI;MACrB7C,IAAI,EAAEzC,oCAA0B,CAACiE,YAAY,CAAC7B,MAAM,CAAC;MACrD4C,QAAQ;MACRpF,UAAU,EAAEwC,MAAM,CAAC,kBAAkB,CAAC;MACtC6C,KAAK;MACLC;IACF,CAAC;EACH;EAEQK,oBAAoBA,CAAC9C,IAAa,EAA6B;IACrE,IAAI,CAACA,IAAI,EAAE;MACT,OAAO,KAAK;IACd;IACA,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAACf,QAAQ,CAACe,IAAI,CAAC;EAC3E;EAEQ+C,gCAAgCA,CACtCC,UAEC,EACD;IACET,QAAQ;IACRU,mBAAmB;IACnBT,KAAK;IACLC;EAMF,CAAC,EACc;IACf,OAAOS,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CAC3BI,MAAM,CAAE1B,GAAG,IAAK;MACf,MAAM2B,KAAK,GAAGL,UAAU,CAACtB,GAAG,CAAC;MAC7B,OACE,CAAC2B,KAAK,CAAC,gBAAgB,CAAC,IACxB,IAAI,CAACP,oBAAoB,CAACO,KAAK,CAACrD,IAAI,CAAC,KACpCiD,mBAAmB,IAAI,IAAI,IAC1B,IAAAK,8CAA0B,EAACD,KAAK,EAAEJ,mBAAmB,CAAC,CAAC;IAE7D,CAAC,CAAC,CACDM,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAK;MACd,MAAMC,IAAI,GAAG,IAAIC,IAAI,CAACX,UAAU,CAACQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;MAC1D,MAAMI,IAAI,GAAG,IAAID,IAAI,CAACX,UAAU,CAACS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;MAE1D,IAAII,KAAK,CAACD,IAAI,CAACE,OAAO,CAAC,CAAC,CAAC,IAAID,KAAK,CAACH,IAAI,CAACI,OAAO,CAAC,CAAC,CAAC,EAAE;QAClD,OAAO,CAAC;MACV;MAEA,OAAOJ,IAAI,CAACI,OAAO,CAAC,CAAC,GAAGF,IAAI,CAACE,OAAO,CAAC,CAAC;IACxC,CAAC,CAAC,CACDC,GAAG,CAAErC,GAAG,IACP,IAAI,CAACY,cAAc,CAAC;MAClBZ,GAAG;MACH/B,MAAM,EAAEqD,UAAU,CAACtB,GAAG,CAAC;MACvBa,QAAQ;MACRC,KAAK;MACLC;IACF,CAAC,CACH,CAAC;EACL;;EAEA;AACF;AACA;EACE,IAAIxE,yBAAyBA,CAAA,EAAkB;IAAA,IAAA+F,gBAAA;IAC7C,MAAMhB,UAAiD,GACrD,EAAAgB,gBAAA,OAAI,CAACzF,UAAU,cAAAyF,gBAAA,GAAfA,gBAAA,CAAiBC,UAAU,qBAA3BD,gBAAA,CAA6BhB,UAAU,KAAI,CAAC,CAAC;IAC/C,OAAO,IAAI,CAACD,gCAAgC,CAACC,UAAU,EAAE;MACvDT,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE,MAAM;MACbC,SAAS,EAAE;IACb,CAAC,CAAC;EACJ;EAEA,IAAIvE,yBAAyBA,CAAA,EAAkB;IAAA,IAAAgG,gBAAA;IAC7C,OACE,EAAAA,gBAAA,OAAI,CAACxF,UAAU,qBAAfwF,gBAAA,CAAiBC,MAAM,CAAC,CAACC,IAAI,EAAEzE,MAAM,KAAK;MACxC,OAAO,CAAC,GAAGyE,IAAI,EAAE,GAAG,IAAI,CAACC,8BAA8B,CAAC1E,MAAM,CAAC,CAAC;IAClE,CAAC,EAAE,EAAmB,CAAC,KAAI,EAAE;EAEjC;EAEA0E,8BAA8BA,CAC5BC,SAA8B,EACf;IAAA,IAAAC,qBAAA;IACf,MAAMvB,UAAiD,GACrD,EAAAuB,qBAAA,GAAAD,SAAS,CAACL,UAAU,qBAApBM,qBAAA,CAAsBvB,UAAU,KAAI,CAAC,CAAC;IAExC,OAAO,IAAI,CAACD,gCAAgC,CAACC,UAAU,EAAE;MACvDT,QAAQ,EAAE,KAAK;MACfU,mBAAmB,EAAE,CAAC,OAAO,CAAC;MAC9BT,KAAK,EAAE,KAAK;MACZC,SAAS,EAAE6B,SAAS,CAAC7B;IACvB,CAAC,CAAC;EACJ;EAEA,IAAItE,qBAAqBA,CAAA,EAAkB;IACzC,OAAO,CACL,GAAG,IAAI,CAACF,yBAAyB,EACjC,GAAG,IAAI,CAACC,yBAAyB,CAClC;EACH;EAEA,IAAIN,mBAAmBA,CAAA,EAAkB;IAAA,IAAA4G,iBAAA;IACvC,MAAMxB,UAAiD,GACrD,EAAAwB,iBAAA,OAAI,CAACjG,UAAU,cAAAiG,iBAAA,GAAfA,iBAAA,CAAiBP,UAAU,qBAA3BO,iBAAA,CAA6BxB,UAAU,KAAI,CAAC,CAAC;IAE/C,OAAOE,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CAACe,GAAG,CAAErC,GAAG,IACrC,IAAI,CAACY,cAAc,CAAC;MAClBZ,GAAG;MACH/B,MAAM,EAAEqD,UAAU,CAACtB,GAAG,CAAC;MACvBa,QAAQ,EAAE,IAAI;MACdC,KAAK,EAAE,MAAM;MACbC,SAAS,EAAE;IACb,CAAC,CACH,CAAC;EACH;EAEA,IAAI3E,mBAAmBA,CAAA,EAAkB;IAAA,IAAA2G,iBAAA;IACvC,OACE,EAAAA,iBAAA,OAAI,CAAC/F,UAAU,qBAAf+F,iBAAA,CAAiBN,MAAM,CAAC,CAACC,IAAI,EAAEE,SAAS,KAAK;MAAA,IAAAI,sBAAA;MAC3C,MAAM1B,UAAiD,GACrD,CAAAsB,SAAS,aAAAI,sBAAA,GAATJ,SAAS,CAAEL,UAAU,qBAArBS,sBAAA,CAAuB1B,UAAU,KAAI,CAAC,CAAC;MAEzC,OAAOoB,IAAI,CAACO,MAAM,CAChBzB,MAAM,CAACC,IAAI,CAACH,UAAU,CAAC,CAACe,GAAG,CAAErC,GAAG,IAC9B,IAAI,CAACY,cAAc,CAAC;QAClBZ,GAAG;QACH/B,MAAM,EAAEqD,UAAU,CAACtB,GAAG,CAAC;QACvBa,QAAQ,EAAE,KAAK;QACfC,KAAK,EAAE,KAAK;QACZC,SAAS,EAAE6B,SAAS,CAAC7B;MACvB,CAAC,CACH,CACF,CAAC;IACH,CAAC,EAAE,EAAmB,CAAC,KAAI,EAAE;EAEjC;EAEA,IAAI1E,eAAeA,CAAA,EAAkB;IACnC,OAAO,CAAC,GAAG,IAAI,CAACH,mBAAmB,EAAE,GAAG,IAAI,CAACE,mBAAmB,CAAC;EACnE;EAEA,IAAIE,sBAAsBA,CAAA,EAAkB;IAC1C,IAAI,CAAC,IAAI,CAACb,UAAU,EAAE;MACpB,OAAO,EAAE;IACX;IAEA,OAAO,IAAI,CAACc,yBAAyB,CAACmF,MAAM,CAAEC,KAAK,IAAKA,KAAK,CAAClG,UAAU,CAAC;EAC3E;EAEA,IAAIiB,wBAAwBA,CAAA,EAAG;IAC7B,OAAO,IAAI,CAACR,mBAAmB,CAACgH,MAAM,IAAIzI,iBAAiB;EAC7D;EAEA,IAAI0I,aAAaA,CAAA,EAAG;IAAA,IAAAC,iBAAA;IAClB,OAAO,EAAAA,iBAAA,GACL,IAAI,CAACvG,UAAU,qBAAfuG,iBAAA,CAAiBrC,SAAS,EAC1B,GAAG,CAAC,IAAI,CAAC/D,UAAU,IAAI,EAAE,EAAEqF,GAAG,CAAEpE,MAAM,IAAKA,MAAM,CAAC8C,SAAS,CAAC,CAC7D,CAACW,MAAM,CAACzB,OAAO,CAAC;EACnB;EAEAoD,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI;IAEzBA,QAAQ,CAACC,OAAO,CAAC,YAAY;MAC3B,MAAM,IAAI,CAACC,YAAY,CAAC,CAAC;IAC3B,CAAC,CAAC;EACJ;EAEA,MAAMA,YAAYA,CAAA,EAAG;IACnB,MAAM;MAAE5H;IAAqB,CAAC,GAAG,IAAI;IAErC,IAAI,IAAI,CAACb,WAAW,EAAE;MACpB,MAAM;QAAE0I;MAAqB,CAAC,GAAG,MAAM7H,oBAAoB,CAAC4H,YAAY,CACtE,IAAI,CAAC5I,UACP,CAAC;MAED,IAAAsD,iBAAW,EAAC,MAAM;QAChBuF,oBAAoB,YAApBA,oBAAoB,CAAEC,OAAO,CAAEC,CAAC,IAAK;UACnC,IAAIA,CAAC,CAAC5C,SAAS,KAAKnF,oBAAoB,CAACgI,mBAAmB,EAAE;YAC5D,IAAI,CAAC/G,UAAU,GAAG8G,CAAC;YACnB;UACF;UACA,IAAI,CAAC3G,UAAU,GAAG,IAAI,CAACA,UAAU,GAAG,CAAC,GAAG,IAAI,CAACA,UAAU,EAAE2G,CAAC,CAAC,GAAG,CAACA,CAAC,CAAC;QACnE,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF;AACF;AAACjJ,OAAA,CAAAC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -57,6 +57,7 @@ class ExportState {
|
|
|
57
57
|
(0, _defineProperty2.default)(this, "saveAs", void 0);
|
|
58
58
|
(0, _defineProperty2.default)(this, "window", void 0);
|
|
59
59
|
(0, _defineProperty2.default)(this, "httpClient", void 0);
|
|
60
|
+
(0, _defineProperty2.default)(this, "errorHandler", void 0);
|
|
60
61
|
(0, _defineProperty2.default)(this, "onlineState", void 0);
|
|
61
62
|
(0, _defineProperty2.default)(this, "exportModalState", void 0);
|
|
62
63
|
(0, _defineProperty2.default)(this, "collectionPageState", void 0);
|
|
@@ -127,6 +128,7 @@ class ExportState {
|
|
|
127
128
|
this.saveAs = props.saveAs;
|
|
128
129
|
this.window = props.window;
|
|
129
130
|
this.httpClient = props.httpClient;
|
|
131
|
+
this.errorHandler = props.errorHandler;
|
|
130
132
|
this.onlineState = props.onlineState;
|
|
131
133
|
this.exportModalState = props.exportModalState;
|
|
132
134
|
this.collectionPageState = props.collectionPageState;
|
|
@@ -605,7 +607,8 @@ class ExportState {
|
|
|
605
607
|
httpClient,
|
|
606
608
|
events,
|
|
607
609
|
onlineState,
|
|
608
|
-
translate
|
|
610
|
+
translate,
|
|
611
|
+
errorHandler
|
|
609
612
|
} = this;
|
|
610
613
|
let current = null;
|
|
611
614
|
try {
|
|
@@ -623,12 +626,13 @@ class ExportState {
|
|
|
623
626
|
}
|
|
624
627
|
break;
|
|
625
628
|
}
|
|
626
|
-
(0,
|
|
627
|
-
translate
|
|
628
|
-
});
|
|
629
|
-
const getExportAsyncJobResponse = await httpClient.request((0, _http.getExportAsyncJob)({
|
|
629
|
+
const getExportAsyncJobResponse = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.getExportAsyncJob)({
|
|
630
630
|
jobId
|
|
631
|
-
}))
|
|
631
|
+
})), {
|
|
632
|
+
errorCodesMap: (0, _getExportAsyncJobErrors.getExportAsyncJobErrors)({
|
|
633
|
+
translate
|
|
634
|
+
})
|
|
635
|
+
}).catch(error => ({
|
|
632
636
|
error
|
|
633
637
|
}));
|
|
634
638
|
if (getExportAsyncJobResponse && !('data' in getExportAsyncJobResponse)) {
|
|
@@ -765,6 +769,7 @@ class ExportState {
|
|
|
765
769
|
const {
|
|
766
770
|
createExportAsyncJobRequest,
|
|
767
771
|
httpClient,
|
|
772
|
+
errorHandler,
|
|
768
773
|
transformPlatformizedQuery,
|
|
769
774
|
selectedExportOption,
|
|
770
775
|
events,
|
|
@@ -813,18 +818,19 @@ class ExportState {
|
|
|
813
818
|
});
|
|
814
819
|
const _createExport = async () => {
|
|
815
820
|
try {
|
|
816
|
-
(0, _createExportAsyncJobErrors.createExportAsyncJobErrors)({
|
|
817
|
-
translate
|
|
818
|
-
});
|
|
819
821
|
const {
|
|
820
822
|
data: createExportAsyncJobResponse
|
|
821
|
-
} = await httpClient.request((0, _http.createExportAsyncJob)({
|
|
823
|
+
} = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.createExportAsyncJob)({
|
|
822
824
|
fields: [],
|
|
823
825
|
methodMetadata: {},
|
|
824
826
|
...createExportAsyncJobRequest,
|
|
825
827
|
saveAs,
|
|
826
828
|
query
|
|
827
|
-
}))
|
|
829
|
+
})), {
|
|
830
|
+
errorCodesMap: (0, _createExportAsyncJobErrors.createExportAsyncJobErrors)({
|
|
831
|
+
translate
|
|
832
|
+
})
|
|
833
|
+
}).catch(err => {
|
|
828
834
|
if (!onlineState.isOnline) {
|
|
829
835
|
events.once('online', () => {
|
|
830
836
|
this._exportTo({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_http","require","_types","_mobx","_model","_services","_mapValues","_interopRequireDefault","_events","_ExportStateBIReporter","_getJobItemsAbsoluteCounter","_getExportAsyncJobErrors","_createExportAsyncJobErrors","defaultPlatformizedQuery","filter","sort","ExportState","constructor","props","_defineProperty2","default","queryStatus","idle","pollingDelay","stateJob","maxPolling","maxRetries","queryJobRetries","delay","max","iterationsCount","pollCount","retries","count","EventEmitter","selected","action","collection","bulkSelect","selectedCountOrTotal","filtered","result","total","supportTotal","all","allItemsQuery","query","asComputed","filtersKey","mapValues","customFilters","undefined","rawFilters","filters","queryKey","_queryKey","allItemsQueryResult","queryClient","fetchQuery","queryFn","_queryFn","e","preventDefault","returnValue","customTotal","differentQueryEndpointThanCollection","translate","createExportAsyncJobRequest","saveAs","window","httpClient","onlineState","exportModalState","collectionPageState","showToast","internalMonitor","reportBi","disabledRadios","transformPlatformizedQuery","bi","ExportStateBIReporter","makeObservable","exportStatus","observable","ref","iterationsCountPoll","isExporting","computed","totalForExport","selectedExportOption","counter","absoluteCounter","onExportToClick","bound","onExportCloseAttemptClick","onCancelExportCloseButtonClick","onCancelExportGoBackButtonClick","onExportSecondaryActionAttempt","onRetryExportToClick","onFailedClose","onFailedCancel","onCancelClick","onCloseClick","init","setTotalForExport","onExportTypeChange","hasFilters","totalForExportMap","hasSelectedRows","isAllSelected","currentStep","_onJobSuccess","_checkIfStaleJob","_throwJobError","_updateJobProgress","isModalOpen","isOpen","isLoading","isSuccess","_cancelJob","_reset","prev","next","_this$maybeToast","maybeToast","remove","clickOpenModal","onOnlineChanged","isOnline","events","emit","on","removeEventListener","beforeunload","removeAllListeners","off","hasActiveFilters","selectedIds","length","allSelected","totalForExportGettersMap","params","collectionTotalPromise","runInAction","close","onCancelExportVerifyButtonClick","onCancelExportButtonClick","onExportCancelAttemptClick","exportStartTime","performance","now","interactionStarted","reportExportEnd","onExportStart","_exportTo","onExportEnd","interactionEnded","job","_job$data","_this$showToast","t","data","signedUrl","once","Promise","resolve","setTimeout","success","_updateAbsoluteCounter","res","biState","beforeToast","call","message","biName","timeout","type","onToastDismissed","by","text","uiType","navigationTarget","url","openInNewTab","onClick","onToastActionClick","download","then","_job$data2","_job$data3","_job$data4","error","applicationError","code","Object","assign","Error","response","_job$data5","_job$data6","status","JobStatus","FINISHED","_job$data7","completionStep","config","_job$data8","newAbsoluteCounter","getJobItemsAbsoluteCounter","Math","floor","random","newCounter","round","_poll","jobId","current","_job$data$error","currentJob","promise","getExportAsyncJobErrors","getExportAsyncJobResponse","request","getExportAsyncJob","catch","WixPatternsError","errorCode","originalException","extraData","loading","FAILED","_job$data$error2","checkIfStaleJobResult","_job$data9","_job$data10","pagingMetadata","console","reportError","_this$saveAs","addEventListener","platformizedQuery","selectAll","uncheckedInCurrentCollection","uncheckedValues","computedQuery","wixPatternsQuery","exportPublicState","selectedItems","isSelectAll","totalForExportPromise","pageTitle","_createExport","createExportAsyncJobErrors","createExportAsyncJobResponse","createExportAsyncJob","fields","methodMetadata","err","_createExportAsyncJob","id","_createExportAsyncJob2","exports"],"sources":["../../../../src/state/ExportState/ExportState.ts"],"sourcesContent":["import {\n createExportAsyncJob,\n getExportAsyncJob,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/http';\nimport {\n CreateExportAsyncJobRequest,\n ExportAsyncJob,\n ExportQueryV2 as QueryV2,\n Status as JobStatus,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport {\n WixPatternsEssentials,\n ComputedQueryFull,\n FiltersMap,\n queryStatus,\n ShowToast,\n TaskStatus,\n} from '../../model';\nimport {\n WixPatternsError,\n WixPatternsMonitor,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../../services';\nimport { CollectionState } from '../CollectionState';\nimport mapValues from 'lodash/mapValues';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../../util';\nimport { ExportStateBIReporter } from './ExportStateBIReporter';\nimport { ModalState } from '../ModalState';\nimport { getJobItemsAbsoluteCounter } from '../getJobItemsAbsoluteCounter';\nimport { ExportJobStateParams } from './ExportJobState';\nimport { ErrorDetails } from '../../util/isHttpError';\nimport { OnlineState } from '../OnlineState';\nimport { CollectionPageState } from '../CollectionPageState';\nimport { getExportAsyncJobErrors } from './getExportAsyncJobErrors';\nimport { createExportAsyncJobErrors } from './createExportAsyncJobErrors';\n\nfunction defaultPlatformizedQuery(): QueryV2 {\n return {\n filter: {},\n sort: [],\n };\n}\n\ninterface ExportPublicState<T, F extends FiltersMap> {\n platformizedQuery: QueryV2;\n wixPatternsQuery: ComputedQueryFull<F>;\n selectedItems?: string[];\n isSelectAll: boolean;\n uncheckedValues?: T[];\n}\n\nexport type CustomTotalFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F> & {\n collectionTotalPromise: number | null | Promise<number | null | undefined>;\n },\n) => number | null | undefined | Promise<number | null | undefined>;\n\nexport type TransformQuery<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => QueryV2 | Promise<QueryV2>;\n\nexport type SaveAsFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => string;\n\nexport interface ExportStateProps<T, F extends FiltersMap> {\n transformPlatformizedQuery?: TransformQuery<T, F>;\n differentQueryEndpointThanCollection?: boolean;\n customTotal?: CustomTotalFn<T, F>;\n\n createExportAsyncJobRequest: Partial<CreateExportAsyncJobRequest>;\n saveAs?: SaveAsFn<T, F>;\n\n httpClient: WixPatternsEssentials['httpClient'];\n showToast?: ShowToast;\n translate: Translate;\n collection: CollectionState<T, F>;\n reportBi: ReportBI;\n onlineState: OnlineState;\n internalMonitor: WixPatternsMonitor;\n\n exportModalState: ModalState;\n collectionPageState: CollectionPageState;\n window: PartialWindow;\n}\n\nexport type SelectedExportOption = 'all' | 'selected' | 'filtered';\n\nexport class ExportState<T, F extends FiltersMap> {\n exportStatus: TaskStatus<ExportAsyncJob, unknown> = {\n ...queryStatus.idle,\n };\n\n readonly config = {\n pollingDelay: 2000,\n stateJob: {\n maxPolling: 14,\n maxRetries: 1,\n },\n queryJobRetries: {\n delay: 5000,\n max: 4,\n },\n };\n\n exportStartTime: number = 0;\n totalForExport: number | undefined | null = null;\n selectedExportOption: SelectedExportOption = 'all';\n disabledRadios: SelectedExportOption[];\n maybeToast?: { remove: () => void };\n iterationsCountPoll: {\n iterationsCount?: number;\n pollCount: number;\n retries: number;\n } = {\n iterationsCount: 0,\n pollCount: 0,\n retries: 0,\n };\n\n queryJobRetries: {\n count: number;\n } = {\n count: 0,\n };\n\n readonly differentQueryEndpointThanCollection;\n readonly customTotal;\n readonly translate;\n readonly createExportAsyncJobRequest;\n readonly saveAs;\n readonly window;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineState;\n readonly exportModalState;\n readonly collectionPageState;\n readonly transformPlatformizedQuery?: ExportStateProps<\n T,\n F\n >['transformPlatformizedQuery'];\n readonly showToast;\n readonly internalMonitor;\n readonly collection;\n readonly reportBi;\n readonly bi;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n afterJobCreated: (params: { job: ExportAsyncJob }) => unknown;\n undoCancel: () => unknown;\n online: () => unknown;\n }>;\n\n counter = 0;\n absoluteCounter = 0;\n retries = 0;\n\n constructor(props: ExportStateProps<T, F>) {\n this.customTotal = props.customTotal;\n this.differentQueryEndpointThanCollection =\n props.differentQueryEndpointThanCollection;\n this.translate = props.translate;\n this.createExportAsyncJobRequest = props.createExportAsyncJobRequest;\n this.saveAs = props.saveAs;\n this.window = props.window;\n this.httpClient = props.httpClient;\n this.onlineState = props.onlineState;\n this.exportModalState = props.exportModalState;\n this.collectionPageState = props.collectionPageState;\n this.showToast = props.showToast;\n this.internalMonitor = props.internalMonitor;\n this.collection = props.collection;\n this.reportBi = props.reportBi;\n this.disabledRadios = [];\n this.transformPlatformizedQuery = props.transformPlatformizedQuery;\n\n this.bi = new ExportStateBIReporter(this);\n makeObservable(this, {\n exportStatus: observable.ref,\n iterationsCountPoll: observable.ref,\n isExporting: computed,\n totalForExport: observable.ref,\n selectedExportOption: observable.ref,\n disabledRadios: observable.ref,\n counter: observable.ref,\n absoluteCounter: observable.ref,\n onExportToClick: action.bound,\n onExportCloseAttemptClick: action.bound,\n onCancelExportCloseButtonClick: action.bound,\n onCancelExportGoBackButtonClick: action.bound,\n onExportSecondaryActionAttempt: action.bound,\n onRetryExportToClick: action.bound,\n onFailedClose: action.bound,\n onFailedCancel: action.bound,\n onCancelClick: action.bound,\n onCloseClick: action.bound,\n init: action.bound,\n setTotalForExport: action,\n onExportTypeChange: action,\n hasFilters: computed,\n totalForExportMap: computed,\n hasSelectedRows: computed,\n isAllSelected: computed,\n currentStep: observable.ref,\n _onJobSuccess: action,\n _checkIfStaleJob: action,\n _throwJobError: action,\n _updateJobProgress: action,\n });\n }\n\n get isModalOpen() {\n return this.exportModalState.isOpen;\n }\n\n currentStep: 'config' | 'progress' | 'error' | 'cancel' = 'config';\n\n get isExporting() {\n const { exportStatus } = this;\n return exportStatus.isLoading || exportStatus.isSuccess;\n }\n\n _cancelJob() {\n // const { events } = this;\n // events.once('afterJobCreated', ({ job }) => {\n // const { httpClient } = this;\n // httpClient.request(\n // cancelExportAsyncJob({\n // jobId: job.id as string,\n // }),\n // );\n // });\n }\n\n _reset() {\n this.exportStatus = {\n ...queryStatus.idle,\n };\n this.currentStep = 'config';\n this.counter = 0;\n this.absoluteCounter = 0;\n this.totalForExport = null;\n }\n\n onExportTypeChange(selectedExportOption: SelectedExportOption) {\n this.bi.onExportTypeChange({\n prev: this.selectedExportOption,\n next: selectedExportOption,\n });\n this.selectedExportOption = selectedExportOption;\n }\n\n init() {\n const { onlineState } = this;\n this.maybeToast?.remove();\n\n if (this.hasSelectedRows) {\n this.disabledRadios = this.hasFilters ? [] : ['filtered'];\n this.selectedExportOption = 'selected';\n } else if (this.hasFilters) {\n this.disabledRadios = ['selected'];\n this.selectedExportOption = 'filtered';\n } else {\n this.disabledRadios = ['selected', 'filtered'];\n this.selectedExportOption = 'all';\n }\n\n this.bi.clickOpenModal();\n\n const onOnlineChanged = action((isOnline: boolean) => {\n if (isOnline && this.currentStep === 'error') {\n this.currentStep = 'progress';\n this.events.emit('online');\n }\n });\n\n onlineState.events.on('change', onOnlineChanged);\n\n return () => {\n window.removeEventListener('beforeunload', this.beforeunload);\n this.events.removeAllListeners('undoCancel');\n this.events.removeAllListeners('online');\n onlineState.events.off('change', onOnlineChanged);\n };\n }\n\n get hasFilters() {\n return this.collection.query.hasActiveFilters;\n }\n\n get hasSelectedRows() {\n return (\n this.collection.bulkSelect.selectedIds.length !== undefined &&\n this.collection.bulkSelect.selectedIds.length > 0\n );\n }\n\n get isAllSelected() {\n return this.collection.bulkSelect.allSelected;\n }\n\n get totalForExportMap() {\n return {\n selected: this.totalForExportGettersMap.selected(),\n filtered: this.totalForExportGettersMap.filtered(),\n };\n }\n\n readonly totalForExportGettersMap = {\n selected: action(() => {\n const { collection } = this;\n\n const {\n bulkSelect: { selectedCountOrTotal },\n } = collection;\n\n return selectedCountOrTotal;\n }),\n filtered: action(() => {\n const { collection } = this;\n const {\n result: { total, supportTotal },\n } = collection;\n\n if (!supportTotal) {\n return null;\n }\n\n return total;\n }),\n all: action(async () => {\n const { collection } = this;\n\n const allItemsQuery = {\n ...collection.query.asComputed,\n filtersKey: mapValues(collection.query.customFilters, (filter) =>\n filter != null ? null : undefined,\n ),\n rawFilters: {},\n filters: {},\n };\n\n const queryKey = collection._queryKey(allItemsQuery);\n\n const allItemsQueryResult = await collection.queryClient.fetchQuery({\n queryFn: () => collection._queryFn(allItemsQuery),\n queryKey,\n });\n\n return allItemsQueryResult.total;\n }),\n };\n\n async setTotalForExport(params: ExportPublicState<T, F>) {\n const { selectedExportOption, collection } = this;\n const {\n result: { supportTotal },\n } = collection;\n\n if (this.differentQueryEndpointThanCollection === true) {\n return;\n }\n\n const collectionTotalPromise = (() => {\n if (selectedExportOption === 'selected') {\n return this.totalForExportGettersMap.selected();\n }\n\n if (selectedExportOption === 'filtered' && supportTotal) {\n return this.totalForExportGettersMap.filtered();\n }\n\n return this.totalForExportGettersMap.all();\n })();\n\n if (this.customTotal) {\n const totalForExport = await this.customTotal({\n ...params,\n collectionTotalPromise,\n });\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n return;\n }\n\n const totalForExport = await collectionTotalPromise;\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n }\n\n onCancelClick() {\n const { bi, exportModalState } = this;\n bi.onCancelClick();\n exportModalState.close();\n }\n\n onCancelExportVerifyButtonClick() {\n const { bi, exportModalState } = this;\n bi.onCancelExportButtonClick();\n exportModalState.close();\n }\n\n onCancelExportGoBackButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportGoBackButtonClick();\n events.emit('undoCancel');\n }\n\n onCancelExportCloseButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportCloseButtonClick();\n events.emit('undoCancel');\n }\n\n onExportCloseAttemptClick() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCloseAttemptClick();\n }\n\n onExportSecondaryActionAttempt() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCancelAttemptClick();\n }\n\n onCloseClick() {\n const { bi, exportModalState } = this;\n bi.onCloseClick();\n exportModalState.close();\n }\n\n async onExportToClick() {\n const { internalMonitor, bi } = this;\n this.retries += 1;\n this.iterationsCountPoll = {\n iterationsCount: 0,\n retries: 0,\n pollCount: 0,\n };\n this.queryJobRetries = {\n count: 0,\n };\n this.exportStartTime = performance.now();\n internalMonitor.interactionStarted('export-to');\n bi.onExportToClick();\n const reportExportEnd = bi.onExportStart();\n this._exportTo({\n onExportEnd: action((params) => {\n if (params.result !== 'fail') {\n internalMonitor.interactionEnded('export-to');\n }\n\n reportExportEnd(params);\n }),\n });\n }\n\n beforeunload = (e: BeforeUnloadEvent) => {\n e.preventDefault();\n e.returnValue = '';\n };\n\n async onRetryExportToClick() {\n const { bi } = this;\n bi.onRetryExportToClick();\n await this.onExportToClick();\n }\n\n async onFailedClose() {\n const { bi, exportModalState } = this;\n bi.onFailedClose();\n exportModalState.close();\n }\n\n async onFailedCancel() {\n const { bi, exportModalState } = this;\n bi.onFailedCancel();\n exportModalState.close();\n }\n\n async _onJobSuccess(job: ExportAsyncJob, params: ExportJobStateParams) {\n const { events, exportModalState, translate: t } = this;\n const { onExportEnd, query, saveAs } = params;\n\n if (job.data?.signedUrl == null) {\n return;\n }\n\n if (this.currentStep === 'cancel') {\n events.once('undoCancel', async () => {\n await new Promise((resolve) => setTimeout(resolve, 1000));\n return this._onJobSuccess(job, { onExportEnd, query, saveAs });\n });\n return;\n }\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.success,\n data: job,\n };\n this.counter = 100;\n this._updateAbsoluteCounter(job, params);\n });\n\n window.removeEventListener('beforeunload', this.beforeunload);\n await new Promise((res) => setTimeout(res, 1000)); // wait bit before starting the download for the progress indication animation completes\n\n const signedUrl = job.data.signedUrl;\n\n onExportEnd({ job, query, result: 'success', saveAs });\n const biState = this.bi.beforeToast();\n\n const maybeToast = this.showToast?.({\n message: t('cairo.export.successMessage'),\n biName: 'cairo-export-success-toast',\n timeout: 'NONE',\n type: 'SUCCESS',\n onCloseClick: () => {\n this.bi.onToastDismissed({\n ...biState,\n by: 'manual',\n });\n this.maybeToast = undefined;\n },\n action: {\n text: t('cairo.export.downloadManually'),\n uiType: 'LINK',\n navigationTarget: {\n url: signedUrl,\n openInNewTab: true,\n },\n onClick: () => {\n this.bi.onToastActionClick(biState);\n this.maybeToast = undefined;\n },\n },\n });\n\n this.maybeToast = maybeToast;\n\n this.window.download(signedUrl, saveAs);\n\n if (maybeToast) {\n new Promise((resolve) => setTimeout(resolve, 6000)).then(() => {\n if (maybeToast === this.maybeToast) {\n maybeToast.remove();\n this.bi.onToastDismissed({\n ...biState,\n by: 'automatic',\n });\n }\n });\n }\n\n exportModalState.close();\n }\n\n _throwJobError(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n if (job.data?.error?.applicationError?.code === 'job_cancelled_by_client') {\n onExportEnd({ job, query, result: 'stopped by user' });\n\n return;\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(\n new Error(`ExportAsyncJob.${job.data?.error?.applicationError?.code}`),\n {\n response: {\n data: job.data?.error,\n },\n job,\n query,\n },\n );\n }\n\n _checkIfStaleJob(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n const { internalMonitor } = this;\n\n if (job.status === JobStatus.FINISHED && !job.data?.signedUrl) {\n internalMonitor.interactionStarted(\n 'export-to-finished-without-download-url',\n );\n internalMonitor.interactionEnded(\n 'export-to-finished-without-download-url',\n );\n }\n\n if (\n job.data?.iterationsCount === this.iterationsCountPoll.iterationsCount\n ) {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n pollCount: this.iterationsCountPoll.pollCount + 1,\n };\n\n if (\n job.data?.completionStep !== 'upload' &&\n this.iterationsCountPoll.pollCount > this.config.stateJob.maxPolling\n ) {\n if (\n this.iterationsCountPoll.retries < this.config.stateJob.maxRetries\n ) {\n internalMonitor.interactionStarted('export-to-max-polling-stale-job');\n internalMonitor.interactionEnded('export-to-max-polling-stale-job');\n runInAction(() => {\n this.iterationsCountPoll = {\n iterationsCount: 0,\n pollCount: 0,\n retries: this.iterationsCountPoll.retries + 1,\n };\n });\n window.removeEventListener('beforeunload', this.beforeunload);\n this._exportTo({ onExportEnd });\n return 'restarted';\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(new Error('ExportAsyncJob.max_polling_stale_job'), {\n response: {\n data: {\n applicationError: {\n code: 'max_polling_stale_job',\n },\n } as ErrorDetails,\n },\n });\n }\n } else {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n iterationsCount: job.data?.iterationsCount,\n pollCount: 1,\n };\n }\n\n return;\n }\n\n _updateAbsoluteCounter(job: ExportAsyncJob, { query }: ExportJobStateParams) {\n if (job?.data == null) {\n return;\n }\n\n const { totalForExport } = this;\n\n const newAbsoluteCounter = getJobItemsAbsoluteCounter(job, {\n query,\n totalForExport,\n });\n\n this.absoluteCounter =\n totalForExport != null &&\n newAbsoluteCounter >= totalForExport &&\n !this.exportStatus.isSuccess\n ? this.absoluteCounter +\n Math.floor(\n Math.random() * (newAbsoluteCounter - this.absoluteCounter),\n )\n : newAbsoluteCounter;\n }\n\n _updateJobProgress(job: ExportAsyncJob, params: ExportJobStateParams) {\n this._updateAbsoluteCounter(job, params);\n\n const { totalForExport } = this;\n if (totalForExport) {\n if (this.absoluteCounter) {\n const newCounter = Math.round(\n (this.absoluteCounter / totalForExport) * 100,\n );\n\n this.counter =\n newCounter === 100\n ? this.counter + Math.round(Math.random() * (99 - this.counter))\n : newCounter;\n }\n } else if (this.counter < 90 && this.absoluteCounter > 0) {\n this.counter += 10;\n }\n }\n\n private async _poll({\n jobId,\n saveAs,\n query,\n onExportEnd,\n }: {\n query: QueryV2;\n saveAs?: string;\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n jobId: string;\n }) {\n const { httpClient, events, onlineState, translate } = this;\n\n let current: ExportAsyncJob | null = null;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!this.isModalOpen) {\n const currentJob = await this.exportStatus.promise;\n if (currentJob) {\n onExportEnd({\n job: currentJob,\n query,\n result: 'stopped by user',\n });\n }\n\n break;\n }\n\n getExportAsyncJobErrors({\n translate,\n });\n\n const getExportAsyncJobResponse = await httpClient\n .request(getExportAsyncJob({ jobId }))\n .catch((error) => ({ error }));\n\n if (\n getExportAsyncJobResponse &&\n !('data' in getExportAsyncJobResponse)\n ) {\n const error = getExportAsyncJobResponse.error;\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n });\n\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.offline',\n originalException: error,\n extraData: {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n },\n });\n }\n\n if (this.queryJobRetries.count > this.config.queryJobRetries.max) {\n onExportEnd({ job: current, query, result: 'fail' });\n throw new WixPatternsError({\n originalException: error,\n errorCode: 'GetExportAsyncJob.failed',\n });\n }\n\n this.queryJobRetries = {\n ...this.queryJobRetries,\n count: this.queryJobRetries.count + 1,\n };\n\n setTimeout(() => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n }, this.config.queryJobRetries.delay);\n\n break;\n }\n\n const job = getExportAsyncJobResponse?.data.job;\n\n if (job?.data == null) {\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.invalid',\n });\n }\n\n current = job;\n\n this.queryJobRetries = {\n count: 0,\n };\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(job),\n };\n });\n\n const isModalOpen = runInAction(() => this.isModalOpen);\n if (!isModalOpen) {\n break;\n }\n\n if (job.data.signedUrl) {\n await this._onJobSuccess(job, {\n onExportEnd,\n saveAs,\n query,\n });\n break;\n }\n\n if (\n job.status === JobStatus.FAILED ||\n job.data.error?.applicationError != null\n ) {\n if (\n job.data.error?.applicationError?.code ===\n 'media_generate_signed_url'\n ) {\n // await this._retryGenerateUrl(job);\n // continue;\n }\n\n this._throwJobError(job, {\n onExportEnd,\n query,\n saveAs,\n });\n break;\n }\n\n const checkIfStaleJobResult = this._checkIfStaleJob(job, {\n onExportEnd,\n saveAs,\n query,\n });\n\n if (checkIfStaleJobResult === 'restarted') {\n return;\n }\n\n await runInAction(async () => {\n if (\n !this.totalForExport &&\n (job.data?.iterationsCount == null || job.data.iterationsCount <= 1)\n ) {\n this.totalForExport = job.data?.pagingMetadata?.total;\n }\n });\n\n this._updateJobProgress(job, { onExportEnd, query, saveAs });\n\n await new Promise((res) => setTimeout(res, this.config.pollingDelay));\n }\n } catch (error) {\n console.error(error);\n\n this.internalMonitor.reportError({ error });\n\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n }\n }\n\n private async _exportTo({\n onExportEnd,\n }: {\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n }) {\n const {\n createExportAsyncJobRequest,\n httpClient,\n transformPlatformizedQuery,\n selectedExportOption,\n events,\n onlineState,\n translate,\n } = this;\n\n this._reset();\n window.addEventListener('beforeunload', this.beforeunload);\n\n const platformizedQuery = defaultPlatformizedQuery();\n\n const {\n bulkSelect: {\n selectedIds,\n allSelected: selectAll,\n uncheckedInCurrentCollection: uncheckedValues,\n },\n query: { asComputed: computedQuery },\n } = this.collection;\n\n const wixPatternsQuery =\n selectedExportOption !== 'all'\n ? computedQuery\n : {\n ...computedQuery,\n filtersKey: {},\n rawFilters: {},\n filters: {},\n };\n\n const exportPublicState = {\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n uncheckedValues,\n };\n\n const query =\n (await transformPlatformizedQuery?.(exportPublicState)) ??\n platformizedQuery;\n\n const totalForExportPromise = this.setTotalForExport({\n ...exportPublicState,\n platformizedQuery: query,\n });\n\n const saveAs =\n this.saveAs?.({\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n }) ?? this.collectionPageState.pageTitle;\n\n runInAction(() => {\n this.currentStep = 'progress';\n });\n\n const _createExport = async () => {\n try {\n createExportAsyncJobErrors({\n translate,\n });\n\n const { data: createExportAsyncJobResponse } = await httpClient\n .request(\n createExportAsyncJob({\n fields: [],\n methodMetadata: {},\n ...createExportAsyncJobRequest,\n saveAs,\n query,\n }),\n )\n .catch((err) => {\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._exportTo({\n onExportEnd,\n });\n });\n throw Object.assign(new Error('CreateExportAsyncJob.offline'), {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n });\n }\n onExportEnd({ job: null, query, result: 'fail' });\n\n throw err;\n });\n\n return createExportAsyncJobResponse;\n } catch (error) {\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n\n throw error;\n }\n };\n\n try {\n const createExportAsyncJobResponse = await _createExport();\n\n if (!createExportAsyncJobResponse.job?.id) {\n throw new Error(\n `Invalid response from createExportAsyncJob \"jobId=${createExportAsyncJobResponse.job?.id}\"`,\n );\n }\n\n await totalForExportPromise;\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(\n createExportAsyncJobResponse.job as ExportAsyncJob,\n ),\n };\n });\n\n this.events.emit('afterJobCreated', {\n job: createExportAsyncJobResponse.job as ExportAsyncJob,\n });\n\n runInAction(() => {\n this.counter = 1;\n });\n\n await this._poll({\n onExportEnd,\n saveAs,\n query,\n jobId: createExportAsyncJobResponse.job.id,\n });\n } catch (error) {\n console.error(error);\n this.internalMonitor.reportError({ error });\n }\n\n window.removeEventListener('beforeunload', this.beforeunload);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_http","require","_types","_mobx","_model","_services","_mapValues","_interopRequireDefault","_events","_ExportStateBIReporter","_getJobItemsAbsoluteCounter","_getExportAsyncJobErrors","_createExportAsyncJobErrors","defaultPlatformizedQuery","filter","sort","ExportState","constructor","props","_defineProperty2","default","queryStatus","idle","pollingDelay","stateJob","maxPolling","maxRetries","queryJobRetries","delay","max","iterationsCount","pollCount","retries","count","EventEmitter","selected","action","collection","bulkSelect","selectedCountOrTotal","filtered","result","total","supportTotal","all","allItemsQuery","query","asComputed","filtersKey","mapValues","customFilters","undefined","rawFilters","filters","queryKey","_queryKey","allItemsQueryResult","queryClient","fetchQuery","queryFn","_queryFn","e","preventDefault","returnValue","customTotal","differentQueryEndpointThanCollection","translate","createExportAsyncJobRequest","saveAs","window","httpClient","errorHandler","onlineState","exportModalState","collectionPageState","showToast","internalMonitor","reportBi","disabledRadios","transformPlatformizedQuery","bi","ExportStateBIReporter","makeObservable","exportStatus","observable","ref","iterationsCountPoll","isExporting","computed","totalForExport","selectedExportOption","counter","absoluteCounter","onExportToClick","bound","onExportCloseAttemptClick","onCancelExportCloseButtonClick","onCancelExportGoBackButtonClick","onExportSecondaryActionAttempt","onRetryExportToClick","onFailedClose","onFailedCancel","onCancelClick","onCloseClick","init","setTotalForExport","onExportTypeChange","hasFilters","totalForExportMap","hasSelectedRows","isAllSelected","currentStep","_onJobSuccess","_checkIfStaleJob","_throwJobError","_updateJobProgress","isModalOpen","isOpen","isLoading","isSuccess","_cancelJob","_reset","prev","next","_this$maybeToast","maybeToast","remove","clickOpenModal","onOnlineChanged","isOnline","events","emit","on","removeEventListener","beforeunload","removeAllListeners","off","hasActiveFilters","selectedIds","length","allSelected","totalForExportGettersMap","params","collectionTotalPromise","runInAction","close","onCancelExportVerifyButtonClick","onCancelExportButtonClick","onExportCancelAttemptClick","exportStartTime","performance","now","interactionStarted","reportExportEnd","onExportStart","_exportTo","onExportEnd","interactionEnded","job","_job$data","_this$showToast","t","data","signedUrl","once","Promise","resolve","setTimeout","success","_updateAbsoluteCounter","res","biState","beforeToast","call","message","biName","timeout","type","onToastDismissed","by","text","uiType","navigationTarget","url","openInNewTab","onClick","onToastActionClick","download","then","_job$data2","_job$data3","_job$data4","error","applicationError","code","Object","assign","Error","response","_job$data5","_job$data6","status","JobStatus","FINISHED","_job$data7","completionStep","config","_job$data8","newAbsoluteCounter","getJobItemsAbsoluteCounter","Math","floor","random","newCounter","round","_poll","jobId","current","_job$data$error","currentJob","promise","getExportAsyncJobResponse","withErrorHandler","request","getExportAsyncJob","errorCodesMap","getExportAsyncJobErrors","catch","WixPatternsError","errorCode","originalException","extraData","loading","FAILED","_job$data$error2","checkIfStaleJobResult","_job$data9","_job$data10","pagingMetadata","console","reportError","_this$saveAs","addEventListener","platformizedQuery","selectAll","uncheckedInCurrentCollection","uncheckedValues","computedQuery","wixPatternsQuery","exportPublicState","selectedItems","isSelectAll","totalForExportPromise","pageTitle","_createExport","createExportAsyncJobResponse","createExportAsyncJob","fields","methodMetadata","createExportAsyncJobErrors","err","_createExportAsyncJob","id","_createExportAsyncJob2","exports"],"sources":["../../../../src/state/ExportState/ExportState.ts"],"sourcesContent":["import {\n createExportAsyncJob,\n getExportAsyncJob,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/http';\nimport {\n CreateExportAsyncJobRequest,\n ExportAsyncJob,\n ExportQueryV2 as QueryV2,\n Status as JobStatus,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport {\n WixPatternsEssentials,\n ComputedQueryFull,\n FiltersMap,\n queryStatus,\n ShowToast,\n TaskStatus,\n PatternsErrorHandler,\n} from '../../model';\nimport {\n WixPatternsError,\n WixPatternsMonitor,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../../services';\nimport { CollectionState } from '../CollectionState';\nimport mapValues from 'lodash/mapValues';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../../util';\nimport { ExportStateBIReporter } from './ExportStateBIReporter';\nimport { ModalState } from '../ModalState';\nimport { getJobItemsAbsoluteCounter } from '../getJobItemsAbsoluteCounter';\nimport { ExportJobStateParams } from './ExportJobState';\nimport { ErrorDetails } from '../../util/isHttpError';\nimport { OnlineState } from '../OnlineState';\nimport { CollectionPageState } from '../CollectionPageState';\nimport { getExportAsyncJobErrors } from './getExportAsyncJobErrors';\nimport { createExportAsyncJobErrors } from './createExportAsyncJobErrors';\n\nfunction defaultPlatformizedQuery(): QueryV2 {\n return {\n filter: {},\n sort: [],\n };\n}\n\ninterface ExportPublicState<T, F extends FiltersMap> {\n platformizedQuery: QueryV2;\n wixPatternsQuery: ComputedQueryFull<F>;\n selectedItems?: string[];\n isSelectAll: boolean;\n uncheckedValues?: T[];\n}\n\nexport type CustomTotalFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F> & {\n collectionTotalPromise: number | null | Promise<number | null | undefined>;\n },\n) => number | null | undefined | Promise<number | null | undefined>;\n\nexport type TransformQuery<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => QueryV2 | Promise<QueryV2>;\n\nexport type SaveAsFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => string;\n\nexport interface ExportStateProps<T, F extends FiltersMap> {\n transformPlatformizedQuery?: TransformQuery<T, F>;\n differentQueryEndpointThanCollection?: boolean;\n customTotal?: CustomTotalFn<T, F>;\n\n createExportAsyncJobRequest: Partial<CreateExportAsyncJobRequest>;\n saveAs?: SaveAsFn<T, F>;\n\n httpClient: WixPatternsEssentials['httpClient'];\n errorHandler: PatternsErrorHandler;\n showToast?: ShowToast;\n translate: Translate;\n collection: CollectionState<T, F>;\n reportBi: ReportBI;\n onlineState: OnlineState;\n internalMonitor: WixPatternsMonitor;\n\n exportModalState: ModalState;\n collectionPageState: CollectionPageState;\n window: PartialWindow;\n}\n\nexport type SelectedExportOption = 'all' | 'selected' | 'filtered';\n\nexport class ExportState<T, F extends FiltersMap> {\n exportStatus: TaskStatus<ExportAsyncJob, unknown> = {\n ...queryStatus.idle,\n };\n\n readonly config = {\n pollingDelay: 2000,\n stateJob: {\n maxPolling: 14,\n maxRetries: 1,\n },\n queryJobRetries: {\n delay: 5000,\n max: 4,\n },\n };\n\n exportStartTime: number = 0;\n totalForExport: number | undefined | null = null;\n selectedExportOption: SelectedExportOption = 'all';\n disabledRadios: SelectedExportOption[];\n maybeToast?: { remove: () => void };\n iterationsCountPoll: {\n iterationsCount?: number;\n pollCount: number;\n retries: number;\n } = {\n iterationsCount: 0,\n pollCount: 0,\n retries: 0,\n };\n\n queryJobRetries: {\n count: number;\n } = {\n count: 0,\n };\n\n readonly differentQueryEndpointThanCollection;\n readonly customTotal;\n readonly translate;\n readonly createExportAsyncJobRequest;\n readonly saveAs;\n readonly window;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly errorHandler;\n readonly onlineState;\n readonly exportModalState;\n readonly collectionPageState;\n readonly transformPlatformizedQuery?: ExportStateProps<\n T,\n F\n >['transformPlatformizedQuery'];\n readonly showToast;\n readonly internalMonitor;\n readonly collection;\n readonly reportBi;\n readonly bi;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n afterJobCreated: (params: { job: ExportAsyncJob }) => unknown;\n undoCancel: () => unknown;\n online: () => unknown;\n }>;\n\n counter = 0;\n absoluteCounter = 0;\n retries = 0;\n\n constructor(props: ExportStateProps<T, F>) {\n this.customTotal = props.customTotal;\n this.differentQueryEndpointThanCollection =\n props.differentQueryEndpointThanCollection;\n this.translate = props.translate;\n this.createExportAsyncJobRequest = props.createExportAsyncJobRequest;\n this.saveAs = props.saveAs;\n this.window = props.window;\n this.httpClient = props.httpClient;\n this.errorHandler = props.errorHandler;\n this.onlineState = props.onlineState;\n this.exportModalState = props.exportModalState;\n this.collectionPageState = props.collectionPageState;\n this.showToast = props.showToast;\n this.internalMonitor = props.internalMonitor;\n this.collection = props.collection;\n this.reportBi = props.reportBi;\n this.disabledRadios = [];\n this.transformPlatformizedQuery = props.transformPlatformizedQuery;\n\n this.bi = new ExportStateBIReporter(this);\n makeObservable(this, {\n exportStatus: observable.ref,\n iterationsCountPoll: observable.ref,\n isExporting: computed,\n totalForExport: observable.ref,\n selectedExportOption: observable.ref,\n disabledRadios: observable.ref,\n counter: observable.ref,\n absoluteCounter: observable.ref,\n onExportToClick: action.bound,\n onExportCloseAttemptClick: action.bound,\n onCancelExportCloseButtonClick: action.bound,\n onCancelExportGoBackButtonClick: action.bound,\n onExportSecondaryActionAttempt: action.bound,\n onRetryExportToClick: action.bound,\n onFailedClose: action.bound,\n onFailedCancel: action.bound,\n onCancelClick: action.bound,\n onCloseClick: action.bound,\n init: action.bound,\n setTotalForExport: action,\n onExportTypeChange: action,\n hasFilters: computed,\n totalForExportMap: computed,\n hasSelectedRows: computed,\n isAllSelected: computed,\n currentStep: observable.ref,\n _onJobSuccess: action,\n _checkIfStaleJob: action,\n _throwJobError: action,\n _updateJobProgress: action,\n });\n }\n\n get isModalOpen() {\n return this.exportModalState.isOpen;\n }\n\n currentStep: 'config' | 'progress' | 'error' | 'cancel' = 'config';\n\n get isExporting() {\n const { exportStatus } = this;\n return exportStatus.isLoading || exportStatus.isSuccess;\n }\n\n _cancelJob() {\n // const { events } = this;\n // events.once('afterJobCreated', ({ job }) => {\n // const { httpClient } = this;\n // httpClient.request(\n // cancelExportAsyncJob({\n // jobId: job.id as string,\n // }),\n // );\n // });\n }\n\n _reset() {\n this.exportStatus = {\n ...queryStatus.idle,\n };\n this.currentStep = 'config';\n this.counter = 0;\n this.absoluteCounter = 0;\n this.totalForExport = null;\n }\n\n onExportTypeChange(selectedExportOption: SelectedExportOption) {\n this.bi.onExportTypeChange({\n prev: this.selectedExportOption,\n next: selectedExportOption,\n });\n this.selectedExportOption = selectedExportOption;\n }\n\n init() {\n const { onlineState } = this;\n this.maybeToast?.remove();\n\n if (this.hasSelectedRows) {\n this.disabledRadios = this.hasFilters ? [] : ['filtered'];\n this.selectedExportOption = 'selected';\n } else if (this.hasFilters) {\n this.disabledRadios = ['selected'];\n this.selectedExportOption = 'filtered';\n } else {\n this.disabledRadios = ['selected', 'filtered'];\n this.selectedExportOption = 'all';\n }\n\n this.bi.clickOpenModal();\n\n const onOnlineChanged = action((isOnline: boolean) => {\n if (isOnline && this.currentStep === 'error') {\n this.currentStep = 'progress';\n this.events.emit('online');\n }\n });\n\n onlineState.events.on('change', onOnlineChanged);\n\n return () => {\n window.removeEventListener('beforeunload', this.beforeunload);\n this.events.removeAllListeners('undoCancel');\n this.events.removeAllListeners('online');\n onlineState.events.off('change', onOnlineChanged);\n };\n }\n\n get hasFilters() {\n return this.collection.query.hasActiveFilters;\n }\n\n get hasSelectedRows() {\n return (\n this.collection.bulkSelect.selectedIds.length !== undefined &&\n this.collection.bulkSelect.selectedIds.length > 0\n );\n }\n\n get isAllSelected() {\n return this.collection.bulkSelect.allSelected;\n }\n\n get totalForExportMap() {\n return {\n selected: this.totalForExportGettersMap.selected(),\n filtered: this.totalForExportGettersMap.filtered(),\n };\n }\n\n readonly totalForExportGettersMap = {\n selected: action(() => {\n const { collection } = this;\n\n const {\n bulkSelect: { selectedCountOrTotal },\n } = collection;\n\n return selectedCountOrTotal;\n }),\n filtered: action(() => {\n const { collection } = this;\n const {\n result: { total, supportTotal },\n } = collection;\n\n if (!supportTotal) {\n return null;\n }\n\n return total;\n }),\n all: action(async () => {\n const { collection } = this;\n\n const allItemsQuery = {\n ...collection.query.asComputed,\n filtersKey: mapValues(collection.query.customFilters, (filter) =>\n filter != null ? null : undefined,\n ),\n rawFilters: {},\n filters: {},\n };\n\n const queryKey = collection._queryKey(allItemsQuery);\n\n const allItemsQueryResult = await collection.queryClient.fetchQuery({\n queryFn: () => collection._queryFn(allItemsQuery),\n queryKey,\n });\n\n return allItemsQueryResult.total;\n }),\n };\n\n async setTotalForExport(params: ExportPublicState<T, F>) {\n const { selectedExportOption, collection } = this;\n const {\n result: { supportTotal },\n } = collection;\n\n if (this.differentQueryEndpointThanCollection === true) {\n return;\n }\n\n const collectionTotalPromise = (() => {\n if (selectedExportOption === 'selected') {\n return this.totalForExportGettersMap.selected();\n }\n\n if (selectedExportOption === 'filtered' && supportTotal) {\n return this.totalForExportGettersMap.filtered();\n }\n\n return this.totalForExportGettersMap.all();\n })();\n\n if (this.customTotal) {\n const totalForExport = await this.customTotal({\n ...params,\n collectionTotalPromise,\n });\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n return;\n }\n\n const totalForExport = await collectionTotalPromise;\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n }\n\n onCancelClick() {\n const { bi, exportModalState } = this;\n bi.onCancelClick();\n exportModalState.close();\n }\n\n onCancelExportVerifyButtonClick() {\n const { bi, exportModalState } = this;\n bi.onCancelExportButtonClick();\n exportModalState.close();\n }\n\n onCancelExportGoBackButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportGoBackButtonClick();\n events.emit('undoCancel');\n }\n\n onCancelExportCloseButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportCloseButtonClick();\n events.emit('undoCancel');\n }\n\n onExportCloseAttemptClick() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCloseAttemptClick();\n }\n\n onExportSecondaryActionAttempt() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCancelAttemptClick();\n }\n\n onCloseClick() {\n const { bi, exportModalState } = this;\n bi.onCloseClick();\n exportModalState.close();\n }\n\n async onExportToClick() {\n const { internalMonitor, bi } = this;\n this.retries += 1;\n this.iterationsCountPoll = {\n iterationsCount: 0,\n retries: 0,\n pollCount: 0,\n };\n this.queryJobRetries = {\n count: 0,\n };\n this.exportStartTime = performance.now();\n internalMonitor.interactionStarted('export-to');\n bi.onExportToClick();\n const reportExportEnd = bi.onExportStart();\n this._exportTo({\n onExportEnd: action((params) => {\n if (params.result !== 'fail') {\n internalMonitor.interactionEnded('export-to');\n }\n\n reportExportEnd(params);\n }),\n });\n }\n\n beforeunload = (e: BeforeUnloadEvent) => {\n e.preventDefault();\n e.returnValue = '';\n };\n\n async onRetryExportToClick() {\n const { bi } = this;\n bi.onRetryExportToClick();\n await this.onExportToClick();\n }\n\n async onFailedClose() {\n const { bi, exportModalState } = this;\n bi.onFailedClose();\n exportModalState.close();\n }\n\n async onFailedCancel() {\n const { bi, exportModalState } = this;\n bi.onFailedCancel();\n exportModalState.close();\n }\n\n async _onJobSuccess(job: ExportAsyncJob, params: ExportJobStateParams) {\n const { events, exportModalState, translate: t } = this;\n const { onExportEnd, query, saveAs } = params;\n\n if (job.data?.signedUrl == null) {\n return;\n }\n\n if (this.currentStep === 'cancel') {\n events.once('undoCancel', async () => {\n await new Promise((resolve) => setTimeout(resolve, 1000));\n return this._onJobSuccess(job, { onExportEnd, query, saveAs });\n });\n return;\n }\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.success,\n data: job,\n };\n this.counter = 100;\n this._updateAbsoluteCounter(job, params);\n });\n\n window.removeEventListener('beforeunload', this.beforeunload);\n await new Promise((res) => setTimeout(res, 1000)); // wait bit before starting the download for the progress indication animation completes\n\n const signedUrl = job.data.signedUrl;\n\n onExportEnd({ job, query, result: 'success', saveAs });\n const biState = this.bi.beforeToast();\n\n const maybeToast = this.showToast?.({\n message: t('cairo.export.successMessage'),\n biName: 'cairo-export-success-toast',\n timeout: 'NONE',\n type: 'SUCCESS',\n onCloseClick: () => {\n this.bi.onToastDismissed({\n ...biState,\n by: 'manual',\n });\n this.maybeToast = undefined;\n },\n action: {\n text: t('cairo.export.downloadManually'),\n uiType: 'LINK',\n navigationTarget: {\n url: signedUrl,\n openInNewTab: true,\n },\n onClick: () => {\n this.bi.onToastActionClick(biState);\n this.maybeToast = undefined;\n },\n },\n });\n\n this.maybeToast = maybeToast;\n\n this.window.download(signedUrl, saveAs);\n\n if (maybeToast) {\n new Promise((resolve) => setTimeout(resolve, 6000)).then(() => {\n if (maybeToast === this.maybeToast) {\n maybeToast.remove();\n this.bi.onToastDismissed({\n ...biState,\n by: 'automatic',\n });\n }\n });\n }\n\n exportModalState.close();\n }\n\n _throwJobError(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n if (job.data?.error?.applicationError?.code === 'job_cancelled_by_client') {\n onExportEnd({ job, query, result: 'stopped by user' });\n\n return;\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(\n new Error(`ExportAsyncJob.${job.data?.error?.applicationError?.code}`),\n {\n response: {\n data: job.data?.error,\n },\n job,\n query,\n },\n );\n }\n\n _checkIfStaleJob(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n const { internalMonitor } = this;\n\n if (job.status === JobStatus.FINISHED && !job.data?.signedUrl) {\n internalMonitor.interactionStarted(\n 'export-to-finished-without-download-url',\n );\n internalMonitor.interactionEnded(\n 'export-to-finished-without-download-url',\n );\n }\n\n if (\n job.data?.iterationsCount === this.iterationsCountPoll.iterationsCount\n ) {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n pollCount: this.iterationsCountPoll.pollCount + 1,\n };\n\n if (\n job.data?.completionStep !== 'upload' &&\n this.iterationsCountPoll.pollCount > this.config.stateJob.maxPolling\n ) {\n if (\n this.iterationsCountPoll.retries < this.config.stateJob.maxRetries\n ) {\n internalMonitor.interactionStarted('export-to-max-polling-stale-job');\n internalMonitor.interactionEnded('export-to-max-polling-stale-job');\n runInAction(() => {\n this.iterationsCountPoll = {\n iterationsCount: 0,\n pollCount: 0,\n retries: this.iterationsCountPoll.retries + 1,\n };\n });\n window.removeEventListener('beforeunload', this.beforeunload);\n this._exportTo({ onExportEnd });\n return 'restarted';\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(new Error('ExportAsyncJob.max_polling_stale_job'), {\n response: {\n data: {\n applicationError: {\n code: 'max_polling_stale_job',\n },\n } as ErrorDetails,\n },\n });\n }\n } else {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n iterationsCount: job.data?.iterationsCount,\n pollCount: 1,\n };\n }\n\n return;\n }\n\n _updateAbsoluteCounter(job: ExportAsyncJob, { query }: ExportJobStateParams) {\n if (job?.data == null) {\n return;\n }\n\n const { totalForExport } = this;\n\n const newAbsoluteCounter = getJobItemsAbsoluteCounter(job, {\n query,\n totalForExport,\n });\n\n this.absoluteCounter =\n totalForExport != null &&\n newAbsoluteCounter >= totalForExport &&\n !this.exportStatus.isSuccess\n ? this.absoluteCounter +\n Math.floor(\n Math.random() * (newAbsoluteCounter - this.absoluteCounter),\n )\n : newAbsoluteCounter;\n }\n\n _updateJobProgress(job: ExportAsyncJob, params: ExportJobStateParams) {\n this._updateAbsoluteCounter(job, params);\n\n const { totalForExport } = this;\n if (totalForExport) {\n if (this.absoluteCounter) {\n const newCounter = Math.round(\n (this.absoluteCounter / totalForExport) * 100,\n );\n\n this.counter =\n newCounter === 100\n ? this.counter + Math.round(Math.random() * (99 - this.counter))\n : newCounter;\n }\n } else if (this.counter < 90 && this.absoluteCounter > 0) {\n this.counter += 10;\n }\n }\n\n private async _poll({\n jobId,\n saveAs,\n query,\n onExportEnd,\n }: {\n query: QueryV2;\n saveAs?: string;\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n jobId: string;\n }) {\n const { httpClient, events, onlineState, translate, errorHandler } = this;\n\n let current: ExportAsyncJob | null = null;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!this.isModalOpen) {\n const currentJob = await this.exportStatus.promise;\n if (currentJob) {\n onExportEnd({\n job: currentJob,\n query,\n result: 'stopped by user',\n });\n }\n\n break;\n }\n\n const getExportAsyncJobResponse = await errorHandler\n .withErrorHandler(\n () => httpClient.request(getExportAsyncJob({ jobId })),\n {\n errorCodesMap: getExportAsyncJobErrors({\n translate,\n }),\n },\n )\n .catch((error) => ({ error }));\n\n if (\n getExportAsyncJobResponse &&\n !('data' in getExportAsyncJobResponse)\n ) {\n const error = getExportAsyncJobResponse.error;\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n });\n\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.offline',\n originalException: error,\n extraData: {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n },\n });\n }\n\n if (this.queryJobRetries.count > this.config.queryJobRetries.max) {\n onExportEnd({ job: current, query, result: 'fail' });\n throw new WixPatternsError({\n originalException: error,\n errorCode: 'GetExportAsyncJob.failed',\n });\n }\n\n this.queryJobRetries = {\n ...this.queryJobRetries,\n count: this.queryJobRetries.count + 1,\n };\n\n setTimeout(() => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n }, this.config.queryJobRetries.delay);\n\n break;\n }\n\n const job = getExportAsyncJobResponse?.data.job;\n\n if (job?.data == null) {\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.invalid',\n });\n }\n\n current = job;\n\n this.queryJobRetries = {\n count: 0,\n };\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(job),\n };\n });\n\n const isModalOpen = runInAction(() => this.isModalOpen);\n if (!isModalOpen) {\n break;\n }\n\n if (job.data.signedUrl) {\n await this._onJobSuccess(job, {\n onExportEnd,\n saveAs,\n query,\n });\n break;\n }\n\n if (\n job.status === JobStatus.FAILED ||\n job.data.error?.applicationError != null\n ) {\n if (\n job.data.error?.applicationError?.code ===\n 'media_generate_signed_url'\n ) {\n // await this._retryGenerateUrl(job);\n // continue;\n }\n\n this._throwJobError(job, {\n onExportEnd,\n query,\n saveAs,\n });\n break;\n }\n\n const checkIfStaleJobResult = this._checkIfStaleJob(job, {\n onExportEnd,\n saveAs,\n query,\n });\n\n if (checkIfStaleJobResult === 'restarted') {\n return;\n }\n\n await runInAction(async () => {\n if (\n !this.totalForExport &&\n (job.data?.iterationsCount == null || job.data.iterationsCount <= 1)\n ) {\n this.totalForExport = job.data?.pagingMetadata?.total;\n }\n });\n\n this._updateJobProgress(job, { onExportEnd, query, saveAs });\n\n await new Promise((res) => setTimeout(res, this.config.pollingDelay));\n }\n } catch (error) {\n console.error(error);\n\n this.internalMonitor.reportError({ error });\n\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n }\n }\n\n private async _exportTo({\n onExportEnd,\n }: {\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n }) {\n const {\n createExportAsyncJobRequest,\n httpClient,\n errorHandler,\n transformPlatformizedQuery,\n selectedExportOption,\n events,\n onlineState,\n translate,\n } = this;\n\n this._reset();\n window.addEventListener('beforeunload', this.beforeunload);\n\n const platformizedQuery = defaultPlatformizedQuery();\n\n const {\n bulkSelect: {\n selectedIds,\n allSelected: selectAll,\n uncheckedInCurrentCollection: uncheckedValues,\n },\n query: { asComputed: computedQuery },\n } = this.collection;\n\n const wixPatternsQuery =\n selectedExportOption !== 'all'\n ? computedQuery\n : {\n ...computedQuery,\n filtersKey: {},\n rawFilters: {},\n filters: {},\n };\n\n const exportPublicState = {\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n uncheckedValues,\n };\n\n const query =\n (await transformPlatformizedQuery?.(exportPublicState)) ??\n platformizedQuery;\n\n const totalForExportPromise = this.setTotalForExport({\n ...exportPublicState,\n platformizedQuery: query,\n });\n\n const saveAs =\n this.saveAs?.({\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n }) ?? this.collectionPageState.pageTitle;\n\n runInAction(() => {\n this.currentStep = 'progress';\n });\n\n const _createExport = async () => {\n try {\n const { data: createExportAsyncJobResponse } = await errorHandler\n .withErrorHandler(\n () =>\n httpClient.request(\n createExportAsyncJob({\n fields: [],\n methodMetadata: {},\n ...createExportAsyncJobRequest,\n saveAs,\n query,\n }),\n ),\n {\n errorCodesMap: createExportAsyncJobErrors({\n translate,\n }),\n },\n )\n .catch((err) => {\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._exportTo({\n onExportEnd,\n });\n });\n throw Object.assign(new Error('CreateExportAsyncJob.offline'), {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n });\n }\n onExportEnd({ job: null, query, result: 'fail' });\n\n throw err;\n });\n\n return createExportAsyncJobResponse;\n } catch (error) {\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n\n throw error;\n }\n };\n\n try {\n const createExportAsyncJobResponse = await _createExport();\n\n if (!createExportAsyncJobResponse.job?.id) {\n throw new Error(\n `Invalid response from createExportAsyncJob \"jobId=${createExportAsyncJobResponse.job?.id}\"`,\n );\n }\n\n await totalForExportPromise;\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(\n createExportAsyncJobResponse.job as ExportAsyncJob,\n ),\n };\n });\n\n this.events.emit('afterJobCreated', {\n job: createExportAsyncJobResponse.job as ExportAsyncJob,\n });\n\n runInAction(() => {\n this.counter = 1;\n });\n\n await this._poll({\n onExportEnd,\n saveAs,\n query,\n jobId: createExportAsyncJobResponse.job.id,\n });\n } catch (error) {\n console.error(error);\n this.internalMonitor.reportError({ error });\n }\n\n window.removeEventListener('beforeunload', this.beforeunload);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createExportAsyncJobErrors","translate","t","applicationError","method_endpoint_not_found","message","action","text","onClick","exports"],"sources":["../../../../src/state/ExportState/createExportAsyncJobErrors.ts"],"sourcesContent":["import { ErrorCodesMap } from '@wix/fe-essentials/error-handler';\nimport { Translate } from '../../services';\
|
|
1
|
+
{"version":3,"names":["createExportAsyncJobErrors","translate","t","applicationError","method_endpoint_not_found","message","action","text","onClick","exports"],"sources":["../../../../src/state/ExportState/createExportAsyncJobErrors.ts"],"sourcesContent":["import { ErrorCodesMap } from '@wix/fe-essentials/error-handler';\nimport { Translate } from '../../services';\nimport { CreateExportAsyncJobApplicationErrors } from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\n\nexport const createExportAsyncJobErrors = ({\n translate: t,\n}: {\n translate: Translate;\n}): ErrorCodesMap<CreateExportAsyncJobApplicationErrors> => {\n return {\n applicationError: {\n method_endpoint_not_found: () => ({\n message: t(\n 'cairo.export.CreateExportAsyncJob.method-endpoint-not-found.error',\n ),\n action: {\n text: t('cairo.error.contactSupport.cta'),\n onClick: () => {},\n },\n }),\n },\n };\n};\n"],"mappings":";;;;AAIO,MAAMA,0BAA0B,GAAGA,CAAC;EACzCC,SAAS,EAAEC;AAGb,CAAC,KAA2D;EAC1D,OAAO;IACLC,gBAAgB,EAAE;MAChBC,yBAAyB,EAAEA,CAAA,MAAO;QAChCC,OAAO,EAAEH,CAAC,CACR,mEACF,CAAC;QACDI,MAAM,EAAE;UACNC,IAAI,EAAEL,CAAC,CAAC,gCAAgC,CAAC;UACzCM,OAAO,EAAEA,CAAA,KAAM,CAAC;QAClB;MACF,CAAC;IACH;EACF,CAAC;AACH,CAAC;AAACC,OAAA,CAAAT,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getExportAsyncJobErrors","translate","t","applicationError","job_not_found","message","action","text","onClick","get_async_job_internal","exports"],"sources":["../../../../src/state/ExportState/getExportAsyncJobErrors.ts"],"sourcesContent":["import { ErrorCodesMap } from '@wix/fe-essentials/error-handler';\nimport { Translate } from '../../services';\
|
|
1
|
+
{"version":3,"names":["getExportAsyncJobErrors","translate","t","applicationError","job_not_found","message","action","text","onClick","get_async_job_internal","exports"],"sources":["../../../../src/state/ExportState/getExportAsyncJobErrors.ts"],"sourcesContent":["import { ErrorCodesMap } from '@wix/fe-essentials/error-handler';\nimport { Translate } from '../../services';\nimport { GetExportAsyncJobApplicationErrors } from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\n\nexport const getExportAsyncJobErrors = ({\n translate: t,\n}: {\n translate: Translate;\n}): ErrorCodesMap<GetExportAsyncJobApplicationErrors> => {\n return {\n applicationError: {\n job_not_found: () => ({\n message: t('cairo.export.GetExportAsyncJob.job-not-found.error'),\n action: {\n text: t('cairo.error.tryAgain.cta'),\n onClick: () => {},\n },\n }),\n get_async_job_internal: () => ({\n message: t('cairo.export.get-async-job.error.internal'),\n action: {\n text: t('cairo.error.tryAgain.cta'),\n onClick: () => {},\n },\n }),\n },\n };\n};\n"],"mappings":";;;;AAIO,MAAMA,uBAAuB,GAAGA,CAAC;EACtCC,SAAS,EAAEC;AAGb,CAAC,KAAwD;EACvD,OAAO;IACLC,gBAAgB,EAAE;MAChBC,aAAa,EAAEA,CAAA,MAAO;QACpBC,OAAO,EAAEH,CAAC,CAAC,oDAAoD,CAAC;QAChEI,MAAM,EAAE;UACNC,IAAI,EAAEL,CAAC,CAAC,0BAA0B,CAAC;UACnCM,OAAO,EAAEA,CAAA,KAAM,CAAC;QAClB;MACF,CAAC,CAAC;MACFC,sBAAsB,EAAEA,CAAA,MAAO;QAC7BJ,OAAO,EAAEH,CAAC,CAAC,2CAA2C,CAAC;QACvDI,MAAM,EAAE;UACNC,IAAI,EAAEL,CAAC,CAAC,0BAA0B,CAAC;UACnCM,OAAO,EAAEA,CAAA,KAAM,CAAC;QAClB;MACF,CAAC;IACH;EACF,CAAC;AACH,CAAC;AAACE,OAAA,CAAAV,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/state/OptimisticActions.ts"],"sourcesContent":["import { ToastConfig } from '../model';\nimport { EventuallyUpdated } from './CollectionOptimisticExecutor';\n\nexport interface OptimisticActionBasis {\n /**\n * Determines whether to display an undo toast before calling the server action.\n * @default false\n * @external\n */\n showUndoToast?: boolean;\n /**\n * Determines whether to display a toast after clicking on undo.\n * @default false\n * @external\n */\n showUndoSuccessToast?: boolean;\n /**\n * Callback function triggered when the user clicks on the undo button.\n * @external\n */\n onUndo?: () => void;\n /**\n * Function to generate error toast to show in case the server fails to perform the action.\n * @external\n */\n errorToast?: (err: unknown) => ToastConfig | string;\n /**\n * Callback function triggered when an error occurs.\n * @external\n */\n onError?: (err: unknown) => void;\n /**\n * Callback function to retry the action.\n * @
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/state/OptimisticActions.ts"],"sourcesContent":["import { ToastConfig } from '../model';\nimport { EventuallyUpdated } from './CollectionOptimisticExecutor';\n\nexport interface OptimisticActionBasis {\n /**\n * Determines whether to display an undo toast before calling the server action.\n * @default false\n * @external\n */\n showUndoToast?: boolean;\n /**\n * Determines whether to display a toast after clicking on undo.\n * @default false\n * @external\n */\n showUndoSuccessToast?: boolean;\n /**\n * Callback function triggered when the user clicks on the undo button.\n * @external\n */\n onUndo?: () => void;\n /**\n * Function to generate error toast to show in case the server fails to perform the action.\n * @external\n */\n errorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) => ToastConfig | string;\n /**\n * Callback function triggered when an error occurs.\n * @external\n */\n onError?: (err: unknown) => void;\n /**\n * Callback function to retry the action.\n * @deprecated Use the prop `errorToast={(err, {retry}) => { action:{onClick: () {retry();} }}}` instead.\n */\n onTryAgain?: () => void | Promise<void>;\n /**\n * Toast message or configuration to show on successful action.\n * @external\n */\n successToast?: ToastConfig | string;\n /**\n * Indicates when the server is eventually updated.\n * Possible values:\n * - submit: Server updates immediately after the submission promise resolves.\n * - number: Server updates after a specified timeout (in milliseconds).\n * - Promise: Server updates after a forwarded promise resolves.\n * @default submit\n * @external\n */\n updateServerAfter?: EventuallyUpdated;\n}\n\nexport interface CreateManyParams<T> extends OptimisticActionBasis {\n /**\n * Function to submit the creation operation.\n * @param items - The items to create.\n */\n submit: (items: T[]) => Promise<T[] | null | undefined | void>;\n}\n\nexport interface UpdateManyParams<T, R> extends OptimisticActionBasis {\n /**\n * Function to submit the update operation.\n * @param items - The items to update.\n */\n submit: (items: T[]) => Promise<R>;\n /**\n * Indicates whether to keep the current position of items after the update.\n */\n keepPosition?: boolean;\n}\n\nexport interface UpdateAllParams<R> extends OptimisticActionBasis {\n /**\n * Function to submit the update operation.\n */\n submit: () => Promise<R>;\n /**\n * Indicates whether to keep the current position of items after the update.\n */\n keepPosition?: boolean;\n}\n\nexport interface DeleteManyParams<T, R> extends OptimisticActionBasis {\n /**\n * Function to submit the deletion operation.\n * @param items - The items to delete.\n */\n submit: (items: T[]) => Promise<R>;\n}\n\nexport interface DeleteAllParams<R> extends OptimisticActionBasis {\n /**\n * Function to submit the deletion operation.\n */\n submit: () => Promise<R>;\n}\n\nexport interface OptimisticActions<T> {\n createOne(item: T, params: CreateManyParams<T>): void;\n createMany(items: T[], params: CreateManyParams<T>): void;\n\n updateMany<R>(items: T[], params: UpdateManyParams<T, R>): void;\n updateOne<R>(item: T, params: UpdateManyParams<T, R>): void;\n updateAll<R>(\n patchOrFn: (item: T) => Partial<T>,\n params: UpdateAllParams<R>,\n ): void;\n\n deleteMany<R>(items: T[], params: DeleteManyParams<T, R>): void;\n deleteOne<R>(item: T, params: DeleteManyParams<T, R>): void;\n deleteAll<R>(params: UpdateAllParams<R>): void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -239,13 +239,21 @@ class TagsManagementState {
|
|
|
239
239
|
};
|
|
240
240
|
this.optimisticActions.createOne(newTag, {
|
|
241
241
|
submit: async () => {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
242
|
+
const {
|
|
243
|
+
container: {
|
|
244
|
+
httpClient,
|
|
245
|
+
errorHandler,
|
|
246
|
+
translate
|
|
247
|
+
}
|
|
248
|
+
} = this;
|
|
249
|
+
const createTagResponse = await errorHandler.withErrorHandler(() => httpClient.request((0, _http.createTag)({
|
|
247
250
|
tag: newTag
|
|
248
|
-
}))
|
|
251
|
+
})), {
|
|
252
|
+
errorCodesMap: (0, _createTagErrors.createTagErrors)({
|
|
253
|
+
translate,
|
|
254
|
+
visualType
|
|
255
|
+
})
|
|
256
|
+
});
|
|
249
257
|
const serverCreatedTag = createTagResponse.data.tag;
|
|
250
258
|
await (onSuccess == null ? void 0 : onSuccess(serverCreatedTag));
|
|
251
259
|
return [serverCreatedTag];
|