@wix/bex-core 1.402.0 → 1.404.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/bi/testkit/index.js +1 -1
- package/dist/cjs/assets/locale/messages_cs.json +3 -0
- package/dist/cjs/assets/locale/messages_da.json +3 -0
- package/dist/cjs/assets/locale/messages_de.json +3 -0
- package/dist/cjs/assets/locale/messages_en.json +7 -4
- package/dist/cjs/assets/locale/messages_es.json +3 -0
- package/dist/cjs/assets/locale/messages_fr.json +3 -0
- package/dist/cjs/assets/locale/messages_hi.json +3 -0
- package/dist/cjs/assets/locale/messages_id.json +3 -0
- package/dist/cjs/assets/locale/messages_it.json +3 -0
- package/dist/cjs/assets/locale/messages_ja.json +3 -0
- package/dist/cjs/assets/locale/messages_ko.json +3 -0
- package/dist/cjs/assets/locale/messages_nl.json +3 -0
- package/dist/cjs/assets/locale/messages_no.json +3 -0
- package/dist/cjs/assets/locale/messages_pl.json +3 -0
- package/dist/cjs/assets/locale/messages_pt.json +3 -0
- package/dist/cjs/assets/locale/messages_ru.json +3 -0
- package/dist/cjs/assets/locale/messages_sv.json +3 -0
- package/dist/cjs/assets/locale/messages_th.json +3 -0
- package/dist/cjs/assets/locale/messages_tr.json +3 -0
- package/dist/cjs/assets/locale/messages_uk.json +5 -2
- package/dist/cjs/assets/locale/messages_vi.json +3 -0
- package/dist/cjs/assets/locale/messages_visuale2e.json +5 -2
- package/dist/cjs/assets/locale/messages_zh.json +3 -0
- package/dist/cjs/model/cairoEssentials.js +2 -0
- package/dist/cjs/model/cairoEssentials.js.map +1 -1
- package/dist/cjs/model/dataCapsule.js +2 -0
- package/dist/cjs/model/dataCapsule.js.map +1 -0
- package/dist/cjs/model/index.js +6 -0
- package/dist/cjs/model/index.js.map +1 -1
- package/dist/cjs/services/AppSettingsCapsule.js +79 -0
- package/dist/cjs/services/AppSettingsCapsule.js.map +1 -0
- package/dist/cjs/services/createAccountComponentSettings.js +13 -11
- package/dist/cjs/services/createAccountComponentSettings.js.map +1 -1
- package/dist/cjs/services/createComponentSettings.js +8 -7
- package/dist/cjs/services/createComponentSettings.js.map +1 -1
- package/dist/cjs/services/experiments.js +2 -1
- package/dist/cjs/services/experiments.js.map +1 -1
- package/dist/cjs/services/index.js +6 -0
- package/dist/cjs/services/index.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/state/CairoContainer.js +5 -5
- package/dist/cjs/state/CairoContainer.js.map +1 -1
- package/dist/cjs/state/QueryState.js +16 -1
- package/dist/cjs/state/QueryState.js.map +1 -1
- package/dist/cjs/state/RangeFilterState/RangeFilterState.js.map +1 -1
- package/dist/cjs/testkit/CairoContainer.driver.js +4 -5
- package/dist/cjs/testkit/CairoContainer.driver.js.map +1 -1
- package/dist/cjs/testkit/appSettingsMocks.js +69 -0
- package/dist/cjs/testkit/appSettingsMocks.js.map +1 -0
- package/dist/cjs/testkit/index.js +6 -0
- package/dist/cjs/testkit/index.js.map +1 -1
- package/dist/cjs/testkit/productFilters.js.map +1 -1
- package/dist/esm/assets/locale/messages_cs.json +3 -0
- package/dist/esm/assets/locale/messages_da.json +3 -0
- package/dist/esm/assets/locale/messages_de.json +3 -0
- package/dist/esm/assets/locale/messages_en.json +7 -4
- package/dist/esm/assets/locale/messages_es.json +3 -0
- package/dist/esm/assets/locale/messages_fr.json +3 -0
- package/dist/esm/assets/locale/messages_hi.json +3 -0
- package/dist/esm/assets/locale/messages_id.json +3 -0
- package/dist/esm/assets/locale/messages_it.json +3 -0
- package/dist/esm/assets/locale/messages_ja.json +3 -0
- package/dist/esm/assets/locale/messages_ko.json +3 -0
- package/dist/esm/assets/locale/messages_nl.json +3 -0
- package/dist/esm/assets/locale/messages_no.json +3 -0
- package/dist/esm/assets/locale/messages_pl.json +3 -0
- package/dist/esm/assets/locale/messages_pt.json +3 -0
- package/dist/esm/assets/locale/messages_ru.json +3 -0
- package/dist/esm/assets/locale/messages_sv.json +3 -0
- package/dist/esm/assets/locale/messages_th.json +3 -0
- package/dist/esm/assets/locale/messages_tr.json +3 -0
- package/dist/esm/assets/locale/messages_uk.json +5 -2
- package/dist/esm/assets/locale/messages_vi.json +3 -0
- package/dist/esm/assets/locale/messages_visuale2e.json +4 -1
- package/dist/esm/assets/locale/messages_zh.json +3 -0
- package/dist/esm/model/dataCapsule.js +2 -0
- package/dist/esm/model/dataCapsule.js.map +1 -0
- package/dist/esm/model/index.js +1 -0
- package/dist/esm/model/index.js.map +1 -1
- package/dist/esm/services/AppSettingsCapsule.js +49 -0
- package/dist/esm/services/AppSettingsCapsule.js.map +1 -0
- package/dist/esm/services/createAccountComponentSettings.js +9 -12
- package/dist/esm/services/createAccountComponentSettings.js.map +1 -1
- package/dist/esm/services/createComponentSettings.js +3 -4
- package/dist/esm/services/createComponentSettings.js.map +1 -1
- package/dist/esm/services/experiments.js +1 -0
- package/dist/esm/services/experiments.js.map +1 -1
- package/dist/esm/services/index.js +1 -0
- package/dist/esm/services/index.js.map +1 -1
- package/dist/esm/state/CairoContainer.js +4 -4
- package/dist/esm/state/CairoContainer.js.map +1 -1
- package/dist/esm/state/QueryState.js +20 -5
- package/dist/esm/state/QueryState.js.map +1 -1
- package/dist/esm/state/RangeFilterState/RangeFilterState.js.map +1 -1
- package/dist/esm/testkit/CairoContainer.driver.js +3 -3
- package/dist/esm/testkit/CairoContainer.driver.js.map +1 -1
- package/dist/esm/testkit/appSettingsMocks.js +61 -0
- package/dist/esm/testkit/appSettingsMocks.js.map +1 -0
- package/dist/esm/testkit/index.js +1 -0
- package/dist/esm/testkit/index.js.map +1 -1
- package/dist/types/model/cairoEssentials.d.ts +19 -13
- package/dist/types/model/cairoEssentials.d.ts.map +1 -1
- package/dist/types/model/dataCapsule.d.ts +5 -0
- package/dist/types/model/dataCapsule.d.ts.map +1 -0
- package/dist/types/model/index.d.ts +1 -0
- package/dist/types/model/index.d.ts.map +1 -1
- package/dist/types/services/AppSettingsCapsule.d.ts +38 -0
- package/dist/types/services/AppSettingsCapsule.d.ts.map +1 -0
- package/dist/types/services/createAccountComponentSettings.d.ts +2 -11
- package/dist/types/services/createAccountComponentSettings.d.ts.map +1 -1
- package/dist/types/services/createComponentSettings.d.ts +2 -9
- package/dist/types/services/createComponentSettings.d.ts.map +1 -1
- package/dist/types/services/experiments.d.ts +1 -0
- package/dist/types/services/experiments.d.ts.map +1 -1
- package/dist/types/services/index.d.ts +1 -0
- package/dist/types/services/index.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +1 -4
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/state/CairoContainer.d.ts +4 -4
- package/dist/types/state/CairoContainer.d.ts.map +1 -1
- package/dist/types/state/QueryState.d.ts +2 -0
- package/dist/types/state/QueryState.d.ts.map +1 -1
- package/dist/types/state/RangeFilterState/RangeFilterState.d.ts.map +1 -1
- package/dist/types/testkit/CairoContainer.driver.d.ts.map +1 -1
- package/dist/types/testkit/appSettingsMocks.d.ts +8 -0
- package/dist/types/testkit/appSettingsMocks.d.ts.map +1 -0
- package/dist/types/testkit/index.d.ts +1 -0
- package/dist/types/testkit/index.d.ts.map +1 -1
- package/dist/types/testkit/productFilters.d.ts +1 -0
- package/dist/types/testkit/productFilters.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_services","require","_model","_mobx","_TaskState","_OnlineState","_createComponentSettings","_ConditionalModalState","_events","_useExperimentsCompat","_uuid","_BeforeUnloadCompatState","messagesEnImportGlobal","CairoContainer","constructor","params","_params$initialProps","_defineProperty2","default","TaskState","defaultParams","_this$biLoggerFactory","environment","cairoSessionId","biLoggerFactory","call","updateDefaults","artifactId","componentName","cairoVersion","uiLibVersion","csid","logger","bi","createBI","reportProps","report","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","cairoEnvironment","user","createComponentSettings","componentId","errorMonitor","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","navigateTo","onNavigation","getHostContainer","window","queryCache","appendModalsToBody","onSidePanelOpen","closeSidePanel","onBeforeUnload","i18n","fedopsLogger","internalFedops","internalErrorMonitor","internalExperiments","useSuspense","disableAutoInit","asyncMessagesLoader","locale","messages","initialProps","dsn","process","env","NODE_ENV","beforeSend","event","hint","internalMonitor","reportErrorThrownOncePerFlow","tags","extra","originalException","exception","Error","fingerprint","name","message","fedops","appName","scopes","STORYBOOK_VISUAL_E2E","options","fallbackLng","uuid","CairoMonitor","translate","args","initTask","status","t","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","isLoading","isSuccess","promise","run","Promise","all","ready","catch","e","console","error","medium","Intl","DateTimeFormat","language","dateStyle","mediumTime","timeStyle","disposers","BeforeUnloadCompatState","forEach","d","exports"],"sources":["../../../src/state/CairoContainer.ts"],"sourcesContent":["import type { Essentials } from '@wix/fe-essentials/core';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n CairoMonitor,\n Environment,\n ErrorMonitor,\n fetchTranslations,\n FocusManager,\n History,\n messagesEnImportGlobal,\n ModalLayoutProps,\n OnlineManager,\n PartialLodash,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../services';\nimport { QueryCache } from 'react-query/core';\nimport {\n CairoBILoggerFactory,\n cairoEnvironment,\n CairoEssentials,\n CairoInitialProps,\n CloseSidePanel,\n GetContentContainerY,\n GetHostContainer,\n OnNavigation,\n OnSidePanelOpen,\n ShowToast,\n} from '../model';\nimport { action, computed, IObservableArray, makeObservable } from 'mobx';\nimport { TaskState } from './TaskState';\nimport { OnlineState } from './OnlineState';\nimport { createComponentSettings } from '../services/createComponentSettings';\nimport { OptimisticPatch } from './CollectionOptimisticPatch';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { TransitionState } from './TransitionState';\nimport { ReactElement } from 'react';\nimport { createUseExperimentsCompat } from './useExperimentsCompat';\nimport { v4 as uuid } from 'uuid';\nimport { BeforeUnloadCompatState } from './BeforeUnloadCompatState';\n\n// prefetch of the english translations\nmessagesEnImportGlobal();\n\ntype CairoContainerEvents = TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n}>;\n\nexport interface CairoContainerParams {\n readonly initialProps?: CairoInitialProps;\n readonly createEssentials: CairoEssentials['createEssentials'];\n readonly messagesEnImport?: () => Promise<{}>;\n readonly fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (locale: string) => Promise<{}>;\n readonly createComponentSettings?: CairoEssentials['createComponentSettings'];\n readonly errorMonitor: ErrorMonitor;\n readonly httpClient: CairoEssentials['httpClient'];\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly history: History;\n readonly window: PartialWindow;\n readonly useTranslation: typeof useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments: CairoEssentials['useExperiments'];\n readonly experiments: CairoEssentials['experiments'];\n readonly environment: CairoEssentials['environment'];\n readonly user: CairoEssentials['user'];\n readonly showToast?: ShowToast;\n readonly navigateTo?: CairoEssentials['navigateTo'];\n readonly onNavigation?: OnNavigation;\n readonly getHostContainer?: GetHostContainer;\n readonly queryCache: QueryCache;\n readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;\n /**\n * @deprecated\n */\n readonly getContentContainerY?: GetContentContainerY;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly lodash: PartialLodash;\n readonly events?: CairoContainerEvents;\n readonly sidePanel?: TransitionState<string>;\n readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;\n readonly sidePanelComponents?: Map<string, ReactElement>;\n readonly appendModalsToBody?: boolean;\n readonly onBeforeUnload?: CairoEssentials['onBeforeUnload'];\n}\n\nexport class CairoContainer {\n readonly createEssentials;\n readonly createComponentSettings;\n readonly errorMonitor: CairoContainerParams['errorMonitor'];\n readonly internalMonitor: CairoMonitor;\n readonly internalExperiments;\n readonly experiments;\n readonly httpClient: CairoContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly history: CairoContainerParams['history'];\n readonly window: CairoContainerParams['window'];\n readonly useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments;\n readonly showToast?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly appendModalsToBody?: boolean;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly translate: Translate;\n readonly lodash;\n readonly i18n: Essentials['i18n'];\n readonly reportBi: ReportBI;\n readonly _messagesEnImport;\n readonly _fetchTranslations;\n\n readonly queryCache: QueryCache;\n readonly patchesCache;\n\n readonly initTask = new TaskState<void>();\n readonly onlineState: OnlineState;\n\n readonly onNavigationModal;\n\n readonly events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n\n readonly user;\n\n readonly cairoSessionId: string;\n // Why it might be undefined when creating essentials?\n private readonly biLoggerFactory?: () => CairoBILoggerFactory;\n\n constructor(params: Readonly<CairoContainerParams>) {\n this.createEssentials = params.createEssentials;\n this.lodash = params.lodash;\n this.patchesCache = params.patchesCache;\n this.events = params.events ?? (new EventEmitter() as CairoContainerEvents);\n this._messagesEnImport = params.messagesEnImport ?? messagesEnImportGlobal;\n this._fetchTranslations = params.fetchTranslations ?? fetchTranslations;\n\n this.onNavigationModal =\n params.onNavigationModal ?? new ConditionalModalState();\n\n this.environment = cairoEnvironment(params.environment);\n this.user = params.user;\n\n this.createComponentSettings =\n params.createComponentSettings ??\n createComponentSettings({\n componentId: this.environment.componentId,\n createEssentials: this.createEssentials,\n });\n\n this.errorMonitor = params.errorMonitor;\n this.httpClient = params.httpClient;\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.history = params.history;\n this.useTranslation = params.useTranslation;\n this.useExperiments = createUseExperimentsCompat(params.useExperiments);\n this.experiments = params.experiments;\n this.showToast = params.showToast;\n this.navigateTo = params.navigateTo;\n this.onNavigation = params.onNavigation;\n this.getHostContainer = params.getHostContainer;\n this.window = params.window;\n this.queryCache = params.queryCache;\n this.appendModalsToBody = params.appendModalsToBody;\n this.onSidePanelOpen = params.onSidePanelOpen;\n this.closeSidePanel = params.closeSidePanel;\n this.onBeforeUnload = params.onBeforeUnload;\n\n const {\n i18n,\n biLoggerFactory,\n fedopsLogger: internalFedops,\n errorMonitor: internalErrorMonitor,\n experiments: internalExperiments,\n } = this.createEssentials({\n i18n: {\n useSuspense: false,\n disableAutoInit: true,\n asyncMessagesLoader: async (locale) => {\n if (locale === 'en') {\n return this._messagesEnImport();\n }\n return this._fetchTranslations(this)(locale);\n },\n messages: params.initialProps?.messages,\n },\n errorMonitor: {\n dsn:\n process.env.NODE_ENV === 'production'\n ? 'https://d72d315a7d9a4d90ab17548ef7bd3188@sentry.wixpress.com/2327'\n : '',\n beforeSend: (event, hint) => {\n this.internalMonitor.reportErrorThrownOncePerFlow();\n\n if (!event.tags) {\n event.tags = {};\n }\n\n if (!event.extra) {\n event.extra = {};\n }\n\n if (hint && hint.originalException) {\n event.extra.exception = hint.originalException;\n\n if (hint.originalException instanceof Error) {\n event.fingerprint = [\n `${hint.originalException.name}:${hint.originalException.message}`,\n ];\n }\n }\n\n event.tags.componentName = this.environment.componentName;\n event.tags.componentId = this.environment.componentId;\n event.tags.artifactId = this.environment.artifactId;\n event.tags.cairoVersion = this.environment.uiLibVersion;\n\n return event;\n },\n },\n fedops: {\n appName: 'cairo',\n },\n experiments: {\n scopes: ['cairo'],\n },\n });\n\n if (\n typeof process !== 'undefined' &&\n process.env.STORYBOOK_VISUAL_E2E === 'true'\n ) {\n i18n.options.fallbackLng = [];\n }\n\n this.cairoSessionId = uuid();\n this.biLoggerFactory = biLoggerFactory;\n this.i18n = i18n;\n this.internalMonitor = new CairoMonitor({\n errorMonitor: params.errorMonitor,\n internalErrorMonitor,\n internalFedops,\n environment: this.environment,\n csid: this.cairoSessionId,\n });\n this.internalExperiments = internalExperiments;\n\n this.translate = (...args) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n return this.i18n.t(...args);\n };\n\n this.Trans = params.Trans;\n\n this.onlineState = new OnlineState({\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n translate: this.translate,\n showToast: this.showToast,\n });\n\n this.reportBi = this.createBILogger({});\n\n makeObservable(this, {\n init: action.bound,\n initialFetch: action.bound,\n dateFormatters: computed,\n });\n }\n\n createBI = <P>(defaultParams: P) => {\n const { environment, cairoSessionId } = this;\n return this.biLoggerFactory?.()\n .updateDefaults({\n artifactId: environment.artifactId,\n componentName: environment.componentName,\n cairoVersion: environment.uiLibVersion,\n csid: cairoSessionId,\n ...defaultParams,\n })\n .logger();\n };\n\n createBILogger = <P>(defaultParams: P): ReportBI => {\n const bi = this.createBI(defaultParams);\n return (reportProps: ReportProps) => bi?.report(reportProps);\n };\n\n async initialFetch() {\n const { initTask, i18n, internalExperiments, experiments } = this;\n if (initTask.status.isLoading || initTask.status.isSuccess) {\n return initTask.status.promise;\n }\n\n await initTask.run(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e) => {\n console.error(e);\n }),\n this._messagesEnImport(), // not all translation files contain all the keys, so en is required otherwise show error state\n ]);\n });\n\n return initTask.status.promise;\n }\n\n get dateFormatters() {\n return {\n medium: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n }),\n mediumTime: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n };\n }\n\n init() {\n const { onlineState } = this;\n\n this.initialFetch().catch((e) => {\n console.error(e);\n });\n\n const disposers = [\n onlineState.init(),\n new BeforeUnloadCompatState(this).init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_services","require","_model","_mobx","_TaskState","_OnlineState","_createComponentSettings","_ConditionalModalState","_events","_useExperimentsCompat","_uuid","_BeforeUnloadCompatState","messagesEnImportGlobal","CairoContainer","constructor","params","_params$initialProps","_defineProperty2","default","TaskState","defaultParams","_this$biLoggerFactory","environment","cairoSessionId","biLoggerFactory","call","updateDefaults","artifactId","componentName","cairoVersion","uiLibVersion","csid","logger","bi","createBI","reportProps","report","createEssentials","lodash","patchesCache","events","EventEmitter","_messagesEnImport","messagesEnImport","_fetchTranslations","fetchTranslations","onNavigationModal","ConditionalModalState","cairoEnvironment","user","createComponentSettings","errorMonitor","httpClient","onlineManager","focusManager","history","useTranslation","useExperiments","createUseExperimentsCompat","experiments","showToast","navigateTo","onNavigation","getHostContainer","window","queryCache","appendModalsToBody","onSidePanelOpen","closeSidePanel","onBeforeUnload","i18n","fedopsLogger","internalFedops","internalErrorMonitor","internalExperiments","useSuspense","disableAutoInit","asyncMessagesLoader","locale","messages","initialProps","dsn","process","env","NODE_ENV","beforeSend","event","hint","internalMonitor","reportErrorThrownOncePerFlow","tags","extra","originalException","exception","Error","fingerprint","name","message","componentId","fedops","appName","scopes","STORYBOOK_VISUAL_E2E","options","fallbackLng","uuid","CairoMonitor","translate","args","initTask","status","t","Trans","onlineState","OnlineState","reportBi","createBILogger","makeObservable","init","action","bound","initialFetch","dateFormatters","computed","isLoading","isSuccess","promise","run","Promise","all","ready","catch","e","console","error","medium","Intl","DateTimeFormat","language","dateStyle","mediumTime","timeStyle","disposers","BeforeUnloadCompatState","forEach","d","exports"],"sources":["../../../src/state/CairoContainer.ts"],"sourcesContent":["import type { Essentials } from '@wix/fe-essentials/core';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ReportProps } from '@wix/fe-essentials/bi';\nimport {\n CairoMonitor,\n Environment,\n ErrorMonitor,\n fetchTranslations,\n FocusManager,\n History,\n messagesEnImportGlobal,\n ModalLayoutProps,\n OnlineManager,\n PartialLodash,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../services';\nimport { QueryCache } from 'react-query/core';\nimport {\n CairoBILoggerFactory,\n cairoEnvironment,\n CairoEssentials,\n CairoInitialProps,\n CloseSidePanel,\n GetContentContainerY,\n GetHostContainer,\n OnNavigation,\n OnSidePanelOpen,\n ShowToast,\n} from '../model';\nimport { action, computed, IObservableArray, makeObservable } from 'mobx';\nimport { TaskState } from './TaskState';\nimport { OnlineState } from './OnlineState';\nimport { createComponentSettings } from '../services/createComponentSettings';\nimport { OptimisticPatch } from './CollectionOptimisticPatch';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { TransitionState } from './TransitionState';\nimport { ReactElement } from 'react';\nimport { createUseExperimentsCompat } from './useExperimentsCompat';\nimport { v4 as uuid } from 'uuid';\nimport { BeforeUnloadCompatState } from './BeforeUnloadCompatState';\n\n// prefetch of the english translations\nmessagesEnImportGlobal();\n\ntype CairoContainerEvents = TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n}>;\n\nexport interface CairoContainerParams {\n readonly initialProps?: CairoInitialProps;\n readonly createEssentials: CairoEssentials['createEssentials'];\n readonly messagesEnImport?: () => Promise<{}>;\n readonly fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (locale: string) => Promise<{}>;\n readonly createComponentSettings?: CairoEssentials['createComponentSettings'];\n readonly errorMonitor: ErrorMonitor;\n readonly httpClient: CairoEssentials['httpClient'];\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly history: History;\n readonly window: PartialWindow;\n readonly useTranslation: typeof useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments: CairoEssentials['useExperiments'];\n readonly experiments: CairoEssentials['experiments'];\n readonly environment: CairoEssentials['environment'];\n readonly user: CairoEssentials['user'];\n readonly showToast?: ShowToast;\n readonly navigateTo?: CairoEssentials['navigateTo'];\n readonly onNavigation?: OnNavigation;\n readonly getHostContainer?: GetHostContainer;\n readonly queryCache: QueryCache;\n readonly patchesCache: Map<string, IObservableArray<OptimisticPatch<any>>>;\n /**\n * @deprecated\n */\n readonly getContentContainerY?: GetContentContainerY;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly lodash: PartialLodash;\n readonly events?: CairoContainerEvents;\n readonly sidePanel?: TransitionState<string>;\n readonly onNavigationModal?: ConditionalModalState<ModalLayoutProps>;\n readonly sidePanelComponents?: Map<string, ReactElement>;\n readonly appendModalsToBody?: boolean;\n readonly onBeforeUnload?: CairoEssentials['onBeforeUnload'];\n}\n\nexport class CairoContainer {\n readonly createEssentials;\n readonly errorMonitor: CairoContainerParams['errorMonitor'];\n readonly internalMonitor: CairoMonitor;\n readonly internalExperiments;\n readonly experiments;\n readonly httpClient: CairoContainerParams['httpClient'];\n readonly onlineManager;\n readonly focusManager;\n readonly history: CairoContainerParams['history'];\n readonly window: CairoContainerParams['window'];\n readonly useTranslation;\n readonly Trans: typeof Trans;\n readonly useExperiments;\n readonly showToast?;\n readonly navigateTo?;\n readonly onNavigation;\n readonly onBeforeUnload;\n readonly getHostContainer;\n readonly environment: Environment;\n readonly appendModalsToBody?: boolean;\n readonly onSidePanelOpen?: OnSidePanelOpen;\n readonly closeSidePanel?: CloseSidePanel;\n readonly translate: Translate;\n readonly lodash;\n readonly i18n: Essentials['i18n'];\n readonly reportBi: ReportBI;\n readonly _messagesEnImport;\n readonly _fetchTranslations;\n\n readonly queryCache: QueryCache;\n readonly patchesCache;\n\n readonly initTask = new TaskState<void>();\n readonly onlineState: OnlineState;\n\n readonly onNavigationModal;\n\n readonly events: TypedEmitter<{\n navigation: () => ModalLayoutProps | null | undefined;\n }>;\n\n readonly user;\n\n readonly cairoSessionId: string;\n // Why it might be undefined when creating essentials?\n private readonly biLoggerFactory?: () => CairoBILoggerFactory;\n\n readonly createComponentSettings;\n\n constructor(params: Readonly<CairoContainerParams>) {\n this.createEssentials = params.createEssentials;\n this.lodash = params.lodash;\n this.patchesCache = params.patchesCache;\n this.events = params.events ?? (new EventEmitter() as CairoContainerEvents);\n this._messagesEnImport = params.messagesEnImport ?? messagesEnImportGlobal;\n this._fetchTranslations = params.fetchTranslations ?? fetchTranslations;\n\n this.onNavigationModal =\n params.onNavigationModal ?? new ConditionalModalState();\n\n this.environment = cairoEnvironment(params.environment);\n this.user = params.user;\n\n this.createComponentSettings =\n params.createComponentSettings ?? createComponentSettings;\n\n this.errorMonitor = params.errorMonitor;\n this.httpClient = params.httpClient;\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.history = params.history;\n this.useTranslation = params.useTranslation;\n this.useExperiments = createUseExperimentsCompat(params.useExperiments);\n this.experiments = params.experiments;\n this.showToast = params.showToast;\n this.navigateTo = params.navigateTo;\n this.onNavigation = params.onNavigation;\n this.getHostContainer = params.getHostContainer;\n this.window = params.window;\n this.queryCache = params.queryCache;\n this.appendModalsToBody = params.appendModalsToBody;\n this.onSidePanelOpen = params.onSidePanelOpen;\n this.closeSidePanel = params.closeSidePanel;\n this.onBeforeUnload = params.onBeforeUnload;\n\n const {\n i18n,\n biLoggerFactory,\n fedopsLogger: internalFedops,\n errorMonitor: internalErrorMonitor,\n experiments: internalExperiments,\n } = this.createEssentials({\n i18n: {\n useSuspense: false,\n disableAutoInit: true,\n asyncMessagesLoader: async (locale) => {\n if (locale === 'en') {\n return this._messagesEnImport();\n }\n return this._fetchTranslations(this)(locale);\n },\n messages: params.initialProps?.messages,\n },\n errorMonitor: {\n dsn:\n process.env.NODE_ENV === 'production'\n ? 'https://d72d315a7d9a4d90ab17548ef7bd3188@sentry.wixpress.com/2327'\n : '',\n beforeSend: (event, hint) => {\n this.internalMonitor.reportErrorThrownOncePerFlow();\n\n if (!event.tags) {\n event.tags = {};\n }\n\n if (!event.extra) {\n event.extra = {};\n }\n\n if (hint && hint.originalException) {\n event.extra.exception = hint.originalException;\n\n if (hint.originalException instanceof Error) {\n event.fingerprint = [\n `${hint.originalException.name}:${hint.originalException.message}`,\n ];\n }\n }\n\n event.tags.componentName = this.environment.componentName;\n event.tags.componentId = this.environment.componentId;\n event.tags.artifactId = this.environment.artifactId;\n event.tags.cairoVersion = this.environment.uiLibVersion;\n\n return event;\n },\n },\n fedops: {\n appName: 'cairo',\n },\n experiments: {\n scopes: ['cairo'],\n },\n });\n\n if (\n typeof process !== 'undefined' &&\n process.env.STORYBOOK_VISUAL_E2E === 'true'\n ) {\n i18n.options.fallbackLng = [];\n }\n\n this.cairoSessionId = uuid();\n this.biLoggerFactory = biLoggerFactory;\n this.i18n = i18n;\n this.internalMonitor = new CairoMonitor({\n errorMonitor: params.errorMonitor,\n internalErrorMonitor,\n internalFedops,\n environment: this.environment,\n csid: this.cairoSessionId,\n });\n this.internalExperiments = internalExperiments;\n\n this.translate = (...args) => {\n void this.initTask.status; // status is observable so reading it here starts mobx reactivity\n return this.i18n.t(...args);\n };\n\n this.Trans = params.Trans;\n\n this.onlineState = new OnlineState({\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n translate: this.translate,\n showToast: this.showToast,\n });\n\n this.reportBi = this.createBILogger({});\n\n makeObservable(this, {\n init: action.bound,\n initialFetch: action.bound,\n dateFormatters: computed,\n });\n }\n\n _createComponentSettings(options: { namespace: string }) {\n return this.createComponentSettings(this)(options);\n }\n\n createBI = <P>(defaultParams: P) => {\n const { environment, cairoSessionId } = this;\n return this.biLoggerFactory?.()\n .updateDefaults({\n artifactId: environment.artifactId,\n componentName: environment.componentName,\n cairoVersion: environment.uiLibVersion,\n csid: cairoSessionId,\n ...defaultParams,\n })\n .logger();\n };\n\n createBILogger = <P>(defaultParams: P): ReportBI => {\n const bi = this.createBI(defaultParams);\n return (reportProps: ReportProps) => bi?.report(reportProps);\n };\n\n async initialFetch() {\n const { initTask, i18n, internalExperiments, experiments } = this;\n if (initTask.status.isLoading || initTask.status.isSuccess) {\n return initTask.status.promise;\n }\n\n await initTask.run(async () => {\n await Promise.all([\n i18n.init(),\n internalExperiments?.ready().catch((e) => {\n console.error(e);\n }),\n experiments.ready().catch((e) => {\n console.error(e);\n }),\n this._messagesEnImport(), // not all translation files contain all the keys, so en is required otherwise show error state\n ]);\n });\n\n return initTask.status.promise;\n }\n\n get dateFormatters() {\n return {\n medium: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n }),\n mediumTime: new Intl.DateTimeFormat(this.environment.language, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }),\n };\n }\n\n init() {\n const { onlineState } = this;\n\n this.initialFetch().catch((e) => {\n console.error(e);\n });\n\n const disposers = [\n onlineState.init(),\n new BeforeUnloadCompatState(this).init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -31,6 +31,9 @@ class QueryState {
|
|
|
31
31
|
deep: false
|
|
32
32
|
}));
|
|
33
33
|
(0, _defineProperty2.default)(this, "_initializedFromHistory", void 0);
|
|
34
|
+
(0, _defineProperty2.default)(this, "addFilterListeners", filter => {
|
|
35
|
+
return [(0, _util.addEventListener)(filter.events, 'change', () => this.events.emit('change')), (0, _util.addEventListener)(filter.events, 'refresh', () => this.events.emit('refresh')), (0, _util.addEventListener)(filter.events, 'scheduleRefresh', () => this.events.emit('scheduleRefresh'))];
|
|
36
|
+
});
|
|
34
37
|
this.refreshOnColumnsChange = params.refreshOnColumnsChange;
|
|
35
38
|
this.pagination = new _Pagination.Pagination({
|
|
36
39
|
limit: params.limit
|
|
@@ -58,6 +61,7 @@ class QueryState {
|
|
|
58
61
|
changeLimit: _mobx.action,
|
|
59
62
|
reset: _mobx.action,
|
|
60
63
|
toComputed: _mobx.action,
|
|
64
|
+
addFilter: _mobx.action,
|
|
61
65
|
asComputed: _mobx.computed,
|
|
62
66
|
activeFilters: _mobx.computed,
|
|
63
67
|
nonPersistentFilters: _mobx.computed,
|
|
@@ -81,7 +85,7 @@ class QueryState {
|
|
|
81
85
|
init() {
|
|
82
86
|
var _this$queryHistory;
|
|
83
87
|
const disposers = [...Object.values(this.filtersEntries).flatMap(([_, filter]) => {
|
|
84
|
-
return
|
|
88
|
+
return this.addFilterListeners(filter);
|
|
85
89
|
}), (_this$queryHistory = this.queryHistory) == null ? void 0 : _this$queryHistory.init()];
|
|
86
90
|
return () => {
|
|
87
91
|
disposers.forEach(d => d == null ? void 0 : d());
|
|
@@ -234,6 +238,17 @@ class QueryState {
|
|
|
234
238
|
get hasActiveSort() {
|
|
235
239
|
return this.sort.value.length > 0;
|
|
236
240
|
}
|
|
241
|
+
addFilter(key, filter) {
|
|
242
|
+
if (filter === undefined) {
|
|
243
|
+
return;
|
|
244
|
+
}
|
|
245
|
+
this._filters[key] = filter;
|
|
246
|
+
this.customFilters[key] = filter;
|
|
247
|
+
const disposers = this.addFilterListeners(filter);
|
|
248
|
+
return () => {
|
|
249
|
+
disposers.forEach(d => d == null ? void 0 : d());
|
|
250
|
+
};
|
|
251
|
+
}
|
|
237
252
|
resetFilters(options) {
|
|
238
253
|
const {
|
|
239
254
|
nonPersistentFilters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_Pagination","_mapValues","_interopRequireDefault","_pickBy","_events","_StringFilterState","_SortState","_util","_core","_QueryHistoryState","QueryState","constructor","params","_defineProperty2","default","EventEmitter","observable","set","deep","refreshOnColumnsChange","pagination","Pagination","limit","history","sort","SortState","customFilters","mapValues","filters","filter","name","_filters","search","StringFilterState","defaultValue","queryHistory","QueryHistoryState","query","makeObservable","changeLimit","action","reset","toComputed","asComputed","computed","activeFilters","nonPersistentFilters","nonPersistentFiltersEntries","nonPersistentFiltersMap","activeFiltersEntries","activeFiltersCount","hasActiveFilters","hasNonPersistentActiveFilters","resetFilters","bound","resetPage","filtersKey","filtersKeyHash","fields","fieldsKey","fieldsKeyHash","hasNonPersistentCustomFilters","nonPersistentCustomFiltersCount","init","_this$queryHistory","disposers","Object","values","filtersEntries","flatMap","_","addEventListener","events","emit","forEach","d","Array","from","_columns","_fields","join","isEmpty","toArray","map","itemKey","undefined","hashQueryKey","moveToPage","_toComputed","searchFilter","page","offset","cursor","value","rawFilters","nonPersistentFiltersKey","rawSearch","field","fieldName","direction","order","columns","filtersArray","e","persistent","entries","entry","nonPersistentCustomFilters","reduce","size","pickBy","hasActiveSort","length","options","resetCustomFilters","resetSorting","initialCursor","exports"],"sources":["../../../src/state/QueryState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n AllFilters,\n ChangeValueOptions,\n ComputedQuery,\n ComputedQueryFull,\n Filter,\n FiltersMap,\n} from '../model';\nimport { initialCursor, Pagination } from './Pagination';\nimport mapValues from 'lodash/mapValues';\nimport pickBy from 'lodash/pickBy';\nimport { EventEmitter } from 'events';\nimport { History } from 'history';\nimport { StringFilterState } from './StringFilterState';\nimport { SortState } from './SortState';\nimport { addEventListener, TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\nimport { QueryHistoryState } from './QueryHistoryState';\n\nexport interface QueryStateParams<F extends FiltersMap = FiltersMap> {\n history?: History;\n filters: F;\n search?: Filter<string>;\n limit?: number;\n refreshOnColumnsChange?: boolean;\n}\n\nexport type QueryStateEvents = {\n change: () => void;\n refresh: (opts?: { clearResult?: boolean }) => void;\n scheduleRefresh: (opts?: { clearResult?: boolean }) => void;\n persist: () => void;\n};\n\nexport class QueryState<F extends FiltersMap = FiltersMap> {\n readonly history?: History;\n readonly pagination: Pagination;\n readonly customFilters: F;\n sort: SortState;\n readonly _filters: AllFilters<F>;\n readonly events = new EventEmitter() as TypedEmitter<QueryStateEvents>;\n\n readonly queryHistory: QueryHistoryState<F> | null;\n readonly refreshOnColumnsChange;\n\n _columns = observable.set<string>([], { deep: false });\n _fields = observable.set<string>([], { deep: false });\n\n _initializedFromHistory?: boolean;\n\n constructor(params: QueryStateParams<F>) {\n this.refreshOnColumnsChange = params.refreshOnColumnsChange;\n this.pagination = new Pagination({ limit: params.limit });\n\n this.history = params.history;\n this.sort = new SortState({});\n\n this.customFilters = mapValues(params.filters, (filter, name) => {\n if (filter) {\n filter.name = name;\n }\n return filter;\n }) as F;\n\n this._filters = {\n ...this.customFilters,\n search:\n params.search ??\n new StringFilterState({\n name: 'search',\n defaultValue: '',\n }),\n };\n\n this.queryHistory = this.history\n ? new QueryHistoryState({\n query: this,\n history: this.history,\n })\n : null;\n\n makeObservable(this, {\n changeLimit: action,\n reset: action,\n toComputed: action,\n asComputed: computed,\n activeFilters: computed,\n nonPersistentFilters: computed,\n nonPersistentFiltersEntries: computed,\n nonPersistentFiltersMap: computed,\n activeFiltersEntries: computed,\n activeFiltersCount: computed,\n hasActiveFilters: computed,\n hasNonPersistentActiveFilters: computed,\n resetFilters: action.bound,\n resetPage: action.bound,\n filtersKey: computed,\n filtersKeyHash: computed,\n fields: computed,\n fieldsKey: computed,\n fieldsKeyHash: computed,\n hasNonPersistentCustomFilters: computed,\n nonPersistentCustomFiltersCount: computed,\n });\n }\n\n init() {\n const disposers = [\n ...Object.values(this.filtersEntries).flatMap(([_, filter]) => {\n return [\n addEventListener(filter.events, 'change', () =>\n this.events.emit('change'),\n ),\n addEventListener(filter.events, 'refresh', () =>\n this.events.emit('refresh'),\n ),\n addEventListener(filter.events, 'scheduleRefresh', () =>\n this.events.emit('scheduleRefresh'),\n ),\n ];\n }),\n this.queryHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n get limit() {\n return this.pagination.limit;\n }\n\n get fields() {\n return [\n ...Array.from(this._columns.values()),\n ...Array.from(this._fields.values()),\n ];\n }\n\n get fieldsKey() {\n return this.fields.sort();\n }\n\n get fieldsKeyHash() {\n return this.fieldsKey.join('');\n }\n\n get filtersKey() {\n const { customFilters } = this;\n\n return mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n }\n\n get filtersKeyHash() {\n return hashQueryKey([this.filtersKey]);\n }\n\n changeLimit(limit: number) {\n this.pagination.changeLimit(limit);\n }\n\n public reset() {\n this.pagination.moveToPage(0);\n }\n\n private _toComputed(): ComputedQueryFull<F> {\n const {\n pagination,\n customFilters,\n nonPersistentFiltersMap,\n search: searchFilter,\n sort,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n fields,\n refreshOnColumnsChange,\n } = this;\n const { page, limit, offset, cursor } = pagination;\n\n const filters: ComputedQuery<F>['filters'] = mapValues(\n customFilters,\n (filter) =>\n filter != null ? (filter.isEmpty ? undefined : filter.value) : filter,\n );\n const rawFilters: ComputedQuery<F>['rawFilters'] = mapValues(\n customFilters,\n (filter) => (filter != null ? filter.value : filter),\n );\n\n const filtersKey = mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const nonPersistentFiltersKey = mapValues(\n nonPersistentFiltersMap,\n (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const rawSearch = searchFilter.value;\n const search = searchFilter.isEmpty ? undefined : rawSearch;\n\n return {\n page,\n limit,\n sort: sort.value.map(({ field: fieldName, direction: order }) => ({\n fieldName,\n order,\n })),\n offset,\n cursor: cursor == null || typeof cursor === 'string' ? cursor : null,\n rawFilters,\n filtersKey,\n nonPersistentFiltersKey,\n filters,\n rawSearch,\n search,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n columns: fields,\n fields: refreshOnColumnsChange\n ? fields\n : Array.from(this._fields.values()),\n };\n }\n\n toComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get asComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get filtersArray() {\n const { _filters } = this;\n return Object.values(_filters).filter(\n (e) => e != null,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFilters() {\n const { filtersArray } = this;\n return filtersArray.filter((filter) => !filter.persistent);\n }\n\n get filtersEntries() {\n const { _filters } = this;\n return Object.entries(_filters).filter(\n (entry): entry is [string, Filter<unknown>] => entry[1] != null,\n );\n }\n\n get nonPersistentFiltersEntries() {\n const { filtersEntries } = this;\n return filtersEntries.filter(([_, filter]) => !filter.persistent);\n }\n\n get nonPersistentCustomFiltersCount() {\n return Object.values(this.nonPersistentCustomFilters).reduce(\n (size, filter) => size + filter.size,\n 0,\n );\n }\n\n get hasNonPersistentCustomFilters() {\n return this.nonPersistentCustomFiltersCount > 0;\n }\n\n get nonPersistentCustomFilters() {\n const { customFilters } = this;\n return Object.values(customFilters).filter(\n (e) => e != null && !e?.persistent,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFiltersMap() {\n const { customFilters } = this;\n return pickBy(customFilters, (filter) => !filter?.persistent) as Partial<F>;\n }\n\n get activeFiltersEntries() {\n const { nonPersistentFiltersEntries } = this;\n return nonPersistentFiltersEntries.filter(([_, filter]) => !filter.isEmpty);\n }\n\n get activeFilters() {\n const { nonPersistentFilters } = this;\n return nonPersistentFilters.filter((filter) => !filter.isEmpty);\n }\n\n get activeFiltersCount() {\n return this.activeFilters.reduce((size, filter) => size + filter.size, 0);\n }\n\n get hasActiveFilters() {\n return (\n this.filtersArray.reduce((size, filter) => size + filter.size, 0) > 0\n );\n }\n\n get hasNonPersistentActiveFilters() {\n return this.activeFiltersCount > 0;\n }\n\n get hasActiveSort() {\n return this.sort.value.length > 0;\n }\n\n resetFilters(options?: ChangeValueOptions) {\n const { nonPersistentFilters } = this;\n nonPersistentFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetCustomFilters(options?: ChangeValueOptions) {\n const { nonPersistentCustomFilters } = this;\n nonPersistentCustomFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetSorting(params: { emitChangeEvent?: boolean } = {}) {\n this.sort.reset(params);\n }\n\n resetPage() {\n const { pagination } = this;\n pagination.page = 1;\n pagination.cursor = initialCursor;\n }\n\n get search() {\n return this._filters.search;\n }\n\n get filters(): AllFilters<F> {\n return this._filters;\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_Pagination","_mapValues","_interopRequireDefault","_pickBy","_events","_StringFilterState","_SortState","_util","_core","_QueryHistoryState","QueryState","constructor","params","_defineProperty2","default","EventEmitter","observable","set","deep","filter","addEventListener","events","emit","refreshOnColumnsChange","pagination","Pagination","limit","history","sort","SortState","customFilters","mapValues","filters","name","_filters","search","StringFilterState","defaultValue","queryHistory","QueryHistoryState","query","makeObservable","changeLimit","action","reset","toComputed","addFilter","asComputed","computed","activeFilters","nonPersistentFilters","nonPersistentFiltersEntries","nonPersistentFiltersMap","activeFiltersEntries","activeFiltersCount","hasActiveFilters","hasNonPersistentActiveFilters","resetFilters","bound","resetPage","filtersKey","filtersKeyHash","fields","fieldsKey","fieldsKeyHash","hasNonPersistentCustomFilters","nonPersistentCustomFiltersCount","init","_this$queryHistory","disposers","Object","values","filtersEntries","flatMap","_","addFilterListeners","forEach","d","Array","from","_columns","_fields","join","isEmpty","toArray","map","itemKey","undefined","hashQueryKey","moveToPage","_toComputed","searchFilter","page","offset","cursor","value","rawFilters","nonPersistentFiltersKey","rawSearch","field","fieldName","direction","order","columns","filtersArray","e","persistent","entries","entry","nonPersistentCustomFilters","reduce","size","pickBy","hasActiveSort","length","key","options","resetCustomFilters","resetSorting","initialCursor","exports"],"sources":["../../../src/state/QueryState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n AllFilters,\n ChangeValueOptions,\n ComputedQuery,\n ComputedQueryFull,\n Filter,\n FiltersMap,\n} from '../model';\nimport { initialCursor, Pagination } from './Pagination';\nimport mapValues from 'lodash/mapValues';\nimport pickBy from 'lodash/pickBy';\nimport { EventEmitter } from 'events';\nimport { History } from 'history';\nimport { StringFilterState } from './StringFilterState';\nimport { SortState } from './SortState';\nimport { addEventListener, TypedEmitter } from '../util';\nimport { hashQueryKey } from 'react-query/core';\nimport { QueryHistoryState } from './QueryHistoryState';\n\nexport interface QueryStateParams<F extends FiltersMap = FiltersMap> {\n history?: History;\n filters: F;\n search?: Filter<string>;\n limit?: number;\n refreshOnColumnsChange?: boolean;\n}\n\nexport type QueryStateEvents = {\n change: () => void;\n refresh: (opts?: { clearResult?: boolean }) => void;\n scheduleRefresh: (opts?: { clearResult?: boolean }) => void;\n persist: () => void;\n};\n\nexport class QueryState<F extends FiltersMap = FiltersMap> {\n readonly history?: History;\n readonly pagination: Pagination;\n readonly customFilters: F;\n sort: SortState;\n readonly _filters: AllFilters<F>;\n readonly events = new EventEmitter() as TypedEmitter<QueryStateEvents>;\n\n readonly queryHistory: QueryHistoryState<F> | null;\n readonly refreshOnColumnsChange;\n\n _columns = observable.set<string>([], { deep: false });\n _fields = observable.set<string>([], { deep: false });\n\n _initializedFromHistory?: boolean;\n\n constructor(params: QueryStateParams<F>) {\n this.refreshOnColumnsChange = params.refreshOnColumnsChange;\n this.pagination = new Pagination({ limit: params.limit });\n\n this.history = params.history;\n this.sort = new SortState({});\n\n this.customFilters = mapValues(params.filters, (filter, name) => {\n if (filter) {\n filter.name = name;\n }\n return filter;\n }) as F;\n\n this._filters = {\n ...this.customFilters,\n search:\n params.search ??\n new StringFilterState({\n name: 'search',\n defaultValue: '',\n }),\n };\n\n this.queryHistory = this.history\n ? new QueryHistoryState({\n query: this,\n history: this.history,\n })\n : null;\n\n makeObservable(this, {\n changeLimit: action,\n reset: action,\n toComputed: action,\n addFilter: action,\n asComputed: computed,\n activeFilters: computed,\n nonPersistentFilters: computed,\n nonPersistentFiltersEntries: computed,\n nonPersistentFiltersMap: computed,\n activeFiltersEntries: computed,\n activeFiltersCount: computed,\n hasActiveFilters: computed,\n hasNonPersistentActiveFilters: computed,\n resetFilters: action.bound,\n resetPage: action.bound,\n filtersKey: computed,\n filtersKeyHash: computed,\n fields: computed,\n fieldsKey: computed,\n fieldsKeyHash: computed,\n hasNonPersistentCustomFilters: computed,\n nonPersistentCustomFiltersCount: computed,\n });\n }\n\n init() {\n const disposers = [\n ...Object.values(this.filtersEntries).flatMap(([_, filter]) => {\n return this.addFilterListeners(filter);\n }),\n this.queryHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n get limit() {\n return this.pagination.limit;\n }\n\n get fields() {\n return [\n ...Array.from(this._columns.values()),\n ...Array.from(this._fields.values()),\n ];\n }\n\n get fieldsKey() {\n return this.fields.sort();\n }\n\n get fieldsKeyHash() {\n return this.fieldsKey.join('');\n }\n\n get filtersKey() {\n const { customFilters } = this;\n\n return mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n }\n\n get filtersKeyHash() {\n return hashQueryKey([this.filtersKey]);\n }\n\n changeLimit(limit: number) {\n this.pagination.changeLimit(limit);\n }\n\n public reset() {\n this.pagination.moveToPage(0);\n }\n\n private _toComputed(): ComputedQueryFull<F> {\n const {\n pagination,\n customFilters,\n nonPersistentFiltersMap,\n search: searchFilter,\n sort,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n fields,\n refreshOnColumnsChange,\n } = this;\n const { page, limit, offset, cursor } = pagination;\n\n const filters: ComputedQuery<F>['filters'] = mapValues(\n customFilters,\n (filter) =>\n filter != null ? (filter.isEmpty ? undefined : filter.value) : filter,\n );\n const rawFilters: ComputedQuery<F>['rawFilters'] = mapValues(\n customFilters,\n (filter) => (filter != null ? filter.value : filter),\n );\n\n const filtersKey = mapValues(customFilters, (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const nonPersistentFiltersKey = mapValues(\n nonPersistentFiltersMap,\n (filter) =>\n filter != null\n ? filter.isEmpty\n ? null\n : filter.toArray.map(filter.itemKey)\n : undefined,\n );\n\n const rawSearch = searchFilter.value;\n const search = searchFilter.isEmpty ? undefined : rawSearch;\n\n return {\n page,\n limit,\n sort: sort.value.map(({ field: fieldName, direction: order }) => ({\n fieldName,\n order,\n })),\n offset,\n cursor: cursor == null || typeof cursor === 'string' ? cursor : null,\n rawFilters,\n filtersKey,\n nonPersistentFiltersKey,\n filters,\n rawSearch,\n search,\n hasActiveFilters,\n hasNonPersistentActiveFilters,\n columns: fields,\n fields: refreshOnColumnsChange\n ? fields\n : Array.from(this._fields.values()),\n };\n }\n\n toComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get asComputed(): ComputedQueryFull<F> {\n return this._toComputed();\n }\n\n get filtersArray() {\n const { _filters } = this;\n return Object.values(_filters).filter(\n (e) => e != null,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFilters() {\n const { filtersArray } = this;\n return filtersArray.filter((filter) => !filter.persistent);\n }\n\n get filtersEntries() {\n const { _filters } = this;\n return Object.entries(_filters).filter(\n (entry): entry is [string, Filter<unknown>] => entry[1] != null,\n );\n }\n\n get nonPersistentFiltersEntries() {\n const { filtersEntries } = this;\n return filtersEntries.filter(([_, filter]) => !filter.persistent);\n }\n\n get nonPersistentCustomFiltersCount() {\n return Object.values(this.nonPersistentCustomFilters).reduce(\n (size, filter) => size + filter.size,\n 0,\n );\n }\n\n get hasNonPersistentCustomFilters() {\n return this.nonPersistentCustomFiltersCount > 0;\n }\n\n get nonPersistentCustomFilters() {\n const { customFilters } = this;\n return Object.values(customFilters).filter(\n (e) => e != null && !e?.persistent,\n ) as Filter<unknown>[];\n }\n\n get nonPersistentFiltersMap() {\n const { customFilters } = this;\n return pickBy(customFilters, (filter) => !filter?.persistent) as Partial<F>;\n }\n\n get activeFiltersEntries() {\n const { nonPersistentFiltersEntries } = this;\n return nonPersistentFiltersEntries.filter(([_, filter]) => !filter.isEmpty);\n }\n\n get activeFilters() {\n const { nonPersistentFilters } = this;\n return nonPersistentFilters.filter((filter) => !filter.isEmpty);\n }\n\n get activeFiltersCount() {\n return this.activeFilters.reduce((size, filter) => size + filter.size, 0);\n }\n\n get hasActiveFilters() {\n return (\n this.filtersArray.reduce((size, filter) => size + filter.size, 0) > 0\n );\n }\n\n get hasNonPersistentActiveFilters() {\n return this.activeFiltersCount > 0;\n }\n\n get hasActiveSort() {\n return this.sort.value.length > 0;\n }\n\n addFilter<K extends keyof AllFilters<F>>(key: K, filter: AllFilters<F>[K]) {\n if (filter === undefined) {\n return;\n }\n this._filters[key] = filter;\n this.customFilters[key] = filter;\n const disposers = this.addFilterListeners(filter);\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n resetFilters(options?: ChangeValueOptions) {\n const { nonPersistentFilters } = this;\n nonPersistentFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetCustomFilters(options?: ChangeValueOptions) {\n const { nonPersistentCustomFilters } = this;\n nonPersistentCustomFilters.forEach((filter) => {\n filter?.reset(options);\n });\n }\n\n resetSorting(params: { emitChangeEvent?: boolean } = {}) {\n this.sort.reset(params);\n }\n\n resetPage() {\n const { pagination } = this;\n pagination.page = 1;\n pagination.cursor = initialCursor;\n }\n\n get search() {\n return this._filters.search;\n }\n\n get filters(): AllFilters<F> {\n return this._filters;\n }\n\n addFilterListeners = (filter: Filter<unknown>) => {\n return [\n addEventListener(filter.events, 'change', () =>\n this.events.emit('change'),\n ),\n addEventListener(filter.events, 'refresh', () =>\n this.events.emit('refresh'),\n ),\n addEventListener(filter.events, 'scheduleRefresh', () =>\n this.events.emit('scheduleRefresh'),\n ),\n ];\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_mobx","isRecord","thing","RangeFilterState","constructor","params","_defineProperty2","default","emptyValue","EventEmitter","name","persistent","itemKey","itemName","entityName","parse","simplify","value","matches","item","_value","initialValue","makeObservable","observable","ref","isEmpty","computed","size","setValue","action","changeValue","from","to","toArray","toQueryString","encode","decode","raw","includes","split","map","emitEvents","options","event","events","emit","remove","items","some","e","applyFromQueryString","str","refresh","scheduleRefresh","reset","hasDiff","rangeItem","clone","exports","rangeFilter","toString","filter","Boolean","d","toISOString","join","dateRangeFilter","Date","isNaN","valueOf"],"sources":["../../../../src/state/RangeFilterState/RangeFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport {\n ChangeValueOptions,\n Filter,\n FilterEvents,\n FilterStateBaseParams,\n} from '../../model';\n\nexport interface RangeItem<T> {\n from: T | null;\n to: T | null;\n preset?: string;\n}\n\nfunction isRecord(thing: unknown): thing is Record<string, unknown> {\n return thing != null;\n}\n\nexport interface RangeFilterStateParams<T>\n extends FilterStateBaseParams<RangeItem<T>> {\n /**\n * Convert a unknown object to a T.\n * @param value\n */\n readonly parse: (value: unknown) => T | null;\n /**\n * Return a simplified form of an item for serialization.\n * @param value\n */\n readonly simplify?: (value: T) => Partial<T>;\n /**\n * Indicates whether an item matches the current value of the filter\n */\n readonly matches?: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n}\n\nexport class RangeFilterState<T> implements Filter<RangeItem<T>> {\n name: string;\n persistent;\n // defaultValue: string;\n readonly itemKey: (item: RangeItem<T>) => string;\n readonly itemName: (item: RangeItem<T>) => string;\n readonly entityName: (pluralization: number) => string;\n readonly parse: RangeFilterStateParams<T>['parse'];\n readonly simplify;\n readonly matches: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n\n _value: RangeItem<T> = this.emptyValue;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n constructor(params: RangeFilterStateParams<T>) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n // this.defaultValue = params.defaultValue;\n this.itemKey = params.itemKey;\n this.itemName = params.itemName;\n this.entityName = params.entityName ?? (() => '');\n this.parse = params.parse;\n this.simplify = params.simplify ?? ((value) => value);\n this.matches =\n params.matches ??\n ((item, value) => this.itemName(item) === this.itemName(value));\n this._value = params.initialValue ?? this.emptyValue;\n\n makeObservable(this, {\n _value: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n setValue: action,\n changeValue: action,\n });\n }\n\n get emptyValue() {\n return { from: null, to: null };\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return [this._value];\n }\n\n get isEmpty() {\n return !this._value.from && !this._value.to;\n }\n\n get size() {\n return this.isEmpty ? 0 : 1;\n }\n\n get toQueryString() {\n return this.itemKey(this._value);\n }\n\n encode(value: RangeItem<T>) {\n return {\n ...(value.from && { from: this.simplify(value.from) }),\n ...(value.to && { to: this.simplify(value.to) }),\n };\n }\n\n decode(raw: unknown): RangeItem<T> {\n if (typeof raw === 'string') {\n const [from, to] = (\n raw.includes('/') ? raw.split('/') : raw.split('-')\n ).map(this.parse);\n if (from && to) {\n return {\n from,\n to,\n };\n }\n }\n\n if (isRecord(raw)) {\n const [from, to] = [raw.from, raw.to].map(this.parse);\n\n if (from && to) {\n return {\n from,\n to,\n };\n }\n }\n\n return this.emptyValue;\n }\n\n setValue(\n value: RangeItem<T>,\n { emitEvents, ...options }: ChangeValueOptions = {},\n ) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: RangeItem<T>,\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n remove(items: RangeItem<T>[], options: ChangeValueOptions = {}) {\n if (items.some((e) => e.from || e.to)) {\n this.setValue(this.emptyValue, options);\n }\n }\n\n applyFromQueryString(str: string) {\n this.setValue(this.decode(str));\n }\n\n refresh(value: RangeItem<T>, options?: ChangeValueOptions) {\n this.changeValue(value, { ...options, emitEvents: ['refresh'] });\n }\n\n scheduleRefresh(value: RangeItem<T>) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.emptyValue, options);\n }\n\n hasDiff(rangeItem: RangeItem<T>) {\n const { value } = this;\n return value.from !== rangeItem.from || value.to !== rangeItem.to;\n }\n\n clone(params: Partial<RangeFilterStateParams<T>>): RangeFilterState<T> {\n const {\n entityName,\n value: initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n } = this;\n return new RangeFilterState<T>({\n entityName,\n initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n ...params,\n });\n }\n}\n\nexport const rangeFilter = <T>(params: RangeFilterStateParams<T>) =>\n new RangeFilterState(params);\n\nexport const toString = (item: RangeItem<Date>) => {\n return [item.from, item.to]\n .filter(Boolean as unknown as (d: Date | null) => d is Date)\n .map((d) => d.toISOString())\n .join('/');\n};\n\nexport const dateRangeFilter = (\n params: Partial<RangeFilterStateParams<Date>> = {},\n) => {\n return new RangeFilterState({\n itemKey: toString,\n itemName: toString,\n parse: (value) => {\n if (typeof value === 'object' && value instanceof Date) {\n return value;\n }\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n return null;\n }\n\n const d = new Date(value);\n\n if (isNaN(d.valueOf())) {\n return null;\n }\n\n return d;\n },\n ...params,\n });\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_events","require","_mobx","isRecord","thing","RangeFilterState","constructor","params","_defineProperty2","default","emptyValue","EventEmitter","name","persistent","itemKey","itemName","entityName","parse","simplify","value","matches","item","_value","initialValue","makeObservable","observable","ref","isEmpty","computed","size","setValue","action","changeValue","from","to","toArray","toQueryString","encode","decode","raw","includes","split","map","emitEvents","options","event","events","emit","remove","items","some","e","applyFromQueryString","str","refresh","scheduleRefresh","reset","hasDiff","rangeItem","clone","exports","rangeFilter","toString","filter","Boolean","d","toISOString","join","dateRangeFilter","Date","isNaN","valueOf"],"sources":["../../../../src/state/RangeFilterState/RangeFilterState.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport {\n ChangeValueOptions,\n Filter,\n FilterEvents,\n FilterStateBaseParams,\n} from '../../model';\n\nexport interface RangeItem<T> {\n from: T | null;\n to: T | null;\n preset?: string;\n}\n\nfunction isRecord(thing: unknown): thing is Record<string, unknown> {\n return thing != null;\n}\n\nexport interface RangeFilterStateParams<T>\n extends FilterStateBaseParams<RangeItem<T>> {\n /**\n * Convert a unknown object to a T.\n * @param value\n */\n readonly parse: (value: unknown) => T | null;\n /**\n * Return a simplified form of an item for serialization.\n * @param value\n */\n readonly simplify?: (value: T) => Partial<T>;\n /**\n * Indicates whether an item matches the current value of the filter\n */\n readonly matches?: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n}\n\nexport class RangeFilterState<T> implements Filter<RangeItem<T>> {\n name: string;\n persistent;\n // defaultValue: string;\n readonly itemKey: (item: RangeItem<T>) => string;\n readonly itemName: (item: RangeItem<T>) => string;\n readonly entityName: (pluralization: number) => string;\n readonly parse: RangeFilterStateParams<T>['parse'];\n readonly simplify;\n readonly matches: (item: RangeItem<T>, value: RangeItem<T>) => boolean;\n\n _value: RangeItem<T> = this.emptyValue;\n\n readonly events = new EventEmitter() as FilterEvents;\n\n constructor(params: RangeFilterStateParams<T>) {\n this.name = params.name ?? '';\n this.persistent = params.persistent;\n // this.defaultValue = params.defaultValue;\n this.itemKey = params.itemKey;\n this.itemName = params.itemName;\n this.entityName = params.entityName ?? (() => '');\n this.parse = params.parse;\n this.simplify = params.simplify ?? ((value) => value);\n this.matches =\n params.matches ??\n ((item, value) => this.itemName(item) === this.itemName(value));\n this._value = params.initialValue ?? this.emptyValue;\n\n makeObservable(this, {\n _value: observable.ref,\n persistent: observable.ref,\n isEmpty: computed,\n size: computed,\n value: computed,\n setValue: action,\n changeValue: action,\n });\n }\n\n get emptyValue() {\n return { from: null, to: null };\n }\n\n get value() {\n return this._value;\n }\n\n get toArray() {\n return [this._value];\n }\n\n get isEmpty() {\n return !this._value.from && !this._value.to;\n }\n\n get size() {\n return this.isEmpty ? 0 : 1;\n }\n\n get toQueryString() {\n return this.itemKey(this._value);\n }\n\n encode(value: RangeItem<T>) {\n return {\n ...(value.from && { from: this.simplify(value.from) }),\n ...(value.to && { to: this.simplify(value.to) }),\n };\n }\n\n decode(raw: unknown): RangeItem<T> {\n if (typeof raw === 'string') {\n const [from, to] = (\n raw.includes('/') ? raw.split('/') : raw.split('-')\n ).map(this.parse);\n\n if (from && to) {\n return {\n from,\n to,\n };\n }\n }\n\n if (isRecord(raw)) {\n const [from, to] = [raw.from, raw.to].map(this.parse);\n\n if (from && to) {\n return {\n from,\n to,\n };\n }\n }\n\n return this.emptyValue;\n }\n\n setValue(\n value: RangeItem<T>,\n { emitEvents, ...options }: ChangeValueOptions = {},\n ) {\n this._value = value;\n if (emitEvents) {\n for (const event of emitEvents) {\n this.events.emit(event, options);\n }\n }\n }\n\n changeValue(\n value: RangeItem<T>,\n { emitEvents = [], ...options }: ChangeValueOptions = {},\n ) {\n this.setValue(value, { ...options, emitEvents: ['change', ...emitEvents] });\n }\n\n remove(items: RangeItem<T>[], options: ChangeValueOptions = {}) {\n if (items.some((e) => e.from || e.to)) {\n this.setValue(this.emptyValue, options);\n }\n }\n\n applyFromQueryString(str: string) {\n this.setValue(this.decode(str));\n }\n\n refresh(value: RangeItem<T>, options?: ChangeValueOptions) {\n this.changeValue(value, { ...options, emitEvents: ['refresh'] });\n }\n\n scheduleRefresh(value: RangeItem<T>) {\n this.changeValue(value, { emitEvents: ['scheduleRefresh'] });\n }\n\n reset(options: ChangeValueOptions = {}) {\n this.setValue(this.emptyValue, options);\n }\n\n hasDiff(rangeItem: RangeItem<T>) {\n const { value } = this;\n return value.from !== rangeItem.from || value.to !== rangeItem.to;\n }\n\n clone(params: Partial<RangeFilterStateParams<T>>): RangeFilterState<T> {\n const {\n entityName,\n value: initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n } = this;\n return new RangeFilterState<T>({\n entityName,\n initialValue,\n matches,\n persistent,\n itemKey,\n itemName,\n parse,\n name,\n simplify,\n ...params,\n });\n }\n}\n\nexport const rangeFilter = <T>(params: RangeFilterStateParams<T>) =>\n new RangeFilterState(params);\n\nexport const toString = (item: RangeItem<Date>) => {\n return [item.from, item.to]\n .filter(Boolean as unknown as (d: Date | null) => d is Date)\n .map((d) => d.toISOString())\n .join('/');\n};\n\nexport const dateRangeFilter = (\n params: Partial<RangeFilterStateParams<Date>> = {},\n) => {\n return new RangeFilterState({\n itemKey: toString,\n itemName: toString,\n parse: (value) => {\n if (typeof value === 'object' && value instanceof Date) {\n return value;\n }\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n return null;\n }\n\n const d = new Date(value);\n\n if (isNaN(d.valueOf())) {\n return null;\n }\n\n return d;\n },\n ...params,\n });\n};\n"],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ var _history = require("history");
|
|
|
10
10
|
var _testkit = require("@wix/fe-essentials-standalone/testkit");
|
|
11
11
|
var _react = require("@wix/fe-essentials-standalone/react");
|
|
12
12
|
var _client = require("@wix/fe-essentials/http-client/testkit/client");
|
|
13
|
-
var _testkit2 = require("@wix/fe-essentials/data-capsule/testkit");
|
|
14
13
|
var _dataCapsule = require("@wix/fe-essentials/data-capsule");
|
|
15
14
|
var _state = require("../state");
|
|
16
15
|
var _partialLodashMock = require("../mocks/partialLodashMock");
|
|
@@ -19,6 +18,7 @@ var _exportServiceMocks = require("./exportServiceMocks");
|
|
|
19
18
|
var _navigationManager = require("../services/navigationManager");
|
|
20
19
|
var _matchMediaMock = require("./matchMediaMock");
|
|
21
20
|
var _jest = require("../test-utils/jest");
|
|
21
|
+
var _appSettingsMocks = require("./appSettingsMocks");
|
|
22
22
|
class CairoContainerDriver {
|
|
23
23
|
get tableDataCapsule() {
|
|
24
24
|
return this.dataCapsuleInstances.get('cairo.cairo-test-component.wix.cairo.products.v1.product');
|
|
@@ -101,7 +101,7 @@ class CairoContainerDriver {
|
|
|
101
101
|
scenarios: [
|
|
102
102
|
/* metro-testkit currently takes the first mock it encounters per API,
|
|
103
103
|
so overrides must be added before appSettingsMocks(whenRequest) */
|
|
104
|
-
...(overrides.appSettingsCustomMocks ?? []), ...(0,
|
|
104
|
+
...(overrides.appSettingsCustomMocks ?? []), ...(0, _appSettingsMocks.appSettingsMocks)(_client.whenRequest), ...this.exportServiceMocks.mocks, ...(overrides.httpMocks ?? [])]
|
|
105
105
|
}
|
|
106
106
|
});
|
|
107
107
|
const {
|
|
@@ -193,14 +193,13 @@ class CairoContainerDriver {
|
|
|
193
193
|
useTranslation: _react.useTranslation,
|
|
194
194
|
Trans: _react.Trans,
|
|
195
195
|
useExperiments: _react.useExperiments,
|
|
196
|
-
createComponentSettings: overrides.componentSettingsLocalStorage ? undefined : ({
|
|
197
|
-
componentId = '',
|
|
196
|
+
createComponentSettings: overrides.componentSettingsLocalStorage ? undefined : () => ({
|
|
198
197
|
namespace
|
|
199
198
|
}) => {
|
|
200
199
|
var _overrides$componentS;
|
|
201
200
|
const componentSettings = new _dataCapsule.DataCapsule({
|
|
202
201
|
namespace,
|
|
203
|
-
scope:
|
|
202
|
+
scope: '',
|
|
204
203
|
strategy: new _dataCapsule.AppSettingsStorageStrategy({
|
|
205
204
|
host: 'other',
|
|
206
205
|
httpClient: this.testContext.httpClient
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_testkit2","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","CairoContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","navigateTo","onNavigation","callback","onBeforeUnloadMissingInEnvironment","onBeforeUnload","pause","resume","state","prevented","preventDefault","events","once","leave","history","createMemoryHistory","search","replaceHistory","container","CairoContainer","queryCache","patchesCache","componentId","artifactId","join","providerType","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","undefined","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","options","i18nOptions","childEssentials","createChildEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","biLoggerFactory","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/CairoContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n useExperiments,\n useTranslation,\n Trans,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport { appSettingsMocks } from '@wix/fe-essentials/data-capsule/testkit';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { CairoContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n CairoEssentials,\n GetHostContainer,\n OnBeforeUnload,\n OnNavigation,\n ShowToast,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\n\nexport interface CairoContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<CairoEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly navigateTo?: CairoEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n}\n\nexport class CairoContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly navigateTo: CairoEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: CairoContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: CairoContainerDriverOverrides = { asMobileView: false },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe(callback);\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((pause) => {\n const { resume } = pause();\n\n const state = {\n prevented: false,\n };\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n\n if (!state.prevented) {\n resume();\n }\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new CairoContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n history: this.history,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : ({ componentId = '', namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: componentId,\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n navigateTo: this.navigateTo,\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_events","require","_core","_history","_testkit","_react","_client","_dataCapsule","_state","_partialLodashMock","_lodash","_exportServiceMocks","_navigationManager","_matchMediaMock","_jest","_appSettingsMocks","CairoContainerDriver","tableDataCapsule","dataCapsuleInstances","get","constructor","overrides","asMobileView","_overrides$history","_overrides$i18nOverri","_overrides$i18nOverri2","_defineProperty2","default","EventEmitter","_isOnline","setIsOnline","value","emit","isOnline","subscribe","listener","on","removeListener","_isFocused","setIsFocused","isFocused","QueryCache","Map","exportServiceMocks","whenRequest","testContext","testkit","getTestContext","experiments","bag","environment","language","i18n","messages","errorMonitor","httpClient","scenarios","appSettingsCustomMocks","appSettingsMocks","mocks","httpMocks","asyncExperiments","ready","window","location","href","download","jest","fn","matchMedia","mockImplementation","query","matchMediaMock","matches","close","dispatchEvent","Event","navigationManager","NavigationManager","showToast","remove","navigateTo","onNavigation","callback","onBeforeUnloadMissingInEnvironment","onBeforeUnload","pause","resume","state","prevented","preventDefault","events","once","leave","history","createMemoryHistory","search","replaceHistory","container","CairoContainer","queryCache","patchesCache","componentId","artifactId","join","providerType","user","permissions","onlineManager","focusManager","useTranslation","Trans","useExperiments","createComponentSettings","componentSettingsLocalStorage","undefined","namespace","_overrides$componentS","componentSettings","DataCapsule","scope","strategy","AppSettingsStorageStrategy","host","data","componentSettingsEntries","key","Object","entries","setItem","componentSettingsInstances","set","messagesEnImport","i18nOverrides","fetchTranslations","createEssentials","options","i18nOptions","childEssentials","createChildEssentials","asyncMessagesLoader","locale","_overrides$i18nOverri3","Promise","all","then","reduce","assign","internalExperiments","dataCapsule","push","_overrides$dataCapsul","getHostContainer","lodash","isTestEnvironment","isJestExists","isMockFunction","setTimeout","partialLodashMock","debounce","throttle","init","onlineState","biLoggerFactory","searchParams","toString","replace","exports"],"sources":["../../../src/testkit/CairoContainer.driver.ts"],"sourcesContent":["import { EventEmitter } from 'events';\nimport { QueryCache } from 'react-query/core';\nimport { createMemoryHistory, History } from 'history';\nimport {\n StandaloneEssentialsTestOptions,\n TestContext,\n testkit,\n} from '@wix/fe-essentials-standalone/testkit';\nimport {\n useExperiments,\n useTranslation,\n Trans,\n} from '@wix/fe-essentials-standalone/react';\nimport { ExperimentsBag } from '@wix/fe-essentials-standalone/experiments';\nimport { whenRequest } from '@wix/fe-essentials/http-client/testkit/client';\nimport type { AnyScenario } from '@wix/fe-essentials/http-client/testkit';\nimport { Essentials } from '@wix/fe-essentials/core';\nimport {\n AppSettingsStorageStrategy,\n DataCapsule,\n IDataCapsule,\n} from '@wix/fe-essentials/data-capsule';\nimport { CairoContainer } from '../state';\nimport { ErrorMonitor, PartialWindow, Translate } from '../services';\nimport {\n CairoEssentials,\n GetHostContainer,\n OnBeforeUnload,\n OnNavigation,\n ShowToast,\n} from '../model';\nimport { partialLodashMock } from '../mocks/partialLodashMock';\nimport { debounce, throttle } from 'lodash';\nimport { exportServiceMocks } from './exportServiceMocks';\nimport { NavigationManager } from '../services/navigationManager';\nimport { matchMediaMock } from './matchMediaMock';\nimport { isJestExists, isTestEnvironment } from '../test-utils/jest';\nimport { appSettingsMocks } from './appSettingsMocks';\n\nexport interface CairoContainerDriverOverrides {\n readonly environment?: Partial<{ language: string; uiLibVersion: string }>;\n readonly user?: Partial<CairoEssentials['user']>;\n readonly location?: Partial<{ href: string }>;\n readonly history?: Partial<{ search: URLSearchParams }>;\n readonly httpMocks?: AnyScenario[];\n readonly appSettingsCustomMocks?: AnyScenario[];\n readonly showToast?: ShowToast;\n readonly navigateTo?: CairoEssentials['navigateTo'];\n readonly asMobileView?: boolean;\n readonly dataCapsule?: Partial<{ entries: Record<string, unknown> }>;\n readonly componentSettingsEntries?: Record<string, object>;\n readonly componentSettingsLocalStorage?: boolean;\n readonly onNavigation?: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n readonly onBeforeUnloadMissingInEnvironment?: boolean;\n readonly experiments?: ExperimentsBag;\n readonly asyncExperiments?: () => Promise<ExperimentsBag>;\n readonly internalExperiments?: ExperimentsBag;\n readonly i18nOverrides?: StandaloneEssentialsTestOptions['i18n'] & {\n messagesEnImport?: () => Promise<{}>;\n fetchTranslations?: (p: {\n readonly errorMonitor: ErrorMonitor;\n }) => (language: string) => Promise<{}>;\n };\n readonly getHostContainer?: GetHostContainer;\n}\n\nexport class CairoContainerDriver {\n readonly testContext: TestContext;\n readonly showToast: ShowToast;\n readonly navigateTo: CairoEssentials['navigateTo'];\n readonly onNavigation: OnNavigation;\n readonly onBeforeUnload?: OnBeforeUnload;\n\n readonly onlineManager = {\n _events: new EventEmitter(),\n _isOnline: true,\n setIsOnline(value: boolean) {\n this._isOnline = value;\n this._events.emit('default');\n },\n isOnline() {\n return this._isOnline;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly focusManager = {\n _events: new EventEmitter(),\n _isFocused: true,\n setIsFocused(value: boolean) {\n this._isFocused = value;\n this._events.emit('default');\n },\n isFocused() {\n return this._isFocused;\n },\n subscribe(listener?: () => unknown) {\n if (listener) {\n this._events.on('default', listener);\n }\n return () => {\n if (listener) {\n this._events.removeListener('default', listener);\n }\n };\n },\n };\n\n readonly queryCache = new QueryCache();\n readonly patchesCache = new Map();\n\n readonly window: PartialWindow;\n readonly navigationManager: NavigationManager;\n\n readonly history: History;\n\n readonly container: CairoContainer;\n\n readonly dataCapsule: IDataCapsule[] = [];\n readonly dataCapsuleInstances = new Map<string, IDataCapsule>();\n\n get tableDataCapsule() {\n return this.dataCapsuleInstances.get(\n 'cairo.cairo-test-component.wix.cairo.products.v1.product',\n ) as IDataCapsule;\n }\n\n readonly componentSettingsInstances = new Map<string, DataCapsule>();\n\n readonly exportServiceMocks;\n\n constructor(\n overrides: CairoContainerDriverOverrides = { asMobileView: false },\n ) {\n this.exportServiceMocks = exportServiceMocks(whenRequest);\n\n this.testContext = testkit.getTestContext({\n experiments: {\n bag: overrides.experiments,\n },\n environment: {\n language: 'en',\n ...overrides?.environment,\n },\n i18n: {\n messages: (language) =>\n require(`../assets/locale/messages_${language}.json`),\n },\n errorMonitor: {},\n httpClient: {\n scenarios: [\n /* metro-testkit currently takes the first mock it encounters per API,\n so overrides must be added before appSettingsMocks(whenRequest) */\n ...(overrides.appSettingsCustomMocks ?? []),\n ...appSettingsMocks(whenRequest),\n ...this.exportServiceMocks.mocks,\n ...(overrides.httpMocks ?? []),\n ],\n },\n });\n\n const { asyncExperiments } = overrides;\n if (asyncExperiments) {\n this.testContext.experiments.ready = async () => {\n await asyncExperiments();\n };\n }\n\n this.window = {\n location: {\n href: 'https://cairo.test',\n ...overrides.location,\n },\n download: jest.fn(),\n matchMedia: jest.fn().mockImplementation((query) => ({\n ...matchMediaMock(query),\n matches: !overrides.asMobileView,\n })),\n close: () => {\n window.dispatchEvent(new Event('beforeunload'));\n window.dispatchEvent(new Event('unload'));\n },\n };\n\n this.navigationManager = new NavigationManager(this.window);\n\n this.showToast =\n overrides?.showToast ??\n jest.fn().mockImplementation(() => ({ remove: () => {} }));\n\n this.navigateTo = overrides?.navigateTo ?? jest.fn();\n\n this.onNavigation =\n overrides?.onNavigation ??\n jest\n .fn()\n .mockImplementation(\n (callback: (pause: () => { resume: () => unknown }) => unknown) => {\n const remove = this.navigationManager.subscribe(callback);\n\n return {\n remove,\n };\n },\n );\n\n if (!overrides.onBeforeUnloadMissingInEnvironment) {\n this.onBeforeUnload =\n overrides?.onBeforeUnload ??\n jest.fn().mockImplementation((callback: (event: {}) => unknown) => {\n const remove = this.navigationManager.subscribe((pause) => {\n const { resume } = pause();\n\n const state = {\n prevented: false,\n };\n callback({\n preventDefault: () => {\n state.prevented = true;\n this.navigationManager.events.once(\n 'navigationPromptResult',\n (leave) => {\n if (leave) {\n resume();\n }\n },\n );\n },\n });\n\n if (!state.prevented) {\n resume();\n }\n });\n\n return {\n remove,\n };\n });\n }\n\n this.history = createMemoryHistory();\n\n if (overrides?.history?.search) {\n this.replaceHistory(overrides.history.search);\n }\n\n this.container = new CairoContainer({\n queryCache: this.queryCache,\n patchesCache: this.patchesCache,\n errorMonitor: this.testContext.errorMonitor,\n history: this.history,\n environment: {\n ...this.testContext.environment,\n ...overrides?.environment,\n componentId: [\n this.testContext.environment.artifactId,\n 'cairo-test-component',\n ].join('.'),\n providerType: 'bm',\n },\n user: {\n permissions: [],\n ...overrides?.user,\n },\n httpClient: this.testContext.httpClient,\n experiments: this.testContext.experiments,\n onlineManager: this.onlineManager,\n focusManager: this.focusManager,\n window: this.window,\n useTranslation,\n Trans,\n useExperiments,\n createComponentSettings: overrides.componentSettingsLocalStorage\n ? undefined\n : () =>\n ({ namespace }) => {\n const componentSettings = new DataCapsule({\n namespace,\n scope: '',\n strategy: new AppSettingsStorageStrategy({\n host: 'other',\n httpClient: this.testContext.httpClient,\n }),\n });\n\n const data = overrides.componentSettingsEntries?.[namespace];\n\n if (data) {\n for (const [key, value] of Object.entries(data)) {\n componentSettings.setItem(key, value);\n }\n }\n\n this.componentSettingsInstances.set(namespace, componentSettings);\n\n return componentSettings;\n },\n messagesEnImport: overrides.i18nOverrides?.messagesEnImport,\n fetchTranslations: overrides.i18nOverrides?.fetchTranslations,\n createEssentials: (options) => {\n const i18nOptions = options.i18n;\n\n const childEssentials = this.testContext.createChildEssentials({\n ...options,\n ...(i18nOptions && {\n i18n: {\n ...i18nOptions,\n asyncMessagesLoader: (locale) =>\n Promise.all([\n i18nOptions.asyncMessagesLoader?.(locale) ?? {},\n overrides.i18nOverrides?.asyncMessagesLoader?.(locale) ?? {},\n ]).then((messages) => messages.reduce(Object.assign, {})),\n },\n }),\n ...(options.experiments && {\n experiments: {\n bag: {\n ...('bag' in options.experiments\n ? options.experiments.bag\n : undefined),\n ...overrides.internalExperiments,\n },\n },\n }),\n });\n\n if (options.dataCapsule && childEssentials.dataCapsule) {\n this.dataCapsule.push(childEssentials.dataCapsule);\n this.dataCapsuleInstances.set(\n options.dataCapsule.namespace,\n childEssentials.dataCapsule,\n );\n for (const [key, value] of Object.entries(\n overrides.dataCapsule?.entries ?? {},\n )) {\n childEssentials.dataCapsule.setItem(key, value);\n }\n }\n\n return childEssentials;\n },\n showToast: this.showToast,\n navigateTo: this.navigateTo,\n onNavigation: this.onNavigation,\n onBeforeUnload: this.onBeforeUnload,\n getHostContainer: overrides?.getHostContainer,\n lodash:\n isTestEnvironment() && isJestExists() && jest.isMockFunction(setTimeout)\n ? partialLodashMock()\n : { debounce, throttle },\n });\n\n this.container.init();\n }\n\n get errorMonitor() {\n return this.testContext.errorMonitor;\n }\n\n get i18n(): Pick<Essentials['i18n'], 'init'> & { t: Translate } {\n return this.container.i18n;\n }\n\n get onlineState() {\n return this.container.onlineState;\n }\n\n get environment() {\n return this.container.environment;\n }\n\n get getHostContainer() {\n return this.container.getHostContainer;\n }\n\n get biLoggerFactory() {\n return this.testContext.biLoggerFactory;\n }\n\n replaceHistory(searchParams: URLSearchParams) {\n const search = searchParams.toString();\n this.history.replace({\n ...this.history.location,\n search: search ? `?${search}` : '',\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.appSettingsMocks = appSettingsMocks;
|
|
5
|
+
var _http = require("@wix/bex-utils/@wix/ambassador-app-settings-v1-settings/http");
|
|
6
|
+
var _lodash = require("lodash");
|
|
7
|
+
function appSettingsMocks(whenRequest) {
|
|
8
|
+
const db = {
|
|
9
|
+
global: {
|
|
10
|
+
settings: {}
|
|
11
|
+
},
|
|
12
|
+
components: {}
|
|
13
|
+
};
|
|
14
|
+
return [whenRequest(_http.getGlobalSettings).reply(200, async data => {
|
|
15
|
+
const {
|
|
16
|
+
host
|
|
17
|
+
} = data;
|
|
18
|
+
return {
|
|
19
|
+
host,
|
|
20
|
+
settings: {
|
|
21
|
+
...db.global.settings
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
}).persist(), whenRequest(_http.getComponentSettings).reply(200, async data => {
|
|
25
|
+
var _db$components$compon;
|
|
26
|
+
const {
|
|
27
|
+
host,
|
|
28
|
+
componentId
|
|
29
|
+
} = data;
|
|
30
|
+
if (componentId == null) {
|
|
31
|
+
throw new Error(`getComponentSettings: Invalid \`componentId\`, received: "${componentId}"`);
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
host,
|
|
35
|
+
settings: {
|
|
36
|
+
...((_db$components$compon = db.components[componentId]) == null ? void 0 : _db$components$compon.settings)
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
}).persist(), whenRequest(_http.setGlobalSettings).reply(200, async data => {
|
|
40
|
+
const {
|
|
41
|
+
host,
|
|
42
|
+
settings
|
|
43
|
+
} = data;
|
|
44
|
+
(0, _lodash.merge)(db.global.settings, settings);
|
|
45
|
+
return {
|
|
46
|
+
host,
|
|
47
|
+
settings
|
|
48
|
+
};
|
|
49
|
+
}).persist(), whenRequest(_http.setComponentSettings).reply(200, async data => {
|
|
50
|
+
var _db$components;
|
|
51
|
+
const {
|
|
52
|
+
host,
|
|
53
|
+
settings,
|
|
54
|
+
componentId
|
|
55
|
+
} = data;
|
|
56
|
+
if (componentId == null) {
|
|
57
|
+
throw new Error(`setComponentSettings: Invalid \`componentId\`, received: "${componentId}"`);
|
|
58
|
+
}
|
|
59
|
+
const component = (_db$components = db.components)[componentId] ?? (_db$components[componentId] = {
|
|
60
|
+
settings: {}
|
|
61
|
+
});
|
|
62
|
+
(0, _lodash.merge)(component.settings, settings);
|
|
63
|
+
return {
|
|
64
|
+
host,
|
|
65
|
+
settings
|
|
66
|
+
};
|
|
67
|
+
}).persist()];
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=appSettingsMocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_http","require","_lodash","appSettingsMocks","whenRequest","db","global","settings","components","getGlobalSettings","reply","data","host","persist","getComponentSettings","_db$components$compon","componentId","Error","setGlobalSettings","merge","setComponentSettings","_db$components","component"],"sources":["../../../src/testkit/appSettingsMocks.ts"],"sourcesContent":["import {\n getComponentSettings,\n getGlobalSettings,\n setComponentSettings,\n setGlobalSettings,\n} from '@wix/bex-utils/@wix/ambassador-app-settings-v1-settings/http';\nimport { merge } from 'lodash';\n\nexport type Settings = {\n [key: string]: Settings | string | number | boolean | null;\n};\n\nexport interface AppSettings {\n settings: Settings;\n}\n\nexport function appSettingsMocks(\n whenRequest: typeof import('@wix/http-client-testkit/client').whenRequest,\n): import('@wix/http-client-testkit').AnyScenario[] {\n const db = {\n global: {\n settings: {},\n } as AppSettings,\n components: {} as Record<string, AppSettings | undefined>,\n };\n\n return [\n whenRequest(getGlobalSettings)\n .reply(200, async (data) => {\n const { host } = data;\n return {\n host,\n settings: {\n ...db.global.settings,\n },\n };\n })\n .persist(),\n\n whenRequest(getComponentSettings)\n .reply(200, async (data) => {\n const { host, componentId } = data;\n\n if (componentId == null) {\n throw new Error(\n `getComponentSettings: Invalid \\`componentId\\`, received: \"${componentId}\"`,\n );\n }\n\n return {\n host,\n settings: {\n ...db.components[componentId]?.settings,\n },\n };\n })\n .persist(),\n\n whenRequest(setGlobalSettings)\n .reply(200, async (data) => {\n const { host, settings } = data;\n\n merge(db.global.settings, settings);\n\n return {\n host,\n settings,\n };\n })\n .persist(),\n\n whenRequest(setComponentSettings)\n .reply(200, async (data) => {\n const { host, settings, componentId } = data;\n\n if (componentId == null) {\n throw new Error(\n `setComponentSettings: Invalid \\`componentId\\`, received: \"${componentId}\"`,\n );\n }\n\n const component = (db.components[componentId] ??= { settings: {} });\n\n merge(component.settings, settings);\n\n return {\n host,\n settings,\n };\n })\n .persist(),\n ];\n}\n"],"mappings":";;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAMA,IAAAC,OAAA,GAAAD,OAAA;AAUO,SAASE,gBAAgBA,CAC9BC,WAAyE,EACvB;EAClD,MAAMC,EAAE,GAAG;IACTC,MAAM,EAAE;MACNC,QAAQ,EAAE,CAAC;IACb,CAAgB;IAChBC,UAAU,EAAE,CAAC;EACf,CAAC;EAED,OAAO,CACLJ,WAAW,CAACK,uBAAiB,CAAC,CAC3BC,KAAK,CAAC,GAAG,EAAE,MAAOC,IAAI,IAAK;IAC1B,MAAM;MAAEC;IAAK,CAAC,GAAGD,IAAI;IACrB,OAAO;MACLC,IAAI;MACJL,QAAQ,EAAE;QACR,GAAGF,EAAE,CAACC,MAAM,CAACC;MACf;IACF,CAAC;EACH,CAAC,CAAC,CACDM,OAAO,CAAC,CAAC,EAEZT,WAAW,CAACU,0BAAoB,CAAC,CAC9BJ,KAAK,CAAC,GAAG,EAAE,MAAOC,IAAI,IAAK;IAAA,IAAAI,qBAAA;IAC1B,MAAM;MAAEH,IAAI;MAAEI;IAAY,CAAC,GAAGL,IAAI;IAElC,IAAIK,WAAW,IAAI,IAAI,EAAE;MACvB,MAAM,IAAIC,KAAK,CACZ,6DAA4DD,WAAY,GAC3E,CAAC;IACH;IAEA,OAAO;MACLJ,IAAI;MACJL,QAAQ,EAAE;QACR,KAAAQ,qBAAA,GAAGV,EAAE,CAACG,UAAU,CAACQ,WAAW,CAAC,qBAA1BD,qBAAA,CAA4BR,QAAQ;MACzC;IACF,CAAC;EACH,CAAC,CAAC,CACDM,OAAO,CAAC,CAAC,EAEZT,WAAW,CAACc,uBAAiB,CAAC,CAC3BR,KAAK,CAAC,GAAG,EAAE,MAAOC,IAAI,IAAK;IAC1B,MAAM;MAAEC,IAAI;MAAEL;IAAS,CAAC,GAAGI,IAAI;IAE/B,IAAAQ,aAAK,EAACd,EAAE,CAACC,MAAM,CAACC,QAAQ,EAAEA,QAAQ,CAAC;IAEnC,OAAO;MACLK,IAAI;MACJL;IACF,CAAC;EACH,CAAC,CAAC,CACDM,OAAO,CAAC,CAAC,EAEZT,WAAW,CAACgB,0BAAoB,CAAC,CAC9BV,KAAK,CAAC,GAAG,EAAE,MAAOC,IAAI,IAAK;IAAA,IAAAU,cAAA;IAC1B,MAAM;MAAET,IAAI;MAAEL,QAAQ;MAAES;IAAY,CAAC,GAAGL,IAAI;IAE5C,IAAIK,WAAW,IAAI,IAAI,EAAE;MACvB,MAAM,IAAIC,KAAK,CACZ,6DAA4DD,WAAY,GAC3E,CAAC;IACH;IAEA,MAAMM,SAAS,GAAI,CAAAD,cAAA,GAAAhB,EAAE,CAACG,UAAU,EAACQ,WAAW,CAAC,KAA1BK,cAAA,CAAcL,WAAW,CAAC,GAAK;MAAET,QAAQ,EAAE,CAAC;IAAE,CAAC,CAAC;IAEnE,IAAAY,aAAK,EAACG,SAAS,CAACf,QAAQ,EAAEA,QAAQ,CAAC;IAEnC,OAAO;MACLK,IAAI;MACJL;IACF,CAAC;EACH,CAAC,CAAC,CACDM,OAAO,CAAC,CAAC,CACb;AACH"}
|
|
@@ -55,4 +55,10 @@ Object.keys(_createCountriesBackend).forEach(function (key) {
|
|
|
55
55
|
if (key in exports && exports[key] === _createCountriesBackend[key]) return;
|
|
56
56
|
exports[key] = _createCountriesBackend[key];
|
|
57
57
|
});
|
|
58
|
+
var _appSettingsMocks = require("./appSettingsMocks");
|
|
59
|
+
Object.keys(_appSettingsMocks).forEach(function (key) {
|
|
60
|
+
if (key === "default" || key === "__esModule") return;
|
|
61
|
+
if (key in exports && exports[key] === _appSettingsMocks[key]) return;
|
|
62
|
+
exports[key] = _appSettingsMocks[key];
|
|
63
|
+
});
|
|
58
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_product","require","Object","keys","forEach","key","exports","_productFilters","_createProductsBackend","_exportServiceMocks","_flush","_folder","_createFoldersBackend","_country","_createCountriesBackend"],"sources":["../../../src/testkit/index.ts"],"sourcesContent":["export * from './product';\nexport * from './productFilters';\nexport * from './createProductsBackend';\nexport * from './exportServiceMocks';\nexport * from '../test-utils/flush';\nexport * from './folder';\nexport * from './createFoldersBackend';\nexport * from './country';\nexport * from './createCountriesBackend';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_product","require","Object","keys","forEach","key","exports","_productFilters","_createProductsBackend","_exportServiceMocks","_flush","_folder","_createFoldersBackend","_country","_createCountriesBackend","_appSettingsMocks"],"sources":["../../../src/testkit/index.ts"],"sourcesContent":["export * from './product';\nexport * from './productFilters';\nexport * from './createProductsBackend';\nexport * from './exportServiceMocks';\nexport * from '../test-utils/flush';\nexport * from './folder';\nexport * from './createFoldersBackend';\nexport * from './country';\nexport * from './createCountriesBackend';\nexport * from './appSettingsMocks';\n"],"mappings":"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"}
|