@corva/ui 3.77.0-2 → 3.77.0-21
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/MCP_README.md +9 -6
- package/README.md +8 -2
- package/cjs-bundle/clients/jsonApi/index.js +1 -1
- package/cjs-bundle/clients/jsonApi/index.js.map +1 -1
- package/cjs-bundle/components/AddComment/Popover.js +1 -1
- package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
- package/cjs-bundle/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js +1 -1
- package/cjs-bundle/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js.map +1 -1
- package/cjs-bundle/components/Annotations/components/AnnotationsList/index.js +1 -1
- package/cjs-bundle/components/Annotations/components/AnnotationsList/index.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/constants.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js +2 -0
- package/cjs-bundle/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
- package/cjs-bundle/components/AssetEditorV2/effects/index.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/index.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/index.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/index.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/utils/index.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/utils/index.js.map +1 -1
- package/cjs-bundle/components/AssetsMultipleSelector/AssetsMultipleSelector.js +1 -1
- package/cjs-bundle/components/AssetsMultipleSelector/AssetsMultipleSelector.js.map +1 -1
- package/cjs-bundle/components/Attachment/index.js +1 -1
- package/cjs-bundle/components/Attachment/index.js.map +1 -1
- package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js +1 -1
- package/cjs-bundle/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
- package/cjs-bundle/components/CommentCard/CommentCard.js +1 -1
- package/cjs-bundle/components/CommentCard/CommentCard.js.map +1 -1
- package/cjs-bundle/components/CommentCard/CommentCard.scss.js +1 -1
- package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js +1 -1
- package/cjs-bundle/components/CommentComposer/useAttachmentUpload.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map +1 -1
- package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
- package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/cjs-bundle/components/EmbeddedApp/EmbeddedApp.js +1 -1
- package/cjs-bundle/components/EmbeddedApp/EmbeddedApp.js.map +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
- package/cjs-bundle/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js +1 -1
- package/cjs-bundle/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js.map +1 -1
- package/cjs-bundle/components/FeedItem/components/Content.js +1 -1
- package/cjs-bundle/components/FeedItem/components/Content.js.map +1 -1
- package/cjs-bundle/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js +1 -1
- package/cjs-bundle/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js.map +1 -1
- package/cjs-bundle/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js +1 -1
- package/cjs-bundle/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js.map +1 -1
- package/cjs-bundle/components/FilesLoaderV2/utils.js +1 -1
- package/cjs-bundle/components/FilesLoaderV2/utils.js.map +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js.map +1 -1
- package/cjs-bundle/components/GradientManager/GradientSelect.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientSelect.js.map +1 -1
- package/cjs-bundle/components/InfiniteList/index.js +1 -1
- package/cjs-bundle/components/InfiniteList/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
- package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/constants.js.map +1 -1
- 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/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/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/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.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/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useIsAdmin.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useIsAdmin.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useLimitNotification.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useLimitNotification.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/getCoordinatedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/getCoordinatedWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
- package/cjs-bundle/components/Search/Search.js.map +1 -1
- package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
- package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js.map +1 -1
- package/cjs-bundle/componentsV2/AppPanel/AppPanelDisplay.js +1 -1
- package/cjs-bundle/componentsV2/AppPanel/AppPanelDisplay.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.scss.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
- package/cjs-bundle/componentsV2/FilesDropzone/utils.js +1 -1
- package/cjs-bundle/componentsV2/FilesDropzone/utils.js.map +1 -1
- package/cjs-bundle/componentsV2/FilesLoader/utils.js +1 -1
- package/cjs-bundle/componentsV2/FilesLoader/utils.js.map +1 -1
- package/cjs-bundle/componentsV2/IndicatorLive/IndicatorLive.js.map +1 -1
- package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
- package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useInitialize.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useInitialize.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js.map +1 -1
- package/cjs-bundle/componentsV2/TextInputBase/TextInputBase.js +1 -1
- package/cjs-bundle/componentsV2/TextInputBase/TextInputBase.js.map +1 -1
- package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js +1 -1
- package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js.map +1 -1
- package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
- package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
- package/cjs-bundle/config/mapbox/index.js +1 -1
- package/cjs-bundle/config/mapbox/index.js.map +1 -1
- package/cjs-bundle/constants/notifications.js +1 -1
- package/cjs-bundle/constants/notifications.js.map +1 -1
- package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
- package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
- package/cjs-bundle/effects/useSharedDCStore.js +1 -1
- package/cjs-bundle/effects/useSharedDCStore.js.map +1 -1
- package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
- package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
- package/cjs-bundle/utils/DrillstringUtils.js +1 -1
- package/cjs-bundle/utils/DrillstringUtils.js.map +1 -1
- package/cjs-bundle/utils/apps.js +1 -1
- package/cjs-bundle/utils/apps.js.map +1 -1
- package/cjs-bundle/utils/convert.js +1 -1
- package/cjs-bundle/utils/convert.js.map +1 -1
- package/cjs-bundle/utils/devcenter.js +1 -1
- package/cjs-bundle/utils/devcenter.js.map +1 -1
- package/cjs-bundle/utils/index.js +1 -1
- package/cjs-bundle/utils/index.js.map +1 -1
- package/cjs-bundle/utils/lasParser.js +1 -1
- package/cjs-bundle/utils/lasParser.js.map +1 -1
- package/cjs-bundle/utils/time.js.map +1 -1
- package/clients/jsonApi/index.js +1 -1
- package/clients/jsonApi/index.js.map +1 -1
- package/components/AddComment/Popover.js +1 -1
- package/components/AddComment/Popover.js.map +1 -1
- package/components/AddComment/components/Content.js +1 -1
- package/components/AddComment/components/Content.js.map +1 -1
- package/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js +1 -1
- package/components/Annotations/components/AnnotationsList/components/AddAnnotationForm/index.js.map +1 -1
- package/components/Annotations/components/AnnotationsList/index.js +1 -1
- package/components/Annotations/components/AnnotationsList/index.js.map +1 -1
- package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts +2 -0
- package/components/AssetEditorV2/__tests__/AssetEditorV2.test.d.ts.map +1 -0
- package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts +2 -0
- package/components/AssetEditorV2/__tests__/consumerTypes.test.d.ts.map +1 -0
- package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts +17 -6
- package/components/AssetEditorV2/components/MultipleAssetsToggle.d.ts.map +1 -1
- package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
- package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts +30 -39
- package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts.map +1 -1
- package/components/AssetEditorV2/components/PrimaryAssetSelect.js +1 -1
- package/components/AssetEditorV2/components/PrimaryAssetSelect.js.map +1 -1
- package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts +4 -41
- package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts.map +1 -1
- package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js +1 -1
- package/components/AssetEditorV2/components/PrimaryAssetSelectV2.js.map +1 -1
- package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts +22 -18
- package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts.map +1 -1
- package/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
- package/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
- package/components/AssetEditorV2/components/SelectItem.d.ts +10 -1
- package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
- package/components/AssetEditorV2/components/SelectItem.js +1 -1
- package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
- package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts +2 -0
- package/components/AssetEditorV2/components/__tests__/AssetSelectors.test.d.ts.map +1 -0
- package/components/AssetEditorV2/components/__tests__/MultipleAssetsToggle.test.d.ts.map +1 -1
- package/components/AssetEditorV2/components/__tests__/SelectItem.test.d.ts.map +1 -1
- package/components/AssetEditorV2/components/index.d.ts.map +1 -1
- package/components/AssetEditorV2/constants.d.ts +2 -9
- package/components/AssetEditorV2/constants.d.ts.map +1 -1
- package/components/AssetEditorV2/constants.js.map +1 -1
- package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts +2 -0
- package/components/AssetEditorV2/effects/__tests__/assetResponse.test.d.ts.map +1 -0
- package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts +2 -0
- package/components/AssetEditorV2/effects/__tests__/useLegacyPrimaryAssetSelectData.test.d.ts.map +1 -0
- package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts +2 -0
- package/components/AssetEditorV2/effects/__tests__/usePrimaryAssetSelectData.test.d.ts.map +1 -0
- package/components/AssetEditorV2/effects/assetResponse.d.ts +4 -0
- package/components/AssetEditorV2/effects/assetResponse.d.ts.map +1 -0
- package/components/AssetEditorV2/effects/assetResponse.js +2 -0
- package/components/AssetEditorV2/effects/assetResponse.js.map +1 -0
- package/components/AssetEditorV2/effects/index.d.ts +34 -28
- package/components/AssetEditorV2/effects/index.d.ts.map +1 -1
- package/components/AssetEditorV2/effects/index.js +1 -1
- package/components/AssetEditorV2/effects/index.js.map +1 -1
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts +21 -17
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts.map +1 -1
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
- package/components/AssetEditorV2/index.d.ts +36 -67
- package/components/AssetEditorV2/index.d.ts.map +1 -1
- package/components/AssetEditorV2/index.js +1 -1
- package/components/AssetEditorV2/index.js.map +1 -1
- package/components/AssetEditorV2/types.d.ts +82 -0
- package/components/AssetEditorV2/types.d.ts.map +1 -0
- package/components/AssetEditorV2/utils/__tests__/utils.test.d.ts.map +1 -1
- package/components/AssetEditorV2/utils/index.d.ts +23 -19
- package/components/AssetEditorV2/utils/index.d.ts.map +1 -1
- package/components/AssetEditorV2/utils/index.js +1 -1
- package/components/AssetEditorV2/utils/index.js.map +1 -1
- package/components/AssetsMultipleSelector/AssetsMultipleSelector.js +1 -1
- package/components/AssetsMultipleSelector/AssetsMultipleSelector.js.map +1 -1
- package/components/Attachment/index.js +1 -1
- package/components/Attachment/index.js.map +1 -1
- package/components/AttachmentLightbox/AttachmentDocument.d.ts.map +1 -1
- package/components/AttachmentLightbox/AttachmentDocument.js +1 -1
- package/components/AttachmentLightbox/AttachmentDocument.js.map +1 -1
- package/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
- package/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
- package/components/BICOffsetPickerDialog/index.js +1 -1
- package/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/components/CollapsableSidebar.js +1 -1
- package/components/CollapsableSidebar.js.map +1 -1
- package/components/CommentCard/CommentCard.d.ts.map +1 -1
- package/components/CommentCard/CommentCard.js +1 -1
- package/components/CommentCard/CommentCard.js.map +1 -1
- package/components/CommentCard/CommentCard.scss.js +1 -1
- package/components/CommentCard/CommentCard.types.d.ts +0 -1
- package/components/CommentCard/CommentCard.types.d.ts.map +1 -1
- package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts +2 -0
- package/components/CommentComposer/__tests__/useAttachmentUpload.local.test.d.ts.map +1 -0
- package/components/CommentComposer/useAttachmentUpload.d.ts.map +1 -1
- package/components/CommentComposer/useAttachmentUpload.js +1 -1
- package/components/CommentComposer/useAttachmentUpload.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.js.map +1 -1
- package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.d.ts.map +1 -1
- package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js +1 -1
- package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/IsolatedPage.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.js.map +1 -1
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/components/EmbeddedApp/EmbeddedApp.d.ts.map +1 -1
- package/components/EmbeddedApp/EmbeddedApp.js +1 -1
- package/components/EmbeddedApp/EmbeddedApp.js.map +1 -1
- package/components/FeedItem/FeedItem.js +1 -1
- package/components/FeedItem/FeedItem.js.map +1 -1
- package/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js +1 -1
- package/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.js.map +1 -1
- package/components/FeedItem/components/Content.d.ts.map +1 -1
- package/components/FeedItem/components/Content.js +1 -1
- package/components/FeedItem/components/Content.js.map +1 -1
- package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.d.ts.map +1 -1
- package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js +1 -1
- package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.js.map +1 -1
- package/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.d.ts.map +1 -1
- package/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js +1 -1
- package/components/FeedItem/feedItemTypes/WellPlanFeedItem/index.js.map +1 -1
- package/components/FilesLoaderV2/utils.js +1 -1
- package/components/FilesLoaderV2/utils.js.map +1 -1
- package/components/GradientManager/GradientManager.js +1 -1
- package/components/GradientManager/GradientManager.js.map +1 -1
- package/components/GradientManager/GradientSelect.js +1 -1
- package/components/GradientManager/GradientSelect.js.map +1 -1
- package/components/InfiniteList/index.d.ts.map +1 -1
- package/components/InfiniteList/index.js +1 -1
- package/components/InfiniteList/index.js.map +1 -1
- package/components/OffsetWellMap/OffsetWellMap.js +1 -1
- package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
- package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
- package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/OffsetWellPickerV2/constants.js +1 -1
- package/components/OffsetWellPickerV2/constants.js.map +1 -1
- package/components/OffsetWellPickerV2/effects/index.js +1 -1
- package/components/OffsetWellPickerV2/effects/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/constants.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/components/OffsetWellPickerV3/index.js +1 -1
- package/components/OffsetWellPickerV3/index.js.map +1 -1
- package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts +2 -0
- package/components/OffsetWellPickerV4/effects/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV4/effects/useCompanyMetricKey.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts +2 -0
- package/components/OffsetWellPickerV5/__tests__/constants.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSelectionToolOrchestration.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/utils/well-markers-utils.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts +2 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/MetricsCells/MetricsCells.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts +3 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.module.css.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts +2 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/__tests__/MetricCell.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts +0 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
- package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
- package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
- package/components/OffsetWellPickerV5/constants.d.ts +26 -3
- 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/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts +2 -0
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useAdvancedWells.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts +2 -0
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/__tests__/useCompanyMetricKey.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/wellTransformations.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useAutoSyncOffsetWells.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useIsAdmin.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useIsAdmin.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useLimitNotification.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useLimitNotification.js.map +1 -1
- package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts +2 -1
- package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -1
- package/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js +1 -1
- package/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js.map +1 -1
- package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts +2 -0
- package/components/OffsetWellPickerV5/utils/__tests__/getTimestampByPeriod.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/utils/getCoordinatedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/utils/getCoordinatedWells.js +1 -1
- package/components/OffsetWellPickerV5/utils/getCoordinatedWells.js.map +1 -1
- package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts +4 -0
- package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js +1 -1
- package/components/OffsetWellPickerV5/utils/getTimestampByPeriod.js.map +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
- package/components/Search/Search.d.ts +6 -3
- package/components/Search/Search.d.ts.map +1 -1
- package/components/Search/Search.js.map +1 -1
- package/components/index.d.ts +1 -0
- package/components/index.d.ts.map +1 -1
- package/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
- package/componentsV2/AppFooter/DqPopover/DqPopover.js.map +1 -1
- package/componentsV2/AppHeader/AppAssets/utils.js +1 -1
- package/componentsV2/AppHeader/AppAssets/utils.js.map +1 -1
- package/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
- package/componentsV2/AppHeader/V3/Actions/Actions.js.map +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js.map +1 -1
- package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
- package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js.map +1 -1
- package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
- package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js.map +1 -1
- package/componentsV2/AppPanel/AppPanelDisplay.js +1 -1
- package/componentsV2/AppPanel/AppPanelDisplay.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.scss.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/useNonActivePads.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
- package/componentsV2/FilesDropzone/utils.js +1 -1
- package/componentsV2/FilesDropzone/utils.js.map +1 -1
- package/componentsV2/FilesLoader/utils.js +1 -1
- package/componentsV2/FilesLoader/utils.js.map +1 -1
- package/componentsV2/IndicatorLive/IndicatorLive.d.ts.map +1 -1
- package/componentsV2/IndicatorLive/IndicatorLive.js.map +1 -1
- package/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
- package/componentsV2/PadModeSelect/PadModeSelect.js.map +1 -1
- package/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
- package/componentsV2/TemplatesControl/PublishModal/PublishModal.js.map +1 -1
- package/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
- package/componentsV2/TemplatesControl/ShareModal/ShareModal.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useCopyTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useCreateTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useDeleteFolder.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useDeleteTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useExportTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useImportTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useInitialize.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useInitialize.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useMoveToFolder.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/usePublishTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useRevertToOriginal.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useShareTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUnfollowTemplate.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUpdateFolderName.js.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateName.js.map +1 -1
- package/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
- package/componentsV2/TemplatesControl/Toggle/Toggle.js.map +1 -1
- package/componentsV2/TextInputBase/TextInputBase.js +1 -1
- package/componentsV2/TextInputBase/TextInputBase.js.map +1 -1
- package/componentsV2/TextInputNext/TextInputNext.js +1 -1
- package/componentsV2/TextInputNext/TextInputNext.js.map +1 -1
- package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
- package/componentsV2/WellArchivedMessage/WellArchivedMessage.js.map +1 -1
- package/config/mapbox/index.d.ts.map +1 -1
- package/config/mapbox/index.js +1 -1
- package/config/mapbox/index.js.map +1 -1
- package/constants/assets.d.ts +40 -1
- package/constants/assets.d.ts.map +1 -1
- package/constants/bha.d.ts +4 -4
- package/constants/notifications.d.ts +5 -2
- package/constants/notifications.d.ts.map +1 -1
- package/constants/notifications.js +1 -1
- package/constants/notifications.js.map +1 -1
- package/effects/useGlobalOffsetWellsSync.js +1 -1
- package/effects/useGlobalOffsetWellsSync.js.map +1 -1
- package/effects/useSharedDCStore.js +1 -1
- package/effects/useSharedDCStore.js.map +1 -1
- package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts +2 -0
- package/hocs/__tests__/withAssetEditorLockHOC.test.d.ts.map +1 -0
- package/hocs/withAssetEditorLockHOC.d.ts +11 -1
- package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
- package/hocs/withAssetEditorLockHOC.js +1 -1
- package/hocs/withAssetEditorLockHOC.js.map +1 -1
- package/mcp-server/server.mjs +373 -163
- package/mcp-server/setup.mjs +129 -44
- package/package.json +3 -3
- package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/utils/DrillstringUtils.d.ts.map +1 -1
- package/utils/DrillstringUtils.js +1 -1
- package/utils/DrillstringUtils.js.map +1 -1
- package/utils/apps.js +1 -1
- package/utils/apps.js.map +1 -1
- package/utils/convert.d.ts +0 -19
- package/utils/convert.d.ts.map +1 -1
- package/utils/convert.js +1 -1
- package/utils/convert.js.map +1 -1
- package/utils/devcenter.d.ts.map +1 -1
- package/utils/devcenter.js +1 -1
- package/utils/devcenter.js.map +1 -1
- package/utils/index.d.ts +4 -4
- package/utils/index.d.ts.map +1 -1
- package/utils/index.js +1 -1
- package/utils/index.js.map +1 -1
- package/utils/lasParser.d.ts.map +1 -1
- package/utils/lasParser.js +1 -1
- package/utils/lasParser.js.map +1 -1
- package/utils/time.d.ts.map +1 -1
- package/utils/time.js.map +1 -1
- package/utils/HeatmapUtils.d.ts +0 -1
- package/utils/HeatmapUtils.d.ts.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/toConsumableArray";import o from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{memo as
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/toConsumableArray";import o from"@babel/runtime/helpers/asyncToGenerator";import t from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{memo as a,useState as i,useEffect as s}from"react";import d from"prop-types";import l from"moment";import u from"classnames";import{get as c,set as m}from"lodash";import h from"react-infinite-scroller";import f from"@material-ui/core/colors/grey";import y from"./styles.css.js";import p from"../LoadingIndicator/LoadingIndicator.js";import{jsxs as b,jsx as g}from"react/jsx-runtime";var v=f[700],T={newerThan12Hours:"Last 12 hours",olderThan12Hours:"Last 24 hours",olderThan1Days:"Earlier this week",olderThan7Days:"Older than 7 days",olderThan14Days:"Older than 14 days",olderThan30Days:"Older than 30 days"},I=function(){return{hoursAgo12:l().subtract(12,"hours"),daysAgo1:l().subtract(1,"days"),daysAgo7:l().subtract(7,"days"),daysAgo14:l().subtract(14,"days"),daysAgo30:l().subtract(30,"days")}};function L(a){var d=a.infiniteClassName,f=void 0===d?null:d,L=a.useWindow,A=void 0!==L&&L,w=a.headerComponent,D=void 0===w?null:w,C=a.items,H=a.showNoItemsFound,_=a.noItemsFoundLabel,q=a.infiniteContainerHeight,x=void 0===q?null:q,N=a.moreItemsMayExist,O=a.pathToCreatedAt,R=a.renderItem,j=a.loadItems,k=a.threshold,E=void 0===k?3e3:k,F=a.initialLoad,M=void 0===F||F,P=a.divideByPeriods,W=void 0===P||P,B=i(!1),G=t(B,2),z=G[0],J=G[1],K=i(I),Q=t(K,2),S=Q[0],U=Q[1];s((function(){var e=setInterval((function(){return U(I())}),216e5);return function(){return clearInterval(e)}}),[]);var V,X=(V=o(n.mark((function e(){return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!z){e.next=2;break}return e.abrupt("return");case 2:return J(!0),e.next=5,j();case 5:J(!1);case 6:case"end":return e.stop()}}),e)}))),function(){return V.apply(this,arguments)});return b("div",{className:u(y.cInfiniteList,f,e({},y.cInfiniteListOverflow,!A)),style:{height:x},children:[g(h,{loadMore:X,hasMore:N&&!H,threshold:E,loader:g(p,{fullscreen:!1},"c-infinite-scroll__loader"),useWindow:A,initialLoad:M,children:function(){if(!W)return[D].concat(C.map((function(e){return R(e)})));var e=S.hoursAgo12,o=S.daysAgo1,t=S.daysAgo7,n=S.daysAgo14,a=S.daysAgo30,i=C.reduce((function(r,i,s){var d,u=R(i,s),h=c(i,O),f=l(h);return f>=e?d="newerThan12Hours":f<e&&f>=o?d="olderThan12Hours":f<o&&f>=t?d="olderThan1Days":f<t&&f>=n?d="olderThan7Days":f<n&&f>=a?d="olderThan14Days":f<a&&(d="olderThan30Days"),m(r,[d,r[d].length],u)}),{newerThan12Hours:[],olderThan12Hours:[],olderThan1Days:[],olderThan7Days:[],olderThan14Days:[],olderThan30Days:[]}),s=Object.keys(i).reduce((function(e,o){return 0===i[o].length?e.concat(i[o]):e.concat([(t=o,g("div",{"data-testid":"".concat("generic_infiniteList","_periodLabel"),className:y.cInfiniteListPeriod,style:{color:v},children:T[t]},t))].concat(r(i[o])));var t}),[]);return[D].concat(r(s))}()}),H&&g("div",{"data-testid":"".concat("generic_infiniteList","_noItems"),className:y.cInfiniteListEmpty,children:_},"c-infinite-list__empty")]})}L.propTypes={infiniteClassName:d.string,useWindow:d.bool,headerComponent:d.node,items:d.arrayOf(d.shape()).isRequired,showNoItemsFound:d.bool.isRequired,noItemsFoundLabel:d.string.isRequired,infiniteContainerHeight:d.number,moreItemsMayExist:d.bool.isRequired,pathToCreatedAt:d.arrayOf(d.string).isRequired,renderItem:d.func.isRequired,loadItems:d.func.isRequired,threshold:d.number,initialLoad:d.bool,divideByPeriods:d.bool};var A=a(L);export{A as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/InfiniteList/index.js"],"sourcesContent":["import { memo, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { get, set } from 'lodash';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport grey from '@material-ui/core/colors/grey';\n\nimport styles from './styles.css';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\n\nconst PAGE_NAME = 'generic_infiniteList';\n\nconst grey700 = grey['700'];\n\nconst INTERVAL_6_HOURS = 6 * 60 * 60 * 1000;\nconst PERIOD_LABELS = {\n newerThan12Hours: 'Last 12 hours',\n olderThan12Hours: 'Last 24 hours',\n olderThan1Days: 'Earlier this week',\n olderThan7Days: 'Older than 7 days',\n olderThan14Days: 'Older than 14 days',\n olderThan30Days: 'Older than 30 days',\n};\n\nconst getPeriodDates = () => ({\n hoursAgo12: moment().subtract(12, 'hours'),\n daysAgo1: moment().subtract(1, 'days'),\n daysAgo7: moment().subtract(7, 'days'),\n daysAgo14: moment().subtract(14, 'days'),\n daysAgo30: moment().subtract(30, 'days'),\n});\n\n/** @param {any} props Preserve the legacy component's permissive public prop type. */\nfunction InfiniteList({\n infiniteClassName = null,\n useWindow = false,\n headerComponent = null,\n items,\n showNoItemsFound,\n noItemsFoundLabel,\n infiniteContainerHeight = null,\n moreItemsMayExist,\n pathToCreatedAt,\n renderItem,\n loadItems,\n threshold = 3000,\n initialLoad = true,\n divideByPeriods = true,\n}) {\n const [isLoadingByScroll, setIsLoadingByScroll] = useState(false);\n const [periodDates, setPeriodDates] = useState(getPeriodDates);\n\n useEffect(() => {\n const intervalId = setInterval(() => setPeriodDates(getPeriodDates()), INTERVAL_6_HOURS);\n return () => clearInterval(intervalId);\n }, []);\n\n // NOTE: 'react-infinite-scroller' has a bug that when scroll reaches threshold area, it starts\n // to fire loadMore on every scroll event - bottom, up. As a result multiple same request fired.\n //\n // We fix this preventing request that was fired by scroll before previous is finished.\n //\n // Issues:\n // https://github.com/CassetteRocks/react-infinite-scroller/issues/143\n const loadMore = async () => {\n if (isLoadingByScroll) {\n return;\n }\n\n setIsLoadingByScroll(true);\n\n await loadItems();\n\n setIsLoadingByScroll(false);\n };\n\n const renderNoItemsLabel = () => {\n return (\n <div\n data-testid={`${PAGE_NAME}_noItems`}\n key=\"c-infinite-list__empty\"\n className={styles.cInfiniteListEmpty}\n >\n {noItemsFoundLabel}\n </div>\n );\n };\n\n const renderPeriodSeparator = periodKey => {\n return (\n <div\n data-testid={`${PAGE_NAME}_periodLabel`}\n key={periodKey}\n className={styles.cInfiniteListPeriod}\n style={{ color: grey700 }}\n >\n {PERIOD_LABELS[periodKey]}\n </div>\n );\n };\n\n const renderItems = () => {\n if (!divideByPeriods) {\n return items.map(item => renderItem(item)).unshift(headerComponent);\n }\n\n const { hoursAgo12, daysAgo1, daysAgo7, daysAgo14, daysAgo30 } = periodDates;\n\n const itemElsByPeriod = items.reduce(\n (result, item, index) => {\n let periodKey;\n const itemEl = renderItem(item, index);\n // NOTE: Backward compatibility for immutable objects in list\n const itemCreatedAt = get(item, pathToCreatedAt);\n const itemAt = moment(itemCreatedAt);\n\n if (itemAt >= hoursAgo12) {\n periodKey = 'newerThan12Hours';\n } else if (itemAt < hoursAgo12 && itemAt >= daysAgo1) {\n periodKey = 'olderThan12Hours';\n } else if (itemAt < daysAgo1 && itemAt >= daysAgo7) {\n periodKey = 'olderThan1Days';\n } else if (itemAt < daysAgo7 && itemAt >= daysAgo14) {\n periodKey = 'olderThan7Days';\n } else if (itemAt < daysAgo14 && itemAt >= daysAgo30) {\n periodKey = 'olderThan14Days';\n } else if (itemAt < daysAgo30) {\n periodKey = 'olderThan30Days';\n }\n\n return set(result, [periodKey, result[periodKey].length], itemEl);\n },\n {\n newerThan12Hours: [],\n olderThan12Hours: [],\n olderThan1Days: [],\n olderThan7Days: [],\n olderThan14Days: [],\n olderThan30Days: [],\n }\n );\n\n const itemElsWithPeriodEls = Object.keys(itemElsByPeriod).reduce((result, periodEls) => {\n if (itemElsByPeriod[periodEls].length === 0) return result.concat(itemElsByPeriod[periodEls]);\n\n return result.concat([renderPeriodSeparator(periodEls), ...itemElsByPeriod[periodEls]]);\n }, []);\n\n const itemElsWithPeriodElsWithHeaderEl = [headerComponent, ...itemElsWithPeriodEls];\n\n return itemElsWithPeriodElsWithHeaderEl;\n };\n\n return (\n <div\n className={classNames(styles.cInfiniteList, infiniteClassName, {\n [styles.cInfiniteListOverflow]: !useWindow,\n })}\n style={{ height: infiniteContainerHeight }}\n >\n <InfiniteScroll\n loadMore={loadMore}\n hasMore={moreItemsMayExist && !showNoItemsFound}\n threshold={threshold} // NOTE: We should load infinite scroll next page before user get to bottom\n loader={<LoadingIndicator key=\"c-infinite-scroll__loader\" fullscreen={false} />}\n useWindow={useWindow}\n initialLoad={initialLoad}\n >\n {renderItems()}\n </InfiniteScroll>\n\n {showNoItemsFound && renderNoItemsLabel()}\n </div>\n );\n}\n\nInfiniteList.propTypes = {\n infiniteClassName: PropTypes.string,\n useWindow: PropTypes.bool,\n headerComponent: PropTypes.node,\n // NOTE: Backward compatibility with immutable;\n // Remove when get rid of immutablejs\n items: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n showNoItemsFound: PropTypes.bool.isRequired,\n noItemsFoundLabel: PropTypes.string.isRequired,\n infiniteContainerHeight: PropTypes.number,\n moreItemsMayExist: PropTypes.bool.isRequired,\n pathToCreatedAt: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderItem: PropTypes.func.isRequired,\n loadItems: PropTypes.func.isRequired,\n threshold: PropTypes.number,\n initialLoad: PropTypes.bool,\n divideByPeriods: PropTypes.bool,\n};\n\nexport default memo(InfiniteList);\n"],"names":["grey700","grey","PERIOD_LABELS","newerThan12Hours","olderThan12Hours","olderThan1Days","olderThan7Days","olderThan14Days","olderThan30Days","getPeriodDates","hoursAgo12","moment","subtract","daysAgo1","daysAgo7","daysAgo14","daysAgo30","InfiniteList","_ref","_ref$infiniteClassNam","infiniteClassName","_ref$useWindow","useWindow","_ref$headerComponent","headerComponent","items","showNoItemsFound","noItemsFoundLabel","_ref$infiniteContaine","infiniteContainerHeight","moreItemsMayExist","pathToCreatedAt","renderItem","loadItems","_ref$threshold","threshold","_ref$initialLoad","initialLoad","_ref$divideByPeriods","divideByPeriods","useState","_useState2","_slicedToArray","_useState","isLoadingByScroll","setIsLoadingByScroll","_useState4","_useState3","periodDates","setPeriodDates","useEffect","intervalId","setInterval","clearInterval","_ref2","loadMore","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","apply","this","arguments","_jsxs","className","classNames","styles","cInfiniteList","_defineProperty","cInfiniteListOverflow","style","height","children","_jsx","InfiniteScroll","hasMore","loader","LoadingIndicator","fullscreen","map","item","unshift","itemElsByPeriod","reduce","result","index","periodKey","itemEl","itemCreatedAt","get","itemAt","set","length","itemElsWithPeriodEls","Object","keys","periodEls","concat","cInfiniteListPeriod","color","_toConsumableArray","renderItems","cInfiniteListEmpty","propTypes","PropTypes","string","bool","node","arrayOf","shape","isRequired","number","func","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/InfiniteList/index.js"],"sourcesContent":["import { memo, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport moment from 'moment';\nimport classNames from 'classnames';\nimport { get, set } from 'lodash';\nimport InfiniteScroll from 'react-infinite-scroller';\nimport grey from '@material-ui/core/colors/grey';\n\nimport styles from './styles.css';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\n\nconst PAGE_NAME = 'generic_infiniteList';\n\nconst grey700 = grey['700'];\n\nconst INTERVAL_6_HOURS = 6 * 60 * 60 * 1000;\nconst PERIOD_LABELS = {\n newerThan12Hours: 'Last 12 hours',\n olderThan12Hours: 'Last 24 hours',\n olderThan1Days: 'Earlier this week',\n olderThan7Days: 'Older than 7 days',\n olderThan14Days: 'Older than 14 days',\n olderThan30Days: 'Older than 30 days',\n};\n\nconst getPeriodDates = () => ({\n hoursAgo12: moment().subtract(12, 'hours'),\n daysAgo1: moment().subtract(1, 'days'),\n daysAgo7: moment().subtract(7, 'days'),\n daysAgo14: moment().subtract(14, 'days'),\n daysAgo30: moment().subtract(30, 'days'),\n});\n\n/** @param {any} props Preserve the legacy component's permissive public prop type. */\nfunction InfiniteList({\n infiniteClassName = null,\n useWindow = false,\n headerComponent = null,\n items,\n showNoItemsFound,\n noItemsFoundLabel,\n infiniteContainerHeight = null,\n moreItemsMayExist,\n pathToCreatedAt,\n renderItem,\n loadItems,\n threshold = 3000,\n initialLoad = true,\n divideByPeriods = true,\n}) {\n const [isLoadingByScroll, setIsLoadingByScroll] = useState(false);\n const [periodDates, setPeriodDates] = useState(getPeriodDates);\n\n useEffect(() => {\n const intervalId = setInterval(() => setPeriodDates(getPeriodDates()), INTERVAL_6_HOURS);\n return () => clearInterval(intervalId);\n }, []);\n\n // NOTE: 'react-infinite-scroller' has a bug that when scroll reaches threshold area, it starts\n // to fire loadMore on every scroll event - bottom, up. As a result multiple same request fired.\n //\n // We fix this preventing request that was fired by scroll before previous is finished.\n //\n // Issues:\n // https://github.com/CassetteRocks/react-infinite-scroller/issues/143\n const loadMore = async () => {\n if (isLoadingByScroll) {\n return;\n }\n\n setIsLoadingByScroll(true);\n\n await loadItems();\n\n setIsLoadingByScroll(false);\n };\n\n const renderNoItemsLabel = () => {\n return (\n <div\n data-testid={`${PAGE_NAME}_noItems`}\n key=\"c-infinite-list__empty\"\n className={styles.cInfiniteListEmpty}\n >\n {noItemsFoundLabel}\n </div>\n );\n };\n\n const renderPeriodSeparator = periodKey => {\n return (\n <div\n data-testid={`${PAGE_NAME}_periodLabel`}\n key={periodKey}\n className={styles.cInfiniteListPeriod}\n style={{ color: grey700 }}\n >\n {PERIOD_LABELS[periodKey]}\n </div>\n );\n };\n\n const renderItems = () => {\n if (!divideByPeriods) {\n return [headerComponent].concat(items.map(item => renderItem(item)));\n }\n\n const { hoursAgo12, daysAgo1, daysAgo7, daysAgo14, daysAgo30 } = periodDates;\n\n const itemElsByPeriod = items.reduce(\n (result, item, index) => {\n let periodKey;\n const itemEl = renderItem(item, index);\n const itemCreatedAt = get(item, pathToCreatedAt);\n const itemAt = moment(itemCreatedAt);\n\n if (itemAt >= hoursAgo12) {\n periodKey = 'newerThan12Hours';\n } else if (itemAt < hoursAgo12 && itemAt >= daysAgo1) {\n periodKey = 'olderThan12Hours';\n } else if (itemAt < daysAgo1 && itemAt >= daysAgo7) {\n periodKey = 'olderThan1Days';\n } else if (itemAt < daysAgo7 && itemAt >= daysAgo14) {\n periodKey = 'olderThan7Days';\n } else if (itemAt < daysAgo14 && itemAt >= daysAgo30) {\n periodKey = 'olderThan14Days';\n } else if (itemAt < daysAgo30) {\n periodKey = 'olderThan30Days';\n }\n\n return set(result, [periodKey, result[periodKey].length], itemEl);\n },\n {\n newerThan12Hours: [],\n olderThan12Hours: [],\n olderThan1Days: [],\n olderThan7Days: [],\n olderThan14Days: [],\n olderThan30Days: [],\n }\n );\n\n const itemElsWithPeriodEls = Object.keys(itemElsByPeriod).reduce((result, periodEls) => {\n if (itemElsByPeriod[periodEls].length === 0) return result.concat(itemElsByPeriod[periodEls]);\n\n return result.concat([renderPeriodSeparator(periodEls), ...itemElsByPeriod[periodEls]]);\n }, []);\n\n const itemElsWithPeriodElsWithHeaderEl = [headerComponent, ...itemElsWithPeriodEls];\n\n return itemElsWithPeriodElsWithHeaderEl;\n };\n\n return (\n <div\n className={classNames(styles.cInfiniteList, infiniteClassName, {\n [styles.cInfiniteListOverflow]: !useWindow,\n })}\n style={{ height: infiniteContainerHeight }}\n >\n <InfiniteScroll\n loadMore={loadMore}\n hasMore={moreItemsMayExist && !showNoItemsFound}\n threshold={threshold} // NOTE: We should load infinite scroll next page before user get to bottom\n loader={<LoadingIndicator key=\"c-infinite-scroll__loader\" fullscreen={false} />}\n useWindow={useWindow}\n initialLoad={initialLoad}\n >\n {renderItems()}\n </InfiniteScroll>\n\n {showNoItemsFound && renderNoItemsLabel()}\n </div>\n );\n}\n\nInfiniteList.propTypes = {\n infiniteClassName: PropTypes.string,\n useWindow: PropTypes.bool,\n headerComponent: PropTypes.node,\n items: PropTypes.arrayOf(PropTypes.shape()).isRequired,\n showNoItemsFound: PropTypes.bool.isRequired,\n noItemsFoundLabel: PropTypes.string.isRequired,\n infiniteContainerHeight: PropTypes.number,\n moreItemsMayExist: PropTypes.bool.isRequired,\n pathToCreatedAt: PropTypes.arrayOf(PropTypes.string).isRequired,\n renderItem: PropTypes.func.isRequired,\n loadItems: PropTypes.func.isRequired,\n threshold: PropTypes.number,\n initialLoad: PropTypes.bool,\n divideByPeriods: PropTypes.bool,\n};\n\nexport default memo(InfiniteList);\n"],"names":["grey700","grey","PERIOD_LABELS","newerThan12Hours","olderThan12Hours","olderThan1Days","olderThan7Days","olderThan14Days","olderThan30Days","getPeriodDates","hoursAgo12","moment","subtract","daysAgo1","daysAgo7","daysAgo14","daysAgo30","InfiniteList","_ref","_ref$infiniteClassNam","infiniteClassName","_ref$useWindow","useWindow","_ref$headerComponent","headerComponent","items","showNoItemsFound","noItemsFoundLabel","_ref$infiniteContaine","infiniteContainerHeight","moreItemsMayExist","pathToCreatedAt","renderItem","loadItems","_ref$threshold","threshold","_ref$initialLoad","initialLoad","_ref$divideByPeriods","divideByPeriods","useState","_useState2","_slicedToArray","_useState","isLoadingByScroll","setIsLoadingByScroll","_useState4","_useState3","periodDates","setPeriodDates","useEffect","intervalId","setInterval","clearInterval","_ref2","loadMore","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","abrupt","stop","apply","this","arguments","_jsxs","className","classNames","styles","cInfiniteList","_defineProperty","cInfiniteListOverflow","style","height","children","_jsx","InfiniteScroll","hasMore","loader","LoadingIndicator","fullscreen","concat","map","item","itemElsByPeriod","reduce","result","index","periodKey","itemEl","itemCreatedAt","get","itemAt","set","length","itemElsWithPeriodEls","Object","keys","periodEls","cInfiniteListPeriod","color","_toConsumableArray","renderItems","cInfiniteListEmpty","propTypes","PropTypes","string","bool","node","arrayOf","shape","isRequired","number","func","memo"],"mappings":"woBAYA,IAEMA,EAAUC,EAAK,KAGfC,EAAgB,CACpBC,iBAAkB,gBAClBC,iBAAkB,gBAClBC,eAAgB,oBAChBC,eAAgB,oBAChBC,gBAAiB,qBACjBC,gBAAiB,sBAGbC,EAAiB,WAAH,MAAU,CAC5BC,WAAYC,IAASC,SAAS,GAAI,SAClCC,SAAUF,IAASC,SAAS,EAAG,QAC/BE,SAAUH,IAASC,SAAS,EAAG,QAC/BG,UAAWJ,IAASC,SAAS,GAAI,QACjCI,UAAWL,IAASC,SAAS,GAAI,QAClC,EAGD,SAASK,EAeNC,GAAA,IAAAC,EAAAD,EAdDE,kBAAAA,aAAoB,KAAID,EAAAE,EAAAH,EACxBI,UAAAA,cAAiBD,EAAAE,EAAAL,EACjBM,gBAAAA,aAAkB,KAAID,EACtBE,IAAAA,MACAC,IAAAA,iBACAC,IAAAA,kBAAiBC,EAAAV,EACjBW,wBAAAA,aAA0B,KAAID,EAC9BE,IAAAA,kBACAC,IAAAA,gBACAC,IAAAA,WACAC,IAAAA,UAASC,EAAAhB,EACTiB,UAAAA,aAAY,IAAID,EAAAE,EAAAlB,EAChBmB,YAAAA,cAAkBD,EAAAE,EAAApB,EAClBqB,gBAAAA,cAAsBD,EAE4BE,EAAAA,GAAS,GAAMC,EAAAC,EAAAC,EAAA,GAA1DC,EAAiBH,EAAA,GAAEI,EAAoBJ,EAAA,GACRD,EAAAA,EAAS/B,GAAeqC,EAAAJ,EAAAK,EAAA,GAAvDC,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAElCI,GAAU,WACR,IAAMC,EAAaC,aAAY,WAAA,OAAMH,EAAexC,IAAiB,GAvChD,OAwCrB,OAAO,WAAA,OAAM4C,cAAcF,EAAW,CACvC,GAAE,IASH,IAAiBG,EAAXC,GAAWD,EAAAE,EAAAC,EAAAC,MAAA,SAAAC,IAAA,OAAAF,EAAAG,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACXnB,EAAiB,CAAAiB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAG,OAAA,UAAA,KAAA,EAIM,OAA3BnB,GAAqB,GAAMgB,EAAAE,KAAA,EAErB9B,IAAW,KAAA,EAEjBY,GAAqB,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAgB,EAAAI,OAAA,GAAAN,EAC7B,KAAA,WAVa,OAAAL,EAAAY,MAAAC,KAAAC,UAAA,GAwFd,OACEC,EAAA,MAAA,CACEC,UAAWC,EAAWC,EAAOC,cAAerD,EAAiBsD,EAAA,CAAA,EAC1DF,EAAOG,uBAAyBrD,IAEnCsD,MAAO,CAAEC,OAAQhD,GAA0BiD,SAAA,CAE3CC,EAACC,EAAc,CACbzB,SAAUA,EACV0B,QAASnD,IAAsBJ,EAC/BS,UAAWA,EACX+C,OAAQH,EAACI,EAAgB,CAAiCC,YAAY,GAAxC,6BAC9B9D,UAAWA,EACXe,YAAaA,EAAYyC,SAhEX,WAClB,IAAKvC,EACH,MAAO,CAACf,GAAiB6D,OAAO5D,EAAM6D,KAAI,SAAAC,GAAI,OAAIvD,EAAWuD,EAAK,KAGpE,IAAQ7E,EAAyDsC,EAAzDtC,WAAYG,EAA6CmC,EAA7CnC,SAAUC,EAAmCkC,EAAnClC,SAAUC,EAAyBiC,EAAzBjC,UAAWC,EAAcgC,EAAdhC,UAE7CwE,EAAkB/D,EAAMgE,QAC5B,SAACC,EAAQH,EAAMI,GACb,IAAIC,EACEC,EAAS7D,EAAWuD,EAAMI,GAC1BG,EAAgBC,EAAIR,EAAMxD,GAC1BiE,EAASrF,EAAOmF,GAgBtB,OAdIE,GAAUtF,EACZkF,EAAY,mBACHI,EAAStF,GAAcsF,GAAUnF,EAC1C+E,EAAY,mBACHI,EAASnF,GAAYmF,GAAUlF,EACxC8E,EAAY,iBACHI,EAASlF,GAAYkF,GAAUjF,EACxC6E,EAAY,iBACHI,EAASjF,GAAaiF,GAAUhF,EACzC4E,EAAY,kBACHI,EAAShF,IAClB4E,EAAY,mBAGPK,EAAIP,EAAQ,CAACE,EAAWF,EAAOE,GAAWM,QAASL,EAC5D,GACA,CACE1F,iBAAkB,GAClBC,iBAAkB,GAClBC,eAAgB,GAChBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,KAIf2F,EAAuBC,OAAOC,KAAKb,GAAiBC,QAAO,SAACC,EAAQY,GACxE,OAA0C,IAAtCd,EAAgBc,GAAWJ,OAAqBR,EAAOL,OAAOG,EAAgBc,IAE3EZ,EAAOL,OAAM,EAxDMO,EAwDkBU,EAtD5CvB,EAAA,MAAA,CACE,cAAA,GAAAM,OAjFU,uBAiF8B,gBAExCf,UAAWE,EAAO+B,oBAClB3B,MAAO,CAAE4B,MAAOxG,GAAU8E,SAEzB5E,EAAc0F,IAJVA,KAoDoDJ,OAAAA,EAAAA,EAAgBc,MAxDjD,IAAAV,CAyD3B,GAAE,IAIH,MAFsC,CAAIpE,GAAe6D,OAAAoB,EAAKN,IAoBzDO,KAGFhF,GA5FDqD,EAAA,MAAA,CACE,cAAA,GAAAM,OArEU,uBAqE0B,YAEpCf,UAAWE,EAAOmC,mBAAmB7B,SAEpCnD,GAHG,4BA6FZ,CAEAV,EAAa2F,UAAY,CACvBxF,kBAAmByF,EAAUC,OAC7BxF,UAAWuF,EAAUE,KACrBvF,gBAAiBqF,EAAUG,KAC3BvF,MAAOoF,EAAUI,QAAQJ,EAAUK,SAASC,WAC5CzF,iBAAkBmF,EAAUE,KAAKI,WACjCxF,kBAAmBkF,EAAUC,OAAOK,WACpCtF,wBAAyBgF,EAAUO,OACnCtF,kBAAmB+E,EAAUE,KAAKI,WAClCpF,gBAAiB8E,EAAUI,QAAQJ,EAAUC,QAAQK,WACrDnF,WAAY6E,EAAUQ,KAAKF,WAC3BlF,UAAW4E,EAAUQ,KAAKF,WAC1BhF,UAAW0E,EAAUO,OACrB/E,YAAawE,EAAUE,KACvBxE,gBAAiBsE,EAAUE,MAG7B,IAAeO,EAAAA,EAAKrG"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useMemo as r,useRef as o,useState as i,useEffect as l,createElement as n}from"react";import{get as s}from"lodash";import c from"classnames";import{Tooltip as a}from"@material-ui/core";import{Add as u,Remove as m}from"@material-ui/icons";import"mapbox-gl/dist/mapbox-gl.css";import{usePreviousWells as d}from"./effects/usePreviousWells.js";import{WellTooltip as p}from"./WellTooltip.js";import{getAllFormations as f}from"./utils.js";import v from"./OffsetWellMap.module.css.js";import"../../config/mapboxGl/index.js";import{IS_MAPBOX_ENABLED as h}from"../../config/mapbox/index.js";import"../UserMention/utils/index.js";import"../../utils/convert.js";import"../../constants/completion.js";import"moment";import"../../constants/alerts.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../utils/casing/validation.js";import"lodash/mean";import"../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"../GradientManager/configuration/constants.js";import"../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../utils/ga.js";import"../../utils/goalsConfig/goalsConfig.js";import"../../utils/lasParser.js";import"../../utils/main.js";import{isValidCoordinates as g}from"../../utils/mapbox.js";import"../../utils/metrics/metricsConfig.js";import"../../utils/mobileDetect.js";import"../../utils/feed.js";import"../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../utils/dashboardReports.js";import"../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../utils/jsonaDataFormatter.js";import"../../utils/bha.js";import"jsona";import"../../clients/jsonApi/index.js";import"@babel/runtime/helpers/objectWithoutProperties";import"../../utils/charts/Styles.scss.js";import"../../utils/getSingleAsset.js";import{createAdaptiveRoot as j}from"../../utils/createAdaptiveRoot.js";import{jsx as y,jsxs as b,Fragment as w}from"react/jsx-runtime";import W from"mapbox-gl";var C=[29.749907,-95.358421],x={type:"FeatureCollection",features:[]},D=["==",["id"],-1],F=function(e){var r=t(e,2),o=r[0];return[r[1],o]},M=function(e,r){for(var o=t(e,2),i=o[0],l=o[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:64,s=r/(111320*Math.cos(i*Math.PI/180)),c=r/110574,a=[],u=0;u<=n;u+=1){var m=u/n*2*Math.PI;a.push([l+s*Math.cos(m),i+c*Math.sin(m)])}return{type:"Polygon",coordinates:[a]}},B=function(B){var L=B.isViewOnly,S=B.subjectWell,O=void 0===S?null:S,P=B.wells,k=B.offsetWellIds,z=B.radius,I=B.handleChanageOffsetWell,T=B.handleChangeOffsetWell,Z=void 0===T?I:T,E=B.activeWellId,N=B.isClickable,A=void 0===N||N,G=B.classes,R=void 0===G?{}:G,V=r((function(){return O&&s(O,"topHole.coordinates")}),[O]),q=r((function(){return f(P)}),[P]),H=o(),U=o(),J=o(),K=o(null),Q=o(null),X=o(),Y=o(new Map),$=o(null),_=o(null),ee=o(null),te=i(!1),re=t(te,2),oe=re[0],ie=re[1],le=(null==O?void 0:O.id)===E,ne=d(P),se=i(!1),ce=t(se,2),ae=ce[0],ue=ce[1],me=i(3),de=t(me,2),pe=de[0],fe=de[1];l((function(){if(h){var e=new W.Map({container:H.current,style:"mapbox://styles/mapbox/dark-v9",center:F(C),zoom:3,maxZoom:18,attributionControl:!1,scrollZoom:!1,doubleClickZoom:!1});return U.current=e,e.on("zoomend",(function(){return fe(Math.round(e.getZoom()))})),e.on("load",(function(){e.addSource("radius-circle",{type:"geojson",data:x}),e.addLayer({id:"radius-circle-fill",type:"fill",source:"radius-circle",paint:{"fill-color":"#03BCD4","fill-opacity":.2}}),e.addSource("wells",{type:"geojson",data:x}),e.addLayer({id:"wells-halo",type:"circle",source:"wells",filter:["==",["get","isOffsetWell"],!0],paint:{"circle-radius":12,"circle-color":["get","color"],"circle-opacity":.08}}),e.addLayer({id:"wells-circle",type:"circle",source:"wells",layout:{"circle-sort-key":["get","order"]},paint:{"circle-radius":5,"circle-color":["get","color"],"circle-opacity":["get","opacity"]}}),e.addLayer({id:"wells-active-highlight",type:"circle",source:"wells",filter:["==",["get","isActive"],!0],paint:{"circle-radius":12,"circle-color":["get","color"],"circle-opacity":.24}}),e.addLayer({id:"wells-hover-highlight",type:"circle",source:"wells",filter:D,paint:{"circle-radius":["case",["get","isSubjectWell"],5,12],"circle-color":["case",["get","isSubjectWell"],"#63EFFF",["get","color"]],"circle-opacity":.24}}),ue(!0)})),function(){var t;null===(t=ee.current)||void 0===t||t.unmount(),ee.current=null,e.remove(),U.current=null,J.current=null,X.current=null,K.current=null,Q.current=null}}}),[]),l((function(){var e,r,o,i,l,n;K.current=V&&z?(e=1609.34*z,r=t(V,2),o=r[0],i=r[1],l=e/(111320*Math.cos(o*Math.PI/180)),[[i-l,o-(n=e/110574)],[i+l,o+n]]):null;var s=U.current;s&&ae&&s.getSource("radius-circle").setData(V&&z?{type:"Feature",properties:{},geometry:M(V,1609.34*z)}:x)}),[z,V,ae]);var ve=function(e,t,r,o){var i;null===(i=ee.current)||void 0===i||i.unmount();var l=document.createElement("div"),c=n(p(),{isViewOnly:L,well:e,color:s(q,e.formation,"#BDBDBD"),isOffsetWell:t,isSubjectWell:r,isClickable:A});ee.current=j(l),ee.current.render(y(w,{children:c})),J.current||(J.current=new W.Popup({closeButton:!1,offset:12})),J.current.setLngLat(F(o)).setDOMContent(l).addTo(U.current)};l((function(){var e=U.current;e&&ae&&e.setPaintProperty("wells-circle","circle-color",oe?["case",["get","isSubjectWell"],"#63EFFF",["get","color"]]:["get","color"])}),[oe,ae]),l((function(){var e;if(P&&k){null===(e=J.current)||void 0===e||e.remove();var t=[],r=[];P.forEach((function(e){e.id!==(null==O?void 0:O.id)&&(k.includes(e.id)?t.push(e):r.push(e))}));var o=[].concat(r,t,[O]),i=[],l=new W.LngLatBounds;Y.current.clear(),$.current=null,o.forEach((function(e,t){var r,o=null==e||null===(r=e.topHole)||void 0===r?void 0:r.coordinates;if(o&&g(o)){var n=(null==O?void 0:O.id)===e.id,c=k.includes(e.id)&&!n,a=n?"#03BCD4":s(q,e.formation,"#BDBDBD"),u=c?.7:.3;i.push({type:"Feature",id:t,geometry:{type:"Point",coordinates:F(o)},properties:{color:a,opacity:n?1:u,isSubjectWell:n,isOffsetWell:c,isActive:e.id===E&&!le,order:t}}),Y.current.set(t,{well:e,coords:o,isOffsetWell:c,isSubjectWell:n}),n&&($.current=t),l.extend(F(o))}})),Q.current=i.length?l:null;var n=U.current;if(n&&ae){n.getSource("wells").setData({type:"FeatureCollection",features:i}),n.setFilter("wells-hover-highlight",D),_.current=null;var c=function(e){var t,r=null===(t=e.features)||void 0===t?void 0:t[0];if(r&&_.current!==r.id){var o=Y.current.get(r.id);o&&(_.current=r.id,n.getCanvas().style.cursor="pointer",n.setFilter("wells-hover-highlight",["==",["id"],r.id]),ve(o.well,o.isOffsetWell,o.isSubjectWell,o.coords),o.isSubjectWell&&ie(!0))}},a=function(e){var t;if(null==e||!e.point||!n.queryRenderedFeatures(e.point,{layers:["wells-circle","wells-hover-highlight"]}).length){var r=null!==_.current&&_.current===$.current;_.current=null,n.getCanvas().style.cursor="",n.setFilter("wells-hover-highlight",D),null===(t=J.current)||void 0===t||t.remove(),r&&ie(!1)}},u=function(e){var t,r;if(!L){var o=Y.current.get(null===(t=e.features)||void 0===t||null===(r=t[0])||void 0===r?void 0:r.id);o&&Z(o.well,!o.isOffsetWell)}};return n.on("mousemove","wells-circle",c),n.on("mouseleave","wells-circle",a),n.on("mouseleave","wells-hover-highlight",a),n.on("click","wells-circle",u),setTimeout((function(){z<3e3&&U.current&&K.current&&P!==ne&&U.current.fitBounds(K.current,{padding:5})}),500),function(){n.off("mousemove","wells-circle",c),n.off("mouseleave","wells-circle",a),n.off("mouseleave","wells-hover-highlight",a),n.off("click","wells-circle",u)}}}}),[O,P,k,E,ae]),l((function(){var e=U.current;if(X.current&&(X.current.remove(),X.current=null),e&&V){var r=oe||le,o=document.createElement("img");o.src=r?"/static/media/5e9c4959259cb12c11b2c5eaf27eb3ad.svg":"/static/media/9efe5882f31d2f22bd57af92069d0a3e.svg";var i=t(r?[70,20]:[62,12],2),l=i[0],n=i[1],s=t(r?[35,29]:[31,25],2),c=s[0],a=s[1];o.width=l,o.height=n,o.addEventListener("mouseover",(function(){ie(!0),null!==$.current&&e.getLayer("wells-hover-highlight")&&(_.current=$.current,e.setFilter("wells-hover-highlight",["==",["id"],$.current])),ve(O,!1,!0,V)})),o.addEventListener("mouseout",(function(){var t;_.current=null,e.getLayer("wells-hover-highlight")&&e.setFilter("wells-hover-highlight",D),null===(t=J.current)||void 0===t||t.remove(),ie(!1)})),X.current=new W.Marker({element:o,anchor:"center",offset:[l/2-c,n/2-a]}).setLngLat(F(V)).addTo(e)}}),[oe,V,z,O,le]),l((function(){var e;z>3e3?null===(e=U.current)||void 0===e||e.setZoom(1):setTimeout((function(){O?U.current&&K.current&&z&&U.current.fitBounds(K.current,{padding:5}):U.current&&Q.current&&U.current.fitBounds(Q.current),V&&U.current&&U.current.easeTo({center:F(V),duration:700})}),500)}),[z,O,V]);var he=function(){var e;null===(e=U.current)||void 0===e||e.setZoom(pe+1)};return y("div",{className:c(v.mapView,R.root),children:y("div",{className:c(v.mapMain,R.map),ref:H,onDoubleClick:he,children:b("div",{className:v.zoomGroup,children:[y(a,{title:pe<18?"Zoom in":"",placement:"left",children:y("div",{className:c(v.zoomButton,e({},v.zoomDisabled,18===pe)),onClick:he,children:y(u,{className:v.zoomInOutIcon})})}),y(a,{title:pe>1?"Zoom out":"",placement:"left",children:y("div",{className:c(v.zoomButton,e({},v.zoomDisabled,1===pe)),onClick:function(){var e;pe>1&&(null===(e=U.current)||void 0===e||e.setZoom(pe-1))},children:y(m,{className:v.zoomInOutIcon})})})]})})})};export{B as default};
|
|
2
2
|
//# sourceMappingURL=OffsetWellMap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OffsetWellMap.js","sources":["../../../src/components/OffsetWellMap/OffsetWellMap.js"],"sourcesContent":["import { createElement, useRef, useEffect, useState, useMemo } from 'react';\nimport { get } from 'lodash';\nimport classNames from 'classnames';\nimport { Tooltip } from '@material-ui/core';\nimport { Add as ZoomInIcon, Remove as ZoomOutIcon } from '@material-ui/icons';\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\nimport SubjectWellIcon from './CustomIcon/SubjectWellIcon.svg';\nimport SubjectHighlightWellIcon from './CustomIcon/SubjectHighlightWellIcon.svg';\nimport { usePreviousWells } from './effects';\nimport { WellTooltip } from './WellTooltip';\nimport { getAllFormations } from './utils';\n\nimport styles from './OffsetWellMap.module.css';\n\nimport mapboxgl from '~/config/mapboxGl';\nimport { IS_MAPBOX_ENABLED } from '~/config/mapbox';\nimport { mapbox } from '~/utils';\nimport { createAdaptiveRoot } from '~/utils/createAdaptiveRoot';\n\nconst DEFAULT_COORDS = [29.749907, -95.358421];\nconst WELL_MARKER_SIZE = 5;\nconst HIGHLIGHT_MARKER_SIZE = 12;\nconst OFFSET_WELL_COLOR = '#03BCD4';\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst HIGHLIGHT_WELL_COLOR = '#63EFFF';\nconst METERS_IN_MILE = 1609.34;\nconst ZOOM_INIT_VALUE = 3;\nconst ZOOM_MAX_VALUE = 18;\nconst ZOOM_MIN_VALUE = 1;\nconst MAX_RADIUS = 3000;\n\nconst RADIUS_SOURCE_ID = 'radius-circle';\nconst RADIUS_LAYER_ID = 'radius-circle-fill';\nconst WELLS_SOURCE_ID = 'wells';\nconst WELLS_HALO_LAYER_ID = 'wells-halo';\nconst WELLS_LAYER_ID = 'wells-circle';\nconst WELLS_ACTIVE_LAYER_ID = 'wells-active-highlight';\nconst WELLS_HOVER_LAYER_ID = 'wells-hover-highlight';\nconst EMPTY_FEATURE_COLLECTION = { type: 'FeatureCollection', features: [] };\nconst NO_HOVER_FILTER = ['==', ['id'], -1];\n\n// NOTE: Props keep the Leaflet [lat, lng] convention; mapbox-gl expects [lng, lat]\nconst toLngLat = ([lat, lng]) => [lng, lat];\n\n// NOTE: mapbox-gl circle layers are pixel-radius, so approximate the meter radius with a polygon\nconst makeCirclePolygon = ([lat, lng], radiusMeters, points = 64) => {\n const degreesLng = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const degreesLat = radiusMeters / 110574;\n const ring = [];\n for (let i = 0; i <= points; i += 1) {\n const theta = (i / points) * 2 * Math.PI;\n ring.push([lng + degreesLng * Math.cos(theta), lat + degreesLat * Math.sin(theta)]);\n }\n return { type: 'Polygon', coordinates: [ring] };\n};\n\nconst getCircleBounds = ([lat, lng], radiusMeters) => {\n const degreesLng = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const degreesLat = radiusMeters / 110574;\n return [\n [lng - degreesLng, lat - degreesLat],\n [lng + degreesLng, lat + degreesLat],\n ];\n};\n\n/** @type {React.FC<import('./OffsetWellMapProps').OffsetWellMapProps>} */\nconst OffsetWellMap = ({\n isViewOnly,\n subjectWell = null,\n wells,\n offsetWellIds,\n radius,\n handleChanageOffsetWell,\n handleChangeOffsetWell = handleChanageOffsetWell,\n activeWellId,\n isClickable = true,\n classes = {},\n}) => {\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, 'topHole.coordinates');\n }, [subjectWell]);\n const formationColors = useMemo(() => getAllFormations(wells), [wells]);\n\n const containerRef = useRef();\n const mapRef = useRef();\n const popupRef = useRef();\n const radiusBoundsRef = useRef(null);\n const wellsBoundsRef = useRef(null);\n const subjectIconRef = useRef();\n const wellByFeatureIdRef = useRef(new Map());\n const subjectFeatureIdRef = useRef(null);\n const hoveredFeatureIdRef = useRef(null);\n const tooltipRootRef = useRef(null);\n const [isSubjectWellHovered, setIsSubjectWellHovered] = useState(false);\n const isActiveWellIsSubjectWell = subjectWell?.id === activeWellId;\n const prevWells = usePreviousWells(wells);\n const [isMapReady, setIsMapReady] = useState(false);\n const [zoom, setZoom] = useState(ZOOM_INIT_VALUE);\n\n // NOTE: Initialize map\n useEffect(() => {\n if (!IS_MAPBOX_ENABLED) return undefined;\n\n const map = new mapboxgl.Map({\n container: containerRef.current,\n style: 'mapbox://styles/mapbox/dark-v9',\n center: toLngLat(DEFAULT_COORDS),\n zoom: ZOOM_INIT_VALUE,\n // NOTE: keep the zoom buttons' disable logic (zoom === ZOOM_MAX_VALUE) reachable\n maxZoom: ZOOM_MAX_VALUE,\n attributionControl: false,\n scrollZoom: false,\n doubleClickZoom: false,\n });\n mapRef.current = map;\n\n // NOTE: GL zoom is fractional where Leaflet was integer\n map.on('zoomend', () => setZoom(Math.round(map.getZoom())));\n\n // NOTE: Sources/layers can only be added after the style loads\n map.on('load', () => {\n map.addSource(RADIUS_SOURCE_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n map.addLayer({\n id: RADIUS_LAYER_ID,\n type: 'fill',\n source: RADIUS_SOURCE_ID,\n paint: {\n 'fill-color': RADIUS_CIRCLE_COLOR,\n 'fill-opacity': 0.2,\n },\n });\n\n map.addSource(WELLS_SOURCE_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n map.addLayer({\n id: WELLS_HALO_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n filter: ['==', ['get', 'isOffsetWell'], true],\n paint: {\n 'circle-radius': HIGHLIGHT_MARKER_SIZE,\n 'circle-color': ['get', 'color'],\n 'circle-opacity': 0.08,\n },\n });\n map.addLayer({\n id: WELLS_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n layout: {\n 'circle-sort-key': ['get', 'order'],\n },\n paint: {\n 'circle-radius': WELL_MARKER_SIZE,\n 'circle-color': ['get', 'color'],\n 'circle-opacity': ['get', 'opacity'],\n },\n });\n map.addLayer({\n id: WELLS_ACTIVE_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n filter: ['==', ['get', 'isActive'], true],\n paint: {\n 'circle-radius': HIGHLIGHT_MARKER_SIZE,\n 'circle-color': ['get', 'color'],\n 'circle-opacity': 0.24,\n },\n });\n map.addLayer({\n id: WELLS_HOVER_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n filter: NO_HOVER_FILTER,\n paint: {\n 'circle-radius': [\n 'case',\n ['get', 'isSubjectWell'],\n WELL_MARKER_SIZE,\n HIGHLIGHT_MARKER_SIZE,\n ],\n 'circle-color': [\n 'case',\n ['get', 'isSubjectWell'],\n HIGHLIGHT_WELL_COLOR,\n ['get', 'color'],\n ],\n 'circle-opacity': 0.24,\n },\n });\n\n setIsMapReady(true);\n });\n\n return () => {\n tooltipRootRef.current?.unmount();\n tooltipRootRef.current = null;\n\n map.remove();\n mapRef.current = null;\n popupRef.current = null;\n subjectIconRef.current = null;\n radiusBoundsRef.current = null;\n wellsBoundsRef.current = null;\n };\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n radiusBoundsRef.current =\n subjectWellCoords && radius\n ? getCircleBounds(subjectWellCoords, radius * METERS_IN_MILE)\n : null;\n\n const map = mapRef.current;\n if (!map || !isMapReady) {\n return;\n }\n\n map.getSource(RADIUS_SOURCE_ID).setData(\n subjectWellCoords && radius\n ? {\n type: 'Feature',\n properties: {},\n geometry: makeCirclePolygon(subjectWellCoords, radius * METERS_IN_MILE),\n }\n : EMPTY_FEATURE_COLLECTION\n );\n }, [radius, subjectWellCoords, isMapReady]);\n\n const showTooltip = (well, isOffsetWell, isSubjectWell, coords) => {\n tooltipRootRef.current?.unmount();\n\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(WellTooltip(), {\n isViewOnly,\n well,\n color: get(formationColors, well.formation, '#BDBDBD'),\n isOffsetWell,\n isSubjectWell,\n isClickable,\n });\n tooltipRootRef.current = createAdaptiveRoot(popUpContainer);\n tooltipRootRef.current.render(<>{popUpContent}</>);\n if (!popupRef.current) {\n popupRef.current = new mapboxgl.Popup({\n closeButton: false,\n offset: HIGHLIGHT_MARKER_SIZE,\n });\n }\n popupRef.current\n .setLngLat(toLngLat(coords))\n .setDOMContent(popUpContainer)\n .addTo(mapRef.current);\n };\n\n // NOTE: Subject well hover swaps the subject marker color\n useEffect(() => {\n const map = mapRef.current;\n if (!map || !isMapReady) {\n return;\n }\n\n map.setPaintProperty(\n WELLS_LAYER_ID,\n 'circle-color',\n isSubjectWellHovered\n ? ['case', ['get', 'isSubjectWell'], HIGHLIGHT_WELL_COLOR, ['get', 'color']]\n : ['get', 'color']\n );\n }, [isSubjectWellHovered, isMapReady]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!wells || !offsetWellIds) {\n return undefined;\n }\n\n popupRef.current?.remove();\n\n const offsetWells = [];\n const unSelectedWells = [];\n wells.forEach(well => {\n if (well.id !== subjectWell?.id) {\n if (offsetWellIds.includes(well.id)) {\n offsetWells.push(well);\n } else {\n unSelectedWells.push(well);\n }\n }\n });\n const sortedWells = [...unSelectedWells, ...offsetWells, subjectWell];\n\n const features = [];\n const wellsBounds = new mapboxgl.LngLatBounds();\n wellByFeatureIdRef.current.clear();\n subjectFeatureIdRef.current = null;\n sortedWells.forEach((well, index) => {\n const coords = well?.topHole?.coordinates;\n\n if (coords && mapbox.isValidCoordinates(coords)) {\n const isSubjectWell = subjectWell?.id === well.id;\n const isOffsetWell = offsetWellIds.includes(well.id) && !isSubjectWell;\n const color = isSubjectWell\n ? OFFSET_WELL_COLOR\n : get(formationColors, well.formation, '#BDBDBD');\n const opacity = isOffsetWell ? 0.7 : 0.3;\n\n features.push({\n type: 'Feature',\n id: index,\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n properties: {\n color,\n opacity: isSubjectWell ? 1 : opacity,\n isSubjectWell,\n isOffsetWell,\n isActive: well.id === activeWellId && !isActiveWellIsSubjectWell,\n order: index,\n },\n });\n wellByFeatureIdRef.current.set(index, { well, coords, isOffsetWell, isSubjectWell });\n if (isSubjectWell) {\n subjectFeatureIdRef.current = index;\n }\n wellsBounds.extend(toLngLat(coords));\n }\n });\n wellsBoundsRef.current = features.length ? wellsBounds : null;\n\n const map = mapRef.current;\n if (!map || !isMapReady) {\n return undefined;\n }\n\n map.getSource(WELLS_SOURCE_ID).setData({ type: 'FeatureCollection', features });\n map.setFilter(WELLS_HOVER_LAYER_ID, NO_HOVER_FILTER);\n hoveredFeatureIdRef.current = null;\n\n const handleMouseMove = e => {\n const feature = e.features?.[0];\n if (!feature || hoveredFeatureIdRef.current === feature.id) {\n return;\n }\n const entry = wellByFeatureIdRef.current.get(feature.id);\n if (!entry) {\n return;\n }\n\n hoveredFeatureIdRef.current = feature.id;\n map.getCanvas().style.cursor = 'pointer';\n\n // Highlight\n map.setFilter(WELLS_HOVER_LAYER_ID, ['==', ['id'], feature.id]);\n showTooltip(entry.well, entry.isOffsetWell, entry.isSubjectWell, entry.coords);\n if (entry.isSubjectWell) {\n setIsSubjectWellHovered(true);\n }\n };\n\n const handleMouseLeave = e => {\n // NOTE: Leaflet cleared hover on leaving the ENLARGED highlight marker, so keep the\n // hover while the cursor is still over the hover halo (or another well marker)\n if (\n e?.point &&\n map.queryRenderedFeatures(e.point, { layers: [WELLS_LAYER_ID, WELLS_HOVER_LAYER_ID] })\n .length\n ) {\n return;\n }\n const wasSubjectWell =\n hoveredFeatureIdRef.current !== null &&\n hoveredFeatureIdRef.current === subjectFeatureIdRef.current;\n hoveredFeatureIdRef.current = null;\n map.getCanvas().style.cursor = '';\n map.setFilter(WELLS_HOVER_LAYER_ID, NO_HOVER_FILTER);\n popupRef.current?.remove();\n if (wasSubjectWell) {\n setIsSubjectWellHovered(false);\n }\n };\n\n const handleClick = e => {\n if (isViewOnly) return;\n const entry = wellByFeatureIdRef.current.get(e.features?.[0]?.id);\n if (!entry) {\n return;\n }\n handleChangeOffsetWell(entry.well, !entry.isOffsetWell);\n };\n\n map.on('mousemove', WELLS_LAYER_ID, handleMouseMove);\n map.on('mouseleave', WELLS_LAYER_ID, handleMouseLeave);\n map.on('mouseleave', WELLS_HOVER_LAYER_ID, handleMouseLeave);\n map.on('click', WELLS_LAYER_ID, handleClick);\n\n setTimeout(() => {\n if (radius < MAX_RADIUS && mapRef.current && radiusBoundsRef.current && wells !== prevWells) {\n mapRef.current.fitBounds(radiusBoundsRef.current, { padding: 5 });\n }\n }, 500);\n\n return () => {\n map.off('mousemove', WELLS_LAYER_ID, handleMouseMove);\n map.off('mouseleave', WELLS_LAYER_ID, handleMouseLeave);\n map.off('mouseleave', WELLS_HOVER_LAYER_ID, handleMouseLeave);\n map.off('click', WELLS_LAYER_ID, handleClick);\n };\n }, [subjectWell, wells, offsetWellIds, activeWellId, isMapReady]);\n\n // NOTE: Subject Well Icon\n\n useEffect(() => {\n const map = mapRef.current;\n\n if (subjectIconRef.current) {\n subjectIconRef.current.remove();\n subjectIconRef.current = null;\n }\n\n if (!map || !subjectWellCoords) return;\n\n const isHighlighted = isSubjectWellHovered || isActiveWellIsSubjectWell;\n const icon = document.createElement('img');\n icon.src = isHighlighted ? SubjectHighlightWellIcon : SubjectWellIcon;\n const [iconWidth, iconHeight] = isHighlighted ? [70, 20] : [62, 12];\n const [anchorX, anchorY] = isHighlighted ? [35, 29] : [31, 25];\n icon.width = iconWidth;\n icon.height = iconHeight;\n\n icon.addEventListener('mouseover', () => {\n setIsSubjectWellHovered(true);\n\n // Highlight\n if (subjectFeatureIdRef.current !== null && map.getLayer(WELLS_HOVER_LAYER_ID)) {\n hoveredFeatureIdRef.current = subjectFeatureIdRef.current;\n map.setFilter(WELLS_HOVER_LAYER_ID, ['==', ['id'], subjectFeatureIdRef.current]);\n }\n showTooltip(subjectWell, false, true, subjectWellCoords);\n });\n\n icon.addEventListener('mouseout', () => {\n hoveredFeatureIdRef.current = null;\n if (map.getLayer(WELLS_HOVER_LAYER_ID)) {\n map.setFilter(WELLS_HOVER_LAYER_ID, NO_HOVER_FILTER);\n }\n popupRef.current?.remove();\n setIsSubjectWellHovered(false);\n });\n\n subjectIconRef.current = new mapboxgl.Marker({\n element: icon,\n anchor: 'center',\n // NOTE: Leaflet anchored the icon at [anchorX, anchorY] from its top-left corner\n offset: [iconWidth / 2 - anchorX, iconHeight / 2 - anchorY],\n })\n .setLngLat(toLngLat(subjectWellCoords))\n .addTo(map);\n }, [isSubjectWellHovered, subjectWellCoords, radius, subjectWell, isActiveWellIsSubjectWell]);\n\n // NOTE: Map Update\n useEffect(() => {\n if (radius > MAX_RADIUS) {\n mapRef.current?.setZoom(1);\n return;\n }\n setTimeout(() => {\n if (subjectWell) {\n if (mapRef.current && radiusBoundsRef.current && radius) {\n mapRef.current.fitBounds(radiusBoundsRef.current, { padding: 5 });\n }\n } else if (mapRef.current && wellsBoundsRef.current) {\n mapRef.current.fitBounds(wellsBoundsRef.current);\n }\n if (subjectWellCoords && mapRef.current) {\n mapRef.current.easeTo({ center: toLngLat(subjectWellCoords), duration: 700 });\n }\n }, 500);\n }, [radius, subjectWell, subjectWellCoords]);\n\n const handleZoomIn = () => {\n mapRef.current?.setZoom(zoom + 1);\n };\n\n const handleZoomOut = () => {\n if (zoom > 1) {\n mapRef.current?.setZoom(zoom - 1);\n }\n };\n\n return (\n <div className={classNames(styles.mapView, classes.root)}>\n <div\n className={classNames(styles.mapMain, classes.map)}\n ref={containerRef}\n onDoubleClick={handleZoomIn}\n >\n <div className={styles.zoomGroup}>\n <Tooltip title={zoom < ZOOM_MAX_VALUE ? 'Zoom in' : ''} placement=\"left\">\n <div\n className={classNames(styles.zoomButton, {\n [styles.zoomDisabled]: zoom === ZOOM_MAX_VALUE,\n })}\n onClick={handleZoomIn}\n >\n <ZoomInIcon className={styles.zoomInOutIcon} />\n </div>\n </Tooltip>\n <Tooltip title={zoom > ZOOM_MIN_VALUE ? 'Zoom out' : ''} placement=\"left\">\n <div\n className={classNames(styles.zoomButton, {\n [styles.zoomDisabled]: zoom === ZOOM_MIN_VALUE,\n })}\n onClick={handleZoomOut}\n >\n <ZoomOutIcon className={styles.zoomInOutIcon} />\n </div>\n </Tooltip>\n </div>\n </div>\n </div>\n );\n};\n\nexport default OffsetWellMap;\n"],"names":["DEFAULT_COORDS","EMPTY_FEATURE_COLLECTION","type","features","NO_HOVER_FILTER","toLngLat","_ref","_ref2","_slicedToArray","lat","makeCirclePolygon","_ref3","radiusMeters","_ref4","lng","points","degreesLng","Math","cos","PI","degreesLat","ring","i","theta","push","sin","coordinates","OffsetWellMap","_ref7","isViewOnly","_ref7$subjectWell","subjectWell","wells","offsetWellIds","radius","handleChanageOffsetWell","_ref7$handleChangeOff","handleChangeOffsetWell","activeWellId","_ref7$isClickable","isClickable","_ref7$classes","classes","subjectWellCoords","useMemo","get","formationColors","getAllFormations","containerRef","useRef","mapRef","popupRef","radiusBoundsRef","wellsBoundsRef","subjectIconRef","wellByFeatureIdRef","Map","subjectFeatureIdRef","hoveredFeatureIdRef","tooltipRootRef","useState","_useState2","_useState","isSubjectWellHovered","setIsSubjectWellHovered","isActiveWellIsSubjectWell","id","prevWells","usePreviousWells","_useState4","_useState3","isMapReady","setIsMapReady","_useState6","_useState5","zoom","setZoom","useEffect","IS_MAPBOX_ENABLED","map","mapboxgl","container","current","style","center","maxZoom","attributionControl","scrollZoom","doubleClickZoom","on","round","getZoom","addSource","data","addLayer","source","paint","filter","layout","_tooltipRootRef$curre","unmount","remove","_ref6","getSource","setData","properties","geometry","showTooltip","well","isOffsetWell","isSubjectWell","coords","_tooltipRootRef$curre2","popUpContainer","document","createElement","popUpContent","WellTooltip","color","formation","createAdaptiveRoot","render","_jsx","_Fragment","children","Popup","closeButton","offset","setLngLat","setDOMContent","addTo","setPaintProperty","_popupRef$current","offsetWells","unSelectedWells","forEach","includes","sortedWells","wellsBounds","LngLatBounds","clear","index","_well$topHole","topHole","mapbox","isValidCoordinates","opacity","isActive","order","set","extend","length","setFilter","handleMouseMove","e","_e$features","feature","entry","getCanvas","cursor","handleMouseLeave","_popupRef$current2","point","queryRenderedFeatures","layers","wasSubjectWell","handleClick","_e$features2","_e$features2$","setTimeout","fitBounds","padding","off","isHighlighted","icon","src","_ref9","iconWidth","iconHeight","_ref11","anchorX","anchorY","width","height","addEventListener","getLayer","_popupRef$current3","Marker","element","anchor","_mapRef$current","easeTo","duration","handleZoomIn","_mapRef$current2","className","classNames","styles","mapView","root","mapMain","ref","onDoubleClick","_jsxs","zoomGroup","Tooltip","title","placement","zoomButton","_defineProperty","zoomDisabled","onClick","ZoomInIcon","zoomInOutIcon","_mapRef$current3","ZoomOutIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OffsetWellMap.js","sources":["../../../src/components/OffsetWellMap/OffsetWellMap.js"],"sourcesContent":["import { createElement, useRef, useEffect, useState, useMemo } from 'react';\nimport { get } from 'lodash';\nimport classNames from 'classnames';\nimport { Tooltip } from '@material-ui/core';\nimport { Add as ZoomInIcon, Remove as ZoomOutIcon } from '@material-ui/icons';\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\nimport SubjectWellIcon from './CustomIcon/SubjectWellIcon.svg';\nimport SubjectHighlightWellIcon from './CustomIcon/SubjectHighlightWellIcon.svg';\nimport { usePreviousWells } from './effects';\nimport { WellTooltip } from './WellTooltip';\nimport { getAllFormations } from './utils';\n\nimport styles from './OffsetWellMap.module.css';\n\nimport mapboxgl from '~/config/mapboxGl';\nimport { IS_MAPBOX_ENABLED } from '~/config/mapbox';\nimport { mapbox } from '~/utils';\nimport { createAdaptiveRoot } from '~/utils/createAdaptiveRoot';\n\nconst DEFAULT_COORDS = [29.749907, -95.358421];\nconst WELL_MARKER_SIZE = 5;\nconst HIGHLIGHT_MARKER_SIZE = 12;\nconst OFFSET_WELL_COLOR = '#03BCD4';\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst HIGHLIGHT_WELL_COLOR = '#63EFFF';\nconst METERS_IN_MILE = 1609.34;\nconst ZOOM_INIT_VALUE = 3;\nconst ZOOM_MAX_VALUE = 18;\nconst ZOOM_MIN_VALUE = 1;\nconst MAX_RADIUS = 3000;\n\nconst RADIUS_SOURCE_ID = 'radius-circle';\nconst RADIUS_LAYER_ID = 'radius-circle-fill';\nconst WELLS_SOURCE_ID = 'wells';\nconst WELLS_HALO_LAYER_ID = 'wells-halo';\nconst WELLS_LAYER_ID = 'wells-circle';\nconst WELLS_ACTIVE_LAYER_ID = 'wells-active-highlight';\nconst WELLS_HOVER_LAYER_ID = 'wells-hover-highlight';\nconst EMPTY_FEATURE_COLLECTION = { type: 'FeatureCollection', features: [] };\nconst NO_HOVER_FILTER = ['==', ['id'], -1];\n\n// NOTE: Props keep the Leaflet [lat, lng] convention; mapbox-gl expects [lng, lat]\nconst toLngLat = ([lat, lng]) => [lng, lat];\n\n// NOTE: mapbox-gl circle layers are pixel-radius, so approximate the meter radius with a polygon\nconst makeCirclePolygon = ([lat, lng], radiusMeters, points = 64) => {\n const degreesLng = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const degreesLat = radiusMeters / 110574;\n const ring = [];\n for (let i = 0; i <= points; i += 1) {\n const theta = (i / points) * 2 * Math.PI;\n ring.push([lng + degreesLng * Math.cos(theta), lat + degreesLat * Math.sin(theta)]);\n }\n return { type: 'Polygon', coordinates: [ring] };\n};\n\nconst getCircleBounds = ([lat, lng], radiusMeters) => {\n const degreesLng = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const degreesLat = radiusMeters / 110574;\n return [\n [lng - degreesLng, lat - degreesLat],\n [lng + degreesLng, lat + degreesLat],\n ];\n};\n\n/** @type {React.FC<import('./OffsetWellMapProps').OffsetWellMapProps>} */\nconst OffsetWellMap = ({\n isViewOnly,\n subjectWell = null,\n wells,\n offsetWellIds,\n radius,\n handleChanageOffsetWell,\n handleChangeOffsetWell = handleChanageOffsetWell,\n activeWellId,\n isClickable = true,\n classes = {},\n}) => {\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, 'topHole.coordinates');\n }, [subjectWell]);\n const formationColors = useMemo(() => getAllFormations(wells), [wells]);\n\n const containerRef = useRef();\n const mapRef = useRef();\n const popupRef = useRef();\n const radiusBoundsRef = useRef(null);\n const wellsBoundsRef = useRef(null);\n const subjectIconRef = useRef();\n const wellByFeatureIdRef = useRef(new Map());\n const subjectFeatureIdRef = useRef(null);\n const hoveredFeatureIdRef = useRef(null);\n const tooltipRootRef = useRef(null);\n const [isSubjectWellHovered, setIsSubjectWellHovered] = useState(false);\n const isActiveWellIsSubjectWell = subjectWell?.id === activeWellId;\n const prevWells = usePreviousWells(wells);\n const [isMapReady, setIsMapReady] = useState(false);\n const [zoom, setZoom] = useState(ZOOM_INIT_VALUE);\n\n // NOTE: Initialize map\n useEffect(() => {\n if (!IS_MAPBOX_ENABLED) return undefined;\n\n const map = new mapboxgl.Map({\n container: containerRef.current,\n style: 'mapbox://styles/mapbox/dark-v9',\n center: toLngLat(DEFAULT_COORDS),\n zoom: ZOOM_INIT_VALUE,\n // NOTE: keep the zoom buttons' disable logic (zoom === ZOOM_MAX_VALUE) reachable\n maxZoom: ZOOM_MAX_VALUE,\n attributionControl: false,\n scrollZoom: false,\n doubleClickZoom: false,\n });\n mapRef.current = map;\n\n // NOTE: GL zoom is fractional where Leaflet was integer\n map.on('zoomend', () => setZoom(Math.round(map.getZoom())));\n\n // NOTE: Sources/layers can only be added after the style loads\n map.on('load', () => {\n map.addSource(RADIUS_SOURCE_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n map.addLayer({\n id: RADIUS_LAYER_ID,\n type: 'fill',\n source: RADIUS_SOURCE_ID,\n paint: {\n 'fill-color': RADIUS_CIRCLE_COLOR,\n 'fill-opacity': 0.2,\n },\n });\n\n map.addSource(WELLS_SOURCE_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n map.addLayer({\n id: WELLS_HALO_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n filter: ['==', ['get', 'isOffsetWell'], true],\n paint: {\n 'circle-radius': HIGHLIGHT_MARKER_SIZE,\n 'circle-color': ['get', 'color'],\n 'circle-opacity': 0.08,\n },\n });\n map.addLayer({\n id: WELLS_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n layout: {\n 'circle-sort-key': ['get', 'order'],\n },\n paint: {\n 'circle-radius': WELL_MARKER_SIZE,\n 'circle-color': ['get', 'color'],\n 'circle-opacity': ['get', 'opacity'],\n },\n });\n map.addLayer({\n id: WELLS_ACTIVE_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n filter: ['==', ['get', 'isActive'], true],\n paint: {\n 'circle-radius': HIGHLIGHT_MARKER_SIZE,\n 'circle-color': ['get', 'color'],\n 'circle-opacity': 0.24,\n },\n });\n map.addLayer({\n id: WELLS_HOVER_LAYER_ID,\n type: 'circle',\n source: WELLS_SOURCE_ID,\n filter: NO_HOVER_FILTER,\n paint: {\n 'circle-radius': [\n 'case',\n ['get', 'isSubjectWell'],\n WELL_MARKER_SIZE,\n HIGHLIGHT_MARKER_SIZE,\n ],\n 'circle-color': [\n 'case',\n ['get', 'isSubjectWell'],\n HIGHLIGHT_WELL_COLOR,\n ['get', 'color'],\n ],\n 'circle-opacity': 0.24,\n },\n });\n\n setIsMapReady(true);\n });\n\n return () => {\n tooltipRootRef.current?.unmount();\n tooltipRootRef.current = null;\n\n map.remove();\n mapRef.current = null;\n popupRef.current = null;\n subjectIconRef.current = null;\n radiusBoundsRef.current = null;\n wellsBoundsRef.current = null;\n };\n }, []);\n\n // NOTE: Radius circle\n useEffect(() => {\n radiusBoundsRef.current =\n subjectWellCoords && radius\n ? getCircleBounds(subjectWellCoords, radius * METERS_IN_MILE)\n : null;\n\n const map = mapRef.current;\n if (!map || !isMapReady) {\n return;\n }\n\n map.getSource(RADIUS_SOURCE_ID).setData(\n subjectWellCoords && radius\n ? {\n type: 'Feature',\n properties: {},\n geometry: makeCirclePolygon(subjectWellCoords, radius * METERS_IN_MILE),\n }\n : EMPTY_FEATURE_COLLECTION\n );\n }, [radius, subjectWellCoords, isMapReady]);\n\n const showTooltip = (well, isOffsetWell, isSubjectWell, coords) => {\n tooltipRootRef.current?.unmount();\n\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(WellTooltip(), {\n isViewOnly,\n well,\n color: get(formationColors, well.formation, '#BDBDBD'),\n isOffsetWell,\n isSubjectWell,\n isClickable,\n });\n tooltipRootRef.current = createAdaptiveRoot(popUpContainer);\n tooltipRootRef.current.render(<>{popUpContent}</>);\n if (!popupRef.current) {\n popupRef.current = new mapboxgl.Popup({\n closeButton: false,\n offset: HIGHLIGHT_MARKER_SIZE,\n });\n }\n popupRef.current\n .setLngLat(toLngLat(coords))\n .setDOMContent(popUpContainer)\n .addTo(mapRef.current);\n };\n\n // NOTE: Subject well hover swaps the subject marker color\n useEffect(() => {\n const map = mapRef.current;\n if (!map || !isMapReady) {\n return;\n }\n\n map.setPaintProperty(\n WELLS_LAYER_ID,\n 'circle-color',\n isSubjectWellHovered\n ? ['case', ['get', 'isSubjectWell'], HIGHLIGHT_WELL_COLOR, ['get', 'color']]\n : ['get', 'color']\n );\n }, [isSubjectWellHovered, isMapReady]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!wells || !offsetWellIds) {\n return undefined;\n }\n\n popupRef.current?.remove();\n\n const offsetWells = [];\n const unSelectedWells = [];\n wells.forEach(well => {\n if (well.id !== subjectWell?.id) {\n if (offsetWellIds.includes(well.id)) {\n offsetWells.push(well);\n } else {\n unSelectedWells.push(well);\n }\n }\n });\n const sortedWells = [...unSelectedWells, ...offsetWells, subjectWell];\n\n const features = [];\n const wellsBounds = new mapboxgl.LngLatBounds();\n wellByFeatureIdRef.current.clear();\n subjectFeatureIdRef.current = null;\n sortedWells.forEach((well, index) => {\n const coords = well?.topHole?.coordinates;\n\n if (coords && mapbox.isValidCoordinates(coords)) {\n const isSubjectWell = subjectWell?.id === well.id;\n const isOffsetWell = offsetWellIds.includes(well.id) && !isSubjectWell;\n const color = isSubjectWell\n ? OFFSET_WELL_COLOR\n : get(formationColors, well.formation, '#BDBDBD');\n const opacity = isOffsetWell ? 0.7 : 0.3;\n\n features.push({\n type: 'Feature',\n id: index,\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n properties: {\n color,\n opacity: isSubjectWell ? 1 : opacity,\n isSubjectWell,\n isOffsetWell,\n isActive: well.id === activeWellId && !isActiveWellIsSubjectWell,\n order: index,\n },\n });\n wellByFeatureIdRef.current.set(index, { well, coords, isOffsetWell, isSubjectWell });\n if (isSubjectWell) {\n subjectFeatureIdRef.current = index;\n }\n wellsBounds.extend(toLngLat(coords));\n }\n });\n wellsBoundsRef.current = features.length ? wellsBounds : null;\n\n const map = mapRef.current;\n if (!map || !isMapReady) {\n return undefined;\n }\n\n map.getSource(WELLS_SOURCE_ID).setData({ type: 'FeatureCollection', features });\n map.setFilter(WELLS_HOVER_LAYER_ID, NO_HOVER_FILTER);\n hoveredFeatureIdRef.current = null;\n\n const handleMouseMove = e => {\n const feature = e.features?.[0];\n if (!feature || hoveredFeatureIdRef.current === feature.id) {\n return;\n }\n const entry = wellByFeatureIdRef.current.get(feature.id);\n if (!entry) {\n return;\n }\n\n hoveredFeatureIdRef.current = feature.id;\n map.getCanvas().style.cursor = 'pointer';\n\n // Highlight\n map.setFilter(WELLS_HOVER_LAYER_ID, ['==', ['id'], feature.id]);\n showTooltip(entry.well, entry.isOffsetWell, entry.isSubjectWell, entry.coords);\n if (entry.isSubjectWell) {\n setIsSubjectWellHovered(true);\n }\n };\n\n const handleMouseLeave = e => {\n // NOTE: Leaflet cleared hover on leaving the ENLARGED highlight marker, so keep the\n // hover while the cursor is still over the hover halo (or another well marker)\n if (\n e?.point &&\n map.queryRenderedFeatures(e.point, { layers: [WELLS_LAYER_ID, WELLS_HOVER_LAYER_ID] })\n .length\n ) {\n return;\n }\n const wasSubjectWell =\n hoveredFeatureIdRef.current !== null &&\n hoveredFeatureIdRef.current === subjectFeatureIdRef.current;\n hoveredFeatureIdRef.current = null;\n map.getCanvas().style.cursor = '';\n map.setFilter(WELLS_HOVER_LAYER_ID, NO_HOVER_FILTER);\n popupRef.current?.remove();\n if (wasSubjectWell) {\n setIsSubjectWellHovered(false);\n }\n };\n\n const handleClick = e => {\n if (isViewOnly) return;\n const entry = wellByFeatureIdRef.current.get(e.features?.[0]?.id);\n if (!entry) {\n return;\n }\n handleChangeOffsetWell(entry.well, !entry.isOffsetWell);\n };\n\n map.on('mousemove', WELLS_LAYER_ID, handleMouseMove);\n map.on('mouseleave', WELLS_LAYER_ID, handleMouseLeave);\n map.on('mouseleave', WELLS_HOVER_LAYER_ID, handleMouseLeave);\n map.on('click', WELLS_LAYER_ID, handleClick);\n\n setTimeout(() => {\n if (radius < MAX_RADIUS && mapRef.current && radiusBoundsRef.current && wells !== prevWells) {\n mapRef.current.fitBounds(radiusBoundsRef.current, { padding: 5 });\n }\n }, 500);\n\n return () => {\n map.off('mousemove', WELLS_LAYER_ID, handleMouseMove);\n map.off('mouseleave', WELLS_LAYER_ID, handleMouseLeave);\n map.off('mouseleave', WELLS_HOVER_LAYER_ID, handleMouseLeave);\n map.off('click', WELLS_LAYER_ID, handleClick);\n };\n }, [subjectWell, wells, offsetWellIds, activeWellId, isMapReady]);\n\n // NOTE: Subject Well Icon\n\n useEffect(() => {\n const map = mapRef.current;\n\n if (subjectIconRef.current) {\n subjectIconRef.current.remove();\n subjectIconRef.current = null;\n }\n\n if (!map || !subjectWellCoords) return;\n\n const isHighlighted = isSubjectWellHovered || isActiveWellIsSubjectWell;\n const icon = document.createElement('img');\n icon.src = isHighlighted ? SubjectHighlightWellIcon : SubjectWellIcon;\n const [iconWidth, iconHeight] = isHighlighted ? [70, 20] : [62, 12];\n const [anchorX, anchorY] = isHighlighted ? [35, 29] : [31, 25];\n icon.width = iconWidth;\n icon.height = iconHeight;\n\n icon.addEventListener('mouseover', () => {\n setIsSubjectWellHovered(true);\n\n // Highlight\n if (subjectFeatureIdRef.current !== null && map.getLayer(WELLS_HOVER_LAYER_ID)) {\n hoveredFeatureIdRef.current = subjectFeatureIdRef.current;\n map.setFilter(WELLS_HOVER_LAYER_ID, ['==', ['id'], subjectFeatureIdRef.current]);\n }\n showTooltip(subjectWell, false, true, subjectWellCoords);\n });\n\n icon.addEventListener('mouseout', () => {\n hoveredFeatureIdRef.current = null;\n if (map.getLayer(WELLS_HOVER_LAYER_ID)) {\n map.setFilter(WELLS_HOVER_LAYER_ID, NO_HOVER_FILTER);\n }\n popupRef.current?.remove();\n setIsSubjectWellHovered(false);\n });\n\n subjectIconRef.current = new mapboxgl.Marker({\n element: icon,\n anchor: 'center',\n // NOTE: Leaflet anchored the icon at [anchorX, anchorY] from its top-left corner\n offset: [iconWidth / 2 - anchorX, iconHeight / 2 - anchorY],\n })\n .setLngLat(toLngLat(subjectWellCoords))\n .addTo(map);\n }, [isSubjectWellHovered, subjectWellCoords, radius, subjectWell, isActiveWellIsSubjectWell]);\n\n // NOTE: Map Update\n useEffect(() => {\n if (radius > MAX_RADIUS) {\n mapRef.current?.setZoom(1);\n return;\n }\n setTimeout(() => {\n if (subjectWell) {\n if (mapRef.current && radiusBoundsRef.current && radius) {\n mapRef.current.fitBounds(radiusBoundsRef.current, { padding: 5 });\n }\n } else if (mapRef.current && wellsBoundsRef.current) {\n mapRef.current.fitBounds(wellsBoundsRef.current);\n }\n if (subjectWellCoords && mapRef.current) {\n mapRef.current.easeTo({ center: toLngLat(subjectWellCoords), duration: 700 });\n }\n }, 500);\n }, [radius, subjectWell, subjectWellCoords]);\n\n const handleZoomIn = () => {\n mapRef.current?.setZoom(zoom + 1);\n };\n\n const handleZoomOut = () => {\n if (zoom > 1) {\n mapRef.current?.setZoom(zoom - 1);\n }\n };\n\n return (\n <div className={classNames(styles.mapView, classes.root)}>\n <div\n className={classNames(styles.mapMain, classes.map)}\n ref={containerRef}\n onDoubleClick={handleZoomIn}\n >\n <div className={styles.zoomGroup}>\n <Tooltip title={zoom < ZOOM_MAX_VALUE ? 'Zoom in' : ''} placement=\"left\">\n <div\n className={classNames(styles.zoomButton, {\n [styles.zoomDisabled]: zoom === ZOOM_MAX_VALUE,\n })}\n onClick={handleZoomIn}\n >\n <ZoomInIcon className={styles.zoomInOutIcon} />\n </div>\n </Tooltip>\n <Tooltip title={zoom > ZOOM_MIN_VALUE ? 'Zoom out' : ''} placement=\"left\">\n <div\n className={classNames(styles.zoomButton, {\n [styles.zoomDisabled]: zoom === ZOOM_MIN_VALUE,\n })}\n onClick={handleZoomOut}\n >\n <ZoomOutIcon className={styles.zoomInOutIcon} />\n </div>\n </Tooltip>\n </div>\n </div>\n </div>\n );\n};\n\nexport default OffsetWellMap;\n"],"names":["DEFAULT_COORDS","EMPTY_FEATURE_COLLECTION","type","features","NO_HOVER_FILTER","toLngLat","_ref","_ref2","_slicedToArray","lat","makeCirclePolygon","_ref3","radiusMeters","_ref4","lng","points","degreesLng","Math","cos","PI","degreesLat","ring","i","theta","push","sin","coordinates","OffsetWellMap","_ref7","isViewOnly","_ref7$subjectWell","subjectWell","wells","offsetWellIds","radius","handleChanageOffsetWell","_ref7$handleChangeOff","handleChangeOffsetWell","activeWellId","_ref7$isClickable","isClickable","_ref7$classes","classes","subjectWellCoords","useMemo","get","formationColors","getAllFormations","containerRef","useRef","mapRef","popupRef","radiusBoundsRef","wellsBoundsRef","subjectIconRef","wellByFeatureIdRef","Map","subjectFeatureIdRef","hoveredFeatureIdRef","tooltipRootRef","useState","_useState2","_useState","isSubjectWellHovered","setIsSubjectWellHovered","isActiveWellIsSubjectWell","id","prevWells","usePreviousWells","_useState4","_useState3","isMapReady","setIsMapReady","_useState6","_useState5","zoom","setZoom","useEffect","IS_MAPBOX_ENABLED","map","mapboxgl","container","current","style","center","maxZoom","attributionControl","scrollZoom","doubleClickZoom","on","round","getZoom","addSource","data","addLayer","source","paint","filter","layout","_tooltipRootRef$curre","unmount","remove","_ref6","getSource","setData","properties","geometry","showTooltip","well","isOffsetWell","isSubjectWell","coords","_tooltipRootRef$curre2","popUpContainer","document","createElement","popUpContent","WellTooltip","color","formation","createAdaptiveRoot","render","_jsx","_Fragment","children","Popup","closeButton","offset","setLngLat","setDOMContent","addTo","setPaintProperty","_popupRef$current","offsetWells","unSelectedWells","forEach","includes","sortedWells","wellsBounds","LngLatBounds","clear","index","_well$topHole","topHole","mapbox","opacity","isActive","order","set","extend","length","setFilter","handleMouseMove","e","_e$features","feature","entry","getCanvas","cursor","handleMouseLeave","_popupRef$current2","point","queryRenderedFeatures","layers","wasSubjectWell","handleClick","_e$features2","_e$features2$","setTimeout","fitBounds","padding","off","isHighlighted","icon","src","_ref9","iconWidth","iconHeight","_ref11","anchorX","anchorY","width","height","addEventListener","getLayer","_popupRef$current3","Marker","element","anchor","_mapRef$current","easeTo","duration","handleZoomIn","_mapRef$current2","className","classNames","styles","mapView","root","mapMain","ref","onDoubleClick","_jsxs","zoomGroup","Tooltip","title","placement","zoomButton","_defineProperty","zoomDisabled","onClick","ZoomInIcon","zoomInOutIcon","_mapRef$current3","ZoomOutIcon"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{memo as n,useState as o,useEffect as i,useMemo as s,useCallback as r}from"react";import l from"prop-types";import{get as c,orderBy as a,uniq as m}from"lodash";import{makeStyles as d,Dialog as u,DialogTitle as p,Typography as f,Tooltip as b,IconButton as g,DialogContent as j,DialogActions as h,Button as y}from"@material-ui/core";import v from"@material-ui/icons/Close";import{useTheme as S}from"@material-ui/core/styles";import C from"@material-ui/core/useMediaQuery";import W from"classnames";import O from"./components/Filter/index.js";import x from"./components/Map/index.js";import A from"./components/Table/index.js";import{useCompanies as I,useWells as N,useCompanyMetricKey as D,useWellsWithCoords as P,useRadiusWells as k,useOffsetWells as w,useMetricsData as T}from"./effects/index.js";import{getFilteredWells as B,getFilteredWellsByNonEngineered as E}from"./utils/index.js";import{DEFAULT_SETTINGS as z}from"./constants.js";import R from"../LoadingIndicator/LoadingIndicator.js";import L from"../../permissions/usePermissions.js";import{PERMISSIONS as q}from"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../clients/jsonApi/index.js";import"../../permissions/ProvidePermissions.js";import"../../permissions/PermissionsContext.js";import"../../clients/subscriptions/constants.js";import"querystring";import"uuid/v1";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"immutable";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/alerts.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/completion.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"../GradientManager/configuration/constants.js";import"../../utils/index.js";import"uuid";import"jsona";import"../../utils/env.js";import"../StatusBadge/constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../constants/streamSourceType.js";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppPanel/AppPanelsContext.js";import{useGlobalOffsetWellsSync as M}from"../../effects/useGlobalOffsetWellsSync.js";import{jsxs as _,jsx as U,Fragment as V}from"react/jsx-runtime";import F from"./effects/biDirectionalFiltering.js";function G(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function H(t){for(var n=1;n<arguments.length;n++){var o=null!=arguments[n]?arguments[n]:{};n%2?G(Object(o),!0).forEach((function(n){e(t,n,o[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):G(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var K=d((function(e){return{dialogTitles:{display:"flex",justifyContent:"space-between",alignItems:"center"},title:{fontSize:20},subTitle:{fontSize:14,color:"#03BCD4","&:hover":{cursor:"pointer",textDecoration:"underline"}},subTitleSpace:{fontSize:14,color:"#03BCD4"},titleArea:{display:"flex",alignItems:"center"},closeIconButton:{fontSize:20,padding:4,"&:hover $closeIcon":{color:"#fff"}},closeIcon:{color:"#BDBDBD"},dialogActions:{justifyContent:"space-between",paddingTop:8,paddingBottom:8},bottomShadow:{width:"100%",height:"16px",backgroundImage:"linear-gradient(180deg, rgba(65, 65, 65, 0) 0%, ".concat(e.palette.background.b9,")"),position:"absolute",bottom:"52px",zIndex:2},dialogActionsSmallScreen:{paddingRight:"100px"},dialogContent:{display:"flex",flexDirection:"column"},tabs:{background:"#414141"},selectedWells:{display:"flex",alignItems:"center"},selected:{fontSize:16},selectedLabel:{fontSize:12,marginLeft:14,color:"rgba(255, 255, 255, 0.54)"},selectedNumber:{fontSize:12,margin:4,color:"rgba(255, 255, 255, 0.8)"}}})),Q=function(n){var l=n.isOpen,d=n.defaultSubjectWellId,G=void 0===d?null:d,Q=n.companyId,$=void 0===Q?null:Q,J=n.offsetSetting,X=n.currentUser,Y=n.addWellsUsabilityInfo,Z=void 0===Y?null:Y,ee=n.unusableWellAlarm,te=void 0===ee?"Unable to add":ee,ne=n.isAdvancedSearch,oe=void 0!==ne&&ne,ie=n.bestCount,se=void 0===ie?0:ie,re=n.maxOffsetSize,le=void 0===re?1e3:re,ce=n.onClose,ae=n.onSave,me=K(),de=S(),ue=C(de.breakpoints.down("sm")),pe=L([q.companySelectorView]),fe=t(pe,1)[0].active,be=o($||c(J,"companyId")||+c(X,"company_id")),ge=t(be,2),je=ge[0],he=ge[1],ye=o(c(J,"subjectWellId")||G),ve=t(ye,2),Se=ve[0],Ce=ve[1];M(J,ae,le);var We=o(c(J,"filters")||z.filters),Oe=t(We,2),xe=Oe[0],Ae=Oe[1],Ie=o(c(J,"radius")||z.radius),Ne=t(Ie,2),De=Ne[0],Pe=Ne[1],ke=o(c(J,"excludeSideTrack")||!1),we=t(ke,2),Te=we[0],Be=we[1],Ee=o(c(J,"includeNonEngineeredWells")||!1),ze=t(Ee,2),Re=ze[0],Le=ze[1],qe=o([]),Me=t(qe,2),_e=Me[0],Ue=Me[1],Ve=o(z.sortInfo),Fe=t(Ve,2),Ge=Fe[0],He=Fe[1],Ke=o(!1),Qe=t(Ke,2),$e=Qe[0],Je=Qe[1],Xe=o([]),Ye=t(Xe,2),Ze=Ye[0],et=Ye[1];i((function(){l&&(et(c(J,"selectedWellIds")||[]),he($||c(J,"companyId")||+c(X,"company_id")),Ce(c(J,"subjectWellId")||G))}),[l,J]);var tt=s((function(){return!!Se}),[Se]),nt=I(fe,oe&&G,je),ot=N(je,Z),it=D(je);i((function(){Ue((function(e){return it?[it]:e}))}),[it]);var st=F(xe,ot),rt=s((function(){return B(xe,Te,ot)}),[xe,Te,ot]),lt=s((function(){return E(rt,Re)}),[rt,Re]),ct=s((function(){return lt&&Se?lt.find((function(e){return e.id===Se})):null}),[lt,Se]),at=P(rt,ct),mt=s((function(){return E(at,!1)}),[at]),dt=Re?at:mt,ut=at&&at.length!==mt.length;k(De,at,et);var pt=w(De,ot,Ze),ft=T(je,dt),bt=t(ft,2),gt=bt[0],jt=bt[1],ht=s((function(){return jt?a(jt,Ge.key,1===Ge.direction?"asc":"desc"):jt}),[Ge,jt]),yt=r((function(e){he(e),Ce(null),et([]),Ae(z.filters)}),[]),vt=r((function(e){var t=lt.find((function(t){return t.id===e}));t&&t.is_usable&&et(m(Ze.concat(e)))}),[Ze,lt]),St=r((function(e){et(m(Ze.filter((function(t){return t!==e}))))}),[Ze]),Ct=r((function(){et(lt.filter((function(e){return e.is_usable})).map((function(e){return e.id})))}),[lt]),Wt=r((function(){et([])}),[]),Ot=r((function(e){et([]),Ce(e)}),[ot]),xt=r((function(){et([]),Ce(null)}),[]),At=r((function(e){Pe(e)}),[]),It=r((function(e){Be(e)}),[]),Nt=r((function(e){e||et((function(e){return e.filter((function(e){return mt.map((function(e){return e.id})).includes(e)}))})),Le(e)}),[mt]),Dt=r((function(t,n){Ae((function(o){return H(H({},o),{},e({},t,n))})),et([])}),[]),Pt=r((function(){Ae(H({},z.filters)),et([])}),[]),kt=r((function(){Je((function(e){return!e}))}),[]),wt=r((function(e){Ue(e)}),[]),Tt=r((function(e){He((function(t){return t.key===e?H(H({},t),{},{direction:-1*t.direction}):{key:e,direction:1}}))}),[]),Bt=function(){ce()},Et=!(ot&<&&dt&&jt&&pt&&ht);return _(u,{onBackdropClick:ce,onEscapeKeyDown:ce,maxWidth:"lg",fullWidth:!0,fullScreen:ue,open:l,children:[U(p,{children:_("div",{className:me.dialogTitles,children:[oe?_("div",{className:me.titleArea,children:[U(f,{className:me.subTitle,onClick:Bt,children:"Select Offset Wells"}),U(f,{className:me.subTitleSpace,children:" / "}),U(f,{className:me.title,children:"Advanced Search"})]}):U(f,{className:me.title,children:"Select Offset Wells"}),U(b,{title:"Close",children:U(g,{"data-not-migrated-muiiconbutton":!0,"aria-label":"close",className:me.closeIconButton,onClick:ce,children:U(v,{className:me.closeIcon})})})]})}),U(j,{className:me.dialogContent,children:Et?U(R,{fullscreen:!1}):_(V,{children:[U(O,{companyId:je,companies:nt,canViewCompanies:fe,radius:De,excludeSideTrack:Te,includeNonEngineeredWells:Re,wells:lt,subjectWell:ct,filters:xe,filtersOptions:st,mapHidden:$e,isRadiusEditable:tt,isExistNonEngineeredWells:ut,onChangeCompany:yt,onSetSubjectWell:Ot,onChangeRadius:At,onChangeSidetrack:It,onChangeNonEngineeredWells:Nt,onChangeFilters:Dt,onClearFilters:Pt,onToggleMap:kt}),U(x,{subjectWell:ct,wells:lt,offsetWells:pt,radius:De,mapHidden:$e,onSetSubjectWell:Ot,onRemoveSubjectWell:xt,onAddOffsetWell:vt,onDeleteOffsetWell:St}),U(A,{subjectWell:ct,wells:ht,offsetWells:pt,metricsKeys:_e,sortInfo:Ge,isMetricsLoading:gt,unusableWellAlarm:te,onChangeMetricsKeys:wt,onSorting:Tt,onAddOffsetWell:vt,onDeleteOffsetWell:St,onAddAllOffsetWells:Ct,onDeleteAllOffsetWells:Wt})]})}),U("div",{className:me.bottomShadow}),_(h,{className:W(me.dialogActions,e({},me.dialogActionsSmallScreen,ue)),children:[oe?_("div",{className:me.selectedWells,children:[U(f,{className:me.selected,children:"Selected:"}),U(f,{className:me.selectedLabel,children:"Best:"}),U(f,{className:me.selectedNumber,children:se}),U(f,{className:me.selectedLabel,children:"Advanced Search:"}),U(f,{className:me.selectedNumber,children:(null==pt?void 0:pt.length)||0})]}):U("div",{}),_("div",{children:[U(y,{"data-testid":"".concat("OffsetsPickerDialog","_cancel"),onClick:Bt,color:"primary",style:{marginRight:16},children:"CANCEL"}),_(y,{"data-testid":"".concat("OffsetsPickerDialog","_add"),variant:"contained",color:"primary",onClick:function(){var e=H(H({},J),{},{companyId:je,subjectWellId:Se,radius:De,excludeSideTrack:Te,includeNonEngineeredWells:Re,filters:xe,selectedWellIds:m(pt.map((function(e){return e.id})))});ae(e,pt)},children:["ADD (",(null==pt?void 0:pt.length)||0,")"]})]})]})]})};Q.propTypes={isOpen:l.bool.isRequired,defaultSubjectWellId:l.number,companyId:l.number,offsetSetting:l.shape({}).isRequired,currentUser:l.shape({}).isRequired,addWellsUsabilityInfo:l.func,unusableWellAlarm:l.string,isAdvancedSearch:l.bool,bestCount:l.number,maxOffsetSize:l.number,onSave:l.func.isRequired,onClose:l.func.isRequired};var $=n(Q);export{$ as default};
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{memo as i,useState as n,useEffect as o,useMemo as s,useCallback as r}from"react";import l from"prop-types";import{get as a,orderBy as c,uniq as m}from"lodash";import{makeStyles as d,Dialog as p,DialogTitle as u,Typography as f,Tooltip as b,IconButton as g,DialogContent as j,DialogActions as h,Button as y}from"@material-ui/core";import v from"@material-ui/icons/Close";import{useTheme as S}from"@material-ui/core/styles";import C from"@material-ui/core/useMediaQuery";import W from"classnames";import x from"./components/Filter/index.js";import O from"./components/Map/index.js";import A from"./components/Table/index.js";import{useCompanies as I,useWells as N,useCompanyMetricKey as D,useWellsWithCoords as P,useRadiusWells as k,useOffsetWells as w,useMetricsData as T}from"./effects/index.js";import{getFilteredWells as B,getFilteredWellsByNonEngineered as E}from"./utils/index.js";import{DEFAULT_SETTINGS as z}from"./constants.js";import R from"../LoadingIndicator/LoadingIndicator.js";import L from"../../permissions/usePermissions.js";import{PERMISSIONS as q}from"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../clients/jsonApi/index.js";import"../../permissions/ProvidePermissions.js";import"../../permissions/PermissionsContext.js";import"../../clients/subscriptions/constants.js";import"querystring";import"uuid/v1";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"query-string";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/alerts.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/completion.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"../GradientManager/configuration/constants.js";import"../UserMention/utils/index.js";import"../../utils/convert.js";import"moment";import"../../utils/casing/validation.js";import"lodash/mean";import"../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../utils/ga.js";import"../../utils/goalsConfig/goalsConfig.js";import"../../utils/lasParser.js";import"../../utils/main.js";import"../../utils/metrics/metricsConfig.js";import"../../utils/mobileDetect.js";import"../../utils/feed.js";import"../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../utils/dashboardReports.js";import"../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../utils/jsonaDataFormatter.js";import"../../utils/bha.js";import"jsona";import"@babel/runtime/helpers/objectWithoutProperties";import"../../utils/charts/Styles.scss.js";import"../../utils/getSingleAsset.js";import"uuid";import"../StatusBadge/constants.js";import"lodash/unset";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppPanel/AppPanelsContext.js";import{useGlobalOffsetWellsSync as M}from"../../effects/useGlobalOffsetWellsSync.js";import{jsxs as U,jsx as _,Fragment as F}from"react/jsx-runtime";import V from"./effects/biDirectionalFiltering.js";function G(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function H(t){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?G(Object(n),!0).forEach((function(i){e(t,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):G(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var K=d((function(e){return{dialogTitles:{display:"flex",justifyContent:"space-between",alignItems:"center"},title:{fontSize:20},subTitle:{fontSize:14,color:"#03BCD4","&:hover":{cursor:"pointer",textDecoration:"underline"}},subTitleSpace:{fontSize:14,color:"#03BCD4"},titleArea:{display:"flex",alignItems:"center"},closeIconButton:{fontSize:20,padding:4,"&:hover $closeIcon":{color:"#fff"}},closeIcon:{color:"#BDBDBD"},dialogActions:{justifyContent:"space-between",paddingTop:8,paddingBottom:8},bottomShadow:{width:"100%",height:"16px",backgroundImage:"linear-gradient(180deg, rgba(65, 65, 65, 0) 0%, ".concat(e.palette.background.b9,")"),position:"absolute",bottom:"52px",zIndex:2},dialogActionsSmallScreen:{paddingRight:"100px"},dialogContent:{display:"flex",flexDirection:"column"},tabs:{background:"#414141"},selectedWells:{display:"flex",alignItems:"center"},selected:{fontSize:16},selectedLabel:{fontSize:12,marginLeft:14,color:"rgba(255, 255, 255, 0.54)"},selectedNumber:{fontSize:12,margin:4,color:"rgba(255, 255, 255, 0.8)"}}})),Q=function(i){var l=i.isOpen,d=i.defaultSubjectWellId,G=void 0===d?null:d,Q=i.companyId,$=void 0===Q?null:Q,J=i.offsetSetting,X=i.currentUser,Y=i.addWellsUsabilityInfo,Z=void 0===Y?null:Y,ee=i.unusableWellAlarm,te=void 0===ee?"Unable to add":ee,ie=i.isAdvancedSearch,ne=void 0!==ie&&ie,oe=i.bestCount,se=void 0===oe?0:oe,re=i.maxOffsetSize,le=void 0===re?1e3:re,ae=i.onClose,ce=i.onSave,me=K(),de=S(),pe=C(de.breakpoints.down("sm")),ue=L([q.companySelectorView]),fe=t(ue,1)[0].active,be=n($||a(J,"companyId")||+a(X,"company_id")),ge=t(be,2),je=ge[0],he=ge[1],ye=n(a(J,"subjectWellId")||G),ve=t(ye,2),Se=ve[0],Ce=ve[1];M(J,ce,le);var We=n(a(J,"filters")||z.filters),xe=t(We,2),Oe=xe[0],Ae=xe[1],Ie=n(a(J,"radius")||z.radius),Ne=t(Ie,2),De=Ne[0],Pe=Ne[1],ke=n(a(J,"excludeSideTrack")||!1),we=t(ke,2),Te=we[0],Be=we[1],Ee=n(a(J,"includeNonEngineeredWells")||!1),ze=t(Ee,2),Re=ze[0],Le=ze[1],qe=n([]),Me=t(qe,2),Ue=Me[0],_e=Me[1],Fe=n(z.sortInfo),Ve=t(Fe,2),Ge=Ve[0],He=Ve[1],Ke=n(!1),Qe=t(Ke,2),$e=Qe[0],Je=Qe[1],Xe=n([]),Ye=t(Xe,2),Ze=Ye[0],et=Ye[1];o((function(){l&&(et(a(J,"selectedWellIds")||[]),he($||a(J,"companyId")||+a(X,"company_id")),Ce(a(J,"subjectWellId")||G))}),[l,J]);var tt=s((function(){return!!Se}),[Se]),it=I(fe,ne&&G,je),nt=N(je,Z),ot=D(je);o((function(){_e((function(e){return ot?[ot]:e}))}),[ot]);var st=V(Oe,nt),rt=s((function(){return B(Oe,Te,nt)}),[Oe,Te,nt]),lt=s((function(){return E(rt,Re)}),[rt,Re]),at=s((function(){return lt&&Se?lt.find((function(e){return e.id===Se})):null}),[lt,Se]),ct=P(rt,at),mt=s((function(){return E(ct,!1)}),[ct]),dt=Re?ct:mt,pt=ct&&ct.length!==mt.length;k(De,ct,et);var ut=w(De,nt,Ze),ft=T(je,dt),bt=t(ft,2),gt=bt[0],jt=bt[1],ht=s((function(){return jt?c(jt,Ge.key,1===Ge.direction?"asc":"desc"):jt}),[Ge,jt]),yt=r((function(e){he(e),Ce(null),et([]),Ae(z.filters)}),[]),vt=r((function(e){var t=lt.find((function(t){return t.id===e}));t&&t.is_usable&&et(m(Ze.concat(e)))}),[Ze,lt]),St=r((function(e){et(m(Ze.filter((function(t){return t!==e}))))}),[Ze]),Ct=r((function(){et(lt.filter((function(e){return e.is_usable})).map((function(e){return e.id})))}),[lt]),Wt=r((function(){et([])}),[]),xt=r((function(e){et([]),Ce(e)}),[nt]),Ot=r((function(){et([]),Ce(null)}),[]),At=r((function(e){Pe(e)}),[]),It=r((function(e){Be(e)}),[]),Nt=r((function(e){e||et((function(e){return e.filter((function(e){return mt.map((function(e){return e.id})).includes(e)}))})),Le(e)}),[mt]),Dt=r((function(t,i){Ae((function(n){return H(H({},n),{},e({},t,i))})),et([])}),[]),Pt=r((function(){Ae(H({},z.filters)),et([])}),[]),kt=r((function(){Je((function(e){return!e}))}),[]),wt=r((function(e){_e(e)}),[]),Tt=r((function(e){He((function(t){return t.key===e?H(H({},t),{},{direction:-1*t.direction}):{key:e,direction:1}}))}),[]),Bt=function(){ae()},Et=!(nt&<&&dt&&jt&&ut&&ht);return U(p,{onBackdropClick:ae,onEscapeKeyDown:ae,maxWidth:"lg",fullWidth:!0,fullScreen:pe,open:l,children:[_(u,{children:U("div",{className:me.dialogTitles,children:[ne?U("div",{className:me.titleArea,children:[_(f,{className:me.subTitle,onClick:Bt,children:"Select Offset Wells"}),_(f,{className:me.subTitleSpace,children:" / "}),_(f,{className:me.title,children:"Advanced Search"})]}):_(f,{className:me.title,children:"Select Offset Wells"}),_(b,{title:"Close",children:_(g,{"data-not-migrated-muiiconbutton":!0,"aria-label":"close",className:me.closeIconButton,onClick:ae,children:_(v,{className:me.closeIcon})})})]})}),_(j,{className:me.dialogContent,children:Et?_(R,{fullscreen:!1}):U(F,{children:[_(x,{companyId:je,companies:it,canViewCompanies:fe,radius:De,excludeSideTrack:Te,includeNonEngineeredWells:Re,wells:lt,subjectWell:at,filters:Oe,filtersOptions:st,mapHidden:$e,isRadiusEditable:tt,isExistNonEngineeredWells:pt,onChangeCompany:yt,onSetSubjectWell:xt,onChangeRadius:At,onChangeSidetrack:It,onChangeNonEngineeredWells:Nt,onChangeFilters:Dt,onClearFilters:Pt,onToggleMap:kt}),_(O,{subjectWell:at,wells:lt,offsetWells:ut,radius:De,mapHidden:$e,onSetSubjectWell:xt,onRemoveSubjectWell:Ot,onAddOffsetWell:vt,onDeleteOffsetWell:St}),_(A,{subjectWell:at,wells:ht,offsetWells:ut,metricsKeys:Ue,sortInfo:Ge,isMetricsLoading:gt,unusableWellAlarm:te,onChangeMetricsKeys:wt,onSorting:Tt,onAddOffsetWell:vt,onDeleteOffsetWell:St,onAddAllOffsetWells:Ct,onDeleteAllOffsetWells:Wt})]})}),_("div",{className:me.bottomShadow}),U(h,{className:W(me.dialogActions,e({},me.dialogActionsSmallScreen,pe)),children:[ne?U("div",{className:me.selectedWells,children:[_(f,{className:me.selected,children:"Selected:"}),_(f,{className:me.selectedLabel,children:"Best:"}),_(f,{className:me.selectedNumber,children:se}),_(f,{className:me.selectedLabel,children:"Advanced Search:"}),_(f,{className:me.selectedNumber,children:(null==ut?void 0:ut.length)||0})]}):_("div",{}),U("div",{children:[_(y,{"data-testid":"".concat("OffsetsPickerDialog","_cancel"),onClick:Bt,color:"primary",style:{marginRight:16},children:"CANCEL"}),U(y,{"data-testid":"".concat("OffsetsPickerDialog","_add"),variant:"contained",color:"primary",onClick:function(){var e=H(H({},J),{},{companyId:je,subjectWellId:Se,radius:De,excludeSideTrack:Te,includeNonEngineeredWells:Re,filters:Oe,selectedWellIds:m(ut.map((function(e){return e.id})))});ce(e,ut)},children:["ADD (",(null==ut?void 0:ut.length)||0,")"]})]})]})]})};Q.propTypes={isOpen:l.bool.isRequired,defaultSubjectWellId:l.number,companyId:l.number,offsetSetting:l.shape({}).isRequired,currentUser:l.shape({}).isRequired,addWellsUsabilityInfo:l.func,unusableWellAlarm:l.string,isAdvancedSearch:l.bool,bestCount:l.number,maxOffsetSize:l.number,onSave:l.func.isRequired,onClose:l.func.isRequired};var $=i(Q);export{$ as default};
|
|
2
2
|
//# sourceMappingURL=OffsetWellPickerDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OffsetWellPickerDialog.js","sources":["../../../src/components/OffsetWellPickerV2/OffsetWellPickerDialog.js"],"sourcesContent":["import { memo, useState, useCallback, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { uniq, orderBy, get } from 'lodash';\nimport {\n Button,\n IconButton,\n Typography,\n Dialog,\n DialogContent,\n DialogTitle,\n DialogActions,\n Tooltip,\n makeStyles,\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { useTheme } from '@material-ui/core/styles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport classnames from 'classnames';\n\nimport Filter from './components/Filter';\nimport WellsMap from './components/Map';\nimport WellsTable from './components/Table';\nimport {\n useCompanies,\n useCompanyMetricKey,\n useWells,\n useWellsWithCoords,\n useOffsetWells,\n useBidirectionalFiltering,\n useMetricsData,\n useRadiusWells,\n} from './effects';\nimport { getFilteredWells, getFilteredWellsByNonEngineered } from './utils';\nimport { DEFAULT_SETTINGS } from './constants';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\nimport { usePermissions, PERMISSIONS } from '~/permissions';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetsPickerDialog';\n\nconst useStyles = makeStyles(theme => ({\n dialogTitles: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n title: {\n fontSize: 20,\n },\n subTitle: {\n fontSize: 14,\n color: '#03BCD4',\n '&:hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n },\n subTitleSpace: {\n fontSize: 14,\n color: '#03BCD4',\n },\n titleArea: {\n display: 'flex',\n alignItems: 'center',\n },\n closeIconButton: {\n fontSize: 20,\n padding: 4,\n '&:hover $closeIcon': {\n color: '#fff',\n },\n },\n closeIcon: {\n color: '#BDBDBD',\n },\n dialogActions: {\n justifyContent: 'space-between',\n paddingTop: 8,\n paddingBottom: 8,\n },\n bottomShadow: {\n width: '100%',\n height: '16px',\n backgroundImage: `linear-gradient(180deg, rgba(65, 65, 65, 0) 0%, ${theme.palette.background.b9})`,\n position: 'absolute',\n bottom: '52px',\n zIndex: 2,\n },\n dialogActionsSmallScreen: {\n paddingRight: '100px', // Intercom\n },\n dialogContent: {\n display: 'flex',\n flexDirection: 'column',\n },\n tabs: {\n background: '#414141',\n },\n selectedWells: {\n display: 'flex',\n alignItems: 'center',\n },\n selected: {\n fontSize: 16,\n },\n selectedLabel: {\n fontSize: 12,\n marginLeft: 14,\n color: 'rgba(255, 255, 255, 0.54)',\n },\n selectedNumber: {\n fontSize: 12,\n margin: 4,\n color: 'rgba(255, 255, 255, 0.8)',\n },\n}));\n\nconst OffsetsPickerDialog = ({\n isOpen,\n defaultSubjectWellId = null,\n companyId = null,\n offsetSetting,\n currentUser,\n addWellsUsabilityInfo = null,\n unusableWellAlarm = 'Unable to add',\n isAdvancedSearch = false,\n bestCount = 0,\n maxOffsetSize = 1000,\n onClose,\n onSave,\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const isFullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n const [{ active: canViewCompanies }] = usePermissions([PERMISSIONS.companySelectorView]);\n\n const [assetCompanyId, setAssetCompanyId] = useState(\n companyId || get(offsetSetting, 'companyId') || +get(currentUser, 'company_id')\n );\n const [subjectWellId, setSubjectWellId] = useState(\n get(offsetSetting, 'subjectWellId') || defaultSubjectWellId\n );\n\n useGlobalOffsetWellsSync(offsetSetting, onSave, maxOffsetSize, subjectWellId);\n const [filters, setFilters] = useState(get(offsetSetting, 'filters') || DEFAULT_SETTINGS.filters);\n const [radius, setRadius] = useState(get(offsetSetting, 'radius') || DEFAULT_SETTINGS.radius);\n const [excludeSideTrack, setExcludeSideTrack] = useState(\n get(offsetSetting, 'excludeSideTrack') || false\n );\n const [includeNonEngineeredWells, setIncludeNonEngineeredWells] = useState(\n get(offsetSetting, 'includeNonEngineeredWells') || false\n );\n const [metricsKeys, setMetricsKeys] = useState([]);\n const [sortInfo, setSortInfo] = useState(DEFAULT_SETTINGS.sortInfo);\n const [mapHidden, setMapHidden] = useState(false);\n const [selectedWellIds, setSelectedWellIds] = useState([]);\n\n useEffect(() => {\n if (isOpen) {\n setSelectedWellIds(get(offsetSetting, 'selectedWellIds') || []);\n setAssetCompanyId(\n companyId || get(offsetSetting, 'companyId') || +get(currentUser, 'company_id')\n );\n setSubjectWellId(get(offsetSetting, 'subjectWellId') || defaultSubjectWellId);\n }\n }, [isOpen, offsetSetting]);\n\n const isRadiusEditable = useMemo(() => {\n return !!subjectWellId;\n }, [subjectWellId]);\n\n // NOTE: Fetch all companies\n const companies = useCompanies(\n canViewCompanies,\n isAdvancedSearch && defaultSubjectWellId,\n assetCompanyId\n );\n\n // NOTE: fetch all wells for the currently selected company\n const wells = useWells(assetCompanyId, addWellsUsabilityInfo);\n\n // Note: fetch company metric key\n const companyMetricKey = useCompanyMetricKey(assetCompanyId);\n\n useEffect(() => {\n setMetricsKeys(prev => {\n return companyMetricKey ? [companyMetricKey] : prev;\n });\n }, [companyMetricKey]);\n\n // NOTE: Get available options for every filters\n const filtersOptions = useBidirectionalFiltering(filters, wells);\n\n // NOTE: Filter wells by target formation, string design, program, basin, county, area\n const initialFilteredWells = useMemo(\n () => getFilteredWells(filters, excludeSideTrack, wells),\n [filters, excludeSideTrack, wells]\n );\n\n const filteredWells = useMemo(\n () => getFilteredWellsByNonEngineered(initialFilteredWells, includeNonEngineeredWells),\n [initialFilteredWells, includeNonEngineeredWells]\n );\n\n // NOTE: get subject well from id\n const subjectWell = useMemo(() => {\n return filteredWells && subjectWellId\n ? filteredWells.find(well => well.id === subjectWellId)\n : null;\n }, [filteredWells, subjectWellId]);\n\n // NOTE: All matched wells regardless of is_usable field\n const filteredWellsWithCoords = useWellsWithCoords(initialFilteredWells, subjectWell);\n\n const engineeredWells = useMemo(\n () => getFilteredWellsByNonEngineered(filteredWellsWithCoords, false),\n [filteredWellsWithCoords]\n );\n const filteredWellsByNonEngineered = includeNonEngineeredWells\n ? filteredWellsWithCoords\n : engineeredWells;\n const isExistNonEngineeredWells =\n filteredWellsWithCoords && filteredWellsWithCoords.length !== engineeredWells.length;\n\n // NOTE: Update selectedWellIds by radius\n useRadiusWells(radius, filteredWellsWithCoords, setSelectedWellIds);\n\n // NOTE: Get offset wells (only usable wells)\n const offsetWells = useOffsetWells(radius, wells, selectedWellIds);\n\n // NOTE: Fetch metrics for all filtered wells\n const [isMetricsLoading, filteredWellsWithMetric] = useMetricsData(\n assetCompanyId,\n filteredWellsByNonEngineered\n );\n\n // NOTE: Sort wells by focused metric\n const sortedFilteredWells = useMemo(() => {\n if (!filteredWellsWithMetric) {\n return filteredWellsWithMetric;\n }\n\n return orderBy(\n filteredWellsWithMetric,\n sortInfo.key,\n sortInfo.direction === 1 ? 'asc' : 'desc'\n );\n }, [sortInfo, filteredWellsWithMetric]);\n\n const handleChangeCompany = useCallback(newCompanyId => {\n setAssetCompanyId(newCompanyId);\n setSubjectWellId(null);\n setSelectedWellIds([]);\n setFilters(DEFAULT_SETTINGS.filters);\n }, []);\n\n const handleAddOffsetWell = useCallback(\n targetId => {\n // Do not allow to add unusuable wells\n const currentWell = filteredWells.find(well => well.id === targetId);\n if (!currentWell || !currentWell.is_usable) {\n return;\n }\n\n setSelectedWellIds(uniq(selectedWellIds.concat(targetId)));\n },\n [selectedWellIds, filteredWells]\n );\n\n const handleDeleteOffsetWell = useCallback(\n targetId => {\n setSelectedWellIds(uniq(selectedWellIds.filter(wellId => wellId !== targetId)));\n },\n [selectedWellIds]\n );\n\n const handleAddAllOffsetWells = useCallback(() => {\n setSelectedWellIds(filteredWells.filter(well => well.is_usable).map(well => well.id));\n }, [filteredWells]);\n\n const handleDeleteAllOffsetWells = useCallback(() => {\n setSelectedWellIds([]);\n }, []);\n\n const handleSetSubjectWell = useCallback(\n targetId => {\n setSelectedWellIds([]);\n setSubjectWellId(targetId);\n },\n [wells]\n );\n\n const handleRemoveSubjectWell = useCallback(() => {\n setSelectedWellIds([]);\n setSubjectWellId(null);\n }, []);\n\n const handleChangeRadius = useCallback(newRadius => {\n setRadius(newRadius);\n }, []);\n\n const handleChangeSidetrack = useCallback(checked => {\n setExcludeSideTrack(checked);\n }, []);\n\n const handleChangeNonEngineeredWells = useCallback(\n checked => {\n if (!checked)\n setSelectedWellIds(prev =>\n prev.filter(item => engineeredWells.map(well => well.id).includes(item))\n );\n setIncludeNonEngineeredWells(checked);\n },\n [engineeredWells]\n );\n\n const handleChangeFilters = useCallback((key, newValues) => {\n setFilters(prev => ({ ...prev, [key]: newValues }));\n setSelectedWellIds([]);\n }, []);\n\n const handleClearFilters = useCallback(() => {\n setFilters({ ...DEFAULT_SETTINGS.filters });\n setSelectedWellIds([]);\n }, []);\n\n const handleToggleMap = useCallback(() => {\n setMapHidden(value => !value);\n }, []);\n\n const handleChangeMetricsKeys = useCallback(newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n }, []);\n\n // NOTE: Use column index to determine which metric is used for sorting\n const handleSorting = useCallback(newKey => {\n setSortInfo(prevInfo => {\n return prevInfo.key === newKey\n ? {\n ...prevInfo,\n direction: prevInfo.direction * -1,\n }\n : {\n key: newKey,\n direction: 1,\n };\n });\n }, []);\n\n const handleClose = () => {\n onClose();\n };\n\n const handleSave = () => {\n const setting = {\n ...offsetSetting,\n companyId: assetCompanyId,\n subjectWellId,\n radius,\n excludeSideTrack,\n includeNonEngineeredWells,\n filters,\n selectedWellIds: uniq(offsetWells.map(offsetWell => offsetWell.id)),\n };\n\n onSave(setting, offsetWells);\n };\n\n const isLoading =\n !wells ||\n !filteredWells ||\n !filteredWellsByNonEngineered ||\n !filteredWellsWithMetric ||\n !offsetWells ||\n !sortedFilteredWells;\n\n return (\n <Dialog\n onBackdropClick={onClose}\n onEscapeKeyDown={onClose}\n maxWidth=\"lg\"\n fullWidth\n fullScreen={isFullScreen}\n open={isOpen}\n >\n <DialogTitle>\n <div className={classes.dialogTitles}>\n {!isAdvancedSearch ? (\n <Typography className={classes.title}>Select Offset Wells</Typography>\n ) : (\n <div className={classes.titleArea}>\n <Typography className={classes.subTitle} onClick={handleClose}>\n Select Offset Wells\n </Typography>\n <Typography className={classes.subTitleSpace}> / </Typography>\n <Typography className={classes.title}>Advanced Search</Typography>\n </div>\n )}\n <Tooltip title=\"Close\">\n <IconButton\n data-not-migrated-muiiconbutton\n aria-label=\"close\"\n className={classes.closeIconButton}\n onClick={onClose}\n >\n <CloseIcon className={classes.closeIcon} />\n </IconButton>\n </Tooltip>\n </div>\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n {!isLoading ? (\n <>\n <Filter\n companyId={assetCompanyId}\n companies={companies}\n canViewCompanies={canViewCompanies}\n radius={radius}\n excludeSideTrack={excludeSideTrack}\n includeNonEngineeredWells={includeNonEngineeredWells}\n wells={filteredWells}\n subjectWell={subjectWell}\n filters={filters}\n filtersOptions={filtersOptions}\n mapHidden={mapHidden}\n isRadiusEditable={isRadiusEditable}\n isExistNonEngineeredWells={isExistNonEngineeredWells}\n onChangeCompany={handleChangeCompany}\n onSetSubjectWell={handleSetSubjectWell}\n onChangeRadius={handleChangeRadius}\n onChangeSidetrack={handleChangeSidetrack}\n onChangeNonEngineeredWells={handleChangeNonEngineeredWells}\n onChangeFilters={handleChangeFilters}\n onClearFilters={handleClearFilters}\n onToggleMap={handleToggleMap}\n />\n <WellsMap\n subjectWell={subjectWell}\n wells={filteredWells}\n offsetWells={offsetWells}\n radius={radius}\n mapHidden={mapHidden}\n onSetSubjectWell={handleSetSubjectWell}\n onRemoveSubjectWell={handleRemoveSubjectWell}\n onAddOffsetWell={handleAddOffsetWell}\n onDeleteOffsetWell={handleDeleteOffsetWell}\n />\n\n <WellsTable\n subjectWell={subjectWell}\n wells={sortedFilteredWells}\n offsetWells={offsetWells}\n metricsKeys={metricsKeys}\n sortInfo={sortInfo}\n isMetricsLoading={isMetricsLoading}\n unusableWellAlarm={unusableWellAlarm}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n onSorting={handleSorting}\n onAddOffsetWell={handleAddOffsetWell}\n onDeleteOffsetWell={handleDeleteOffsetWell}\n onAddAllOffsetWells={handleAddAllOffsetWells}\n onDeleteAllOffsetWells={handleDeleteAllOffsetWells}\n />\n </>\n ) : (\n <LoadingIndicator fullscreen={false} />\n )}\n </DialogContent>\n <div className={classes.bottomShadow} />\n <DialogActions\n className={classnames(classes.dialogActions, {\n [classes.dialogActionsSmallScreen]: isFullScreen,\n })}\n >\n {isAdvancedSearch ? (\n <div className={classes.selectedWells}>\n <Typography className={classes.selected}>Selected:</Typography>\n <Typography className={classes.selectedLabel}>Best:</Typography>\n <Typography className={classes.selectedNumber}>{bestCount}</Typography>\n <Typography className={classes.selectedLabel}>Advanced Search:</Typography>\n <Typography className={classes.selectedNumber}>{offsetWells?.length || 0}</Typography>\n </div>\n ) : (\n <div />\n )}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n onClick={handleClose}\n color=\"primary\"\n style={{ marginRight: 16 }}\n >\n CANCEL\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_add`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n >\n ADD ({offsetWells?.length || 0})\n </Button>\n </div>\n </DialogActions>\n </Dialog>\n );\n};\n\nOffsetsPickerDialog.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n defaultSubjectWellId: PropTypes.number,\n companyId: PropTypes.number,\n offsetSetting: PropTypes.shape({}).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n addWellsUsabilityInfo: PropTypes.func,\n unusableWellAlarm: PropTypes.string,\n isAdvancedSearch: PropTypes.bool,\n bestCount: PropTypes.number,\n maxOffsetSize: PropTypes.number,\n onSave: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default memo(OffsetsPickerDialog);\n"],"names":["useStyles","makeStyles","theme","dialogTitles","display","justifyContent","alignItems","title","fontSize","subTitle","color","cursor","textDecoration","subTitleSpace","titleArea","closeIconButton","padding","closeIcon","dialogActions","paddingTop","paddingBottom","bottomShadow","width","height","backgroundImage","concat","palette","background","b9","position","bottom","zIndex","dialogActionsSmallScreen","paddingRight","dialogContent","flexDirection","tabs","selectedWells","selected","selectedLabel","marginLeft","selectedNumber","margin","OffsetsPickerDialog","_ref","isOpen","_ref$defaultSubjectWe","defaultSubjectWellId","_ref$companyId","companyId","offsetSetting","currentUser","_ref$addWellsUsabilit","addWellsUsabilityInfo","_ref$unusableWellAlar","unusableWellAlarm","_ref$isAdvancedSearch","isAdvancedSearch","_ref$bestCount","bestCount","_ref$maxOffsetSize","maxOffsetSize","onClose","onSave","classes","useTheme","isFullScreen","useMediaQuery","breakpoints","down","_usePermissions","usePermissions","PERMISSIONS","companySelectorView","canViewCompanies","_slicedToArray","active","_useState","useState","get","_useState2","assetCompanyId","setAssetCompanyId","_useState4","_useState3","subjectWellId","setSubjectWellId","useGlobalOffsetWellsSync","_useState5","DEFAULT_SETTINGS","filters","_useState6","setFilters","_useState7","radius","_useState8","setRadius","_useState10","_useState9","excludeSideTrack","setExcludeSideTrack","_useState12","_useState11","includeNonEngineeredWells","setIncludeNonEngineeredWells","_useState14","_useState13","metricsKeys","setMetricsKeys","_useState15","sortInfo","_useState16","setSortInfo","_useState18","_useState17","mapHidden","setMapHidden","_useState20","_useState19","selectedWellIds","setSelectedWellIds","useEffect","isRadiusEditable","useMemo","companies","useCompanies","wells","useWells","companyMetricKey","useCompanyMetricKey","prev","filtersOptions","useBidirectionalFiltering","initialFilteredWells","getFilteredWells","filteredWells","getFilteredWellsByNonEngineered","subjectWell","find","well","id","filteredWellsWithCoords","useWellsWithCoords","engineeredWells","filteredWellsByNonEngineered","isExistNonEngineeredWells","length","useRadiusWells","offsetWells","useOffsetWells","_useMetricsData","useMetricsData","_useMetricsData2","isMetricsLoading","filteredWellsWithMetric","sortedFilteredWells","orderBy","key","direction","handleChangeCompany","useCallback","newCompanyId","handleAddOffsetWell","targetId","currentWell","is_usable","uniq","handleDeleteOffsetWell","filter","wellId","handleAddAllOffsetWells","map","handleDeleteAllOffsetWells","handleSetSubjectWell","handleRemoveSubjectWell","handleChangeRadius","newRadius","handleChangeSidetrack","checked","handleChangeNonEngineeredWells","item","includes","handleChangeFilters","newValues","_objectSpread","_defineProperty","handleClearFilters","handleToggleMap","value","handleChangeMetricsKeys","newMetricsKeys","handleSorting","newKey","prevInfo","handleClose","isLoading","_jsxs","Dialog","onBackdropClick","onEscapeKeyDown","maxWidth","fullWidth","fullScreen","open","children","_jsx","DialogTitle","className","Typography","onClick","Tooltip","IconButton","CloseIcon","DialogContent","LoadingIndicator","fullscreen","_Fragment","Filter","onChangeCompany","onSetSubjectWell","onChangeRadius","onChangeSidetrack","onChangeNonEngineeredWells","onChangeFilters","onClearFilters","onToggleMap","WellsMap","onRemoveSubjectWell","onAddOffsetWell","onDeleteOffsetWell","WellsTable","onChangeMetricsKeys","onSorting","onAddAllOffsetWells","onDeleteAllOffsetWells","DialogActions","classnames","Button","style","marginRight","variant","setting","offsetWell","propTypes","PropTypes","bool","isRequired","number","shape","func","string","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OffsetWellPickerDialog.js","sources":["../../../src/components/OffsetWellPickerV2/OffsetWellPickerDialog.js"],"sourcesContent":["import { memo, useState, useCallback, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { uniq, orderBy, get } from 'lodash';\nimport {\n Button,\n IconButton,\n Typography,\n Dialog,\n DialogContent,\n DialogTitle,\n DialogActions,\n Tooltip,\n makeStyles,\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { useTheme } from '@material-ui/core/styles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport classnames from 'classnames';\n\nimport Filter from './components/Filter';\nimport WellsMap from './components/Map';\nimport WellsTable from './components/Table';\nimport {\n useCompanies,\n useCompanyMetricKey,\n useWells,\n useWellsWithCoords,\n useOffsetWells,\n useBidirectionalFiltering,\n useMetricsData,\n useRadiusWells,\n} from './effects';\nimport { getFilteredWells, getFilteredWellsByNonEngineered } from './utils';\nimport { DEFAULT_SETTINGS } from './constants';\n\nimport LoadingIndicator from '~components/LoadingIndicator';\nimport { usePermissions, PERMISSIONS } from '~/permissions';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetsPickerDialog';\n\nconst useStyles = makeStyles(theme => ({\n dialogTitles: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n },\n title: {\n fontSize: 20,\n },\n subTitle: {\n fontSize: 14,\n color: '#03BCD4',\n '&:hover': {\n cursor: 'pointer',\n textDecoration: 'underline',\n },\n },\n subTitleSpace: {\n fontSize: 14,\n color: '#03BCD4',\n },\n titleArea: {\n display: 'flex',\n alignItems: 'center',\n },\n closeIconButton: {\n fontSize: 20,\n padding: 4,\n '&:hover $closeIcon': {\n color: '#fff',\n },\n },\n closeIcon: {\n color: '#BDBDBD',\n },\n dialogActions: {\n justifyContent: 'space-between',\n paddingTop: 8,\n paddingBottom: 8,\n },\n bottomShadow: {\n width: '100%',\n height: '16px',\n backgroundImage: `linear-gradient(180deg, rgba(65, 65, 65, 0) 0%, ${theme.palette.background.b9})`,\n position: 'absolute',\n bottom: '52px',\n zIndex: 2,\n },\n dialogActionsSmallScreen: {\n paddingRight: '100px', // Intercom\n },\n dialogContent: {\n display: 'flex',\n flexDirection: 'column',\n },\n tabs: {\n background: '#414141',\n },\n selectedWells: {\n display: 'flex',\n alignItems: 'center',\n },\n selected: {\n fontSize: 16,\n },\n selectedLabel: {\n fontSize: 12,\n marginLeft: 14,\n color: 'rgba(255, 255, 255, 0.54)',\n },\n selectedNumber: {\n fontSize: 12,\n margin: 4,\n color: 'rgba(255, 255, 255, 0.8)',\n },\n}));\n\nconst OffsetsPickerDialog = ({\n isOpen,\n defaultSubjectWellId = null,\n companyId = null,\n offsetSetting,\n currentUser,\n addWellsUsabilityInfo = null,\n unusableWellAlarm = 'Unable to add',\n isAdvancedSearch = false,\n bestCount = 0,\n maxOffsetSize = 1000,\n onClose,\n onSave,\n}) => {\n const classes = useStyles();\n const theme = useTheme();\n const isFullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n const [{ active: canViewCompanies }] = usePermissions([PERMISSIONS.companySelectorView]);\n\n const [assetCompanyId, setAssetCompanyId] = useState(\n companyId || get(offsetSetting, 'companyId') || +get(currentUser, 'company_id')\n );\n const [subjectWellId, setSubjectWellId] = useState(\n get(offsetSetting, 'subjectWellId') || defaultSubjectWellId\n );\n\n useGlobalOffsetWellsSync(offsetSetting, onSave, maxOffsetSize, subjectWellId);\n const [filters, setFilters] = useState(get(offsetSetting, 'filters') || DEFAULT_SETTINGS.filters);\n const [radius, setRadius] = useState(get(offsetSetting, 'radius') || DEFAULT_SETTINGS.radius);\n const [excludeSideTrack, setExcludeSideTrack] = useState(\n get(offsetSetting, 'excludeSideTrack') || false\n );\n const [includeNonEngineeredWells, setIncludeNonEngineeredWells] = useState(\n get(offsetSetting, 'includeNonEngineeredWells') || false\n );\n const [metricsKeys, setMetricsKeys] = useState([]);\n const [sortInfo, setSortInfo] = useState(DEFAULT_SETTINGS.sortInfo);\n const [mapHidden, setMapHidden] = useState(false);\n const [selectedWellIds, setSelectedWellIds] = useState([]);\n\n useEffect(() => {\n if (isOpen) {\n setSelectedWellIds(get(offsetSetting, 'selectedWellIds') || []);\n setAssetCompanyId(\n companyId || get(offsetSetting, 'companyId') || +get(currentUser, 'company_id')\n );\n setSubjectWellId(get(offsetSetting, 'subjectWellId') || defaultSubjectWellId);\n }\n }, [isOpen, offsetSetting]);\n\n const isRadiusEditable = useMemo(() => {\n return !!subjectWellId;\n }, [subjectWellId]);\n\n // NOTE: Fetch all companies\n const companies = useCompanies(\n canViewCompanies,\n isAdvancedSearch && defaultSubjectWellId,\n assetCompanyId\n );\n\n // NOTE: fetch all wells for the currently selected company\n const wells = useWells(assetCompanyId, addWellsUsabilityInfo);\n\n // Note: fetch company metric key\n const companyMetricKey = useCompanyMetricKey(assetCompanyId);\n\n useEffect(() => {\n setMetricsKeys(prev => {\n return companyMetricKey ? [companyMetricKey] : prev;\n });\n }, [companyMetricKey]);\n\n // NOTE: Get available options for every filters\n const filtersOptions = useBidirectionalFiltering(filters, wells);\n\n // NOTE: Filter wells by target formation, string design, program, basin, county, area\n const initialFilteredWells = useMemo(\n () => getFilteredWells(filters, excludeSideTrack, wells),\n [filters, excludeSideTrack, wells]\n );\n\n const filteredWells = useMemo(\n () => getFilteredWellsByNonEngineered(initialFilteredWells, includeNonEngineeredWells),\n [initialFilteredWells, includeNonEngineeredWells]\n );\n\n // NOTE: get subject well from id\n const subjectWell = useMemo(() => {\n return filteredWells && subjectWellId\n ? filteredWells.find(well => well.id === subjectWellId)\n : null;\n }, [filteredWells, subjectWellId]);\n\n // NOTE: All matched wells regardless of is_usable field\n const filteredWellsWithCoords = useWellsWithCoords(initialFilteredWells, subjectWell);\n\n const engineeredWells = useMemo(\n () => getFilteredWellsByNonEngineered(filteredWellsWithCoords, false),\n [filteredWellsWithCoords]\n );\n const filteredWellsByNonEngineered = includeNonEngineeredWells\n ? filteredWellsWithCoords\n : engineeredWells;\n const isExistNonEngineeredWells =\n filteredWellsWithCoords && filteredWellsWithCoords.length !== engineeredWells.length;\n\n // NOTE: Update selectedWellIds by radius\n useRadiusWells(radius, filteredWellsWithCoords, setSelectedWellIds);\n\n // NOTE: Get offset wells (only usable wells)\n const offsetWells = useOffsetWells(radius, wells, selectedWellIds);\n\n // NOTE: Fetch metrics for all filtered wells\n const [isMetricsLoading, filteredWellsWithMetric] = useMetricsData(\n assetCompanyId,\n filteredWellsByNonEngineered\n );\n\n // NOTE: Sort wells by focused metric\n const sortedFilteredWells = useMemo(() => {\n if (!filteredWellsWithMetric) {\n return filteredWellsWithMetric;\n }\n\n return orderBy(\n filteredWellsWithMetric,\n sortInfo.key,\n sortInfo.direction === 1 ? 'asc' : 'desc'\n );\n }, [sortInfo, filteredWellsWithMetric]);\n\n const handleChangeCompany = useCallback(newCompanyId => {\n setAssetCompanyId(newCompanyId);\n setSubjectWellId(null);\n setSelectedWellIds([]);\n setFilters(DEFAULT_SETTINGS.filters);\n }, []);\n\n const handleAddOffsetWell = useCallback(\n targetId => {\n // Do not allow to add unusuable wells\n const currentWell = filteredWells.find(well => well.id === targetId);\n if (!currentWell || !currentWell.is_usable) {\n return;\n }\n\n setSelectedWellIds(uniq(selectedWellIds.concat(targetId)));\n },\n [selectedWellIds, filteredWells]\n );\n\n const handleDeleteOffsetWell = useCallback(\n targetId => {\n setSelectedWellIds(uniq(selectedWellIds.filter(wellId => wellId !== targetId)));\n },\n [selectedWellIds]\n );\n\n const handleAddAllOffsetWells = useCallback(() => {\n setSelectedWellIds(filteredWells.filter(well => well.is_usable).map(well => well.id));\n }, [filteredWells]);\n\n const handleDeleteAllOffsetWells = useCallback(() => {\n setSelectedWellIds([]);\n }, []);\n\n const handleSetSubjectWell = useCallback(\n targetId => {\n setSelectedWellIds([]);\n setSubjectWellId(targetId);\n },\n [wells]\n );\n\n const handleRemoveSubjectWell = useCallback(() => {\n setSelectedWellIds([]);\n setSubjectWellId(null);\n }, []);\n\n const handleChangeRadius = useCallback(newRadius => {\n setRadius(newRadius);\n }, []);\n\n const handleChangeSidetrack = useCallback(checked => {\n setExcludeSideTrack(checked);\n }, []);\n\n const handleChangeNonEngineeredWells = useCallback(\n checked => {\n if (!checked)\n setSelectedWellIds(prev =>\n prev.filter(item => engineeredWells.map(well => well.id).includes(item))\n );\n setIncludeNonEngineeredWells(checked);\n },\n [engineeredWells]\n );\n\n const handleChangeFilters = useCallback((key, newValues) => {\n setFilters(prev => ({ ...prev, [key]: newValues }));\n setSelectedWellIds([]);\n }, []);\n\n const handleClearFilters = useCallback(() => {\n setFilters({ ...DEFAULT_SETTINGS.filters });\n setSelectedWellIds([]);\n }, []);\n\n const handleToggleMap = useCallback(() => {\n setMapHidden(value => !value);\n }, []);\n\n const handleChangeMetricsKeys = useCallback(newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n }, []);\n\n // NOTE: Use column index to determine which metric is used for sorting\n const handleSorting = useCallback(newKey => {\n setSortInfo(prevInfo => {\n return prevInfo.key === newKey\n ? {\n ...prevInfo,\n direction: prevInfo.direction * -1,\n }\n : {\n key: newKey,\n direction: 1,\n };\n });\n }, []);\n\n const handleClose = () => {\n onClose();\n };\n\n const handleSave = () => {\n const setting = {\n ...offsetSetting,\n companyId: assetCompanyId,\n subjectWellId,\n radius,\n excludeSideTrack,\n includeNonEngineeredWells,\n filters,\n selectedWellIds: uniq(offsetWells.map(offsetWell => offsetWell.id)),\n };\n\n onSave(setting, offsetWells);\n };\n\n const isLoading =\n !wells ||\n !filteredWells ||\n !filteredWellsByNonEngineered ||\n !filteredWellsWithMetric ||\n !offsetWells ||\n !sortedFilteredWells;\n\n return (\n <Dialog\n onBackdropClick={onClose}\n onEscapeKeyDown={onClose}\n maxWidth=\"lg\"\n fullWidth\n fullScreen={isFullScreen}\n open={isOpen}\n >\n <DialogTitle>\n <div className={classes.dialogTitles}>\n {!isAdvancedSearch ? (\n <Typography className={classes.title}>Select Offset Wells</Typography>\n ) : (\n <div className={classes.titleArea}>\n <Typography className={classes.subTitle} onClick={handleClose}>\n Select Offset Wells\n </Typography>\n <Typography className={classes.subTitleSpace}> / </Typography>\n <Typography className={classes.title}>Advanced Search</Typography>\n </div>\n )}\n <Tooltip title=\"Close\">\n <IconButton\n data-not-migrated-muiiconbutton\n aria-label=\"close\"\n className={classes.closeIconButton}\n onClick={onClose}\n >\n <CloseIcon className={classes.closeIcon} />\n </IconButton>\n </Tooltip>\n </div>\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n {!isLoading ? (\n <>\n <Filter\n companyId={assetCompanyId}\n companies={companies}\n canViewCompanies={canViewCompanies}\n radius={radius}\n excludeSideTrack={excludeSideTrack}\n includeNonEngineeredWells={includeNonEngineeredWells}\n wells={filteredWells}\n subjectWell={subjectWell}\n filters={filters}\n filtersOptions={filtersOptions}\n mapHidden={mapHidden}\n isRadiusEditable={isRadiusEditable}\n isExistNonEngineeredWells={isExistNonEngineeredWells}\n onChangeCompany={handleChangeCompany}\n onSetSubjectWell={handleSetSubjectWell}\n onChangeRadius={handleChangeRadius}\n onChangeSidetrack={handleChangeSidetrack}\n onChangeNonEngineeredWells={handleChangeNonEngineeredWells}\n onChangeFilters={handleChangeFilters}\n onClearFilters={handleClearFilters}\n onToggleMap={handleToggleMap}\n />\n <WellsMap\n subjectWell={subjectWell}\n wells={filteredWells}\n offsetWells={offsetWells}\n radius={radius}\n mapHidden={mapHidden}\n onSetSubjectWell={handleSetSubjectWell}\n onRemoveSubjectWell={handleRemoveSubjectWell}\n onAddOffsetWell={handleAddOffsetWell}\n onDeleteOffsetWell={handleDeleteOffsetWell}\n />\n\n <WellsTable\n subjectWell={subjectWell}\n wells={sortedFilteredWells}\n offsetWells={offsetWells}\n metricsKeys={metricsKeys}\n sortInfo={sortInfo}\n isMetricsLoading={isMetricsLoading}\n unusableWellAlarm={unusableWellAlarm}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n onSorting={handleSorting}\n onAddOffsetWell={handleAddOffsetWell}\n onDeleteOffsetWell={handleDeleteOffsetWell}\n onAddAllOffsetWells={handleAddAllOffsetWells}\n onDeleteAllOffsetWells={handleDeleteAllOffsetWells}\n />\n </>\n ) : (\n <LoadingIndicator fullscreen={false} />\n )}\n </DialogContent>\n <div className={classes.bottomShadow} />\n <DialogActions\n className={classnames(classes.dialogActions, {\n [classes.dialogActionsSmallScreen]: isFullScreen,\n })}\n >\n {isAdvancedSearch ? (\n <div className={classes.selectedWells}>\n <Typography className={classes.selected}>Selected:</Typography>\n <Typography className={classes.selectedLabel}>Best:</Typography>\n <Typography className={classes.selectedNumber}>{bestCount}</Typography>\n <Typography className={classes.selectedLabel}>Advanced Search:</Typography>\n <Typography className={classes.selectedNumber}>{offsetWells?.length || 0}</Typography>\n </div>\n ) : (\n <div />\n )}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n onClick={handleClose}\n color=\"primary\"\n style={{ marginRight: 16 }}\n >\n CANCEL\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_add`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n >\n ADD ({offsetWells?.length || 0})\n </Button>\n </div>\n </DialogActions>\n </Dialog>\n );\n};\n\nOffsetsPickerDialog.propTypes = {\n isOpen: PropTypes.bool.isRequired,\n defaultSubjectWellId: PropTypes.number,\n companyId: PropTypes.number,\n offsetSetting: PropTypes.shape({}).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n addWellsUsabilityInfo: PropTypes.func,\n unusableWellAlarm: PropTypes.string,\n isAdvancedSearch: PropTypes.bool,\n bestCount: PropTypes.number,\n maxOffsetSize: PropTypes.number,\n onSave: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default memo(OffsetsPickerDialog);\n"],"names":["useStyles","makeStyles","theme","dialogTitles","display","justifyContent","alignItems","title","fontSize","subTitle","color","cursor","textDecoration","subTitleSpace","titleArea","closeIconButton","padding","closeIcon","dialogActions","paddingTop","paddingBottom","bottomShadow","width","height","backgroundImage","concat","palette","background","b9","position","bottom","zIndex","dialogActionsSmallScreen","paddingRight","dialogContent","flexDirection","tabs","selectedWells","selected","selectedLabel","marginLeft","selectedNumber","margin","OffsetsPickerDialog","_ref","isOpen","_ref$defaultSubjectWe","defaultSubjectWellId","_ref$companyId","companyId","offsetSetting","currentUser","_ref$addWellsUsabilit","addWellsUsabilityInfo","_ref$unusableWellAlar","unusableWellAlarm","_ref$isAdvancedSearch","isAdvancedSearch","_ref$bestCount","bestCount","_ref$maxOffsetSize","maxOffsetSize","onClose","onSave","classes","useTheme","isFullScreen","useMediaQuery","breakpoints","down","_usePermissions","usePermissions","PERMISSIONS","companySelectorView","canViewCompanies","_slicedToArray","active","_useState","useState","get","_useState2","assetCompanyId","setAssetCompanyId","_useState4","_useState3","subjectWellId","setSubjectWellId","useGlobalOffsetWellsSync","_useState5","DEFAULT_SETTINGS","filters","_useState6","setFilters","_useState7","radius","_useState8","setRadius","_useState10","_useState9","excludeSideTrack","setExcludeSideTrack","_useState12","_useState11","includeNonEngineeredWells","setIncludeNonEngineeredWells","_useState14","_useState13","metricsKeys","setMetricsKeys","_useState15","sortInfo","_useState16","setSortInfo","_useState18","_useState17","mapHidden","setMapHidden","_useState20","_useState19","selectedWellIds","setSelectedWellIds","useEffect","isRadiusEditable","useMemo","companies","useCompanies","wells","useWells","companyMetricKey","useCompanyMetricKey","prev","filtersOptions","useBidirectionalFiltering","initialFilteredWells","getFilteredWells","filteredWells","getFilteredWellsByNonEngineered","subjectWell","find","well","id","filteredWellsWithCoords","useWellsWithCoords","engineeredWells","filteredWellsByNonEngineered","isExistNonEngineeredWells","length","useRadiusWells","offsetWells","useOffsetWells","_useMetricsData","useMetricsData","_useMetricsData2","isMetricsLoading","filteredWellsWithMetric","sortedFilteredWells","orderBy","key","direction","handleChangeCompany","useCallback","newCompanyId","handleAddOffsetWell","targetId","currentWell","is_usable","uniq","handleDeleteOffsetWell","filter","wellId","handleAddAllOffsetWells","map","handleDeleteAllOffsetWells","handleSetSubjectWell","handleRemoveSubjectWell","handleChangeRadius","newRadius","handleChangeSidetrack","checked","handleChangeNonEngineeredWells","item","includes","handleChangeFilters","newValues","_objectSpread","_defineProperty","handleClearFilters","handleToggleMap","value","handleChangeMetricsKeys","newMetricsKeys","handleSorting","newKey","prevInfo","handleClose","isLoading","_jsxs","Dialog","onBackdropClick","onEscapeKeyDown","maxWidth","fullWidth","fullScreen","open","children","_jsx","DialogTitle","className","Typography","onClick","Tooltip","IconButton","CloseIcon","DialogContent","LoadingIndicator","fullscreen","_Fragment","Filter","onChangeCompany","onSetSubjectWell","onChangeRadius","onChangeSidetrack","onChangeNonEngineeredWells","onChangeFilters","onClearFilters","onToggleMap","WellsMap","onRemoveSubjectWell","onAddOffsetWell","onDeleteOffsetWell","WellsTable","onChangeMetricsKeys","onSorting","onAddAllOffsetWells","onDeleteAllOffsetWells","DialogActions","classnames","Button","style","marginRight","variant","setting","offsetWell","propTypes","PropTypes","bool","isRequired","number","shape","func","string","memo"],"mappings":"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"}
|