@corva/ui 3.47.0-0 → 3.47.0-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/AppHeader.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/AppHeader.module.css.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.module.css.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHints.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/constants.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useBicWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useBicWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreProvider.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/view-store/ViewStoreProvider.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/viewport-store/createViewportStore.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewType.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewType.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportContext.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportContext.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportProvider.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/ViewportProvider.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/computeViewType.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/computeViewType.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/useViewType.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/viewport/useViewType.js.map +1 -0
- package/cjs-bundle/componentsV2/Button/Button.scss.js +1 -1
- package/components/OffsetWellPickerV2/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/effects/index.js +1 -1
- package/components/OffsetWellPickerV2/effects/index.js.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.module.css.js +1 -1
- package/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js +1 -1
- package/components/OffsetWellPickerV5/components/CustomInfoIcon/CustomInfoIcon.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.d.ts +1 -2
- package/components/OffsetWellPickerV5/components/Filter/Filter.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.d.ts +8 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +2 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.module.css.js +2 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/index.d.ts +2 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/index.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.d.ts +1 -7
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/constants.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHints.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHints.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.d.ts +6 -2
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.d.ts +1 -2
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusKeyboardHandlers.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.d.ts +8 -0
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTooltip.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.d.ts +1 -5
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useWellMarkers.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.js.map +1 -1
- package/components/OffsetWellPickerV5/constants.d.ts +0 -1
- package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/constants.js +1 -1
- package/components/OffsetWellPickerV5/constants.js.map +1 -1
- package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.d.ts +2 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js +2 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.js.map +1 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/index.d.ts +3 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/index.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/types.d.ts +21 -0
- package/components/OffsetWellPickerV5/effects/cache-utils/types.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.d.ts +9 -1
- package/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.js +1 -1
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.d.ts +5 -1
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.js +1 -1
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/types.d.ts +3 -8
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/types.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.d.ts +5 -26
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.js +1 -1
- package/components/OffsetWellPickerV5/effects/useBicWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useBicWells.js +1 -1
- package/components/OffsetWellPickerV5/effects/useBicWells.js.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/constants.d.ts +5 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/constants.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/constants.js +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.d.ts +3 -17
- package/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.js +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/index.d.ts +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/types.d.ts +4 -11
- package/components/OffsetWellPickerV5/effects/useTileCache/types.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.d.ts +6 -76
- package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js +1 -1
- package/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.js.map +1 -1
- package/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.js +1 -1
- package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts +13 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js +2 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.js.map +1 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/index.d.ts +4 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/index.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.d.ts +3 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js +2 -0
- package/components/OffsetWellPickerV5/stores/company-safeguard/useCompanySafeguard.js.map +1 -0
- package/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreProvider.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreProvider.js +1 -1
- package/components/OffsetWellPickerV5/stores/view-store/ViewStoreProvider.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/view-store/ViewStoreProvider.js +1 -1
- package/components/OffsetWellPickerV5/stores/viewport-store/createViewportStore.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/viewport-store/createViewportStore.js +1 -1
- package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.d.ts +2 -0
- package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js +2 -0
- package/components/OffsetWellPickerV5/stores/viewport-store/utils/areWellMapsEqual.js.map +1 -0
- package/components/OffsetWellPickerV5/viewport/ViewType.d.ts +7 -0
- package/components/OffsetWellPickerV5/viewport/ViewType.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/viewport/ViewType.js +2 -0
- package/components/OffsetWellPickerV5/viewport/ViewType.js.map +1 -0
- package/components/OffsetWellPickerV5/viewport/ViewportContext.d.ts +3 -0
- package/components/OffsetWellPickerV5/viewport/ViewportContext.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/viewport/ViewportContext.js +2 -0
- package/components/OffsetWellPickerV5/viewport/ViewportContext.js.map +1 -0
- package/components/OffsetWellPickerV5/viewport/ViewportProvider.d.ts +7 -0
- package/components/OffsetWellPickerV5/viewport/ViewportProvider.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/viewport/ViewportProvider.js +2 -0
- package/components/OffsetWellPickerV5/viewport/ViewportProvider.js.map +1 -0
- package/components/OffsetWellPickerV5/viewport/computeViewType.d.ts +3 -0
- package/components/OffsetWellPickerV5/viewport/computeViewType.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/viewport/computeViewType.js +2 -0
- package/components/OffsetWellPickerV5/viewport/computeViewType.js.map +1 -0
- package/components/OffsetWellPickerV5/viewport/index.d.ts +5 -0
- package/components/OffsetWellPickerV5/viewport/index.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/viewport/useViewType.d.ts +7 -0
- package/components/OffsetWellPickerV5/viewport/useViewType.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/viewport/useViewType.js +2 -0
- package/components/OffsetWellPickerV5/viewport/useViewType.js.map +1 -0
- package/componentsV2/Button/Button.scss.js +1 -1
- package/mcp-server/setup.mjs +1108 -16
- package/package.json +3 -2
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js +0 -2
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js.map +0 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.module.css.js +0 -2
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js +0 -2
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js.map +0 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js +0 -2
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.js.map +0 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ConfirmationPopup/ConfirmationPopup.module.css.js +0 -2
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js +0 -2
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useConfirmationPopupPosition.js.map +0 -1
- /package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/{ConfirmationPopup/ConfirmationPopup.module.css.js.map → ClusterTooltip/ClusterTooltip.module.css.js.map} +0 -0
- /package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/{ConfirmationPopup/ConfirmationPopup.module.css.js.map → ClusterTooltip/ClusterTooltip.module.css.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/components/OffsetWellPickerV5/constants.js"],"sourcesContent":["import { sortBy } from 'lodash';\n\nimport { metricsUtils } from '~/utils';\n\nexport const DEFAULT_RADIUS_MILES = 25;\nexport const DEFAULT_RADIUS_KM = 40;\nexport const MAX_OFFSET_SIZE = 1000;\n\nexport const ALL_SECTION_KEY = 'all';\nexport const ALL_SECTION_LABEL = 'All';\nexport const EXPANDED_WELL_NAME_WIDTH = 450;\nexport const ROWS_PER_PAGE = 50;\nexport const LEAVE_TOUCH_DELAY = 10000;\nexport const COMPANY_PROVIDERS_FOR_IDAS = ['xto'];\nconst metrics = metricsUtils.default;\n\nexport const NonConvertableMetrics = [metrics.mud_type.key];\n\nexport const FilterType = {\n status: 'status',\n company: 'companyId',\n rig: 'rigName',\n program: 'programName',\n basin: 'basin',\n county: 'county',\n area: 'area',\n formation: 'formation',\n stringDesign: 'stringDesign',\n radius: 'radius',\n period: 'period',\n sideTracks: 'sideTracks',\n timeRangeFrom: 'timeRangeFrom',\n timeRangeTo: 'timeRangeTo',\n};\n\nexport const FilterOptions = [\n {\n value: FilterType.company,\n label: 'Company',\n },\n {\n value: FilterType.rig,\n label: 'Rig',\n },\n {\n value: FilterType.program,\n label: 'Program/BU',\n },\n {\n value: FilterType.basin,\n label: 'Basin',\n },\n {\n value: FilterType.county,\n label: 'County',\n },\n {\n value: FilterType.area,\n label: 'Area',\n },\n {\n value: FilterType.formation,\n label: 'Target Formation',\n },\n {\n value: FilterType.stringDesign,\n label: 'String Design',\n },\n];\n\nexport const WellStatus = {\n unknown: 'unknown',\n idle: 'idle',\n active: 'active',\n paused: 'paused',\n complete: 'complete',\n};\n\nexport const StatusOptions = [\n { value: WellStatus.unknown, color: '#FFFFFF' },\n { value: WellStatus.idle, color: '#ADADFF' },\n { value: WellStatus.active, color: '#A8FF3D' },\n { value: WellStatus.paused, color: '#FFF66C' },\n { value: WellStatus.complete, color: '#76C2FF' },\n];\n\nexport const ColumnType = {\n name: 'name',\n status: 'status',\n company: 'companyName',\n rig: 'rigName',\n distance: 'distance',\n taScore: 'TA',\n lastActive: 'lastActive',\n metrics: 'metrics',\n wellSection: 'wellSection',\n};\n\nexport const TableColumns = [\n {\n type: ColumnType.name,\n label: 'Well Name',\n key: ColumnType.name,\n minWidth: [280, 197, 197, 186],\n flex: 3,\n },\n {\n type: ColumnType.status,\n label: '',\n key: ColumnType.status,\n minWidth: [40, 40, 40, 30],\n flex: 0,\n },\n {\n type: ColumnType.company,\n label: 'Company',\n key: ColumnType.company,\n minWidth: [180, 140, 140, 93],\n flex: 2,\n },\n {\n type: ColumnType.rig,\n label: 'Rig',\n key: ColumnType.rig,\n minWidth: [220, 140, 140, 93],\n flex: 2,\n },\n {\n type: ColumnType.distance,\n label: 'Distance',\n key: ColumnType.distance,\n minWidth: [160, 160, 122, 93],\n flex: 1,\n },\n {\n type: ColumnType.taScore,\n label: 'TA',\n key: ColumnType.taScore,\n minWidth: [90, 90, 75, 70],\n flex: 1,\n },\n {\n type: ColumnType.lastActive,\n label: 'Last Active',\n key: ColumnType.lastActive,\n minWidth: [140, 140, 108, 98],\n flex: 1.5,\n },\n {\n type: ColumnType.metrics,\n label: '',\n key: '',\n minWidth: [0, 212, 141, 141],\n flex: 2,\n },\n {\n type: ColumnType.wellSection,\n label: 'Well Section',\n key: ColumnType.wellSection,\n minWidth: [180, 131, 131, 97],\n flex: 1.5,\n },\n];\n\nexport const OBJECTIVE_PERIOD_LIST = [\n { value: 'all', label: 'All' },\n { value: 'last12h', label: 'Last 12 hrs' },\n { value: 'last24h', label: 'Last 24 hrs' },\n { value: 'last7d', label: 'Last 7 days' },\n { value: 'lastMonth', label: 'Last Month' },\n { value: 'custom', label: 'Custom' },\n];\n\nexport const MAX_METRICS_COUNT = 3;\n\nexport const METRICS_LIST = sortBy(\n [\n metrics.weight_to_weight_average,\n metrics.bottom_to_slips_average,\n metrics.drilling_connection_average,\n metrics.slips_to_bottom_average,\n metrics.hole_depth,\n metrics.hole_depth_change,\n metrics.drilled_feet_rotary,\n metrics.drilled_feet_slide,\n metrics.rop_gross,\n metrics.rop,\n metrics.rop_rotary,\n metrics.rop_slide,\n metrics.drilled_feet_rotary_percentage,\n metrics.drilled_feet_slide_percentage,\n metrics.on_bottom_percentage,\n metrics.on_bottom_time,\n metrics.cost_per_ft,\n metrics.cost_per_lat_ft,\n metrics.feet_per_day,\n metrics.tripping_in_speed_cased,\n metrics.tripping_in_speed_open,\n metrics.tripping_in_speed,\n metrics.tripping_out_speed_cased,\n metrics.tripping_out_speed_open,\n metrics.tripping_out_speed,\n metrics.target_formation,\n metrics.mud_type,\n metrics.total_time,\n ...(process.env.REACT_APP_ENVIRONMENT !== 'production'\n ? [\n metrics.npt,\n metrics.circulating_time,\n metrics.spud_to_rig_release_time,\n metrics.spud_to_total_depth_time,\n ]\n : []),\n ],\n 'label'\n);\n\nexport const WellSectionColors = [\n '#6EACFF',\n '#69B919',\n '#E95DAF',\n '#A77DFF',\n '#77FFC1',\n '#018EFE',\n '#FF5D7E',\n '#B9E310',\n '#FFD111',\n '#24BB8E',\n '#C426F3',\n];\n\nexport const DEFAULT_METRICS_KEY = 'hole_depth_change';\n\nexport const RESYNC_TASK_RESPONSE = {\n SUCCESS: 'succeeded',\n FAILURE: 'failed',\n};\n\nexport const RESYNC_STATUS = {\n INITIAL: 0,\n TRIGGERED: 1,\n RUNNING: 2,\n SUCCEEDED: 3,\n FAILED: -1,\n};\n"],"names":["DEFAULT_RADIUS_MILES","DEFAULT_RADIUS_KM","MAX_OFFSET_SIZE","ALL_SECTION_KEY","ALL_SECTION_LABEL","EXPANDED_WELL_NAME_WIDTH","ROWS_PER_PAGE","LEAVE_TOUCH_DELAY","COMPANY_PROVIDERS_FOR_IDAS","metrics","metricsUtils","NonConvertableMetrics","mud_type","key","FilterType","status","company","rig","program","basin","county","area","formation","stringDesign","radius","period","sideTracks","timeRangeFrom","timeRangeTo","FilterOptions","value","label","WellStatus","unknown","idle","active","paused","complete","StatusOptions","color","ColumnType","name","distance","taScore","lastActive","wellSection","TableColumns","type","minWidth","flex","OBJECTIVE_PERIOD_LIST","MAX_METRICS_COUNT","METRICS_LIST","sortBy","weight_to_weight_average","bottom_to_slips_average","drilling_connection_average","slips_to_bottom_average","hole_depth","hole_depth_change","drilled_feet_rotary","drilled_feet_slide","rop_gross","rop","rop_rotary","rop_slide","drilled_feet_rotary_percentage","drilled_feet_slide_percentage","on_bottom_percentage","on_bottom_time","cost_per_ft","cost_per_lat_ft","feet_per_day","tripping_in_speed_cased","tripping_in_speed_open","tripping_in_speed","tripping_out_speed_cased","tripping_out_speed_open","tripping_out_speed","target_formation","total_time","process","env","REACT_APP_ENVIRONMENT","npt","circulating_time","spud_to_rig_release_time","spud_to_total_depth_time","WellSectionColors","DEFAULT_METRICS_KEY","RESYNC_TASK_RESPONSE","SUCCESS","FAILURE","RESYNC_STATUS","INITIAL","TRIGGERED","RUNNING","SUCCEEDED","FAILED"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/components/OffsetWellPickerV5/constants.js"],"sourcesContent":["import { sortBy } from 'lodash';\n\nimport { metricsUtils } from '~/utils';\n\nexport const DEFAULT_RADIUS_MILES = 25;\nexport const DEFAULT_RADIUS_KM = 40;\n\nexport const ALL_SECTION_KEY = 'all';\nexport const ALL_SECTION_LABEL = 'All';\nexport const EXPANDED_WELL_NAME_WIDTH = 450;\nexport const ROWS_PER_PAGE = 50;\nexport const LEAVE_TOUCH_DELAY = 10000;\nexport const COMPANY_PROVIDERS_FOR_IDAS = ['xto'];\nconst metrics = metricsUtils.default;\n\nexport const NonConvertableMetrics = [metrics.mud_type.key];\n\nexport const FilterType = {\n status: 'status',\n company: 'companyId',\n rig: 'rigName',\n program: 'programName',\n basin: 'basin',\n county: 'county',\n area: 'area',\n formation: 'formation',\n stringDesign: 'stringDesign',\n radius: 'radius',\n period: 'period',\n sideTracks: 'sideTracks',\n timeRangeFrom: 'timeRangeFrom',\n timeRangeTo: 'timeRangeTo',\n};\n\nexport const FilterOptions = [\n {\n value: FilterType.company,\n label: 'Company',\n },\n {\n value: FilterType.rig,\n label: 'Rig',\n },\n {\n value: FilterType.program,\n label: 'Program/BU',\n },\n {\n value: FilterType.basin,\n label: 'Basin',\n },\n {\n value: FilterType.county,\n label: 'County',\n },\n {\n value: FilterType.area,\n label: 'Area',\n },\n {\n value: FilterType.formation,\n label: 'Target Formation',\n },\n {\n value: FilterType.stringDesign,\n label: 'String Design',\n },\n];\n\nexport const WellStatus = {\n unknown: 'unknown',\n idle: 'idle',\n active: 'active',\n paused: 'paused',\n complete: 'complete',\n};\n\nexport const StatusOptions = [\n { value: WellStatus.unknown, color: '#FFFFFF' },\n { value: WellStatus.idle, color: '#ADADFF' },\n { value: WellStatus.active, color: '#A8FF3D' },\n { value: WellStatus.paused, color: '#FFF66C' },\n { value: WellStatus.complete, color: '#76C2FF' },\n];\n\nexport const ColumnType = {\n name: 'name',\n status: 'status',\n company: 'companyName',\n rig: 'rigName',\n distance: 'distance',\n taScore: 'TA',\n lastActive: 'lastActive',\n metrics: 'metrics',\n wellSection: 'wellSection',\n};\n\nexport const TableColumns = [\n {\n type: ColumnType.name,\n label: 'Well Name',\n key: ColumnType.name,\n minWidth: [280, 197, 197, 186],\n flex: 3,\n },\n {\n type: ColumnType.status,\n label: '',\n key: ColumnType.status,\n minWidth: [40, 40, 40, 30],\n flex: 0,\n },\n {\n type: ColumnType.company,\n label: 'Company',\n key: ColumnType.company,\n minWidth: [180, 140, 140, 93],\n flex: 2,\n },\n {\n type: ColumnType.rig,\n label: 'Rig',\n key: ColumnType.rig,\n minWidth: [220, 140, 140, 93],\n flex: 2,\n },\n {\n type: ColumnType.distance,\n label: 'Distance',\n key: ColumnType.distance,\n minWidth: [160, 160, 122, 93],\n flex: 1,\n },\n {\n type: ColumnType.taScore,\n label: 'TA',\n key: ColumnType.taScore,\n minWidth: [90, 90, 75, 70],\n flex: 1,\n },\n {\n type: ColumnType.lastActive,\n label: 'Last Active',\n key: ColumnType.lastActive,\n minWidth: [140, 140, 108, 98],\n flex: 1.5,\n },\n {\n type: ColumnType.metrics,\n label: '',\n key: '',\n minWidth: [0, 212, 141, 141],\n flex: 2,\n },\n {\n type: ColumnType.wellSection,\n label: 'Well Section',\n key: ColumnType.wellSection,\n minWidth: [180, 131, 131, 97],\n flex: 1.5,\n },\n];\n\nexport const OBJECTIVE_PERIOD_LIST = [\n { value: 'all', label: 'All' },\n { value: 'last12h', label: 'Last 12 hrs' },\n { value: 'last24h', label: 'Last 24 hrs' },\n { value: 'last7d', label: 'Last 7 days' },\n { value: 'lastMonth', label: 'Last Month' },\n { value: 'custom', label: 'Custom' },\n];\n\nexport const MAX_METRICS_COUNT = 3;\n\nexport const METRICS_LIST = sortBy(\n [\n metrics.weight_to_weight_average,\n metrics.bottom_to_slips_average,\n metrics.drilling_connection_average,\n metrics.slips_to_bottom_average,\n metrics.hole_depth,\n metrics.hole_depth_change,\n metrics.drilled_feet_rotary,\n metrics.drilled_feet_slide,\n metrics.rop_gross,\n metrics.rop,\n metrics.rop_rotary,\n metrics.rop_slide,\n metrics.drilled_feet_rotary_percentage,\n metrics.drilled_feet_slide_percentage,\n metrics.on_bottom_percentage,\n metrics.on_bottom_time,\n metrics.cost_per_ft,\n metrics.cost_per_lat_ft,\n metrics.feet_per_day,\n metrics.tripping_in_speed_cased,\n metrics.tripping_in_speed_open,\n metrics.tripping_in_speed,\n metrics.tripping_out_speed_cased,\n metrics.tripping_out_speed_open,\n metrics.tripping_out_speed,\n metrics.target_formation,\n metrics.mud_type,\n metrics.total_time,\n ...(process.env.REACT_APP_ENVIRONMENT !== 'production'\n ? [\n metrics.npt,\n metrics.circulating_time,\n metrics.spud_to_rig_release_time,\n metrics.spud_to_total_depth_time,\n ]\n : []),\n ],\n 'label'\n);\n\nexport const WellSectionColors = [\n '#6EACFF',\n '#69B919',\n '#E95DAF',\n '#A77DFF',\n '#77FFC1',\n '#018EFE',\n '#FF5D7E',\n '#B9E310',\n '#FFD111',\n '#24BB8E',\n '#C426F3',\n];\n\nexport const DEFAULT_METRICS_KEY = 'hole_depth_change';\n\nexport const RESYNC_TASK_RESPONSE = {\n SUCCESS: 'succeeded',\n FAILURE: 'failed',\n};\n\nexport const RESYNC_STATUS = {\n INITIAL: 0,\n TRIGGERED: 1,\n RUNNING: 2,\n SUCCEEDED: 3,\n FAILED: -1,\n};\n"],"names":["DEFAULT_RADIUS_MILES","DEFAULT_RADIUS_KM","ALL_SECTION_KEY","ALL_SECTION_LABEL","EXPANDED_WELL_NAME_WIDTH","ROWS_PER_PAGE","LEAVE_TOUCH_DELAY","COMPANY_PROVIDERS_FOR_IDAS","metrics","metricsUtils","NonConvertableMetrics","mud_type","key","FilterType","status","company","rig","program","basin","county","area","formation","stringDesign","radius","period","sideTracks","timeRangeFrom","timeRangeTo","FilterOptions","value","label","WellStatus","unknown","idle","active","paused","complete","StatusOptions","color","ColumnType","name","distance","taScore","lastActive","wellSection","TableColumns","type","minWidth","flex","OBJECTIVE_PERIOD_LIST","MAX_METRICS_COUNT","METRICS_LIST","sortBy","weight_to_weight_average","bottom_to_slips_average","drilling_connection_average","slips_to_bottom_average","hole_depth","hole_depth_change","drilled_feet_rotary","drilled_feet_slide","rop_gross","rop","rop_rotary","rop_slide","drilled_feet_rotary_percentage","drilled_feet_slide_percentage","on_bottom_percentage","on_bottom_time","cost_per_ft","cost_per_lat_ft","feet_per_day","tripping_in_speed_cased","tripping_in_speed_open","tripping_in_speed","tripping_out_speed_cased","tripping_out_speed_open","tripping_out_speed","target_formation","total_time","process","env","REACT_APP_ENVIRONMENT","npt","circulating_time","spud_to_rig_release_time","spud_to_total_depth_time","WellSectionColors","DEFAULT_METRICS_KEY","RESYNC_TASK_RESPONSE","SUCCESS","FAILURE","RESYNC_STATUS","INITIAL","TRIGGERED","RUNNING","SUCCEEDED","FAILED"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatBytes.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/cache-utils/formatBytes.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MAA2C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatBytes.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/cache-utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Handle returned by requestIdleCallback or setTimeout fallback. */
|
|
2
|
+
export type IdleCallbackHandle = number;
|
|
3
|
+
/**
|
|
4
|
+
* Versioned envelope for cached data stored in sessionStorage.
|
|
5
|
+
* Only the `state` field is compressed; metadata remains readable for debugging.
|
|
6
|
+
*/
|
|
7
|
+
export type CacheEnvelope = {
|
|
8
|
+
/** Schema version - bump to invalidate old caches */
|
|
9
|
+
version: number;
|
|
10
|
+
/** Unix timestamp (ms) when cache was written */
|
|
11
|
+
timestamp: number;
|
|
12
|
+
/** TypeScript-like description of the data shape */
|
|
13
|
+
schema: string;
|
|
14
|
+
compression: 'lz-utf16';
|
|
15
|
+
count: number;
|
|
16
|
+
/** Human-readable size of uncompressed state (e.g., "12.5 KB") */
|
|
17
|
+
sizeKB: string;
|
|
18
|
+
/** LZ-UTF16 compressed JSON string of the actual data */
|
|
19
|
+
state: string;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/cache-utils/types.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,iDAAiD;IACjD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Loads all wells for the "Load All Wells" mode.
|
|
3
|
+
*
|
|
4
|
+
* This hook is mounted when `isLoadAllWells` is true (via `<AllWellsEffect />`).
|
|
5
|
+
* It guards loading and companyId reactions on `isSafeguardReady` to avoid
|
|
6
|
+
* reacting to filter oscillations during safeguard transitions (cancel/reopen).
|
|
7
|
+
* The component stays mounted during these transitions, preserving the cache.
|
|
8
|
+
*/
|
|
9
|
+
export declare const useAllWells: () => void;
|
|
2
10
|
//# sourceMappingURL=useAllWells.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAllWells.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useAllWells.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWells/useAllWells.ts"],"names":[],"mappings":"AAeA;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,QAAO,IAyI9B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as r,__generator as t}from'./../../../../ext-esm/tslib/tslib.es6.js';import{useRef as e,useCallback as o,useEffect as
|
|
1
|
+
import{__awaiter as r,__generator as t}from'./../../../../ext-esm/tslib/tslib.es6.js';import{useRef as e,useCallback as o,useEffect as s}from"react";import n from"lodash/isEqual";import{useStore as i}from"zustand";import{ViewportStoreContext as l}from"../../stores/viewport-store/ViewportStoreContext.js";import"lodash";import"../../stores/picker-props-store/PickerPropsStoreContext.js";import"react/jsx-runtime";import"../../viewport/ViewportProvider.js";import{useContextOrThrow as u}from"../../stores/utils/useContextOrThrow.js";import"../../viewport/ViewportContext.js";import{usePickerPropsStore as a}from"../../stores/picker-props-store/usePickerPropsStore.js";import{useFilterStore as c}from"../../stores/filter-store/useFilterStore.js";import"../../stores/company-safeguard/CompanySafeguardContext.js";import{useCompanySafeguard as p}from"../../stores/company-safeguard/useCompanySafeguard.js";import"@babel/runtime/helpers/defineProperty";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../clients/jsonApi/index.js";import"../../../../clients/subscriptions/constants.js";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import{getAllAssets as m}from"../../api/shared/fetchers/getAllAssets.js";import"../../constants.js";import"../../api/shared/dataFormatter.js";import{useAllWellsCache as d}from"../useAllWellsCache/useAllWellsCache.js";var f=function(){var f=u(l),h=i(f,(function(r){return r.addWellsToTile})),j=i(f,(function(r){return r.clearTiles})),b=a((function(r){return r.open})),v=a((function(r){return r.addWellsUsabilityInfo})),g=a((function(r){return r.setAllWellsLoadProgress})),C=a((function(r){return r.setShouldRecenter})),w=c((function(r){var t;return null!==(t=r.filters.companyId)&&void 0!==t?t:null})),y=p().isSafeguardReady,A=d(),S=A.getCachedWellIds,x=A.setCachedWellIds,P=A.clearCache,W=e(null),k=e(!1),I=e(void 0),T=o((function(){return r(void 0,void 0,void 0,(function(){var r,e,o,s,n,i,l,u;return t(this,(function(t){switch(t.label){case 0:null===(u=W.current)||void 0===u||u.abort(),W.current=new AbortController,r=W.current.signal,t.label=1;case 1:return t.trys.push([1,4,,5]),null!==(e=S())&&(o=f.getState(),(s=e.map((function(r){return o.wells.get(r)})).filter((function(r){return void 0!==r}))).length===e.length)?(g({loaded:s.length,isComplete:!0}),k.current=!0,[2]):(g({loaded:0,isComplete:!1}),[4,m(w,{signal:r,onProgress:g})]);case 2:return n=t.sent(),r.aborted?[2]:[4,v(n)];case 3:return i=t.sent(),r.aborted?[2]:(h("all-wells",i),x(i.map((function(r){return r.id}))),g({loaded:i.length,isComplete:!0}),k.current=!0,[3,5]);case 4:return"AbortError"===(null==(l=t.sent())?void 0:l.name)?[2]:(console.error("Failed to load all wells:",l),g(null),[3,5]);case 5:return[2]}}))}))}),[f,h,v,w,S,x,g]);s((function(){return j(),function(){var r;null===(r=W.current)||void 0===r||r.abort(),j(),g(null),C(!0)}}),[j,g,C]),s((function(){b?y&&!k.current&&T():k.current=!1}),[b,y,T]),s((function(){y&&(void 0!==I.current?n(I.current,w)||(P(),j(),k.current=!1,I.current=w,T()):I.current=w)}),[y,w,P,j,T])};export{f as useAllWells};
|
|
2
2
|
//# sourceMappingURL=useAllWells.js.map
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
/** Cache schema version. Bump to invalidate existing caches. */
|
|
2
|
+
export declare const CACHE_VERSION = 1;
|
|
3
|
+
/** TypeScript-like description of cached data shape. */
|
|
4
|
+
export declare const CACHE_SCHEMA = "number[]";
|
|
1
5
|
/** Cache entry time-to-live: 5 minutes in milliseconds. */
|
|
2
6
|
export declare const CACHE_TTL: number;
|
|
3
7
|
/** SessionStorage key for the compressed all-wells cache data. */
|
|
4
|
-
export declare const STORAGE_KEY = "corva-offset-well-picker-all-wells-cache";
|
|
8
|
+
export declare const STORAGE_KEY = "corva-offset-well-picker-all-wells-cache-compressed";
|
|
5
9
|
/** Delay (ms) before flushing pending writes to sessionStorage. */
|
|
6
10
|
export declare const DEBOUNCE_DELAY = 500;
|
|
7
11
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,eAAO,MAAM,SAAS,QAAgB,CAAC;AAEvC,kEAAkE;AAClE,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWellsCache/constants.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,wDAAwD;AACxD,eAAO,MAAM,YAAY,aAAa,CAAC;AAEvC,2DAA2D;AAC3D,eAAO,MAAM,SAAS,QAAgB,CAAC;AAEvC,kEAAkE;AAClE,eAAO,MAAM,WAAW,wDAAwD,CAAC;AAEjF,mEAAmE;AACnE,eAAO,MAAM,cAAc,MAAM,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=
|
|
1
|
+
var e=1,l="number[]",r=3e5,c="corva-offset-well-picker-all-wells-cache-compressed",a=500;export{l as CACHE_SCHEMA,r as CACHE_TTL,e as CACHE_VERSION,a as DEBOUNCE_DELAY,c as STORAGE_KEY};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
export type IdleCallbackHandle = number;
|
|
3
|
-
/**
|
|
4
|
-
* All-wells cache entry.
|
|
5
|
-
*
|
|
6
|
-
* @property wellIds - Array of well IDs
|
|
7
|
-
* @property timestamp - Unix timestamp (ms) when this entry was created
|
|
8
|
-
*/
|
|
1
|
+
/** In-memory cache entry for all-wells data. */
|
|
9
2
|
export type AllWellsCacheEntry = {
|
|
10
3
|
wellIds: number[];
|
|
11
4
|
timestamp: number;
|
|
12
5
|
};
|
|
6
|
+
/** Storage state format (inside envelope). Just the array of well IDs. */
|
|
7
|
+
export type AllWellsStorageState = number[];
|
|
13
8
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWellsCache/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWellsCache/types.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,oBAAoB,GAAG,MAAM,EAAE,CAAC"}
|
|
@@ -1,33 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* ## Architecture
|
|
5
|
-
*
|
|
6
|
-
* Same pattern as useTileCache but for the all-wells loading mode:
|
|
7
|
-
*
|
|
8
|
-
* ```
|
|
9
|
-
* ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
10
|
-
* │ Memory Cache │ ──► │ Pending Queue │ ──► │ SessionStorage │
|
|
11
|
-
* │ (instant) │ │ (debounced) │ │ (LZ compressed) │
|
|
12
|
-
* └─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* - **Level 1 (Memory)**: In-memory cache for instant lookups. Lost on page reload.
|
|
16
|
-
* - **Level 2 (SessionStorage)**: Persistent storage with LZ-String compression.
|
|
17
|
-
*
|
|
18
|
-
* @module useAllWellsCache
|
|
2
|
+
* Two-level cache for all-wells mode: memory (instant) + sessionStorage (LZ-compressed).
|
|
3
|
+
* Same pattern as useTileCache but stores a flat array of well IDs instead of per-tile maps.
|
|
19
4
|
*/
|
|
20
|
-
|
|
21
|
-
* Two-level cache for all-wells mode data.
|
|
22
|
-
*
|
|
23
|
-
* @returns Cache operations object
|
|
24
|
-
* @returns returns.getCachedWellIds - Retrieves cached well IDs
|
|
25
|
-
* @returns returns.setCachedWellIds - Caches well IDs
|
|
26
|
-
* @returns returns.clearCache - Clears all cache data and pending operations
|
|
27
|
-
*/
|
|
28
|
-
export declare const useAllWellsCache: () => {
|
|
5
|
+
type AllWellsCacheResult = {
|
|
29
6
|
getCachedWellIds: () => number[] | null;
|
|
30
7
|
setCachedWellIds: (wellIds: number[]) => void;
|
|
31
8
|
clearCache: () => void;
|
|
32
9
|
};
|
|
10
|
+
export declare const useAllWellsCache: () => AllWellsCacheResult;
|
|
11
|
+
export {};
|
|
33
12
|
//# sourceMappingURL=useAllWellsCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAllWellsCache.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useAllWellsCache.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAllWellsCache/useAllWellsCache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA+BH,KAAK,mBAAmB,GAAG;IACzB,gBAAgB,EAAE,MAAM,MAAM,EAAE,GAAG,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,mBAuInC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useRef as
|
|
1
|
+
import{useRef as e,useEffect as r,useCallback as t}from"react";import n from"lz-string";import c from"lodash/debounce";import{scheduleIdleWork as u,cancelIdleWork as l}from"../useTileCache/idle-callback.js";import{formatBytesToKB as s}from"../cache-utils/formatBytes.js";import{STORAGE_KEY as a,CACHE_VERSION as o,CACHE_SCHEMA as i,DEBOUNCE_DELAY as m,CACHE_TTL as f}from"./constants.js";var d=function(){var d=e(null),p=e(null),v=e(new Set);r((function(){var e=v.current,r=u((function(){e.delete(r);try{var t=sessionStorage.getItem(a);if(!t)return;var c=JSON.parse(t),u=function(e){if(e.version!==o)return null;if(Date.now()-e.timestamp>=f)return null;var r=n.decompressFromUTF16(e.state);return r?JSON.parse(r):null}(c);u&&(d.current={wellIds:u,timestamp:c.timestamp})}catch(e){sessionStorage.removeItem(a)}}),{timeout:2e3});return e.add(r),function(){l(r),e.delete(r)}}),[]);var h=e(c((function(){var e=p.current;if(e){var r=u((function(){v.current.delete(r);try{var t=JSON.stringify(e.wellIds),c={version:o,timestamp:e.timestamp,schema:i,compression:"lz-utf16",count:e.wellIds.length,sizeKB:s(t.length),state:n.compressToUTF16(t)};sessionStorage.setItem(a,JSON.stringify(c))}finally{p.current===e&&(p.current=null)}}),{timeout:5e3});v.current.add(r)}}),m));return r((function(){var e=h.current,r=v.current;return function(){e.cancel(),r.forEach(l),r.clear()}}),[]),{getCachedWellIds:t((function(){var e=Date.now(),r=d.current,t=p.current;return r&&e-r.timestamp<f?r.wellIds:t&&e-t.timestamp<f?t.wellIds:(r&&(d.current=null),null)}),[]),setCachedWellIds:t((function(e){var r={wellIds:e,timestamp:Date.now()};d.current=r,p.current=r,h.current()}),[]),clearCache:t((function(){d.current=null,p.current=null,h.current.cancel(),v.current.forEach(l),v.current.clear(),sessionStorage.removeItem(a)}),[])}};export{d as useAllWellsCache};
|
|
2
2
|
//# sourceMappingURL=useAllWellsCache.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBicWells.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useBicWells.js"],"names":[],"mappings":"AAeO,
|
|
1
|
+
{"version":3,"file":"useBicWells.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useBicWells.js"],"names":[],"mappings":"AAeO,6DA8JN"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/asyncToGenerator";import n from"@babel/runtime/helpers/slicedToArray";import o from"@babel/runtime/regenerator";import{useState as s,useEffect as
|
|
1
|
+
import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/asyncToGenerator";import n from"@babel/runtime/helpers/slicedToArray";import o from"@babel/runtime/regenerator";import{useState as s,useEffect as i}from"react";import{isEmpty as a,uniq as c,intersection as l,get as u}from"lodash";import"uuid";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import{RESYNC_STATUS as p,WellSectionColors as f,ALL_SECTION_KEY as m,ALL_SECTION_LABEL as b,RESYNC_TASK_RESPONSE as d}from"../constants.js";import"../api/shared/dataFormatter.js";import{fetchOffsetWellSelections as v}from"../api/bic/fetchOffsetWellSelections.js";import{fetchWellhubWells as j}from"../api/bic/fetchWellhubWells.js";import{resyncIdasWells as h}from"../api/bic/resyncIdasWells.js";import"zustand";import"../stores/picker-props-store/PickerPropsStoreContext.js";import"react/jsx-runtime";import"../viewport/ViewportProvider.js";import"../viewport/ViewportContext.js";import{usePickerPropsStore as w}from"../stores/picker-props-store/usePickerPropsStore.js";import"../../../utils/index.js";import{showSuccessNotification as y,showErrorNotification as O}from"../../../utils/notificationToasts.js";function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function S(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?x(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):x(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var k=function(x,k){var E=w((function(e){return e.isWDUser})),I=w((function(e){return e.currentUser})),P=w((function(e){return e.isManualWellsEnabled})),D=s(null),g=n(D,2),C=g[0],A=g[1],N=s(null),T=n(N,2),U=T[0],R=T[1],W=s(null),_=n(W,2),G=_[0],J=_[1],L=s(p.INITIAL),F=n(L,2),V=F[0],z=F[1],M=s([]),q=n(M,2),B=q[0],H=q[1];return i((function(){var n,s,i=(n=r(o.mark((function r(){var n,s,i,u,p,d,j,h,w,y;return o.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(r.prev=0,!x){r.next=7;break}return r.next=4,v(x);case 4:r.t0=r.sent,r.next=8;break;case 7:r.t0=[];case 8:s=r.t0,i=!a(s)&&JSON.parse(s[0].data.filters),u=!a(s)&&s[0].data.result&&JSON.parse(s[0].data.result),p=P&&!a(s)&&s[0].data.manual_wells&&JSON.parse(s[0].data.manual_wells),d=k.map((function(e){return e.id})),j=P&&!a(s)&&s[0].data.ta_scores&&JSON.parse(s[0].data.ta_scores),h=(null==i||null===(n=i.filterTabs)||void 0===n?void 0:n.map((function(e,t){return{value:e.value,label:e.name,color:f[t]}})))||[],w=[x],y={},i&&u&&(y=h.reduce((function(e,r){var n=r.value,o=(null==u?void 0:u[n])||[],s=c(o.concat(x));return w=w.concat(s),S(S({},e),{},t({},n,s))}),{})),p&&p.length&&(w=w.concat(p),H(p.map((function(e,t){var r;return{wellId:e,taScore:null!==(r=null==j?void 0:j[t])&&void 0!==r?r:""}})))),y[m]=c(w),J(S({},y)),y=Object.keys(y).reduce((function(e,r){return S(S({},e),{},t({},r,l(y[r],d)))}),{}),A([{value:m,label:b}].concat(e(h))),R(y),r.next=31;break;case 26:r.prev=26,r.t1=r.catch(0),console.error("offsetwell selection fetch error: ",r.t1),A([]),R([]);case 31:case"end":return r.stop()}}),r,null,[[0,26]])}))),function(){return n.apply(this,arguments)}),d=(s=r(o.mark((function e(){var r,n,s,i;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,j(x);case 3:r=e.sent,n=u(r[0],"data.offset_wells")||[],s=t({},m,c(n.map((function(e){return e.id})).concat(x))),A([{value:m,label:b}]),J(S({},s)),i=k.map((function(e){return e.id})),s=Object.keys(s).reduce((function(e,r){return S(S({},e),{},t({},r,l(s[r],i)))}),{}),R(s),e.next=18;break;case 13:e.prev=13,e.t0=e.catch(0),console.error("wellhub fetch error: ",e.t0),A([]),R([]);case 18:case"end":return e.stop()}}),e,null,[[0,13]])}))),function(){return s.apply(this,arguments)});x&&k&&(V===p.INITIAL||V===p.SUCCEEDED)?E?i():d():!x&&k&&(A([{value:m,label:b}]),R(t({},m,[])),J(t({},m,[])))}),[E,x,k,V,P]),i((function(){function e(){return(e=r(o.mark((function e(){var t,r;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(z(p.RUNNING),!(x&&I&&I.id)){e.next=7;break}return e.next=4,h(I,x);case 4:e.t0=e.sent,e.next=8;break;case 7:e.t0=[];case 8:(null==(t=e.t0)?void 0:t.state)===d.SUCCESS?(z(p.SUCCEEDED),y("Re-sync wells from IDAS was successful")):(null==t?void 0:t.state)===d.FAILURE&&(z(p.FAILED),r=(null==t?void 0:t.fail_reason)||"Re-sync wells from IDAS failed",O(r));case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}V===p.TRIGGERED&&function(){e.apply(this,arguments)}()}),[x,I,V]),[C,A,U,R,V,z,B,G]};export{k as useBicWells};
|
|
2
2
|
//# sourceMappingURL=useBicWells.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBicWells.js","sources":["../../../../src/components/OffsetWellPickerV5/effects/useBicWells.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { isEmpty, get, uniq, intersection } from 'lodash';\n\nimport { fetchOffsetWellSelections, fetchWellhubWells, resyncIdasWells } from '../api';\nimport {\n ALL_SECTION_KEY,\n ALL_SECTION_LABEL,\n WellSectionColors,\n RESYNC_TASK_RESPONSE,\n RESYNC_STATUS,\n} from '../constants';\nimport { usePickerPropsStore } from '../stores/picker-props-store';\n\nimport { showSuccessNotification, showErrorNotification } from '~/utils';\n\nexport const useBicWells = (assetId, wells) => {\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const isManualWellsEnabled = usePickerPropsStore(state => state.isManualWellsEnabled);\n\n const [wellSections, setWellSections] = useState(null);\n const [offsetWellsBySection, setOffsetWellsBySection] = useState(null);\n const [rawOffsetWellsBySection, setRawOffsetWellsBySection] = useState(null);\n const [resyncStatus, setResyncStatus] = useState(RESYNC_STATUS.INITIAL);\n const [taScores, setTaScores] = useState([]);\n\n useEffect(() => {\n const fetchOffsetWellSelectionData = async () => {\n try {\n const data = assetId ? await fetchOffsetWellSelections(assetId) : [];\n const filters = !isEmpty(data) && JSON.parse(data[0].data.filters);\n const result = !isEmpty(data) && data[0].data.result && JSON.parse(data[0].data.result);\n const manualWellIds =\n isManualWellsEnabled &&\n !isEmpty(data) &&\n data[0].data.manual_wells &&\n JSON.parse(data[0].data.manual_wells);\n const wellIds = wells.map(well => well.id);\n const taScores =\n isManualWellsEnabled &&\n !isEmpty(data) &&\n data[0].data.ta_scores &&\n JSON.parse(data[0].data.ta_scores);\n\n const sections =\n filters?.filterTabs?.map((tab, index) => ({\n value: tab.value,\n label: tab.name,\n color: WellSectionColors[index],\n })) || [];\n\n let allWellIds = [assetId];\n let wellsData = {};\n\n if (filters && result) {\n wellsData = sections.reduce((acc, { value }) => {\n const sectionWellIds = result?.[value] || [];\n const addedWellIds = uniq(sectionWellIds.concat(assetId));\n allWellIds = allWellIds.concat(addedWellIds);\n return { ...acc, [value]: addedWellIds };\n }, {});\n }\n\n if (manualWellIds && manualWellIds.length) {\n allWellIds = allWellIds.concat(manualWellIds);\n setTaScores(\n manualWellIds.map((wellId, index) => ({\n wellId,\n taScore: taScores?.[index] ?? '',\n }))\n );\n }\n\n wellsData[ALL_SECTION_KEY] = uniq(allWellIds);\n\n // Store raw BIC well IDs before filtering (for reset to default functionality)\n setRawOffsetWellsBySection({ ...wellsData });\n\n // NOTE: Filter the removed offset\n wellsData = Object.keys(wellsData).reduce(\n (acc, key) => ({\n ...acc,\n [key]: intersection(wellsData[key], wellIds),\n }),\n {}\n );\n\n setWellSections([{ value: ALL_SECTION_KEY, label: ALL_SECTION_LABEL }, ...sections]);\n setOffsetWellsBySection(wellsData);\n } catch (err) {\n console.error('offsetwell selection fetch error: ', err);\n setWellSections([]);\n setOffsetWellsBySection([]);\n }\n };\n\n const fetchWellhubData = async () => {\n try {\n const record = await fetchWellhubWells(assetId);\n const offsetWells = get(record[0], 'data.offset_wells') || [];\n let offsetWellsBySection = {\n [ALL_SECTION_KEY]: uniq(offsetWells.map(({ id }) => id).concat(assetId)),\n };\n setWellSections([{ value: ALL_SECTION_KEY, label: ALL_SECTION_LABEL }]);\n\n // Store raw BIC well IDs before filtering (for reset to default functionality)\n setRawOffsetWellsBySection({ ...offsetWellsBySection });\n\n // NOTE: Filter the removed offset wells\n const wellIds = wells.map(well => well.id);\n offsetWellsBySection = Object.keys(offsetWellsBySection).reduce(\n (acc, key) => ({ ...acc, [key]: intersection(offsetWellsBySection[key], wellIds) }),\n {}\n );\n setOffsetWellsBySection(offsetWellsBySection);\n } catch (err) {\n console.error('wellhub fetch error: ', err);\n setWellSections([]);\n setOffsetWellsBySection([]);\n }\n };\n\n if (\n assetId &&\n wells &&\n (resyncStatus === RESYNC_STATUS.INITIAL || resyncStatus === RESYNC_STATUS.SUCCEEDED)\n ) {\n if (isWDUser) {\n fetchOffsetWellSelectionData();\n } else {\n fetchWellhubData();\n }\n } else if (!assetId && wells) {\n // No subject well - initialize with defaults to clear loading state\n setWellSections([{ value: ALL_SECTION_KEY, label: ALL_SECTION_LABEL }]);\n setOffsetWellsBySection({ [ALL_SECTION_KEY]: [] });\n setRawOffsetWellsBySection({ [ALL_SECTION_KEY]: [] });\n }\n // TODO: Check reference stability. Initially had only isWDUser, assetId, wells, resyncStatus\n }, [isWDUser, assetId, wells, resyncStatus, isManualWellsEnabled]);\n\n useEffect(() => {\n if (resyncStatus !== RESYNC_STATUS.TRIGGERED) {\n return;\n }\n\n async function handleResyncWells() {\n setResyncStatus(RESYNC_STATUS.RUNNING);\n const response =\n assetId && currentUser && currentUser.id ? await resyncIdasWells(currentUser, assetId) : [];\n\n if (response?.state === RESYNC_TASK_RESPONSE.SUCCESS) {\n setResyncStatus(RESYNC_STATUS.SUCCEEDED);\n showSuccessNotification('Re-sync wells from IDAS was successful');\n } else if (response?.state === RESYNC_TASK_RESPONSE.FAILURE) {\n setResyncStatus(RESYNC_STATUS.FAILED);\n const error = response?.fail_reason || 'Re-sync wells from IDAS failed';\n showErrorNotification(error);\n }\n }\n\n handleResyncWells();\n // TODO: Check reference stability. Initially had only resyncStatus\n }, [assetId, currentUser, resyncStatus]);\n\n return [\n wellSections,\n setWellSections,\n offsetWellsBySection,\n setOffsetWellsBySection,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawOffsetWellsBySection,\n ];\n};\n"],"names":["useBicWells","assetId","wells","isWDUser","usePickerPropsStore","state","currentUser","isManualWellsEnabled","useState","_useState2","_slicedToArray","_useState","wellSections","setWellSections","_useState4","_useState3","offsetWellsBySection","setOffsetWellsBySection","_useState6","_useState5","rawOffsetWellsBySection","setRawOffsetWellsBySection","_useState7","RESYNC_STATUS","INITIAL","_useState8","resyncStatus","setResyncStatus","_useState10","_useState9","taScores","setTaScores","useEffect","_ref","_ref3","fetchOffsetWellSelectionData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_filters$filterTabs","data","filters","result","manualWellIds","wellIds","_taScores","sections","allWellIds","wellsData","wrap","_context","prev","next","fetchOffsetWellSelections","t0","sent","isEmpty","JSON","parse","manual_wells","map","well","id","ta_scores","filterTabs","tab","index","value","label","name","color","WellSectionColors","reduce","acc","_ref2","sectionWellIds","addedWellIds","uniq","concat","_objectSpread","_defineProperty","length","wellId","_taScores$index","taScore","ALL_SECTION_KEY","Object","keys","key","intersection","ALL_SECTION_LABEL","_toConsumableArray","t1","console","error","stop","apply","this","arguments","fetchWellhubData","_callee2","record","offsetWells","_offsetWellsBySection","_context2","fetchWellhubWells","get","_ref4","SUCCEEDED","_handleResyncWells","_callee3","response","_context3","RUNNING","resyncIdasWells","RESYNC_TASK_RESPONSE","SUCCESS","showSuccessNotification","FAILURE","FAILED","fail_reason","showErrorNotification","TRIGGERED","handleResyncWells"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useBicWells.js","sources":["../../../../src/components/OffsetWellPickerV5/effects/useBicWells.js"],"sourcesContent":["import { useState, useEffect } from 'react';\nimport { isEmpty, get, uniq, intersection } from 'lodash';\n\nimport { fetchOffsetWellSelections, fetchWellhubWells, resyncIdasWells } from '../api';\nimport {\n ALL_SECTION_KEY,\n ALL_SECTION_LABEL,\n WellSectionColors,\n RESYNC_TASK_RESPONSE,\n RESYNC_STATUS,\n} from '../constants';\nimport { usePickerPropsStore } from '../stores/picker-props-store';\n\nimport { showSuccessNotification, showErrorNotification } from '~/utils';\n\nexport const useBicWells = (assetId, wells) => {\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const isManualWellsEnabled = usePickerPropsStore(state => state.isManualWellsEnabled);\n\n const [wellSections, setWellSections] = useState(null);\n const [offsetWellsBySection, setOffsetWellsBySection] = useState(null);\n const [rawOffsetWellsBySection, setRawOffsetWellsBySection] = useState(null);\n const [resyncStatus, setResyncStatus] = useState(RESYNC_STATUS.INITIAL);\n const [taScores, setTaScores] = useState([]);\n\n useEffect(() => {\n const fetchOffsetWellSelectionData = async () => {\n try {\n const data = assetId ? await fetchOffsetWellSelections(assetId) : [];\n const filters = !isEmpty(data) && JSON.parse(data[0].data.filters);\n const result = !isEmpty(data) && data[0].data.result && JSON.parse(data[0].data.result);\n const manualWellIds =\n isManualWellsEnabled &&\n !isEmpty(data) &&\n data[0].data.manual_wells &&\n JSON.parse(data[0].data.manual_wells);\n const wellIds = wells.map(well => well.id);\n const taScores =\n isManualWellsEnabled &&\n !isEmpty(data) &&\n data[0].data.ta_scores &&\n JSON.parse(data[0].data.ta_scores);\n\n const sections =\n filters?.filterTabs?.map((tab, index) => ({\n value: tab.value,\n label: tab.name,\n color: WellSectionColors[index],\n })) || [];\n\n let allWellIds = [assetId];\n let wellsData = {};\n\n if (filters && result) {\n wellsData = sections.reduce((acc, { value }) => {\n const sectionWellIds = result?.[value] || [];\n const addedWellIds = uniq(sectionWellIds.concat(assetId));\n allWellIds = allWellIds.concat(addedWellIds);\n return { ...acc, [value]: addedWellIds };\n }, {});\n }\n\n if (manualWellIds && manualWellIds.length) {\n allWellIds = allWellIds.concat(manualWellIds);\n setTaScores(\n manualWellIds.map((wellId, index) => ({\n wellId,\n taScore: taScores?.[index] ?? '',\n }))\n );\n }\n\n wellsData[ALL_SECTION_KEY] = uniq(allWellIds);\n\n // Store raw BIC well IDs before filtering (for reset to default functionality)\n setRawOffsetWellsBySection({ ...wellsData });\n\n // NOTE: Filter the removed offset\n wellsData = Object.keys(wellsData).reduce(\n (acc, key) => ({\n ...acc,\n [key]: intersection(wellsData[key], wellIds),\n }),\n {}\n );\n\n setWellSections([{ value: ALL_SECTION_KEY, label: ALL_SECTION_LABEL }, ...sections]);\n setOffsetWellsBySection(wellsData);\n } catch (err) {\n console.error('offsetwell selection fetch error: ', err);\n setWellSections([]);\n setOffsetWellsBySection([]);\n }\n };\n\n const fetchWellhubData = async () => {\n try {\n const record = await fetchWellhubWells(assetId);\n const offsetWells = get(record[0], 'data.offset_wells') || [];\n let offsetWellsBySection = {\n [ALL_SECTION_KEY]: uniq(offsetWells.map(({ id }) => id).concat(assetId)),\n };\n setWellSections([{ value: ALL_SECTION_KEY, label: ALL_SECTION_LABEL }]);\n\n // Store raw BIC well IDs before filtering (for reset to default functionality)\n setRawOffsetWellsBySection({ ...offsetWellsBySection });\n\n // NOTE: Filter the removed offset wells\n const wellIds = wells.map(well => well.id);\n offsetWellsBySection = Object.keys(offsetWellsBySection).reduce(\n (acc, key) => ({ ...acc, [key]: intersection(offsetWellsBySection[key], wellIds) }),\n {}\n );\n setOffsetWellsBySection(offsetWellsBySection);\n } catch (err) {\n console.error('wellhub fetch error: ', err);\n setWellSections([]);\n setOffsetWellsBySection([]);\n }\n };\n\n if (\n assetId &&\n wells &&\n (resyncStatus === RESYNC_STATUS.INITIAL || resyncStatus === RESYNC_STATUS.SUCCEEDED)\n ) {\n if (isWDUser) {\n fetchOffsetWellSelectionData();\n } else {\n fetchWellhubData();\n }\n } else if (!assetId && wells) {\n // No subject well - initialize with defaults to clear loading state\n setWellSections([{ value: ALL_SECTION_KEY, label: ALL_SECTION_LABEL }]);\n setOffsetWellsBySection({ [ALL_SECTION_KEY]: [] });\n setRawOffsetWellsBySection({ [ALL_SECTION_KEY]: [] });\n }\n }, [isWDUser, assetId, wells, resyncStatus, isManualWellsEnabled]);\n\n useEffect(() => {\n if (resyncStatus !== RESYNC_STATUS.TRIGGERED) {\n return;\n }\n\n async function handleResyncWells() {\n setResyncStatus(RESYNC_STATUS.RUNNING);\n const response =\n assetId && currentUser && currentUser.id ? await resyncIdasWells(currentUser, assetId) : [];\n\n if (response?.state === RESYNC_TASK_RESPONSE.SUCCESS) {\n setResyncStatus(RESYNC_STATUS.SUCCEEDED);\n showSuccessNotification('Re-sync wells from IDAS was successful');\n } else if (response?.state === RESYNC_TASK_RESPONSE.FAILURE) {\n setResyncStatus(RESYNC_STATUS.FAILED);\n const error = response?.fail_reason || 'Re-sync wells from IDAS failed';\n showErrorNotification(error);\n }\n }\n\n handleResyncWells();\n }, [assetId, currentUser, resyncStatus]);\n\n return [\n wellSections,\n setWellSections,\n offsetWellsBySection,\n setOffsetWellsBySection,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawOffsetWellsBySection,\n ];\n};\n"],"names":["useBicWells","assetId","wells","isWDUser","usePickerPropsStore","state","currentUser","isManualWellsEnabled","useState","_useState2","_slicedToArray","_useState","wellSections","setWellSections","_useState4","_useState3","offsetWellsBySection","setOffsetWellsBySection","_useState6","_useState5","rawOffsetWellsBySection","setRawOffsetWellsBySection","_useState7","RESYNC_STATUS","INITIAL","_useState8","resyncStatus","setResyncStatus","_useState10","_useState9","taScores","setTaScores","useEffect","_ref","_ref3","fetchOffsetWellSelectionData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_filters$filterTabs","data","filters","result","manualWellIds","wellIds","_taScores","sections","allWellIds","wellsData","wrap","_context","prev","next","fetchOffsetWellSelections","t0","sent","isEmpty","JSON","parse","manual_wells","map","well","id","ta_scores","filterTabs","tab","index","value","label","name","color","WellSectionColors","reduce","acc","_ref2","sectionWellIds","addedWellIds","uniq","concat","_objectSpread","_defineProperty","length","wellId","_taScores$index","taScore","ALL_SECTION_KEY","Object","keys","key","intersection","ALL_SECTION_LABEL","_toConsumableArray","t1","console","error","stop","apply","this","arguments","fetchWellhubData","_callee2","record","offsetWells","_offsetWellsBySection","_context2","fetchWellhubWells","get","_ref4","SUCCEEDED","_handleResyncWells","_callee3","response","_context3","RUNNING","resyncIdasWells","RESYNC_TASK_RESPONSE","SUCCESS","showSuccessNotification","FAILURE","FAILED","fail_reason","showErrorNotification","TRIGGERED","handleResyncWells"],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
/** Cache schema version. Bump to invalidate existing caches. */
|
|
2
|
+
export declare const CACHE_VERSION = 1;
|
|
3
|
+
/** TypeScript-like description of cached data shape. */
|
|
4
|
+
export declare const CACHE_SCHEMA = "Record<TileKey, number[]>";
|
|
1
5
|
/** Cache entry time-to-live: 5 minutes in milliseconds. */
|
|
2
6
|
export declare const CACHE_TTL: number;
|
|
3
7
|
/** SessionStorage key for the compressed cache data. */
|
|
4
|
-
export declare const STORAGE_KEY = "corva-offset-well-picker-tile-cache";
|
|
8
|
+
export declare const STORAGE_KEY = "corva-offset-well-picker-tile-cache-compressed";
|
|
5
9
|
/** Delay (ms) before flushing pending writes to sessionStorage. */
|
|
6
10
|
export declare const DEBOUNCE_DELAY = 500;
|
|
7
11
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/constants.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,eAAO,MAAM,SAAS,QAAgB,CAAC;AAEvC,wDAAwD;AACxD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/constants.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B,wDAAwD;AACxD,eAAO,MAAM,YAAY,8BAA8B,CAAC;AAExD,2DAA2D;AAC3D,eAAO,MAAM,SAAS,QAAgB,CAAC;AAEvC,wDAAwD;AACxD,eAAO,MAAM,WAAW,mDAAmD,CAAC;AAE5E,mEAAmE;AACnE,eAAO,MAAM,cAAc,MAAM,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e=
|
|
1
|
+
var e=1,r="Record<TileKey, number[]>",c=3e5,o="corva-offset-well-picker-tile-cache-compressed",l=500;export{r as CACHE_SCHEMA,c as CACHE_TTL,e as CACHE_VERSION,l as DEBOUNCE_DELAY,o as STORAGE_KEY};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1,25 +1,11 @@
|
|
|
1
|
-
import type { IdleCallbackHandle } from '
|
|
2
|
-
/** Feature detection for requestIdleCallback (not supported in Safari). */
|
|
3
|
-
export declare const hasIdleCallback: boolean;
|
|
1
|
+
import type { IdleCallbackHandle } from '../cache-utils';
|
|
4
2
|
/**
|
|
5
3
|
* Schedules a callback to run during browser idle time.
|
|
6
|
-
*
|
|
7
|
-
* Uses `requestIdleCallback` when available (Chrome, Firefox, Edge) for optimal
|
|
8
|
-
* scheduling that respects the browser's rendering pipeline. Falls back to
|
|
9
|
-
* `setTimeout(..., 1)` for Safari and older browsers.
|
|
10
|
-
*
|
|
11
|
-
* @param callback - Function to execute during idle time
|
|
12
|
-
* @param options - Optional configuration
|
|
13
|
-
* @param options.timeout - Maximum time (ms) to wait before forcing execution
|
|
14
|
-
* @returns Handle that can be passed to `cancelIdleWork` to cancel
|
|
4
|
+
* Uses requestIdleCallback when available, falls back to setTimeout for Safari.
|
|
15
5
|
*/
|
|
16
6
|
export declare const scheduleIdleWork: (callback: () => void, options?: {
|
|
17
7
|
timeout?: number;
|
|
18
8
|
}) => IdleCallbackHandle;
|
|
19
|
-
/**
|
|
20
|
-
* Cancels a previously scheduled idle callback.
|
|
21
|
-
*
|
|
22
|
-
* @param handle - Handle returned by `scheduleIdleWork`
|
|
23
|
-
*/
|
|
9
|
+
/** Cancels a previously scheduled idle callback. */
|
|
24
10
|
export declare const cancelIdleWork: (handle: IdleCallbackHandle) => void;
|
|
25
11
|
//# sourceMappingURL=idle-callback.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-callback.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"idle-callback.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/idle-callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAIzD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,UAAU,MAAM,IAAI,EACpB,UAAU;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,KAC7B,kBAMF,CAAC;AAEF,oDAAoD;AACpD,eAAO,MAAM,cAAc,GAAI,QAAQ,kBAAkB,KAAG,IAM3D,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var e="undefined"!=typeof window&&"requestIdleCallback"in window,n=function(n,l){return e?window.requestIdleCallback(n,l):setTimeout(n,1)},l=function(n){e?window.cancelIdleCallback(n):clearTimeout(n)};export{l as cancelIdleWork,
|
|
1
|
+
var e="undefined"!=typeof window&&"requestIdleCallback"in window,n=function(n,l){return e?window.requestIdleCallback(n,l):setTimeout(n,1)},l=function(n){e?window.cancelIdleCallback(n):clearTimeout(n)};export{l as cancelIdleWork,n as scheduleIdleWork};
|
|
2
2
|
//# sourceMappingURL=idle-callback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
/**
|
|
2
|
-
export type IdleCallbackHandle = number;
|
|
3
|
-
/**
|
|
4
|
-
* Individual cache entry for a map tile.
|
|
5
|
-
*
|
|
6
|
-
* @property wellIds - Array of well IDs contained in this tile
|
|
7
|
-
* @property timestamp - Unix timestamp (ms) when this entry was created
|
|
8
|
-
*/
|
|
1
|
+
/** In-memory cache entry for a map tile. */
|
|
9
2
|
export type CacheEntry = {
|
|
10
3
|
wellIds: number[];
|
|
11
4
|
timestamp: number;
|
|
12
5
|
};
|
|
13
6
|
/**
|
|
14
|
-
*
|
|
15
|
-
* Keys are tile coordinates in "z/x/y" format.
|
|
7
|
+
* Storage state format (inside envelope).
|
|
8
|
+
* Keys are tile coordinates in "z/x/y" format, values are well ID arrays.
|
|
16
9
|
*/
|
|
17
|
-
export type
|
|
10
|
+
export type TileStorageState = Record<string, number[]>;
|
|
18
11
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/types.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/types.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC"}
|
|
@@ -1,84 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* This module implements a two-level caching strategy optimized for map tile data:
|
|
7
|
-
*
|
|
8
|
-
* ```
|
|
9
|
-
* ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
10
|
-
* │ Memory Cache │ ──► │ Pending Queue │ ──► │ SessionStorage │
|
|
11
|
-
* │ (Map, instant) │ │ (Map, batched) │ │ (LZ compressed) │
|
|
12
|
-
* └─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* - **Level 1 (Memory)**: In-memory Map for instant O(1) lookups. Lost on page reload.
|
|
16
|
-
* - **Level 2 (SessionStorage)**: Persistent storage with LZ-String compression.
|
|
17
|
-
* Survives component remounts within the same browser session.
|
|
18
|
-
*
|
|
19
|
-
* ## Performance Optimizations
|
|
20
|
-
*
|
|
21
|
-
* 1. **Async I/O**: All sessionStorage operations are deferred to browser idle time
|
|
22
|
-
* using `requestIdleCallback` (with `setTimeout` fallback for Safari).
|
|
23
|
-
* This prevents blocking the main thread during UI rendering.
|
|
24
|
-
*
|
|
25
|
-
* 2. **Write Batching**: Storage writes are debounced (500ms) to coalesce multiple
|
|
26
|
-
* tile updates into a single write operation.
|
|
27
|
-
*
|
|
28
|
-
* 3. **Compression**: Data is compressed using LZ-String's UTF-16 encoding,
|
|
29
|
-
* significantly reducing storage footprint.
|
|
30
|
-
*
|
|
31
|
-
* 4. **TTL Expiration**: Entries automatically expire after 5 minutes to prevent
|
|
32
|
-
* serving stale data.
|
|
33
|
-
*
|
|
34
|
-
* ## Data Format
|
|
35
|
-
*
|
|
36
|
-
* Only well IDs are cached (not full well objects) to minimize storage size.
|
|
37
|
-
* The full well data is restored from the viewport store when cache hits occur.
|
|
38
|
-
*
|
|
39
|
-
* @module useTileCache
|
|
2
|
+
* Two-level tile cache: memory (instant) + sessionStorage (LZ-compressed, persistent).
|
|
3
|
+
* Writes are debounced and deferred to browser idle time via requestIdleCallback.
|
|
4
|
+
* Only well IDs are cached; full well data is restored from the viewport store on hits.
|
|
40
5
|
*/
|
|
41
6
|
import type { TileKey } from '../../stores/viewport-store/types';
|
|
42
|
-
|
|
43
|
-
* Two-level tile cache with memory (fast) and sessionStorage (persistent) layers.
|
|
44
|
-
*
|
|
45
|
-
* ## Usage
|
|
46
|
-
*
|
|
47
|
-
* ```tsx
|
|
48
|
-
* const { getCachedTile, setCachedTile, clearCache } = useTileCache();
|
|
49
|
-
*
|
|
50
|
-
* // Check cache before fetching
|
|
51
|
-
* const cachedIds = getCachedTile('10/123/456');
|
|
52
|
-
* if (cachedIds) {
|
|
53
|
-
* // Restore wells from store using cached IDs
|
|
54
|
-
* } else {
|
|
55
|
-
* // Fetch from API, then cache
|
|
56
|
-
* const wells = await fetchTile('10/123/456');
|
|
57
|
-
* setCachedTile('10/123/456', wells.map(w => w.id));
|
|
58
|
-
* }
|
|
59
|
-
* ```
|
|
60
|
-
*
|
|
61
|
-
* ## Lifecycle
|
|
62
|
-
*
|
|
63
|
-
* 1. **Mount**: Hydrates memory cache from sessionStorage (async, max 2s delay)
|
|
64
|
-
* 2. **Reads**: Instant from memory cache, no I/O blocking
|
|
65
|
-
* 3. **Writes**: Immediate to memory, debounced (500ms) to sessionStorage
|
|
66
|
-
* 4. **Unmount**: Cancels pending writes and idle callbacks
|
|
67
|
-
*
|
|
68
|
-
* ## Cache Lookup Order
|
|
69
|
-
*
|
|
70
|
-
* 1. Memory cache (instant)
|
|
71
|
-
* 2. Pending writes queue (not yet flushed to storage)
|
|
72
|
-
* 3. Return null (cache miss)
|
|
73
|
-
*
|
|
74
|
-
* @returns Cache operations object
|
|
75
|
-
* @returns returns.getCachedTile - Retrieves cached well IDs for a tile
|
|
76
|
-
* @returns returns.setCachedTile - Caches well IDs for a tile
|
|
77
|
-
* @returns returns.clearCache - Clears all cache data and pending operations
|
|
78
|
-
*/
|
|
79
|
-
export declare const useTileCache: () => {
|
|
7
|
+
type TileCacheResult = {
|
|
80
8
|
getCachedTile: (key: TileKey) => number[] | null;
|
|
81
9
|
setCachedTile: (key: TileKey, wellIds: number[]) => void;
|
|
82
10
|
clearCache: () => void;
|
|
83
11
|
};
|
|
12
|
+
export declare const useTileCache: () => TileCacheResult;
|
|
13
|
+
export {};
|
|
84
14
|
//# sourceMappingURL=useTileCache.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTileCache.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"useTileCache.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useTileCache/useTileCache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AA4BjE,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IACjD,aAAa,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACzD,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,eA2K/B,CAAC"}
|