@wix/bex-core 2.7.0 → 2.9.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.
Files changed (257) hide show
  1. package/dist/cjs/InMemoryBackend/InMemoryBackend.js.map +1 -1
  2. package/dist/cjs/InMemoryBackend/index.js.map +1 -1
  3. package/dist/cjs/assets/locale/messages_it.json +2 -2
  4. package/dist/cjs/assets/locale/messages_uk.json +2 -2
  5. package/dist/cjs/assets/locale/messages_visuale2e.json +3 -0
  6. package/dist/cjs/exports/InMemoryBackend.js.map +1 -1
  7. package/dist/cjs/exports/bi/index.js.map +1 -1
  8. package/dist/cjs/exports/events.js.map +1 -1
  9. package/dist/cjs/exports/history.js.map +1 -1
  10. package/dist/cjs/exports/mobx.js.map +1 -1
  11. package/dist/cjs/exports/react.js.map +1 -1
  12. package/dist/cjs/exports/testkit/client.js.map +1 -1
  13. package/dist/cjs/exports/testkit/internal.js.map +1 -1
  14. package/dist/cjs/exports/testkit/testkit.js.map +1 -1
  15. package/dist/cjs/exports/util.js.map +1 -1
  16. package/dist/cjs/hooks/collectionConfig.js.map +1 -1
  17. package/dist/cjs/hooks/collectionConfigPartials.js.map +1 -1
  18. package/dist/cjs/hooks/createCollection.js.map +1 -1
  19. package/dist/cjs/hooks/createCollectionConfig.js.map +1 -1
  20. package/dist/cjs/hooks/index.js.map +1 -1
  21. package/dist/cjs/hooks/paginationModeConfig.js.map +1 -1
  22. package/dist/cjs/hooks/useAmbassadorCollection.js.map +1 -1
  23. package/dist/cjs/hooks/useCollection/index.js.map +1 -1
  24. package/dist/cjs/hooks/useCollection/useCollection.js.map +1 -1
  25. package/dist/cjs/hooks/useCollectionPageState.js.map +1 -1
  26. package/dist/cjs/hooks/useEmptyStateTexts.js.map +1 -1
  27. package/dist/cjs/hooks/useExport.js.map +1 -1
  28. package/dist/cjs/hooks/useExportConfig.js.map +1 -1
  29. package/dist/cjs/hooks/useOptimisticActions.js.map +1 -1
  30. package/dist/cjs/hooks/usePicker.js.map +1 -1
  31. package/dist/cjs/index.js.map +1 -1
  32. package/dist/cjs/mocks/PartialWindowMock.js.map +1 -1
  33. package/dist/cjs/mocks/partialLodashMock.js.map +1 -1
  34. package/dist/cjs/model/actionMove.js.map +1 -1
  35. package/dist/cjs/model/arrayField.js.map +1 -1
  36. package/dist/cjs/model/collectionEvents.js.map +1 -1
  37. package/dist/cjs/model/commonTypes.js.map +1 -1
  38. package/dist/cjs/model/computedQuery/computedQuery.js.map +1 -1
  39. package/dist/cjs/model/computedQuery/index.js.map +1 -1
  40. package/dist/cjs/model/computedResult.js.map +1 -1
  41. package/dist/cjs/model/dataCapsule.js.map +1 -1
  42. package/dist/cjs/model/dataResultRaw/dataResultRaw.js.map +1 -1
  43. package/dist/cjs/model/dataResultRaw/index.js.map +1 -1
  44. package/dist/cjs/model/fetchDataFn.js.map +1 -1
  45. package/dist/cjs/model/filter.js.map +1 -1
  46. package/dist/cjs/model/fqdn.js.map +1 -1
  47. package/dist/cjs/model/httpClient.js.map +1 -1
  48. package/dist/cjs/model/index.js.map +1 -1
  49. package/dist/cjs/model/keyedItem.js.map +1 -1
  50. package/dist/cjs/model/queryOptions.js.map +1 -1
  51. package/dist/cjs/model/queryResult.js.map +1 -1
  52. package/dist/cjs/model/queryResultStatus.js.map +1 -1
  53. package/dist/cjs/model/queryStatus.js.map +1 -1
  54. package/dist/cjs/model/taskStatus.js.map +1 -1
  55. package/dist/cjs/model/toast.js.map +1 -1
  56. package/dist/cjs/model/wixPatternsEnvironment.js.map +1 -1
  57. package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
  58. package/dist/cjs/model/wixPatternsInitialProps.js.map +1 -1
  59. package/dist/cjs/providers/CairoProvider/CairoProvider.js +1 -1
  60. package/dist/cjs/providers/CairoProvider/CairoProvider.js.map +1 -1
  61. package/dist/cjs/providers/CairoProvider/index.js.map +1 -1
  62. package/dist/cjs/providers/CollectionContext.js.map +1 -1
  63. package/dist/cjs/providers/CollectionPageContext.js.map +1 -1
  64. package/dist/cjs/providers/FormWidgetContext.js.map +1 -1
  65. package/dist/cjs/providers/PageContext.js.map +1 -1
  66. package/dist/cjs/providers/WixPatternsContainerOverridesContext.js.map +1 -1
  67. package/dist/cjs/providers/WixPatternsContainerProvider/WixPatternsContainerProvider.js.map +1 -1
  68. package/dist/cjs/providers/WixPatternsContainerProvider/index.js.map +1 -1
  69. package/dist/cjs/providers/WixPatternsInitialPropsProvider.js.map +1 -1
  70. package/dist/cjs/providers/createContext.js.map +1 -1
  71. package/dist/cjs/providers/index.js.map +1 -1
  72. package/dist/cjs/services/AccountPreferencesMergeStrategy.js.map +1 -1
  73. package/dist/cjs/services/AccountPreferencesStrategy.js.map +1 -1
  74. package/dist/cjs/services/AppSettingsCapsule.js.map +1 -1
  75. package/dist/cjs/services/DataCapsuleMergeStrategy.js.map +1 -1
  76. package/dist/cjs/services/ModalLayoutProps.js.map +1 -1
  77. package/dist/cjs/services/MonitorLogger.js.map +1 -1
  78. package/dist/cjs/services/WixPatternsError.js.map +1 -1
  79. package/dist/cjs/services/WixPatternsErrorCode.js.map +1 -1
  80. package/dist/cjs/services/cairoMonitor.js.map +1 -1
  81. package/dist/cjs/services/cairoTranslations.js.map +1 -1
  82. package/dist/cjs/services/createAccountComponentSettings.js.map +1 -1
  83. package/dist/cjs/services/createAppSettingsCapsule.js.map +1 -1
  84. package/dist/cjs/services/createComponentSettings.js.map +1 -1
  85. package/dist/cjs/services/dataExtensionService.js.map +1 -1
  86. package/dist/cjs/services/environment.js.map +1 -1
  87. package/dist/cjs/services/experiments.js.map +1 -1
  88. package/dist/cjs/services/fetchTranslations.js.map +1 -1
  89. package/dist/cjs/services/fetchTranslationsPreBundled.js.map +1 -1
  90. package/dist/cjs/services/focusManager.js.map +1 -1
  91. package/dist/cjs/services/getErrorMonitorCompat.js.map +1 -1
  92. package/dist/cjs/services/history.js.map +1 -1
  93. package/dist/cjs/services/index.js.map +1 -1
  94. package/dist/cjs/services/mapGuidComponentIdToNonGuid.js.map +1 -1
  95. package/dist/cjs/services/navigationManager.js +17 -4
  96. package/dist/cjs/services/navigationManager.js.map +1 -1
  97. package/dist/cjs/services/onlineManager.js.map +1 -1
  98. package/dist/cjs/services/partialLodash.js.map +1 -1
  99. package/dist/cjs/services/partialWindow.js.map +1 -1
  100. package/dist/cjs/services/replaceSearchParamsWith.js.map +1 -1
  101. package/dist/cjs/services/reportBi.js.map +1 -1
  102. package/dist/cjs/services/translations.js.map +1 -1
  103. package/dist/cjs/services/translationsImportsMap.js +1 -1
  104. package/dist/cjs/services/translationsImportsMap.js.map +1 -1
  105. package/dist/cjs/state/AppsState.js +100 -0
  106. package/dist/cjs/state/AppsState.js.map +1 -0
  107. package/dist/cjs/state/ArrayFilterState/ArrayFilterState.js.map +1 -1
  108. package/dist/cjs/state/ArrayFilterState/index.js.map +1 -1
  109. package/dist/cjs/state/BeforeUnloadCompatState.js.map +1 -1
  110. package/dist/cjs/state/BulkActionModalState.js.map +1 -1
  111. package/dist/cjs/state/BulkSelectState.js.map +1 -1
  112. package/dist/cjs/state/CollectionBIReporter.js.map +1 -1
  113. package/dist/cjs/state/CollectionOptimisticActions.js.map +1 -1
  114. package/dist/cjs/state/CollectionOptimisticActionsState.js.map +1 -1
  115. package/dist/cjs/state/CollectionOptimisticExecutor.js.map +1 -1
  116. package/dist/cjs/state/CollectionOptimisticHelpers.js.map +1 -1
  117. package/dist/cjs/state/CollectionOptimisticPatch.js.map +1 -1
  118. package/dist/cjs/state/CollectionOptimisticProcessor.js.map +1 -1
  119. package/dist/cjs/state/CollectionOptimisticSequenceExecutor.js.map +1 -1
  120. package/dist/cjs/state/CollectionPageState.js.map +1 -1
  121. package/dist/cjs/state/CollectionState.js.map +1 -1
  122. package/dist/cjs/state/ConditionalModalState.js.map +1 -1
  123. package/dist/cjs/state/CustomFieldModalBiReporter.js.map +1 -1
  124. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  125. package/dist/cjs/state/CustomFieldsViewWidgetState.js +34 -1
  126. package/dist/cjs/state/CustomFieldsViewWidgetState.js.map +1 -1
  127. package/dist/cjs/state/CustomFilterState/CustomFilterState.js.map +1 -1
  128. package/dist/cjs/state/CustomFilterState/index.js.map +1 -1
  129. package/dist/cjs/state/DataExtension/DataExtensionField.js.map +1 -1
  130. package/dist/cjs/state/DataExtensionState.js +16 -7
  131. package/dist/cjs/state/DataExtensionState.js.map +1 -1
  132. package/dist/cjs/state/DataExtensionStateBIReporter.js.map +1 -1
  133. package/dist/cjs/state/ExportJobState.js.map +1 -1
  134. package/dist/cjs/state/ExportState.js.map +1 -1
  135. package/dist/cjs/state/ExportStateBIReporter.js.map +1 -1
  136. package/dist/cjs/state/FedopsReporter.js.map +1 -1
  137. package/dist/cjs/state/FormPageState.js.map +1 -1
  138. package/dist/cjs/state/ModalState.js.map +1 -1
  139. package/dist/cjs/state/MultiCollectionSupport.js.map +1 -1
  140. package/dist/cjs/state/OnlineState.js.map +1 -1
  141. package/dist/cjs/state/PageState.js.map +1 -1
  142. package/dist/cjs/state/Pagination.js.map +1 -1
  143. package/dist/cjs/state/PaginationMode.js.map +1 -1
  144. package/dist/cjs/state/PaginationModeCursor.js.map +1 -1
  145. package/dist/cjs/state/PaginationModeOffset.js.map +1 -1
  146. package/dist/cjs/state/PickerState.js.map +1 -1
  147. package/dist/cjs/state/PromiseState.js.map +1 -1
  148. package/dist/cjs/state/PromisesSequence.js.map +1 -1
  149. package/dist/cjs/state/PromisesState.js.map +1 -1
  150. package/dist/cjs/state/QueryHistoryState.js.map +1 -1
  151. package/dist/cjs/state/QueryPendingState.js.map +1 -1
  152. package/dist/cjs/state/QueryPendingStateBIReporter.js.map +1 -1
  153. package/dist/cjs/state/QueryResultSimulation.js.map +1 -1
  154. package/dist/cjs/state/QueryResultSimulationDefault.js.map +1 -1
  155. package/dist/cjs/state/QueryResultState.js.map +1 -1
  156. package/dist/cjs/state/QueryState.js.map +1 -1
  157. package/dist/cjs/state/RangeFilterState/RangeFilterState.js.map +1 -1
  158. package/dist/cjs/state/RangeFilterState/dateRangeUtils.js.map +1 -1
  159. package/dist/cjs/state/RangeFilterState/index.js.map +1 -1
  160. package/dist/cjs/state/RefObject.js.map +1 -1
  161. package/dist/cjs/state/ReturnFocus.js.map +1 -1
  162. package/dist/cjs/state/SelectMapState.js.map +1 -1
  163. package/dist/cjs/state/SelectState.js.map +1 -1
  164. package/dist/cjs/state/SelectionStatus.js.map +1 -1
  165. package/dist/cjs/state/SelectionStatusWixPatternsPreset.js.map +1 -1
  166. package/dist/cjs/state/SidePanelState.js.map +1 -1
  167. package/dist/cjs/state/SortState.js.map +1 -1
  168. package/dist/cjs/state/StringFilterState/StringFilterState.js.map +1 -1
  169. package/dist/cjs/state/StringFilterState/index.js.map +1 -1
  170. package/dist/cjs/state/TagsState/TagsAssignmentState.js.map +1 -1
  171. package/dist/cjs/state/TagsState/TagsBIReporter.js.map +1 -1
  172. package/dist/cjs/state/TagsState/TagsFormState.js.map +1 -1
  173. package/dist/cjs/state/TagsState/TagsManagementState.js.map +1 -1
  174. package/dist/cjs/state/TagsState/TagsSearchState.js.map +1 -1
  175. package/dist/cjs/state/TagsState/TagsWidgetState.js.map +1 -1
  176. package/dist/cjs/state/TagsState/index.js.map +1 -1
  177. package/dist/cjs/state/TagsState/tagsTypes.js.map +1 -1
  178. package/dist/cjs/state/TaskState.js.map +1 -1
  179. package/dist/cjs/state/TextOverflowState.js.map +1 -1
  180. package/dist/cjs/state/ToggleState.js.map +1 -1
  181. package/dist/cjs/state/TransitionState.js.map +1 -1
  182. package/dist/cjs/state/ValueBox.js.map +1 -1
  183. package/dist/cjs/state/WixPatternsContainer.js.map +1 -1
  184. package/dist/cjs/state/buildWixPatternsContainer.js.map +1 -1
  185. package/dist/cjs/state/getJobItemsAbsoluteCounter.js.map +1 -1
  186. package/dist/cjs/state/index.js.map +1 -1
  187. package/dist/cjs/state/mutationObserverCompat.js.map +1 -1
  188. package/dist/cjs/state/onItemsCreated.js.map +1 -1
  189. package/dist/cjs/state/optimistic-simulation/filterPageByPatches.js.map +1 -1
  190. package/dist/cjs/state/optimistic-simulation/index.js.map +1 -1
  191. package/dist/cjs/state/optimistic-simulation/mergePatchedItems.js.map +1 -1
  192. package/dist/cjs/state/optimistic-simulation/orderByMoves.js.map +1 -1
  193. package/dist/cjs/state/optimistic-simulation/orderByOrders.js.map +1 -1
  194. package/dist/cjs/state/optimistic-simulation/prepareItemsToMergeIntoPage.js.map +1 -1
  195. package/dist/cjs/state/optimistic-simulation/transformItemByUpdateAllPatches.js.map +1 -1
  196. package/dist/cjs/state/optimistic-simulation/trimAddedItemsFromPagePredicate.js.map +1 -1
  197. package/dist/cjs/state/resizeObserverCompat.js.map +1 -1
  198. package/dist/cjs/state/snapshot.js.map +1 -1
  199. package/dist/cjs/state/useExperimentsCompat.js.map +1 -1
  200. package/dist/cjs/state/warmUpPickerStandalone.js.map +1 -1
  201. package/dist/cjs/test-utils/flush.js.map +1 -1
  202. package/dist/cjs/test-utils/index.js.map +1 -1
  203. package/dist/cjs/test-utils/jest.js.map +1 -1
  204. package/dist/cjs/testkit/ProductsCollectionState.driver.js.map +1 -1
  205. package/dist/cjs/testkit/WixPatternsContainer.driver.js +11 -10
  206. package/dist/cjs/testkit/WixPatternsContainer.driver.js.map +1 -1
  207. package/dist/cjs/testkit/appSettingsMocks.js.map +1 -1
  208. package/dist/cjs/testkit/client.js.map +1 -1
  209. package/dist/cjs/testkit/country.js.map +1 -1
  210. package/dist/cjs/testkit/createCountriesBackend.js.map +1 -1
  211. package/dist/cjs/testkit/createFoldersBackend.js.map +1 -1
  212. package/dist/cjs/testkit/createProductsBackend.js.map +1 -1
  213. package/dist/cjs/testkit/exportServiceMocks.js.map +1 -1
  214. package/dist/cjs/testkit/folder.js.map +1 -1
  215. package/dist/cjs/testkit/folderFilters.js.map +1 -1
  216. package/dist/cjs/testkit/index.js.map +1 -1
  217. package/dist/cjs/testkit/internal.js.map +1 -1
  218. package/dist/cjs/testkit/matchMediaMock.js.map +1 -1
  219. package/dist/cjs/testkit/nestifyItems.js.map +1 -1
  220. package/dist/cjs/testkit/product.js.map +1 -1
  221. package/dist/cjs/testkit/productFilters.js.map +1 -1
  222. package/dist/cjs/util/OfflineError.js.map +1 -1
  223. package/dist/cjs/util/addEventListener.js.map +1 -1
  224. package/dist/cjs/util/assertKey.js.map +1 -1
  225. package/dist/cjs/util/index.js.map +1 -1
  226. package/dist/cjs/util/isHttpError.js.map +1 -1
  227. package/dist/cjs/util/parseFqdn.js.map +1 -1
  228. package/dist/cjs/util/shouldRedirectToLogin.js.map +1 -1
  229. package/dist/cjs/util/showToastCompat.js.map +1 -1
  230. package/dist/cjs/util/slugify.js.map +1 -1
  231. package/dist/cjs/util/syncWithSharedQuery.js.map +1 -1
  232. package/dist/cjs/util/typedEmitter.js.map +1 -1
  233. package/dist/cjs/util/withoutDefaults.js.map +1 -1
  234. package/dist/esm/assets/locale/messages_it.json +2 -2
  235. package/dist/esm/assets/locale/messages_uk.json +2 -2
  236. package/dist/esm/assets/locale/messages_visuale2e.json +3 -0
  237. package/dist/esm/services/navigationManager.js +15 -4
  238. package/dist/esm/services/navigationManager.js.map +1 -1
  239. package/dist/esm/state/AppsState.js +89 -0
  240. package/dist/esm/state/AppsState.js.map +1 -0
  241. package/dist/esm/state/CustomFieldsViewWidgetState.js +36 -1
  242. package/dist/esm/state/CustomFieldsViewWidgetState.js.map +1 -1
  243. package/dist/esm/state/DataExtensionState.js +18 -10
  244. package/dist/esm/state/DataExtensionState.js.map +1 -1
  245. package/dist/esm/testkit/WixPatternsContainer.driver.js +12 -11
  246. package/dist/esm/testkit/WixPatternsContainer.driver.js.map +1 -1
  247. package/dist/types/services/navigationManager.d.ts +12 -6
  248. package/dist/types/services/navigationManager.d.ts.map +1 -1
  249. package/dist/types/state/AppsState.d.ts +20 -0
  250. package/dist/types/state/AppsState.d.ts.map +1 -0
  251. package/dist/types/state/CustomFieldsViewWidgetState.d.ts +6 -0
  252. package/dist/types/state/CustomFieldsViewWidgetState.d.ts.map +1 -1
  253. package/dist/types/state/DataExtensionState.d.ts +7 -1
  254. package/dist/types/state/DataExtensionState.d.ts.map +1 -1
  255. package/dist/types/testkit/WixPatternsContainer.driver.d.ts +1 -1
  256. package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
  257. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_http","require","_types","_mobx","_model","_services","_mapValues","_interopRequireDefault","_events","_ExportStateBIReporter","_getJobItemsAbsoluteCounter","defaultPlatformizedQuery","filter","sort","ExportState","constructor","props","_defineProperty2","default","queryStatus","idle","pollingDelay","stateJob","maxPolling","maxRetries","queryJobRetries","delay","max","iterationsCount","pollCount","retries","count","EventEmitter","selected","action","collection","bulkSelect","selectedCountOrTotal","filtered","result","total","supportTotal","all","allItemsQuery","query","asComputed","filtersKey","mapValues","customFilters","undefined","rawFilters","filters","queryKey","_queryKey","allItemsQueryResult","queryClient","fetchQuery","queryFn","_queryFn","e","preventDefault","returnValue","customTotal","differentQueryEndpointThanCollection","translate","createExportAsyncJobRequest","saveAs","window","httpClient","onlineState","exportModalState","collectionPageState","showToast","internalMonitor","reportBi","disabledRadios","transformPlatformizedQuery","bi","ExportStateBIReporter","makeObservable","exportStatus","observable","ref","iterationsCountPoll","isExporting","computed","totalForExport","selectedExportOption","counter","absoluteCounter","onExportToClick","bound","onExportCloseAttemptClick","onCancelExportCloseButtonClick","onCancelExportGoBackButtonClick","onExportSecondaryActionAttempt","onRetryExportToClick","onFailedClose","onFailedCancel","onCancelClick","onCloseClick","init","setTotalForExport","onExportTypeChange","hasFilters","totalForExportMap","hasSelectedRows","isAllSelected","currentStep","_onJobSuccess","_checkIfStaleJob","_throwJobError","_updateJobProgress","isModalOpen","isOpen","isLoading","isSuccess","_cancelJob","_reset","prev","next","_this$maybeToast","maybeToast","remove","clickOpenModal","onOnlineChanged","isOnline","events","emit","on","removeEventListener","beforeunload","removeAllListeners","off","hasActiveFilters","selectedIds","length","allSelected","totalForExportGettersMap","params","collectionTotalPromise","runInAction","close","onCancelExportVerifyButtonClick","onCancelExportButtonClick","onExportCancelAttemptClick","exportStartTime","performance","now","interactionStarted","reportExportEnd","onExportStart","_exportTo","onExportEnd","interactionEnded","job","_job$data","_this$showToast","t","data","signedUrl","once","Promise","resolve","setTimeout","success","_updateAbsoluteCounter","res","biState","beforeToast","call","message","biName","timeout","type","onToastDismissed","by","text","uiType","navigationTarget","url","openInNewTab","onClick","onToastActionClick","download","then","_job$data2","_job$data3","_job$data4","error","applicationError","code","Object","assign","Error","response","_job$data5","_job$data6","status","JobStatus","FINISHED","_job$data7","completionStep","config","_job$data8","newAbsoluteCounter","getJobItemsAbsoluteCounter","Math","floor","random","newCounter","round","_poll","jobId","current","_job$data$error","currentJob","promise","getExportAsyncJobResponse","request","getExportAsyncJob","catch","WixPatternsError","errorCode","originalException","extraData","loading","FAILED","_job$data$error2","checkIfStaleJobResult","_job$data9","_job$data10","pagingMetadata","console","reportError","_this$saveAs","addEventListener","platformizedQuery","selectAll","uncheckedInCurrentCollection","uncheckedValues","computedQuery","wixPatternsQuery","exportPublicState","selectedItems","isSelectAll","totalForExportPromise","pageTitle","_createExport","createExportAsyncJobResponse","createExportAsyncJob","fields","methodMetadata","err","_createExportAsyncJob","id","_createExportAsyncJob2","exports"],"sources":["../../../src/state/ExportState.ts"],"sourcesContent":["import {\n createExportAsyncJob,\n getExportAsyncJob,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/http';\nimport {\n CreateExportAsyncJobRequest,\n ExportAsyncJob,\n ExportQueryV2 as QueryV2,\n Status as JobStatus,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport {\n WixPatternsEssentials,\n ComputedQueryFull,\n FiltersMap,\n queryStatus,\n ShowToast,\n TaskStatus,\n} from '../model';\nimport {\n WixPatternsError,\n WixPatternsMonitor,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../services';\nimport { CollectionState } from './CollectionState';\nimport mapValues from 'lodash/mapValues';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { ExportStateBIReporter } from './ExportStateBIReporter';\nimport { ModalState } from './ModalState';\nimport { getJobItemsAbsoluteCounter } from './getJobItemsAbsoluteCounter';\nimport { ExportJobStateParams } from './ExportJobState';\nimport { ErrorDetails } from '../util/isHttpError';\nimport { OnlineState } from './OnlineState';\nimport { CollectionPageState } from './CollectionPageState';\n\nfunction defaultPlatformizedQuery(): QueryV2 {\n return {\n filter: {},\n sort: [],\n };\n}\n\ninterface ExportPublicState<T, F extends FiltersMap> {\n platformizedQuery: QueryV2;\n wixPatternsQuery: ComputedQueryFull<F>;\n selectedItems?: string[];\n isSelectAll: boolean;\n uncheckedValues?: T[];\n}\n\nexport type CustomTotalFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F> & {\n collectionTotalPromise: number | null | Promise<number | null | undefined>;\n },\n) => number | null | undefined | Promise<number | null | undefined>;\n\nexport type TransformQuery<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => QueryV2 | Promise<QueryV2>;\n\nexport type SaveAsFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => string;\n\nexport interface ExportStateProps<T, F extends FiltersMap> {\n transformPlatformizedQuery?: TransformQuery<T, F>;\n differentQueryEndpointThanCollection?: boolean;\n customTotal?: CustomTotalFn<T, F>;\n\n createExportAsyncJobRequest: Partial<CreateExportAsyncJobRequest>;\n saveAs?: SaveAsFn<T, F>;\n\n httpClient: WixPatternsEssentials['httpClient'];\n showToast?: ShowToast;\n translate: Translate;\n collection: CollectionState<T, F>;\n reportBi: ReportBI;\n onlineState: OnlineState;\n internalMonitor: WixPatternsMonitor;\n\n exportModalState: ModalState;\n collectionPageState: CollectionPageState;\n window: PartialWindow;\n}\n\nexport type SelectedExportOption = 'all' | 'selected' | 'filtered';\n\nexport class ExportState<T, F extends FiltersMap> {\n exportStatus: TaskStatus<ExportAsyncJob, unknown> = {\n ...queryStatus.idle,\n };\n\n readonly config = {\n pollingDelay: 2000,\n stateJob: {\n maxPolling: 14,\n maxRetries: 1,\n },\n queryJobRetries: {\n delay: 5000,\n max: 4,\n },\n };\n\n exportStartTime: number = 0;\n totalForExport: number | undefined | null = null;\n selectedExportOption: SelectedExportOption = 'all';\n disabledRadios: SelectedExportOption[];\n maybeToast?: { remove: () => void };\n iterationsCountPoll: {\n iterationsCount?: number;\n pollCount: number;\n retries: number;\n } = {\n iterationsCount: 0,\n pollCount: 0,\n retries: 0,\n };\n\n queryJobRetries: {\n count: number;\n } = {\n count: 0,\n };\n\n readonly differentQueryEndpointThanCollection;\n readonly customTotal;\n readonly translate;\n readonly createExportAsyncJobRequest;\n readonly saveAs;\n readonly window;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineState;\n readonly exportModalState;\n readonly collectionPageState;\n readonly transformPlatformizedQuery?: ExportStateProps<\n T,\n F\n >['transformPlatformizedQuery'];\n readonly showToast;\n readonly internalMonitor;\n readonly collection;\n readonly reportBi;\n readonly bi;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n afterJobCreated: (params: { job: ExportAsyncJob }) => unknown;\n undoCancel: () => unknown;\n online: () => unknown;\n }>;\n\n counter = 0;\n absoluteCounter = 0;\n retries = 0;\n\n constructor(props: ExportStateProps<T, F>) {\n this.customTotal = props.customTotal;\n this.differentQueryEndpointThanCollection =\n props.differentQueryEndpointThanCollection;\n this.translate = props.translate;\n this.createExportAsyncJobRequest = props.createExportAsyncJobRequest;\n this.saveAs = props.saveAs;\n this.window = props.window;\n this.httpClient = props.httpClient;\n this.onlineState = props.onlineState;\n this.exportModalState = props.exportModalState;\n this.collectionPageState = props.collectionPageState;\n this.showToast = props.showToast;\n this.internalMonitor = props.internalMonitor;\n this.collection = props.collection;\n this.reportBi = props.reportBi;\n this.disabledRadios = [];\n this.transformPlatformizedQuery = props.transformPlatformizedQuery;\n\n this.bi = new ExportStateBIReporter(this);\n makeObservable(this, {\n exportStatus: observable.ref,\n iterationsCountPoll: observable.ref,\n isExporting: computed,\n totalForExport: observable.ref,\n selectedExportOption: observable.ref,\n disabledRadios: observable.ref,\n counter: observable.ref,\n absoluteCounter: observable.ref,\n onExportToClick: action.bound,\n onExportCloseAttemptClick: action.bound,\n onCancelExportCloseButtonClick: action.bound,\n onCancelExportGoBackButtonClick: action.bound,\n onExportSecondaryActionAttempt: action.bound,\n onRetryExportToClick: action.bound,\n onFailedClose: action.bound,\n onFailedCancel: action.bound,\n onCancelClick: action.bound,\n onCloseClick: action.bound,\n init: action.bound,\n setTotalForExport: action,\n onExportTypeChange: action,\n hasFilters: computed,\n totalForExportMap: computed,\n hasSelectedRows: computed,\n isAllSelected: computed,\n currentStep: observable.ref,\n _onJobSuccess: action,\n _checkIfStaleJob: action,\n _throwJobError: action,\n _updateJobProgress: action,\n });\n }\n\n get isModalOpen() {\n return this.exportModalState.isOpen;\n }\n\n currentStep: 'config' | 'progress' | 'error' | 'cancel' = 'config';\n\n get isExporting() {\n const { exportStatus } = this;\n return exportStatus.isLoading || exportStatus.isSuccess;\n }\n\n _cancelJob() {\n // const { events } = this;\n // events.once('afterJobCreated', ({ job }) => {\n // const { httpClient } = this;\n // httpClient.request(\n // cancelExportAsyncJob({\n // jobId: job.id as string,\n // }),\n // );\n // });\n }\n\n _reset() {\n this.exportStatus = {\n ...queryStatus.idle,\n };\n this.currentStep = 'config';\n this.counter = 0;\n this.absoluteCounter = 0;\n this.totalForExport = null;\n }\n\n onExportTypeChange(selectedExportOption: SelectedExportOption) {\n this.bi.onExportTypeChange({\n prev: this.selectedExportOption,\n next: selectedExportOption,\n });\n this.selectedExportOption = selectedExportOption;\n }\n\n init() {\n const { onlineState } = this;\n this.maybeToast?.remove();\n\n if (this.hasSelectedRows) {\n this.disabledRadios = this.hasFilters ? [] : ['filtered'];\n this.selectedExportOption = 'selected';\n } else if (this.hasFilters) {\n this.disabledRadios = ['selected'];\n this.selectedExportOption = 'filtered';\n } else {\n this.disabledRadios = ['selected', 'filtered'];\n this.selectedExportOption = 'all';\n }\n\n this.bi.clickOpenModal();\n\n const onOnlineChanged = action((isOnline: boolean) => {\n if (isOnline && this.currentStep === 'error') {\n this.currentStep = 'progress';\n this.events.emit('online');\n }\n });\n\n onlineState.events.on('change', onOnlineChanged);\n\n return () => {\n window.removeEventListener('beforeunload', this.beforeunload);\n this.events.removeAllListeners('undoCancel');\n this.events.removeAllListeners('online');\n onlineState.events.off('change', onOnlineChanged);\n };\n }\n\n get hasFilters() {\n return this.collection.query.hasActiveFilters;\n }\n\n get hasSelectedRows() {\n return (\n this.collection.bulkSelect.selectedIds.length !== undefined &&\n this.collection.bulkSelect.selectedIds.length > 0\n );\n }\n\n get isAllSelected() {\n return this.collection.bulkSelect.allSelected;\n }\n\n get totalForExportMap() {\n return {\n selected: this.totalForExportGettersMap.selected(),\n filtered: this.totalForExportGettersMap.filtered(),\n };\n }\n\n readonly totalForExportGettersMap = {\n selected: action(() => {\n const { collection } = this;\n\n const {\n bulkSelect: { selectedCountOrTotal },\n } = collection;\n\n return selectedCountOrTotal;\n }),\n filtered: action(() => {\n const { collection } = this;\n const {\n result: { total, supportTotal },\n } = collection;\n\n if (!supportTotal) {\n return null;\n }\n\n return total;\n }),\n all: action(async () => {\n const { collection } = this;\n\n const allItemsQuery = {\n ...collection.query.asComputed,\n filtersKey: mapValues(collection.query.customFilters, (filter) =>\n filter != null ? null : undefined,\n ),\n rawFilters: {},\n filters: {},\n };\n\n const queryKey = collection._queryKey(allItemsQuery);\n\n const allItemsQueryResult = await collection.queryClient.fetchQuery({\n queryFn: () => collection._queryFn(allItemsQuery),\n queryKey,\n });\n\n return allItemsQueryResult.total;\n }),\n };\n\n async setTotalForExport(params: ExportPublicState<T, F>) {\n const { selectedExportOption, collection } = this;\n const {\n result: { supportTotal },\n } = collection;\n\n if (this.differentQueryEndpointThanCollection === true) {\n return;\n }\n\n const collectionTotalPromise = (() => {\n if (selectedExportOption === 'selected') {\n return this.totalForExportGettersMap.selected();\n }\n\n if (selectedExportOption === 'filtered' && supportTotal) {\n return this.totalForExportGettersMap.filtered();\n }\n\n return this.totalForExportGettersMap.all();\n })();\n\n if (this.customTotal) {\n const totalForExport = await this.customTotal({\n ...params,\n collectionTotalPromise,\n });\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n return;\n }\n\n const totalForExport = await collectionTotalPromise;\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n }\n\n onCancelClick() {\n const { bi, exportModalState } = this;\n bi.onCancelClick();\n exportModalState.close();\n }\n\n onCancelExportVerifyButtonClick() {\n const { bi, exportModalState } = this;\n bi.onCancelExportButtonClick();\n exportModalState.close();\n }\n\n onCancelExportGoBackButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportGoBackButtonClick();\n events.emit('undoCancel');\n }\n\n onCancelExportCloseButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportCloseButtonClick();\n events.emit('undoCancel');\n }\n\n onExportCloseAttemptClick() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCloseAttemptClick();\n }\n\n onExportSecondaryActionAttempt() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCancelAttemptClick();\n }\n\n onCloseClick() {\n const { bi, exportModalState } = this;\n bi.onCloseClick();\n exportModalState.close();\n }\n\n async onExportToClick() {\n const { internalMonitor, bi } = this;\n this.retries += 1;\n this.iterationsCountPoll = {\n iterationsCount: 0,\n retries: 0,\n pollCount: 0,\n };\n this.queryJobRetries = {\n count: 0,\n };\n this.exportStartTime = performance.now();\n internalMonitor.interactionStarted('export-to');\n bi.onExportToClick();\n const reportExportEnd = bi.onExportStart();\n this._exportTo({\n onExportEnd: action((params) => {\n if (params.result !== 'fail') {\n internalMonitor.interactionEnded('export-to');\n }\n\n reportExportEnd(params);\n }),\n });\n }\n\n beforeunload = (e: BeforeUnloadEvent) => {\n e.preventDefault();\n e.returnValue = '';\n };\n\n async onRetryExportToClick() {\n const { bi } = this;\n bi.onRetryExportToClick();\n await this.onExportToClick();\n }\n\n async onFailedClose() {\n const { bi, exportModalState } = this;\n bi.onFailedClose();\n exportModalState.close();\n }\n\n async onFailedCancel() {\n const { bi, exportModalState } = this;\n bi.onFailedCancel();\n exportModalState.close();\n }\n\n async _onJobSuccess(job: ExportAsyncJob, params: ExportJobStateParams) {\n const { events, exportModalState, translate: t } = this;\n const { onExportEnd, query, saveAs } = params;\n\n if (job.data?.signedUrl == null) {\n return;\n }\n\n if (this.currentStep === 'cancel') {\n events.once('undoCancel', async () => {\n await new Promise((resolve) => setTimeout(resolve, 1000));\n return this._onJobSuccess(job, { onExportEnd, query, saveAs });\n });\n return;\n }\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.success,\n data: job,\n };\n this.counter = 100;\n this._updateAbsoluteCounter(job, params);\n });\n\n window.removeEventListener('beforeunload', this.beforeunload);\n await new Promise((res) => setTimeout(res, 1000)); // wait bit before starting the download for the progress indication animation completes\n\n const signedUrl = job.data.signedUrl;\n\n onExportEnd({ job, query, result: 'success', saveAs });\n const biState = this.bi.beforeToast();\n\n const maybeToast = this.showToast?.({\n message: t('cairo.export.successMessage'),\n biName: 'cairo-export-success-toast',\n timeout: 'NONE',\n type: 'SUCCESS',\n onCloseClick: () => {\n this.bi.onToastDismissed({\n ...biState,\n by: 'manual',\n });\n this.maybeToast = undefined;\n },\n action: {\n text: t('cairo.export.downloadManually'),\n uiType: 'LINK',\n navigationTarget: {\n url: signedUrl,\n openInNewTab: true,\n },\n onClick: () => {\n this.bi.onToastActionClick(biState);\n this.maybeToast = undefined;\n },\n },\n });\n\n this.maybeToast = maybeToast;\n\n this.window.download(signedUrl, saveAs);\n\n if (maybeToast) {\n new Promise((resolve) => setTimeout(resolve, 6000)).then(() => {\n if (maybeToast === this.maybeToast) {\n maybeToast.remove();\n this.bi.onToastDismissed({\n ...biState,\n by: 'automatic',\n });\n }\n });\n }\n\n exportModalState.close();\n }\n\n _throwJobError(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n if (job.data?.error?.applicationError?.code === 'job_cancelled_by_client') {\n onExportEnd({ job, query, result: 'stopped by user' });\n\n return;\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(\n new Error(`ExportAsyncJob.${job.data?.error?.applicationError?.code}`),\n {\n response: {\n data: job.data?.error,\n },\n job,\n query,\n },\n );\n }\n\n _checkIfStaleJob(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n const { internalMonitor } = this;\n\n if (job.status === JobStatus.FINISHED && !job.data?.signedUrl) {\n internalMonitor.interactionStarted(\n 'export-to-finished-without-download-url',\n );\n internalMonitor.interactionEnded(\n 'export-to-finished-without-download-url',\n );\n }\n\n if (\n job.data?.iterationsCount === this.iterationsCountPoll.iterationsCount\n ) {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n pollCount: this.iterationsCountPoll.pollCount + 1,\n };\n\n if (\n job.data?.completionStep !== 'upload' &&\n this.iterationsCountPoll.pollCount > this.config.stateJob.maxPolling\n ) {\n if (\n this.iterationsCountPoll.retries < this.config.stateJob.maxRetries\n ) {\n internalMonitor.interactionStarted('export-to-max-polling-stale-job');\n internalMonitor.interactionEnded('export-to-max-polling-stale-job');\n runInAction(() => {\n this.iterationsCountPoll = {\n iterationsCount: 0,\n pollCount: 0,\n retries: this.iterationsCountPoll.retries + 1,\n };\n });\n window.removeEventListener('beforeunload', this.beforeunload);\n this._exportTo({ onExportEnd });\n return 'restarted';\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(new Error('ExportAsyncJob.max_polling_stale_job'), {\n response: {\n data: {\n applicationError: {\n code: 'max_polling_stale_job',\n },\n } as ErrorDetails,\n },\n });\n }\n } else {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n iterationsCount: job.data?.iterationsCount,\n pollCount: 1,\n };\n }\n\n return;\n }\n\n _updateAbsoluteCounter(job: ExportAsyncJob, { query }: ExportJobStateParams) {\n if (job?.data == null) {\n return;\n }\n\n const { totalForExport } = this;\n\n const newAbsoluteCounter = getJobItemsAbsoluteCounter(job, {\n query,\n totalForExport,\n });\n\n this.absoluteCounter =\n totalForExport != null &&\n newAbsoluteCounter >= totalForExport &&\n !this.exportStatus.isSuccess\n ? this.absoluteCounter +\n Math.floor(\n Math.random() * (newAbsoluteCounter - this.absoluteCounter),\n )\n : newAbsoluteCounter;\n }\n\n _updateJobProgress(job: ExportAsyncJob, params: ExportJobStateParams) {\n this._updateAbsoluteCounter(job, params);\n\n const { totalForExport } = this;\n if (totalForExport) {\n if (this.absoluteCounter) {\n const newCounter = Math.round(\n (this.absoluteCounter / totalForExport) * 100,\n );\n\n this.counter =\n newCounter === 100\n ? this.counter + Math.round(Math.random() * (99 - this.counter))\n : newCounter;\n }\n } else if (this.counter < 90 && this.absoluteCounter > 0) {\n this.counter += 10;\n }\n }\n\n private async _poll({\n jobId,\n saveAs,\n query,\n onExportEnd,\n }: {\n query: QueryV2;\n saveAs?: string;\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n jobId: string;\n }) {\n const { httpClient, events, onlineState } = this;\n\n let current: ExportAsyncJob | null = null;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!this.isModalOpen) {\n const currentJob = await this.exportStatus.promise;\n if (currentJob) {\n onExportEnd({\n job: currentJob,\n query,\n result: 'stopped by user',\n });\n }\n\n break;\n }\n\n const getExportAsyncJobResponse = await httpClient\n .request(getExportAsyncJob({ jobId }))\n .catch((error) => ({ error }));\n\n if (\n getExportAsyncJobResponse &&\n !('data' in getExportAsyncJobResponse)\n ) {\n const error = getExportAsyncJobResponse.error;\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n });\n\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.offline',\n originalException: error,\n extraData: {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n },\n });\n }\n\n if (this.queryJobRetries.count > this.config.queryJobRetries.max) {\n onExportEnd({ job: current, query, result: 'fail' });\n throw new WixPatternsError({\n originalException: error,\n errorCode: 'GetExportAsyncJob.failed',\n });\n }\n\n this.queryJobRetries = {\n ...this.queryJobRetries,\n count: this.queryJobRetries.count + 1,\n };\n\n setTimeout(() => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n }, this.config.queryJobRetries.delay);\n\n break;\n }\n\n const job = getExportAsyncJobResponse?.data.job;\n\n if (job?.data == null) {\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.invalid',\n });\n }\n\n current = job;\n\n this.queryJobRetries = {\n count: 0,\n };\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(job),\n };\n });\n\n const isModalOpen = runInAction(() => this.isModalOpen);\n if (!isModalOpen) {\n break;\n }\n\n if (job.data.signedUrl) {\n await this._onJobSuccess(job, {\n onExportEnd,\n saveAs,\n query,\n });\n break;\n }\n\n if (\n job.status === JobStatus.FAILED ||\n job.data.error?.applicationError != null\n ) {\n if (\n job.data.error?.applicationError?.code ===\n 'media_generate_signed_url'\n ) {\n // await this._retryGenerateUrl(job);\n // continue;\n }\n\n this._throwJobError(job, {\n onExportEnd,\n query,\n saveAs,\n });\n break;\n }\n\n const checkIfStaleJobResult = this._checkIfStaleJob(job, {\n onExportEnd,\n saveAs,\n query,\n });\n\n if (checkIfStaleJobResult === 'restarted') {\n return;\n }\n\n await runInAction(async () => {\n if (\n !this.totalForExport &&\n (job.data?.iterationsCount == null || job.data.iterationsCount <= 1)\n ) {\n this.totalForExport = job.data?.pagingMetadata?.total;\n }\n });\n\n this._updateJobProgress(job, { onExportEnd, query, saveAs });\n\n await new Promise((res) => setTimeout(res, this.config.pollingDelay));\n }\n } catch (error) {\n console.error(error);\n\n this.internalMonitor.reportError({ error });\n\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n }\n }\n\n private async _exportTo({\n onExportEnd,\n }: {\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n }) {\n const {\n createExportAsyncJobRequest,\n httpClient,\n transformPlatformizedQuery,\n selectedExportOption,\n events,\n onlineState,\n } = this;\n\n this._reset();\n window.addEventListener('beforeunload', this.beforeunload);\n\n const platformizedQuery = defaultPlatformizedQuery();\n\n const {\n bulkSelect: {\n selectedIds,\n allSelected: selectAll,\n uncheckedInCurrentCollection: uncheckedValues,\n },\n query: { asComputed: computedQuery },\n } = this.collection;\n\n const wixPatternsQuery =\n selectedExportOption !== 'all'\n ? computedQuery\n : {\n ...computedQuery,\n filtersKey: {},\n rawFilters: {},\n filters: {},\n };\n\n const exportPublicState = {\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n uncheckedValues,\n };\n\n const query =\n (await transformPlatformizedQuery?.(exportPublicState)) ??\n platformizedQuery;\n\n const totalForExportPromise = this.setTotalForExport({\n ...exportPublicState,\n platformizedQuery: query,\n });\n\n const saveAs =\n this.saveAs?.({\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n }) ?? this.collectionPageState.pageTitle;\n\n runInAction(() => {\n this.currentStep = 'progress';\n });\n\n const _createExport = async () => {\n try {\n const { data: createExportAsyncJobResponse } = await httpClient\n .request(\n createExportAsyncJob({\n fields: [],\n methodMetadata: {},\n ...createExportAsyncJobRequest,\n saveAs,\n query,\n }),\n )\n .catch((err) => {\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._exportTo({\n onExportEnd,\n });\n });\n throw Object.assign(new Error('CreateExportAsyncJob.offline'), {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n });\n }\n onExportEnd({ job: null, query, result: 'fail' });\n\n throw err;\n });\n\n return createExportAsyncJobResponse;\n } catch (error) {\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n\n throw error;\n }\n };\n\n try {\n const createExportAsyncJobResponse = await _createExport();\n\n if (!createExportAsyncJobResponse.job?.id) {\n throw new Error(\n `Invalid response from createExportAsyncJob \"jobId=${createExportAsyncJobResponse.job?.id}\"`,\n );\n }\n\n await totalForExportPromise;\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(\n createExportAsyncJobResponse.job as ExportAsyncJob,\n ),\n };\n });\n\n this.events.emit('afterJobCreated', {\n job: createExportAsyncJobResponse.job as ExportAsyncJob,\n });\n\n runInAction(() => {\n this.counter = 1;\n });\n\n await this._poll({\n onExportEnd,\n saveAs,\n query,\n jobId: createExportAsyncJobResponse.job.id,\n });\n } catch (error) {\n console.error(error);\n this.internalMonitor.reportError({ error });\n }\n\n window.removeEventListener('beforeunload', this.beforeunload);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_http","require","_types","_mobx","_model","_services","_mapValues","_interopRequireDefault","_events","_ExportStateBIReporter","_getJobItemsAbsoluteCounter","defaultPlatformizedQuery","filter","sort","ExportState","constructor","props","_defineProperty2","default","queryStatus","idle","pollingDelay","stateJob","maxPolling","maxRetries","queryJobRetries","delay","max","iterationsCount","pollCount","retries","count","EventEmitter","selected","action","collection","bulkSelect","selectedCountOrTotal","filtered","result","total","supportTotal","all","allItemsQuery","query","asComputed","filtersKey","mapValues","customFilters","undefined","rawFilters","filters","queryKey","_queryKey","allItemsQueryResult","queryClient","fetchQuery","queryFn","_queryFn","e","preventDefault","returnValue","customTotal","differentQueryEndpointThanCollection","translate","createExportAsyncJobRequest","saveAs","window","httpClient","onlineState","exportModalState","collectionPageState","showToast","internalMonitor","reportBi","disabledRadios","transformPlatformizedQuery","bi","ExportStateBIReporter","makeObservable","exportStatus","observable","ref","iterationsCountPoll","isExporting","computed","totalForExport","selectedExportOption","counter","absoluteCounter","onExportToClick","bound","onExportCloseAttemptClick","onCancelExportCloseButtonClick","onCancelExportGoBackButtonClick","onExportSecondaryActionAttempt","onRetryExportToClick","onFailedClose","onFailedCancel","onCancelClick","onCloseClick","init","setTotalForExport","onExportTypeChange","hasFilters","totalForExportMap","hasSelectedRows","isAllSelected","currentStep","_onJobSuccess","_checkIfStaleJob","_throwJobError","_updateJobProgress","isModalOpen","isOpen","isLoading","isSuccess","_cancelJob","_reset","prev","next","_this$maybeToast","maybeToast","remove","clickOpenModal","onOnlineChanged","isOnline","events","emit","on","removeEventListener","beforeunload","removeAllListeners","off","hasActiveFilters","selectedIds","length","allSelected","totalForExportGettersMap","params","collectionTotalPromise","runInAction","close","onCancelExportVerifyButtonClick","onCancelExportButtonClick","onExportCancelAttemptClick","exportStartTime","performance","now","interactionStarted","reportExportEnd","onExportStart","_exportTo","onExportEnd","interactionEnded","job","_job$data","_this$showToast","t","data","signedUrl","once","Promise","resolve","setTimeout","success","_updateAbsoluteCounter","res","biState","beforeToast","call","message","biName","timeout","type","onToastDismissed","by","text","uiType","navigationTarget","url","openInNewTab","onClick","onToastActionClick","download","then","_job$data2","_job$data3","_job$data4","error","applicationError","code","Object","assign","Error","response","_job$data5","_job$data6","status","JobStatus","FINISHED","_job$data7","completionStep","config","_job$data8","newAbsoluteCounter","getJobItemsAbsoluteCounter","Math","floor","random","newCounter","round","_poll","jobId","current","_job$data$error","currentJob","promise","getExportAsyncJobResponse","request","getExportAsyncJob","catch","WixPatternsError","errorCode","originalException","extraData","loading","FAILED","_job$data$error2","checkIfStaleJobResult","_job$data9","_job$data10","pagingMetadata","console","reportError","_this$saveAs","addEventListener","platformizedQuery","selectAll","uncheckedInCurrentCollection","uncheckedValues","computedQuery","wixPatternsQuery","exportPublicState","selectedItems","isSelectAll","totalForExportPromise","pageTitle","_createExport","createExportAsyncJobResponse","createExportAsyncJob","fields","methodMetadata","err","_createExportAsyncJob","id","_createExportAsyncJob2","exports"],"sources":["../../../src/state/ExportState.ts"],"sourcesContent":["import {\n createExportAsyncJob,\n getExportAsyncJob,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/http';\nimport {\n CreateExportAsyncJobRequest,\n ExportAsyncJob,\n ExportQueryV2 as QueryV2,\n Status as JobStatus,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport {\n WixPatternsEssentials,\n ComputedQueryFull,\n FiltersMap,\n queryStatus,\n ShowToast,\n TaskStatus,\n} from '../model';\nimport {\n WixPatternsError,\n WixPatternsMonitor,\n PartialWindow,\n ReportBI,\n Translate,\n} from '../services';\nimport { CollectionState } from './CollectionState';\nimport mapValues from 'lodash/mapValues';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { ExportStateBIReporter } from './ExportStateBIReporter';\nimport { ModalState } from './ModalState';\nimport { getJobItemsAbsoluteCounter } from './getJobItemsAbsoluteCounter';\nimport { ExportJobStateParams } from './ExportJobState';\nimport { ErrorDetails } from '../util/isHttpError';\nimport { OnlineState } from './OnlineState';\nimport { CollectionPageState } from './CollectionPageState';\n\nfunction defaultPlatformizedQuery(): QueryV2 {\n return {\n filter: {},\n sort: [],\n };\n}\n\ninterface ExportPublicState<T, F extends FiltersMap> {\n platformizedQuery: QueryV2;\n wixPatternsQuery: ComputedQueryFull<F>;\n selectedItems?: string[];\n isSelectAll: boolean;\n uncheckedValues?: T[];\n}\n\nexport type CustomTotalFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F> & {\n collectionTotalPromise: number | null | Promise<number | null | undefined>;\n },\n) => number | null | undefined | Promise<number | null | undefined>;\n\nexport type TransformQuery<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => QueryV2 | Promise<QueryV2>;\n\nexport type SaveAsFn<T, F extends FiltersMap> = (\n params: ExportPublicState<T, F>,\n) => string;\n\nexport interface ExportStateProps<T, F extends FiltersMap> {\n transformPlatformizedQuery?: TransformQuery<T, F>;\n differentQueryEndpointThanCollection?: boolean;\n customTotal?: CustomTotalFn<T, F>;\n\n createExportAsyncJobRequest: Partial<CreateExportAsyncJobRequest>;\n saveAs?: SaveAsFn<T, F>;\n\n httpClient: WixPatternsEssentials['httpClient'];\n showToast?: ShowToast;\n translate: Translate;\n collection: CollectionState<T, F>;\n reportBi: ReportBI;\n onlineState: OnlineState;\n internalMonitor: WixPatternsMonitor;\n\n exportModalState: ModalState;\n collectionPageState: CollectionPageState;\n window: PartialWindow;\n}\n\nexport type SelectedExportOption = 'all' | 'selected' | 'filtered';\n\nexport class ExportState<T, F extends FiltersMap> {\n exportStatus: TaskStatus<ExportAsyncJob, unknown> = {\n ...queryStatus.idle,\n };\n\n readonly config = {\n pollingDelay: 2000,\n stateJob: {\n maxPolling: 14,\n maxRetries: 1,\n },\n queryJobRetries: {\n delay: 5000,\n max: 4,\n },\n };\n\n exportStartTime: number = 0;\n totalForExport: number | undefined | null = null;\n selectedExportOption: SelectedExportOption = 'all';\n disabledRadios: SelectedExportOption[];\n maybeToast?: { remove: () => void };\n iterationsCountPoll: {\n iterationsCount?: number;\n pollCount: number;\n retries: number;\n } = {\n iterationsCount: 0,\n pollCount: 0,\n retries: 0,\n };\n\n queryJobRetries: {\n count: number;\n } = {\n count: 0,\n };\n\n readonly differentQueryEndpointThanCollection;\n readonly customTotal;\n readonly translate;\n readonly createExportAsyncJobRequest;\n readonly saveAs;\n readonly window;\n readonly httpClient: WixPatternsEssentials['httpClient'];\n readonly onlineState;\n readonly exportModalState;\n readonly collectionPageState;\n readonly transformPlatformizedQuery?: ExportStateProps<\n T,\n F\n >['transformPlatformizedQuery'];\n readonly showToast;\n readonly internalMonitor;\n readonly collection;\n readonly reportBi;\n readonly bi;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n afterJobCreated: (params: { job: ExportAsyncJob }) => unknown;\n undoCancel: () => unknown;\n online: () => unknown;\n }>;\n\n counter = 0;\n absoluteCounter = 0;\n retries = 0;\n\n constructor(props: ExportStateProps<T, F>) {\n this.customTotal = props.customTotal;\n this.differentQueryEndpointThanCollection =\n props.differentQueryEndpointThanCollection;\n this.translate = props.translate;\n this.createExportAsyncJobRequest = props.createExportAsyncJobRequest;\n this.saveAs = props.saveAs;\n this.window = props.window;\n this.httpClient = props.httpClient;\n this.onlineState = props.onlineState;\n this.exportModalState = props.exportModalState;\n this.collectionPageState = props.collectionPageState;\n this.showToast = props.showToast;\n this.internalMonitor = props.internalMonitor;\n this.collection = props.collection;\n this.reportBi = props.reportBi;\n this.disabledRadios = [];\n this.transformPlatformizedQuery = props.transformPlatformizedQuery;\n\n this.bi = new ExportStateBIReporter(this);\n makeObservable(this, {\n exportStatus: observable.ref,\n iterationsCountPoll: observable.ref,\n isExporting: computed,\n totalForExport: observable.ref,\n selectedExportOption: observable.ref,\n disabledRadios: observable.ref,\n counter: observable.ref,\n absoluteCounter: observable.ref,\n onExportToClick: action.bound,\n onExportCloseAttemptClick: action.bound,\n onCancelExportCloseButtonClick: action.bound,\n onCancelExportGoBackButtonClick: action.bound,\n onExportSecondaryActionAttempt: action.bound,\n onRetryExportToClick: action.bound,\n onFailedClose: action.bound,\n onFailedCancel: action.bound,\n onCancelClick: action.bound,\n onCloseClick: action.bound,\n init: action.bound,\n setTotalForExport: action,\n onExportTypeChange: action,\n hasFilters: computed,\n totalForExportMap: computed,\n hasSelectedRows: computed,\n isAllSelected: computed,\n currentStep: observable.ref,\n _onJobSuccess: action,\n _checkIfStaleJob: action,\n _throwJobError: action,\n _updateJobProgress: action,\n });\n }\n\n get isModalOpen() {\n return this.exportModalState.isOpen;\n }\n\n currentStep: 'config' | 'progress' | 'error' | 'cancel' = 'config';\n\n get isExporting() {\n const { exportStatus } = this;\n return exportStatus.isLoading || exportStatus.isSuccess;\n }\n\n _cancelJob() {\n // const { events } = this;\n // events.once('afterJobCreated', ({ job }) => {\n // const { httpClient } = this;\n // httpClient.request(\n // cancelExportAsyncJob({\n // jobId: job.id as string,\n // }),\n // );\n // });\n }\n\n _reset() {\n this.exportStatus = {\n ...queryStatus.idle,\n };\n this.currentStep = 'config';\n this.counter = 0;\n this.absoluteCounter = 0;\n this.totalForExport = null;\n }\n\n onExportTypeChange(selectedExportOption: SelectedExportOption) {\n this.bi.onExportTypeChange({\n prev: this.selectedExportOption,\n next: selectedExportOption,\n });\n this.selectedExportOption = selectedExportOption;\n }\n\n init() {\n const { onlineState } = this;\n this.maybeToast?.remove();\n\n if (this.hasSelectedRows) {\n this.disabledRadios = this.hasFilters ? [] : ['filtered'];\n this.selectedExportOption = 'selected';\n } else if (this.hasFilters) {\n this.disabledRadios = ['selected'];\n this.selectedExportOption = 'filtered';\n } else {\n this.disabledRadios = ['selected', 'filtered'];\n this.selectedExportOption = 'all';\n }\n\n this.bi.clickOpenModal();\n\n const onOnlineChanged = action((isOnline: boolean) => {\n if (isOnline && this.currentStep === 'error') {\n this.currentStep = 'progress';\n this.events.emit('online');\n }\n });\n\n onlineState.events.on('change', onOnlineChanged);\n\n return () => {\n window.removeEventListener('beforeunload', this.beforeunload);\n this.events.removeAllListeners('undoCancel');\n this.events.removeAllListeners('online');\n onlineState.events.off('change', onOnlineChanged);\n };\n }\n\n get hasFilters() {\n return this.collection.query.hasActiveFilters;\n }\n\n get hasSelectedRows() {\n return (\n this.collection.bulkSelect.selectedIds.length !== undefined &&\n this.collection.bulkSelect.selectedIds.length > 0\n );\n }\n\n get isAllSelected() {\n return this.collection.bulkSelect.allSelected;\n }\n\n get totalForExportMap() {\n return {\n selected: this.totalForExportGettersMap.selected(),\n filtered: this.totalForExportGettersMap.filtered(),\n };\n }\n\n readonly totalForExportGettersMap = {\n selected: action(() => {\n const { collection } = this;\n\n const {\n bulkSelect: { selectedCountOrTotal },\n } = collection;\n\n return selectedCountOrTotal;\n }),\n filtered: action(() => {\n const { collection } = this;\n const {\n result: { total, supportTotal },\n } = collection;\n\n if (!supportTotal) {\n return null;\n }\n\n return total;\n }),\n all: action(async () => {\n const { collection } = this;\n\n const allItemsQuery = {\n ...collection.query.asComputed,\n filtersKey: mapValues(collection.query.customFilters, (filter) =>\n filter != null ? null : undefined,\n ),\n rawFilters: {},\n filters: {},\n };\n\n const queryKey = collection._queryKey(allItemsQuery);\n\n const allItemsQueryResult = await collection.queryClient.fetchQuery({\n queryFn: () => collection._queryFn(allItemsQuery),\n queryKey,\n });\n\n return allItemsQueryResult.total;\n }),\n };\n\n async setTotalForExport(params: ExportPublicState<T, F>) {\n const { selectedExportOption, collection } = this;\n const {\n result: { supportTotal },\n } = collection;\n\n if (this.differentQueryEndpointThanCollection === true) {\n return;\n }\n\n const collectionTotalPromise = (() => {\n if (selectedExportOption === 'selected') {\n return this.totalForExportGettersMap.selected();\n }\n\n if (selectedExportOption === 'filtered' && supportTotal) {\n return this.totalForExportGettersMap.filtered();\n }\n\n return this.totalForExportGettersMap.all();\n })();\n\n if (this.customTotal) {\n const totalForExport = await this.customTotal({\n ...params,\n collectionTotalPromise,\n });\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n return;\n }\n\n const totalForExport = await collectionTotalPromise;\n runInAction(() => {\n this.totalForExport = totalForExport;\n });\n }\n\n onCancelClick() {\n const { bi, exportModalState } = this;\n bi.onCancelClick();\n exportModalState.close();\n }\n\n onCancelExportVerifyButtonClick() {\n const { bi, exportModalState } = this;\n bi.onCancelExportButtonClick();\n exportModalState.close();\n }\n\n onCancelExportGoBackButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportGoBackButtonClick();\n events.emit('undoCancel');\n }\n\n onCancelExportCloseButtonClick() {\n this.currentStep = 'progress';\n const { bi, events } = this;\n bi.onCancelExportCloseButtonClick();\n events.emit('undoCancel');\n }\n\n onExportCloseAttemptClick() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCloseAttemptClick();\n }\n\n onExportSecondaryActionAttempt() {\n this.currentStep = 'cancel';\n const { bi } = this;\n bi.onExportCancelAttemptClick();\n }\n\n onCloseClick() {\n const { bi, exportModalState } = this;\n bi.onCloseClick();\n exportModalState.close();\n }\n\n async onExportToClick() {\n const { internalMonitor, bi } = this;\n this.retries += 1;\n this.iterationsCountPoll = {\n iterationsCount: 0,\n retries: 0,\n pollCount: 0,\n };\n this.queryJobRetries = {\n count: 0,\n };\n this.exportStartTime = performance.now();\n internalMonitor.interactionStarted('export-to');\n bi.onExportToClick();\n const reportExportEnd = bi.onExportStart();\n this._exportTo({\n onExportEnd: action((params) => {\n if (params.result !== 'fail') {\n internalMonitor.interactionEnded('export-to');\n }\n\n reportExportEnd(params);\n }),\n });\n }\n\n beforeunload = (e: BeforeUnloadEvent) => {\n e.preventDefault();\n e.returnValue = '';\n };\n\n async onRetryExportToClick() {\n const { bi } = this;\n bi.onRetryExportToClick();\n await this.onExportToClick();\n }\n\n async onFailedClose() {\n const { bi, exportModalState } = this;\n bi.onFailedClose();\n exportModalState.close();\n }\n\n async onFailedCancel() {\n const { bi, exportModalState } = this;\n bi.onFailedCancel();\n exportModalState.close();\n }\n\n async _onJobSuccess(job: ExportAsyncJob, params: ExportJobStateParams) {\n const { events, exportModalState, translate: t } = this;\n const { onExportEnd, query, saveAs } = params;\n\n if (job.data?.signedUrl == null) {\n return;\n }\n\n if (this.currentStep === 'cancel') {\n events.once('undoCancel', async () => {\n await new Promise((resolve) => setTimeout(resolve, 1000));\n return this._onJobSuccess(job, { onExportEnd, query, saveAs });\n });\n return;\n }\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.success,\n data: job,\n };\n this.counter = 100;\n this._updateAbsoluteCounter(job, params);\n });\n\n window.removeEventListener('beforeunload', this.beforeunload);\n await new Promise((res) => setTimeout(res, 1000)); // wait bit before starting the download for the progress indication animation completes\n\n const signedUrl = job.data.signedUrl;\n\n onExportEnd({ job, query, result: 'success', saveAs });\n const biState = this.bi.beforeToast();\n\n const maybeToast = this.showToast?.({\n message: t('cairo.export.successMessage'),\n biName: 'cairo-export-success-toast',\n timeout: 'NONE',\n type: 'SUCCESS',\n onCloseClick: () => {\n this.bi.onToastDismissed({\n ...biState,\n by: 'manual',\n });\n this.maybeToast = undefined;\n },\n action: {\n text: t('cairo.export.downloadManually'),\n uiType: 'LINK',\n navigationTarget: {\n url: signedUrl,\n openInNewTab: true,\n },\n onClick: () => {\n this.bi.onToastActionClick(biState);\n this.maybeToast = undefined;\n },\n },\n });\n\n this.maybeToast = maybeToast;\n\n this.window.download(signedUrl, saveAs);\n\n if (maybeToast) {\n new Promise((resolve) => setTimeout(resolve, 6000)).then(() => {\n if (maybeToast === this.maybeToast) {\n maybeToast.remove();\n this.bi.onToastDismissed({\n ...biState,\n by: 'automatic',\n });\n }\n });\n }\n\n exportModalState.close();\n }\n\n _throwJobError(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n if (job.data?.error?.applicationError?.code === 'job_cancelled_by_client') {\n onExportEnd({ job, query, result: 'stopped by user' });\n\n return;\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(\n new Error(`ExportAsyncJob.${job.data?.error?.applicationError?.code}`),\n {\n response: {\n data: job.data?.error,\n },\n job,\n query,\n },\n );\n }\n\n _checkIfStaleJob(\n job: ExportAsyncJob,\n { onExportEnd, query }: ExportJobStateParams,\n ) {\n const { internalMonitor } = this;\n\n if (job.status === JobStatus.FINISHED && !job.data?.signedUrl) {\n internalMonitor.interactionStarted(\n 'export-to-finished-without-download-url',\n );\n internalMonitor.interactionEnded(\n 'export-to-finished-without-download-url',\n );\n }\n\n if (\n job.data?.iterationsCount === this.iterationsCountPoll.iterationsCount\n ) {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n pollCount: this.iterationsCountPoll.pollCount + 1,\n };\n\n if (\n job.data?.completionStep !== 'upload' &&\n this.iterationsCountPoll.pollCount > this.config.stateJob.maxPolling\n ) {\n if (\n this.iterationsCountPoll.retries < this.config.stateJob.maxRetries\n ) {\n internalMonitor.interactionStarted('export-to-max-polling-stale-job');\n internalMonitor.interactionEnded('export-to-max-polling-stale-job');\n runInAction(() => {\n this.iterationsCountPoll = {\n iterationsCount: 0,\n pollCount: 0,\n retries: this.iterationsCountPoll.retries + 1,\n };\n });\n window.removeEventListener('beforeunload', this.beforeunload);\n this._exportTo({ onExportEnd });\n return 'restarted';\n }\n\n onExportEnd({ job, query, result: 'fail' });\n\n throw Object.assign(new Error('ExportAsyncJob.max_polling_stale_job'), {\n response: {\n data: {\n applicationError: {\n code: 'max_polling_stale_job',\n },\n } as ErrorDetails,\n },\n });\n }\n } else {\n this.iterationsCountPoll = {\n ...this.iterationsCountPoll,\n iterationsCount: job.data?.iterationsCount,\n pollCount: 1,\n };\n }\n\n return;\n }\n\n _updateAbsoluteCounter(job: ExportAsyncJob, { query }: ExportJobStateParams) {\n if (job?.data == null) {\n return;\n }\n\n const { totalForExport } = this;\n\n const newAbsoluteCounter = getJobItemsAbsoluteCounter(job, {\n query,\n totalForExport,\n });\n\n this.absoluteCounter =\n totalForExport != null &&\n newAbsoluteCounter >= totalForExport &&\n !this.exportStatus.isSuccess\n ? this.absoluteCounter +\n Math.floor(\n Math.random() * (newAbsoluteCounter - this.absoluteCounter),\n )\n : newAbsoluteCounter;\n }\n\n _updateJobProgress(job: ExportAsyncJob, params: ExportJobStateParams) {\n this._updateAbsoluteCounter(job, params);\n\n const { totalForExport } = this;\n if (totalForExport) {\n if (this.absoluteCounter) {\n const newCounter = Math.round(\n (this.absoluteCounter / totalForExport) * 100,\n );\n\n this.counter =\n newCounter === 100\n ? this.counter + Math.round(Math.random() * (99 - this.counter))\n : newCounter;\n }\n } else if (this.counter < 90 && this.absoluteCounter > 0) {\n this.counter += 10;\n }\n }\n\n private async _poll({\n jobId,\n saveAs,\n query,\n onExportEnd,\n }: {\n query: QueryV2;\n saveAs?: string;\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n jobId: string;\n }) {\n const { httpClient, events, onlineState } = this;\n\n let current: ExportAsyncJob | null = null;\n\n try {\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (!this.isModalOpen) {\n const currentJob = await this.exportStatus.promise;\n if (currentJob) {\n onExportEnd({\n job: currentJob,\n query,\n result: 'stopped by user',\n });\n }\n\n break;\n }\n\n const getExportAsyncJobResponse = await httpClient\n .request(getExportAsyncJob({ jobId }))\n .catch((error) => ({ error }));\n\n if (\n getExportAsyncJobResponse &&\n !('data' in getExportAsyncJobResponse)\n ) {\n const error = getExportAsyncJobResponse.error;\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n });\n\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.offline',\n originalException: error,\n extraData: {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n },\n });\n }\n\n if (this.queryJobRetries.count > this.config.queryJobRetries.max) {\n onExportEnd({ job: current, query, result: 'fail' });\n throw new WixPatternsError({\n originalException: error,\n errorCode: 'GetExportAsyncJob.failed',\n });\n }\n\n this.queryJobRetries = {\n ...this.queryJobRetries,\n count: this.queryJobRetries.count + 1,\n };\n\n setTimeout(() => {\n this._poll({\n jobId,\n onExportEnd,\n query,\n saveAs,\n });\n }, this.config.queryJobRetries.delay);\n\n break;\n }\n\n const job = getExportAsyncJobResponse?.data.job;\n\n if (job?.data == null) {\n throw new WixPatternsError({\n errorCode: 'GetExportAsyncJob.invalid',\n });\n }\n\n current = job;\n\n this.queryJobRetries = {\n count: 0,\n };\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(job),\n };\n });\n\n const isModalOpen = runInAction(() => this.isModalOpen);\n if (!isModalOpen) {\n break;\n }\n\n if (job.data.signedUrl) {\n await this._onJobSuccess(job, {\n onExportEnd,\n saveAs,\n query,\n });\n break;\n }\n\n if (\n job.status === JobStatus.FAILED ||\n job.data.error?.applicationError != null\n ) {\n if (\n job.data.error?.applicationError?.code ===\n 'media_generate_signed_url'\n ) {\n // await this._retryGenerateUrl(job);\n // continue;\n }\n\n this._throwJobError(job, {\n onExportEnd,\n query,\n saveAs,\n });\n break;\n }\n\n const checkIfStaleJobResult = this._checkIfStaleJob(job, {\n onExportEnd,\n saveAs,\n query,\n });\n\n if (checkIfStaleJobResult === 'restarted') {\n return;\n }\n\n await runInAction(async () => {\n if (\n !this.totalForExport &&\n (job.data?.iterationsCount == null || job.data.iterationsCount <= 1)\n ) {\n this.totalForExport = job.data?.pagingMetadata?.total;\n }\n });\n\n this._updateJobProgress(job, { onExportEnd, query, saveAs });\n\n await new Promise((res) => setTimeout(res, this.config.pollingDelay));\n }\n } catch (error) {\n console.error(error);\n\n this.internalMonitor.reportError({ error });\n\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n }\n }\n\n private async _exportTo({\n onExportEnd,\n }: {\n onExportEnd: (params: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n }) => void;\n }) {\n const {\n createExportAsyncJobRequest,\n httpClient,\n transformPlatformizedQuery,\n selectedExportOption,\n events,\n onlineState,\n } = this;\n\n this._reset();\n window.addEventListener('beforeunload', this.beforeunload);\n\n const platformizedQuery = defaultPlatformizedQuery();\n\n const {\n bulkSelect: {\n selectedIds,\n allSelected: selectAll,\n uncheckedInCurrentCollection: uncheckedValues,\n },\n query: { asComputed: computedQuery },\n } = this.collection;\n\n const wixPatternsQuery =\n selectedExportOption !== 'all'\n ? computedQuery\n : {\n ...computedQuery,\n filtersKey: {},\n rawFilters: {},\n filters: {},\n };\n\n const exportPublicState = {\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n uncheckedValues,\n };\n\n const query =\n (await transformPlatformizedQuery?.(exportPublicState)) ??\n platformizedQuery;\n\n const totalForExportPromise = this.setTotalForExport({\n ...exportPublicState,\n platformizedQuery: query,\n });\n\n const saveAs =\n this.saveAs?.({\n platformizedQuery,\n wixPatternsQuery,\n selectedItems:\n selectedExportOption === 'selected' ? selectedIds : undefined,\n isSelectAll: selectAll,\n }) ?? this.collectionPageState.pageTitle;\n\n runInAction(() => {\n this.currentStep = 'progress';\n });\n\n const _createExport = async () => {\n try {\n const { data: createExportAsyncJobResponse } = await httpClient\n .request(\n createExportAsyncJob({\n fields: [],\n methodMetadata: {},\n ...createExportAsyncJobRequest,\n saveAs,\n query,\n }),\n )\n .catch((err) => {\n if (!onlineState.isOnline) {\n events.once('online', () => {\n this._exportTo({\n onExportEnd,\n });\n });\n throw Object.assign(new Error('CreateExportAsyncJob.offline'), {\n response: {\n data: {\n applicationError: {\n code: 'offline',\n },\n } as ErrorDetails,\n },\n });\n }\n onExportEnd({ job: null, query, result: 'fail' });\n\n throw err;\n });\n\n return createExportAsyncJobResponse;\n } catch (error) {\n runInAction(() => {\n this.currentStep = 'error';\n this.exportStatus = {\n ...queryStatus.error,\n error,\n };\n });\n\n throw error;\n }\n };\n\n try {\n const createExportAsyncJobResponse = await _createExport();\n\n if (!createExportAsyncJobResponse.job?.id) {\n throw new Error(\n `Invalid response from createExportAsyncJob \"jobId=${createExportAsyncJobResponse.job?.id}\"`,\n );\n }\n\n await totalForExportPromise;\n\n runInAction(() => {\n this.exportStatus = {\n ...queryStatus.loading,\n promise: Promise.resolve(\n createExportAsyncJobResponse.job as ExportAsyncJob,\n ),\n };\n });\n\n this.events.emit('afterJobCreated', {\n job: createExportAsyncJobResponse.job as ExportAsyncJob,\n });\n\n runInAction(() => {\n this.counter = 1;\n });\n\n await this._poll({\n onExportEnd,\n saveAs,\n query,\n jobId: createExportAsyncJobResponse.job.id,\n });\n } catch (error) {\n console.error(error);\n this.internalMonitor.reportError({ error });\n }\n\n window.removeEventListener('beforeunload', this.beforeunload);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_v","require","_util","_mobx","_uuid","_getJobItemsAbsoluteCounter","withoutDefaults","withoutIrrelevant","exportTypeToBiExportType","all","filtered","selected","ExportStateBIReporter","constructor","state","_defineProperty2","default","uuid","reportBi","_reportWithDefaultParams","reportProps","exportBiUniqueId","params","exportId","supportsTotal","collection","result","supportTotal","availableExportTypes","JSON","stringify","disabledRadios","indexOf","totalForExportGettersMap","_reportWithSelectedExportParams","selectedExportType","selectedExportOption","numItems","onExportTypeChange","prev","next","cairoItemToggledInExportModal","newSelectedExportType","prevSelectedExportType","clickOpenModal","cairoExportCtaClicked","defaultExportType","numSelectedItems","beforeToast","cairoFileDownloadToastDisplayed","exportType","try","retries","startTime","performance","now","onToastActionClick","cairoFileDownloadToastDownloadButtonClicked","duration","Math","round","onRetryExportToClick","cairoExportFailedModalCtaClicked","ctaName","onFailedCancel","onFailedClose","onExportToClick","cairoExportModalCtaClicked","action","origin","onExportStart","cairoExportProcessStart","job","query","saveAs","totalForExport","cairoExportProcessEnd","fileName","numItemsExported","getJobItemsAbsoluteCounter","onCancelClick","onCancelExportButtonClick","exportStartTime","cairoCancelExportModalCtaClicked","modalType","onCancelExportGoBackButtonClick","onCancelExportCloseButtonClick","onExportCloseAttemptClick","cairoUserAttemptsToCancelTheExport","onExportCancelAttemptClick","onCloseClick","onToastDismissed","by","dismissMode","cairoFileDownloadToastDismissed","exports"],"sources":["../../../src/state/ExportStateBIReporter.ts"],"sourcesContent":["import { ExportState, SelectedExportOption } from './ExportState';\nimport { FiltersMap } from '../model';\nimport {\n cairoCancelExportModalCtaClicked,\n cairoExportCtaClicked,\n cairoExportFailedModalCtaClicked,\n cairoExportModalCtaClicked,\n cairoExportProcessEnd,\n cairoExportProcessStart,\n cairoFileDownloadToastDismissed,\n cairoFileDownloadToastDisplayed,\n cairoFileDownloadToastDownloadButtonClicked,\n cairoItemToggledInExportModal,\n cairoUserAttemptsToCancelTheExport,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { withoutIrrelevant } from '../util';\nimport { ReportProps } from '@wix/fe-essentials/bi';\nimport { action } from 'mobx';\nimport { v4 as uuid } from 'uuid';\nimport {\n ExportAsyncJob,\n ExportQueryV2 as QueryV2,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport { getJobItemsAbsoluteCounter } from './getJobItemsAbsoluteCounter';\n\nconst withoutDefaults = withoutIrrelevant<\n | 'currentTab'\n | 'currentView'\n | 'currentFilters'\n | 'currentSortOrder'\n | 'listSize'\n | 'filteredListSize'\n | 'initialItems'\n | 'availableExportTypes'\n | 'selectedExportType'\n | 'numItems'\n>();\n\nconst exportTypeToBiExportType: Record<SelectedExportOption, string> = {\n all: 'All Items',\n filtered: 'Filtered Items',\n selected: 'Selected Items',\n};\n\nexport class ExportStateBIReporter<T, F extends FiltersMap> {\n private readonly state;\n\n private readonly exportBiUniqueId = uuid();\n\n constructor(state: ExportState<T, F>) {\n this.state = state;\n }\n\n get reportBi() {\n return this.state.reportBi;\n }\n\n async _reportWithDefaultParams(reportProps: ReportProps) {\n const { state, exportBiUniqueId } = this;\n this.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n exportId: exportBiUniqueId,\n supportsTotal: state.collection.result.supportTotal,\n availableExportTypes: JSON.stringify({\n ...(state.disabledRadios.indexOf('all') === -1 && {\n [exportTypeToBiExportType.all]:\n await state.totalForExportGettersMap.all(),\n }),\n ...(state.disabledRadios.indexOf('filtered') === -1 && {\n [exportTypeToBiExportType.filtered]:\n state.totalForExportGettersMap.filtered(),\n }),\n ...(state.disabledRadios.indexOf('selected') === -1 && {\n [exportTypeToBiExportType.selected]:\n state.totalForExportGettersMap.selected(),\n }),\n }),\n },\n });\n }\n\n async _reportWithSelectedExportParams(reportProps: ReportProps) {\n const { state } = this;\n await this._reportWithDefaultParams({\n ...reportProps,\n params: {\n ...reportProps.params,\n selectedExportType:\n exportTypeToBiExportType[state.selectedExportOption],\n numItems: (await state.totalForExportGettersMap[\n state.selectedExportOption\n ]()) as number | undefined,\n },\n });\n }\n\n onExportTypeChange({\n prev,\n next,\n }: {\n prev: SelectedExportOption;\n next: SelectedExportOption;\n }) {\n this._reportWithDefaultParams(\n withoutDefaults(cairoItemToggledInExportModal)({\n newSelectedExportType: exportTypeToBiExportType[next],\n prevSelectedExportType: exportTypeToBiExportType[prev],\n }),\n );\n }\n\n clickOpenModal() {\n const { state } = this;\n\n this._reportWithDefaultParams(\n withoutDefaults(cairoExportCtaClicked)({\n defaultExportType: exportTypeToBiExportType[state.selectedExportOption],\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n }),\n );\n }\n\n beforeToast() {\n const { state, reportBi } = this;\n\n reportBi(\n withoutDefaults(cairoFileDownloadToastDisplayed)({\n exportId: this.exportBiUniqueId,\n exportType: exportTypeToBiExportType[state.selectedExportOption],\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n try: state.retries,\n }),\n );\n\n return {\n startTime: performance.now(),\n };\n }\n\n onToastActionClick({ startTime }: { startTime: number }) {\n const { state, reportBi } = this;\n\n reportBi(\n withoutDefaults(cairoFileDownloadToastDownloadButtonClicked)({\n exportId: this.exportBiUniqueId,\n exportType: exportTypeToBiExportType[state.selectedExportOption],\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n duration: Math.round(performance.now() - startTime),\n }),\n );\n }\n\n onRetryExportToClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportFailedModalCtaClicked)({\n ctaName: 'Try Again',\n try: this.state.retries,\n }),\n );\n }\n\n onFailedCancel() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportFailedModalCtaClicked)({\n ctaName: 'Cancel',\n try: this.state.retries,\n }),\n );\n }\n\n onFailedClose() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportFailedModalCtaClicked)({\n ctaName: 'X Button',\n try: this.state.retries,\n }),\n );\n }\n\n onExportToClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportModalCtaClicked)({\n action: 'export',\n origin: 'Export Button',\n }),\n );\n }\n\n onExportStart() {\n const startTime = performance.now();\n\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportProcessStart)({\n try: this.state.retries,\n }),\n );\n\n return action(\n async ({\n job,\n query,\n result,\n saveAs,\n }: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n saveAs?: string;\n }) => {\n const {\n state: { retries, totalForExport },\n } = this;\n\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportProcessEnd)({\n duration: Math.round(performance.now() - startTime),\n try: retries,\n result,\n fileName: saveAs || '',\n numItemsExported:\n job != null\n ? getJobItemsAbsoluteCounter(job, { query, totalForExport })\n : 0,\n }),\n );\n },\n );\n }\n\n onCancelClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportModalCtaClicked)({\n action: 'dismiss',\n origin: 'Cancel Button',\n }),\n );\n }\n\n onCancelExportButtonClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoCancelExportModalCtaClicked)({\n duration,\n try: retries,\n ctaName: 'Cancel Export',\n modalType: 'Export',\n }),\n );\n }\n\n onCancelExportGoBackButtonClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoCancelExportModalCtaClicked)({\n duration,\n try: retries,\n ctaName: 'Go Back',\n modalType: 'Export',\n }),\n );\n }\n\n onCancelExportCloseButtonClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoCancelExportModalCtaClicked)({\n duration,\n try: retries,\n ctaName: 'X Button',\n modalType: 'Export',\n }),\n );\n }\n\n onExportCloseAttemptClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoUserAttemptsToCancelTheExport)({\n duration,\n origin: 'X Button',\n try: retries,\n }),\n );\n }\n\n onExportCancelAttemptClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoUserAttemptsToCancelTheExport)({\n duration,\n origin: 'Cancel Button',\n try: retries,\n }),\n );\n }\n\n onCloseClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportModalCtaClicked)({\n action: 'dismiss',\n origin: 'X Button',\n }),\n );\n }\n\n onToastDismissed({\n startTime,\n by: dismissMode,\n }: {\n startTime: number;\n by: 'manual' | 'automatic';\n }) {\n const { state, reportBi } = this;\n\n reportBi(\n withoutDefaults(cairoFileDownloadToastDismissed)({\n exportId: this.exportBiUniqueId,\n exportType: state.selectedExportOption,\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n duration: Math.round(performance.now() - startTime),\n dismissMode,\n }),\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_v","require","_util","_mobx","_uuid","_getJobItemsAbsoluteCounter","withoutDefaults","withoutIrrelevant","exportTypeToBiExportType","all","filtered","selected","ExportStateBIReporter","constructor","state","_defineProperty2","default","uuid","reportBi","_reportWithDefaultParams","reportProps","exportBiUniqueId","params","exportId","supportsTotal","collection","result","supportTotal","availableExportTypes","JSON","stringify","disabledRadios","indexOf","totalForExportGettersMap","_reportWithSelectedExportParams","selectedExportType","selectedExportOption","numItems","onExportTypeChange","prev","next","cairoItemToggledInExportModal","newSelectedExportType","prevSelectedExportType","clickOpenModal","cairoExportCtaClicked","defaultExportType","numSelectedItems","beforeToast","cairoFileDownloadToastDisplayed","exportType","try","retries","startTime","performance","now","onToastActionClick","cairoFileDownloadToastDownloadButtonClicked","duration","Math","round","onRetryExportToClick","cairoExportFailedModalCtaClicked","ctaName","onFailedCancel","onFailedClose","onExportToClick","cairoExportModalCtaClicked","action","origin","onExportStart","cairoExportProcessStart","job","query","saveAs","totalForExport","cairoExportProcessEnd","fileName","numItemsExported","getJobItemsAbsoluteCounter","onCancelClick","onCancelExportButtonClick","exportStartTime","cairoCancelExportModalCtaClicked","modalType","onCancelExportGoBackButtonClick","onCancelExportCloseButtonClick","onExportCloseAttemptClick","cairoUserAttemptsToCancelTheExport","onExportCancelAttemptClick","onCloseClick","onToastDismissed","by","dismissMode","cairoFileDownloadToastDismissed","exports"],"sources":["../../../src/state/ExportStateBIReporter.ts"],"sourcesContent":["import { ExportState, SelectedExportOption } from './ExportState';\nimport { FiltersMap } from '../model';\nimport {\n cairoCancelExportModalCtaClicked,\n cairoExportCtaClicked,\n cairoExportFailedModalCtaClicked,\n cairoExportModalCtaClicked,\n cairoExportProcessEnd,\n cairoExportProcessStart,\n cairoFileDownloadToastDismissed,\n cairoFileDownloadToastDisplayed,\n cairoFileDownloadToastDownloadButtonClicked,\n cairoItemToggledInExportModal,\n cairoUserAttemptsToCancelTheExport,\n} from '@wix/bex-utils/@wix/bi-logger-cairo-os/v2';\nimport { withoutIrrelevant } from '../util';\nimport { ReportProps } from '@wix/fe-essentials/bi';\nimport { action } from 'mobx';\nimport { v4 as uuid } from 'uuid';\nimport {\n ExportAsyncJob,\n ExportQueryV2 as QueryV2,\n} from '@wix/bex-utils/@wix/ambassador-fedinfra-exportservice-v1-export-async-job/types';\nimport { getJobItemsAbsoluteCounter } from './getJobItemsAbsoluteCounter';\n\nconst withoutDefaults = withoutIrrelevant<\n | 'currentTab'\n | 'currentView'\n | 'currentFilters'\n | 'currentSortOrder'\n | 'listSize'\n | 'filteredListSize'\n | 'initialItems'\n | 'availableExportTypes'\n | 'selectedExportType'\n | 'numItems'\n>();\n\nconst exportTypeToBiExportType: Record<SelectedExportOption, string> = {\n all: 'All Items',\n filtered: 'Filtered Items',\n selected: 'Selected Items',\n};\n\nexport class ExportStateBIReporter<T, F extends FiltersMap> {\n private readonly state;\n\n private readonly exportBiUniqueId = uuid();\n\n constructor(state: ExportState<T, F>) {\n this.state = state;\n }\n\n get reportBi() {\n return this.state.reportBi;\n }\n\n async _reportWithDefaultParams(reportProps: ReportProps) {\n const { state, exportBiUniqueId } = this;\n this.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n exportId: exportBiUniqueId,\n supportsTotal: state.collection.result.supportTotal,\n availableExportTypes: JSON.stringify({\n ...(state.disabledRadios.indexOf('all') === -1 && {\n [exportTypeToBiExportType.all]:\n await state.totalForExportGettersMap.all(),\n }),\n ...(state.disabledRadios.indexOf('filtered') === -1 && {\n [exportTypeToBiExportType.filtered]:\n state.totalForExportGettersMap.filtered(),\n }),\n ...(state.disabledRadios.indexOf('selected') === -1 && {\n [exportTypeToBiExportType.selected]:\n state.totalForExportGettersMap.selected(),\n }),\n }),\n },\n });\n }\n\n async _reportWithSelectedExportParams(reportProps: ReportProps) {\n const { state } = this;\n await this._reportWithDefaultParams({\n ...reportProps,\n params: {\n ...reportProps.params,\n selectedExportType:\n exportTypeToBiExportType[state.selectedExportOption],\n numItems: (await state.totalForExportGettersMap[\n state.selectedExportOption\n ]()) as number | undefined,\n },\n });\n }\n\n onExportTypeChange({\n prev,\n next,\n }: {\n prev: SelectedExportOption;\n next: SelectedExportOption;\n }) {\n this._reportWithDefaultParams(\n withoutDefaults(cairoItemToggledInExportModal)({\n newSelectedExportType: exportTypeToBiExportType[next],\n prevSelectedExportType: exportTypeToBiExportType[prev],\n }),\n );\n }\n\n clickOpenModal() {\n const { state } = this;\n\n this._reportWithDefaultParams(\n withoutDefaults(cairoExportCtaClicked)({\n defaultExportType: exportTypeToBiExportType[state.selectedExportOption],\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n }),\n );\n }\n\n beforeToast() {\n const { state, reportBi } = this;\n\n reportBi(\n withoutDefaults(cairoFileDownloadToastDisplayed)({\n exportId: this.exportBiUniqueId,\n exportType: exportTypeToBiExportType[state.selectedExportOption],\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n try: state.retries,\n }),\n );\n\n return {\n startTime: performance.now(),\n };\n }\n\n onToastActionClick({ startTime }: { startTime: number }) {\n const { state, reportBi } = this;\n\n reportBi(\n withoutDefaults(cairoFileDownloadToastDownloadButtonClicked)({\n exportId: this.exportBiUniqueId,\n exportType: exportTypeToBiExportType[state.selectedExportOption],\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n duration: Math.round(performance.now() - startTime),\n }),\n );\n }\n\n onRetryExportToClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportFailedModalCtaClicked)({\n ctaName: 'Try Again',\n try: this.state.retries,\n }),\n );\n }\n\n onFailedCancel() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportFailedModalCtaClicked)({\n ctaName: 'Cancel',\n try: this.state.retries,\n }),\n );\n }\n\n onFailedClose() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportFailedModalCtaClicked)({\n ctaName: 'X Button',\n try: this.state.retries,\n }),\n );\n }\n\n onExportToClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportModalCtaClicked)({\n action: 'export',\n origin: 'Export Button',\n }),\n );\n }\n\n onExportStart() {\n const startTime = performance.now();\n\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportProcessStart)({\n try: this.state.retries,\n }),\n );\n\n return action(\n async ({\n job,\n query,\n result,\n saveAs,\n }: {\n job: ExportAsyncJob | null;\n query: QueryV2;\n result: 'success' | 'fail' | 'stopped by user';\n saveAs?: string;\n }) => {\n const {\n state: { retries, totalForExport },\n } = this;\n\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportProcessEnd)({\n duration: Math.round(performance.now() - startTime),\n try: retries,\n result,\n fileName: saveAs || '',\n numItemsExported:\n job != null\n ? getJobItemsAbsoluteCounter(job, { query, totalForExport })\n : 0,\n }),\n );\n },\n );\n }\n\n onCancelClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportModalCtaClicked)({\n action: 'dismiss',\n origin: 'Cancel Button',\n }),\n );\n }\n\n onCancelExportButtonClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoCancelExportModalCtaClicked)({\n duration,\n try: retries,\n ctaName: 'Cancel Export',\n modalType: 'Export',\n }),\n );\n }\n\n onCancelExportGoBackButtonClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoCancelExportModalCtaClicked)({\n duration,\n try: retries,\n ctaName: 'Go Back',\n modalType: 'Export',\n }),\n );\n }\n\n onCancelExportCloseButtonClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoCancelExportModalCtaClicked)({\n duration,\n try: retries,\n ctaName: 'X Button',\n modalType: 'Export',\n }),\n );\n }\n\n onExportCloseAttemptClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoUserAttemptsToCancelTheExport)({\n duration,\n origin: 'X Button',\n try: retries,\n }),\n );\n }\n\n onExportCancelAttemptClick() {\n const { state } = this;\n const { retries, exportStartTime } = state;\n const duration = performance.now() - exportStartTime;\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoUserAttemptsToCancelTheExport)({\n duration,\n origin: 'Cancel Button',\n try: retries,\n }),\n );\n }\n\n onCloseClick() {\n this._reportWithSelectedExportParams(\n withoutDefaults(cairoExportModalCtaClicked)({\n action: 'dismiss',\n origin: 'X Button',\n }),\n );\n }\n\n onToastDismissed({\n startTime,\n by: dismissMode,\n }: {\n startTime: number;\n by: 'manual' | 'automatic';\n }) {\n const { state, reportBi } = this;\n\n reportBi(\n withoutDefaults(cairoFileDownloadToastDismissed)({\n exportId: this.exportBiUniqueId,\n exportType: state.selectedExportOption,\n numSelectedItems: state.totalForExportGettersMap.selected() as\n | number\n | undefined,\n duration: Math.round(performance.now() - startTime),\n dismissMode,\n }),\n );\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,EAAA,GAAAC,OAAA;AAaA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,2BAAA,GAAAJ,OAAA;AAEA,MAAMK,eAAe,GAAG,IAAAC,uBAAiB,EAWvC,CAAC;AAEH,MAAMC,wBAA8D,GAAG;EACrEC,GAAG,EAAE,WAAW;EAChBC,QAAQ,EAAE,gBAAgB;EAC1BC,QAAQ,EAAE;AACZ,CAAC;AAEM,MAAMC,qBAAqB,CAA0B;EAK1DC,WAAWA,CAACC,KAAwB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,4BAFF,IAAAC,QAAI,EAAC,CAAC;IAGxC,IAAI,CAACH,KAAK,GAAGA,KAAK;EACpB;EAEA,IAAII,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACJ,KAAK,CAACI,QAAQ;EAC5B;EAEA,MAAMC,wBAAwBA,CAACC,WAAwB,EAAE;IACvD,MAAM;MAAEN,KAAK;MAAEO;IAAiB,CAAC,GAAG,IAAI;IACxC,IAAI,CAACH,QAAQ,CAAC;MACZ,GAAGE,WAAW;MACdE,MAAM,EAAE;QACN,GAAGF,WAAW,CAACE,MAAM;QACrBC,QAAQ,EAAEF,gBAAgB;QAC1BG,aAAa,EAAEV,KAAK,CAACW,UAAU,CAACC,MAAM,CAACC,YAAY;QACnDC,oBAAoB,EAAEC,IAAI,CAACC,SAAS,CAAC;UACnC,IAAIhB,KAAK,CAACiB,cAAc,CAACC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI;YAChD,CAACxB,wBAAwB,CAACC,GAAG,GAC3B,MAAMK,KAAK,CAACmB,wBAAwB,CAACxB,GAAG,CAAC;UAC7C,CAAC,CAAC;UACF,IAAIK,KAAK,CAACiB,cAAc,CAACC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;YACrD,CAACxB,wBAAwB,CAACE,QAAQ,GAChCI,KAAK,CAACmB,wBAAwB,CAACvB,QAAQ,CAAC;UAC5C,CAAC,CAAC;UACF,IAAII,KAAK,CAACiB,cAAc,CAACC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI;YACrD,CAACxB,wBAAwB,CAACG,QAAQ,GAChCG,KAAK,CAACmB,wBAAwB,CAACtB,QAAQ,CAAC;UAC5C,CAAC;QACH,CAAC;MACH;IACF,CAAC,CAAC;EACJ;EAEA,MAAMuB,+BAA+BA,CAACd,WAAwB,EAAE;IAC9D,MAAM;MAAEN;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM,IAAI,CAACK,wBAAwB,CAAC;MAClC,GAAGC,WAAW;MACdE,MAAM,EAAE;QACN,GAAGF,WAAW,CAACE,MAAM;QACrBa,kBAAkB,EAChB3B,wBAAwB,CAACM,KAAK,CAACsB,oBAAoB,CAAC;QACtDC,QAAQ,EAAG,MAAMvB,KAAK,CAACmB,wBAAwB,CAC7CnB,KAAK,CAACsB,oBAAoB,CAC3B,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEAE,kBAAkBA,CAAC;IACjBC,IAAI;IACJC;EAIF,CAAC,EAAE;IACD,IAAI,CAACrB,wBAAwB,CAC3Bb,eAAe,CAACmC,gCAA6B,CAAC,CAAC;MAC7CC,qBAAqB,EAAElC,wBAAwB,CAACgC,IAAI,CAAC;MACrDG,sBAAsB,EAAEnC,wBAAwB,CAAC+B,IAAI;IACvD,CAAC,CACH,CAAC;EACH;EAEAK,cAAcA,CAAA,EAAG;IACf,MAAM;MAAE9B;IAAM,CAAC,GAAG,IAAI;IAEtB,IAAI,CAACK,wBAAwB,CAC3Bb,eAAe,CAACuC,wBAAqB,CAAC,CAAC;MACrCC,iBAAiB,EAAEtC,wBAAwB,CAACM,KAAK,CAACsB,oBAAoB,CAAC;MACvEW,gBAAgB,EAAEjC,KAAK,CAACmB,wBAAwB,CAACtB,QAAQ,CAAC;IAG5D,CAAC,CACH,CAAC;EACH;EAEAqC,WAAWA,CAAA,EAAG;IACZ,MAAM;MAAElC,KAAK;MAAEI;IAAS,CAAC,GAAG,IAAI;IAEhCA,QAAQ,CACNZ,eAAe,CAAC2C,kCAA+B,CAAC,CAAC;MAC/C1B,QAAQ,EAAE,IAAI,CAACF,gBAAgB;MAC/B6B,UAAU,EAAE1C,wBAAwB,CAACM,KAAK,CAACsB,oBAAoB,CAAC;MAChEW,gBAAgB,EAAEjC,KAAK,CAACmB,wBAAwB,CAACtB,QAAQ,CAAC,CAE7C;MACbwC,GAAG,EAAErC,KAAK,CAACsC;IACb,CAAC,CACH,CAAC;IAED,OAAO;MACLC,SAAS,EAAEC,WAAW,CAACC,GAAG,CAAC;IAC7B,CAAC;EACH;EAEAC,kBAAkBA,CAAC;IAAEH;EAAiC,CAAC,EAAE;IACvD,MAAM;MAAEvC,KAAK;MAAEI;IAAS,CAAC,GAAG,IAAI;IAEhCA,QAAQ,CACNZ,eAAe,CAACmD,8CAA2C,CAAC,CAAC;MAC3DlC,QAAQ,EAAE,IAAI,CAACF,gBAAgB;MAC/B6B,UAAU,EAAE1C,wBAAwB,CAACM,KAAK,CAACsB,oBAAoB,CAAC;MAChEW,gBAAgB,EAAEjC,KAAK,CAACmB,wBAAwB,CAACtB,QAAQ,CAAC,CAE7C;MACb+C,QAAQ,EAAEC,IAAI,CAACC,KAAK,CAACN,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS;IACpD,CAAC,CACH,CAAC;EACH;EAEAQ,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAAC3B,+BAA+B,CAClC5B,eAAe,CAACwD,mCAAgC,CAAC,CAAC;MAChDC,OAAO,EAAE,WAAW;MACpBZ,GAAG,EAAE,IAAI,CAACrC,KAAK,CAACsC;IAClB,CAAC,CACH,CAAC;EACH;EAEAY,cAAcA,CAAA,EAAG;IACf,IAAI,CAAC9B,+BAA+B,CAClC5B,eAAe,CAACwD,mCAAgC,CAAC,CAAC;MAChDC,OAAO,EAAE,QAAQ;MACjBZ,GAAG,EAAE,IAAI,CAACrC,KAAK,CAACsC;IAClB,CAAC,CACH,CAAC;EACH;EAEAa,aAAaA,CAAA,EAAG;IACd,IAAI,CAAC/B,+BAA+B,CAClC5B,eAAe,CAACwD,mCAAgC,CAAC,CAAC;MAChDC,OAAO,EAAE,UAAU;MACnBZ,GAAG,EAAE,IAAI,CAACrC,KAAK,CAACsC;IAClB,CAAC,CACH,CAAC;EACH;EAEAc,eAAeA,CAAA,EAAG;IAChB,IAAI,CAAChC,+BAA+B,CAClC5B,eAAe,CAAC6D,6BAA0B,CAAC,CAAC;MAC1CC,MAAM,EAAE,QAAQ;MAChBC,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEAC,aAAaA,CAAA,EAAG;IACd,MAAMjB,SAAS,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;IAEnC,IAAI,CAACrB,+BAA+B,CAClC5B,eAAe,CAACiE,0BAAuB,CAAC,CAAC;MACvCpB,GAAG,EAAE,IAAI,CAACrC,KAAK,CAACsC;IAClB,CAAC,CACH,CAAC;IAED,OAAO,IAAAgB,YAAM,EACX,OAAO;MACLI,GAAG;MACHC,KAAK;MACL/C,MAAM;MACNgD;IAMF,CAAC,KAAK;MACJ,MAAM;QACJ5D,KAAK,EAAE;UAAEsC,OAAO;UAAEuB;QAAe;MACnC,CAAC,GAAG,IAAI;MAER,IAAI,CAACzC,+BAA+B,CAClC5B,eAAe,CAACsE,wBAAqB,CAAC,CAAC;QACrClB,QAAQ,EAAEC,IAAI,CAACC,KAAK,CAACN,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,CAAC;QACnDF,GAAG,EAAEC,OAAO;QACZ1B,MAAM;QACNmD,QAAQ,EAAEH,MAAM,IAAI,EAAE;QACtBI,gBAAgB,EACdN,GAAG,IAAI,IAAI,GACP,IAAAO,sDAA0B,EAACP,GAAG,EAAE;UAAEC,KAAK;UAAEE;QAAe,CAAC,CAAC,GAC1D;MACR,CAAC,CACH,CAAC;IACH,CACF,CAAC;EACH;EAEAK,aAAaA,CAAA,EAAG;IACd,IAAI,CAAC9C,+BAA+B,CAClC5B,eAAe,CAAC6D,6BAA0B,CAAC,CAAC;MAC1CC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEAY,yBAAyBA,CAAA,EAAG;IAC1B,MAAM;MAAEnE;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM;MAAEsC,OAAO;MAAE8B;IAAgB,CAAC,GAAGpE,KAAK;IAC1C,MAAM4C,QAAQ,GAAGJ,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG2B,eAAe;IACpD,IAAI,CAAChD,+BAA+B,CAClC5B,eAAe,CAAC6E,mCAAgC,CAAC,CAAC;MAChDzB,QAAQ;MACRP,GAAG,EAAEC,OAAO;MACZW,OAAO,EAAE,eAAe;MACxBqB,SAAS,EAAE;IACb,CAAC,CACH,CAAC;EACH;EAEAC,+BAA+BA,CAAA,EAAG;IAChC,MAAM;MAAEvE;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM;MAAEsC,OAAO;MAAE8B;IAAgB,CAAC,GAAGpE,KAAK;IAC1C,MAAM4C,QAAQ,GAAGJ,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG2B,eAAe;IACpD,IAAI,CAAChD,+BAA+B,CAClC5B,eAAe,CAAC6E,mCAAgC,CAAC,CAAC;MAChDzB,QAAQ;MACRP,GAAG,EAAEC,OAAO;MACZW,OAAO,EAAE,SAAS;MAClBqB,SAAS,EAAE;IACb,CAAC,CACH,CAAC;EACH;EAEAE,8BAA8BA,CAAA,EAAG;IAC/B,MAAM;MAAExE;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM;MAAEsC,OAAO;MAAE8B;IAAgB,CAAC,GAAGpE,KAAK;IAC1C,MAAM4C,QAAQ,GAAGJ,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG2B,eAAe;IACpD,IAAI,CAAChD,+BAA+B,CAClC5B,eAAe,CAAC6E,mCAAgC,CAAC,CAAC;MAChDzB,QAAQ;MACRP,GAAG,EAAEC,OAAO;MACZW,OAAO,EAAE,UAAU;MACnBqB,SAAS,EAAE;IACb,CAAC,CACH,CAAC;EACH;EAEAG,yBAAyBA,CAAA,EAAG;IAC1B,MAAM;MAAEzE;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM;MAAEsC,OAAO;MAAE8B;IAAgB,CAAC,GAAGpE,KAAK;IAC1C,MAAM4C,QAAQ,GAAGJ,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG2B,eAAe;IACpD,IAAI,CAAChD,+BAA+B,CAClC5B,eAAe,CAACkF,qCAAkC,CAAC,CAAC;MAClD9B,QAAQ;MACRW,MAAM,EAAE,UAAU;MAClBlB,GAAG,EAAEC;IACP,CAAC,CACH,CAAC;EACH;EAEAqC,0BAA0BA,CAAA,EAAG;IAC3B,MAAM;MAAE3E;IAAM,CAAC,GAAG,IAAI;IACtB,MAAM;MAAEsC,OAAO;MAAE8B;IAAgB,CAAC,GAAGpE,KAAK;IAC1C,MAAM4C,QAAQ,GAAGJ,WAAW,CAACC,GAAG,CAAC,CAAC,GAAG2B,eAAe;IACpD,IAAI,CAAChD,+BAA+B,CAClC5B,eAAe,CAACkF,qCAAkC,CAAC,CAAC;MAClD9B,QAAQ;MACRW,MAAM,EAAE,eAAe;MACvBlB,GAAG,EAAEC;IACP,CAAC,CACH,CAAC;EACH;EAEAsC,YAAYA,CAAA,EAAG;IACb,IAAI,CAACxD,+BAA+B,CAClC5B,eAAe,CAAC6D,6BAA0B,CAAC,CAAC;MAC1CC,MAAM,EAAE,SAAS;MACjBC,MAAM,EAAE;IACV,CAAC,CACH,CAAC;EACH;EAEAsB,gBAAgBA,CAAC;IACftC,SAAS;IACTuC,EAAE,EAAEC;EAIN,CAAC,EAAE;IACD,MAAM;MAAE/E,KAAK;MAAEI;IAAS,CAAC,GAAG,IAAI;IAEhCA,QAAQ,CACNZ,eAAe,CAACwF,kCAA+B,CAAC,CAAC;MAC/CvE,QAAQ,EAAE,IAAI,CAACF,gBAAgB;MAC/B6B,UAAU,EAAEpC,KAAK,CAACsB,oBAAoB;MACtCW,gBAAgB,EAAEjC,KAAK,CAACmB,wBAAwB,CAACtB,QAAQ,CAAC,CAE7C;MACb+C,QAAQ,EAAEC,IAAI,CAACC,KAAK,CAACN,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,CAAC;MACnDwC;IACF,CAAC,CACH,CAAC;EACH;AACF;AAACE,OAAA,CAAAnF,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["FedopsReporter","constructor","params","_defineProperty2","default","componentName","collection","internalMonitor","emitter","reportInteractionStart","once","isStale","customProps","cached","reportInteractionEnd","onFullRenderStart","exports"],"sources":["../../../src/state/FedopsReporter.ts"],"sourcesContent":["import { FiltersMap } from '../model';\nimport { WixPatternsMonitor } from '../services';\nimport { CollectionState } from './CollectionState';\n\nexport interface FedopsReporterParams<T, F extends FiltersMap> {\n componentName: string;\n collection: CollectionState<T, F>;\n internalMonitor: WixPatternsMonitor;\n}\n\nexport class FedopsReporter<T, F extends FiltersMap> {\n componentName;\n collection;\n internalMonitor;\n\n constructor(params: FedopsReporterParams<T, F>) {\n this.componentName = params.componentName;\n this.collection = params.collection;\n this.internalMonitor = params.internalMonitor;\n\n const {\n internalMonitor,\n componentName,\n collection: { emitter },\n } = this;\n\n internalMonitor.reportInteractionStart(componentName, 'initial-load');\n internalMonitor.reportInteractionStart(componentName, 'e2e');\n\n emitter.once('beforeInitialFetch', ({ isStale }) => {\n const customProps = { cached: !isStale };\n\n internalMonitor.reportInteractionEnd(componentName, 'initial-load');\n internalMonitor.reportInteractionStart(\n componentName,\n 'initial-fetch-data',\n customProps,\n );\n\n emitter.once('ready', () => {\n internalMonitor.reportInteractionEnd(\n componentName,\n 'initial-fetch-data',\n customProps,\n );\n });\n });\n }\n\n onFullRenderStart() {\n const { internalMonitor, componentName } = this;\n\n internalMonitor.reportInteractionStart(\n componentName,\n 'initial-full-render',\n );\n\n return () => {\n internalMonitor.reportInteractionEnd(\n componentName,\n 'initial-full-render',\n );\n internalMonitor.reportInteractionEnd(componentName, 'e2e');\n };\n }\n}\n"],"mappings":";;;;;;AAUO,MAAMA,cAAc,CAA0B;EAKnDC,WAAWA,CAACC,MAAkC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC9C,IAAI,CAACC,aAAa,GAAGH,MAAM,CAACG,aAAa;IACzC,IAAI,CAACC,UAAU,GAAGJ,MAAM,CAACI,UAAU;IACnC,IAAI,CAACC,eAAe,GAAGL,MAAM,CAACK,eAAe;IAE7C,MAAM;MACJA,eAAe;MACfF,aAAa;MACbC,UAAU,EAAE;QAAEE;MAAQ;IACxB,CAAC,GAAG,IAAI;IAERD,eAAe,CAACE,sBAAsB,CAACJ,aAAa,EAAE,cAAc,CAAC;IACrEE,eAAe,CAACE,sBAAsB,CAACJ,aAAa,EAAE,KAAK,CAAC;IAE5DG,OAAO,CAACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;MAAEC;IAAQ,CAAC,KAAK;MAClD,MAAMC,WAAW,GAAG;QAAEC,MAAM,EAAE,CAACF;MAAQ,CAAC;MAExCJ,eAAe,CAACO,oBAAoB,CAACT,aAAa,EAAE,cAAc,CAAC;MACnEE,eAAe,CAACE,sBAAsB,CACpCJ,aAAa,EACb,oBAAoB,EACpBO,WACF,CAAC;MAEDJ,OAAO,CAACE,IAAI,CAAC,OAAO,EAAE,MAAM;QAC1BH,eAAe,CAACO,oBAAoB,CAClCT,aAAa,EACb,oBAAoB,EACpBO,WACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAG,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAER,eAAe;MAAEF;IAAc,CAAC,GAAG,IAAI;IAE/CE,eAAe,CAACE,sBAAsB,CACpCJ,aAAa,EACb,qBACF,CAAC;IAED,OAAO,MAAM;MACXE,eAAe,CAACO,oBAAoB,CAClCT,aAAa,EACb,qBACF,CAAC;MACDE,eAAe,CAACO,oBAAoB,CAACT,aAAa,EAAE,KAAK,CAAC;IAC5D,CAAC;EACH;AACF;AAACW,OAAA,CAAAhB,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"names":["FedopsReporter","constructor","params","_defineProperty2","default","componentName","collection","internalMonitor","emitter","reportInteractionStart","once","isStale","customProps","cached","reportInteractionEnd","onFullRenderStart","exports"],"sources":["../../../src/state/FedopsReporter.ts"],"sourcesContent":["import { FiltersMap } from '../model';\nimport { WixPatternsMonitor } from '../services';\nimport { CollectionState } from './CollectionState';\n\nexport interface FedopsReporterParams<T, F extends FiltersMap> {\n componentName: string;\n collection: CollectionState<T, F>;\n internalMonitor: WixPatternsMonitor;\n}\n\nexport class FedopsReporter<T, F extends FiltersMap> {\n componentName;\n collection;\n internalMonitor;\n\n constructor(params: FedopsReporterParams<T, F>) {\n this.componentName = params.componentName;\n this.collection = params.collection;\n this.internalMonitor = params.internalMonitor;\n\n const {\n internalMonitor,\n componentName,\n collection: { emitter },\n } = this;\n\n internalMonitor.reportInteractionStart(componentName, 'initial-load');\n internalMonitor.reportInteractionStart(componentName, 'e2e');\n\n emitter.once('beforeInitialFetch', ({ isStale }) => {\n const customProps = { cached: !isStale };\n\n internalMonitor.reportInteractionEnd(componentName, 'initial-load');\n internalMonitor.reportInteractionStart(\n componentName,\n 'initial-fetch-data',\n customProps,\n );\n\n emitter.once('ready', () => {\n internalMonitor.reportInteractionEnd(\n componentName,\n 'initial-fetch-data',\n customProps,\n );\n });\n });\n }\n\n onFullRenderStart() {\n const { internalMonitor, componentName } = this;\n\n internalMonitor.reportInteractionStart(\n componentName,\n 'initial-full-render',\n );\n\n return () => {\n internalMonitor.reportInteractionEnd(\n componentName,\n 'initial-full-render',\n );\n internalMonitor.reportInteractionEnd(componentName, 'e2e');\n };\n }\n}\n"],"mappings":";;;;;;AAUO,MAAMA,cAAc,CAA0B;EAKnDC,WAAWA,CAACC,MAAkC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC9C,IAAI,CAACC,aAAa,GAAGH,MAAM,CAACG,aAAa;IACzC,IAAI,CAACC,UAAU,GAAGJ,MAAM,CAACI,UAAU;IACnC,IAAI,CAACC,eAAe,GAAGL,MAAM,CAACK,eAAe;IAE7C,MAAM;MACJA,eAAe;MACfF,aAAa;MACbC,UAAU,EAAE;QAAEE;MAAQ;IACxB,CAAC,GAAG,IAAI;IAERD,eAAe,CAACE,sBAAsB,CAACJ,aAAa,EAAE,cAAc,CAAC;IACrEE,eAAe,CAACE,sBAAsB,CAACJ,aAAa,EAAE,KAAK,CAAC;IAE5DG,OAAO,CAACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;MAAEC;IAAQ,CAAC,KAAK;MAClD,MAAMC,WAAW,GAAG;QAAEC,MAAM,EAAE,CAACF;MAAQ,CAAC;MAExCJ,eAAe,CAACO,oBAAoB,CAACT,aAAa,EAAE,cAAc,CAAC;MACnEE,eAAe,CAACE,sBAAsB,CACpCJ,aAAa,EACb,oBAAoB,EACpBO,WACF,CAAC;MAEDJ,OAAO,CAACE,IAAI,CAAC,OAAO,EAAE,MAAM;QAC1BH,eAAe,CAACO,oBAAoB,CAClCT,aAAa,EACb,oBAAoB,EACpBO,WACF,CAAC;MACH,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAG,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAER,eAAe;MAAEF;IAAc,CAAC,GAAG,IAAI;IAE/CE,eAAe,CAACE,sBAAsB,CACpCJ,aAAa,EACb,qBACF,CAAC;IAED,OAAO,MAAM;MACXE,eAAe,CAACO,oBAAoB,CAClCT,aAAa,EACb,qBACF,CAAC;MACDE,eAAe,CAACO,oBAAoB,CAACT,aAAa,EAAE,KAAK,CAAC;IAC5D,CAAC;EACH;AACF;AAACW,OAAA,CAAAhB,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","FormPageState","constructor","_defineProperty2","default","observable","map","Map","makeObservable","registerWidget","action","bound","isDirty","computed","key","state","_widgets","set","validate","data","isValid","widget","entries","widgetData","values","some","w","get","exports"],"sources":["../../../src/state/FormPageState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\n\nexport type WidgetState = {\n isDirty: boolean;\n validate: () => Promise<{ isValid: boolean; values?: Record<string, any> }>;\n};\n\nexport class FormPageState {\n _widgets = observable.map<string, WidgetState>(new Map());\n\n constructor() {\n makeObservable(this, {\n registerWidget: action.bound,\n isDirty: computed,\n });\n }\n\n registerWidget(key: string, state: WidgetState) {\n this._widgets.set(key, state);\n }\n\n async validate(): Promise<{ isValid: boolean; data: Record<string, any> }> {\n const data: Record<string, any> = {};\n let isValid = true;\n\n for (const [key, widget] of this._widgets.entries()) {\n const widgetData = await widget.validate();\n\n if (!widgetData.isValid) {\n isValid = false;\n return { isValid: false, data: {} };\n }\n\n data[key] = widgetData.values;\n }\n\n return { isValid, data };\n }\n\n get isDirty() {\n return [...this._widgets.values()].some((w) => w.isDirty);\n }\n\n get(key: string) {\n return this._widgets.get(key);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAOO,MAAMC,aAAa,CAAC;EAGzBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA,oBAFHC,gBAAU,CAACC,GAAG,CAAsB,IAAIC,GAAG,CAAC,CAAC,CAAC;IAGvD,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,cAAc,EAAEC,YAAM,CAACC,KAAK;MAC5BC,OAAO,EAAEC;IACX,CAAC,CAAC;EACJ;EAEAJ,cAAcA,CAACK,GAAW,EAAEC,KAAkB,EAAE;IAC9C,IAAI,CAACC,QAAQ,CAACC,GAAG,CAACH,GAAG,EAAEC,KAAK,CAAC;EAC/B;EAEA,MAAMG,QAAQA,CAAA,EAA6D;IACzE,MAAMC,IAAyB,GAAG,CAAC,CAAC;IACpC,IAAIC,OAAO,GAAG,IAAI;IAElB,KAAK,MAAM,CAACN,GAAG,EAAEO,MAAM,CAAC,IAAI,IAAI,CAACL,QAAQ,CAACM,OAAO,CAAC,CAAC,EAAE;MACnD,MAAMC,UAAU,GAAG,MAAMF,MAAM,CAACH,QAAQ,CAAC,CAAC;MAE1C,IAAI,CAACK,UAAU,CAACH,OAAO,EAAE;QACvBA,OAAO,GAAG,KAAK;QACf,OAAO;UAAEA,OAAO,EAAE,KAAK;UAAED,IAAI,EAAE,CAAC;QAAE,CAAC;MACrC;MAEAA,IAAI,CAACL,GAAG,CAAC,GAAGS,UAAU,CAACC,MAAM;IAC/B;IAEA,OAAO;MAAEJ,OAAO;MAAED;IAAK,CAAC;EAC1B;EAEA,IAAIP,OAAOA,CAAA,EAAG;IACZ,OAAO,CAAC,GAAG,IAAI,CAACI,QAAQ,CAACQ,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACd,OAAO,CAAC;EAC3D;EAEAe,GAAGA,CAACb,GAAW,EAAE;IACf,OAAO,IAAI,CAACE,QAAQ,CAACW,GAAG,CAACb,GAAG,CAAC;EAC/B;AACF;AAACc,OAAA,CAAA3B,aAAA,GAAAA,aAAA"}
1
+ {"version":3,"names":["_mobx","require","FormPageState","constructor","_defineProperty2","default","observable","map","Map","makeObservable","registerWidget","action","bound","isDirty","computed","key","state","_widgets","set","validate","data","isValid","widget","entries","widgetData","values","some","w","get","exports"],"sources":["../../../src/state/FormPageState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\n\nexport type WidgetState = {\n isDirty: boolean;\n validate: () => Promise<{ isValid: boolean; values?: Record<string, any> }>;\n};\n\nexport class FormPageState {\n _widgets = observable.map<string, WidgetState>(new Map());\n\n constructor() {\n makeObservable(this, {\n registerWidget: action.bound,\n isDirty: computed,\n });\n }\n\n registerWidget(key: string, state: WidgetState) {\n this._widgets.set(key, state);\n }\n\n async validate(): Promise<{ isValid: boolean; data: Record<string, any> }> {\n const data: Record<string, any> = {};\n let isValid = true;\n\n for (const [key, widget] of this._widgets.entries()) {\n const widgetData = await widget.validate();\n\n if (!widgetData.isValid) {\n isValid = false;\n return { isValid: false, data: {} };\n }\n\n data[key] = widgetData.values;\n }\n\n return { isValid, data };\n }\n\n get isDirty() {\n return [...this._widgets.values()].some((w) => w.isDirty);\n }\n\n get(key: string) {\n return this._widgets.get(key);\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAOO,MAAMC,aAAa,CAAC;EAGzBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA,oBAFHC,gBAAU,CAACC,GAAG,CAAsB,IAAIC,GAAG,CAAC,CAAC,CAAC;IAGvD,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,cAAc,EAAEC,YAAM,CAACC,KAAK;MAC5BC,OAAO,EAAEC;IACX,CAAC,CAAC;EACJ;EAEAJ,cAAcA,CAACK,GAAW,EAAEC,KAAkB,EAAE;IAC9C,IAAI,CAACC,QAAQ,CAACC,GAAG,CAACH,GAAG,EAAEC,KAAK,CAAC;EAC/B;EAEA,MAAMG,QAAQA,CAAA,EAA6D;IACzE,MAAMC,IAAyB,GAAG,CAAC,CAAC;IACpC,IAAIC,OAAO,GAAG,IAAI;IAElB,KAAK,MAAM,CAACN,GAAG,EAAEO,MAAM,CAAC,IAAI,IAAI,CAACL,QAAQ,CAACM,OAAO,CAAC,CAAC,EAAE;MACnD,MAAMC,UAAU,GAAG,MAAMF,MAAM,CAACH,QAAQ,CAAC,CAAC;MAE1C,IAAI,CAACK,UAAU,CAACH,OAAO,EAAE;QACvBA,OAAO,GAAG,KAAK;QACf,OAAO;UAAEA,OAAO,EAAE,KAAK;UAAED,IAAI,EAAE,CAAC;QAAE,CAAC;MACrC;MAEAA,IAAI,CAACL,GAAG,CAAC,GAAGS,UAAU,CAACC,MAAM;IAC/B;IAEA,OAAO;MAAEJ,OAAO;MAAED;IAAK,CAAC;EAC1B;EAEA,IAAIP,OAAOA,CAAA,EAAG;IACZ,OAAO,CAAC,GAAG,IAAI,CAACI,QAAQ,CAACQ,MAAM,CAAC,CAAC,CAAC,CAACC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACd,OAAO,CAAC;EAC3D;EAEAe,GAAGA,CAACb,GAAW,EAAE;IACf,OAAO,IAAI,CAACE,QAAQ,CAACW,GAAG,CAACb,GAAG,CAAC;EAC/B;AACF;AAACc,OAAA,CAAA3B,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_ToggleState","require","_mobx","_model","_events","ModalState","constructor","params","_defineProperty2","default","ToggleState","openToggle","toggle","queryStatus","idle","EventEmitter","events","emit","makeObservable","confirming","observable","open","action","bound","confirm","close","isOpen","computed","onConfirm","onClose","setOn","promise","Promise","resolve","once","options","_this$onConfirm","loading","call","runInAction","success","result","setOff","e","error","_this$onClose","decline","_this$onClose2","isOn","exports"],"sources":["../../../src/state/ModalState.ts"],"sourcesContent":["import { ToggleState } from './ToggleState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { QueryStatus, queryStatus } from '../model';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\n\ntype InteractionFn = () => void | Promise<unknown>;\n\nexport interface ModalStateParams {\n onConfirm?: InteractionFn;\n onClose?: InteractionFn;\n}\n\ninterface CloseOptions {\n result: 'confirmed' | 'declined' | 'dismissed';\n}\n\nexport class ModalState {\n public readonly openToggle = new ToggleState();\n public readonly toggle = this.openToggle.toggle;\n\n readonly onConfirm?: InteractionFn;\n readonly onClose?: InteractionFn;\n confirming: QueryStatus = queryStatus.idle;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n open: () => void;\n close: (options: CloseOptions) => void;\n requestClose: () => void;\n }>;\n\n constructor(params: ModalStateParams = {}) {\n makeObservable(this, {\n confirming: observable,\n open: action.bound,\n confirm: action.bound,\n close: action.bound,\n isOpen: computed,\n });\n\n this.onConfirm = params.onConfirm;\n this.onClose = params.onClose;\n }\n\n open() {\n this.events.emit('open');\n this.openToggle.setOn();\n }\n\n promise() {\n return new Promise<CloseOptions>((resolve) => {\n this.events.once('close', (options) => {\n resolve(options);\n });\n });\n }\n\n async confirm() {\n try {\n this.confirming = queryStatus.loading;\n await this.onConfirm?.();\n runInAction(() => {\n this.confirming = queryStatus.success;\n this.events.emit('close', {\n result: 'confirmed',\n });\n return this.openToggle.setOff();\n });\n } catch (e) {\n runInAction(() => {\n this.confirming = queryStatus.error;\n });\n }\n }\n\n close() {\n this.onClose?.();\n this.events.emit('close', { result: 'dismissed' });\n return this.openToggle.setOff();\n }\n\n decline() {\n this.onClose?.();\n this.events.emit('close', { result: 'declined' });\n return this.openToggle.setOff();\n }\n\n requestClose = () => {\n this.events.emit('requestClose');\n };\n\n get isOpen() {\n return this.openToggle.isOn;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_ToggleState","require","_mobx","_model","_events","ModalState","constructor","params","_defineProperty2","default","ToggleState","openToggle","toggle","queryStatus","idle","EventEmitter","events","emit","makeObservable","confirming","observable","open","action","bound","confirm","close","isOpen","computed","onConfirm","onClose","setOn","promise","Promise","resolve","once","options","_this$onConfirm","loading","call","runInAction","success","result","setOff","e","error","_this$onClose","decline","_this$onClose2","isOn","exports"],"sources":["../../../src/state/ModalState.ts"],"sourcesContent":["import { ToggleState } from './ToggleState';\nimport {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { QueryStatus, queryStatus } from '../model';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\n\ntype InteractionFn = () => void | Promise<unknown>;\n\nexport interface ModalStateParams {\n onConfirm?: InteractionFn;\n onClose?: InteractionFn;\n}\n\ninterface CloseOptions {\n result: 'confirmed' | 'declined' | 'dismissed';\n}\n\nexport class ModalState {\n public readonly openToggle = new ToggleState();\n public readonly toggle = this.openToggle.toggle;\n\n readonly onConfirm?: InteractionFn;\n readonly onClose?: InteractionFn;\n confirming: QueryStatus = queryStatus.idle;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n open: () => void;\n close: (options: CloseOptions) => void;\n requestClose: () => void;\n }>;\n\n constructor(params: ModalStateParams = {}) {\n makeObservable(this, {\n confirming: observable,\n open: action.bound,\n confirm: action.bound,\n close: action.bound,\n isOpen: computed,\n });\n\n this.onConfirm = params.onConfirm;\n this.onClose = params.onClose;\n }\n\n open() {\n this.events.emit('open');\n this.openToggle.setOn();\n }\n\n promise() {\n return new Promise<CloseOptions>((resolve) => {\n this.events.once('close', (options) => {\n resolve(options);\n });\n });\n }\n\n async confirm() {\n try {\n this.confirming = queryStatus.loading;\n await this.onConfirm?.();\n runInAction(() => {\n this.confirming = queryStatus.success;\n this.events.emit('close', {\n result: 'confirmed',\n });\n return this.openToggle.setOff();\n });\n } catch (e) {\n runInAction(() => {\n this.confirming = queryStatus.error;\n });\n }\n }\n\n close() {\n this.onClose?.();\n this.events.emit('close', { result: 'dismissed' });\n return this.openToggle.setOff();\n }\n\n decline() {\n this.onClose?.();\n this.events.emit('close', { result: 'declined' });\n return this.openToggle.setOff();\n }\n\n requestClose = () => {\n this.events.emit('requestClose');\n };\n\n get isOpen() {\n return this.openToggle.isOn;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","_TaskState","MultiCollectionSupport","constructor","params","_defineProperty2","default","TaskState","action","initTask","collections","status","isError","runOnce","forEach","c","retryErrorState","makeObservable","showInitialLoader","computed","showEmptyState","showErrorState","showRefreshLoader","errorStatus","hasAvailableItems","hasNonPersistentActiveFilters","hasNonPersistentCustomFilters","some","every","collection","showLoadingState","map","result","find","query","resultOriginQuerySearch","_this$collections$","originQuery","search","resultOriginQueryRawSearch","_this$collections$2","rawSearch","init","disposers","Promise","all","promise","d","exports"],"sources":["../../../src/state/MultiCollectionSupport.ts"],"sourcesContent":["import { action, computed, makeObservable } from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { DataResultKeyed, FiltersMap, QueryResultStatusError } from '../model';\nimport { TaskState } from './TaskState';\n\nexport interface MultiCollectionSupportParams<F extends FiltersMap> {\n readonly collections: CollectionState<any, F>[];\n}\n\nexport class MultiCollectionSupport<F extends FiltersMap> {\n readonly collections: CollectionState<unknown, F>[];\n readonly initTask = new TaskState();\n\n constructor(params: MultiCollectionSupportParams<F>) {\n this.collections = params.collections;\n\n makeObservable(this, {\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n showRefreshLoader: computed,\n errorStatus: computed,\n hasAvailableItems: computed,\n hasNonPersistentActiveFilters: computed,\n hasNonPersistentCustomFilters: computed,\n });\n }\n\n get showInitialLoader() {\n return this.collections.some((c) => c.showInitialLoader);\n }\n\n get showEmptyState() {\n return this.collections.every((collection) => collection.showEmptyState);\n }\n\n get showErrorState() {\n return this.collections.some((collection) => collection.showErrorState);\n }\n\n get showRefreshLoader() {\n return this.collections.some((collection) => collection.showRefreshLoader);\n }\n\n get showLoadingState() {\n return this.showInitialLoader || this.showRefreshLoader;\n }\n\n get errorStatus() {\n return this.collections\n .map((c) => c.result.status)\n .find(\n (\n status,\n ): status is QueryResultStatusError<DataResultKeyed<unknown>, F> =>\n status.isError,\n );\n }\n\n get hasAvailableItems() {\n return this.collections.some((c) => c.result.hasAvailableItems);\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.some((c) => c.query.hasNonPersistentActiveFilters);\n }\n\n get hasNonPersistentCustomFilters() {\n return this.collections.some((c) => c.query.hasNonPersistentCustomFilters);\n }\n\n get resultOriginQuerySearch() {\n return this.collections[0]?.result.originQuery.search;\n }\n\n get resultOriginQueryRawSearch() {\n return this.collections[0]?.result.originQuery.rawSearch;\n }\n\n retryErrorState = action(() => {\n const { initTask, collections } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n collections.forEach((c) => c.retryErrorState());\n }\n });\n\n init() {\n const { collections, initTask } = this;\n const disposers = [...collections.map((c) => c.init())];\n\n initTask.runOnce(async () => {\n collections.forEach((c) => c.initTask.runOnce());\n await Promise.all(collections.map((c) => c.initTask.status.promise));\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_mobx","require","_TaskState","MultiCollectionSupport","constructor","params","_defineProperty2","default","TaskState","action","initTask","collections","status","isError","runOnce","forEach","c","retryErrorState","makeObservable","showInitialLoader","computed","showEmptyState","showErrorState","showRefreshLoader","errorStatus","hasAvailableItems","hasNonPersistentActiveFilters","hasNonPersistentCustomFilters","some","every","collection","showLoadingState","map","result","find","query","resultOriginQuerySearch","_this$collections$","originQuery","search","resultOriginQueryRawSearch","_this$collections$2","rawSearch","init","disposers","Promise","all","promise","d","exports"],"sources":["../../../src/state/MultiCollectionSupport.ts"],"sourcesContent":["import { action, computed, makeObservable } from 'mobx';\nimport { CollectionState } from './CollectionState';\nimport { DataResultKeyed, FiltersMap, QueryResultStatusError } from '../model';\nimport { TaskState } from './TaskState';\n\nexport interface MultiCollectionSupportParams<F extends FiltersMap> {\n readonly collections: CollectionState<any, F>[];\n}\n\nexport class MultiCollectionSupport<F extends FiltersMap> {\n readonly collections: CollectionState<unknown, F>[];\n readonly initTask = new TaskState();\n\n constructor(params: MultiCollectionSupportParams<F>) {\n this.collections = params.collections;\n\n makeObservable(this, {\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n showRefreshLoader: computed,\n errorStatus: computed,\n hasAvailableItems: computed,\n hasNonPersistentActiveFilters: computed,\n hasNonPersistentCustomFilters: computed,\n });\n }\n\n get showInitialLoader() {\n return this.collections.some((c) => c.showInitialLoader);\n }\n\n get showEmptyState() {\n return this.collections.every((collection) => collection.showEmptyState);\n }\n\n get showErrorState() {\n return this.collections.some((collection) => collection.showErrorState);\n }\n\n get showRefreshLoader() {\n return this.collections.some((collection) => collection.showRefreshLoader);\n }\n\n get showLoadingState() {\n return this.showInitialLoader || this.showRefreshLoader;\n }\n\n get errorStatus() {\n return this.collections\n .map((c) => c.result.status)\n .find(\n (\n status,\n ): status is QueryResultStatusError<DataResultKeyed<unknown>, F> =>\n status.isError,\n );\n }\n\n get hasAvailableItems() {\n return this.collections.some((c) => c.result.hasAvailableItems);\n }\n\n get hasNonPersistentActiveFilters() {\n return this.collections.some((c) => c.query.hasNonPersistentActiveFilters);\n }\n\n get hasNonPersistentCustomFilters() {\n return this.collections.some((c) => c.query.hasNonPersistentCustomFilters);\n }\n\n get resultOriginQuerySearch() {\n return this.collections[0]?.result.originQuery.search;\n }\n\n get resultOriginQueryRawSearch() {\n return this.collections[0]?.result.originQuery.rawSearch;\n }\n\n retryErrorState = action(() => {\n const { initTask, collections } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n collections.forEach((c) => c.retryErrorState());\n }\n });\n\n init() {\n const { collections, initTask } = this;\n const disposers = [...collections.map((c) => c.init())];\n\n initTask.runOnce(async () => {\n collections.forEach((c) => c.initTask.runOnce());\n await Promise.all(collections.map((c) => c.initTask.status.promise));\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAGA,IAAAC,UAAA,GAAAD,OAAA;AAMO,MAAME,sBAAsB,CAAuB;EAIxDC,WAAWA,CAACC,MAAuC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAFjC,IAAIC,oBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,2BAoEjB,IAAAE,YAAM,EAAC,MAAM;MAC7B,MAAM;QAAEC,QAAQ;QAAEC;MAAY,CAAC,GAAG,IAAI;MAEtC,IAAID,QAAQ,CAACE,MAAM,CAACC,OAAO,EAAE;QAC3BH,QAAQ,CAACI,OAAO,CAAC,CAAC;MACpB,CAAC,MAAM;QACLH,WAAW,CAACI,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACC,eAAe,CAAC,CAAC,CAAC;MACjD;IACF,CAAC,CAAC;IAzEA,IAAI,CAACN,WAAW,GAAGN,MAAM,CAACM,WAAW;IAErC,IAAAO,oBAAc,EAAC,IAAI,EAAE;MACnBC,iBAAiB,EAAEC,cAAQ;MAC3BC,cAAc,EAAED,cAAQ;MACxBE,cAAc,EAAEF,cAAQ;MACxBG,iBAAiB,EAAEH,cAAQ;MAC3BI,WAAW,EAAEJ,cAAQ;MACrBK,iBAAiB,EAAEL,cAAQ;MAC3BM,6BAA6B,EAAEN,cAAQ;MACvCO,6BAA6B,EAAEP;IACjC,CAAC,CAAC;EACJ;EAEA,IAAID,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACR,WAAW,CAACiB,IAAI,CAAEZ,CAAC,IAAKA,CAAC,CAACG,iBAAiB,CAAC;EAC1D;EAEA,IAAIE,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACV,WAAW,CAACkB,KAAK,CAAEC,UAAU,IAAKA,UAAU,CAACT,cAAc,CAAC;EAC1E;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACX,WAAW,CAACiB,IAAI,CAAEE,UAAU,IAAKA,UAAU,CAACR,cAAc,CAAC;EACzE;EAEA,IAAIC,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACZ,WAAW,CAACiB,IAAI,CAAEE,UAAU,IAAKA,UAAU,CAACP,iBAAiB,CAAC;EAC5E;EAEA,IAAIQ,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACZ,iBAAiB,IAAI,IAAI,CAACI,iBAAiB;EACzD;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACb,WAAW,CACpBqB,GAAG,CAAEhB,CAAC,IAAKA,CAAC,CAACiB,MAAM,CAACrB,MAAM,CAAC,CAC3BsB,IAAI,CAEDtB,MAAM,IAENA,MAAM,CAACC,OACX,CAAC;EACL;EAEA,IAAIY,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACd,WAAW,CAACiB,IAAI,CAAEZ,CAAC,IAAKA,CAAC,CAACiB,MAAM,CAACR,iBAAiB,CAAC;EACjE;EAEA,IAAIC,6BAA6BA,CAAA,EAAG;IAClC,OAAO,IAAI,CAACf,WAAW,CAACiB,IAAI,CAAEZ,CAAC,IAAKA,CAAC,CAACmB,KAAK,CAACT,6BAA6B,CAAC;EAC5E;EAEA,IAAIC,6BAA6BA,CAAA,EAAG;IAClC,OAAO,IAAI,CAAChB,WAAW,CAACiB,IAAI,CAAEZ,CAAC,IAAKA,CAAC,CAACmB,KAAK,CAACR,6BAA6B,CAAC;EAC5E;EAEA,IAAIS,uBAAuBA,CAAA,EAAG;IAAA,IAAAC,kBAAA;IAC5B,QAAAA,kBAAA,GAAO,IAAI,CAAC1B,WAAW,CAAC,CAAC,CAAC,qBAAnB0B,kBAAA,CAAqBJ,MAAM,CAACK,WAAW,CAACC,MAAM;EACvD;EAEA,IAAIC,0BAA0BA,CAAA,EAAG;IAAA,IAAAC,mBAAA;IAC/B,QAAAA,mBAAA,GAAO,IAAI,CAAC9B,WAAW,CAAC,CAAC,CAAC,qBAAnB8B,mBAAA,CAAqBR,MAAM,CAACK,WAAW,CAACI,SAAS;EAC1D;EAYAC,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEhC,WAAW;MAAED;IAAS,CAAC,GAAG,IAAI;IACtC,MAAMkC,SAAS,GAAG,CAAC,GAAGjC,WAAW,CAACqB,GAAG,CAAEhB,CAAC,IAAKA,CAAC,CAAC2B,IAAI,CAAC,CAAC,CAAC,CAAC;IAEvDjC,QAAQ,CAACI,OAAO,CAAC,YAAY;MAC3BH,WAAW,CAACI,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACN,QAAQ,CAACI,OAAO,CAAC,CAAC,CAAC;MAChD,MAAM+B,OAAO,CAACC,GAAG,CAACnC,WAAW,CAACqB,GAAG,CAAEhB,CAAC,IAAKA,CAAC,CAACN,QAAQ,CAACE,MAAM,CAACmC,OAAO,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,OAAO,MAAM;MACXH,SAAS,CAAC7B,OAAO,CAAEiC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;EACH;AACF;AAACC,OAAA,CAAA9C,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_events","require","OnlineState","constructor","params","_defineProperty2","default","EventEmitter","onlineManager","focusManager","showToast","translate","isOnline","showOfflineToast","_this$_removeOfflineT","t","_removeOfflineToast","call","type","message","biName","timeout","remove","init","events","disposers","subscribe","emit","_this$_removeOfflineT2","isFocused","forEach","d","_removeOfflineToastTimeoutId","clearTimeout","exports"],"sources":["../../../src/state/OnlineState.ts"],"sourcesContent":["import { FocusManager, OnlineManager, Translate } from '../services';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { ShowToast } from '../model';\n\nexport interface OnlineStateParams {\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly showToast?: ShowToast;\n readonly translate: Translate;\n}\n\nexport class OnlineState {\n readonly onlineManager;\n readonly focusManager;\n readonly showToast;\n readonly translate;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (isOnline: boolean) => void;\n }>;\n\n _removeOfflineToastTimeoutId: ReturnType<typeof setTimeout> | null = null;\n _removeOfflineToast: (() => void) | null = null;\n\n constructor(params: OnlineStateParams) {\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.showToast = params.showToast;\n this.translate = params.translate;\n }\n\n get isOnline() {\n return this.onlineManager.isOnline();\n }\n\n showOfflineToast() {\n const { showToast, translate: t } = this;\n if (showToast == null) {\n return;\n }\n this._removeOfflineToast?.();\n this._removeOfflineToast = showToast({\n type: 'ERROR' as any,\n message: t('cairo.offline'),\n biName: 'cairo-offline-error',\n timeout: 'NONE',\n }).remove;\n\n // this._removeOfflineToastTimeoutId = setTimeout(() => {\n // this._removeOfflineToastTimeoutId = null;\n // this._removeOfflineToast?.();\n // }, 6000);\n }\n\n init() {\n const { focusManager, onlineManager, events } = this;\n const disposers = [\n onlineManager.subscribe(() => {\n const { isOnline } = this;\n\n events.emit('change', isOnline);\n\n if (!isOnline) {\n this.showOfflineToast();\n } else {\n this._removeOfflineToast?.();\n }\n }),\n focusManager.subscribe(() => {\n const { isOnline } = this;\n\n if (focusManager.isFocused() && isOnline && this._removeOfflineToast) {\n this._removeOfflineToast();\n }\n }),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n if (this._removeOfflineToast) {\n this._removeOfflineToast();\n }\n\n if (this._removeOfflineToastTimeoutId != null) {\n clearTimeout(this._removeOfflineToastTimeoutId);\n }\n };\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAWO,MAAMC,WAAW,CAAC;EAavBC,WAAWA,CAACC,MAAyB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAPrB,IAAIC,oBAAY,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,wCAIiC,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BAC9B,IAAI;IAG7C,IAAI,CAACE,aAAa,GAAGJ,MAAM,CAACI,aAAa;IACzC,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACK,YAAY;IACvC,IAAI,CAACC,SAAS,GAAGN,MAAM,CAACM,SAAS;IACjC,IAAI,CAACC,SAAS,GAAGP,MAAM,CAACO,SAAS;EACnC;EAEA,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACJ,aAAa,CAACI,QAAQ,CAAC,CAAC;EACtC;EAEAC,gBAAgBA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACjB,MAAM;MAAEJ,SAAS;MAAEC,SAAS,EAAEI;IAAE,CAAC,GAAG,IAAI;IACxC,IAAIL,SAAS,IAAI,IAAI,EAAE;MACrB;IACF;IACA,CAAAI,qBAAA,OAAI,CAACE,mBAAmB,aAAxBF,qBAAA,CAAAG,IAAA,KAA2B,CAAC;IAC5B,IAAI,CAACD,mBAAmB,GAAGN,SAAS,CAAC;MACnCQ,IAAI,EAAE,OAAc;MACpBC,OAAO,EAAEJ,CAAC,CAAC,eAAe,CAAC;MAC3BK,MAAM,EAAE,qBAAqB;MAC7BC,OAAO,EAAE;IACX,CAAC,CAAC,CAACC,MAAM;;IAET;IACA;IACA;IACA;EACF;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEd,YAAY;MAAED,aAAa;MAAEgB;IAAO,CAAC,GAAG,IAAI;IACpD,MAAMC,SAAS,GAAG,CAChBjB,aAAa,CAACkB,SAAS,CAAC,MAAM;MAC5B,MAAM;QAAEd;MAAS,CAAC,GAAG,IAAI;MAEzBY,MAAM,CAACG,IAAI,CAAC,QAAQ,EAAEf,QAAQ,CAAC;MAE/B,IAAI,CAACA,QAAQ,EAAE;QACb,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACzB,CAAC,MAAM;QAAA,IAAAe,sBAAA;QACL,CAAAA,sBAAA,OAAI,CAACZ,mBAAmB,aAAxBY,sBAAA,CAAAX,IAAA,KAA2B,CAAC;MAC9B;IACF,CAAC,CAAC,EACFR,YAAY,CAACiB,SAAS,CAAC,MAAM;MAC3B,MAAM;QAAEd;MAAS,CAAC,GAAG,IAAI;MAEzB,IAAIH,YAAY,CAACoB,SAAS,CAAC,CAAC,IAAIjB,QAAQ,IAAI,IAAI,CAACI,mBAAmB,EAAE;QACpE,IAAI,CAACA,mBAAmB,CAAC,CAAC;MAC5B;IACF,CAAC,CAAC,CACH;IAED,OAAO,MAAM;MACXS,SAAS,CAACK,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;MAC7B,IAAI,IAAI,CAACf,mBAAmB,EAAE;QAC5B,IAAI,CAACA,mBAAmB,CAAC,CAAC;MAC5B;MAEA,IAAI,IAAI,CAACgB,4BAA4B,IAAI,IAAI,EAAE;QAC7CC,YAAY,CAAC,IAAI,CAACD,4BAA4B,CAAC;MACjD;IACF,CAAC;EACH;AACF;AAACE,OAAA,CAAAhC,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"names":["_events","require","OnlineState","constructor","params","_defineProperty2","default","EventEmitter","onlineManager","focusManager","showToast","translate","isOnline","showOfflineToast","_this$_removeOfflineT","t","_removeOfflineToast","call","type","message","biName","timeout","remove","init","events","disposers","subscribe","emit","_this$_removeOfflineT2","isFocused","forEach","d","_removeOfflineToastTimeoutId","clearTimeout","exports"],"sources":["../../../src/state/OnlineState.ts"],"sourcesContent":["import { FocusManager, OnlineManager, Translate } from '../services';\nimport { EventEmitter } from 'events';\nimport { TypedEmitter } from '../util';\nimport { ShowToast } from '../model';\n\nexport interface OnlineStateParams {\n readonly onlineManager: OnlineManager;\n readonly focusManager: FocusManager;\n readonly showToast?: ShowToast;\n readonly translate: Translate;\n}\n\nexport class OnlineState {\n readonly onlineManager;\n readonly focusManager;\n readonly showToast;\n readonly translate;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n change: (isOnline: boolean) => void;\n }>;\n\n _removeOfflineToastTimeoutId: ReturnType<typeof setTimeout> | null = null;\n _removeOfflineToast: (() => void) | null = null;\n\n constructor(params: OnlineStateParams) {\n this.onlineManager = params.onlineManager;\n this.focusManager = params.focusManager;\n this.showToast = params.showToast;\n this.translate = params.translate;\n }\n\n get isOnline() {\n return this.onlineManager.isOnline();\n }\n\n showOfflineToast() {\n const { showToast, translate: t } = this;\n if (showToast == null) {\n return;\n }\n this._removeOfflineToast?.();\n this._removeOfflineToast = showToast({\n type: 'ERROR' as any,\n message: t('cairo.offline'),\n biName: 'cairo-offline-error',\n timeout: 'NONE',\n }).remove;\n\n // this._removeOfflineToastTimeoutId = setTimeout(() => {\n // this._removeOfflineToastTimeoutId = null;\n // this._removeOfflineToast?.();\n // }, 6000);\n }\n\n init() {\n const { focusManager, onlineManager, events } = this;\n const disposers = [\n onlineManager.subscribe(() => {\n const { isOnline } = this;\n\n events.emit('change', isOnline);\n\n if (!isOnline) {\n this.showOfflineToast();\n } else {\n this._removeOfflineToast?.();\n }\n }),\n focusManager.subscribe(() => {\n const { isOnline } = this;\n\n if (focusManager.isFocused() && isOnline && this._removeOfflineToast) {\n this._removeOfflineToast();\n }\n }),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n if (this._removeOfflineToast) {\n this._removeOfflineToast();\n }\n\n if (this._removeOfflineToastTimeoutId != null) {\n clearTimeout(this._removeOfflineToastTimeoutId);\n }\n };\n }\n}\n"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAWO,MAAMC,WAAW,CAAC;EAavBC,WAAWA,CAACC,MAAyB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAPrB,IAAIC,oBAAY,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,wCAIiC,IAAI;IAAA,IAAAD,gBAAA,CAAAC,OAAA,+BAC9B,IAAI;IAG7C,IAAI,CAACE,aAAa,GAAGJ,MAAM,CAACI,aAAa;IACzC,IAAI,CAACC,YAAY,GAAGL,MAAM,CAACK,YAAY;IACvC,IAAI,CAACC,SAAS,GAAGN,MAAM,CAACM,SAAS;IACjC,IAAI,CAACC,SAAS,GAAGP,MAAM,CAACO,SAAS;EACnC;EAEA,IAAIC,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACJ,aAAa,CAACI,QAAQ,CAAC,CAAC;EACtC;EAEAC,gBAAgBA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IACjB,MAAM;MAAEJ,SAAS;MAAEC,SAAS,EAAEI;IAAE,CAAC,GAAG,IAAI;IACxC,IAAIL,SAAS,IAAI,IAAI,EAAE;MACrB;IACF;IACA,CAAAI,qBAAA,OAAI,CAACE,mBAAmB,aAAxBF,qBAAA,CAAAG,IAAA,KAA2B,CAAC;IAC5B,IAAI,CAACD,mBAAmB,GAAGN,SAAS,CAAC;MACnCQ,IAAI,EAAE,OAAc;MACpBC,OAAO,EAAEJ,CAAC,CAAC,eAAe,CAAC;MAC3BK,MAAM,EAAE,qBAAqB;MAC7BC,OAAO,EAAE;IACX,CAAC,CAAC,CAACC,MAAM;;IAET;IACA;IACA;IACA;EACF;EAEAC,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEd,YAAY;MAAED,aAAa;MAAEgB;IAAO,CAAC,GAAG,IAAI;IACpD,MAAMC,SAAS,GAAG,CAChBjB,aAAa,CAACkB,SAAS,CAAC,MAAM;MAC5B,MAAM;QAAEd;MAAS,CAAC,GAAG,IAAI;MAEzBY,MAAM,CAACG,IAAI,CAAC,QAAQ,EAAEf,QAAQ,CAAC;MAE/B,IAAI,CAACA,QAAQ,EAAE;QACb,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACzB,CAAC,MAAM;QAAA,IAAAe,sBAAA;QACL,CAAAA,sBAAA,OAAI,CAACZ,mBAAmB,aAAxBY,sBAAA,CAAAX,IAAA,KAA2B,CAAC;MAC9B;IACF,CAAC,CAAC,EACFR,YAAY,CAACiB,SAAS,CAAC,MAAM;MAC3B,MAAM;QAAEd;MAAS,CAAC,GAAG,IAAI;MAEzB,IAAIH,YAAY,CAACoB,SAAS,CAAC,CAAC,IAAIjB,QAAQ,IAAI,IAAI,CAACI,mBAAmB,EAAE;QACpE,IAAI,CAACA,mBAAmB,CAAC,CAAC;MAC5B;IACF,CAAC,CAAC,CACH;IAED,OAAO,MAAM;MACXS,SAAS,CAACK,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;MAC7B,IAAI,IAAI,CAACf,mBAAmB,EAAE;QAC5B,IAAI,CAACA,mBAAmB,CAAC,CAAC;MAC5B;MAEA,IAAI,IAAI,CAACgB,4BAA4B,IAAI,IAAI,EAAE;QAC7CC,YAAY,CAAC,IAAI,CAACD,4BAA4B,CAAC;MACjD;IACF,CAAC;EACH;AACF;AAACE,OAAA,CAAAhC,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bexUtils","require","PageState","constructor","_defineProperty2","default","reactive","modalsContainerRef","current","stackingRootRef","sidePanelOpen","value","_sidePanelOpen","exports"],"sources":["../../../src/state/PageState.ts"],"sourcesContent":["import { reactive } from '@wix/bex-utils';\nimport { RefObject } from './RefObject';\n\nexport interface PageStateParams {}\n\nexport class PageState {\n readonly modalsContainerRef: RefObject<HTMLElement>;\n\n readonly stackingRootRef: RefObject<HTMLElement>;\n\n _sidePanelOpen = reactive<boolean>(false);\n\n constructor() {\n this.modalsContainerRef = { current: null };\n this.stackingRootRef = { current: null };\n }\n\n set sidePanelOpen(value: boolean) {\n this._sidePanelOpen.value = value;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAKO,MAAMC,SAAS,CAAC;EAOrBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAFG,IAAAC,kBAAQ,EAAU,KAAK,CAAC;IAGvC,IAAI,CAACC,kBAAkB,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IAC3C,IAAI,CAACC,eAAe,GAAG;MAAED,OAAO,EAAE;IAAK,CAAC;EAC1C;EAEA,IAAIE,aAAaA,CAACC,KAAc,EAAE;IAChC,IAAI,CAACC,cAAc,CAACD,KAAK,GAAGA,KAAK;EACnC;AACF;AAACE,OAAA,CAAAX,SAAA,GAAAA,SAAA"}
1
+ {"version":3,"names":["_bexUtils","require","PageState","constructor","_defineProperty2","default","reactive","modalsContainerRef","current","stackingRootRef","sidePanelOpen","value","_sidePanelOpen","exports"],"sources":["../../../src/state/PageState.ts"],"sourcesContent":["import { reactive } from '@wix/bex-utils';\nimport { RefObject } from './RefObject';\n\nexport interface PageStateParams {}\n\nexport class PageState {\n readonly modalsContainerRef: RefObject<HTMLElement>;\n\n readonly stackingRootRef: RefObject<HTMLElement>;\n\n _sidePanelOpen = reactive<boolean>(false);\n\n constructor() {\n this.modalsContainerRef = { current: null };\n this.stackingRootRef = { current: null };\n }\n\n set sidePanelOpen(value: boolean) {\n this._sidePanelOpen.value = value;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAKO,MAAMC,SAAS,CAAC;EAOrBC,WAAWA,CAAA,EAAG;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAFG,IAAAC,kBAAQ,EAAU,KAAK,CAAC;IAGvC,IAAI,CAACC,kBAAkB,GAAG;MAAEC,OAAO,EAAE;IAAK,CAAC;IAC3C,IAAI,CAACC,eAAe,GAAG;MAAED,OAAO,EAAE;IAAK,CAAC;EAC1C;EAEA,IAAIE,aAAaA,CAACC,KAAc,EAAE;IAChC,IAAI,CAACC,cAAc,CAACD,KAAK,GAAGA,KAAK;EACnC;AACF;AAACE,OAAA,CAAAX,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","initialCursor","exports","Pagination","constructor","params","_defineProperty2","default","limit","makeObservable","observable","ref","page","cursor","offset","computed","changeLimit","action","nextPage","prevPage","moveToPage","changeOffset","Math","floor","effectiveLimit","maxLimit","Infinity","eagerLimitQuery","limitQuery","toQueryString","String","pageBounds","from","to","pageOf","index"],"sources":["../../../src/state/Pagination.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\n\nexport const initialCursor = {};\n\nexport interface PaginationParams {\n limit?: number;\n}\n\nexport class Pagination {\n limit: number;\n page = 1;\n cursor: string | typeof initialCursor | null = initialCursor;\n\n constructor(params: PaginationParams) {\n this.limit = params.limit ?? 100;\n\n makeObservable(this, {\n limit: observable.ref,\n page: observable.ref,\n cursor: observable.ref,\n offset: computed,\n changeLimit: action,\n nextPage: action,\n prevPage: action,\n moveToPage: action,\n });\n }\n\n changeOffset(offset: number) {\n this.page = Math.floor(offset / this.limit) + 1;\n }\n\n effectiveLimit(maxLimit = Infinity) {\n const { limit } = this;\n return limit > 0 ? limit : maxLimit;\n }\n\n eagerLimitQuery() {\n const limit = this.effectiveLimit();\n return limit === Infinity ? {} : this.limitQuery();\n }\n\n limitQuery(maxLimit?: number) {\n const { page } = this;\n const limit = this.effectiveLimit(maxLimit);\n return {\n limit,\n offset: limit * (page - 1),\n };\n }\n\n public toQueryString(): Record<string, string> {\n return {\n page: String(this.page),\n limit: String(this.limit),\n };\n }\n\n changeLimit(limit: number) {\n this.limit = limit;\n }\n\n nextPage() {\n this.page += 1;\n }\n\n prevPage() {\n this.page -= 1;\n }\n\n moveToPage(page = 0) {\n this.page = page;\n }\n\n get offset() {\n const { limit, page } = this;\n return limit * (page - 1);\n }\n\n pageBounds(page: number) {\n const { limit } = this;\n const from = limit * (page - 1);\n return {\n from,\n to: from + limit,\n };\n }\n\n pageOf(index: number) {\n return Math.floor(index / this.limit) + 1;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_mobx","require","initialCursor","exports","Pagination","constructor","params","_defineProperty2","default","limit","makeObservable","observable","ref","page","cursor","offset","computed","changeLimit","action","nextPage","prevPage","moveToPage","changeOffset","Math","floor","effectiveLimit","maxLimit","Infinity","eagerLimitQuery","limitQuery","toQueryString","String","pageBounds","from","to","pageOf","index"],"sources":["../../../src/state/Pagination.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\n\nexport const initialCursor = {};\n\nexport interface PaginationParams {\n limit?: number;\n}\n\nexport class Pagination {\n limit: number;\n page = 1;\n cursor: string | typeof initialCursor | null = initialCursor;\n\n constructor(params: PaginationParams) {\n this.limit = params.limit ?? 100;\n\n makeObservable(this, {\n limit: observable.ref,\n page: observable.ref,\n cursor: observable.ref,\n offset: computed,\n changeLimit: action,\n nextPage: action,\n prevPage: action,\n moveToPage: action,\n });\n }\n\n changeOffset(offset: number) {\n this.page = Math.floor(offset / this.limit) + 1;\n }\n\n effectiveLimit(maxLimit = Infinity) {\n const { limit } = this;\n return limit > 0 ? limit : maxLimit;\n }\n\n eagerLimitQuery() {\n const limit = this.effectiveLimit();\n return limit === Infinity ? {} : this.limitQuery();\n }\n\n limitQuery(maxLimit?: number) {\n const { page } = this;\n const limit = this.effectiveLimit(maxLimit);\n return {\n limit,\n offset: limit * (page - 1),\n };\n }\n\n public toQueryString(): Record<string, string> {\n return {\n page: String(this.page),\n limit: String(this.limit),\n };\n }\n\n changeLimit(limit: number) {\n this.limit = limit;\n }\n\n nextPage() {\n this.page += 1;\n }\n\n prevPage() {\n this.page -= 1;\n }\n\n moveToPage(page = 0) {\n this.page = page;\n }\n\n get offset() {\n const { limit, page } = this;\n return limit * (page - 1);\n }\n\n pageBounds(page: number) {\n const { limit } = this;\n const from = limit * (page - 1);\n return {\n from,\n to: from + limit,\n };\n }\n\n pageOf(index: number) {\n return Math.floor(index / this.limit) + 1;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAEO,MAAMC,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,CAAC,CAAC;AAMxB,MAAME,UAAU,CAAC;EAKtBC,WAAWA,CAACC,MAAwB,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gBAH/B,CAAC;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBACuCN,aAAa;IAG1D,IAAI,CAACO,KAAK,GAAGH,MAAM,CAACG,KAAK,IAAI,GAAG;IAEhC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBD,KAAK,EAAEE,gBAAU,CAACC,GAAG;MACrBC,IAAI,EAAEF,gBAAU,CAACC,GAAG;MACpBE,MAAM,EAAEH,gBAAU,CAACC,GAAG;MACtBG,MAAM,EAAEC,cAAQ;MAChBC,WAAW,EAAEC,YAAM;MACnBC,QAAQ,EAAED,YAAM;MAChBE,QAAQ,EAAEF,YAAM;MAChBG,UAAU,EAAEH;IACd,CAAC,CAAC;EACJ;EAEAI,YAAYA,CAACP,MAAc,EAAE;IAC3B,IAAI,CAACF,IAAI,GAAGU,IAAI,CAACC,KAAK,CAACT,MAAM,GAAG,IAAI,CAACN,KAAK,CAAC,GAAG,CAAC;EACjD;EAEAgB,cAAcA,CAACC,QAAQ,GAAGC,QAAQ,EAAE;IAClC,MAAM;MAAElB;IAAM,CAAC,GAAG,IAAI;IACtB,OAAOA,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAGiB,QAAQ;EACrC;EAEAE,eAAeA,CAAA,EAAG;IAChB,MAAMnB,KAAK,GAAG,IAAI,CAACgB,cAAc,CAAC,CAAC;IACnC,OAAOhB,KAAK,KAAKkB,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,CAACE,UAAU,CAAC,CAAC;EACpD;EAEAA,UAAUA,CAACH,QAAiB,EAAE;IAC5B,MAAM;MAAEb;IAAK,CAAC,GAAG,IAAI;IACrB,MAAMJ,KAAK,GAAG,IAAI,CAACgB,cAAc,CAACC,QAAQ,CAAC;IAC3C,OAAO;MACLjB,KAAK;MACLM,MAAM,EAAEN,KAAK,IAAII,IAAI,GAAG,CAAC;IAC3B,CAAC;EACH;EAEOiB,aAAaA,CAAA,EAA2B;IAC7C,OAAO;MACLjB,IAAI,EAAEkB,MAAM,CAAC,IAAI,CAAClB,IAAI,CAAC;MACvBJ,KAAK,EAAEsB,MAAM,CAAC,IAAI,CAACtB,KAAK;IAC1B,CAAC;EACH;EAEAQ,WAAWA,CAACR,KAAa,EAAE;IACzB,IAAI,CAACA,KAAK,GAAGA,KAAK;EACpB;EAEAU,QAAQA,CAAA,EAAG;IACT,IAAI,CAACN,IAAI,IAAI,CAAC;EAChB;EAEAO,QAAQA,CAAA,EAAG;IACT,IAAI,CAACP,IAAI,IAAI,CAAC;EAChB;EAEAQ,UAAUA,CAACR,IAAI,GAAG,CAAC,EAAE;IACnB,IAAI,CAACA,IAAI,GAAGA,IAAI;EAClB;EAEA,IAAIE,MAAMA,CAAA,EAAG;IACX,MAAM;MAAEN,KAAK;MAAEI;IAAK,CAAC,GAAG,IAAI;IAC5B,OAAOJ,KAAK,IAAII,IAAI,GAAG,CAAC,CAAC;EAC3B;EAEAmB,UAAUA,CAACnB,IAAY,EAAE;IACvB,MAAM;MAAEJ;IAAM,CAAC,GAAG,IAAI;IACtB,MAAMwB,IAAI,GAAGxB,KAAK,IAAII,IAAI,GAAG,CAAC,CAAC;IAC/B,OAAO;MACLoB,IAAI;MACJC,EAAE,EAAED,IAAI,GAAGxB;IACb,CAAC;EACH;EAEA0B,MAAMA,CAACC,KAAa,EAAE;IACpB,OAAOb,IAAI,CAACC,KAAK,CAACY,KAAK,GAAG,IAAI,CAAC3B,KAAK,CAAC,GAAG,CAAC;EAC3C;AACF;AAACN,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_PaginationModeCursor","require","_PaginationModeOffset","PaginationMode","constructor","collection","_defineProperty2","default","cursorMode","PaginationModeCursor","offsetMode","PaginationModeOffset","mode","_paginationModeRef","current","fetchedLastPage","setCursor","cursor","id","exports"],"sources":["../../../src/state/PaginationMode.ts"],"sourcesContent":["import { PaginationModeCursor } from './PaginationModeCursor';\nimport { PaginationModeOffset } from './PaginationModeOffset';\nimport { CollectionState } from './CollectionState';\nimport { FiltersMap } from '../model';\n\nexport type PaginationModeRef = {\n current: 'offset' | 'cursor' | undefined;\n};\n\nexport class PaginationMode<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly cursorMode: PaginationModeCursor<T, F>;\n readonly offsetMode: PaginationModeOffset<T, F>;\n\n constructor(collection: CollectionState<T, F>) {\n this.collection = collection;\n this.cursorMode = new PaginationModeCursor({ collection });\n this.offsetMode = new PaginationModeOffset({ collection });\n }\n\n get mode(): PaginationModeCursor<T, F> | PaginationModeOffset<T, F> {\n return this.collection._paginationModeRef.current === 'cursor'\n ? this.cursorMode\n : this.offsetMode;\n }\n\n get fetchedLastPage() {\n return this.mode.fetchedLastPage;\n }\n\n setCursor(cursor: string | null) {\n this.mode.setCursor(cursor);\n }\n\n get id() {\n return this.mode.id;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAQO,MAAME,cAAc,CAAuC;EAKhEC,WAAWA,CAACC,UAAiC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC7C,IAAI,CAACF,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACG,UAAU,GAAG,IAAIC,0CAAoB,CAAC;MAAEJ;IAAW,CAAC,CAAC;IAC1D,IAAI,CAACK,UAAU,GAAG,IAAIC,0CAAoB,CAAC;MAAEN;IAAW,CAAC,CAAC;EAC5D;EAEA,IAAIO,IAAIA,CAAA,EAA4D;IAClE,OAAO,IAAI,CAACP,UAAU,CAACQ,kBAAkB,CAACC,OAAO,KAAK,QAAQ,GAC1D,IAAI,CAACN,UAAU,GACf,IAAI,CAACE,UAAU;EACrB;EAEA,IAAIK,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACH,IAAI,CAACG,eAAe;EAClC;EAEAC,SAASA,CAACC,MAAqB,EAAE;IAC/B,IAAI,CAACL,IAAI,CAACI,SAAS,CAACC,MAAM,CAAC;EAC7B;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACP,OAAO,IAAI,CAACN,IAAI,CAACM,EAAE;EACrB;AACF;AAACC,OAAA,CAAAhB,cAAA,GAAAA,cAAA"}
1
+ {"version":3,"names":["_PaginationModeCursor","require","_PaginationModeOffset","PaginationMode","constructor","collection","_defineProperty2","default","cursorMode","PaginationModeCursor","offsetMode","PaginationModeOffset","mode","_paginationModeRef","current","fetchedLastPage","setCursor","cursor","id","exports"],"sources":["../../../src/state/PaginationMode.ts"],"sourcesContent":["import { PaginationModeCursor } from './PaginationModeCursor';\nimport { PaginationModeOffset } from './PaginationModeOffset';\nimport { CollectionState } from './CollectionState';\nimport { FiltersMap } from '../model';\n\nexport type PaginationModeRef = {\n current: 'offset' | 'cursor' | undefined;\n};\n\nexport class PaginationMode<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly cursorMode: PaginationModeCursor<T, F>;\n readonly offsetMode: PaginationModeOffset<T, F>;\n\n constructor(collection: CollectionState<T, F>) {\n this.collection = collection;\n this.cursorMode = new PaginationModeCursor({ collection });\n this.offsetMode = new PaginationModeOffset({ collection });\n }\n\n get mode(): PaginationModeCursor<T, F> | PaginationModeOffset<T, F> {\n return this.collection._paginationModeRef.current === 'cursor'\n ? this.cursorMode\n : this.offsetMode;\n }\n\n get fetchedLastPage() {\n return this.mode.fetchedLastPage;\n }\n\n setCursor(cursor: string | null) {\n this.mode.setCursor(cursor);\n }\n\n get id() {\n return this.mode.id;\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,qBAAA,GAAAD,OAAA;AAQO,MAAME,cAAc,CAAuC;EAKhEC,WAAWA,CAACC,UAAiC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAC7C,IAAI,CAACF,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACG,UAAU,GAAG,IAAIC,0CAAoB,CAAC;MAAEJ;IAAW,CAAC,CAAC;IAC1D,IAAI,CAACK,UAAU,GAAG,IAAIC,0CAAoB,CAAC;MAAEN;IAAW,CAAC,CAAC;EAC5D;EAEA,IAAIO,IAAIA,CAAA,EAA4D;IAClE,OAAO,IAAI,CAACP,UAAU,CAACQ,kBAAkB,CAACC,OAAO,KAAK,QAAQ,GAC1D,IAAI,CAACN,UAAU,GACf,IAAI,CAACE,UAAU;EACrB;EAEA,IAAIK,eAAeA,CAAA,EAAG;IACpB,OAAO,IAAI,CAACH,IAAI,CAACG,eAAe;EAClC;EAEAC,SAASA,CAACC,MAAqB,EAAE;IAC/B,IAAI,CAACL,IAAI,CAACI,SAAS,CAACC,MAAM,CAAC;EAC7B;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACP,OAAO,IAAI,CAACN,IAAI,CAACM,EAAE;EACrB;AACF;AAACC,OAAA,CAAAhB,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","PaginationModeCursor","constructor","params","_defineProperty2","default","collection","makeObservable","fetchedLastPage","computed","setCursor","action","query","pagination","cursor","id","exports"],"sources":["../../../src/state/PaginationModeCursor.ts"],"sourcesContent":["import { FiltersMap } from '../model';\nimport { CollectionState } from './CollectionState';\nimport { action, computed, makeObservable } from 'mobx';\n\nexport interface PaginationModeCursorParams<\n T,\n F extends FiltersMap = FiltersMap,\n> {\n collection: CollectionState<T, F>;\n}\n\nexport class PaginationModeCursor<T, F extends FiltersMap = FiltersMap> {\n static readonly id = 'cursor' as const;\n\n readonly collection: CollectionState<T, F>;\n\n constructor(params: PaginationModeCursorParams<T, F>) {\n this.collection = params.collection;\n makeObservable(this, {\n fetchedLastPage: computed,\n setCursor: action,\n });\n }\n\n get fetchedLastPage() {\n const {\n query: {\n pagination: { cursor },\n },\n } = this.collection;\n return cursor == null;\n }\n\n setCursor(cursor: string | null) {\n const { query } = this.collection;\n query.pagination.cursor = cursor;\n }\n\n get id() {\n return PaginationModeCursor.id;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AASO,MAAMC,oBAAoB,CAAuC;EAKtEC,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACpD,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,cAAQ;MACzBC,SAAS,EAAEC;IACb,CAAC,CAAC;EACJ;EAEA,IAAIH,eAAeA,CAAA,EAAG;IACpB,MAAM;MACJI,KAAK,EAAE;QACLC,UAAU,EAAE;UAAEC;QAAO;MACvB;IACF,CAAC,GAAG,IAAI,CAACR,UAAU;IACnB,OAAOQ,MAAM,IAAI,IAAI;EACvB;EAEAJ,SAASA,CAACI,MAAqB,EAAE;IAC/B,MAAM;MAAEF;IAAM,CAAC,GAAG,IAAI,CAACN,UAAU;IACjCM,KAAK,CAACC,UAAU,CAACC,MAAM,GAAGA,MAAM;EAClC;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACP,OAAOd,oBAAoB,CAACc,EAAE;EAChC;AACF;AAACC,OAAA,CAAAf,oBAAA,GAAAA,oBAAA;AAAA,IAAAG,gBAAA,CAAAC,OAAA,EA9BYJ,oBAAoB,QACV,QAAQ"}
1
+ {"version":3,"names":["_mobx","require","PaginationModeCursor","constructor","params","_defineProperty2","default","collection","makeObservable","fetchedLastPage","computed","setCursor","action","query","pagination","cursor","id","exports"],"sources":["../../../src/state/PaginationModeCursor.ts"],"sourcesContent":["import { FiltersMap } from '../model';\nimport { CollectionState } from './CollectionState';\nimport { action, computed, makeObservable } from 'mobx';\n\nexport interface PaginationModeCursorParams<\n T,\n F extends FiltersMap = FiltersMap,\n> {\n collection: CollectionState<T, F>;\n}\n\nexport class PaginationModeCursor<T, F extends FiltersMap = FiltersMap> {\n static readonly id = 'cursor' as const;\n\n readonly collection: CollectionState<T, F>;\n\n constructor(params: PaginationModeCursorParams<T, F>) {\n this.collection = params.collection;\n makeObservable(this, {\n fetchedLastPage: computed,\n setCursor: action,\n });\n }\n\n get fetchedLastPage() {\n const {\n query: {\n pagination: { cursor },\n },\n } = this.collection;\n return cursor == null;\n }\n\n setCursor(cursor: string | null) {\n const { query } = this.collection;\n query.pagination.cursor = cursor;\n }\n\n get id() {\n return PaginationModeCursor.id;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AASO,MAAMC,oBAAoB,CAAuC;EAKtEC,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACpD,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,cAAQ;MACzBC,SAAS,EAAEC;IACb,CAAC,CAAC;EACJ;EAEA,IAAIH,eAAeA,CAAA,EAAG;IACpB,MAAM;MACJI,KAAK,EAAE;QACLC,UAAU,EAAE;UAAEC;QAAO;MACvB;IACF,CAAC,GAAG,IAAI,CAACR,UAAU;IACnB,OAAOQ,MAAM,IAAI,IAAI;EACvB;EAEAJ,SAASA,CAACI,MAAqB,EAAE;IAC/B,MAAM;MAAEF;IAAM,CAAC,GAAG,IAAI,CAACN,UAAU;IACjCM,KAAK,CAACC,UAAU,CAACC,MAAM,GAAGA,MAAM;EAClC;EAEA,IAAIC,EAAEA,CAAA,EAAG;IACP,OAAOd,oBAAoB,CAACc,EAAE;EAChC;AACF;AAACC,OAAA,CAAAf,oBAAA,GAAAA,oBAAA;AAAA,IAAAG,gBAAA,CAAAC,OAAA,EA9BYJ,oBAAoB,QACV,QAAQ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_mobx","require","PaginationModeOffset","constructor","params","_defineProperty2","default","collection","makeObservable","fetchedLastPage","computed","totalPages","result","pages","length","setCursor","id","exports"],"sources":["../../../src/state/PaginationModeOffset.ts"],"sourcesContent":["import { FiltersMap } from '../model';\nimport { CollectionState } from './CollectionState';\nimport { computed, makeObservable } from 'mobx';\n\nexport interface PaginationModeOffsetParams<\n T,\n F extends FiltersMap = FiltersMap,\n> {\n collection: CollectionState<T, F>;\n}\n\nexport class PaginationModeOffset<T, F extends FiltersMap = FiltersMap> {\n static readonly id = 'offset' as const;\n\n readonly collection: CollectionState<T, F>;\n constructor(params: PaginationModeOffsetParams<T, F>) {\n this.collection = params.collection;\n makeObservable(this, {\n fetchedLastPage: computed,\n });\n }\n\n get fetchedLastPage() {\n const {\n totalPages,\n result: { pages },\n } = this.collection;\n return pages.length >= totalPages;\n }\n\n setCursor() {}\n\n get id() {\n return PaginationModeOffset.id;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AASO,MAAMC,oBAAoB,CAAuC;EAItEC,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACpD,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC;IACnB,CAAC,CAAC;EACJ;EAEA,IAAID,eAAeA,CAAA,EAAG;IACpB,MAAM;MACJE,UAAU;MACVC,MAAM,EAAE;QAAEC;MAAM;IAClB,CAAC,GAAG,IAAI,CAACN,UAAU;IACnB,OAAOM,KAAK,CAACC,MAAM,IAAIH,UAAU;EACnC;EAEAI,SAASA,CAAA,EAAG,CAAC;EAEb,IAAIC,EAAEA,CAAA,EAAG;IACP,OAAOd,oBAAoB,CAACc,EAAE;EAChC;AACF;AAACC,OAAA,CAAAf,oBAAA,GAAAA,oBAAA;AAAA,IAAAG,gBAAA,CAAAC,OAAA,EAxBYJ,oBAAoB,QACV,QAAQ"}
1
+ {"version":3,"names":["_mobx","require","PaginationModeOffset","constructor","params","_defineProperty2","default","collection","makeObservable","fetchedLastPage","computed","totalPages","result","pages","length","setCursor","id","exports"],"sources":["../../../src/state/PaginationModeOffset.ts"],"sourcesContent":["import { FiltersMap } from '../model';\nimport { CollectionState } from './CollectionState';\nimport { computed, makeObservable } from 'mobx';\n\nexport interface PaginationModeOffsetParams<\n T,\n F extends FiltersMap = FiltersMap,\n> {\n collection: CollectionState<T, F>;\n}\n\nexport class PaginationModeOffset<T, F extends FiltersMap = FiltersMap> {\n static readonly id = 'offset' as const;\n\n readonly collection: CollectionState<T, F>;\n constructor(params: PaginationModeOffsetParams<T, F>) {\n this.collection = params.collection;\n makeObservable(this, {\n fetchedLastPage: computed,\n });\n }\n\n get fetchedLastPage() {\n const {\n totalPages,\n result: { pages },\n } = this.collection;\n return pages.length >= totalPages;\n }\n\n setCursor() {}\n\n get id() {\n return PaginationModeOffset.id;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AASO,MAAMC,oBAAoB,CAAuC;EAItEC,WAAWA,CAACC,MAAwC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IACpD,IAAI,CAACC,UAAU,GAAGH,MAAM,CAACG,UAAU;IACnC,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC;IACnB,CAAC,CAAC;EACJ;EAEA,IAAID,eAAeA,CAAA,EAAG;IACpB,MAAM;MACJE,UAAU;MACVC,MAAM,EAAE;QAAEC;MAAM;IAClB,CAAC,GAAG,IAAI,CAACN,UAAU;IACnB,OAAOM,KAAK,CAACC,MAAM,IAAIH,UAAU;EACnC;EAEAI,SAASA,CAAA,EAAG,CAAC;EAEb,IAAIC,EAAEA,CAAA,EAAG;IACP,OAAOd,oBAAoB,CAACc,EAAE;EAChC;AACF;AAACC,OAAA,CAAAf,oBAAA,GAAAA,oBAAA;AAAA,IAAAG,gBAAA,CAAAC,OAAA,EAxBYJ,oBAAoB,QACV,QAAQ","ignoreList":[]}