@corva/ui 3.50.0-3 → 3.50.0-5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/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/AdvancedSlider/AdvancedSlider.js +1 -1
- package/cjs-bundle/components/AppIcon/AppIcon.js +1 -1
- package/cjs-bundle/components/AssetNameLabel/AssetNameLabel.js +1 -1
- package/cjs-bundle/components/AssetsMultipleSelector/AssetsMultipleSelector.js +1 -1
- package/cjs-bundle/components/Autocomplete/Autocomplete.js +1 -1
- package/cjs-bundle/components/Avatar/index.js +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/ColorPicker/ColorPicker.js +1 -1
- package/cjs-bundle/components/ColorPickerPalette/ColorPickerPalette.js +1 -1
- package/cjs-bundle/components/CopyToClipboard/CopyToClipboard.js +1 -1
- package/cjs-bundle/components/DatePicker/index.js +1 -1
- package/cjs-bundle/components/DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js +1 -1
- package/cjs-bundle/components/DevCenter/AppSideBar/AppSideBar.js +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/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.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/EChartsWrapper/EChartsWrapper.js +1 -1
- package/cjs-bundle/components/EChartsWrapper/components/Toolbox/Toolbox.js +1 -1
- package/cjs-bundle/components/EChartsWrapper/components/Toolbox/ToolboxButton.js +1 -1
- package/cjs-bundle/components/EditableItem/EditableItem/index.js +1 -1
- package/cjs-bundle/components/EmptyState/EmptyState.js +1 -1
- package/cjs-bundle/components/EmptyView/EmptyAppView/EmptyAppView.js +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/components/FeedComments.js +1 -1
- package/cjs-bundle/components/FeedItem/components/FeedComments.js.map +1 -1
- package/cjs-bundle/components/FilesLoader/FilesLoader.js +1 -1
- package/cjs-bundle/components/FilesLoaderV2/FilesLoaderV2.js +1 -1
- package/cjs-bundle/components/FilesLoaderV2/utils.js +1 -1
- package/cjs-bundle/components/FilesProcessor/Processor.js +1 -1
- package/cjs-bundle/components/Formula/Formula.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js +1 -1
- package/cjs-bundle/components/GradientManager/effects/useGradientStorage.js +1 -1
- package/cjs-bundle/components/GradientPicker/GradientPicker.js +1 -1
- package/cjs-bundle/components/ImageViewer/index.js +1 -1
- package/cjs-bundle/components/ImageViewer/index.js.map +1 -1
- package/cjs-bundle/components/LoadingIndicator/Loader.js +1 -1
- package/cjs-bundle/components/Modal/CorvaModal.js +1 -1
- package/cjs-bundle/components/Modal/DcCorvaModal.js +1 -1
- package/cjs-bundle/components/Notifications/Toast.js +1 -1
- package/cjs-bundle/components/OffsetWellChips/Chip.js +1 -1
- package/cjs-bundle/components/OffsetWellChips/ChipsContainer.js +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/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.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/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/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/AppHeader.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/MultiFilterSelect/MultiFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/StatusFilterSelect/StatusFilterSelect.js +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/LayerSwitcher/LayerSwitcher.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js.map +1 -1
- package/cjs-bundle/components/PadModeSelect/PadModeSelect.js +1 -1
- package/cjs-bundle/components/PadModeSelect/effects/useMenuItems.js +1 -1
- package/cjs-bundle/components/PadModeSelect/utils/resolveCurrentConfig.js +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/Popover/Popover.js +1 -1
- package/cjs-bundle/components/Popper/Popper.js +1 -1
- package/cjs-bundle/components/RangeSlider/RangeSlider.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/RealTimeSidebar.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBox.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxEditDialog.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxList.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarTitle.js +1 -1
- package/cjs-bundle/components/ResizableTable/ResizableTableHeaderCell.js +1 -1
- package/cjs-bundle/components/Search/Search.js +1 -1
- package/cjs-bundle/components/Search/utils/getFormattedOptions.js +1 -1
- package/cjs-bundle/components/StatusBadge/index.js +1 -1
- package/cjs-bundle/components/StatusBadge/utils.js +1 -1
- package/cjs-bundle/components/SwitchControl/index.js +1 -1
- package/cjs-bundle/components/Table/TableCell/TableCell.js +1 -1
- package/cjs-bundle/components/Table/TableToolbar/TableToolbar.js +1 -1
- package/cjs-bundle/components/Tooltip/MuiTooltipDcWrapper.js +1 -1
- package/cjs-bundle/components/TruncatedText/index.js +1 -1
- package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js +1 -1
- package/cjs-bundle/components/VirtualizedTable/index.js +1 -1
- package/cjs-bundle/componentsV2/AppContainer/AppContainer.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/cjs-bundle/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
- package/cjs-bundle/effects/useCombineRefs.js +1 -1
- package/cjs-bundle/effects/useDelayedDcFullscreenElemOpen.js +1 -1
- package/cjs-bundle/effects/useIsAssetViewer.js +1 -1
- package/cjs-bundle/effects/usePadSelectorSelectedWells.js +1 -1
- package/cjs-bundle/effects/useWellnessAlerts.js +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/cjs-bundle/utils/formatFileSize.js +1 -1
- package/cjs-bundle/utils/goalsConfig/utils.js +1 -1
- package/clients/clientStorage/core.d.ts +3 -3
- package/clients/clientStorage/core.d.ts.map +1 -1
- package/clients/jsonApi/index.d.ts +2 -2
- package/clients/sso/index.d.ts +2 -2
- package/clients/sso/index.d.ts.map +1 -1
- package/clients/sso/oauth2.d.ts +1 -1
- package/clients/sso/oauth2.d.ts.map +1 -1
- package/clients/utils.d.ts +2 -2
- package/clients/utils.d.ts.map +1 -1
- package/components/AddComment/Popover.d.ts +4 -4
- package/components/AddComment/Popover.d.ts.map +1 -1
- package/components/AddComment/Popover.js +1 -1
- package/components/AddComment/Popover.js.map +1 -1
- package/components/AddComment/Popup.d.ts +5 -5
- package/components/AddComment/Popup.d.ts.map +1 -1
- package/components/AddComment/components/Content.d.ts +6 -6
- package/components/AddComment/components/Content.d.ts.map +1 -1
- package/components/AddComment/components/Content.js +1 -1
- package/components/AddComment/components/Content.js.map +1 -1
- package/components/AdvancedSlider/AdvancedSlider.d.ts.map +1 -1
- package/components/AdvancedSlider/AdvancedSlider.js +1 -1
- package/components/AnchorsList/AnchorsList.d.ts +3 -3
- package/components/Annotations/components/AnnotationsList/components/AnnotationComments/index.d.ts +10 -1
- package/components/Annotations/components/AnnotationsList/components/AnnotationInput/index.d.ts +33 -7
- package/components/Annotations/components/AnnotationsList/index.d.ts +26 -4
- package/components/AppIcon/AppIcon.d.ts +1 -1
- package/components/AppIcon/AppIcon.d.ts.map +1 -1
- package/components/AppIcon/AppIcon.js +1 -1
- package/components/AppVersionsSelect/AppVersionsSelect.d.ts +4 -4
- package/components/AppVersionsSelect/AppVersionsSelect.d.ts.map +1 -1
- package/components/AppVersionsSelect/effects/index.d.ts +2 -2
- package/components/AssetEditor/AssetEditorAutocomplete.d.ts +52 -18
- package/components/AssetEditor/AssetEditorAutocomplete.d.ts.map +1 -1
- package/components/AssetEditor/SingleAssetEditor.d.ts +25 -10
- package/components/AssetEditor/SingleAssetEditor.d.ts.map +1 -1
- package/components/AssetEditor/effects/index.d.ts +3 -3
- package/components/AssetEditor/index.d.ts +2 -2
- package/components/AssetEditorV2/components/PrimaryAssetSelect.d.ts +2 -2
- package/components/AssetEditorV2/components/PrimaryAssetSelectV2.d.ts +2 -2
- package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts +6 -6
- package/components/AssetEditorV2/effects/index.d.ts +2 -2
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.d.ts +1 -1
- package/components/AssetEditorV2/index.d.ts +10 -10
- package/components/AssetEditorV2/utils/index.d.ts +3 -3
- package/components/AssetEditorV2/utils/index.d.ts.map +1 -1
- package/components/AssetNameLabel/AssetNameLabel.d.ts.map +1 -1
- package/components/AssetNameLabel/AssetNameLabel.js +1 -1
- package/components/AssetNameLabel/AssetStatusBadge.d.ts +1 -1
- package/components/AssetNameLabel/AssetStatusBadge.d.ts.map +1 -1
- package/components/AssetsMultipleSelector/AssetsMultipleSelector.js +1 -1
- package/components/Attachment/index.d.ts +14 -6
- package/components/Attachment/index.d.ts.map +1 -1
- package/components/Autocomplete/Autocomplete.js +1 -1
- package/components/Avatar/index.js +1 -1
- package/components/BICOffsetPickerDialog/components/Map/Map.d.ts +4 -4
- package/components/BICOffsetPickerDialog/components/Map/index.d.ts +3 -3
- package/components/BICOffsetPickerDialog/components/WellSection/AutoCompleteAssetSearch/AssetResultSection.d.ts +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/AutoCompleteAssetSearch/utils/apiCalls.d.ts +2 -2
- package/components/BICOffsetPickerDialog/components/WellSection/AutoCompleteAssetSearch/utils/apiCalls.d.ts.map +1 -1
- package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.d.ts +4 -4
- package/components/BICOffsetPickerDialog/components/WellSection/index.d.ts +2 -2
- package/components/BICOffsetPickerDialog/constants.d.ts +1 -1
- package/components/BICOffsetPickerDialog/effects/index.d.ts +2 -2
- package/components/BICOffsetPickerDialog/effects/index.d.ts.map +1 -1
- package/components/BICOffsetPickerDialog/index.d.ts +2 -2
- package/components/BICOffsetPickerDialog/index.js +1 -1
- package/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/components/Casing/CasingTable/index.d.ts +1 -1
- package/components/Casing/CasingTableV2/CasingTableV2.d.ts +4 -4
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.d.ts +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.d.ts +3 -3
- 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.d.ts +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/Chart/DonutChart/options.d.ts +1 -107
- package/components/Chart/DonutChart/options.d.ts.map +1 -1
- package/components/Chart/components/AxisOverlay.d.ts +1 -1
- package/components/Chart/components/AxisOverlay.d.ts.map +1 -1
- package/components/Chart/components/ChartButtons.d.ts +1 -1
- package/components/Chart/components/ChartWrapper.d.ts +4 -4
- package/components/Chart/components/buttons/ChartTypeButton.d.ts +2 -2
- package/components/Chart/components/buttons/DragToZoomButton.d.ts +2 -2
- package/components/Chart/components/buttons/PanButton.d.ts +2 -2
- package/components/Chart/components/buttons/ResetZoomButton.d.ts +3 -3
- package/components/Chart/components/buttons/ZoomInButton.d.ts +1 -1
- package/components/Chart/components/buttons/ZoomOutButton.d.ts +1 -1
- package/components/Chart/effects/useChartTypeSwitch.d.ts +1 -1
- package/components/Chart/options.d.ts +2 -2
- package/components/Chart/utils.d.ts +1 -1
- package/components/ChartActionsList/ChartActionsList.d.ts +8 -1
- package/components/ChartActionsList/ChartActionsList.d.ts.map +1 -1
- package/components/CollapsableSidebar.d.ts +11 -11
- package/components/CollapsableSidebar.js +1 -1
- package/components/CollapsableSidebar.js.map +1 -1
- package/components/ColorPicker/ColorPicker.d.ts +1 -1
- package/components/ColorPicker/ColorPicker.d.ts.map +1 -1
- package/components/ColorPicker/ColorPicker.js +1 -1
- package/components/ColorPicker/ColorPicketUtils.d.ts +1 -1
- package/components/ColorPicker/ColorPicketUtils.d.ts.map +1 -1
- package/components/ColorPickerPalette/ColorPickerPalette.js +1 -1
- package/components/Comment/index.d.ts +20 -8
- package/components/Comment/index.d.ts.map +1 -1
- package/components/CommentInput/index.d.ts +48 -19
- package/components/CommentInput/index.d.ts.map +1 -1
- package/components/CommentLoader.d.ts +2 -2
- package/components/CommentWrapper.d.ts +16 -4
- package/components/CommentWrapper.d.ts.map +1 -1
- package/components/CommentsInfo/index.d.ts +33 -11
- package/components/CommentsInfo/index.d.ts.map +1 -1
- package/components/ConfirmationDialog.d.ts +21 -9
- package/components/ConfirmationDialog.d.ts.map +1 -1
- package/components/CopyToClipboard/CopyToClipboard.js +1 -1
- package/components/DatePicker/index.js +1 -1
- package/components/DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.d.ts +2 -2
- package/components/DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.d.ts.map +1 -1
- package/components/DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js +1 -1
- package/components/DevCenter/AppHeader/AppHeader.d.ts +19 -19
- package/components/DevCenter/AppHeader/PadMode.d.ts +6 -6
- package/components/DevCenter/AppHeader/PadMode.d.ts.map +1 -1
- package/components/DevCenter/AppHeader/VersionBadge.d.ts +2 -1
- package/components/DevCenter/AppHeader/VersionBadge.d.ts.map +1 -1
- package/components/DevCenter/AppSettingsPopover/AppSettingsPopover.d.ts +5 -5
- package/components/DevCenter/AppSettingsPopover/AppSettingsPopover.d.ts.map +1 -1
- package/components/DevCenter/AppSettingsPopover/AppSettingsPopover.js +1 -1
- package/components/DevCenter/AppSideBar/AppSideBar.d.ts +24 -76
- package/components/DevCenter/AppSideBar/AppSideBar.d.ts.map +1 -1
- package/components/DevCenter/AppSideBar/AppSideBar.js +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts +2 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts +12 -12
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts +4 -4
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts +2 -2
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.d.ts +2 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/RollbarWrapper/RollbarWrapper.d.ts +2 -1
- package/components/DevCenter/DevCenterAppContainer/components/RollbarWrapper/RollbarWrapper.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAppMaximized.d.ts +1 -1
- package/components/DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.d.ts +2 -2
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.d.ts +3 -3
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.d.ts +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/effects/useXProps.d.ts.map +1 -1
- package/components/DevCenter/NavigationBar/NavigationBar.d.ts +1 -1
- package/components/DevCenter/SideBar/SideBar.d.ts +8 -8
- package/components/DocumentViewer/DocumentViewer.d.ts +2 -2
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/BHAComponentsTable.d.ts +4 -4
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Browser.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.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/Browser.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.d.ts +2 -2
- 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.d.ts +4 -4
- 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.d.ts +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.d.ts +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.d.ts +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/Browser.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.d.ts +2 -2
- 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/Lwd/Measurement.d.ts +8 -8
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Measurement.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Browser.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.d.ts +2 -2
- 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/NozzleSize/index.d.ts +8 -8
- package/components/Drillstring/BHAComponentsTable/components/NozzleSize/index.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Browser.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.d.ts +2 -2
- 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/PressureLoss/index.d.ts +8 -8
- package/components/Drillstring/BHAComponentsTable/components/PressureLoss/index.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Browser.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.d.ts +2 -2
- 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.d.ts +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.d.ts +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/Suggestions/AutoCompleteDialog.d.ts +2 -2
- package/components/Drillstring/BHAComponentsTable/components/Suggestions/Suggestions.d.ts +5 -5
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.d.ts +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/Drillstring/BHAComponentsTable/components/shared/FormatedNumber.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/InputText.d.ts +3 -3
- package/components/Drillstring/BHAComponentsTable/components/shared/SelectField.d.ts +3 -3
- package/components/Drillstring/BHAComponentsTable/components/shared/StaticField.d.ts +2 -2
- package/components/Drillstring/BHAComponentsTable/components/sharedStyles.d.ts +1 -1
- package/components/Drillstring/BHAComponentsTable/components/sharedStyles.d.ts.map +1 -1
- package/components/Drillstring/BHAList/BHAList.d.ts +7 -7
- package/components/Drillstring/BHASchematic.d.ts +3 -3
- package/components/Drillstring/BHATable/index.d.ts +1 -1
- package/components/Drillstring/BHATile/BHATile.d.ts +2 -2
- package/components/EChartsWrapper/EChartsWrapper.d.ts.map +1 -1
- package/components/EChartsWrapper/EChartsWrapper.js +1 -1
- package/components/EChartsWrapper/components/Toolbox/Toolbox.js +1 -1
- package/components/EChartsWrapper/components/Toolbox/ToolboxButton.js +1 -1
- package/components/EChartsWrapper/options.d.ts +1 -1
- package/components/EChartsWrapper/options.d.ts.map +1 -1
- package/components/EChartsWrapper/types.d.ts +1 -1
- package/components/EChartsWrapper/types.d.ts.map +1 -1
- package/components/EditableItem/EditableItem/index.js +1 -1
- package/components/EmbeddedApp/DevCenterEmbeddedApp.d.ts +2 -2
- package/components/EmbeddedApp/EmbeddedApp.d.ts +6 -6
- package/components/EmojiIconButton.d.ts +1 -1
- package/components/EmptyState/EmptyState.js +1 -1
- package/components/EmptyView/EmptyAppView/EmptyAppView.js +1 -1
- package/components/ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.d.ts +1 -1
- package/components/FailedFileUploading.d.ts +2 -2
- package/components/FeedItem/FeedItem.d.ts +14 -14
- package/components/FeedItem/FeedItem.d.ts.map +1 -1
- package/components/FeedItem/FeedItem.js +1 -1
- package/components/FeedItem/FeedItem.js.map +1 -1
- package/components/FeedItem/FeedItemEditProvider/FeedItemEditModal.d.ts +7 -7
- package/components/FeedItem/FeedItemEditProvider/FeedItemEditModal.d.ts.map +1 -1
- package/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.d.ts +7 -7
- package/components/FeedItem/FeedItemEditProvider/FeedItemEditProvider.d.ts.map +1 -1
- package/components/FeedItem/components/CompletionDateTimestamp.d.ts +1 -1
- package/components/FeedItem/components/CompletionDateTimestamp.d.ts.map +1 -1
- package/components/FeedItem/components/Content.d.ts +1 -1
- package/components/FeedItem/components/Content.d.ts.map +1 -1
- package/components/FeedItem/components/FeedComments.js +1 -1
- package/components/FeedItem/components/FeedComments.js.map +1 -1
- package/components/FeedItem/feed.fixtures.d.ts +6 -6
- package/components/FeedItem/feedItemTypes/AppAnnotationFeedItem/index.d.ts +3 -3
- package/components/FeedItem/feedItemTypes/BhaFeedItem/components/BhaNumber.d.ts +1 -1
- package/components/FeedItem/feedItemTypes/CompletionNptFeedItem.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/DepthCommentFeedItem.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/DvDCommentFeedItem.d.ts +1 -1
- package/components/FeedItem/feedItemTypes/FluidReportFeedItem.d.ts +4 -4
- package/components/FeedItem/feedItemTypes/GenericDataCommentFeedItem.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/GeosteeringFeedItem.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/HookloadCommentFeedItem.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/NptFeedItem.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/PostFeedItem.d.ts +1 -1
- package/components/FeedItem/feedItemTypes/StageOverviewFeedItem/components/PredictionsItem.d.ts +1 -1
- package/components/FeedItem/feedItemTypes/StageOverviewFeedItem/components/PredictionsItem.d.ts.map +1 -1
- package/components/FeedItem/feedItemTypes/StageOverviewFeedItem/components/Stages/utils.d.ts +2 -2
- package/components/FeedItem/feedItemTypes/SurveyStationFeedItem/components/AccuracyPlan.d.ts +1 -1
- package/components/FeedItem/feedItemTypes/TracesMemoFeedItem.d.ts +4 -4
- package/components/FilePreview/index.d.ts +8 -1
- package/components/FilePreview/index.d.ts.map +1 -1
- package/components/FileTypeIcon.d.ts +1 -1
- package/components/FileUploadIconButton.d.ts +12 -12
- package/components/FilesLoader/FilesLoader.d.ts +4 -4
- package/components/FilesLoader/FilesLoader.js +1 -1
- package/components/FilesLoader/Icons/IconWarning.d.ts +1 -1
- package/components/FilesLoaderV2/FilesLoaderV2.js +1 -1
- package/components/FilesLoaderV2/utils.d.ts +1 -1
- package/components/FilesLoaderV2/utils.d.ts.map +1 -1
- package/components/FilesLoaderV2/utils.js +1 -1
- package/components/FilesProcessor/Processor.js +1 -1
- package/components/FolderMenuItemWithLinks/index.d.ts +3 -3
- package/components/Formula/Formula.js +1 -1
- package/components/Formula/useFormulaFunction.d.ts +1 -1
- package/components/GoogleDocsViewer/index.d.ts +2 -2
- package/components/GradientManager/GradientList.d.ts +4 -4
- package/components/GradientManager/GradientList.d.ts.map +1 -1
- package/components/GradientManager/GradientManager.d.ts.map +1 -1
- package/components/GradientManager/GradientManager.js +1 -1
- package/components/GradientManager/__tests__/pageHelpers.d.ts +6 -6
- package/components/GradientManager/effects/useGradientStorage.js +1 -1
- package/components/GradientPicker/GradientPicker.d.ts.map +1 -1
- package/components/GradientPicker/GradientPicker.js +1 -1
- package/components/GradientPicker/GradientPickerProps.d.ts +1 -1
- package/components/GradientPicker/GradientPickerProps.d.ts.map +1 -1
- package/components/GradientPicker/__tests__/pageHelpers.d.ts +1 -1
- package/components/HeaderLayout/effects/index.d.ts +2 -2
- package/components/HeaderLayout/effects/index.d.ts.map +1 -1
- package/components/IconMenu/index.d.ts +16 -16
- package/components/ImageViewer/index.d.ts +2 -2
- package/components/ImageViewer/index.js +1 -1
- package/components/ImageViewer/index.js.map +1 -1
- package/components/InfiniteList/index.d.ts +6 -6
- package/components/InfiniteList/index.d.ts.map +1 -1
- package/components/LabelsCounter/LabelsCounter.d.ts +2 -2
- package/components/LabelsCounter/LabelsCounter.d.ts.map +1 -1
- package/components/LoadingIndicator/Loader.js +1 -1
- package/components/MiddleTruncate/MiddleTruncate.d.ts +3 -3
- package/components/Modal/CorvaModal.js +1 -1
- package/components/Modal/DcCorvaModal.js +1 -1
- package/components/Notifications/Toast.js +1 -1
- package/components/OffsetWellButton/OffsetWellButton.d.ts +17 -18
- package/components/OffsetWellButton/OffsetWellButton.d.ts.map +1 -1
- package/components/OffsetWellChips/Chip.d.ts +4 -4
- package/components/OffsetWellChips/Chip.js +1 -1
- package/components/OffsetWellChips/ChipsContainer.js +1 -1
- package/components/OffsetWellChips/types.d.ts +2 -2
- package/components/OffsetWellChips/types.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/OffsetWellPickerDialog.d.ts +3 -3
- package/components/OffsetWellPickerV2/components/Filter/MultiSelect.d.ts +2 -2
- package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.d.ts +12 -2
- package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/RadiusInput.d.ts +14 -2
- package/components/OffsetWellPickerV2/components/Filter/RadiusInput.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/SidetrackSwitch.d.ts +12 -2
- package/components/OffsetWellPickerV2/components/Filter/SidetrackSwitch.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/SingleSelect.d.ts +2 -2
- package/components/OffsetWellPickerV2/components/Filter/SubjectWellSearch.d.ts +2 -2
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/index.d.ts +3 -3
- package/components/OffsetWellPickerV2/components/Map/Map.d.ts +5 -5
- package/components/OffsetWellPickerV2/components/Map/index.d.ts +4 -4
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.d.ts +13 -3
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.d.ts.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/components/Table/MetricsSelect.d.ts +14 -2
- package/components/OffsetWellPickerV2/components/Table/MetricsSelect.d.ts.map +1 -1
- package/components/OffsetWellPickerV2/components/Table/WellSearch.d.ts +1 -1
- package/components/OffsetWellPickerV2/effects/index.d.ts +6 -6
- package/components/OffsetWellPickerV2/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/MultiSelect.d.ts +2 -2
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.d.ts +2 -2
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/FormationsLegend.d.ts +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.d.ts +5 -5
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/index.d.ts +4 -4
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.d.ts +6 -2
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.d.ts.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/components/Table/MetricsSelect.d.ts +6 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsSelect.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.d.ts +6 -6
- package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.d.ts +3 -3
- 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.d.ts +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.d.ts +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.d.ts +2 -2
- package/components/OffsetWellPickerV3/constants.d.ts +1 -1
- package/components/OffsetWellPickerV3/effects/index.d.ts +3 -3
- package/components/OffsetWellPickerV3/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV3/index.d.ts +2 -2
- package/components/OffsetWellPickerV3/utils/apiCalls.d.ts +1 -1
- package/components/OffsetWellPickerV3/utils/apiCalls.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/Filter/Filter.d.ts +2 -2
- package/components/OffsetWellPickerV4/components/Filter/MultiSelect.d.ts +6 -6
- package/components/OffsetWellPickerV4/components/Filter/PeriodSelect.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/Filter/SingleSelect.d.ts +2 -2
- package/components/OffsetWellPickerV4/components/Filter/WellSection.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/Map/WellsMap.d.ts +4 -4
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSelect.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.d.ts +6 -6
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.d.ts +3 -3
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.d.ts +5 -5
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/SubjectWellMark.d.ts +1 -1
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/ViewWellSectionsName.d.ts +2 -2
- package/components/OffsetWellPickerV4/components/OffsetWellsTable/ViewWellSectionsName.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useAdvancedWells.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useAdvancedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useBicWells.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useBicWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useCompanies.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useCompanyProvider.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useCompanyProvider.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useFetchWells.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useFetchWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useFilteredWells.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useFilteredWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useSortedWells.d.ts +1 -1
- package/components/OffsetWellPickerV4/effects/useSortedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useTableColumns.d.ts +6 -1
- package/components/OffsetWellPickerV4/effects/useTableColumns.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/utils/apiCalls.d.ts +2 -2
- package/components/OffsetWellPickerV4/utils/apiCalls.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/components/OffsetWellPickerV5/api/assets/fetchAllAssets.d.ts +1 -1
- package/components/OffsetWellPickerV5/api/assets/fetchAllAssets.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/api/bic/resyncIdasWells.d.ts +1 -1
- package/components/OffsetWellPickerV5/api/bic/resyncIdasWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/AppHeader.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/MultiFilterSelect/MultiFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/StatusFilterSelect/StatusFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/GhostSelectionZone/GhostSelectionZone.d.ts +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.d.ts +6 -6
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.d.ts +3 -3
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts +7 -7
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSelect.d.ts +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.d.ts +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricsSettingMenu.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTable.d.ts +6 -6
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableHead.d.ts +3 -3
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/OffsetWellsTableRow.d.ts +5 -5
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/SubjectWellMark.d.ts +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/ViewWellSectionsName.d.ts +2 -2
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/ViewWellSectionsName.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts +1 -1
- package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useBicWells.d.ts +1 -1
- package/components/OffsetWellPickerV5/effects/useBicWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useCompanies.d.ts +1 -1
- package/components/OffsetWellPickerV5/effects/useCompanyProvider.d.ts +1 -1
- package/components/OffsetWellPickerV5/effects/useCompanyProvider.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useSortedWells.d.ts +1 -1
- package/components/OffsetWellPickerV5/effects/useSortedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/effects/useTableColumns.d.ts +7 -1
- package/components/OffsetWellPickerV5/effects/useTableColumns.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/filter-store/FilterStoreContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/filter-store/FilterStoreContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/picker-props-store/PickerPropsStoreContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/selection-tool-store/SelectionToolStoreContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/selection-tool-store/SelectionToolStoreContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/user-settings-store/UserSettingsStoreContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/user-settings-store/UserSettingsStoreContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/view-store/ViewStoreContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/view-store/ViewStoreContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/stores/viewport-store/ViewportStoreContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/stores/viewport-store/ViewportStoreContext.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/viewport/ViewportContext.d.ts +1 -1
- package/components/OffsetWellPickerV5/viewport/ViewportContext.d.ts.map +1 -1
- package/components/PadModeSelect/PadModeSelect.d.ts.map +1 -1
- package/components/PadModeSelect/PadModeSelect.js +1 -1
- package/components/PadModeSelect/effects/useMenuItems.js +1 -1
- package/components/PadModeSelect/effects/useWellStreamActivityTypeSubscription.d.ts.map +1 -1
- package/components/PadModeSelect/effects/useWellStreamsData.d.ts +1 -1
- package/components/PadModeSelect/effects/useWellStreamsData.d.ts.map +1 -1
- package/components/PadModeSelect/utils/resolveCurrentConfig.js +1 -1
- package/components/PadModeSelect/utils/selectMenuKey.d.ts +1 -1
- package/components/PadModeSelect/utils/selectMenuKey.d.ts.map +1 -1
- package/components/PadOffsetsPicker/OffsetAssetChip.d.ts +2 -2
- package/components/PadOffsetsPicker/PadOffsetsPicker.d.ts +2 -2
- package/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/components/ParameterCharts/AddEditTrack.d.ts +40 -7
- package/components/ParameterCharts/AddEditTrack.d.ts.map +1 -1
- package/components/ParameterCharts/DataContext.d.ts +2 -2
- package/components/ParameterCharts/ParameterCharts.d.ts +2 -2
- package/components/ParameterCharts/SettingsContext.d.ts +1 -1
- package/components/ParameterCharts/components/Charts/options.d.ts +1 -1
- package/components/ParameterCharts/components/SingleChannelTrackSettings.d.ts +3 -3
- package/components/ParameterCharts/components/Tooltip/Tooltip.d.ts +2 -2
- package/components/ParameterCharts/components/TraceHeader.d.ts +49 -3
- package/components/ParameterCharts/components/TraceHeader.d.ts.map +1 -1
- package/components/ParameterCharts/components/TraceSelect.d.ts +21 -3
- package/components/ParameterCharts/components/TraceSelect.d.ts.map +1 -1
- package/components/ParameterCharts/components/TraceSettings.d.ts +18 -1
- package/components/ParameterCharts/components/TraceSettings.d.ts.map +1 -1
- package/components/ParameterCharts/constants.d.ts +1 -1
- package/components/PinnableFilters/components/PinAppSwitch.d.ts +5 -1
- package/components/PinnableFilters/components/PinAppSwitch.d.ts.map +1 -1
- package/components/PinnableFilters/effects/index.d.ts +3 -3
- package/components/PinnableFilters/effects/index.d.ts.map +1 -1
- package/components/Popover/Popover.js +1 -1
- package/components/Popper/Popper.js +1 -1
- package/components/PostInput/PostInput.d.ts +5 -5
- package/components/PostPreviewDialog/index.d.ts +27 -12
- package/components/PostPreviewDialog/index.d.ts.map +1 -1
- package/components/RangeSlider/RangeSlider.d.ts.map +1 -1
- package/components/RangeSlider/RangeSlider.js +1 -1
- package/components/RealTimeValuesSidebar/RealTimeSidebar.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/RealTimeSidebar.js +1 -1
- package/components/RealTimeValuesSidebar/RealTimeSidebarContext.d.ts +15 -1
- package/components/RealTimeValuesSidebar/RealTimeSidebarContext.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBox.d.ts +1 -2
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBox.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBox.js +1 -1
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxEditDialog.d.ts +1 -2
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxEditDialog.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxEditDialog.js +1 -1
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxList.d.ts +1 -2
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxList.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/RealTimeValuesBox/RealTimeBoxList.js +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.d.ts +1 -2
- package/components/RealTimeValuesSidebar/SidebarFooter.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/components/RealTimeValuesSidebar/SidebarTitle.d.ts +3 -4
- package/components/RealTimeValuesSidebar/SidebarTitle.d.ts.map +1 -1
- package/components/RealTimeValuesSidebar/SidebarTitle.js +1 -1
- package/components/RealTimeValuesSidebar/types.d.ts +1 -1
- package/components/RealTimeValuesSidebar/types.d.ts.map +1 -1
- package/components/ResizableTable/ResizableTableCell.d.ts +3 -3
- package/components/ResizableTable/ResizableTableCell.d.ts.map +1 -1
- package/components/ResizableTable/ResizableTableHeaderCell.d.ts +3 -3
- package/components/ResizableTable/ResizableTableHeaderCell.d.ts.map +1 -1
- package/components/ResizableTable/ResizableTableHeaderCell.js +1 -1
- package/components/Search/Search.js +1 -1
- package/components/Search/assets/SearchIcon.d.ts +2 -2
- package/components/Search/components/Listbox.d.ts +1 -1
- package/components/Search/components/RecentSearches.d.ts +1 -1
- package/components/Search/components/RecentSearches.d.ts.map +1 -1
- package/components/Search/utils/getFormattedOptions.d.ts +3 -3
- package/components/Search/utils/getFormattedOptions.d.ts.map +1 -1
- package/components/Search/utils/getFormattedOptions.js +1 -1
- package/components/SettingEditors/DropdownEditor/index.d.ts +35 -11
- package/components/SettingEditors/DropdownEditor/index.d.ts.map +1 -1
- package/components/SlateFormattedText/Elements/ImageElement/ImageElement.d.ts +2 -2
- package/components/SlateFormattedText/Elements/VideoElement/VideoElement.d.ts +1 -1
- package/components/SlateFormattedText/Elements/VideoElement/VideoElement.d.ts.map +1 -1
- package/components/SlateFormattedText/SlateFormattedText.d.ts +3 -3
- package/components/SlateFormattedText/utils.d.ts +2 -2
- package/components/StageDesignVActual/ComparisonBar/ComparisonBar.d.ts +2 -2
- package/components/StageDesignVActual/ComparisonBar/utils.d.ts +2 -2
- package/components/StageDesignVActual/ComparisonHeader.d.ts +3 -3
- package/components/StageDesignVActual/ComparisonRow.d.ts +2 -2
- package/components/StageDesignVActual/ElementsComparison/ElementsComparison.d.ts +3 -3
- package/components/StageDesignVActual/ElementsComparison/utils.d.ts +1 -1
- package/components/StatusBadge/components/DQUnvalidatedContent.d.ts +3 -3
- package/components/StatusBadge/components/DQUnvalidatedContent.d.ts.map +1 -1
- package/components/StatusBadge/index.d.ts +2 -2
- package/components/StatusBadge/index.d.ts.map +1 -1
- package/components/StatusBadge/index.js +1 -1
- package/components/StatusBadge/types.d.ts +6 -6
- package/components/StatusBadge/types.d.ts.map +1 -1
- package/components/StatusBadge/utils.d.ts +1 -22
- package/components/StatusBadge/utils.d.ts.map +1 -1
- package/components/StatusBadge/utils.js +1 -1
- package/components/Stepper/Step/styles.d.ts +1 -1
- package/components/SwitchControl/index.js +1 -1
- package/components/Table/TableCell/TableCell.js +1 -1
- package/components/Table/TableToolbar/TableToolbar.js +1 -1
- package/components/Template/TemplatePopover/index.d.ts +3 -3
- package/components/Template/TemplateSharingDialog/ChipSelector.d.ts +47 -15
- package/components/Template/TemplateSharingDialog/ChipSelector.d.ts.map +1 -1
- package/components/Template/TemplateSharingDialog/UsersChipSelector.d.ts +3 -3
- package/components/Template/TemplateSharingDialog/index.d.ts +1 -1
- package/components/TextField/effects/index.d.ts +2 -2
- package/components/Toaster/ToastContainer.d.ts +1 -1
- package/components/Toaster/ToastContainer.d.ts.map +1 -1
- package/components/Toaster/types.d.ts +1 -1
- package/components/Toaster/types.d.ts.map +1 -1
- package/components/Tooltip/MuiTooltipDcWrapper.d.ts.map +1 -1
- package/components/Tooltip/MuiTooltipDcWrapper.js +1 -1
- package/components/TracesEditModal/TracesEditModal.d.ts +7 -7
- package/components/TracesEditModal/TracesEditModalContainer.d.ts +3 -3
- package/components/TruncatedText/index.d.ts +1 -1
- package/components/TruncatedText/index.d.ts.map +1 -1
- package/components/TruncatedText/index.js +1 -1
- package/components/Typography.d.ts +9 -9
- package/components/UserCardPopover.d.ts +12 -3
- package/components/UserCardPopover.d.ts.map +1 -1
- package/components/UserMention/utils/index.d.ts +1 -1
- package/components/UserMention/utils/index.d.ts.map +1 -1
- package/components/VirtualizedTable/DraggableList.d.ts +1 -1
- package/components/VirtualizedTable/VirtualizedTable.d.ts +8 -3
- package/components/VirtualizedTable/VirtualizedTable.d.ts.map +1 -1
- package/components/VirtualizedTable/VirtualizedTable.js +1 -1
- package/components/VirtualizedTable/index.js +1 -1
- package/components/WellSummary/ActivitySummaryChart.d.ts +2 -2
- package/components/WellSummary/FracWirelineTimeChart.d.ts +2 -2
- package/components/WellSummary/WellSummaryItemValue.d.ts +1 -1
- package/components/WellSummary/WellSummaryItemValue.d.ts.map +1 -1
- package/components/WellSummary/effects/useWellSummaryData.d.ts +1 -1
- package/components/WellSummary/effects/useWellSummaryData.d.ts.map +1 -1
- package/components/shared/__tests__/createTestHook.d.ts +1 -1
- package/components/shared/__tests__/createTestHook.d.ts.map +1 -1
- package/components/shared/useThrottledCallback.d.ts +1 -1
- package/components/shared/useThrottledCallback.d.ts.map +1 -1
- package/componentsV2/AppCommonsProvider/utils.d.ts +19 -19
- package/componentsV2/AppContainer/AppContainer.d.ts.map +1 -1
- package/componentsV2/AppContainer/AppContainer.js +1 -1
- package/componentsV2/AppFooter/DqPopover/DqPopover.d.ts +1 -1
- package/componentsV2/AppFooter/DqPopover/DqPopover.d.ts.map +1 -1
- package/componentsV2/AppHeader/AppBadge/AppBadge.d.ts +1 -1
- package/componentsV2/AppHeader/AppBadge/AppBadge.d.ts.map +1 -1
- package/componentsV2/AppHeader/PadMode/PadMode.d.ts +1 -1
- package/componentsV2/AppHeader/PadMode/PadMode.d.ts.map +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.d.ts.map +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js +1 -1
- package/componentsV2/AppHeader/V3/AssetChips/AssetChips.d.ts +1 -1
- package/componentsV2/AppHeader/V3/AssetChips/AssetChips.d.ts.map +1 -1
- package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.d.ts +1 -1
- package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.d.ts.map +1 -1
- package/componentsV2/AppSizeProvider/AppSizeProvider.d.ts +2 -8
- package/componentsV2/AppSizeProvider/AppSizeProvider.d.ts.map +1 -1
- package/componentsV2/Autocomplete/AutocompleteListBox.d.ts +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/componentsV2/DatePicker/utils.d.ts +2 -2
- package/componentsV2/DatePicker/utils.d.ts.map +1 -1
- package/componentsV2/FileIcon/constants.d.ts +1 -1
- package/componentsV2/FileIcon/icons/ArchiveFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/CSVFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/DocFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/EDMFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/ExcelFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/ImageFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/JsonFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/LasFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/OtherFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/PdfFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/PowerPointFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/TxtFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/UnknownFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/VideoFileIcon.d.ts +1 -1
- package/componentsV2/FileIcon/icons/XmlFileIcon.d.ts +1 -1
- package/componentsV2/FilesLoader/utils.d.ts +1 -1
- package/componentsV2/FilesLoader/utils.d.ts.map +1 -1
- package/componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.d.ts +1 -1
- package/componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/FolderMenu/FolderMenu.d.ts +1 -1
- package/componentsV2/TemplatesControl/FolderMenu/FolderMenu.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/Popover/Popover.d.ts +1 -1
- package/componentsV2/TemplatesControl/Popover/Popover.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/Store/Store.d.ts +46 -46
- package/componentsV2/TemplatesControl/Store/Store.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useSelectTemplate.d.ts +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useSelectTemplate.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateIcon.d.ts +1 -1
- package/componentsV2/TemplatesControl/Store/hooks/useUpdateTemplateIcon.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/Store/utils.d.ts +6 -6
- package/componentsV2/TemplatesControl/Store/utils.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/TemplateMenu/MenuHeader/MenuHeader.d.ts +1 -1
- package/componentsV2/TemplatesControl/TemplateMenu/MenuHeader/MenuHeader.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/TemplateMenu/TemplateMenu.d.ts +1 -1
- package/componentsV2/TemplatesControl/TemplateMenu/TemplateMenu.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/TemplatesControl.d.ts +2 -2
- package/componentsV2/TemplatesControl/TemplatesTreeFolder/TemplatesTreeFolder.d.ts +1 -1
- package/componentsV2/TemplatesControl/TemplatesTreeFolder/TemplatesTreeFolder.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/Toggle/Toggle.d.ts +1 -1
- package/componentsV2/TemplatesControl/Toggle/Toggle.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/MoveTemplateOutOfFolder.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/MoveTemplateOutOfFolder.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/MoveTemplateToFolder.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/MoveTemplateToFolder.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/PublishTemplate.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/PublishTemplate.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/RemoveTemplate.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/RemoveTemplate.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/RevertTemplate.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/RevertTemplate.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/ShareTemplate.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/ShareTemplate.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/UnfollowTemplate.d.ts +1 -1
- package/componentsV2/TemplatesControl/templateMenuItems/UnfollowTemplate.d.ts.map +1 -1
- package/componentsV2/TemplatesControl/utils.d.ts +4 -4
- package/componentsV2/TemplatesControl/utils.d.ts.map +1 -1
- package/componentsV2/TextInput/useShrink.d.ts +1 -1
- package/componentsV2/WellArchivedMessage/WellArchivedMessage.d.ts +1 -1
- package/componentsV2/WellArchivedMessage/WellArchivedMessage.d.ts.map +1 -1
- package/componentsV2/WellArchivedMessage/WellArchivedMessage.js +1 -1
- package/componentsV2/utils.d.ts +2 -2
- package/componentsV2/utils.d.ts.map +1 -1
- package/config/highcharts/highcharts.d.ts +1 -1
- package/config/theme/lightThemePalette.d.mts +5 -5
- package/config/theme/themeVariables.d.mts +4 -4
- package/constants/alerts.d.ts +1 -1
- package/constants/alerts.d.ts.map +1 -1
- package/constants/bha.d.ts +6 -6
- package/constants/feed.d.ts +13 -1
- package/constants/feed.d.ts.map +1 -1
- package/constants/streams.d.ts +7 -0
- package/constants/streams.d.ts.map +1 -1
- package/constants/wellSummary.d.ts +4 -4
- package/effects/useCombineRefs.js +1 -1
- package/effects/useDelayedDcFullscreenElemOpen.d.ts.map +1 -1
- package/effects/useDelayedDcFullscreenElemOpen.js +1 -1
- package/effects/useIsAssetViewer.js +1 -1
- package/effects/useLoadedData.d.ts +7 -7
- package/effects/useMatchAppContainerSize.d.ts +1 -1
- package/effects/useMatchAppContainerSize.d.ts.map +1 -1
- package/effects/usePadSelectorSelectedWells.js +1 -1
- package/effects/useResizeObserver.d.ts +1 -1
- package/effects/useWellnessAlerts.d.ts +2 -22
- package/effects/useWellnessAlerts.d.ts.map +1 -1
- package/effects/useWellnessAlerts.js +1 -1
- package/hocs/withMUIProvidersHOC.d.ts +1 -1
- package/mcp-server/server.mjs +52 -4
- package/mcp-server/server.mjs.map +1 -1
- package/package.json +1 -1
- package/storyBookHelpers/utils.d.ts +3 -3
- package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/utils/DrillstringUtils.d.ts +3 -3
- package/utils/DrillstringUtils.d.ts.map +1 -1
- package/utils/FluidCheckUtils.d.ts +3 -3
- package/utils/FluidCheckUtils.d.ts.map +1 -1
- package/utils/alerts.d.ts +1 -1
- package/utils/alerts.d.ts.map +1 -1
- package/utils/charts/getChartVerticalAxis.d.ts +1 -1
- package/utils/convert.d.ts +1 -1
- package/utils/convert.d.ts.map +1 -1
- package/utils/csvExport.d.ts +1 -1
- package/utils/csvExport.d.ts.map +1 -1
- package/utils/dashboardReports.d.ts +1 -1
- package/utils/dashboardReports.d.ts.map +1 -1
- package/utils/devcenter.d.ts +1 -1
- package/utils/devcenter.d.ts.map +1 -1
- package/utils/drillstring/validation.d.ts +40 -40
- package/utils/drillstring/validation.d.ts.map +1 -1
- package/utils/formatFileSize.d.ts.map +1 -1
- package/utils/formatFileSize.js +1 -1
- package/utils/formatting.d.ts +1 -1
- package/utils/formatting.d.ts.map +1 -1
- package/utils/getSingleAsset.d.ts +15 -15
- package/utils/getSingleAsset.d.ts.map +1 -1
- package/utils/goalsConfig/utils.d.ts +2 -2
- package/utils/goalsConfig/utils.d.ts.map +1 -1
- package/utils/goalsConfig/utils.js +1 -1
- package/utils/index.d.ts +1 -1
- package/utils/lasParser.d.ts +3 -3
- package/utils/metrics/metricsConfig.d.ts +7 -7
- package/utils/notifications.d.ts +1 -1
- package/utils/notifications.d.ts.map +1 -1
- package/utils/torqueAndHookloadUtils.d.ts +1 -1
- package/cjs-bundle/componentsV2/AppContainer/headerCommon.scss.js +0 -2
- package/cjs-bundle/componentsV2/AppContainer/headerCommon.scss.js.map +0 -1
- package/componentsV2/AppContainer/headerCommon.scss.js +0 -2
- package/componentsV2/AppContainer/headerCommon.scss.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"sourcesContent":["import { useState, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { Replay as ReplayIcon } from '@material-ui/icons';\nimport { Table, TableHead } from '@material-ui/core';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n usePinnedWells,\n useSearchedWells,\n useTileLoading,\n useInitialBounds,\n} from './effects';\nimport { useViewportWells } from './effects/useViewportWells';\nimport { useAllWells } from './effects/useAllWells';\nimport { useViewportStore } from './stores/viewport-store';\nimport { areWellMapsEqual } from './stores/viewport-store/utils/areWellMapsEqual';\nimport { useCompanySafeguard } from './stores/company-safeguard';\nimport { useFetchSubjectWell } from './effects/useFetchSubjectWell';\nimport { AppHeader } from './components/AppHeader';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport { OffsetWellsTableHead } from './components/OffsetWellsTable/OffsetWellsTableHead';\nimport { AdvancedSearch } from './components/OffsetWellsTable/AdvancedSearch';\nimport {\n ALL_SECTION_KEY,\n COMPANY_PROVIDERS_FOR_IDAS,\n FilterType,\n ROWS_PER_PAGE,\n RESYNC_STATUS,\n DEFAULT_RADIUS_MILES,\n StatusOptions,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells } from './utils';\nimport { getIsImperial } from './utils/getIsImperial';\nimport { doesWellPassFilters, EXCLUDE_RIG_NAME_FILTER } from './utils/doesWellPassFilters';\nimport { getSortedIdsSignature } from './utils/getSortedIdsSignature';\nimport { usePickerPropsStore } from './stores/picker-props-store/usePickerPropsStore';\nimport { useFilterStore } from './stores/filter-store/useFilterStore';\nimport { useViewStore } from './stores/view-store/useViewStore';\nimport { useSelectionToolStore } from './stores/selection-tool-store';\nimport { normalizeFilters } from './stores/filter-store/utils/normalizeFilters';\nimport { fetchWellsByRigIds } from './api';\nimport { useViewType } from './viewport';\n\nimport styles from './OffsetWellPickerV5.module.css';\nimport offsetTableStyles from './components/OffsetWellsTable/OffsetWellsTable.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { typography } from '~/styles';\nimport { LoadingIndicator } from '~/components';\nimport { Button, LoaderCircular, Modal, Tooltip } from '~/componentsV2';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV5';\n\nconst AllWellsEffect = () => {\n useAllWells();\n return null;\n};\n\nexport const OffsetWellPickerV5 = () => {\n const { isMobile } = useViewType();\n const open = usePickerPropsStore(state => state.open);\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const defaultSubjectWell = usePickerPropsStore(state => state.defaultSubjectWell);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const offsetSettings = usePickerPropsStore(state => state.offsetSettings);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const onClose = usePickerPropsStore(state => state.onClose);\n const onSave = usePickerPropsStore(state => state.onSave);\n const offsetSize = usePickerPropsStore(state => state.maxOffsetSize);\n const localMaxOffsetSize = usePickerPropsStore(state => state.localMaxOffsetSize);\n const syncAutoEnabled = usePickerPropsStore(state => state.syncAutoEnabled);\n\n const [activeWellId, setActiveWellId] = useState(null);\n const wellsMapRef = useRef(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1);\n const maxOffsetWellNumber = Math.max(maxOffsetSize, localMaxOffsetSize + 1);\n\n const subjectWellId = defaultSubjectWell?.asset_id;\n\n // Fetch complete subject well data with coordinates\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n // Derive coordinates for initial bounds calculation (used when map is hidden)\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n\n if (!coords) {\n return null;\n }\n\n const [latitude, longitude] = coords;\n\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const isFilterExpanded = useViewStore(state => state.isFilterExpanded);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const isHScrollMoved = useViewStore(state => state.isHScrollMoved);\n const setIsHScrollMoved = useViewStore(state => state.setIsHScrollMoved);\n const isVScrollMoved = useViewStore(state => state.isVScrollMoved);\n const setIsVScrollMoved = useViewStore(state => state.setIsVScrollMoved);\n const isAdvancedSearchHidden = useViewStore(state => state.isAdvancedSearchHidden);\n const setIsAdvancedSearchHidden = useViewStore(state => state.setIsAdvancedSearchHidden);\n const isLoadAllWells = usePickerPropsStore(state => state.isLoadAllWells);\n const resetIsLoadAllWells = usePickerPropsStore(state => state.resetIsLoadAllWells);\n const shouldRecenter = usePickerPropsStore(state => state.shouldRecenter);\n const setShouldRecenter = usePickerPropsStore(state => state.setShouldRecenter);\n\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const filters = useFilterStore(state => state.filters);\n const lastFilterMutationSource = useFilterStore(state => state.lastFilterMutationSource);\n const filterMutationSeq = useFilterStore(state => state.filterMutationSeq);\n const setFilters = useFilterStore(state => state.setFilters);\n const resetFilters = useFilterStore(state => state.resetFilters);\n const resetSelectionTool = useSelectionToolStore(state => state.reset);\n\n // ViewportStore hooks for tile-based fetching\n const viewportWells = useViewportStore(state => state.wells, areWellMapsEqual);\n const viewportBounds = useViewportStore(state => state.bounds);\n\n const { companies, canViewCompanies, resetSafeguard } = useCompanySafeguard();\n const [selectedWells, setSelectedWells] = useState([]);\n const hasUserSelectionEditsRef = useRef(false);\n const lastAppliedExternalSelectionSignatureRef = useRef(null);\n const lastMissingFetchAttemptKeyRef = useRef(null);\n const reconcileRunIdRef = useRef(0);\n const [currentSelectionZone, setCurrentSelectionZone] = useState(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n const lastHandledFilterMutationSeq = useRef(filterMutationSeq);\n\n // Prune selected wells only for manual filter updates while the modal is open.\n useEffect(() => {\n if (lastHandledFilterMutationSeq.current === filterMutationSeq) {\n return;\n }\n lastHandledFilterMutationSeq.current = filterMutationSeq;\n\n if (!open || !filters || lastFilterMutationSource !== 'manual_ui') return;\n\n setSelectedWells(prev => {\n const nextSelected = prev.filter(\n w => w.id === subjectWellId || doesWellPassFilters(w, filters)\n );\n\n if (nextSelected.length === prev.length) {\n return prev;\n }\n\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n return nextSelected;\n });\n }, [filterMutationSeq, lastFilterMutationSource, open, filters, subjectWellId]);\n\n // Track wells being selected via search that need to wait for enrichment\n const pendingSearchSelectionRef = useRef(new Set());\n\n // Track asset IDs currently being fetched (for loading spinner in search dropdown)\n const [loadingAssetIds, setLoadingAssetIds] = useState([]);\n\n // Track if save is waiting for pending wells to be enriched\n const [isSavePending, setIsSavePending] = useState(false);\n\n // Start viewport-based tile fetching (fetches all companies, filtered client-side)\n // Disabled when all-wells mode is active\n useViewportWells(!isLoadAllWells);\n // Set initial bounds for data loading when map is hidden\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open,\n ghostZone: currentSelectionZone,\n });\n const isTileLoading = useTileLoading();\n\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n }, [isLimitedOffsetWells, open, maxOffsetWellNumber]);\n\n // NOTE: Wells are now fetched via viewport-based tile fetching (useViewportWells)\n // Convert viewport wells Map to array\n const rawWells = useMemo(() => {\n return Array.from(viewportWells.values());\n }, [viewportWells]);\n\n // Loading state: show loader when tiles are being fetched OR when still initializing (no bounds yet)\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n // NOTE: Fetch pinned wells independently of radius\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n\n // NOTE: Fetch wells selected via search that are outside current bounds\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n const externalSelectedWellIds = useMemo(\n () => offsetSettings?.selectedWellIds || [],\n [offsetSettings?.selectedWellIds]\n );\n const externalSelectedWellIdsSignature = useMemo(\n () => getSortedIdsSignature(externalSelectedWellIds),\n [externalSelectedWellIds]\n );\n\n // NOTE: Ensure subject well, pinned wells and searched wells are always in rawWells for enrichment pipeline\n const rawWellsWithSubject = useMemo(() => {\n if (!rawWells) {\n return null;\n }\n\n let result = rawWells;\n\n if (pinnedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingPinned = pinnedWells.filter(w => !existingIds.has(w.id));\n\n if (missingPinned.length > 0) {\n result = result.concat(missingPinned);\n }\n }\n\n // Merge searched wells (wells added via search that are outside bounds)\n if (searchedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingSearched = searchedWells.filter(w => !existingIds.has(w.id));\n\n if (missingSearched.length > 0) {\n result = result.concat(missingSearched);\n }\n }\n\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [rawWells, fetchedSubjectWell, pinnedWells, searchedWells]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawBicWells,\n ] = useBicWells(subjectWellId, rawWellsWithSubject);\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) {\n return false;\n }\n\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n // TODO: Check reference stability. Initially had only subjectWellId.\n }, [setBicWells, setWellSections, subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(rawWellsWithSubject, wellSections, bicWells, subjectWellId, metricsKeys, open);\n\n // Use wells with metrics when available, fall back to transformed wells for immediate display\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n // NOTE: Add company names to wells for display\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n return wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[well.companyId] || 'Null',\n }));\n }, [wellsWithoutCompanyName, companies]);\n\n // NOTE: Derive enriched subject well from the enrichment pipeline (includes company name)\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) {\n return null;\n }\n\n if (!wells) {\n return fetchedSubjectWell;\n }\n\n const enrichedSubjectWell = wells.find(w => w.id === fetchedSubjectWell.id);\n\n return enrichedSubjectWell || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const isAllWellsLoaded =\n !areRawWellsLoading &&\n !areAdvancedWellsLoading &&\n !arePinnedWellsLoading &&\n !areSearchedWellsLoading;\n\n const reconcileSelectedWellsFromSettings = useCallback(\n async runId => {\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) {\n return false;\n }\n\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n let missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n\n if (missingIds.length > 0) {\n const fetchAttemptKey = `${externalSelectedWellIdsSignature}|${getSortedIdsSignature(\n missingIds\n )}`;\n\n if (lastMissingFetchAttemptKeyRef.current !== fetchAttemptKey) {\n lastMissingFetchAttemptKeyRef.current = fetchAttemptKey;\n\n const fetchedWells = await fetchSearchedWells(missingIds);\n fetchedWells.forEach(well => wellsMap.set(well.id, well));\n }\n\n missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n }\n\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) {\n return false;\n }\n\n const selectedIdsSet = new Set(externalSelectedWellIds);\n const resolvedWells = externalSelectedWellIds\n .map(id => wellsMap.get(id))\n .filter(well => well !== undefined);\n\n const resolvedIdsSet = new Set(resolvedWells.map(well => well.id));\n\n setSelectedWells(prev => {\n const preserved = prev.filter(\n well => selectedIdsSet.has(well.id) && !resolvedIdsSet.has(well.id)\n );\n\n let nextWells = resolvedWells.concat(preserved);\n\n if (subjectWell) {\n nextWells = nextWells.concat(subjectWell);\n }\n\n const deduped = uniqBy(nextWells, 'id');\n const dedupedIdsSet = new Set(deduped.map(well => well.id));\n\n const isSameSelection =\n prev.length === dedupedIdsSet.size && prev.every(well => dedupedIdsSet.has(well.id));\n\n return isSameSelection ? prev : deduped;\n });\n\n return missingIds.length === 0;\n },\n [\n externalSelectedWellIds,\n externalSelectedWellIdsSignature,\n fetchSearchedWells,\n subjectWell,\n wells,\n ]\n );\n\n useEffect(() => {\n if (!open) {\n hasUserSelectionEditsRef.current = false;\n lastAppliedExternalSelectionSignatureRef.current = null;\n lastMissingFetchAttemptKeyRef.current = null;\n reconcileRunIdRef.current += 1;\n return undefined;\n }\n\n if (\n !isAllWellsLoaded ||\n hasUserSelectionEditsRef.current ||\n lastAppliedExternalSelectionSignatureRef.current === externalSelectedWellIdsSignature\n ) {\n return undefined;\n }\n\n const runId = reconcileRunIdRef.current + 1;\n reconcileRunIdRef.current = runId;\n let isCancelled = false;\n\n const runReconciliation = async () => {\n try {\n const isResolved = await reconcileSelectedWellsFromSettings(runId);\n\n if (isCancelled || reconcileRunIdRef.current !== runId) {\n return;\n }\n\n if (isResolved) {\n lastAppliedExternalSelectionSignatureRef.current = externalSelectedWellIdsSignature;\n }\n } catch (error) {\n console.error('Failed to reconcile selected wells from offset settings:', error);\n }\n };\n\n runReconciliation();\n\n return () => {\n isCancelled = true;\n };\n }, [\n open,\n isAllWellsLoaded,\n externalSelectedWellIdsSignature,\n reconcileSelectedWellsFromSettings,\n ]);\n\n useEffect(() => {\n if (!isAllWellsLoaded) {\n return;\n }\n\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n\n let offsetWellsChanged = true;\n\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const bicWellIdsSet = new Set(bicWellIds);\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIdsSet.has(wellId)\n );\n\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n const selectedWellIds = wellsByDistance\n .slice(0, localMaxOffsetSize + 1)\n .map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const selectedWellIdsSet = new Set(selectedWellIds);\n const offsetWells = wellsByDistance.filter(well => selectedWellIdsSet.has(well.id));\n\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n // TODO: Check reference stability. Initially had only offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled\n }, [\n offsetSettings,\n bicWells,\n subjectWellId,\n maxOffsetWellNumber,\n syncAutoEnabled,\n isAllWellsLoaded,\n appLoading,\n maxOffsetSize,\n localMaxOffsetSize,\n onSave,\n ]);\n\n const filterOptions = useFilterOptions(wells, companies, canViewCompanies);\n useEffect(() => {\n if (!open || !isAllWellsLoaded || !filters) {\n return;\n }\n\n const availableValuesByFilter = new Map();\n\n filterOptions.forEach(({ value, options }) => {\n if (!Array.isArray(options)) {\n availableValuesByFilter.set(value, new Set());\n return;\n }\n\n const extractedValues =\n value === FilterType.company\n ? options.map(opt => (opt && typeof opt === 'object' ? opt.id : opt))\n : options;\n\n availableValuesByFilter.set(value, new Set(extractedValues.filter(v => v != null)));\n });\n\n availableValuesByFilter.set(FilterType.status, new Set(StatusOptions.map(opt => opt.value)));\n\n let hasChanges = false;\n const nextFilters = { ...filters };\n\n availableValuesByFilter.forEach((availableValues, key) => {\n const selectedValues = filters[key];\n\n if (!Array.isArray(selectedValues) || selectedValues.length === 0) {\n return;\n }\n\n // Skip validation when options data hasn't loaded yet\n // (e.g. company filter before companies API response arrives)\n if (availableValues.size === 0) {\n return;\n }\n\n const validValues = selectedValues.filter(value => availableValues.has(value));\n\n if (validValues.length === selectedValues.length) {\n return;\n }\n\n hasChanges = true;\n\n if (validValues.length > 0) {\n nextFilters[key] = validValues;\n } else if (key === FilterType.company && isLoadAllWells) {\n nextFilters[key] = [];\n } else {\n delete nextFilters[key];\n }\n });\n\n if (hasChanges) {\n setFilters(nextFilters, 'system');\n }\n }, [open, isAllWellsLoaded, filters, filterOptions, isLoadAllWells, setFilters]);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible\n );\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n const filteredWellIdsSet = useMemo(() => {\n if (!filteredWells) return null;\n return new Set(filteredWells.map(w => w.id));\n }, [filteredWells]);\n\n const selectedWellsWithFreshData = useMemo(() => {\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n return selectedWells.map(w => wellsMap.get(w.id) || w);\n }, [selectedWells, wells]);\n\n // Deduplicated total count (wells array may contain duplicates from merged sources)\n const uniqueWellsCount = useMemo(() => {\n if (!wells) return 0;\n return uniqBy(wells, 'id').length;\n }, [wells]);\n\n // NOTE: Include selected wells and BIC wells that pass filters\n const wellsToDisplay = useMemo(() => {\n if (!filteredWells) {\n return filteredWells;\n }\n\n // Create map of fresh well data from wells (includes ALL enriched wells:\n // - Wells in viewport from useViewportWells\n // - Pinned wells outside viewport from usePinnedWells\n // - Searched wells outside viewport from useSearchedWells)\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n // Include BIC wells that pass filters so they remain visible after reset even when unselected\n const bicWellIds = rawBicWells?.[selectedWellSection] || [];\n const bicWellsToShow = bicWellIds\n .map(id => wellsMap.get(id))\n .filter(w => w !== undefined && (!filteredWellIdsSet || filteredWellIdsSet.has(w.id)));\n\n return uniqBy(selectedWellsWithFreshData.concat(bicWellsToShow).concat(filteredWells), 'id');\n }, [\n filteredWells,\n selectedWellsWithFreshData,\n wells,\n rawBicWells,\n selectedWellSection,\n filteredWellIdsSet,\n ]);\n\n // NOTE: Add pending search selections once wells are enriched\n useEffect(() => {\n if (!wells?.length || pendingSearchSelectionRef.current.size === 0) {\n return;\n }\n\n const pendingIds = pendingSearchSelectionRef.current;\n const enrichedWells = wells.filter(w => pendingIds.has(w.id));\n\n if (enrichedWells.length === 0) return;\n\n const enrichedIdSet = new Set(enrichedWells.map(w => w.id));\n setLoadingAssetIds(prev => prev.filter(id => !enrichedIdSet.has(id)));\n\n const passingWells = enrichedWells.filter(well =>\n doesWellPassFilters(well, filters, EXCLUDE_RIG_NAME_FILTER)\n );\n\n if (passingWells.length > 0) {\n setCurrentSelectionZone(null);\n\n setSelectedWells(prev => {\n const limited = passingWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n return uniqBy(prev.concat(limited), 'id');\n });\n }\n\n enrichedWells.forEach(w => pendingIds.delete(w.id));\n }, [wells, maxOffsetWellNumber, filters]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n async (isAdding, newAssets, assetType, rigIds) => {\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n let addingWellIds = [];\n const companyIdsForRigFetch =\n Array.isArray(filters?.companyId) && filters.companyId.length > 0\n ? filters.companyId\n : null;\n const filterOpts =\n assetType !== SEARCH_CATEGORIES.well.name ? EXCLUDE_RIG_NAME_FILTER : undefined;\n\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n // For rigs: fetch all wells belonging to the selected rigs\n if (!rigIds || rigIds.length === 0) {\n return;\n }\n\n // Show loading state\n setIsTableLoading(true);\n\n try {\n const rigWells = await fetchWellsByRigIds(rigIds, companyIdsForRigFetch);\n if (isAdding) {\n const passingRigWells = rigWells.filter(well =>\n doesWellPassFilters(well, filters, filterOpts)\n );\n addingWellIds = passingRigWells.map(well => well.id);\n\n if (addingWellIds.length === 0) {\n showInfoNotification('No wells match current filters.');\n return;\n }\n } else {\n addingWellIds = rigWells.map(well => well.id);\n }\n } catch (error) {\n console.error('Failed to fetch wells for rigs:', error);\n return;\n } finally {\n setIsTableLoading(false);\n }\n }\n\n if (addingWellIds.length === 0) {\n return;\n }\n\n const addingWellIdsSet = new Set(addingWellIds);\n const addingWells = (wells || []).filter(\n well =>\n addingWellIdsSet.has(well.id) &&\n (!isAdding || doesWellPassFilters(well, filters, filterOpts))\n );\n\n // Fetch missing wells (outside bounds) when adding via search\n // These will be added to selectedWells via effect once enriched\n if (isAdding && addingWells.length < addingWellIds.length) {\n const foundIds = new Set(addingWells.map(w => w.id));\n const missingIds = addingWellIds.filter(id => !foundIds.has(id));\n\n if (missingIds.length > 0) {\n setLoadingAssetIds(prev => prev.concat(missingIds));\n\n const fetchedMissingWells = await fetchSearchedWells(missingIds);\n\n const passingMissingIds = new Set(\n fetchedMissingWells\n .filter(well => doesWellPassFilters(well, filters, filterOpts))\n .map(well => well.id)\n );\n\n // Store passing IDs as pending -- effect will add enriched wells to selectedWells\n // NOTE: loadingAssetIds is cleared in the effect when wells are actually selected\n const rejectedMissingIds = [];\n\n missingIds.forEach(id => {\n if (passingMissingIds.has(id)) {\n pendingSearchSelectionRef.current.add(id);\n } else {\n rejectedMissingIds.push(id);\n }\n });\n\n if (rejectedMissingIds.length > 0) {\n const rejectedSet = new Set(rejectedMissingIds);\n setLoadingAssetIds(prev => prev.filter(id => !rejectedSet.has(id)));\n }\n }\n }\n\n if (isAdding) {\n setSelectedWells(prev => {\n const prevIdsSet = new Set(prev.map(w => w.id));\n const newWells = addingWells.filter(w => !prevIdsSet.has(w.id));\n const limited = newWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n return limited.length > 0 ? prev.concat(limited) : prev;\n });\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWellIdsSet.has(id)))\n );\n }\n },\n [filters, wells, maxOffsetWellNumber, fetchSearchedWells, setIsTableLoading]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, [setIsAdvancedSearchHidden]);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(\n newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n },\n [setMetricsKeys]\n );\n\n const handleUpdateMetricsKey = useCallback(\n (key, newValue) => {\n setMetricsKeys(prevKeys => prevKeys.map(item => (item === key ? newValue : item)));\n },\n [setMetricsKeys]\n );\n\n const handleChangeSortBy = useCallback(\n (sortKey, sortDirection) => {\n setSortBy(sortKey);\n setSortDirection(sortDirection);\n },\n [setSortBy, setSortDirection]\n );\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback(\n (well, checked) => {\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n if (checked) {\n setSelectedWells(prevWells => {\n if (prevWells.length >= maxOffsetWellNumber) {\n return prevWells;\n }\n\n const enrichedWell = wells?.find(w => w.id === well.id) || well;\n\n return prevWells.concat(enrichedWell);\n });\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Batch select wells (from map box selection)\n const handleBatchSelectWells = useCallback(\n (wellsToSelect, onComplete) => {\n hasUserSelectionEditsRef.current = true;\n setSelectedWells(prevWells => {\n const currentIds = new Set(prevWells.map(w => w.id));\n const newWells = wellsToSelect.filter(w => !currentIds.has(w.id));\n const attempted = newWells.length;\n\n if (attempted === 0) {\n setTimeout(() => onComplete?.({ attempted: 0, added: 0 }), 0);\n return prevWells;\n }\n\n const availableSlots = maxOffsetWellNumber - prevWells.length;\n const limitedWells = newWells.slice(0, availableSlots);\n const added = limitedWells.length;\n\n const enrichedWells = limitedWells.map(w => wells?.find(fw => fw.id === w.id) || w);\n\n setTimeout(() => onComplete?.({ attempted, added }), 0);\n\n return uniqBy(prevWells.concat(enrichedWells), 'id');\n });\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Handle selection zone confirmation (from radius or lasso tool)\n const handleSelectionZoneConfirm = useCallback(zone => {\n setCurrentSelectionZone(zone);\n }, []);\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = useCallback(\n async section => {\n if (rawBicWells) {\n const rawWellIds = rawBicWells[section] || [];\n\n // Build wells map from current data (radius-fetched + pinned + searched)\n const wellsMap = new Map(rawWellsWithSubject?.map(w => [w.id, w]) || []);\n\n // Find wells not in current data (outside current radius)\n const missingWellIds = rawWellIds.filter(id => !wellsMap.has(id));\n\n // Fetch missing wells - returns fetched wells directly\n let fetchedWells = [];\n\n if (missingWellIds.length > 0) {\n fetchedWells = await fetchSearchedWells(missingWellIds);\n }\n\n // Merge fetched wells into map\n fetchedWells.forEach(w => wellsMap.set(w.id, w));\n\n // Build section wells from merged map\n const sectionWells = rawWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [rawBicWells, rawWellsWithSubject, fetchSearchedWells, maxOffsetSize, subjectWell]\n );\n\n const handleChangeWellSection = useCallback(\n async section => {\n hasUserSelectionEditsRef.current = true;\n setSelectedWellSection(section);\n await updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n const selectedWellIds = useMemo(() => selectedWells.map(({ id }) => id), [selectedWells]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n return false;\n }\n const owsWellIdsSet = new Set(owsWellIds);\n return selectedWellIds.every(id => owsWellIdsSet.has(id));\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const performSave = useCallback(() => {\n resetSafeguard();\n onClose();\n\n const selectedIds = selectedWells.map(({ id }) => id);\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedIds,\n filters: normalizeFilters(filters),\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n lastSelectionZone: currentSelectionZone,\n isLoadAllWells,\n };\n onSave(newOffsetSetting, selectedWells);\n }, [\n resetSafeguard,\n onClose,\n selectedWells,\n offsetSettings,\n assetCompanyId,\n subjectWellId,\n filters,\n metricsKeys,\n selectedWellSection,\n isSynced,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n currentSelectionZone,\n isLoadAllWells,\n onSave,\n ]);\n\n // NOTE: Complete pending save once all wells are enriched\n useEffect(() => {\n if (!isSavePending) {\n return;\n }\n\n // Check if all pending wells have been enriched (moved to selectedWells)\n if (pendingSearchSelectionRef.current.size === 0) {\n setIsSavePending(false);\n performSave();\n }\n }, [isSavePending, selectedWells, performSave]);\n\n const handleSave = () => {\n if (pendingSearchSelectionRef.current.size > 0) {\n // Wells still pending enrichment - wait for them\n setIsSavePending(true);\n return;\n }\n\n performSave();\n };\n\n const handleCancel = () => {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n let data = (wells || []).filter(well => selectedIdsSet.has(well.id));\n\n if (pinnedWells?.length) {\n const dataIds = new Set(data.map(w => w.id));\n const preserved = pinnedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n }\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n\n // Reset selection zone to prop value (discard session changes)\n setCurrentSelectionZone(offsetSettings?.lastSelectionZone ?? null);\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n\n // Reset filters to current prop values (discards unsaved changes like polygon drawings)\n // Use normalizeFilters to handle lasso mode without valid polygon\n const normalizedFilters = normalizeFilters(offsetSettings?.filters);\n\n setFilters(\n {\n ...normalizedFilters,\n radius: normalizedFilters?.radius ?? DEFAULT_RADIUS_MILES,\n },\n 'external_sync'\n );\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n resetIsLoadAllWells();\n resetSafeguard();\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = useCallback(async () => {\n resetFilters();\n resetSelectionTool();\n setCurrentSelectionZone(null);\n setSelectedWellSection(ALL_SECTION_KEY);\n await updateSelectedWellsBySection(ALL_SECTION_KEY);\n }, [resetFilters, resetSelectionTool, updateSelectedWellsBySection]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n // NOTE: Well Name shadow\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n const headTableRef = useRef();\n const rightColumnRef = useRef();\n const scrollPositionRef = useRef(0);\n const isAnimatingRef = useRef(false);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n // Restore scroll position after tableWells update (skip during animation)\n useLayoutEffect(() => {\n if (isAnimatingRef.current) {\n return;\n }\n\n if (rightColumnRef.current && scrollPositionRef.current > 0) {\n rightColumnRef.current.scrollTop = scrollPositionRef.current;\n }\n }, [tableWells]);\n\n // NOTE: Remove shadow from header column\n useEffect(() => {\n if (!headTableRef.current) return;\n const headColumn = headTableRef.current.querySelector(`.${offsetTableStyles.wellNameFixed}`);\n if (!headColumn) return;\n if (!isHScrollMoved) {\n headColumn.classList.add(offsetTableStyles.noShadow);\n } else {\n headColumn.classList.remove(offsetTableStyles.noShadow);\n }\n }, [isHScrollMoved, tableWells]);\n\n const [indeterminate, isAllWellsSelected] = useMemo(() => {\n if (!sortedWells) {\n return [false, false];\n }\n\n // Exclude the subject well — it's not an offset well\n const subjectWellId = subjectWell?.id;\n const offsetWells = subjectWellId\n ? sortedWells.filter(well => well.id !== subjectWellId)\n : sortedWells;\n\n const totalCount = offsetWells.length;\n const selectedCount = offsetWells.filter(well => well.checked).length;\n\n const allSelected = totalCount > 0 && selectedCount === totalCount;\n const limitReached = isLimitedOffsetWells && selectedCount > 0;\n\n return [\n selectedCount > 0 && selectedCount < totalCount && !limitReached,\n allSelected || limitReached,\n ];\n }, [sortedWells, subjectWell, isLimitedOffsetWells]);\n\n const isImperial = useMemo(() => getIsImperial(), []);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n // TODO: Check reference stability. Initially had only bicWells\n }, [bicWells, handleReset, resyncStatus]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n // Track scroll position for preservation during re-renders\n scrollPositionRef.current = e.target.scrollTop;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n // Check if V-Scroll is visible\n if (e.target.scrollTop <= 0 && isVScrollMoved) {\n setIsVScrollMoved(false);\n }\n if (e.target.scrollTop > 0 && !isVScrollMoved) {\n setIsVScrollMoved(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n return (\n <>\n {isLoadAllWells && <AllWellsEffect />}\n <Modal\n open={open}\n onClose={handleCancel}\n size=\"fullscreen\"\n className={styles.modalDialog}\n title={\n <AppHeader\n totalCount={uniqueWellsCount}\n filteredCount={filteredWells?.length ?? 0}\n selectedCount={selectedWellsCount}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isXtoProvider={isXtoProvider}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n metricsKeys={metricsKeys}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n />\n }\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n {isMobile ? (\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n className={styles.resetButtonMobile}\n >\n <ReplayIcon />\n </Button>\n ) : (\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={<ReplayIcon />}\n >\n Reset to Defaults\n </Button>\n )}\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by \n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n disabled={isSavePending}\n prefix={isSavePending ? <LoaderCircular size={16} /> : undefined}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <div className={classNames(styles.offsetWellDialog)}>\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n >\n <div className={styles.columnsContainer}>\n {!isMapHidden && open && (\n <div className={styles.leftColumn}>\n <WellsMap\n ref={wellsMapRef}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={wellsToDisplay}\n handleChangeOffsetWell={handleChangeOffsetWell}\n onBatchSelectWells={handleBatchSelectWells}\n activeWellId={activeWellId}\n selectionZone={currentSelectionZone}\n onSelectionZoneConfirm={handleSelectionZoneConfirm}\n shouldRecenter={shouldRecenter}\n onRecenterComplete={() => setShouldRecenter(false)}\n />\n </div>\n )}\n <div className={styles.rightColumn} ref={rightColumnRef} onScroll={handleScroll}>\n {!isMobile && (\n <Filter\n isHidden={!isFilterExpanded}\n filterOptions={filterOptions}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n onChangeBicWells={handleChangeWellSection}\n />\n )}\n <div className={offsetTableStyles.stickyTableWrapper}>\n <Table\n aria-label=\"ows table head\"\n innerRef={headTableRef}\n className={offsetTableStyles.stickyTable}\n >\n <TableHead>\n <OffsetWellsTableHead\n columnsWithDict={columnsWithDict}\n metricsKeys={metricsKeys}\n sortBy={sortBy}\n sortDirection={sortDirection}\n indeterminate={indeterminate}\n isAllWellsSelected={isAllWellsSelected}\n onChangeSort={handleChangeSortBy}\n onUpdateMetricsKey={handleUpdateMetricsKey}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n wellNameStyle={offsetTableStyles.wellNameFixed}\n isImperial={isImperial}\n isTaColumnVisible={!!taScores.length}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n />\n </TableHead>\n {isViewOnly && (\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n )}\n </Table>\n </div>\n\n {!isViewOnly && (\n <div className={classNames(offsetTableStyles.searchCellWrapper)}>\n <div className={offsetTableStyles.searchCell}>\n <AdvancedSearch\n companyIds={null}\n subjectWellId={subjectWellId}\n onChange={handleAddRemoveAssets}\n selectedWellIds={selectedWellIds}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n loadingAssetIds={loadingAssetIds}\n filters={filters}\n isLimitedOffsetWells={isLimitedOffsetWells}\n />\n </div>\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n </div>\n )}\n\n <OffsetWellsTable\n isTableLoading={isTableFullLoading}\n subjectWellId={subjectWellId}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n isLastWell={sortedWells.length <= tableRowsCount}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n onRowClick={wellId => wellsMapRef.current?.flyToWell(wellId)}\n taScores={taScores}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n loadingWellIds={loadingWellIds}\n scrollContainerRef={rightColumnRef}\n isAnimatingRef={isAnimatingRef}\n />\n </div>\n </div>\n {isViewOnly && hasValidAssetId && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by \n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator />\n )}\n </div>\n </Modal>\n </>\n );\n};\n"],"names":["PAGE_NAME","AllWellsEffect","useAllWells","_filteredWells$length","isMobile","useViewType","open","usePickerPropsStore","state","isWDUser","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","maxOffsetSize","localMaxOffsetSize","syncAutoEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","Math","min","maxOffsetWellNumber","max","subjectWellId","asset_id","useFetchSubjectWell","fetchedSubjectWell","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","isFilterExpanded","useViewStore","isMapHidden","isHScrollMoved","setIsHScrollMoved","isVScrollMoved","setIsVScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","isLoadAllWells","resetIsLoadAllWells","shouldRecenter","setShouldRecenter","assetCompanyId","companyId","company_id","hasValidAssetId","filters","useFilterStore","lastFilterMutationSource","filterMutationSeq","setFilters","resetFilters","resetSelectionTool","useSelectionToolStore","reset","viewportWells","useViewportStore","wells","areWellMapsEqual","viewportBounds","bounds","_useCompanySafeguard","useCompanySafeguard","companies","canViewCompanies","resetSafeguard","_useState4","_useState3","selectedWells","setSelectedWells","hasUserSelectionEditsRef","lastAppliedExternalSelectionSignatureRef","lastMissingFetchAttemptKeyRef","reconcileRunIdRef","_useState5","_offsetSettings$lastS","lastSelectionZone","_useState6","currentSelectionZone","setCurrentSelectionZone","lastHandledFilterMutationSeq","useEffect","current","prev","nextSelected","filter","w","id","doesWellPassFilters","length","pendingSearchSelectionRef","Set","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","_useState10","_useState9","isSavePending","setIsSavePending","useViewportWells","useInitialBounds","hasSubjectWell","ghostZone","isTileLoading","useTileLoading","_useState11","wellSection","ALL_SECTION_KEY","_useState12","selectedWellSection","setSelectedWellSection","_useState14","_useState13","isTableLoading","setIsTableLoading","isLimitedOffsetWells","_useState16","_useState15","appLoading","setAppLoading","showInfoNotification","rawWells","Array","from","values","areRawWellsLoading","usePinnedWells","selectedWellIds","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","externalSelectedWellIds","externalSelectedWellIdsSignature","getSortedIdsSignature","rawWellsWithSubject","result","existingIds","map","missingPinned","has","concat","missingSearched","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useBicWells","useBicWells","_useBicWells2","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","rawBicWells","isWellSectionColumnVisible","section","value","_ref","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","wellsWithoutCompanyName","companyMap","forEach","company","name","well","_objectSpread","companyName","subjectWell","find","isAllWellsLoaded","reconcileSelectedWellsFromSettings","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","runId","wellsMap","missingIds","fetchAttemptKey","selectedIdsSet","resolvedWells","resolvedIdsSet","wrap","_context","next","abrupt","Map","sent","set","get","undefined","preserved","nextWells","deduped","uniqBy","dedupedIdsSet","size","every","stop","_callee","_x","apply","this","arguments","_ref2","isCancelled","runReconciliation","_callee2","isResolved","_context2","t0","console","error","_ref3","syncOffsetWells","_callee3","isSynced","offsetWellsChanged","_offsetSettings$selec","bicWellIds","bicWellIdsSet","isMatched","wellsByDistance","_selectedWellIds","newOffsetSetting","selectedWellIdsSet","offsetWells","_offsetWells","_context3","wellId","getCoordinatedWells","slice","offsetWellsLimited","filterOptions","useFilterOptions","availableValuesByFilter","_ref4","options","isArray","extractedValues","FilterType","opt","_typeof","v","status","StatusOptions","hasChanges","nextFilters","availableValues","key","selectedValues","validValues","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","filteredWellIdsSet","selectedWellsWithFreshData","uniqueWellsCount","wellsToDisplay","bicWellsToShow","pendingIds","enrichedWells","enrichedIdSet","passingWells","EXCLUDE_RIG_NAME_FILTER","limited","delete","_ref5","_ref7","_ref8","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","isAdding","newAssets","assetType","rigIds","addingWellIds","companyIdsForRigFetch","filterOpts","rigWells","passingRigWells","addingWellIdsSet","addingWells","foundIds","fetchedMissingWells","passingMissingIds","rejectedMissingIds","rejectedSet","_context4","SEARCH_CATEGORIES","fetchWellsByRigIds","finish","add","push","prevIdsSet","uniq","_ref6","_callee4","_x2","_x3","_x4","_x5","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleUpdateMetricsKey","newValue","prevKeys","item","handleChangeSortBy","sortKey","handleChangeOffsetWell","checked","prevWells","enrichedWell","handleChangeAllOffsetWells","data","sortedData","sortArray","handleBatchSelectWells","wellsToSelect","onComplete","currentIds","newWells","attempted","setTimeout","added","availableSlots","limitedWells","fw","handleSelectionZoneConfirm","zone","updateSelectedWellsBySection","rawWellIds","missingWellIds","fetchedWells","sectionWells","_context5","_callee5","_x6","handleChangeWellSection","_context6","_callee6","_x7","selectedWellsCount","_ref9","_ref10","owsWellIds","owsWellIdsSet","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","includes","offsetLabel","performSave","selectedIds","_ref11","normalizeFilters","mapHidden","filterExpanded","handleCancel","_offsetSettings$lastS2","_normalizedFilters$ra","dataIds","normalizedFilters","radius","DEFAULT_RADIUS_MILES","isTableFullLoading","isResetVisible","isEmpty","sideTracks","handleReset","_callee7","_context7","isLoading","ROWS_PER_PAGE","_useState18","_useState17","tableRowsCount","setTableRowsCount","_useState20","_useState19","tableWells","setTableWells","headTableRef","rightColumnRef","scrollPositionRef","isAnimatingRef","useLayoutEffect","scrollTop","headColumn","querySelector","offsetTableStyles","wellNameFixed","classList","remove","noShadow","totalCount","selectedCount","limitReached","_useMemo2","_useMemo","indeterminate","isAllWellsSelected","isImperial","getIsImperial","RESYNC_STATUS","SUCCEEDED","_jsxs","_Fragment","children","_jsx","jsx","Modal","className","styles","modalDialog","title","AppHeader","filteredCount","onChangeMetricsKeys","actions","jsxs","actionsWrapper","Tooltip","placement","Button","onClick","color","resetButtonMobile","ReplayIcon","Replay","startIcon","classNames","typography","regular12","colors","t6","medium12","buttonGap","variant","disabled","prefix","LoaderCircular","offsetWellDialog","NotificationsContainer","LoadingIndicator","contentWrapper","contentBlocked","columnsContainer","leftColumn","WellsMap","ref","offsetWellIds","_ref13","onBatchSelectWells","selectionZone","onSelectionZoneConfirm","onRecenterComplete","rightColumn","onScroll","e","target","scrollLeft","scrollHeight","offsetHeight","round","count","Filter","isHidden","onChangeBicWells","stickyTableWrapper","Table","innerRef","stickyTable","TableHead","OffsetWellsTableHead","onChangeSort","onUpdateMetricsKey","wellNameStyle","isTaColumnVisible","topGradient","_defineProperty","topGradientScrolled","searchCellWrapper","searchCell","AdvancedSearch","companyIds","onChange","onHideAdvancedSearch","OffsetWellsTable","isLastWell","onRowClick","_wellsMapRef$current","flyToWell","scrollContainerRef","viewOnlyInfoContainer"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"sourcesContent":["import { useState, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { Replay as ReplayIcon } from '@material-ui/icons';\nimport { Table, TableHead } from '@material-ui/core';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n usePinnedWells,\n useSearchedWells,\n useTileLoading,\n useInitialBounds,\n} from './effects';\nimport { useViewportWells } from './effects/useViewportWells';\nimport { useAllWells } from './effects/useAllWells';\nimport { useViewportStore } from './stores/viewport-store';\nimport { areWellMapsEqual } from './stores/viewport-store/utils/areWellMapsEqual';\nimport { useCompanySafeguard } from './stores/company-safeguard';\nimport { useFetchSubjectWell } from './effects/useFetchSubjectWell';\nimport { AppHeader } from './components/AppHeader';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport { OffsetWellsTableHead } from './components/OffsetWellsTable/OffsetWellsTableHead';\nimport { AdvancedSearch } from './components/OffsetWellsTable/AdvancedSearch';\nimport {\n ALL_SECTION_KEY,\n COMPANY_PROVIDERS_FOR_IDAS,\n FilterType,\n ROWS_PER_PAGE,\n RESYNC_STATUS,\n DEFAULT_RADIUS_MILES,\n StatusOptions,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells } from './utils';\nimport { getIsImperial } from './utils/getIsImperial';\nimport { doesWellPassFilters, EXCLUDE_RIG_NAME_FILTER } from './utils/doesWellPassFilters';\nimport { getSortedIdsSignature } from './utils/getSortedIdsSignature';\nimport { usePickerPropsStore } from './stores/picker-props-store/usePickerPropsStore';\nimport { useFilterStore } from './stores/filter-store/useFilterStore';\nimport { useViewStore } from './stores/view-store/useViewStore';\nimport { useSelectionToolStore } from './stores/selection-tool-store';\nimport { normalizeFilters } from './stores/filter-store/utils/normalizeFilters';\nimport { fetchWellsByRigIds } from './api';\nimport { useViewType } from './viewport';\n\nimport styles from './OffsetWellPickerV5.module.css';\nimport offsetTableStyles from './components/OffsetWellsTable/OffsetWellsTable.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { typography } from '~/styles';\nimport { LoadingIndicator } from '~/components';\nimport { Button, LoaderCircular, Modal, Tooltip } from '~/componentsV2';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV5';\n\nconst AllWellsEffect = () => {\n useAllWells();\n return null;\n};\n\nexport const OffsetWellPickerV5 = () => {\n const { isMobile } = useViewType();\n const open = usePickerPropsStore(state => state.open);\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const defaultSubjectWell = usePickerPropsStore(state => state.defaultSubjectWell);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const offsetSettings = usePickerPropsStore(state => state.offsetSettings);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const onClose = usePickerPropsStore(state => state.onClose);\n const onSave = usePickerPropsStore(state => state.onSave);\n const offsetSize = usePickerPropsStore(state => state.maxOffsetSize);\n const localMaxOffsetSize = usePickerPropsStore(state => state.localMaxOffsetSize);\n const syncAutoEnabled = usePickerPropsStore(state => state.syncAutoEnabled);\n\n const [activeWellId, setActiveWellId] = useState(null);\n const wellsMapRef = useRef(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1);\n const maxOffsetWellNumber = Math.max(maxOffsetSize, localMaxOffsetSize + 1);\n\n const subjectWellId = defaultSubjectWell?.asset_id;\n\n // Fetch complete subject well data with coordinates\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n // Derive coordinates for initial bounds calculation (used when map is hidden)\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n\n if (!coords) {\n return null;\n }\n\n const [latitude, longitude] = coords;\n\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const isFilterExpanded = useViewStore(state => state.isFilterExpanded);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const isHScrollMoved = useViewStore(state => state.isHScrollMoved);\n const setIsHScrollMoved = useViewStore(state => state.setIsHScrollMoved);\n const isVScrollMoved = useViewStore(state => state.isVScrollMoved);\n const setIsVScrollMoved = useViewStore(state => state.setIsVScrollMoved);\n const isAdvancedSearchHidden = useViewStore(state => state.isAdvancedSearchHidden);\n const setIsAdvancedSearchHidden = useViewStore(state => state.setIsAdvancedSearchHidden);\n const isLoadAllWells = usePickerPropsStore(state => state.isLoadAllWells);\n const resetIsLoadAllWells = usePickerPropsStore(state => state.resetIsLoadAllWells);\n const shouldRecenter = usePickerPropsStore(state => state.shouldRecenter);\n const setShouldRecenter = usePickerPropsStore(state => state.setShouldRecenter);\n\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const filters = useFilterStore(state => state.filters);\n const lastFilterMutationSource = useFilterStore(state => state.lastFilterMutationSource);\n const filterMutationSeq = useFilterStore(state => state.filterMutationSeq);\n const setFilters = useFilterStore(state => state.setFilters);\n const resetFilters = useFilterStore(state => state.resetFilters);\n const resetSelectionTool = useSelectionToolStore(state => state.reset);\n\n // ViewportStore hooks for tile-based fetching\n const viewportWells = useViewportStore(state => state.wells, areWellMapsEqual);\n const viewportBounds = useViewportStore(state => state.bounds);\n\n const { companies, canViewCompanies, resetSafeguard } = useCompanySafeguard();\n const [selectedWells, setSelectedWells] = useState([]);\n const hasUserSelectionEditsRef = useRef(false);\n const lastAppliedExternalSelectionSignatureRef = useRef(null);\n const lastMissingFetchAttemptKeyRef = useRef(null);\n const reconcileRunIdRef = useRef(0);\n const [currentSelectionZone, setCurrentSelectionZone] = useState(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n const lastHandledFilterMutationSeq = useRef(filterMutationSeq);\n\n // Prune selected wells only for manual filter updates while the modal is open.\n useEffect(() => {\n if (lastHandledFilterMutationSeq.current === filterMutationSeq) {\n return;\n }\n lastHandledFilterMutationSeq.current = filterMutationSeq;\n\n if (!open || !filters || lastFilterMutationSource !== 'manual_ui') return;\n\n setSelectedWells(prev => {\n const nextSelected = prev.filter(\n w => w.id === subjectWellId || doesWellPassFilters(w, filters)\n );\n\n if (nextSelected.length === prev.length) {\n return prev;\n }\n\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n return nextSelected;\n });\n }, [filterMutationSeq, lastFilterMutationSource, open, filters, subjectWellId]);\n\n // Track wells being selected via search that need to wait for enrichment\n const pendingSearchSelectionRef = useRef(new Set());\n\n // Track asset IDs currently being fetched (for loading spinner in search dropdown)\n const [loadingAssetIds, setLoadingAssetIds] = useState([]);\n\n // Track if save is waiting for pending wells to be enriched\n const [isSavePending, setIsSavePending] = useState(false);\n\n // Start viewport-based tile fetching (fetches all companies, filtered client-side)\n // Disabled when all-wells mode is active\n useViewportWells(!isLoadAllWells);\n // Set initial bounds for data loading when map is hidden\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open,\n ghostZone: currentSelectionZone,\n });\n const isTileLoading = useTileLoading();\n\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n }, [isLimitedOffsetWells, open, maxOffsetWellNumber]);\n\n // NOTE: Wells are now fetched via viewport-based tile fetching (useViewportWells)\n // Convert viewport wells Map to array\n const rawWells = useMemo(() => {\n return Array.from(viewportWells.values());\n }, [viewportWells]);\n\n // Loading state: show loader when tiles are being fetched OR when still initializing (no bounds yet)\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n // NOTE: Fetch pinned wells independently of radius\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n\n // NOTE: Fetch wells selected via search that are outside current bounds\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n const externalSelectedWellIds = useMemo(\n () => offsetSettings?.selectedWellIds || [],\n [offsetSettings?.selectedWellIds]\n );\n const externalSelectedWellIdsSignature = useMemo(\n () => getSortedIdsSignature(externalSelectedWellIds),\n [externalSelectedWellIds]\n );\n\n // NOTE: Ensure subject well, pinned wells and searched wells are always in rawWells for enrichment pipeline\n const rawWellsWithSubject = useMemo(() => {\n if (!rawWells) {\n return null;\n }\n\n let result = rawWells;\n\n if (pinnedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingPinned = pinnedWells.filter(w => !existingIds.has(w.id));\n\n if (missingPinned.length > 0) {\n result = result.concat(missingPinned);\n }\n }\n\n // Merge searched wells (wells added via search that are outside bounds)\n if (searchedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingSearched = searchedWells.filter(w => !existingIds.has(w.id));\n\n if (missingSearched.length > 0) {\n result = result.concat(missingSearched);\n }\n }\n\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [rawWells, fetchedSubjectWell, pinnedWells, searchedWells]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawBicWells,\n ] = useBicWells(subjectWellId, rawWellsWithSubject);\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) {\n return false;\n }\n\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n // TODO: Check reference stability. Initially had only subjectWellId.\n }, [setBicWells, setWellSections, subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(rawWellsWithSubject, wellSections, bicWells, subjectWellId, metricsKeys, open);\n\n // Use wells with metrics when available, fall back to transformed wells for immediate display\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n // NOTE: Add company names to wells for display\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n return wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[well.companyId] || 'Null',\n }));\n }, [wellsWithoutCompanyName, companies]);\n\n // NOTE: Derive enriched subject well from the enrichment pipeline (includes company name)\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) {\n return null;\n }\n\n if (!wells) {\n return fetchedSubjectWell;\n }\n\n const enrichedSubjectWell = wells.find(w => w.id === fetchedSubjectWell.id);\n\n return enrichedSubjectWell || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const isAllWellsLoaded =\n !areRawWellsLoading &&\n !areAdvancedWellsLoading &&\n !arePinnedWellsLoading &&\n !areSearchedWellsLoading;\n\n const reconcileSelectedWellsFromSettings = useCallback(\n async runId => {\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) {\n return false;\n }\n\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n let missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n\n if (missingIds.length > 0) {\n const fetchAttemptKey = `${externalSelectedWellIdsSignature}|${getSortedIdsSignature(\n missingIds\n )}`;\n\n if (lastMissingFetchAttemptKeyRef.current !== fetchAttemptKey) {\n lastMissingFetchAttemptKeyRef.current = fetchAttemptKey;\n\n const fetchedWells = await fetchSearchedWells(missingIds);\n fetchedWells.forEach(well => wellsMap.set(well.id, well));\n }\n\n missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n }\n\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) {\n return false;\n }\n\n const selectedIdsSet = new Set(externalSelectedWellIds);\n const resolvedWells = externalSelectedWellIds\n .map(id => wellsMap.get(id))\n .filter(well => well !== undefined);\n\n const resolvedIdsSet = new Set(resolvedWells.map(well => well.id));\n\n setSelectedWells(prev => {\n const preserved = prev.filter(\n well => selectedIdsSet.has(well.id) && !resolvedIdsSet.has(well.id)\n );\n\n let nextWells = resolvedWells.concat(preserved);\n\n if (subjectWell) {\n nextWells = nextWells.concat(subjectWell);\n }\n\n const deduped = uniqBy(nextWells, 'id');\n const dedupedIdsSet = new Set(deduped.map(well => well.id));\n\n const isSameSelection =\n prev.length === dedupedIdsSet.size && prev.every(well => dedupedIdsSet.has(well.id));\n\n return isSameSelection ? prev : deduped;\n });\n\n return missingIds.length === 0;\n },\n [\n externalSelectedWellIds,\n externalSelectedWellIdsSignature,\n fetchSearchedWells,\n subjectWell,\n wells,\n ]\n );\n\n useEffect(() => {\n if (!open) {\n hasUserSelectionEditsRef.current = false;\n lastAppliedExternalSelectionSignatureRef.current = null;\n lastMissingFetchAttemptKeyRef.current = null;\n reconcileRunIdRef.current += 1;\n return undefined;\n }\n\n if (\n !isAllWellsLoaded ||\n hasUserSelectionEditsRef.current ||\n lastAppliedExternalSelectionSignatureRef.current === externalSelectedWellIdsSignature\n ) {\n return undefined;\n }\n\n const runId = reconcileRunIdRef.current + 1;\n reconcileRunIdRef.current = runId;\n let isCancelled = false;\n\n const runReconciliation = async () => {\n try {\n const isResolved = await reconcileSelectedWellsFromSettings(runId);\n\n if (isCancelled || reconcileRunIdRef.current !== runId) {\n return;\n }\n\n if (isResolved) {\n lastAppliedExternalSelectionSignatureRef.current = externalSelectedWellIdsSignature;\n }\n } catch (error) {\n console.error('Failed to reconcile selected wells from offset settings:', error);\n }\n };\n\n runReconciliation();\n\n return () => {\n isCancelled = true;\n };\n }, [\n open,\n isAllWellsLoaded,\n externalSelectedWellIdsSignature,\n reconcileSelectedWellsFromSettings,\n ]);\n\n useEffect(() => {\n if (!isAllWellsLoaded) {\n return;\n }\n\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n\n let offsetWellsChanged = true;\n\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const bicWellIdsSet = new Set(bicWellIds);\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIdsSet.has(wellId)\n );\n\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n const selectedWellIds = wellsByDistance\n .slice(0, localMaxOffsetSize + 1)\n .map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const selectedWellIdsSet = new Set(selectedWellIds);\n const offsetWells = wellsByDistance.filter(well => selectedWellIdsSet.has(well.id));\n\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n // TODO: Check reference stability. Initially had only offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled\n }, [\n offsetSettings,\n bicWells,\n subjectWellId,\n maxOffsetWellNumber,\n syncAutoEnabled,\n isAllWellsLoaded,\n appLoading,\n maxOffsetSize,\n localMaxOffsetSize,\n onSave,\n ]);\n\n const filterOptions = useFilterOptions(wells, companies, canViewCompanies);\n useEffect(() => {\n if (!open || !isAllWellsLoaded || !filters) {\n return;\n }\n\n const availableValuesByFilter = new Map();\n\n filterOptions.forEach(({ value, options }) => {\n if (!Array.isArray(options)) {\n availableValuesByFilter.set(value, new Set());\n return;\n }\n\n const extractedValues =\n value === FilterType.company\n ? options.map(opt => (opt && typeof opt === 'object' ? opt.id : opt))\n : options;\n\n availableValuesByFilter.set(value, new Set(extractedValues.filter(v => v != null)));\n });\n\n availableValuesByFilter.set(FilterType.status, new Set(StatusOptions.map(opt => opt.value)));\n\n let hasChanges = false;\n const nextFilters = { ...filters };\n\n availableValuesByFilter.forEach((availableValues, key) => {\n const selectedValues = filters[key];\n\n if (!Array.isArray(selectedValues) || selectedValues.length === 0) {\n return;\n }\n\n // Skip validation when options data hasn't loaded yet\n // (e.g. company filter before companies API response arrives)\n if (availableValues.size === 0) {\n return;\n }\n\n const validValues = selectedValues.filter(value => availableValues.has(value));\n\n if (validValues.length === selectedValues.length) {\n return;\n }\n\n hasChanges = true;\n\n if (validValues.length > 0) {\n nextFilters[key] = validValues;\n } else if (key === FilterType.company && isLoadAllWells) {\n nextFilters[key] = [];\n } else {\n delete nextFilters[key];\n }\n });\n\n if (hasChanges) {\n setFilters(nextFilters, 'system');\n }\n }, [open, isAllWellsLoaded, filters, filterOptions, isLoadAllWells, setFilters]);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible\n );\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n const filteredWellIdsSet = useMemo(() => {\n if (!filteredWells) return null;\n return new Set(filteredWells.map(w => w.id));\n }, [filteredWells]);\n\n const selectedWellsWithFreshData = useMemo(() => {\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n return selectedWells.map(w => wellsMap.get(w.id) || w);\n }, [selectedWells, wells]);\n\n // Deduplicated total count (wells array may contain duplicates from merged sources)\n const uniqueWellsCount = useMemo(() => {\n if (!wells) return 0;\n return uniqBy(wells, 'id').length;\n }, [wells]);\n\n // NOTE: Include selected wells and BIC wells that pass filters\n const wellsToDisplay = useMemo(() => {\n if (!filteredWells) {\n return filteredWells;\n }\n\n // Create map of fresh well data from wells (includes ALL enriched wells:\n // - Wells in viewport from useViewportWells\n // - Pinned wells outside viewport from usePinnedWells\n // - Searched wells outside viewport from useSearchedWells)\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n // Include BIC wells that pass filters so they remain visible after reset even when unselected\n const bicWellIds = rawBicWells?.[selectedWellSection] || [];\n const bicWellsToShow = bicWellIds\n .map(id => wellsMap.get(id))\n .filter(w => w !== undefined && (!filteredWellIdsSet || filteredWellIdsSet.has(w.id)));\n\n return uniqBy(selectedWellsWithFreshData.concat(bicWellsToShow).concat(filteredWells), 'id');\n }, [\n filteredWells,\n selectedWellsWithFreshData,\n wells,\n rawBicWells,\n selectedWellSection,\n filteredWellIdsSet,\n ]);\n\n // NOTE: Add pending search selections once wells are enriched\n useEffect(() => {\n if (!wells?.length || pendingSearchSelectionRef.current.size === 0) {\n return;\n }\n\n const pendingIds = pendingSearchSelectionRef.current;\n const enrichedWells = wells.filter(w => pendingIds.has(w.id));\n\n if (enrichedWells.length === 0) return;\n\n const enrichedIdSet = new Set(enrichedWells.map(w => w.id));\n setLoadingAssetIds(prev => prev.filter(id => !enrichedIdSet.has(id)));\n\n const passingWells = enrichedWells.filter(well =>\n doesWellPassFilters(well, filters, EXCLUDE_RIG_NAME_FILTER)\n );\n\n if (passingWells.length > 0) {\n setCurrentSelectionZone(null);\n\n setSelectedWells(prev => {\n const limited = passingWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n return uniqBy(prev.concat(limited), 'id');\n });\n }\n\n enrichedWells.forEach(w => pendingIds.delete(w.id));\n }, [wells, maxOffsetWellNumber, filters]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n async (isAdding, newAssets, assetType, rigIds) => {\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n let addingWellIds = [];\n const companyIdsForRigFetch =\n Array.isArray(filters?.companyId) && filters.companyId.length > 0\n ? filters.companyId\n : null;\n const filterOpts =\n assetType !== SEARCH_CATEGORIES.well.name ? EXCLUDE_RIG_NAME_FILTER : undefined;\n\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n // For rigs: fetch all wells belonging to the selected rigs\n if (!rigIds || rigIds.length === 0) {\n return;\n }\n\n // Show loading state\n setIsTableLoading(true);\n\n try {\n const rigWells = await fetchWellsByRigIds(rigIds, companyIdsForRigFetch);\n if (isAdding) {\n const passingRigWells = rigWells.filter(well =>\n doesWellPassFilters(well, filters, filterOpts)\n );\n addingWellIds = passingRigWells.map(well => well.id);\n\n if (addingWellIds.length === 0) {\n showInfoNotification('No wells match current filters.');\n return;\n }\n } else {\n addingWellIds = rigWells.map(well => well.id);\n }\n } catch (error) {\n console.error('Failed to fetch wells for rigs:', error);\n return;\n } finally {\n setIsTableLoading(false);\n }\n }\n\n if (addingWellIds.length === 0) {\n return;\n }\n\n const addingWellIdsSet = new Set(addingWellIds);\n const addingWells = (wells || []).filter(\n well =>\n addingWellIdsSet.has(well.id) &&\n (!isAdding || doesWellPassFilters(well, filters, filterOpts))\n );\n\n // Fetch missing wells (outside bounds) when adding via search\n // These will be added to selectedWells via effect once enriched\n if (isAdding && addingWells.length < addingWellIds.length) {\n const foundIds = new Set(addingWells.map(w => w.id));\n const missingIds = addingWellIds.filter(id => !foundIds.has(id));\n\n if (missingIds.length > 0) {\n setLoadingAssetIds(prev => prev.concat(missingIds));\n\n const fetchedMissingWells = await fetchSearchedWells(missingIds);\n\n const passingMissingIds = new Set(\n fetchedMissingWells\n .filter(well => doesWellPassFilters(well, filters, filterOpts))\n .map(well => well.id)\n );\n\n // Store passing IDs as pending -- effect will add enriched wells to selectedWells\n // NOTE: loadingAssetIds is cleared in the effect when wells are actually selected\n const rejectedMissingIds = [];\n\n missingIds.forEach(id => {\n if (passingMissingIds.has(id)) {\n pendingSearchSelectionRef.current.add(id);\n } else {\n rejectedMissingIds.push(id);\n }\n });\n\n if (rejectedMissingIds.length > 0) {\n const rejectedSet = new Set(rejectedMissingIds);\n setLoadingAssetIds(prev => prev.filter(id => !rejectedSet.has(id)));\n }\n }\n }\n\n if (isAdding) {\n setSelectedWells(prev => {\n const prevIdsSet = new Set(prev.map(w => w.id));\n const newWells = addingWells.filter(w => !prevIdsSet.has(w.id));\n const limited = newWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n return limited.length > 0 ? prev.concat(limited) : prev;\n });\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWellIdsSet.has(id)))\n );\n }\n },\n [filters, wells, maxOffsetWellNumber, fetchSearchedWells, setIsTableLoading]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, [setIsAdvancedSearchHidden]);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(\n newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n },\n [setMetricsKeys]\n );\n\n const handleUpdateMetricsKey = useCallback(\n (key, newValue) => {\n setMetricsKeys(prevKeys => prevKeys.map(item => (item === key ? newValue : item)));\n },\n [setMetricsKeys]\n );\n\n const handleChangeSortBy = useCallback(\n (sortKey, sortDirection) => {\n setSortBy(sortKey);\n setSortDirection(sortDirection);\n },\n [setSortBy, setSortDirection]\n );\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback(\n (well, checked) => {\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n if (checked) {\n setSelectedWells(prevWells => {\n if (prevWells.length >= maxOffsetWellNumber) {\n return prevWells;\n }\n\n const enrichedWell = wells?.find(w => w.id === well.id) || well;\n\n return prevWells.concat(enrichedWell);\n });\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n hasUserSelectionEditsRef.current = true;\n setCurrentSelectionZone(null);\n\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Batch select wells (from map box selection)\n const handleBatchSelectWells = useCallback(\n (wellsToSelect, onComplete) => {\n hasUserSelectionEditsRef.current = true;\n setSelectedWells(prevWells => {\n const currentIds = new Set(prevWells.map(w => w.id));\n const newWells = wellsToSelect.filter(w => !currentIds.has(w.id));\n const attempted = newWells.length;\n\n if (attempted === 0) {\n setTimeout(() => onComplete?.({ attempted: 0, added: 0 }), 0);\n return prevWells;\n }\n\n const availableSlots = maxOffsetWellNumber - prevWells.length;\n const limitedWells = newWells.slice(0, availableSlots);\n const added = limitedWells.length;\n\n const enrichedWells = limitedWells.map(w => wells?.find(fw => fw.id === w.id) || w);\n\n setTimeout(() => onComplete?.({ attempted, added }), 0);\n\n return uniqBy(prevWells.concat(enrichedWells), 'id');\n });\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Handle selection zone confirmation (from radius or lasso tool)\n const handleSelectionZoneConfirm = useCallback(zone => {\n setCurrentSelectionZone(zone);\n }, []);\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = useCallback(\n async section => {\n if (rawBicWells) {\n const rawWellIds = rawBicWells[section] || [];\n\n // Build wells map from current data (radius-fetched + pinned + searched)\n const wellsMap = new Map(rawWellsWithSubject?.map(w => [w.id, w]) || []);\n\n // Find wells not in current data (outside current radius)\n const missingWellIds = rawWellIds.filter(id => !wellsMap.has(id));\n\n // Fetch missing wells - returns fetched wells directly\n let fetchedWells = [];\n\n if (missingWellIds.length > 0) {\n fetchedWells = await fetchSearchedWells(missingWellIds);\n }\n\n // Merge fetched wells into map\n fetchedWells.forEach(w => wellsMap.set(w.id, w));\n\n // Build section wells from merged map\n const sectionWells = rawWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [rawBicWells, rawWellsWithSubject, fetchSearchedWells, maxOffsetSize, subjectWell]\n );\n\n const handleChangeWellSection = useCallback(\n async section => {\n hasUserSelectionEditsRef.current = true;\n setSelectedWellSection(section);\n await updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n const selectedWellIds = useMemo(() => selectedWells.map(({ id }) => id), [selectedWells]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n return false;\n }\n const owsWellIdsSet = new Set(owsWellIds);\n return selectedWellIds.every(id => owsWellIdsSet.has(id));\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const performSave = useCallback(() => {\n resetSafeguard();\n onClose();\n\n const selectedIds = selectedWells.map(({ id }) => id);\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedIds,\n filters: normalizeFilters(filters),\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n lastSelectionZone: currentSelectionZone,\n isLoadAllWells,\n };\n onSave(newOffsetSetting, selectedWells);\n }, [\n resetSafeguard,\n onClose,\n selectedWells,\n offsetSettings,\n assetCompanyId,\n subjectWellId,\n filters,\n metricsKeys,\n selectedWellSection,\n isSynced,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n currentSelectionZone,\n isLoadAllWells,\n onSave,\n ]);\n\n // NOTE: Complete pending save once all wells are enriched\n useEffect(() => {\n if (!isSavePending) {\n return;\n }\n\n // Check if all pending wells have been enriched (moved to selectedWells)\n if (pendingSearchSelectionRef.current.size === 0) {\n setIsSavePending(false);\n performSave();\n }\n }, [isSavePending, selectedWells, performSave]);\n\n const handleSave = () => {\n if (pendingSearchSelectionRef.current.size > 0) {\n // Wells still pending enrichment - wait for them\n setIsSavePending(true);\n return;\n }\n\n performSave();\n };\n\n const handleCancel = () => {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n let data = (wells || []).filter(well => selectedIdsSet.has(well.id));\n\n if (pinnedWells?.length) {\n const dataIds = new Set(data.map(w => w.id));\n const preserved = pinnedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n }\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n\n // Reset selection zone to prop value (discard session changes)\n setCurrentSelectionZone(offsetSettings?.lastSelectionZone ?? null);\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n\n // Reset filters to current prop values (discards unsaved changes like polygon drawings)\n // Use normalizeFilters to handle lasso mode without valid polygon\n const normalizedFilters = normalizeFilters(offsetSettings?.filters);\n\n setFilters(\n {\n ...normalizedFilters,\n radius: normalizedFilters?.radius ?? DEFAULT_RADIUS_MILES,\n },\n 'external_sync'\n );\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n resetIsLoadAllWells();\n resetSafeguard();\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = useCallback(async () => {\n resetFilters();\n resetSelectionTool();\n setCurrentSelectionZone(null);\n setSelectedWellSection(ALL_SECTION_KEY);\n await updateSelectedWellsBySection(ALL_SECTION_KEY);\n }, [resetFilters, resetSelectionTool, updateSelectedWellsBySection]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n // NOTE: Well Name shadow\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n const headTableRef = useRef();\n const rightColumnRef = useRef();\n const scrollPositionRef = useRef(0);\n const isAnimatingRef = useRef(false);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n // Restore scroll position after tableWells update (skip during animation)\n useLayoutEffect(() => {\n if (isAnimatingRef.current) {\n return;\n }\n\n if (rightColumnRef.current && scrollPositionRef.current > 0) {\n rightColumnRef.current.scrollTop = scrollPositionRef.current;\n }\n }, [tableWells]);\n\n // NOTE: Remove shadow from header column\n useEffect(() => {\n if (!headTableRef.current) return;\n const headColumn = headTableRef.current.querySelector(`.${offsetTableStyles.wellNameFixed}`);\n if (!headColumn) return;\n if (!isHScrollMoved) {\n headColumn.classList.add(offsetTableStyles.noShadow);\n } else {\n headColumn.classList.remove(offsetTableStyles.noShadow);\n }\n }, [isHScrollMoved, tableWells]);\n\n const [indeterminate, isAllWellsSelected] = useMemo(() => {\n if (!sortedWells) {\n return [false, false];\n }\n\n // Exclude the subject well — it's not an offset well\n const subjectWellId = subjectWell?.id;\n const offsetWells = subjectWellId\n ? sortedWells.filter(well => well.id !== subjectWellId)\n : sortedWells;\n\n const totalCount = offsetWells.length;\n const selectedCount = offsetWells.filter(well => well.checked).length;\n\n const allSelected = totalCount > 0 && selectedCount === totalCount;\n const limitReached = isLimitedOffsetWells && selectedCount > 0;\n\n return [\n selectedCount > 0 && selectedCount < totalCount && !limitReached,\n allSelected || limitReached,\n ];\n }, [sortedWells, subjectWell, isLimitedOffsetWells]);\n\n const isImperial = useMemo(() => getIsImperial(), []);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n // TODO: Check reference stability. Initially had only bicWells\n }, [bicWells, handleReset, resyncStatus]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n // Track scroll position for preservation during re-renders\n scrollPositionRef.current = e.target.scrollTop;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n // Check if V-Scroll is visible\n if (e.target.scrollTop <= 0 && isVScrollMoved) {\n setIsVScrollMoved(false);\n }\n if (e.target.scrollTop > 0 && !isVScrollMoved) {\n setIsVScrollMoved(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n return (\n <>\n {isLoadAllWells && <AllWellsEffect />}\n <Modal\n open={open}\n onClose={handleCancel}\n size=\"fullscreen\"\n className={styles.modalDialog}\n title={\n <AppHeader\n totalCount={uniqueWellsCount}\n filteredCount={filteredWells?.length ?? 0}\n selectedCount={selectedWellsCount}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isXtoProvider={isXtoProvider}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n metricsKeys={metricsKeys}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n />\n }\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n {isMobile ? (\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n className={styles.resetButtonMobile}\n >\n <ReplayIcon />\n </Button>\n ) : (\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={<ReplayIcon />}\n >\n Reset to Defaults\n </Button>\n )}\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by \n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n disabled={isSavePending}\n prefix={isSavePending ? <LoaderCircular size={16} /> : undefined}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <div className={classNames(styles.offsetWellDialog)}>\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n >\n <div className={styles.columnsContainer}>\n {!isMapHidden && open && (\n <div className={styles.leftColumn}>\n <WellsMap\n ref={wellsMapRef}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={wellsToDisplay}\n handleChangeOffsetWell={handleChangeOffsetWell}\n onBatchSelectWells={handleBatchSelectWells}\n activeWellId={activeWellId}\n selectionZone={currentSelectionZone}\n onSelectionZoneConfirm={handleSelectionZoneConfirm}\n shouldRecenter={shouldRecenter}\n onRecenterComplete={() => setShouldRecenter(false)}\n />\n </div>\n )}\n <div className={styles.rightColumn} ref={rightColumnRef} onScroll={handleScroll}>\n {!isMobile && (\n <Filter\n isHidden={!isFilterExpanded}\n filterOptions={filterOptions}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n onChangeBicWells={handleChangeWellSection}\n />\n )}\n <div className={offsetTableStyles.stickyTableWrapper}>\n <Table\n aria-label=\"ows table head\"\n innerRef={headTableRef}\n className={offsetTableStyles.stickyTable}\n >\n <TableHead>\n <OffsetWellsTableHead\n columnsWithDict={columnsWithDict}\n metricsKeys={metricsKeys}\n sortBy={sortBy}\n sortDirection={sortDirection}\n indeterminate={indeterminate}\n isAllWellsSelected={isAllWellsSelected}\n onChangeSort={handleChangeSortBy}\n onUpdateMetricsKey={handleUpdateMetricsKey}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n wellNameStyle={offsetTableStyles.wellNameFixed}\n isImperial={isImperial}\n isTaColumnVisible={!!taScores.length}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n />\n </TableHead>\n {isViewOnly && (\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n )}\n </Table>\n </div>\n\n {!isViewOnly && (\n <div className={classNames(offsetTableStyles.searchCellWrapper)}>\n <div className={offsetTableStyles.searchCell}>\n <AdvancedSearch\n companyIds={null}\n subjectWellId={subjectWellId}\n onChange={handleAddRemoveAssets}\n selectedWellIds={selectedWellIds}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n loadingAssetIds={loadingAssetIds}\n filters={filters}\n isLimitedOffsetWells={isLimitedOffsetWells}\n />\n </div>\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n </div>\n )}\n\n <OffsetWellsTable\n isTableLoading={isTableFullLoading}\n subjectWellId={subjectWellId}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n isLastWell={sortedWells.length <= tableRowsCount}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n onRowClick={wellId => wellsMapRef.current?.flyToWell(wellId)}\n taScores={taScores}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n loadingWellIds={loadingWellIds}\n scrollContainerRef={rightColumnRef}\n isAnimatingRef={isAnimatingRef}\n />\n </div>\n </div>\n {isViewOnly && hasValidAssetId && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by \n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator />\n )}\n </div>\n </Modal>\n </>\n );\n};\n"],"names":["PAGE_NAME","AllWellsEffect","useAllWells","_filteredWells$length","isMobile","useViewType","open","usePickerPropsStore","state","isWDUser","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","maxOffsetSize","localMaxOffsetSize","syncAutoEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","Math","min","maxOffsetWellNumber","max","subjectWellId","asset_id","useFetchSubjectWell","fetchedSubjectWell","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","isFilterExpanded","useViewStore","isMapHidden","isHScrollMoved","setIsHScrollMoved","isVScrollMoved","setIsVScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","isLoadAllWells","resetIsLoadAllWells","shouldRecenter","setShouldRecenter","assetCompanyId","companyId","company_id","hasValidAssetId","filters","useFilterStore","lastFilterMutationSource","filterMutationSeq","setFilters","resetFilters","resetSelectionTool","useSelectionToolStore","reset","viewportWells","useViewportStore","wells","areWellMapsEqual","viewportBounds","bounds","_useCompanySafeguard","useCompanySafeguard","companies","canViewCompanies","resetSafeguard","_useState4","_useState3","selectedWells","setSelectedWells","hasUserSelectionEditsRef","lastAppliedExternalSelectionSignatureRef","lastMissingFetchAttemptKeyRef","reconcileRunIdRef","_useState5","_offsetSettings$lastS","lastSelectionZone","_useState6","currentSelectionZone","setCurrentSelectionZone","lastHandledFilterMutationSeq","useEffect","current","prev","nextSelected","filter","w","id","doesWellPassFilters","length","pendingSearchSelectionRef","Set","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","_useState10","_useState9","isSavePending","setIsSavePending","useViewportWells","useInitialBounds","hasSubjectWell","ghostZone","isTileLoading","useTileLoading","_useState11","wellSection","ALL_SECTION_KEY","_useState12","selectedWellSection","setSelectedWellSection","_useState14","_useState13","isTableLoading","setIsTableLoading","isLimitedOffsetWells","_useState16","_useState15","appLoading","setAppLoading","showInfoNotification","rawWells","Array","from","values","areRawWellsLoading","usePinnedWells","selectedWellIds","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","externalSelectedWellIds","externalSelectedWellIdsSignature","getSortedIdsSignature","rawWellsWithSubject","result","existingIds","map","missingPinned","has","concat","missingSearched","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useBicWells","useBicWells","_useBicWells2","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","rawBicWells","isWellSectionColumnVisible","section","value","_ref","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","wellsWithoutCompanyName","companyMap","forEach","company","name","well","_objectSpread","companyName","subjectWell","find","isAllWellsLoaded","reconcileSelectedWellsFromSettings","useCallback","_asyncToGenerator","_regeneratorRuntime","mark","runId","wellsMap","missingIds","fetchAttemptKey","selectedIdsSet","resolvedWells","resolvedIdsSet","wrap","_context","next","abrupt","Map","sent","set","get","undefined","preserved","nextWells","deduped","uniqBy","dedupedIdsSet","size","every","stop","_callee","_x","apply","this","arguments","_ref2","isCancelled","runReconciliation","_callee2","isResolved","_context2","t0","console","error","_ref3","syncOffsetWells","_callee3","isSynced","offsetWellsChanged","_offsetSettings$selec","bicWellIds","bicWellIdsSet","isMatched","wellsByDistance","_selectedWellIds","newOffsetSetting","selectedWellIdsSet","offsetWells","_offsetWells","_context3","wellId","getCoordinatedWells","slice","offsetWellsLimited","filterOptions","useFilterOptions","availableValuesByFilter","_ref4","options","isArray","extractedValues","FilterType","opt","_typeof","v","status","StatusOptions","hasChanges","nextFilters","availableValues","key","selectedValues","validValues","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","filteredWellIdsSet","selectedWellsWithFreshData","uniqueWellsCount","wellsToDisplay","bicWellsToShow","pendingIds","enrichedWells","enrichedIdSet","passingWells","EXCLUDE_RIG_NAME_FILTER","limited","delete","_ref5","_ref7","_ref8","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","isAdding","newAssets","assetType","rigIds","addingWellIds","companyIdsForRigFetch","filterOpts","rigWells","passingRigWells","addingWellIdsSet","addingWells","foundIds","fetchedMissingWells","passingMissingIds","rejectedMissingIds","rejectedSet","_context4","SEARCH_CATEGORIES","fetchWellsByRigIds","finish","add","push","prevIdsSet","uniq","_ref6","_callee4","_x2","_x3","_x4","_x5","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleUpdateMetricsKey","newValue","prevKeys","item","handleChangeSortBy","sortKey","handleChangeOffsetWell","checked","prevWells","enrichedWell","handleChangeAllOffsetWells","data","sortedData","sortArray","handleBatchSelectWells","wellsToSelect","onComplete","currentIds","newWells","attempted","setTimeout","added","availableSlots","limitedWells","fw","handleSelectionZoneConfirm","zone","updateSelectedWellsBySection","rawWellIds","missingWellIds","fetchedWells","sectionWells","_context5","_callee5","_x6","handleChangeWellSection","_context6","_callee6","_x7","selectedWellsCount","_ref9","_ref10","owsWellIds","owsWellIdsSet","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","includes","offsetLabel","performSave","selectedIds","_ref11","normalizeFilters","mapHidden","filterExpanded","handleCancel","_offsetSettings$lastS2","_normalizedFilters$ra","dataIds","normalizedFilters","radius","DEFAULT_RADIUS_MILES","isTableFullLoading","isResetVisible","isEmpty","sideTracks","handleReset","_callee7","_context7","isLoading","ROWS_PER_PAGE","_useState18","_useState17","tableRowsCount","setTableRowsCount","_useState20","_useState19","tableWells","setTableWells","headTableRef","rightColumnRef","scrollPositionRef","isAnimatingRef","useLayoutEffect","scrollTop","headColumn","querySelector","offsetTableStyles","wellNameFixed","classList","remove","noShadow","totalCount","selectedCount","limitReached","_useMemo2","_useMemo","indeterminate","isAllWellsSelected","isImperial","getIsImperial","RESYNC_STATUS","SUCCEEDED","_jsxs","_Fragment","children","_jsx","jsx","Modal","className","styles","modalDialog","title","AppHeader","filteredCount","onChangeMetricsKeys","actions","jsxs","actionsWrapper","Tooltip","placement","Button","onClick","color","resetButtonMobile","ReplayIcon","Replay","startIcon","classNames","typography","regular12","colors","t6","medium12","buttonGap","variant","disabled","prefix","LoaderCircular","offsetWellDialog","NotificationsContainer","LoadingIndicator","contentWrapper","contentBlocked","columnsContainer","leftColumn","WellsMap","ref","offsetWellIds","_ref13","onBatchSelectWells","selectionZone","onSelectionZoneConfirm","onRecenterComplete","rightColumn","onScroll","e","target","scrollLeft","scrollHeight","offsetHeight","round","count","Filter","isHidden","onChangeBicWells","stickyTableWrapper","Table","innerRef","stickyTable","TableHead","OffsetWellsTableHead","onChangeSort","onUpdateMetricsKey","wellNameStyle","isTaColumnVisible","topGradient","_defineProperty","topGradientScrolled","searchCellWrapper","searchCell","AdvancedSearch","companyIds","onChange","onHideAdvancedSearch","OffsetWellsTable","isLastWell","onRowClick","_wellsMapRef$current","flyToWell","scrollContainerRef","viewOnlyInfoContainer"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("react/jsx-runtime"),r=require("@material-ui/core"),o=require("classnames"),n=require("react"),t=require("../CustomInfoIcon/CustomInfoIcon.js"),i=require("../OffsetWellsTable/MetricsSettingMenu.js"),c=require("../../constants.js"),u=require("../../stores/picker-props-store/usePickerPropsStore.js"),p=require("../../stores/view-store/useViewStore.js");require("../../viewport/ViewportProvider.js");var a=require("../../viewport/useViewType.js"),l=require("./LoadAllWellsToggle.js"),m=require("./AppHeader.module.css.js"),d=require("../../../Typography.js");require("../../../../componentsV2/Text/Text.js"),require("../../../../componentsV2/Grid/Grid.js"),require("../../../../componentsV2/Grid/Cell.js"),require("../../../../componentsV2/Header/Header.scss.js");var q=require("../../../../componentsV2/Button/Button.js"),j=require("../../../../componentsV2/ButtonIcon/ButtonIcon.js");require("@babel/runtime/helpers/objectWithoutProperties"),require("../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("@babel/runtime/helpers/slicedToArray"),require("uuid"),require("../../../../componentsV2/Tooltip/Tooltip.scss.js"),require("../../../../componentsV2/Popover/Popover.js"),require("../../../../componentsV2/Radio/Radio.js"),require("../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../componentsV2/Checkbox/Checkbox.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../componentsV2/TextInput/TextInput.js"),require("../../../../componentsV2/Label/Label.js"),require("lodash"),require("../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../componentsV2/TextLink/TextLink.js"),require("../../../../componentsV2/Chip/Chip.js"),require("../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../componentsV2/Avatar/Avatar.js"),require("../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../componentsV2/Paper/Paper.js"),require("../../../../componentsV2/ModalWindow/ModalWindow.js"),require("../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../componentsV2/Menu/Menu.js");var V=require("../../../../icons/iconParkIcons.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../componentsV2/utils.js"),require("../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../componentsV2/Counter/Counter.js"),require("../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../componentsV2/TemplatesControl/Store/utils.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../componentsV2/TemplatesControl/types.js"),require("../../../../utils/index.js"),require("../../../../clients/jsonApi/index.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../permissions/constants/index.js"),require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../componentsV2/Switch/Switch.js"),require("../../../../componentsV2/Tabs/Tabs.js"),require("../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../utils/main.js"),require("../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../componentsV2/AppFooter/AppFooter.js"),require("immutable"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../GradientManager/configuration/constants.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router"),require("../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../constants/streamSourceType.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("moment"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../AppIcon/AppIcon.js"),require("../../../../utils/getSingleAsset.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../clients/subscriptions/constants.js"),require("querystring"),require("uuid/v1"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("jsona"),require("../../../../utils/env.js"),require("../../../StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../componentsV2/AppContainer/headerCommon.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../componentsV2/Autocomplete/Autocomplete.scss.js"),require("../../../../componentsV2/Menu/MenuItem/MenuItem.js"),require("../../../../componentsV2/Autocomplete/AutocompleteListBox.js"),require("../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../componentsV2/Slider/constants.js"),require("../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../componentsV2/Slider/Slider.scss.js");var C=A(e),S=A(o);exports.AppHeader=function(e){var o=e.totalCount,A=e.filteredCount,I=e.selectedCount,h=e.maxOffsetWellNumber,g=e.isXtoProvider,v=e.resyncStatus,x=e.setResyncStatus,T=e.metricsKeys,b=e.onChangeMetricsKeys,f=a.useViewType().isMobile,P=u.usePickerPropsStore((function(e){return e.isViewOnly})),D=u.usePickerPropsStore((function(e){return e.isGlobalMode})),H=p.useViewStore((function(e){return e.isFilterExpanded})),y=p.useViewStore((function(e){return e.toggleFilterExpanded})),M=p.useViewStore((function(e){return e.isMapHidden})),B=p.useViewStore((function(e){return e.toggleMapHidden})),L=n.useCallback((function(){x(c.RESYNC_STATUS.TRIGGERED)}),[x]),F=v===c.RESYNC_STATUS.RUNNING;return s.jsxs("div",{className:m.headerContainer,children:[s.jsxs("div",{className:S.default(m.leftSection,C.default({},m.leftSectionMobile,f)),children:[s.jsx(d.Regular20,{children:"Offset Wells"}),!f&&s.jsxs(s.Fragment,{children:[s.jsx(r.Divider,{className:m.divideLine}),s.jsx(l.LoadAllWellsToggle,{disabled:P})]}),s.jsx(d.Regular14,{className:m.totalLabel,children:"Total:"}),s.jsx(d.Regular14,{"data-testid":"".concat("AppHeader","_totalWells"),className:m.countValue,children:o}),A!==o&&s.jsxs(s.Fragment,{children:[s.jsx(d.Regular14,{className:m.filteredLabel,children:"Filtered:"}),s.jsx(d.Regular14,{"data-testid":"".concat("AppHeader","_filteredWells"),className:m.countValue,children:A})]}),s.jsx(d.Regular14,{className:m.selectedLabel,children:"Selected:"}),s.jsx(d.Regular14,{"data-testid":"".concat("AppHeader","_selected"),className:m.countValue,children:I}),D?s.jsx(d.Regular12,{className:S.default(m.maxOffsetSize,m.maxOffsetSizeGlobal),children:"No global limit. Each app may have its own offset limit."}):s.jsx(r.Tooltip,{title:"App can't process more than (".concat(h-1,") Offset Wells."),placement:"right",children:s.jsxs(d.Regular12,{"data-testid":"".concat("AppHeader","_maxOffsetSize"),className:m.maxOffsetSize,children:["/",h-1]})}),P&&s.jsx(t.CustomInfoIcon,{})]}),s.jsxs("div",{className:m.rightSection,children:[g&&(f?s.jsx(r.Tooltip,{title:"Re-Sync with IDAS",children:s.jsx(j.ButtonIcon,{size:"small",type:"primary",onClick:L,disabled:P||F,children:s.jsx(V.RefreshIcon,{})})}):s.jsx(q.Button,{size:"small",type:"primary",onClick:L,disabled:P||F,children:"Re-Sync with IDAS"})),!f&&s.jsxs(s.Fragment,{children:[s.jsx(r.Tooltip,{title:"Filters",children:s.jsx(j.ButtonIcon,{testId:"".concat("AppHeader","_filters"),size:"small",type:H?"secondaryBg":"tertiaryBg",onClick:y,disabled:P,children:s.jsx(V.CenterAlignmentIcon,{})})}),s.jsx(r.Tooltip,{title:"Map",children:s.jsx(j.ButtonIcon,{testId:"".concat("AppHeader","_map"),size:"small",type:M?"tertiaryBg":"secondaryBg",onClick:B,children:s.jsx(V.MapDrawIcon,{})})}),s.jsx(i.MetricsSettingMenu,{metricsKeys:T,onChange:b})]})]})]})};
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("react/jsx-runtime"),r=require("@material-ui/core"),o=require("classnames"),n=require("react"),t=require("../CustomInfoIcon/CustomInfoIcon.js"),i=require("../OffsetWellsTable/MetricsSettingMenu.js"),c=require("../../constants.js"),u=require("../../stores/picker-props-store/usePickerPropsStore.js"),p=require("../../stores/view-store/useViewStore.js");require("../../viewport/ViewportProvider.js");var a=require("../../viewport/useViewType.js"),l=require("./LoadAllWellsToggle.js"),m=require("./AppHeader.module.css.js"),d=require("../../../Typography.js");require("../../../../componentsV2/Text/Text.js"),require("../../../../componentsV2/Grid/Grid.js"),require("../../../../componentsV2/Grid/Cell.js"),require("../../../../componentsV2/Header/Header.scss.js");var q=require("../../../../componentsV2/Button/Button.js"),j=require("../../../../componentsV2/ButtonIcon/ButtonIcon.js");require("@babel/runtime/helpers/objectWithoutProperties"),require("../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("@babel/runtime/helpers/slicedToArray"),require("uuid"),require("../../../../componentsV2/Tooltip/Tooltip.scss.js"),require("../../../../componentsV2/Popover/Popover.js"),require("../../../../componentsV2/Radio/Radio.js"),require("../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../componentsV2/Checkbox/Checkbox.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../componentsV2/TextInput/TextInput.js"),require("../../../../componentsV2/Label/Label.js"),require("lodash"),require("../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../componentsV2/TextLink/TextLink.js"),require("../../../../componentsV2/Chip/Chip.js"),require("../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../componentsV2/Avatar/Avatar.js"),require("../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../componentsV2/Paper/Paper.js"),require("../../../../componentsV2/ModalWindow/ModalWindow.js"),require("../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../componentsV2/Menu/Menu.js");var V=require("../../../../icons/iconParkIcons.js");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../componentsV2/utils.js"),require("../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../componentsV2/Counter/Counter.js"),require("../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../componentsV2/TemplatesControl/Store/utils.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../componentsV2/TemplatesControl/types.js"),require("../../../../utils/index.js"),require("../../../../clients/jsonApi/index.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../permissions/constants/index.js"),require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../componentsV2/Switch/Switch.js"),require("../../../../componentsV2/Tabs/Tabs.js"),require("../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../utils/main.js"),require("../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../componentsV2/AppFooter/AppFooter.js"),require("immutable"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../GradientManager/configuration/constants.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router"),require("../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../constants/streamSourceType.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("moment"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../AppIcon/AppIcon.js"),require("../../../../utils/getSingleAsset.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../clients/subscriptions/constants.js"),require("querystring"),require("uuid/v1"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("jsona"),require("../../../../utils/env.js"),require("../../../StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../componentsV2/Autocomplete/Autocomplete.scss.js"),require("../../../../componentsV2/Menu/MenuItem/MenuItem.js"),require("../../../../componentsV2/Autocomplete/AutocompleteListBox.js"),require("../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../componentsV2/Slider/constants.js"),require("../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../componentsV2/Slider/Slider.scss.js");var C=A(e),S=A(o);exports.AppHeader=function(e){var o=e.totalCount,A=e.filteredCount,I=e.selectedCount,h=e.maxOffsetWellNumber,g=e.isXtoProvider,v=e.resyncStatus,x=e.setResyncStatus,T=e.metricsKeys,b=e.onChangeMetricsKeys,f=a.useViewType().isMobile,P=u.usePickerPropsStore((function(e){return e.isViewOnly})),D=u.usePickerPropsStore((function(e){return e.isGlobalMode})),H=p.useViewStore((function(e){return e.isFilterExpanded})),y=p.useViewStore((function(e){return e.toggleFilterExpanded})),M=p.useViewStore((function(e){return e.isMapHidden})),B=p.useViewStore((function(e){return e.toggleMapHidden})),L=n.useCallback((function(){x(c.RESYNC_STATUS.TRIGGERED)}),[x]),F=v===c.RESYNC_STATUS.RUNNING;return s.jsxs("div",{className:m.headerContainer,children:[s.jsxs("div",{className:S.default(m.leftSection,C.default({},m.leftSectionMobile,f)),children:[s.jsx(d.Regular20,{children:"Offset Wells"}),!f&&s.jsxs(s.Fragment,{children:[s.jsx(r.Divider,{className:m.divideLine}),s.jsx(l.LoadAllWellsToggle,{disabled:P})]}),s.jsx(d.Regular14,{className:m.totalLabel,children:"Total:"}),s.jsx(d.Regular14,{"data-testid":"".concat("AppHeader","_totalWells"),className:m.countValue,children:o}),A!==o&&s.jsxs(s.Fragment,{children:[s.jsx(d.Regular14,{className:m.filteredLabel,children:"Filtered:"}),s.jsx(d.Regular14,{"data-testid":"".concat("AppHeader","_filteredWells"),className:m.countValue,children:A})]}),s.jsx(d.Regular14,{className:m.selectedLabel,children:"Selected:"}),s.jsx(d.Regular14,{"data-testid":"".concat("AppHeader","_selected"),className:m.countValue,children:I}),D?s.jsx(d.Regular12,{className:S.default(m.maxOffsetSize,m.maxOffsetSizeGlobal),children:"No global limit. Each app may have its own offset limit."}):s.jsx(r.Tooltip,{title:"App can't process more than (".concat(h-1,") Offset Wells."),placement:"right",children:s.jsxs(d.Regular12,{"data-testid":"".concat("AppHeader","_maxOffsetSize"),className:m.maxOffsetSize,children:["/",h-1]})}),P&&s.jsx(t.CustomInfoIcon,{})]}),s.jsxs("div",{className:m.rightSection,children:[g&&(f?s.jsx(r.Tooltip,{title:"Re-Sync with IDAS",children:s.jsx(j.ButtonIcon,{size:"small",type:"primary",onClick:L,disabled:P||F,children:s.jsx(V.RefreshIcon,{})})}):s.jsx(q.Button,{size:"small",type:"primary",onClick:L,disabled:P||F,children:"Re-Sync with IDAS"})),!f&&s.jsxs(s.Fragment,{children:[s.jsx(r.Tooltip,{title:"Filters",children:s.jsx(j.ButtonIcon,{testId:"".concat("AppHeader","_filters"),size:"small",type:H?"secondaryBg":"tertiaryBg",onClick:y,disabled:P,children:s.jsx(V.CenterAlignmentIcon,{})})}),s.jsx(r.Tooltip,{title:"Map",children:s.jsx(j.ButtonIcon,{testId:"".concat("AppHeader","_map"),size:"small",type:M?"tertiaryBg":"secondaryBg",onClick:B,children:s.jsx(V.MapDrawIcon,{})})}),s.jsx(i.MetricsSettingMenu,{metricsKeys:T,onChange:b})]})]})]})};
|
|
2
2
|
//# sourceMappingURL=AppHeader.js.map
|