@wix/bex-core 2.167.0 → 2.170.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/hooks/createCollection.js +2 -0
- package/dist/cjs/hooks/createCollection.js.map +1 -1
- package/dist/cjs/state/CollectionState.js +8 -3
- package/dist/cjs/state/CollectionState.js.map +1 -1
- package/dist/cjs/state/DataExtensionState.js +1 -1
- package/dist/cjs/state/DataExtensionState.js.map +1 -1
- package/dist/cjs/state/FetchTotalState.js +2 -0
- package/dist/cjs/state/FetchTotalState.js.map +1 -1
- package/dist/cjs/state/PickerState.js +4 -1
- package/dist/cjs/state/PickerState.js.map +1 -1
- package/dist/cjs/testkit/ProductsCollectionState.driver.js +2 -0
- package/dist/cjs/testkit/ProductsCollectionState.driver.js.map +1 -1
- package/dist/esm/hooks/createCollection.js +2 -1
- package/dist/esm/hooks/createCollection.js.map +1 -1
- package/dist/esm/state/CollectionState.js +7 -4
- package/dist/esm/state/CollectionState.js.map +1 -1
- package/dist/esm/state/DataExtensionState.js +1 -1
- package/dist/esm/state/FetchTotalState.js +2 -1
- package/dist/esm/state/FetchTotalState.js.map +1 -1
- package/dist/esm/state/PickerState.js +3 -1
- package/dist/esm/state/PickerState.js.map +1 -1
- package/dist/esm/testkit/ProductsCollectionState.driver.js +2 -0
- package/dist/esm/testkit/ProductsCollectionState.driver.js.map +1 -1
- package/dist/types/hooks/createCollection.d.ts.map +1 -1
- package/dist/types/state/CollectionState.d.ts +3 -1
- package/dist/types/state/CollectionState.d.ts.map +1 -1
- package/dist/types/state/DataExtensionState.d.ts +1 -1
- package/dist/types/state/FetchTotalState.d.ts.map +1 -1
- package/dist/types/state/PickerState.d.ts.map +1 -1
- package/dist/types/testkit/ProductsCollectionState.driver.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -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","_extensionPoint","extensionPoint","dataExtensionService","DataExtensionSchemaService","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","_dataExtensionSchemasBase","observable","ref","_dataExtensionSchemas","userSchema","appSchemas","_upsertSchema","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","reportBi","biReporter","DataExtensionStateBIReporter","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","_customField$xWixPi","customField","toCustomField","title","read","write","isPiiField","enabled","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","properties","isSupportedFieldType","getAvailableCustomFieldsInSchema","requiredPermissions","filteredFields","Object","keys","filter","field","isAllowedType","isPermitted","includesAllReadPermissions","sorted","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","getSchemaAndFieldsByNamespace","_schema$jsonSchema","userFieldsNamespace","find","s","fields","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","newSchema","index","findIndex","dataExtensionSchemas","runInAction"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOwner,\n CustomFieldType,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { CustomFieldForm } from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n fqdn: Fqdn;\n}\nexport interface DefaultPermissionsConfig {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\n extensionPoint?: string;\n defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport const MAX_CUSTOM_FIELDS = 25;\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly fqdn;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n _dataExtensionSchemasBase: DataExtensionSchema[] = [];\n containsPii?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n readonly disableUserDefinedWriting;\n readonly filterable;\n\n _extensionPoint;\n\n constructor(\n params: Readonly<DataExtensionStateParams & DataExtensionOverrides>,\n ) {\n this.container = params.container;\n this.disableUserDefinedWriting = params.disableUserDefinedWriting;\n this.filterable = params.filterable;\n this.closeSidePanel = params.closeSidePanel;\n this.fqdn = params.fqdn;\n this._extensionPoint = params.extensionPoint;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.containsPii = params.containsPii;\n this.defaultPermissions = params.defaultPermissions;\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n filterableCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n _dataExtensionSchemasBase: observable.ref,\n _dataExtensionSchemas: computed,\n userSchema: computed,\n appSchemas: computed,\n _upsertSchema: action,\n containsPii: observable,\n defaultPermissions: observable,\n });\n }\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({\n id,\n origin,\n reportBi,\n }: {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n }) {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi,\n });\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n this._upsertSchema(dataExtensionSchema);\n }\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const isPiiField = customField['x-wix-pii']?.enabled;\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii: Boolean(isPiiField),\n };\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n namespace,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n }): CustomField | undefined {\n if (!DataExtensionSchemaService.toCustomType(schema)) {\n return;\n }\n return {\n id: key,\n label: schema?.title || key,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema) as CustomFieldType,\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\n properties: schema?.properties ?? {},\n namespace,\n permissions: schema['x-wix-permissions'],\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n namespace,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n namespace: string;\n },\n ): CustomField[] {\n const filteredFields = Object.keys(properties).filter((key) => {\n const field = properties[key];\n const isAllowedType =\n this.isSupportedFieldType(field.type) ||\n (field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1');\n\n const isPermitted =\n requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions);\n\n return !field['x-wix-archived'] && isAllowedType && isPermitted;\n });\n\n const sorted = filteredFields.sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n });\n\n return sorted\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getSchemaAndFieldsByNamespace(namespace: string) {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n\n const schema = _dataExtensionSchemas.find((s) => s.namespace === namespace);\n\n if (!schema) {\n return {};\n }\n\n const fields = this.getAvailableCustomFieldsInSchema(\n schema.jsonSchema?.properties || {},\n {\n editable: false,\n owner: namespace === userFieldsNamespace ? 'user' : 'app',\n namespace,\n },\n );\n\n return {\n schema,\n fields,\n };\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n namespace: appSchema.namespace as string,\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, appSchema) => {\n const properties: { [key: string]: DataExtensionField } =\n appSchema?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n namespace: appSchema.namespace as string,\n }),\n )\n .filter(Boolean) as CustomField[],\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get filterableCustomFields(): CustomField[] {\n if (!this.filterable) {\n return [];\n }\n\n return this.availableCustomFields.filter((field) => field.filterable);\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n\n return () => {};\n }\n\n _upsertSchema(newSchema: DataExtensionSchema) {\n const { _dataExtensionSchemasBase } = this;\n\n const index = _dataExtensionSchemasBase.findIndex(\n (schema) => schema.namespace === newSchema?.namespace,\n );\n\n if (index === -1) {\n this._dataExtensionSchemasBase = [\n ..._dataExtensionSchemasBase,\n newSchema,\n ];\n } else {\n this._dataExtensionSchemasBase = _dataExtensionSchemasBase.map((schema) =>\n schema.namespace === newSchema.namespace ? newSchema : schema,\n );\n }\n }\n\n get userSchema() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.find(\n (s) => s.namespace === userFieldsNamespace,\n );\n }\n\n get _dataExtensionSchemas() {\n const { _extensionPoint, _dataExtensionSchemasBase } = this;\n return _dataExtensionSchemasBase.filter((s: DataExtensionSchema) =>\n _extensionPoint\n ? s.extensionPoint === _extensionPoint\n : s.extensionPoint == null || s.extensionPoint === 'ROOT',\n );\n }\n\n get appSchemas() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.filter(\n (s) => s.namespace !== userFieldsNamespace,\n );\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n this._dataExtensionSchemasBase = dataExtensionSchemas ?? [];\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_services","require","_TaskState","_mobx","_DataExtensionStateBIReporter","_util","_DataExtensionField","MAX_CUSTOM_FIELDS","exports","DataExtensionState","fqdnString","fqdnToString","fqdn","isFqdnValid","resource","undefined","constructor","params","_defineProperty2","default","TaskState","container","disableUserDefinedWriting","filterable","closeSidePanel","_extensionPoint","extensionPoint","dataExtensionService","DataExtensionSchemaService","containsPii","defaultPermissions","makeObservable","allUserCustomFields","computed","allAppsCustomFields","allCustomFields","filterableCustomFields","availableUserCustomFields","availableAppsCustomFields","availableCustomFields","isReachedMaxCustomFields","disableAddCustomField","disableAddCustomFieldContent","_dataExtensionSchemasBase","observable","ref","_dataExtensionSchemas","userSchema","appSchemas","_upsertSchema","action","hasWritePermissions","_hasWritePermissions","user","permissions","includes","translate","max","archiveField","id","origin","reportBi","biReporter","DataExtensionStateBIReporter","_this$container$showT","_this$container","dataExtensionSchema","archiveCustomField","schema","showToast","call","message","type","biName","e","_this$container$showT2","_this$container2","uiType","text","onClick","reportArchiveTryAgain","removeToastOnClick","reportArchiveFieldFailed","formValues","extractFieldValuesFromSchema","fieldId","_customField$xWixPi","customField","toCustomField","title","read","write","isPiiField","enabled","readApps","readUsers","writeApps","writeUsers","toCustomType","name","key","Boolean","_toCustomField","editable","owner","namespace","label","maxLength","options","enum","properties","isSupportedFieldType","getAvailableCustomFieldsInSchema","requiredPermissions","filteredFields","Object","keys","filter","field","isAllowedType","isPermitted","includesAllReadPermissions","sorted","sort","a","b","aVal","Date","bVal","isNaN","valueOf","map","_this$userSchema","jsonSchema","_this$appSchemas","reduce","prev","getAvailableCustomFieldsForApp","getSchemaAndFieldsByNamespace","_schema$jsonSchema","userFieldsNamespace","find","s","fields","appSchema","_appSchema$jsonSchema","_this$userSchema2","_this$appSchemas2","_appSchema$jsonSchema2","concat","length","allNamespaces","_this$userSchema3","init","initTask","runOnce","fetchSchemas","newSchema","index","findIndex","dataExtensionSchemas","runInAction"],"sources":["../../../src/state/DataExtensionState.ts"],"sourcesContent":["import {\n CustomField,\n CustomFieldOwner,\n CustomFieldType,\n DataExtensionField,\n DataExtensionPermission,\n DataExtensionSchemaService,\n DataExtensionType,\n ReportBI,\n} from '../services';\nimport { TaskState } from './TaskState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { Fqdn } from '../model';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { CustomFieldForm } from './CustomFieldModalState';\nimport type { DataExtensionSchema } from '@wix/bex-utils/@wix/ambassador-data-extensions-v1-data-extension-schema/types';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { fqdnToString } from '../util';\nimport { includesAllReadPermissions } from './DataExtension/DataExtensionField';\n\nexport interface DataExtensionStateParams {\n container: WixPatternsContainer;\n closeSidePanel?: () => unknown;\n fqdn: Fqdn;\n}\nexport interface DefaultPermissionsConfig {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\nexport interface DataExtensionOverrides {\n disableUserDefinedWriting?: boolean;\n containsPii?: boolean;\n filterable?: boolean;\n extensionPoint?: string;\n defaultPermissions?: DefaultPermissionsConfig;\n}\n\nexport const MAX_CUSTOM_FIELDS = 50;\n\nexport class DataExtensionState {\n readonly dataExtensionService: DataExtensionSchemaService;\n readonly initTask = new TaskState();\n readonly container: WixPatternsContainer;\n _hasWritePermissions?: boolean;\n readonly closeSidePanel;\n readonly fqdn;\n\n get fqdnString() {\n return fqdnToString(this.fqdn);\n }\n\n get isFqdnValid() {\n return this.fqdn.resource !== undefined;\n }\n\n _dataExtensionSchemasBase: DataExtensionSchema[] = [];\n containsPii?: boolean;\n defaultPermissions?: DefaultPermissionsConfig;\n readonly disableUserDefinedWriting;\n readonly filterable;\n\n _extensionPoint;\n\n constructor(\n params: Readonly<DataExtensionStateParams & DataExtensionOverrides>,\n ) {\n this.container = params.container;\n this.disableUserDefinedWriting = params.disableUserDefinedWriting;\n this.filterable = params.filterable;\n this.closeSidePanel = params.closeSidePanel;\n this.fqdn = params.fqdn;\n this._extensionPoint = params.extensionPoint;\n this.dataExtensionService = new DataExtensionSchemaService(\n params.container,\n );\n\n this.containsPii = params.containsPii;\n this.defaultPermissions = params.defaultPermissions;\n\n makeObservable(this, {\n allUserCustomFields: computed,\n allAppsCustomFields: computed,\n allCustomFields: computed,\n filterableCustomFields: computed,\n availableUserCustomFields: computed,\n availableAppsCustomFields: computed,\n availableCustomFields: computed,\n isReachedMaxCustomFields: computed,\n disableAddCustomField: computed,\n disableAddCustomFieldContent: computed,\n _dataExtensionSchemasBase: observable.ref,\n _dataExtensionSchemas: computed,\n userSchema: computed,\n appSchemas: computed,\n _upsertSchema: action,\n containsPii: observable,\n defaultPermissions: observable,\n });\n }\n\n get hasWritePermissions() {\n if (this._hasWritePermissions == null) {\n this._hasWritePermissions = this.container.user.permissions.includes(\n 'DATA_EXTENSION_SCHEMA.WRITE',\n );\n }\n\n return this._hasWritePermissions;\n }\n\n get disableAddCustomField() {\n return !this.hasWritePermissions || this.isReachedMaxCustomFields;\n }\n\n get disableAddCustomFieldContent() {\n if (!this.hasWritePermissions) {\n return this.container.translate(\n 'cairo.customFields.writePermission.tooltip',\n );\n }\n\n if (this.isReachedMaxCustomFields) {\n return this.container.translate('cairo.customFields.maxFields.tooltip', {\n max: MAX_CUSTOM_FIELDS,\n });\n }\n\n return '';\n }\n\n async archiveField({\n id,\n origin,\n reportBi,\n }: {\n id?: string;\n origin: string;\n reportBi: ReportBI;\n }) {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi,\n });\n if (id == null) {\n return;\n }\n try {\n const { dataExtensionSchema } =\n await this.dataExtensionService.archiveCustomField({\n schema: this.userSchema,\n fqdn: this.fqdnString,\n id,\n });\n\n if (dataExtensionSchema) {\n this._upsertSchema(dataExtensionSchema);\n }\n\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.success.toast',\n ),\n type: 'SUCCESS',\n biName: 'cairo-archive-custom-field-success-toast',\n });\n } catch (e) {\n this.container.showToast?.({\n message: this.container.translate(\n 'cairo.customFields.archive.technicalError',\n ),\n action: {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n biReporter.reportArchiveTryAgain();\n this.archiveField({ id, origin, reportBi });\n },\n removeToastOnClick: true,\n },\n type: 'ERROR',\n biName: 'cairo-archive-custom-field-error-toast',\n });\n biReporter.reportArchiveFieldFailed({\n formValues: this.extractFieldValuesFromSchema(id),\n origin,\n });\n }\n }\n\n extractFieldValuesFromSchema(fieldId: string): CustomFieldForm | undefined {\n if (!this.userSchema) {\n return;\n }\n\n const customField = DataExtensionSchemaService.toCustomField(\n this.userSchema,\n fieldId,\n );\n\n if (!customField || !customField.type || !customField.title) {\n return;\n }\n\n const { read, write } = customField['x-wix-permissions'];\n const isPiiField = customField['x-wix-pii']?.enabled;\n const readApps = read?.includes('apps');\n const readUsers = read?.includes('users-of-users');\n const writeApps = write?.includes('apps');\n const writeUsers = write?.includes('users-of-users');\n\n return {\n type: DataExtensionSchemaService.toCustomType(customField),\n name: customField.title,\n key: customField.id,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii: Boolean(isPiiField),\n };\n }\n\n _toCustomField({\n key,\n schema,\n editable,\n owner,\n namespace,\n }: {\n key: string;\n schema: DataExtensionField;\n editable: boolean;\n owner: CustomFieldOwner;\n namespace: string;\n }): CustomField | undefined {\n if (!DataExtensionSchemaService.toCustomType(schema)) {\n return;\n }\n return {\n id: key,\n label: schema?.title || key,\n maxLength: schema?.maxLength,\n options: schema?.enum,\n type: DataExtensionSchemaService.toCustomType(schema) as CustomFieldType,\n editable,\n filterable: schema['x-wix-filterable'],\n owner,\n properties: schema?.properties ?? {},\n namespace,\n permissions: schema['x-wix-permissions'],\n };\n }\n\n private isSupportedFieldType(type?: string): type is DataExtensionType {\n if (!type) {\n return false;\n }\n return ['string', 'number', 'integer', 'boolean', 'array'].includes(type);\n }\n\n private getAvailableCustomFieldsInSchema(\n properties: {\n [key: string]: DataExtensionField;\n },\n {\n editable,\n requiredPermissions,\n owner,\n namespace,\n }: {\n editable: boolean;\n requiredPermissions?: DataExtensionPermission[];\n owner: CustomFieldOwner;\n namespace: string;\n },\n ): CustomField[] {\n const filteredFields = Object.keys(properties).filter((key) => {\n const field = properties[key];\n const isAllowedType =\n this.isSupportedFieldType(field.type) ||\n (field.type === 'object' && field['x-wix-object-type'] === 'FILE/V1');\n\n const isPermitted =\n requiredPermissions == null ||\n includesAllReadPermissions(field, requiredPermissions);\n\n return !field['x-wix-archived'] && isAllowedType && isPermitted;\n });\n\n const sorted = filteredFields.sort((a, b) => {\n const aVal = new Date(properties[a]['x-wix-created-date']);\n const bVal = new Date(properties[b]['x-wix-created-date']);\n\n if (isNaN(bVal.valueOf()) || isNaN(aVal.valueOf())) {\n return 0;\n }\n\n return aVal.valueOf() - bVal.valueOf();\n });\n\n return sorted\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable,\n owner,\n namespace,\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n /**\n * Available custom fields, excluding archived fields\n */\n get availableUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n });\n }\n\n get availableAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, schema) => {\n return [...prev, ...this.getAvailableCustomFieldsForApp(schema)];\n }, [] as CustomField[]) ?? []\n );\n }\n\n getSchemaAndFieldsByNamespace(namespace: string) {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n\n const schema = _dataExtensionSchemas.find((s) => s.namespace === namespace);\n\n if (!schema) {\n return {};\n }\n\n const fields = this.getAvailableCustomFieldsInSchema(\n schema.jsonSchema?.properties || {},\n {\n editable: false,\n owner: namespace === userFieldsNamespace ? 'user' : 'app',\n namespace,\n },\n );\n\n return {\n schema,\n fields,\n };\n }\n\n getAvailableCustomFieldsForApp(\n appSchema: DataExtensionSchema,\n ): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n appSchema.jsonSchema?.properties || {};\n\n return this.getAvailableCustomFieldsInSchema(properties, {\n editable: false,\n requiredPermissions: ['users'],\n owner: 'app',\n namespace: appSchema.namespace as string,\n });\n }\n\n get availableCustomFields(): CustomField[] {\n return [\n ...this.availableUserCustomFields,\n ...this.availableAppsCustomFields,\n ];\n }\n\n get allUserCustomFields(): CustomField[] {\n const properties: { [key: string]: DataExtensionField } =\n this.userSchema?.jsonSchema?.properties || {};\n\n return Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: true,\n owner: 'user',\n namespace: '_user_fields',\n }),\n )\n .filter(Boolean) as CustomField[];\n }\n\n get allAppsCustomFields(): CustomField[] {\n return (\n this.appSchemas?.reduce((prev, appSchema) => {\n const properties: { [key: string]: DataExtensionField } =\n appSchema?.jsonSchema?.properties || {};\n\n return prev.concat(\n Object.keys(properties)\n .map((key) =>\n this._toCustomField({\n key,\n schema: properties[key],\n editable: false,\n owner: 'app',\n namespace: appSchema.namespace as string,\n }),\n )\n .filter(Boolean) as CustomField[],\n );\n }, [] as CustomField[]) ?? []\n );\n }\n\n get allCustomFields(): CustomField[] {\n return [...this.allUserCustomFields, ...this.allAppsCustomFields];\n }\n\n get filterableCustomFields(): CustomField[] {\n if (!this.filterable) {\n return [];\n }\n\n return this.availableCustomFields.filter((field) => field.filterable);\n }\n\n get isReachedMaxCustomFields() {\n return this.allUserCustomFields.length >= MAX_CUSTOM_FIELDS;\n }\n\n get allNamespaces() {\n return [\n this.userSchema?.namespace,\n ...(this.appSchemas || []).map((schema) => schema.namespace),\n ].filter(Boolean) as string[];\n }\n\n init() {\n const { initTask } = this;\n\n initTask.runOnce(async () => {\n await this.fetchSchemas();\n });\n\n return () => {};\n }\n\n _upsertSchema(newSchema: DataExtensionSchema) {\n const { _dataExtensionSchemasBase } = this;\n\n const index = _dataExtensionSchemasBase.findIndex(\n (schema) => schema.namespace === newSchema?.namespace,\n );\n\n if (index === -1) {\n this._dataExtensionSchemasBase = [\n ..._dataExtensionSchemasBase,\n newSchema,\n ];\n } else {\n this._dataExtensionSchemasBase = _dataExtensionSchemasBase.map((schema) =>\n schema.namespace === newSchema.namespace ? newSchema : schema,\n );\n }\n }\n\n get userSchema() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.find(\n (s) => s.namespace === userFieldsNamespace,\n );\n }\n\n get _dataExtensionSchemas() {\n const { _extensionPoint, _dataExtensionSchemasBase } = this;\n return _dataExtensionSchemasBase.filter((s: DataExtensionSchema) =>\n _extensionPoint\n ? s.extensionPoint === _extensionPoint\n : s.extensionPoint == null || s.extensionPoint === 'ROOT',\n );\n }\n\n get appSchemas() {\n const {\n _dataExtensionSchemas,\n dataExtensionService: { userFieldsNamespace },\n } = this;\n return _dataExtensionSchemas.filter(\n (s) => s.namespace !== userFieldsNamespace,\n );\n }\n\n async fetchSchemas() {\n const { dataExtensionService } = this;\n\n if (this.isFqdnValid) {\n const { dataExtensionSchemas } = await dataExtensionService.fetchSchemas(\n this.fqdnString,\n );\n\n runInAction(() => {\n this._dataExtensionSchemasBase = dataExtensionSchemas ?? [];\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,7 @@ class FetchTotalState {
|
|
|
14
14
|
this._collection = params.collection;
|
|
15
15
|
const {
|
|
16
16
|
errorMonitor,
|
|
17
|
+
errorHandler,
|
|
17
18
|
onlineState,
|
|
18
19
|
history,
|
|
19
20
|
translate,
|
|
@@ -31,6 +32,7 @@ class FetchTotalState {
|
|
|
31
32
|
} = params.collection;
|
|
32
33
|
this._totalsCollection = new _CollectionState.CollectionState({
|
|
33
34
|
errorMonitor,
|
|
35
|
+
errorHandler,
|
|
34
36
|
onlineState,
|
|
35
37
|
history,
|
|
36
38
|
translate,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_CollectionState","_util","FetchTotalState","constructor","params","_defineProperty2","default","_collection","collection","errorMonitor","onlineState","history","translate","queryCache","lodash","queryName","itemKey","itemName","paginationMode","selectionConsistencyMode","filters","query","search","_totalsCollection","CollectionState","limit","fetchData","total","fetchTotal","items","id","makeObservable","computed","status","init","_collection$_optimist","disposers","_optimisticActions","initCollection","addEventListener","emitter","clearResultAndMoveToStart","refreshAllPages","refreshCurrentPage","forEach","disposer","result","lifecycleState","exports"],"sources":["../../../src/state/FetchTotalState.ts"],"sourcesContent":["import { computed, makeObservable } from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { addEventListener } from '../util';\nimport { QueryCache } from 'react-query';\nimport { ComputedQuery, FiltersMap, QueryStatusValue } from '../model';\n\nexport interface FetchTotalStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly queryCache: QueryCache;\n readonly fetchTotal: (query: ComputedQuery<F>) => Promise<number>;\n}\n\nexport class FetchTotalState<T, F extends FiltersMap> {\n readonly _collection;\n readonly _totalsCollection;\n\n constructor(params: Readonly<FetchTotalStateParams<T, F>>) {\n this._collection = params.collection;\n\n const {\n errorMonitor,\n onlineState,\n history,\n translate,\n queryCache,\n lodash,\n queryName,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n filters,\n query: { search },\n } = params.collection;\n\n this._totalsCollection = new CollectionState<T, F>({\n errorMonitor,\n onlineState,\n history,\n translate,\n queryCache,\n lodash,\n queryName: `${queryName}.total`,\n itemKey,\n itemName,\n limit: 1,\n fetchData: async (query) => {\n const total = await params.fetchTotal(query);\n return { items: [], total };\n },\n paginationMode: paginationMode.id,\n selectionConsistencyMode,\n filters,\n search,\n });\n\n makeObservable(this, {\n total: computed,\n status: computed,\n });\n }\n\n init() {\n const { _collection, _totalsCollection } = this;\n\n const disposers = [\n _totalsCollection.init(),\n _collection._optimisticActions?.initCollection(_totalsCollection),\n addEventListener(_collection.emitter, 'search', () => {\n _totalsCollection.clearResultAndMoveToStart();\n }),\n addEventListener(\n _collection.emitter,\n 'clearSearch',\n _totalsCollection.clearResultAndMoveToStart,\n ),\n addEventListener(\n _collection.emitter,\n 'refreshAllPages',\n _totalsCollection.refreshAllPages,\n ),\n addEventListener(\n _collection.emitter,\n 'refreshCurrentPage',\n _totalsCollection.refreshCurrentPage,\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n get total(): number {\n return this._totalsCollection.result.total;\n }\n\n get status(): QueryStatusValue {\n // While refreshing the status remains as success\n return this._totalsCollection.lifecycleState === 'refresh'\n ? 'loading'\n : this._totalsCollection.result.status.status;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAUO,MAAMG,eAAe,CAA0B;EAIpDC,WAAWA,CAACC,MAA6C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACzD,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACI,UAAU;IAEpC,MAAM;MACJC,YAAY;MACZC,WAAW;MACXC,OAAO;MACPC,SAAS;MACTC,UAAU;MACVC,MAAM;MACNC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,cAAc;MACdC,wBAAwB;MACxBC,OAAO;MACPC,KAAK,EAAE;QAAEC;MAAO;IAClB,CAAC,
|
|
1
|
+
{"version":3,"names":["_mobx","require","_CollectionState","_util","FetchTotalState","constructor","params","_defineProperty2","default","_collection","collection","errorMonitor","errorHandler","onlineState","history","translate","queryCache","lodash","queryName","itemKey","itemName","paginationMode","selectionConsistencyMode","filters","query","search","_totalsCollection","CollectionState","limit","fetchData","total","fetchTotal","items","id","makeObservable","computed","status","init","_collection$_optimist","disposers","_optimisticActions","initCollection","addEventListener","emitter","clearResultAndMoveToStart","refreshAllPages","refreshCurrentPage","forEach","disposer","result","lifecycleState","exports"],"sources":["../../../src/state/FetchTotalState.ts"],"sourcesContent":["import { computed, makeObservable } from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { addEventListener } from '../util';\nimport { QueryCache } from 'react-query';\nimport { ComputedQuery, FiltersMap, QueryStatusValue } from '../model';\n\nexport interface FetchTotalStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly queryCache: QueryCache;\n readonly fetchTotal: (query: ComputedQuery<F>) => Promise<number>;\n}\n\nexport class FetchTotalState<T, F extends FiltersMap> {\n readonly _collection;\n readonly _totalsCollection;\n\n constructor(params: Readonly<FetchTotalStateParams<T, F>>) {\n this._collection = params.collection;\n\n const {\n errorMonitor,\n errorHandler,\n onlineState,\n history,\n translate,\n queryCache,\n lodash,\n queryName,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n filters,\n query: { search },\n } = params.collection;\n\n this._totalsCollection = new CollectionState<T, F>({\n errorMonitor,\n errorHandler,\n onlineState,\n history,\n translate,\n queryCache,\n lodash,\n queryName: `${queryName}.total`,\n itemKey,\n itemName,\n limit: 1,\n fetchData: async (query) => {\n const total = await params.fetchTotal(query);\n return { items: [], total };\n },\n paginationMode: paginationMode.id,\n selectionConsistencyMode,\n filters,\n search,\n });\n\n makeObservable(this, {\n total: computed,\n status: computed,\n });\n }\n\n init() {\n const { _collection, _totalsCollection } = this;\n\n const disposers = [\n _totalsCollection.init(),\n _collection._optimisticActions?.initCollection(_totalsCollection),\n addEventListener(_collection.emitter, 'search', () => {\n _totalsCollection.clearResultAndMoveToStart();\n }),\n addEventListener(\n _collection.emitter,\n 'clearSearch',\n _totalsCollection.clearResultAndMoveToStart,\n ),\n addEventListener(\n _collection.emitter,\n 'refreshAllPages',\n _totalsCollection.refreshAllPages,\n ),\n addEventListener(\n _collection.emitter,\n 'refreshCurrentPage',\n _totalsCollection.refreshCurrentPage,\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n get total(): number {\n return this._totalsCollection.result.total;\n }\n\n get status(): QueryStatusValue {\n // While refreshing the status remains as success\n return this._totalsCollection.lifecycleState === 'refresh'\n ? 'loading'\n : this._totalsCollection.result.status.status;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAUO,MAAMG,eAAe,CAA0B;EAIpDC,WAAWA,CAACC,MAA6C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACzD,IAAI,CAACC,WAAW,GAAGH,MAAM,CAACI,UAAU;IAEpC,MAAM;MACJC,YAAY;MACZC,YAAY;MACZC,WAAW;MACXC,OAAO;MACPC,SAAS;MACTC,UAAU;MACVC,MAAM;MACNC,SAAS;MACTC,OAAO;MACPC,QAAQ;MACRC,cAAc;MACdC,wBAAwB;MACxBC,OAAO;MACPC,KAAK,EAAE;QAAEC;MAAO;IAClB,CAAC,GAAGnB,MAAM,CAACI,UAAU;IAErB,IAAI,CAACgB,iBAAiB,GAAG,IAAIC,gCAAe,CAAO;MACjDhB,YAAY;MACZC,YAAY;MACZC,WAAW;MACXC,OAAO;MACPC,SAAS;MACTC,UAAU;MACVC,MAAM;MACNC,SAAS,EAAE,GAAGA,SAAS,QAAQ;MAC/BC,OAAO;MACPC,QAAQ;MACRQ,KAAK,EAAE,CAAC;MACRC,SAAS,EAAE,MAAOL,KAAK,IAAK;QAC1B,MAAMM,KAAK,GAAG,MAAMxB,MAAM,CAACyB,UAAU,CAACP,KAAK,CAAC;QAC5C,OAAO;UAAEQ,KAAK,EAAE,EAAE;UAAEF;QAAM,CAAC;MAC7B,CAAC;MACDT,cAAc,EAAEA,cAAc,CAACY,EAAE;MACjCX,wBAAwB;MACxBC,OAAO;MACPE;IACF,CAAC,CAAC;IAEF,IAAAS,oBAAc,EAAC,IAAI,EAAE;MACnBJ,KAAK,EAAEK,cAAQ;MACfC,MAAM,EAAED;IACV,CAAC,CAAC;EACJ;EAEAE,IAAIA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACL,MAAM;MAAE7B,WAAW;MAAEiB;IAAkB,CAAC,GAAG,IAAI;IAE/C,MAAMa,SAAS,GAAG,CAChBb,iBAAiB,CAACW,IAAI,CAAC,CAAC,GAAAC,qBAAA,GACxB7B,WAAW,CAAC+B,kBAAkB,qBAA9BF,qBAAA,CAAgCG,cAAc,CAACf,iBAAiB,CAAC,EACjE,IAAAgB,sBAAgB,EAACjC,WAAW,CAACkC,OAAO,EAAE,QAAQ,EAAE,MAAM;MACpDjB,iBAAiB,CAACkB,yBAAyB,CAAC,CAAC;IAC/C,CAAC,CAAC,EACF,IAAAF,sBAAgB,EACdjC,WAAW,CAACkC,OAAO,EACnB,aAAa,EACbjB,iBAAiB,CAACkB,yBACpB,CAAC,EACD,IAAAF,sBAAgB,EACdjC,WAAW,CAACkC,OAAO,EACnB,iBAAiB,EACjBjB,iBAAiB,CAACmB,eACpB,CAAC,EACD,IAAAH,sBAAgB,EACdjC,WAAW,CAACkC,OAAO,EACnB,oBAAoB,EACpBjB,iBAAiB,CAACoB,kBACpB,CAAC,CACF;IAED,OAAO,MAAM;MACXP,SAAS,CAACQ,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,oBAARA,QAAQ,CAAG,CAAC,CAAC;IAC/C,CAAC;EACH;EAEA,IAAIlB,KAAKA,CAAA,EAAW;IAClB,OAAO,IAAI,CAACJ,iBAAiB,CAACuB,MAAM,CAACnB,KAAK;EAC5C;EAEA,IAAIM,MAAMA,CAAA,EAAqB;IAC7B;IACA,OAAO,IAAI,CAACV,iBAAiB,CAACwB,cAAc,KAAK,SAAS,GACtD,SAAS,GACT,IAAI,CAACxB,iBAAiB,CAACuB,MAAM,CAACb,MAAM,CAACA,MAAM;EACjD;AACF;AAACe,OAAA,CAAA/C,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -140,7 +140,8 @@ class PickerState {
|
|
|
140
140
|
paginationMode,
|
|
141
141
|
selectionConsistencyMode,
|
|
142
142
|
events,
|
|
143
|
-
lodash
|
|
143
|
+
lodash,
|
|
144
|
+
errorHandler
|
|
144
145
|
} = this.collection;
|
|
145
146
|
this.noFilters = new _CollectionState.CollectionState({
|
|
146
147
|
queryName,
|
|
@@ -148,6 +149,7 @@ class PickerState {
|
|
|
148
149
|
history,
|
|
149
150
|
queryCache,
|
|
150
151
|
errorMonitor,
|
|
152
|
+
errorHandler,
|
|
151
153
|
lodash,
|
|
152
154
|
onlineState,
|
|
153
155
|
showToast,
|
|
@@ -175,6 +177,7 @@ class PickerState {
|
|
|
175
177
|
history,
|
|
176
178
|
queryCache,
|
|
177
179
|
errorMonitor,
|
|
180
|
+
errorHandler,
|
|
178
181
|
lodash,
|
|
179
182
|
onlineState,
|
|
180
183
|
showToast,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","url","window","href","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","noFilters","CollectionState","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","route","pathname","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n route:\n typeof window !== 'undefined' ? window.location.pathname : '',\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n url: typeof window !== 'undefined' ? window.location.href : '',\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_CollectionState","require","_mapValues","_interopRequireDefault","_mobx","_TaskState","_v","_util","_snapshot","_MultiCollectionSupport","_onItemsCreated","DEFAULT_FLOATING_NOTIFICATION_HEIGHT","withoutDefaults","withoutIrrelevant","PickerState","constructor","params","_defineProperty2","default","TaskState","reportBi","startTime","performance","now","totalNewItems","loadMore","_commonDynamicBiParams","loadingTime","Math","round","loadedItems","collection","result","pickerModalUsability","action","searchTerm","query","search","value","cairoSearchResults","searchResultsCnt","total","ctaName","currentLevel","numLevels","cairoCtaClicked","ctaIndex","numCtas","location","moreActionsIndex","url","window","href","items","onItemsCreated","reportProps","runInAction","newItemCreationEnd","numSelectedItems","bulkSelect","select","selectedCount","resultType","getMaxItems","multi","MultiCollectionSupport","collections","shouldFilterNotAffectTotalCount","isScrollTop","minContentHeight","events","loadStartTime","filteredListSize","Snapshot","expression","Object","values","customFilters","map","f","effect","queryName","fetchData","history","queryCache","errorMonitor","onlineState","showToast","translate","itemKey","itemName","paginationMode","selectionConsistencyMode","lodash","errorHandler","noFilters","CollectionState","id","limit","pagination","onError","filters","mapValues","filter","clearedFilter","clone","reset","strictFiltersOnly","filterName","makeObservable","setFloatingNotificationHeight","someHidden","computed","toggle","updateIsScrollTop","onPrimaryButtonClick","observable","ref","clearResultAndMoveToStart","force","Promise","all","strictFiltersOnlyTotal","noFiltersTotal","newValue","listSize","maxItems","init","initTask","onReady","onInitialFetchError","emitter","on","onNewPage","onSearchStart","disposers","runOnce","status","promise","forceUpdate","loadEnd","route","pathname","initialItems","size","asComputed","e","captureException","err","isOnline","off","disposer","onCloseButtonClick","componentDismissed","origin","onBackButtonClick","_onButtonClick","onContinueButtonClick","onSecondaryButtonOnClick","pickerPickModalCtaButtonClickOrImmediateCta","isImmediate","itemsCnt","keyedItem","options","_bulkSelect$getCollec","onItemSelectClick","selectedCountOrTotal","numItemsBefore","selectedValues","prevSelected","clear","cairoItemSelectionToggled","isSelectAll","isFromSearch","isEmpty","searchQuery","itemIndex","index","hasAdditionalStep","itemId","key","clickType","isChecked","numItemsAfter","item","previousIndex","getCollectionItem","floatingNotificationHeight","exports"],"sources":["../../../src/state/PickerState.ts"],"sourcesContent":["import { CollectionState } from './CollectionState';\nimport {\n CollectionEvents,\n ComputedQuery,\n ComputedResult,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport mapValues from 'lodash/mapValues';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { TaskState } from './TaskState';\nimport { ReportBI } from '../services';\nimport {\n cairoCtaClicked,\n cairoItemSelectionToggled,\n cairoSearchResults,\n componentDismissed,\n loadEnd,\n loadMore,\n newItemCreationEnd,\n pickerModalUsability,\n pickerPickModalCtaButtonClickOrImmediateCta,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { withoutIrrelevant } from '../util';\nimport { Snapshot } from './snapshot';\nimport { MultiCollectionSupport } from './MultiCollectionSupport';\nimport { onItemsCreated } from './onItemsCreated';\n\nconst DEFAULT_FLOATING_NOTIFICATION_HEIGHT = 54;\n\nexport type OnPickerReady<F extends FiltersMap> = (params: {\n query: ComputedQuery<F>;\n result: ComputedResult;\n noFiltersTotal: ComputedResult['total'];\n}) => unknown;\n\nexport interface PickerEvents<T, F extends FiltersMap>\n extends CollectionEvents<F> {\n readonly onReady?: OnPickerReady<F>;\n readonly onInitialFetchError?: (params: {\n err: unknown;\n isOnline: boolean;\n }) => unknown;\n readonly onItemSelectClick?: (params: {\n item: T;\n index: number;\n previousIndex: number | null;\n }) => unknown;\n}\n\nexport interface PickerStateParams<T, F extends FiltersMap> {\n getMaxItems: () => number | undefined;\n collection: CollectionState<T, F>;\n minContentHeight?: string | number;\n events?: PickerEvents<T, F>;\n shouldFilterNotAffectTotalCount?: (filterName: keyof F) => boolean;\n loadStartTime?: number;\n reportBi: ReportBI;\n}\n\nconst withoutDefaults = withoutIrrelevant<\n 'currentTab' | 'currentFilters' | 'currentSortOrder' | 'currentView'\n>();\n\nexport class PickerState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: PickerStateParams<T, F>['collection'];\n readonly multi;\n readonly strictFiltersOnly: PickerStateParams<T, F>['collection'];\n\n readonly noFilters: PickerStateParams<T, F>['collection'];\n readonly shouldFilterNotAffectTotalCount: (filterName: keyof F) => boolean;\n readonly events: PickerEvents<T, F>;\n\n readonly initTask = new TaskState();\n readonly reportBi;\n readonly loadStartTime;\n\n isScrollTop: boolean;\n\n minContentHeight: string | number;\n floatingNotificationHeight = 0;\n\n readonly getMaxItems;\n\n readonly filteredListSize;\n\n constructor(params: Readonly<PickerStateParams<T, F>>) {\n this.getMaxItems = params.getMaxItems;\n this.collection = params.collection;\n this.reportBi = params.reportBi;\n\n this.multi = new MultiCollectionSupport({\n collections: [this.collection],\n });\n\n this.shouldFilterNotAffectTotalCount =\n params.shouldFilterNotAffectTotalCount ?? (() => false);\n this.isScrollTop = true;\n this.minContentHeight = params.minContentHeight ?? 300;\n\n this.events = params.events ?? {};\n\n this.loadStartTime = params.loadStartTime ?? performance.now();\n\n this.filteredListSize = new Snapshot({\n expression: () =>\n Object.values(this.collection.query.customFilters).map((f) => f?.value),\n effect: () => this.collection.result.total,\n });\n\n const {\n queryName,\n fetchData,\n query,\n history,\n queryCache,\n errorMonitor,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode,\n selectionConsistencyMode,\n events,\n lodash,\n errorHandler,\n } = this.collection;\n\n this.noFilters = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n errorHandler,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(this.collection.query.customFilters, (filter) => {\n if (filter) {\n const clearedFilter = filter.clone();\n clearedFilter.reset(); // reset strict filter\n return clearedFilter;\n }\n\n return filter;\n }) as F,\n });\n\n this.strictFiltersOnly = new CollectionState({\n queryName,\n fetchData,\n history,\n queryCache,\n errorMonitor,\n errorHandler,\n lodash,\n onlineState,\n showToast,\n translate,\n itemKey,\n itemName,\n paginationMode: paginationMode.id,\n limit: query.pagination.limit,\n selectionConsistencyMode,\n events: {\n onError: events.onError,\n },\n filters: mapValues(\n this.collection.query.customFilters,\n (filter, filterName) => {\n // reset all filters that should not affect total count\n if (\n filter != null &&\n this.shouldFilterNotAffectTotalCount(filterName)\n ) {\n const clearedFilter = filter.clone();\n clearedFilter.reset();\n return clearedFilter;\n }\n\n return filter;\n },\n ) as F,\n });\n\n makeObservable(this, {\n setFloatingNotificationHeight: action,\n someHidden: computed,\n toggle: action,\n updateIsScrollTop: action,\n onPrimaryButtonClick: action,\n isScrollTop: observable.ref,\n });\n }\n\n async clearResultAndMoveToStart({ force }: { force?: boolean } = {}) {\n await Promise.all([\n this.collection.clearResultAndMoveToStart({ force }),\n this.strictFiltersOnly.clearResultAndMoveToStart({ force }),\n this.noFilters.clearResultAndMoveToStart({ force }),\n ]);\n }\n\n get someHidden() {\n const {\n strictFiltersOnly: {\n result: { total: strictFiltersOnlyTotal },\n },\n noFilters: {\n result: { total: noFiltersTotal },\n },\n } = this;\n return noFiltersTotal > strictFiltersOnlyTotal;\n }\n\n updateIsScrollTop(newValue: boolean) {\n this.isScrollTop = newValue;\n }\n\n _commonDynamicBiParams(): {\n filteredListSize?: number;\n listSize?: number;\n maxItems?: number;\n } {\n const { noFilters, collection, filteredListSize } = this;\n\n return {\n ...collection._commonDynamicBiParams(),\n listSize: noFilters.result.total,\n filteredListSize: filteredListSize.value,\n maxItems: this.getMaxItems(),\n };\n }\n\n onNewPage = () => {\n const { reportBi } = this;\n\n const startTime = performance.now();\n\n return ({ totalNewItems }: { totalNewItems: number }) => {\n reportBi(\n withoutDefaults(loadMore)({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n loadedItems: totalNewItems,\n }),\n );\n };\n };\n\n onSearchStart = () => {\n const { collection, reportBi } = this;\n\n const { result } = collection;\n\n const startTime = performance.now();\n reportBi(\n pickerModalUsability({\n ...this._commonDynamicBiParams(),\n action: 'search',\n searchTerm: collection.query.search.value,\n }),\n );\n\n return () => {\n reportBi(\n cairoSearchResults({\n ...this._commonDynamicBiParams(),\n loadingTime: Math.round(performance.now() - startTime),\n searchResultsCnt: result.total,\n searchTerm: collection.query.search.value,\n }),\n );\n };\n };\n\n init() {\n const {\n collection,\n strictFiltersOnly,\n noFilters,\n initTask,\n events: { onReady, onInitialFetchError },\n reportBi,\n filteredListSize,\n } = this;\n\n collection.emitter.on('newPageStart', this.onNewPage);\n collection.emitter.on('searchStart', this.onSearchStart);\n\n const disposers = [\n collection.init(),\n filteredListSize.init(),\n strictFiltersOnly.init(),\n noFilters.init(),\n ];\n\n initTask.runOnce(async () => {\n const { result, query } = collection;\n\n try {\n await Promise.all([\n collection.initTask.status.promise,\n strictFiltersOnly.initTask.status.promise,\n noFilters.initTask.status.promise,\n ]);\n\n filteredListSize.forceUpdate();\n\n runInAction(() => {\n try {\n reportBi(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n route:\n typeof window !== 'undefined' ? window.location.pathname : '',\n loadingTime: Math.round(performance.now() - this.loadStartTime),\n initialItems: result.size,\n }),\n );\n onReady?.({\n query: query.asComputed,\n result: result.asComputed,\n noFiltersTotal: noFilters.result.total,\n });\n } catch (e) {\n collection.errorMonitor.captureException(e);\n }\n });\n } catch (err) {\n await onInitialFetchError?.({\n err,\n isOnline: collection.onlineState.isOnline,\n });\n throw err;\n }\n });\n\n return () => {\n collection.emitter.off('newPageStart', this.onNewPage);\n collection.emitter.off('searchStart', this.onSearchStart);\n for (const disposer of disposers) {\n disposer();\n }\n };\n }\n\n onCloseButtonClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'X button',\n }),\n );\n }\n\n onBackButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'back', numLevels: 2, currentLevel: 2 });\n }\n\n onContinueButtonClick() {\n const { _onButtonClick } = this;\n\n _onButtonClick({ ctaName: 'continue-next', numLevels: 2, currentLevel: 1 });\n }\n\n onSecondaryButtonOnClick() {\n const { reportBi } = this;\n\n reportBi(\n withoutDefaults(componentDismissed)({\n origin: 'Cancel button',\n }),\n );\n }\n\n onPrimaryButtonClick({\n currentLevel,\n numLevels,\n }: {\n currentLevel: number;\n numLevels: number;\n }) {\n const {\n collection: { bulkSelect },\n _onButtonClick,\n reportBi,\n } = this;\n\n const { selectedCount } = bulkSelect;\n\n _onButtonClick({ ctaName: 'continue', currentLevel, numLevels });\n\n reportBi(\n pickerPickModalCtaButtonClickOrImmediateCta({\n ...this._commonDynamicBiParams(),\n isImmediate: false,\n itemsCnt: selectedCount,\n }),\n );\n }\n\n _onButtonClick = ({\n ctaName,\n currentLevel,\n numLevels,\n }: {\n ctaName: string;\n currentLevel: number;\n numLevels: number;\n }) => {\n this.reportBi(\n cairoCtaClicked({\n ...this._commonDynamicBiParams(),\n ctaIndex: 1,\n numCtas: 1,\n currentLevel,\n numLevels,\n location: 'picker',\n moreActionsIndex: 0,\n ctaName,\n url: typeof window !== 'undefined' ? window.location.href : '',\n }),\n );\n };\n\n toggle(\n keyedItem: KeyedItem<T>,\n options: { clear?: boolean; hasAdditionalStep?: boolean } = {},\n ) {\n const {\n collection,\n events: { onItemSelectClick },\n reportBi,\n } = this;\n const {\n bulkSelect,\n query: { search },\n } = collection;\n const { select, selectedCountOrTotal: numItemsBefore } = bulkSelect;\n\n const {\n selectedValues: [prevSelected],\n } = select;\n\n if (options.clear) {\n bulkSelect.select.clear();\n }\n\n bulkSelect.toggle(keyedItem);\n reportBi(\n cairoItemSelectionToggled({\n ...this._commonDynamicBiParams(),\n url: typeof window !== 'undefined' ? window.location.href : '',\n isSelectAll: false,\n isFromSearch: !search.isEmpty,\n searchQuery: search.value,\n itemIndex: keyedItem.index,\n numLevels: options.hasAdditionalStep ? 2 : 1,\n itemId: keyedItem.key,\n clickType: bulkSelect.isChecked(keyedItem.key)\n ? 'Selection'\n : 'Deselection',\n numItemsBefore,\n numItemsAfter: bulkSelect.selectedCountOrTotal,\n }),\n );\n onItemSelectClick?.({\n item: keyedItem.item,\n index: keyedItem.index,\n previousIndex:\n prevSelected != null\n ? (bulkSelect.getCollectionItem(prevSelected.key)?.index as\n | number\n | null)\n : null,\n });\n }\n\n setFloatingNotificationHeight(\n floatingNotificationHeight: number = DEFAULT_FLOATING_NOTIFICATION_HEIGHT,\n ) {\n this.floatingNotificationHeight = floatingNotificationHeight;\n }\n\n onCreateNew = action(async (items?: T[]) => {\n if (items) {\n await onItemsCreated(this.collection, {\n items,\n reportBi: (reportProps) => {\n this.reportBi({\n ...reportProps,\n params: {\n ...this._commonDynamicBiParams(),\n ...reportProps.params,\n },\n });\n },\n });\n } else {\n runInAction(() => {\n this.reportBi(\n newItemCreationEnd({\n ...this._commonDynamicBiParams(),\n numSelectedItems: this.collection.bulkSelect.select.selectedCount,\n resultType: 'dismissed',\n }),\n );\n });\n }\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,6 +39,7 @@ class ProductsCollectionStateDriver {
|
|
|
39
39
|
queryCache: this.container.queryCache,
|
|
40
40
|
history: this.container.history,
|
|
41
41
|
errorMonitor: this.container.errorMonitor,
|
|
42
|
+
errorHandler: this.container.errorHandler,
|
|
42
43
|
showToast: this.container.showToast,
|
|
43
44
|
initDependencies: () => this.container.container.initialFetch(),
|
|
44
45
|
lodash: this.container.container.lodash,
|
|
@@ -67,6 +68,7 @@ class ProductsCollectionStateDriver {
|
|
|
67
68
|
queryCache: this.container.queryCache,
|
|
68
69
|
history: this.container.history,
|
|
69
70
|
errorMonitor: this.container.errorMonitor,
|
|
71
|
+
errorHandler: this.container.errorHandler,
|
|
70
72
|
showToast: this.container.showToast,
|
|
71
73
|
initDependencies: () => this.container.container.initialFetch(),
|
|
72
74
|
lodash: this.container.container.lodash,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_WixPatternsContainer","require","_state","_createProductsBackend","_util","ProductsCollectionStateDriver","constructor","overrides","_defineProperty2","default","spy","jest","fn","backend","events","on","container","WixPatternsContainerDriver","createProductsBackend","queryName","fqdn","parseFqdn","collection","CollectionState","toExtendedFields","item","extendedFields","fetchData","query","itemKey","id","itemName","name","filters","limit","onlineState","translate","i18n","t","bind","queryCache","history","errorMonitor","showToast","initDependencies","initialFetch","lodash","reCreateCollection","getRandomItem","items","index","chance","integer","min","max","length","fetchDataSync","asComputed","exports"],"sources":["../../../src/testkit/ProductsCollectionState.driver.ts"],"sourcesContent":["import {\n WixPatternsContainerDriver,\n WixPatternsContainerDriverOverrides,\n} from './WixPatternsContainer.driver';\nimport { CollectionState, CollectionStateParams } from '../state';\nimport { InMemoryBackend, InMemoryBackendParams } from '../InMemoryBackend';\nimport { Product } from './product';\nimport { ProductFilters } from './productFilters';\nimport { createProductsBackend } from './createProductsBackend';\nimport { parseFqdn } from '../util';\n\nexport interface ProductsCollectionStateDriverOverrides\n extends WixPatternsContainerDriverOverrides {\n readonly collection?: Partial<CollectionStateParams<Product, ProductFilters>>;\n readonly backend?: Partial<InMemoryBackendParams<Product, ProductFilters>>;\n}\n\nexport class ProductsCollectionStateDriver {\n readonly container: WixPatternsContainerDriver;\n readonly backend: InMemoryBackend<Product, ProductFilters>;\n\n readonly overrides;\n collection: CollectionState<Product, ProductFilters>;\n\n constructor(overrides: ProductsCollectionStateDriverOverrides = {}) {\n this.overrides = overrides;\n\n this.container = new WixPatternsContainerDriver(overrides);\n this.backend = createProductsBackend(overrides.backend);\n\n const queryName = 'wix.cairo.products.v1.product';\n const fqdn = overrides.fqdn\n ? parseFqdn(overrides.fqdn)\n : parseFqdn(queryName);\n\n this.collection = new CollectionState({\n queryName,\n fqdn,\n toExtendedFields: (item) => item.extendedFields,\n fetchData: (query) => this.backend.fetchData(query), // not passing collection.fetch directly to be able to spy on it\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n filters: {},\n limit: 50,\n onlineState: this.container.onlineState,\n translate: this.container.i18n.t.bind(this.container.i18n),\n queryCache: this.container.queryCache,\n history: this.container.history,\n errorMonitor: this.container.errorMonitor,\n showToast: this.container.showToast,\n initDependencies: () => this.container.container.initialFetch(),\n lodash: this.container.container.lodash,\n ...overrides.collection,\n });\n }\n\n reCreateCollection() {\n const {\n queryName,\n query: { limit },\n filters,\n } = this.collection;\n this.collection = new CollectionState({\n queryName,\n fqdn: parseFqdn(queryName),\n fetchData: (query) => this.backend.fetchData(query), // not passing collection.fetch directly to be able to spy on it\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n filters,\n limit,\n onlineState: this.container.onlineState,\n translate: this.container.i18n.t.bind(this.container.i18n),\n queryCache: this.container.queryCache,\n history: this.container.history,\n errorMonitor: this.container.errorMonitor,\n showToast: this.container.showToast,\n initDependencies: () => this.container.container.initialFetch(),\n lodash: this.container.container.lodash,\n ...this.overrides.collection,\n });\n }\n\n getRandomItem() {\n const { items } = this;\n const index = this.backend.chance.integer({\n min: 0,\n max: items.length - 1,\n });\n\n return {\n index,\n item: items[index],\n };\n }\n\n fetchDataStartSpy = () => {\n const spy = jest.fn();\n this.backend.events.on('fetchDataStart', spy);\n return spy;\n };\n\n get items(): Product[] {\n const {\n collection: { query },\n } = this;\n const { items } = this.backend.fetchDataSync(query.asComputed);\n return items;\n }\n\n get chance() {\n return this.backend.chance;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AAIA,IAAAC,MAAA,GAAAD,OAAA;AAIA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAQO,MAAMI,6BAA6B,CAAC;EAOzCC,WAAWA,CAACC,SAAiD,GAAG,CAAC,CAAC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_WixPatternsContainer","require","_state","_createProductsBackend","_util","ProductsCollectionStateDriver","constructor","overrides","_defineProperty2","default","spy","jest","fn","backend","events","on","container","WixPatternsContainerDriver","createProductsBackend","queryName","fqdn","parseFqdn","collection","CollectionState","toExtendedFields","item","extendedFields","fetchData","query","itemKey","id","itemName","name","filters","limit","onlineState","translate","i18n","t","bind","queryCache","history","errorMonitor","errorHandler","showToast","initDependencies","initialFetch","lodash","reCreateCollection","getRandomItem","items","index","chance","integer","min","max","length","fetchDataSync","asComputed","exports"],"sources":["../../../src/testkit/ProductsCollectionState.driver.ts"],"sourcesContent":["import {\n WixPatternsContainerDriver,\n WixPatternsContainerDriverOverrides,\n} from './WixPatternsContainer.driver';\nimport { CollectionState, CollectionStateParams } from '../state';\nimport { InMemoryBackend, InMemoryBackendParams } from '../InMemoryBackend';\nimport { Product } from './product';\nimport { ProductFilters } from './productFilters';\nimport { createProductsBackend } from './createProductsBackend';\nimport { parseFqdn } from '../util';\n\nexport interface ProductsCollectionStateDriverOverrides\n extends WixPatternsContainerDriverOverrides {\n readonly collection?: Partial<CollectionStateParams<Product, ProductFilters>>;\n readonly backend?: Partial<InMemoryBackendParams<Product, ProductFilters>>;\n}\n\nexport class ProductsCollectionStateDriver {\n readonly container: WixPatternsContainerDriver;\n readonly backend: InMemoryBackend<Product, ProductFilters>;\n\n readonly overrides;\n collection: CollectionState<Product, ProductFilters>;\n\n constructor(overrides: ProductsCollectionStateDriverOverrides = {}) {\n this.overrides = overrides;\n\n this.container = new WixPatternsContainerDriver(overrides);\n this.backend = createProductsBackend(overrides.backend);\n\n const queryName = 'wix.cairo.products.v1.product';\n const fqdn = overrides.fqdn\n ? parseFqdn(overrides.fqdn)\n : parseFqdn(queryName);\n\n this.collection = new CollectionState({\n queryName,\n fqdn,\n toExtendedFields: (item) => item.extendedFields,\n fetchData: (query) => this.backend.fetchData(query), // not passing collection.fetch directly to be able to spy on it\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n filters: {},\n limit: 50,\n onlineState: this.container.onlineState,\n translate: this.container.i18n.t.bind(this.container.i18n),\n queryCache: this.container.queryCache,\n history: this.container.history,\n errorMonitor: this.container.errorMonitor,\n errorHandler: this.container.errorHandler,\n showToast: this.container.showToast,\n initDependencies: () => this.container.container.initialFetch(),\n lodash: this.container.container.lodash,\n ...overrides.collection,\n });\n }\n\n reCreateCollection() {\n const {\n queryName,\n query: { limit },\n filters,\n } = this.collection;\n this.collection = new CollectionState({\n queryName,\n fqdn: parseFqdn(queryName),\n fetchData: (query) => this.backend.fetchData(query), // not passing collection.fetch directly to be able to spy on it\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n filters,\n limit,\n onlineState: this.container.onlineState,\n translate: this.container.i18n.t.bind(this.container.i18n),\n queryCache: this.container.queryCache,\n history: this.container.history,\n errorMonitor: this.container.errorMonitor,\n errorHandler: this.container.errorHandler,\n showToast: this.container.showToast,\n initDependencies: () => this.container.container.initialFetch(),\n lodash: this.container.container.lodash,\n ...this.overrides.collection,\n });\n }\n\n getRandomItem() {\n const { items } = this;\n const index = this.backend.chance.integer({\n min: 0,\n max: items.length - 1,\n });\n\n return {\n index,\n item: items[index],\n };\n }\n\n fetchDataStartSpy = () => {\n const spy = jest.fn();\n this.backend.events.on('fetchDataStart', spy);\n return spy;\n };\n\n get items(): Product[] {\n const {\n collection: { query },\n } = this;\n const { items } = this.backend.fetchDataSync(query.asComputed);\n return items;\n }\n\n get chance() {\n return this.backend.chance;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { parseFqdn } from '../util/parseFqdn';
|
|
|
2
2
|
import { CollectionState, } from '../state';
|
|
3
3
|
import { QueryCache } from 'react-query/core';
|
|
4
4
|
export function createCollection(container, config, { paginationModeRef, overrides } = {}) {
|
|
5
|
-
const { errorMonitor, onlineState, history, translate, queryCache, showToast, initialFetch, lodash, } = container;
|
|
5
|
+
const { errorMonitor, errorHandler, onlineState, history, translate, queryCache, showToast, initialFetch, lodash, } = container;
|
|
6
6
|
const { queryName, fqdn } = config;
|
|
7
7
|
// fallbacks to queryName for backwards compatibility
|
|
8
8
|
const parsedFqdn = parseFqdn(fqdn || queryName);
|
|
@@ -17,6 +17,7 @@ export function createCollection(container, config, { paginationModeRef, overrid
|
|
|
17
17
|
: queryCache),
|
|
18
18
|
history,
|
|
19
19
|
errorMonitor,
|
|
20
|
+
errorHandler,
|
|
20
21
|
showToast: overrides?.showToast ?? showToast,
|
|
21
22
|
translate,
|
|
22
23
|
onlineState,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCollection.js","sourceRoot":"","sources":["../../../src/hooks/createCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAGL,eAAe,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,MAAM,UAAU,gBAAgB,CAC9B,SAA+B,EAC/B,MAA8B,EAC9B,EAAE,iBAAiB,EAAE,SAAS,KAA8B,EAAE;IAE9D,MAAM,EACJ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,GACP,GAAG,SAAS,CAAC;IAEd,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEnC,qDAAqD;IACrD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAEhD,OAAO,IAAI,eAAe,CAAC;QACzB,GAAG,MAAM;QACT,SAAS;QACT,IAAI,EAAE,UAAU;QAChB,iBAAiB;QACjB,UAAU,EACR,SAAS,EAAE,UAAU;YACrB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;gBACtE,CAAC,CAAC,IAAI,UAAU,EAAE;gBAClB,CAAC,CAAC,UAAU,CAAC;QACjB,OAAO;QACP,YAAY;QACZ,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS;QAC5C,SAAS;QACT,WAAW;QACX,gBAAgB,EAAE,YAAY;QAC9B,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
|
|
1
|
+
{"version":3,"file":"createCollection.js","sourceRoot":"","sources":["../../../src/hooks/createCollection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAGL,eAAe,GAEhB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,MAAM,UAAU,gBAAgB,CAC9B,SAA+B,EAC/B,MAA8B,EAC9B,EAAE,iBAAiB,EAAE,SAAS,KAA8B,EAAE;IAE9D,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,SAAS,EACT,UAAU,EACV,SAAS,EACT,YAAY,EACZ,MAAM,GACP,GAAG,SAAS,CAAC;IAEd,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAEnC,qDAAqD;IACrD,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IAEhD,OAAO,IAAI,eAAe,CAAC;QACzB,GAAG,MAAM;QACT,SAAS;QACT,IAAI,EAAE,UAAU;QAChB,iBAAiB;QACjB,UAAU,EACR,SAAS,EAAE,UAAU;YACrB,CAAC,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM;gBACtE,CAAC,CAAC,IAAI,UAAU,EAAE;gBAClB,CAAC,CAAC,UAAU,CAAC;QACjB,OAAO;QACP,YAAY;QACZ,YAAY;QACZ,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS;QAC5C,SAAS;QACT,WAAW;QACX,gBAAgB,EAAE,YAAY;QAC9B,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -9,9 +9,10 @@ import { PromisesState } from './PromisesState';
|
|
|
9
9
|
import { initialCursor } from './Pagination';
|
|
10
10
|
import { PaginationMode } from './PaginationMode';
|
|
11
11
|
import { TaskState } from './TaskState';
|
|
12
|
-
import { addEventListener, OfflineError,
|
|
12
|
+
import { addEventListener, OfflineError, } from '../util';
|
|
13
13
|
import { TransitionState } from './TransitionState';
|
|
14
14
|
import { FetchTotalState } from './FetchTotalState';
|
|
15
|
+
const MAX_RETRIES = 3;
|
|
15
16
|
export class CollectionState {
|
|
16
17
|
get queryKeyOptions() {
|
|
17
18
|
const { query } = this;
|
|
@@ -197,6 +198,7 @@ export class CollectionState {
|
|
|
197
198
|
this.deferInitialLoading = params.deferInitialLoading;
|
|
198
199
|
this.queryCache = params.queryCache;
|
|
199
200
|
this.errorMonitor = params.errorMonitor;
|
|
201
|
+
this.errorHandler = params.errorHandler;
|
|
200
202
|
this.onlineState = params.onlineState;
|
|
201
203
|
this.history = params.history;
|
|
202
204
|
this.fetchErrorMessage = params.fetchErrorMessage;
|
|
@@ -227,10 +229,11 @@ export class CollectionState {
|
|
|
227
229
|
});
|
|
228
230
|
this.queryObserver = new QueryObserver(this.queryClient, {
|
|
229
231
|
retry: (failureCount, error) => {
|
|
230
|
-
if (
|
|
231
|
-
|
|
232
|
+
if (failureCount < MAX_RETRIES) {
|
|
233
|
+
this.errorHandler?.reportRetryAttempt?.(error);
|
|
234
|
+
return true;
|
|
232
235
|
}
|
|
233
|
-
return
|
|
236
|
+
return false;
|
|
234
237
|
},
|
|
235
238
|
...defaultQueryOptions,
|
|
236
239
|
});
|