@corva/ui 3.78.0-3 → 3.78.0-4
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/clients/index.js +1 -1
- package/cjs-bundle/clients/index.js.map +1 -1
- package/cjs-bundle/clients/subscriptions/constants.js +1 -1
- package/cjs-bundle/clients/subscriptions/constants.js.map +1 -1
- package/cjs-bundle/clients/subscriptions.js +1 -1
- package/cjs-bundle/clients/subscriptions.js.map +1 -1
- package/cjs-bundle/components/AddComment/Popover.js +1 -1
- package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
- package/cjs-bundle/components/AssetEditor/effects/index.js +1 -1
- package/cjs-bundle/components/AssetEditor/effects/index.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/index.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/index.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
- package/cjs-bundle/components/Attachment/index.js +1 -1
- package/cjs-bundle/components/Attachment/index.js.map +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
- package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js +1 -1
- package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
- package/cjs-bundle/components/CommentComposer/CommentComposer.js +1 -1
- package/cjs-bundle/components/CommentComposer/CommentComposer.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.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/FeedItem/FeedItem.js +1 -1
- package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientManager.js.map +1 -1
- package/cjs-bundle/components/GradientManager/GradientSelect.js +1 -1
- package/cjs-bundle/components/GradientManager/GradientSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/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/components/HeaderActions/HeaderActions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsData.utils.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsData.utils.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsFetch.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsFetch.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyProvider.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyProvider.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useFetchSubjectWell.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useFetchSubjectWell.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useSearchedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useSearchedWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useAllWells/useLoadAllWellsCallback.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useAllWells/useLoadAllWellsCallback.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useCompanies.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useCompanies.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useExternalOffsets.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useExternalOffsets.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useIsAdmin.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useIsAdmin.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/usePinnedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/usePinnedWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js.map +1 -1
- package/cjs-bundle/components/PadModeSelect/effects/useWellStreamActivityTypeSubscription.js +1 -1
- package/cjs-bundle/components/PadModeSelect/effects/useWellStreamActivityTypeSubscription.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/cjs-bundle/components/PinnableFilters/effects/index.js +1 -1
- package/cjs-bundle/components/PinnableFilters/effects/index.js.map +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
- package/cjs-bundle/components/index.js +1 -1
- package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
- package/cjs-bundle/componentsV2/AppFooter/DqPopover/DqPopover.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/AppAssets/utils.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/Actions/Actions.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AppTitle/AppTitle.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js.map +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
- package/cjs-bundle/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js.map +1 -1
- package/cjs-bundle/componentsV2/AppPanel/AppPanelDisplay.js +1 -1
- package/cjs-bundle/componentsV2/AppPanel/AppPanelDisplay.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/cjs-bundle/componentsV2/InterventionEventSelector/useInterventionUnitEvents.js +1 -1
- package/cjs-bundle/componentsV2/InterventionEventSelector/useInterventionUnitEvents.js.map +1 -1
- package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
- package/cjs-bundle/componentsV2/PadModeSelect/PadModeSelect.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/PublishModal/PublishModal.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/ShareModal/ShareModal.js.map +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
- package/cjs-bundle/componentsV2/TemplatesControl/Toggle/Toggle.js.map +1 -1
- package/cjs-bundle/componentsV2/TextInputBase/TextInputBase.js +1 -1
- package/cjs-bundle/componentsV2/TextInputBase/TextInputBase.js.map +1 -1
- package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js +1 -1
- package/cjs-bundle/componentsV2/TextInputNext/TextInputNext.js.map +1 -1
- package/cjs-bundle/effects/index.js +1 -1
- package/cjs-bundle/effects/subscriptions/fetchInitialSubscriptionsData.js +2 -0
- package/cjs-bundle/effects/subscriptions/fetchInitialSubscriptionsData.js.map +1 -0
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v2.js +1 -1
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v2.js.map +1 -1
- package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
- package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
- package/cjs-bundle/effects/useSubscriptions.js +1 -1
- package/cjs-bundle/effects/useSubscriptions.js.map +1 -1
- package/cjs-bundle/effects/useWellnessAlerts.js +1 -1
- package/cjs-bundle/effects/useWellnessAlerts.js.map +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
- package/clients/index.d.ts +1 -9
- package/clients/index.d.ts.map +1 -1
- package/clients/index.js +1 -1
- package/clients/index.js.map +1 -1
- package/clients/subscriptions/constants.d.ts +0 -1
- package/clients/subscriptions/constants.d.ts.map +1 -1
- package/clients/subscriptions/constants.js +1 -1
- package/clients/subscriptions/constants.js.map +1 -1
- package/clients/subscriptions.d.ts.map +1 -1
- package/clients/subscriptions.js +1 -1
- package/clients/subscriptions.js.map +1 -1
- package/components/AddComment/Popover.js +1 -1
- package/components/AddComment/Popover.js.map +1 -1
- package/components/AddComment/components/Content.js +1 -1
- package/components/AddComment/components/Content.js.map +1 -1
- package/components/AssetEditor/effects/index.js +1 -1
- package/components/AssetEditor/effects/index.js.map +1 -1
- package/components/AssetEditorV2/effects/index.js +1 -1
- package/components/AssetEditorV2/effects/index.js.map +1 -1
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js +1 -1
- package/components/AssetEditorV2/effects/usePrimaryAssetSelectData.js.map +1 -1
- package/components/Attachment/index.js +1 -1
- package/components/Attachment/index.js.map +1 -1
- package/components/BICOffsetPickerDialog/index.js +1 -1
- package/components/BICOffsetPickerDialog/index.js.map +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
- package/components/Casing/CasingTableV2/components/Component.js +1 -1
- package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
- package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
- package/components/CollapsableSidebar.js +1 -1
- package/components/CollapsableSidebar.js.map +1 -1
- package/components/CommentComposer/CommentComposer.js +1 -1
- package/components/CommentComposer/CommentComposer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus.js.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js.map +1 -1
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
- package/components/FeedItem/FeedItem.js +1 -1
- package/components/FeedItem/FeedItem.js.map +1 -1
- package/components/GradientManager/GradientManager.js +1 -1
- package/components/GradientManager/GradientManager.js.map +1 -1
- package/components/GradientManager/GradientSelect.js +1 -1
- package/components/GradientManager/GradientSelect.js.map +1 -1
- package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
- package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
- package/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/components/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/index.js +1 -1
- package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/HeaderActions/HeaderActions.js.map +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js +1 -1
- package/components/OffsetWellPickerV5/components/AppHeader/components/LoadAllWellsToggle/LoadAllWellsToggle.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/PeriodFilterSelect/PeriodFilterSelect.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/ClusterTooltip/ClusterTooltip.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/LayerSwitcher/LayerSwitcher.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapControls/MapControls.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/MapHints/MapHintsStash.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js +1 -1
- package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/components/SubjectWellMarker/SubjectWellMarker.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/OffsetWellPickerV5WithStore.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/CompanySafeguardWrapper/CompanySafeguardWrapper.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellPickerV5WithStore/components/UserSettingsWrapper/UserSettingsWrapper.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AssetResultSection/AssetResultSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/components/AutoCompleteAssetSearch/AutoCompleteAssetSearch.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsData.utils.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsData.utils.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsFetch.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/hooks/useAssetsFetch.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/CompanyCell/CompanyCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/FormationCell/FormationCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/InterventionAssetCell/InterventionAssetCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/PadNameCell/PadNameCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/RigCell/RigCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/WellNameCell/WellNameCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/MetricCell/MetricCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/SettingsMenu.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/MetricsSettingsSection/MetricsSettingsSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SettingsMenu/components/TableSettingsSection/TableSettingsSection.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/WellNameHeaderCell/WellNameHeaderCell.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js.map +1 -1
- package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js +1 -1
- package/components/OffsetWellPickerV5/components/PickerModalActions/PickerModalActions.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useAdvancedWells.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyMetricKey.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyProvider.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useCompanyProvider.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useFetchSubjectWell.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useFetchSubjectWell.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useSearchedWells.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useSearchedWells.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useAllWells/useLoadAllWellsCallback.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useAllWells/useLoadAllWellsCallback.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useCompanies.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useCompanies.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useExternalOffsets.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useExternalOffsets.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useIsAdmin.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useIsAdmin.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/usePinnedWells.js +1 -1
- package/components/OffsetWellPickerV5/hooks/usePinnedWells.js.map +1 -1
- package/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js +1 -1
- package/components/OffsetWellPickerV5/stores/idas-resync-store/createIdasResyncController.js.map +1 -1
- package/components/PadModeSelect/effects/useWellStreamActivityTypeSubscription.js +1 -1
- package/components/PadModeSelect/effects/useWellStreamActivityTypeSubscription.js.map +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js +1 -1
- package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
- package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
- package/components/PinnableFilters/effects/index.js +1 -1
- package/components/PinnableFilters/effects/index.js.map +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
- package/components/RealTimeValuesSidebar/SidebarFooter.js.map +1 -1
- package/components/index.js +1 -1
- package/componentsV2/AppFooter/DqPopover/DqPopover.js +1 -1
- package/componentsV2/AppFooter/DqPopover/DqPopover.js.map +1 -1
- package/componentsV2/AppHeader/AppAssets/utils.js +1 -1
- package/componentsV2/AppHeader/AppAssets/utils.js.map +1 -1
- package/componentsV2/AppHeader/V3/Actions/Actions.js +1 -1
- package/componentsV2/AppHeader/V3/Actions/Actions.js.map +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js +1 -1
- package/componentsV2/AppHeader/V3/AppTitle/AppTitle.js.map +1 -1
- package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
- package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js.map +1 -1
- package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js +1 -1
- package/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js.map +1 -1
- package/componentsV2/AppPanel/AppPanelDisplay.js +1 -1
- package/componentsV2/AppPanel/AppPanelDisplay.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/Map/Map.js.map +1 -1
- package/componentsV2/InterventionEventSelector/useInterventionUnitEvents.js +1 -1
- package/componentsV2/InterventionEventSelector/useInterventionUnitEvents.js.map +1 -1
- package/componentsV2/PadModeSelect/PadModeSelect.js +1 -1
- package/componentsV2/PadModeSelect/PadModeSelect.js.map +1 -1
- package/componentsV2/TemplatesControl/PublishModal/PublishModal.js +1 -1
- package/componentsV2/TemplatesControl/PublishModal/PublishModal.js.map +1 -1
- package/componentsV2/TemplatesControl/ShareModal/ShareModal.js +1 -1
- package/componentsV2/TemplatesControl/ShareModal/ShareModal.js.map +1 -1
- package/componentsV2/TemplatesControl/Toggle/Toggle.js +1 -1
- package/componentsV2/TemplatesControl/Toggle/Toggle.js.map +1 -1
- package/componentsV2/TextInputBase/TextInputBase.js +1 -1
- package/componentsV2/TextInputBase/TextInputBase.js.map +1 -1
- package/componentsV2/TextInputNext/TextInputNext.js +1 -1
- package/componentsV2/TextInputNext/TextInputNext.js.map +1 -1
- package/effects/index.js +1 -1
- package/effects/subscriptions/fetchInitialSubscriptionsData.d.ts +23 -0
- package/effects/subscriptions/fetchInitialSubscriptionsData.d.ts.map +1 -0
- package/effects/subscriptions/fetchInitialSubscriptionsData.js +2 -0
- package/effects/subscriptions/fetchInitialSubscriptionsData.js.map +1 -0
- package/effects/subscriptions/useSubscriptions.v2.d.ts.map +1 -1
- package/effects/subscriptions/useSubscriptions.v2.js +1 -1
- package/effects/subscriptions/useSubscriptions.v2.js.map +1 -1
- package/effects/useGlobalOffsetWellsSync.js +1 -1
- package/effects/useGlobalOffsetWellsSync.js.map +1 -1
- package/effects/useSubscriptions.d.ts +1 -2
- package/effects/useSubscriptions.d.ts.map +1 -1
- package/effects/useSubscriptions.js +1 -1
- package/effects/useSubscriptions.js.map +1 -1
- package/effects/useWellnessAlerts.js +1 -1
- package/effects/useWellnessAlerts.js.map +1 -1
- package/mcp-server/server.mjs +17 -5
- package/package.json +1 -1
- package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
- package/testing/AppTestWrapper/AppTestWrapper.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/cjs-bundle/clients/subscriptions.v1.js +0 -2
- package/cjs-bundle/clients/subscriptions.v1.js.map +0 -1
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v1.js +0 -2
- package/cjs-bundle/effects/subscriptions/useSubscriptions.v1.js.map +0 -1
- package/clients/subscriptions.v1.d.ts +0 -9
- package/clients/subscriptions.v1.d.ts.map +0 -1
- package/clients/subscriptions.v1.js +0 -2
- package/clients/subscriptions.v1.js.map +0 -1
- package/effects/subscriptions/useSubscriptions.v1.d.ts +0 -24
- package/effects/subscriptions/useSubscriptions.v1.d.ts.map +0 -1
- package/effects/subscriptions/useSubscriptions.v1.js +0 -2
- package/effects/subscriptions/useSubscriptions.v1.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/toConsumableArray";import s from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/helpers/typeof";import{useState as i,useRef as c,useCallback as e,useEffect as r,useMemo as m,Fragment as p}from"react";import l from"classnames";import{ButtonIcon as u}from"../../../ButtonIcon/ButtonIcon.js";import{Tooltip as a}from"../../../Tooltip/Tooltip.js";import{SettingsButton as d}from"../SettingsButton/SettingsButton.js";import"../SettingsButton/SettingsButton.constants.js";import{Menu as j}from"../../../Menu/Menu.js";import"../../../AppCommonsProvider/AppCommonsProvider.js";import{useAppCommonsInternal as I}from"../../../AppCommonsProvider/AppCommonsContext.js";import{useAppSettingsPanel as f}from"../../../AppPanel/AppPanelsContext.js";import{HideInNativeApp as C}from"../../../HideInNativeApp/index.js";import{ActionsTestIds as h}from"./Actions.constants.js";import b from"./Actions.scss.js";import{CollapseIcon as g,ExpandIcon as v,CloseSmallIcon as y,MoreOneIcon as O,MessageIcon as A,SettingTwoIcon as B}from"../../../../icons/iconParkIcons.js";import{AddMessageCustomIcon as P}from"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.js";import"../../../../icons/customIcons/icons/Attention.js";import"../../../../icons/customIcons/icons/Collapse.js";import"../../../../icons/customIcons/icons/Dashboard.js";import"../../../../icons/customIcons/icons/Expand.js";import"../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../icons/customIcons/icons/Search.js";import"../../../../icons/customIcons/icons/SearchOne.js";import"../../../../icons/customIcons/icons/Wellhub.js";import"../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../icons/customIcons/icons/Checkbox.js";import"../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../icons/customIcons/icons/Radio.js";import"../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../icons/customIcons/icons/InfoRounded.js";import"../../../../icons/customIcons/icons/FlameFilled.js";import"../../../../icons/customIcons/icons/MoreApp.js";import"../../../../icons/customIcons/icons/Pad.js";import"../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/PinOne.js";import"../../../../icons/customIcons/icons/PinOneCrossed.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../icons/customIcons/icons/Company.js";import"../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../icons/customIcons/icons/Connect.js";import"../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../icons/customIcons/icons/Feed.js";import"../../../../icons/customIcons/icons/Prompt.js";import"../../../../icons/customIcons/icons/Companies.js";import"../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../icons/customIcons/icons/Key.js";import"../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../icons/customIcons/icons/MappingManual.js";import"../../../../icons/customIcons/icons/Mapping.js";import"../../../../icons/customIcons/icons/Metrics.js";import"../../../../icons/customIcons/icons/Drops.js";import"../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../icons/customIcons/icons/Template.js";import"../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../icons/customIcons/icons/NPT.js";import"../../../../icons/customIcons/icons/GuidedFrac.js";import"../../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"lodash";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/jsonApi/index.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"query-string";import"../../../../constants/goals.js";import"../../../../constants/segment.js";import"../../../../constants/alerts.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/completion.js";import"../../../../constants/appPackages.js";import"../../../../constants/notifications.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"../../../../components/GradientManager/configuration/constants.js";import"../../../../components/UserMention/utils/index.js";import"../../../../utils/convert.js";import"moment";import"../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import"../../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as S}from"../../../../utils/mobileDetect.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import"../../../../utils/dashboardReports.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"@babel/runtime/helpers/objectWithoutProperties";import"../../../../utils/charts/Styles.scss.js";import"../../../../utils/getSingleAsset.js";import"uuid";import"../../../../components/StatusBadge/constants.js";import"lodash/unset";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import"../../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import{useAppCommentsMode as M,useSetAppCommentsMode as F}from"../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import{jsx as k,jsxs as x,Fragment as w}from"react/jsx-runtime";function T(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,n)}return t}function D(o){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){s(o,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(n,s))}))}return o}var z=function(o){return!!o&&"object"===n(o)&&"title"in o},E=function(s){var n=s.additionalActions,T=s.showComments,E=s.disableSettings,W=s.hideSettingsUnderMore,N=I(),R=N.maximized,U=N.setMaximized,G=N.appSettingsComponent,q=N.isExpanded,L=N.isBrowserFullscreen,H=N.enterBrowserFullscreen,K=N.exitBrowserFullscreen,Z=N.isSeparateWindow,J=N.openSeparateWindow,Q=N.closeSeparateWindow,V=N.dashboardMeta,X=!(null==V||!V.isEmbedded),Y=M(),$=F(),_=i(!1),oo=t(_,2),so=oo[0],to=oo[1],no=c(null),io=c(null),co=i(!0),eo=t(co,2),ro=eo[0],mo=eo[1],po=i(!1),lo=t(po,2),uo=lo[0],ao=lo[1],jo=c(null),Io=c(!1),fo=f(),Co=fo.open,ho=fo.isOpen,bo=!!G&&!E,go=e((function(){to((function(o){return!o}))}),[]),vo=e((function(){$((function(o){return!o}))}),[$]),yo=e((function(){Io.current=!1,ao(!1)}),[]),Oo=e((function(){mo(!1),yo(),Z?null==Q||Q():L?null==K||K():U(!R)}),[yo,Q,K,L,Z,R,U]),Ao=Z?"Close Separate Window":q?"Restore":"Maximize",Bo=e((function(){jo.current&&(clearTimeout(jo.current),jo.current=null)}),[]),Po=e((function(){!q&&H&&(Bo(),jo.current=setTimeout((function(){Io.current=!0,ao(!0)}),500))}),[Bo,H,q]);r((function(){return Bo}),[Bo]);var So=e((function(){Io.current?Io.current=!1:Oo()}),[Oo]),Mo=e((function(){yo(),null==J||J()}),[yo,J]),Fo=e((function(){yo(),null==H||H()}),[yo,H]);r((function(){mo(!0)}),[q]);var ko=m((function(){if(S)return[];var s=function(o){return function(){go(),null==o||o()}},t=(n||[]).filter(z).map((function(o){return D(D({},o),{},{onClick:s(o.onClick)})})),i={icon:k(A,{}),onClick:s(vo),title:Y?"Close Comments Mode":"Add Comment"},c={title:Ao,onClick:s(Oo),icon:k(q?g:v,{})},e={title:"Settings",onClick:s(Co),icon:k(B,{})};return[].concat(o(t),o(T?[i]:[]),o(W&&bo?[e]:[]),o(X?[]:[c]))}),[n,Y,W,q,Ao,Co,bo,T,X,vo,Oo,go]),xo=ko.length>(X?0:1),wo=k(u,{size:"small",type:"tertiaryBg",ref:io,onClick:So,onMouseDown:Po,onMouseUp:Bo,onMouseLeave:Bo,className:xo?b.fullscreenButton:void 0,testId:q?h.CollapseButtonTestId:h.ExpandButtonTestId,children:k(q?g:v,{})}),To=ro?k(a,{title:Ao,children:wo}):wo;return x(w,{children:[k(C,{children:null==n?void 0:n.map((function(o,s){return z(o)?k(a,{title:o.title,children:k(u,{size:"small",type:"tertiary",onClick:o.onClick,className:l(b.additionalActionButton),testId:h.AdditionalActionItemTestId,children:o.icon})},s):k(p,{children:o},s)}))}),k(C,{children:T&&k(a,{title:Y?"Close Comments Mode":"Add Comment",children:k(u,{size:"small",type:Y?"secondaryBg":"tertiaryBg",onClick:vo,className:xo?b.commentButton:void 0,testId:Y?h.CloseCommentButtonTestId:h.AddMessageButtonTestId,children:Y?k(y,{}):k(P,{fill:"currentColor"})})})}),bo&&k(d,{className:W&&!S?b.settingsHiddenUnderMore:void 0}),x(C,{children:[!X&&To,!X&&io.current&&x(j,{anchorEl:io.current,open:uo,onClose:yo,placement:"bottom-end",children:[k(j.Item,{onClick:Oo,testId:h.MaximizeItemTestId,children:"Maximize"}),k(j.Item,{onClick:Fo,testId:h.BrowserFullscreenItemTestId,children:"Full Screen"}),k(j.Item,{onClick:Mo,testId:h.SeparateWindowItemTestId,children:"Separate Window"})]})]}),x(C,{children:[xo&&k(a,{title:"More",children:k(u,{type:so||W&&ho?"secondaryBg":"tertiaryBg",className:b.moreButton,ref:no,testId:h.MoreButtonTestId,onClick:go,size:"small",children:k(O,{})})}),xo&&no.current&&k(j,{anchorEl:no.current,open:so,onClose:go,placement:"bottom-end",children:ko.map((function(o,s){return k(j.Item,{size:"large",prefix:o.icon,onClick:o.onClick,children:o.title},s)}))})]})]})};export{E as Actions};
|
|
1
|
+
import o from"@babel/runtime/helpers/toConsumableArray";import s from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/helpers/typeof";import{useState as i,useRef as c,useCallback as e,useEffect as r,useMemo as m,Fragment as p}from"react";import l from"classnames";import{ButtonIcon as u}from"../../../ButtonIcon/ButtonIcon.js";import{Tooltip as a}from"../../../Tooltip/Tooltip.js";import{SettingsButton as d}from"../SettingsButton/SettingsButton.js";import"../SettingsButton/SettingsButton.constants.js";import{Menu as j}from"../../../Menu/Menu.js";import"../../../AppCommonsProvider/AppCommonsProvider.js";import{useAppCommonsInternal as I}from"../../../AppCommonsProvider/AppCommonsContext.js";import{useAppSettingsPanel as f}from"../../../AppPanel/AppPanelsContext.js";import{HideInNativeApp as C}from"../../../HideInNativeApp/index.js";import{ActionsTestIds as h}from"./Actions.constants.js";import b from"./Actions.scss.js";import{CollapseIcon as g,ExpandIcon as y,CloseSmallIcon as v,MoreOneIcon as O,MessageIcon as A,SettingTwoIcon as B}from"../../../../icons/iconParkIcons.js";import{AddMessageCustomIcon as P}from"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.js";import"../../../../icons/customIcons/icons/Attention.js";import"../../../../icons/customIcons/icons/Collapse.js";import"../../../../icons/customIcons/icons/Dashboard.js";import"../../../../icons/customIcons/icons/Expand.js";import"../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../icons/customIcons/icons/Search.js";import"../../../../icons/customIcons/icons/SearchOne.js";import"../../../../icons/customIcons/icons/Wellhub.js";import"../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../icons/customIcons/icons/Checkbox.js";import"../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../icons/customIcons/icons/Radio.js";import"../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../icons/customIcons/icons/InfoRounded.js";import"../../../../icons/customIcons/icons/FlameFilled.js";import"../../../../icons/customIcons/icons/MoreApp.js";import"../../../../icons/customIcons/icons/Pad.js";import"../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/PinOne.js";import"../../../../icons/customIcons/icons/PinOneCrossed.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../icons/customIcons/icons/Company.js";import"../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../icons/customIcons/icons/Connect.js";import"../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../icons/customIcons/icons/Feed.js";import"../../../../icons/customIcons/icons/Prompt.js";import"../../../../icons/customIcons/icons/Companies.js";import"../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../icons/customIcons/icons/Key.js";import"../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../icons/customIcons/icons/MappingManual.js";import"../../../../icons/customIcons/icons/Mapping.js";import"../../../../icons/customIcons/icons/Metrics.js";import"../../../../icons/customIcons/icons/Drops.js";import"../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../icons/customIcons/icons/Template.js";import"../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../icons/customIcons/icons/NPT.js";import"../../../../icons/customIcons/icons/GuidedFrac.js";import"querystring";import"lodash";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../clients/jsonApi/index.js";import"query-string";import"../../../../constants/goals.js";import"../../../../constants/segment.js";import"../../../../constants/alerts.js";import"../../../../constants/apps.js";import"../../../../constants/drillstring.js";import"../../../../constants/completion.js";import"../../../../constants/appPackages.js";import"../../../../constants/notifications.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"../../../../components/GradientManager/configuration/constants.js";import"../../../../components/UserMention/utils/index.js";import"../../../../utils/convert.js";import"moment";import"../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import"../../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as S}from"../../../../utils/mobileDetect.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import"../../../../utils/dashboardReports.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"@babel/runtime/helpers/objectWithoutProperties";import"../../../../utils/charts/Styles.scss.js";import"../../../../utils/getSingleAsset.js";import"uuid";import"../../../../components/StatusBadge/constants.js";import"lodash/unset";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import"../../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import{useAppCommentsMode as M,useSetAppCommentsMode as F}from"../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import{jsx as k,jsxs as x,Fragment as w}from"react/jsx-runtime";function T(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,n)}return t}function D(o){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?T(Object(n),!0).forEach((function(t){s(o,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(n)):T(Object(n)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(n,s))}))}return o}var z=function(o){return!!o&&"object"===n(o)&&"title"in o},E=function(s){var n=s.additionalActions,T=s.showComments,E=s.disableSettings,W=s.hideSettingsUnderMore,N=I(),R=N.maximized,U=N.setMaximized,G=N.appSettingsComponent,q=N.isExpanded,L=N.isBrowserFullscreen,H=N.enterBrowserFullscreen,K=N.exitBrowserFullscreen,Z=N.isSeparateWindow,J=N.openSeparateWindow,Q=N.closeSeparateWindow,V=N.dashboardMeta,X=!(null==V||!V.isEmbedded),Y=M(),$=F(),_=i(!1),oo=t(_,2),so=oo[0],to=oo[1],no=c(null),io=c(null),co=i(!0),eo=t(co,2),ro=eo[0],mo=eo[1],po=i(!1),lo=t(po,2),uo=lo[0],ao=lo[1],jo=c(null),Io=c(!1),fo=f(),Co=fo.open,ho=fo.isOpen,bo=!!G&&!E,go=e((function(){to((function(o){return!o}))}),[]),yo=e((function(){$((function(o){return!o}))}),[$]),vo=e((function(){Io.current=!1,ao(!1)}),[]),Oo=e((function(){mo(!1),vo(),Z?null==Q||Q():L?null==K||K():U(!R)}),[vo,Q,K,L,Z,R,U]),Ao=Z?"Close Separate Window":q?"Restore":"Maximize",Bo=e((function(){jo.current&&(clearTimeout(jo.current),jo.current=null)}),[]),Po=e((function(){!q&&H&&(Bo(),jo.current=setTimeout((function(){Io.current=!0,ao(!0)}),500))}),[Bo,H,q]);r((function(){return Bo}),[Bo]);var So=e((function(){Io.current?Io.current=!1:Oo()}),[Oo]),Mo=e((function(){vo(),null==J||J()}),[vo,J]),Fo=e((function(){vo(),null==H||H()}),[vo,H]);r((function(){mo(!0)}),[q]);var ko=m((function(){if(S)return[];var s=function(o){return function(){go(),null==o||o()}},t=(n||[]).filter(z).map((function(o){return D(D({},o),{},{onClick:s(o.onClick)})})),i={icon:k(A,{}),onClick:s(yo),title:Y?"Close Comments Mode":"Add Comment"},c={title:Ao,onClick:s(Oo),icon:k(q?g:y,{})},e={title:"Settings",onClick:s(Co),icon:k(B,{})};return[].concat(o(t),o(T?[i]:[]),o(W&&bo?[e]:[]),o(X?[]:[c]))}),[n,Y,W,q,Ao,Co,bo,T,X,yo,Oo,go]),xo=ko.length>(X?0:1),wo=k(u,{size:"small",type:"tertiaryBg",ref:io,onClick:So,onMouseDown:Po,onMouseUp:Bo,onMouseLeave:Bo,className:xo?b.fullscreenButton:void 0,testId:q?h.CollapseButtonTestId:h.ExpandButtonTestId,children:k(q?g:y,{})}),To=ro?k(a,{title:Ao,children:wo}):wo;return x(w,{children:[k(C,{children:null==n?void 0:n.map((function(o,s){return z(o)?k(a,{title:o.title,children:k(u,{size:"small",type:"tertiary",onClick:o.onClick,className:l(b.additionalActionButton),testId:h.AdditionalActionItemTestId,children:o.icon})},s):k(p,{children:o},s)}))}),k(C,{children:T&&k(a,{title:Y?"Close Comments Mode":"Add Comment",children:k(u,{size:"small",type:Y?"secondaryBg":"tertiaryBg",onClick:yo,className:xo?b.commentButton:void 0,testId:Y?h.CloseCommentButtonTestId:h.AddMessageButtonTestId,children:Y?k(v,{}):k(P,{fill:"currentColor"})})})}),bo&&k(d,{className:W&&!S?b.settingsHiddenUnderMore:void 0}),x(C,{children:[!X&&To,!X&&io.current&&x(j,{anchorEl:io.current,open:uo,onClose:vo,placement:"bottom-end",children:[k(j.Item,{onClick:Oo,testId:h.MaximizeItemTestId,children:"Maximize"}),k(j.Item,{onClick:Fo,testId:h.BrowserFullscreenItemTestId,children:"Full Screen"}),k(j.Item,{onClick:Mo,testId:h.SeparateWindowItemTestId,children:"Separate Window"})]})]}),x(C,{children:[xo&&k(a,{title:"More",children:k(u,{type:so||W&&ho?"secondaryBg":"tertiaryBg",className:b.moreButton,ref:no,testId:h.MoreButtonTestId,onClick:go,size:"small",children:k(O,{})})}),xo&&no.current&&k(j,{anchorEl:no.current,open:so,onClose:go,placement:"bottom-end",children:ko.map((function(o,s){return k(j.Item,{size:"large",prefix:o.icon,onClick:o.onClick,children:o.title},s)}))})]})]})};export{E as Actions};
|
|
2
2
|
//# sourceMappingURL=Actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../../../../src/componentsV2/AppHeader/V3/Actions/Actions.tsx"],"sourcesContent":["import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { ButtonIcon } from '../../../ButtonIcon';\nimport { Tooltip } from '../../../Tooltip';\nimport { SettingsButton } from '../SettingsButton';\nimport { AdditionalAction, AdditionalActionObject } from '../constants';\nimport { Menu } from '../../../Menu';\nimport { useAppCommonsInternal } from '../../../AppCommonsProvider';\nimport { useAppSettingsPanel } from '../../../AppPanel/AppPanelsContext';\nimport { HideInNativeApp } from '../../../HideInNativeApp';\n\nimport { ActionsTestIds } from './Actions.constants';\n\nimport styles from './Actions.scss';\n\nimport {\n AddMessageCustomIcon,\n CloseSmallIcon,\n CollapseIcon,\n ExpandIcon,\n MessageIcon,\n MoreOneIcon,\n SettingTwoIcon,\n} from '~/icons';\nimport { useAppCommentsMode, useSetAppCommentsMode } from '~/effects';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\ntype ActionsProps = {\n additionalActions?: AdditionalAction[];\n showComments?: boolean;\n disableSettings?: boolean;\n hideSettingsUnderMore?: boolean;\n};\n\nconst isActionObject = (action: AdditionalAction): action is AdditionalActionObject =>\n !!action && typeof action === 'object' && 'title' in action;\n\nconst LONG_PRESS_DELAY_MS = 500;\n\nexport const Actions = ({\n additionalActions,\n showComments,\n disableSettings,\n hideSettingsUnderMore,\n}: ActionsProps) => {\n const {\n maximized,\n setMaximized,\n appSettingsComponent,\n isExpanded,\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n dashboardMeta,\n } = useAppCommonsInternal();\n const isEmbedded = !!dashboardMeta?.isEmbedded;\n const commentsEnabled = useAppCommentsMode();\n const setCommentsMode = useSetAppCommentsMode();\n const [moreMenuOpen, setMoreMenuOpen] = useState(false);\n const moreButtonRef = useRef<HTMLButtonElement>(null);\n const maximizeButtonRef = useRef<HTMLButtonElement>(null);\n const [showMaximizeTooltip, setShowMaximizeTooltip] = useState(true);\n const [isModesMenuOpen, setIsModesMenuOpen] = useState(false);\n const longPressTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isLongPressRef = useRef(false);\n\n const { open, isOpen } = useAppSettingsPanel();\n const settingsVisible = !!appSettingsComponent && !disableSettings;\n\n const toggleMoreMenu = useCallback(() => {\n setMoreMenuOpen(value => !value);\n }, []);\n\n const toggleCommentsMode = useCallback(() => {\n setCommentsMode(value => !value);\n }, [setCommentsMode]);\n\n const closeModesMenu = useCallback(() => {\n isLongPressRef.current = false;\n setIsModesMenuOpen(false);\n }, []);\n\n const toggleMaximized = useCallback(() => {\n setShowMaximizeTooltip(false);\n closeModesMenu();\n\n if (isSeparateWindow) {\n closeSeparateWindow?.();\n return;\n }\n\n if (isBrowserFullscreen) {\n exitBrowserFullscreen?.();\n return;\n }\n\n setMaximized(!maximized);\n }, [\n closeModesMenu,\n closeSeparateWindow,\n exitBrowserFullscreen,\n isBrowserFullscreen,\n isSeparateWindow,\n maximized,\n setMaximized,\n ]);\n\n const maximizeTooltip = isSeparateWindow\n ? 'Close Separate Window'\n : isExpanded\n ? 'Restore'\n : 'Maximize';\n\n const cancelLongPress = useCallback(() => {\n if (longPressTimerRef.current) {\n clearTimeout(longPressTimerRef.current);\n longPressTimerRef.current = null;\n }\n }, []);\n\n const handleMaximizeMouseDown = useCallback(() => {\n if (isExpanded || !enterBrowserFullscreen) return;\n\n cancelLongPress();\n longPressTimerRef.current = setTimeout(() => {\n isLongPressRef.current = true;\n setIsModesMenuOpen(true);\n }, LONG_PRESS_DELAY_MS);\n }, [cancelLongPress, enterBrowserFullscreen, isExpanded]);\n\n useEffect(() => cancelLongPress, [cancelLongPress]);\n\n const handleMaximizeClick = useCallback(() => {\n if (isLongPressRef.current) {\n isLongPressRef.current = false;\n return;\n }\n\n toggleMaximized();\n }, [toggleMaximized]);\n\n const handleSeparateWindowClick = useCallback(() => {\n closeModesMenu();\n openSeparateWindow?.();\n }, [closeModesMenu, openSeparateWindow]);\n\n const handleBrowserFullscreenClick = useCallback(() => {\n closeModesMenu();\n enterBrowserFullscreen?.();\n }, [closeModesMenu, enterBrowserFullscreen]);\n\n useEffect(() => {\n setShowMaximizeTooltip(true);\n }, [isExpanded]);\n\n const menuActionItems = useMemo(() => {\n if (isInsideNewMobileApp) return [];\n\n const getOnClick = (handler: AdditionalActionObject['onClick']) => () => {\n toggleMoreMenu();\n handler?.();\n };\n\n const objectActions = (additionalActions || [])\n .filter(isActionObject)\n .map(item => ({ ...item, onClick: getOnClick(item.onClick) }));\n\n const commentItem: AdditionalActionObject = {\n icon: <MessageIcon />,\n onClick: getOnClick(toggleCommentsMode),\n title: commentsEnabled ? 'Close Comments Mode' : 'Add Comment',\n };\n\n const maximizeItem: AdditionalActionObject = {\n title: maximizeTooltip,\n onClick: getOnClick(toggleMaximized),\n icon: isExpanded ? <CollapseIcon /> : <ExpandIcon />,\n };\n\n const settingsItem = {\n title: 'Settings',\n onClick: getOnClick(open),\n icon: <SettingTwoIcon />,\n };\n\n return [\n ...objectActions,\n ...(showComments ? [commentItem] : []),\n ...(hideSettingsUnderMore && settingsVisible ? [settingsItem] : []),\n ...(!isEmbedded ? [maximizeItem] : []),\n ];\n }, [\n additionalActions,\n commentsEnabled,\n hideSettingsUnderMore,\n isExpanded,\n maximizeTooltip,\n open,\n settingsVisible,\n showComments,\n isEmbedded,\n toggleCommentsMode,\n toggleMaximized,\n toggleMoreMenu,\n ]);\n\n // Maximization is already available as a button.\n const hasMenu = menuActionItems.length > (isEmbedded ? 0 : 1);\n\n const maximizeButton = (\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n ref={maximizeButtonRef}\n onClick={handleMaximizeClick}\n onMouseDown={handleMaximizeMouseDown}\n onMouseUp={cancelLongPress}\n onMouseLeave={cancelLongPress}\n className={hasMenu ? styles.fullscreenButton : undefined}\n testId={isExpanded ? ActionsTestIds.CollapseButtonTestId : ActionsTestIds.ExpandButtonTestId}\n >\n {isExpanded ? <CollapseIcon /> : <ExpandIcon />}\n </ButtonIcon>\n );\n\n // Hide the tooltip during maximization changes to avoid fullscreen positioning issues.\n const maximizeWithTooltip = showMaximizeTooltip ? (\n <Tooltip title={maximizeTooltip}>{maximizeButton}</Tooltip>\n ) : (\n maximizeButton\n );\n\n return (\n <>\n <HideInNativeApp>\n {additionalActions?.map((action, index) =>\n !isActionObject(action) ? (\n <Fragment key={index}>{action}</Fragment>\n ) : (\n <Tooltip title={action.title} key={index}>\n <ButtonIcon\n size=\"small\"\n type=\"tertiary\"\n onClick={action.onClick}\n className={classNames(styles.additionalActionButton)}\n testId={ActionsTestIds.AdditionalActionItemTestId}\n >\n {action.icon}\n </ButtonIcon>\n </Tooltip>\n )\n )}\n </HideInNativeApp>\n\n <HideInNativeApp>\n {showComments && (\n <Tooltip title={commentsEnabled ? 'Close Comments Mode' : 'Add Comment'}>\n <ButtonIcon\n size=\"small\"\n type={commentsEnabled ? 'secondaryBg' : 'tertiaryBg'}\n onClick={toggleCommentsMode}\n className={hasMenu ? styles.commentButton : undefined}\n testId={\n commentsEnabled\n ? ActionsTestIds.CloseCommentButtonTestId\n : ActionsTestIds.AddMessageButtonTestId\n }\n >\n {commentsEnabled ? <CloseSmallIcon /> : <AddMessageCustomIcon fill=\"currentColor\" />}\n </ButtonIcon>\n </Tooltip>\n )}\n </HideInNativeApp>\n\n {settingsVisible && (\n <SettingsButton\n className={\n hideSettingsUnderMore && !isInsideNewMobileApp\n ? styles.settingsHiddenUnderMore\n : undefined\n }\n />\n )}\n\n <HideInNativeApp>\n {!isEmbedded && maximizeWithTooltip}\n\n {!isEmbedded && maximizeButtonRef.current && (\n <Menu\n anchorEl={maximizeButtonRef.current}\n open={isModesMenuOpen}\n onClose={closeModesMenu}\n placement=\"bottom-end\"\n >\n <Menu.Item onClick={toggleMaximized} testId={ActionsTestIds.MaximizeItemTestId}>\n Maximize\n </Menu.Item>\n <Menu.Item\n onClick={handleBrowserFullscreenClick}\n testId={ActionsTestIds.BrowserFullscreenItemTestId}\n >\n Full Screen\n </Menu.Item>\n <Menu.Item\n onClick={handleSeparateWindowClick}\n testId={ActionsTestIds.SeparateWindowItemTestId}\n >\n Separate Window\n </Menu.Item>\n </Menu>\n )}\n </HideInNativeApp>\n\n <HideInNativeApp>\n {hasMenu && (\n <Tooltip title=\"More\">\n <ButtonIcon\n type={\n moreMenuOpen || (hideSettingsUnderMore && isOpen) ? 'secondaryBg' : 'tertiaryBg'\n }\n className={styles.moreButton}\n ref={moreButtonRef}\n testId={ActionsTestIds.MoreButtonTestId}\n onClick={toggleMoreMenu}\n size=\"small\"\n >\n <MoreOneIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n {hasMenu && moreButtonRef.current && (\n <Menu\n anchorEl={moreButtonRef.current}\n open={moreMenuOpen}\n onClose={toggleMoreMenu}\n placement=\"bottom-end\"\n >\n {menuActionItems.map((item, index) => (\n <Menu.Item size=\"large\" prefix={item.icon} key={index} onClick={item.onClick}>\n {item.title}\n </Menu.Item>\n ))}\n </Menu>\n )}\n </HideInNativeApp>\n </>\n );\n};\n"],"names":["isActionObject","action","_typeof","Actions","_ref","additionalActions","showComments","disableSettings","hideSettingsUnderMore","_useAppCommonsInterna","useAppCommonsInternal","maximized","setMaximized","appSettingsComponent","isExpanded","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","dashboardMeta","isEmbedded","commentsEnabled","useAppCommentsMode","setCommentsMode","useSetAppCommentsMode","useState","_useState2","_slicedToArray","_useState","moreMenuOpen","setMoreMenuOpen","moreButtonRef","useRef","maximizeButtonRef","_useState4","_useState3","showMaximizeTooltip","setShowMaximizeTooltip","_useState6","_useState5","isModesMenuOpen","setIsModesMenuOpen","longPressTimerRef","isLongPressRef","_useAppSettingsPanel","useAppSettingsPanel","open","isOpen","settingsVisible","toggleMoreMenu","useCallback","value","toggleCommentsMode","closeModesMenu","current","toggleMaximized","maximizeTooltip","cancelLongPress","clearTimeout","handleMaximizeMouseDown","setTimeout","useEffect","handleMaximizeClick","handleSeparateWindowClick","handleBrowserFullscreenClick","menuActionItems","useMemo","isInsideNewMobileApp","getOnClick","handler","objectActions","filter","map","item","_objectSpread","onClick","commentItem","icon","_jsx","MessageIcon","title","maximizeItem","CollapseIcon","ExpandIcon","settingsItem","SettingTwoIcon","_toConsumableArray","hasMenu","length","maximizeButton","ButtonIcon","size","type","ref","onMouseDown","onMouseUp","onMouseLeave","className","styles","fullscreenButton","undefined","testId","ActionsTestIds","CollapseButtonTestId","ExpandButtonTestId","children","maximizeWithTooltip","Tooltip","_jsxs","_Fragment","HideInNativeApp","index","classNames","additionalActionButton","AdditionalActionItemTestId","Fragment","commentButton","CloseCommentButtonTestId","AddMessageButtonTestId","CloseSmallIcon","AddMessageCustomIcon","fill","SettingsButton","settingsHiddenUnderMore","Menu","anchorEl","onClose","placement","Item","MaximizeItemTestId","BrowserFullscreenItemTestId","SeparateWindowItemTestId","moreButton","MoreButtonTestId","MoreOneIcon","prefix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../../../../src/componentsV2/AppHeader/V3/Actions/Actions.tsx"],"sourcesContent":["import { Fragment, useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { ButtonIcon } from '../../../ButtonIcon';\nimport { Tooltip } from '../../../Tooltip';\nimport { SettingsButton } from '../SettingsButton';\nimport { AdditionalAction, AdditionalActionObject } from '../constants';\nimport { Menu } from '../../../Menu';\nimport { useAppCommonsInternal } from '../../../AppCommonsProvider';\nimport { useAppSettingsPanel } from '../../../AppPanel/AppPanelsContext';\nimport { HideInNativeApp } from '../../../HideInNativeApp';\n\nimport { ActionsTestIds } from './Actions.constants';\n\nimport styles from './Actions.scss';\n\nimport {\n AddMessageCustomIcon,\n CloseSmallIcon,\n CollapseIcon,\n ExpandIcon,\n MessageIcon,\n MoreOneIcon,\n SettingTwoIcon,\n} from '~/icons';\nimport { useAppCommentsMode, useSetAppCommentsMode } from '~/effects';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\ntype ActionsProps = {\n additionalActions?: AdditionalAction[];\n showComments?: boolean;\n disableSettings?: boolean;\n hideSettingsUnderMore?: boolean;\n};\n\nconst isActionObject = (action: AdditionalAction): action is AdditionalActionObject =>\n !!action && typeof action === 'object' && 'title' in action;\n\nconst LONG_PRESS_DELAY_MS = 500;\n\nexport const Actions = ({\n additionalActions,\n showComments,\n disableSettings,\n hideSettingsUnderMore,\n}: ActionsProps) => {\n const {\n maximized,\n setMaximized,\n appSettingsComponent,\n isExpanded,\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n dashboardMeta,\n } = useAppCommonsInternal();\n const isEmbedded = !!dashboardMeta?.isEmbedded;\n const commentsEnabled = useAppCommentsMode();\n const setCommentsMode = useSetAppCommentsMode();\n const [moreMenuOpen, setMoreMenuOpen] = useState(false);\n const moreButtonRef = useRef<HTMLButtonElement>(null);\n const maximizeButtonRef = useRef<HTMLButtonElement>(null);\n const [showMaximizeTooltip, setShowMaximizeTooltip] = useState(true);\n const [isModesMenuOpen, setIsModesMenuOpen] = useState(false);\n const longPressTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isLongPressRef = useRef(false);\n\n const { open, isOpen } = useAppSettingsPanel();\n const settingsVisible = !!appSettingsComponent && !disableSettings;\n\n const toggleMoreMenu = useCallback(() => {\n setMoreMenuOpen(value => !value);\n }, []);\n\n const toggleCommentsMode = useCallback(() => {\n setCommentsMode(value => !value);\n }, [setCommentsMode]);\n\n const closeModesMenu = useCallback(() => {\n isLongPressRef.current = false;\n setIsModesMenuOpen(false);\n }, []);\n\n const toggleMaximized = useCallback(() => {\n setShowMaximizeTooltip(false);\n closeModesMenu();\n\n if (isSeparateWindow) {\n closeSeparateWindow?.();\n return;\n }\n\n if (isBrowserFullscreen) {\n exitBrowserFullscreen?.();\n return;\n }\n\n setMaximized(!maximized);\n }, [\n closeModesMenu,\n closeSeparateWindow,\n exitBrowserFullscreen,\n isBrowserFullscreen,\n isSeparateWindow,\n maximized,\n setMaximized,\n ]);\n\n const maximizeTooltip = isSeparateWindow\n ? 'Close Separate Window'\n : isExpanded\n ? 'Restore'\n : 'Maximize';\n\n const cancelLongPress = useCallback(() => {\n if (longPressTimerRef.current) {\n clearTimeout(longPressTimerRef.current);\n longPressTimerRef.current = null;\n }\n }, []);\n\n const handleMaximizeMouseDown = useCallback(() => {\n if (isExpanded || !enterBrowserFullscreen) return;\n\n cancelLongPress();\n longPressTimerRef.current = setTimeout(() => {\n isLongPressRef.current = true;\n setIsModesMenuOpen(true);\n }, LONG_PRESS_DELAY_MS);\n }, [cancelLongPress, enterBrowserFullscreen, isExpanded]);\n\n useEffect(() => cancelLongPress, [cancelLongPress]);\n\n const handleMaximizeClick = useCallback(() => {\n if (isLongPressRef.current) {\n isLongPressRef.current = false;\n return;\n }\n\n toggleMaximized();\n }, [toggleMaximized]);\n\n const handleSeparateWindowClick = useCallback(() => {\n closeModesMenu();\n openSeparateWindow?.();\n }, [closeModesMenu, openSeparateWindow]);\n\n const handleBrowserFullscreenClick = useCallback(() => {\n closeModesMenu();\n enterBrowserFullscreen?.();\n }, [closeModesMenu, enterBrowserFullscreen]);\n\n useEffect(() => {\n setShowMaximizeTooltip(true);\n }, [isExpanded]);\n\n const menuActionItems = useMemo(() => {\n if (isInsideNewMobileApp) return [];\n\n const getOnClick = (handler: AdditionalActionObject['onClick']) => () => {\n toggleMoreMenu();\n handler?.();\n };\n\n const objectActions = (additionalActions || [])\n .filter(isActionObject)\n .map(item => ({ ...item, onClick: getOnClick(item.onClick) }));\n\n const commentItem: AdditionalActionObject = {\n icon: <MessageIcon />,\n onClick: getOnClick(toggleCommentsMode),\n title: commentsEnabled ? 'Close Comments Mode' : 'Add Comment',\n };\n\n const maximizeItem: AdditionalActionObject = {\n title: maximizeTooltip,\n onClick: getOnClick(toggleMaximized),\n icon: isExpanded ? <CollapseIcon /> : <ExpandIcon />,\n };\n\n const settingsItem = {\n title: 'Settings',\n onClick: getOnClick(open),\n icon: <SettingTwoIcon />,\n };\n\n return [\n ...objectActions,\n ...(showComments ? [commentItem] : []),\n ...(hideSettingsUnderMore && settingsVisible ? [settingsItem] : []),\n ...(!isEmbedded ? [maximizeItem] : []),\n ];\n }, [\n additionalActions,\n commentsEnabled,\n hideSettingsUnderMore,\n isExpanded,\n maximizeTooltip,\n open,\n settingsVisible,\n showComments,\n isEmbedded,\n toggleCommentsMode,\n toggleMaximized,\n toggleMoreMenu,\n ]);\n\n // Maximization is already available as a button.\n const hasMenu = menuActionItems.length > (isEmbedded ? 0 : 1);\n\n const maximizeButton = (\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n ref={maximizeButtonRef}\n onClick={handleMaximizeClick}\n onMouseDown={handleMaximizeMouseDown}\n onMouseUp={cancelLongPress}\n onMouseLeave={cancelLongPress}\n className={hasMenu ? styles.fullscreenButton : undefined}\n testId={isExpanded ? ActionsTestIds.CollapseButtonTestId : ActionsTestIds.ExpandButtonTestId}\n >\n {isExpanded ? <CollapseIcon /> : <ExpandIcon />}\n </ButtonIcon>\n );\n\n // Hide the tooltip during maximization changes to avoid fullscreen positioning issues.\n const maximizeWithTooltip = showMaximizeTooltip ? (\n <Tooltip title={maximizeTooltip}>{maximizeButton}</Tooltip>\n ) : (\n maximizeButton\n );\n\n return (\n <>\n <HideInNativeApp>\n {additionalActions?.map((action, index) =>\n !isActionObject(action) ? (\n <Fragment key={index}>{action}</Fragment>\n ) : (\n <Tooltip title={action.title} key={index}>\n <ButtonIcon\n size=\"small\"\n type=\"tertiary\"\n onClick={action.onClick}\n className={classNames(styles.additionalActionButton)}\n testId={ActionsTestIds.AdditionalActionItemTestId}\n >\n {action.icon}\n </ButtonIcon>\n </Tooltip>\n )\n )}\n </HideInNativeApp>\n\n <HideInNativeApp>\n {showComments && (\n <Tooltip title={commentsEnabled ? 'Close Comments Mode' : 'Add Comment'}>\n <ButtonIcon\n size=\"small\"\n type={commentsEnabled ? 'secondaryBg' : 'tertiaryBg'}\n onClick={toggleCommentsMode}\n className={hasMenu ? styles.commentButton : undefined}\n testId={\n commentsEnabled\n ? ActionsTestIds.CloseCommentButtonTestId\n : ActionsTestIds.AddMessageButtonTestId\n }\n >\n {commentsEnabled ? <CloseSmallIcon /> : <AddMessageCustomIcon fill=\"currentColor\" />}\n </ButtonIcon>\n </Tooltip>\n )}\n </HideInNativeApp>\n\n {settingsVisible && (\n <SettingsButton\n className={\n hideSettingsUnderMore && !isInsideNewMobileApp\n ? styles.settingsHiddenUnderMore\n : undefined\n }\n />\n )}\n\n <HideInNativeApp>\n {!isEmbedded && maximizeWithTooltip}\n\n {!isEmbedded && maximizeButtonRef.current && (\n <Menu\n anchorEl={maximizeButtonRef.current}\n open={isModesMenuOpen}\n onClose={closeModesMenu}\n placement=\"bottom-end\"\n >\n <Menu.Item onClick={toggleMaximized} testId={ActionsTestIds.MaximizeItemTestId}>\n Maximize\n </Menu.Item>\n <Menu.Item\n onClick={handleBrowserFullscreenClick}\n testId={ActionsTestIds.BrowserFullscreenItemTestId}\n >\n Full Screen\n </Menu.Item>\n <Menu.Item\n onClick={handleSeparateWindowClick}\n testId={ActionsTestIds.SeparateWindowItemTestId}\n >\n Separate Window\n </Menu.Item>\n </Menu>\n )}\n </HideInNativeApp>\n\n <HideInNativeApp>\n {hasMenu && (\n <Tooltip title=\"More\">\n <ButtonIcon\n type={\n moreMenuOpen || (hideSettingsUnderMore && isOpen) ? 'secondaryBg' : 'tertiaryBg'\n }\n className={styles.moreButton}\n ref={moreButtonRef}\n testId={ActionsTestIds.MoreButtonTestId}\n onClick={toggleMoreMenu}\n size=\"small\"\n >\n <MoreOneIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n {hasMenu && moreButtonRef.current && (\n <Menu\n anchorEl={moreButtonRef.current}\n open={moreMenuOpen}\n onClose={toggleMoreMenu}\n placement=\"bottom-end\"\n >\n {menuActionItems.map((item, index) => (\n <Menu.Item size=\"large\" prefix={item.icon} key={index} onClick={item.onClick}>\n {item.title}\n </Menu.Item>\n ))}\n </Menu>\n )}\n </HideInNativeApp>\n </>\n );\n};\n"],"names":["isActionObject","action","_typeof","Actions","_ref","additionalActions","showComments","disableSettings","hideSettingsUnderMore","_useAppCommonsInterna","useAppCommonsInternal","maximized","setMaximized","appSettingsComponent","isExpanded","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","dashboardMeta","isEmbedded","commentsEnabled","useAppCommentsMode","setCommentsMode","useSetAppCommentsMode","useState","_useState2","_slicedToArray","_useState","moreMenuOpen","setMoreMenuOpen","moreButtonRef","useRef","maximizeButtonRef","_useState4","_useState3","showMaximizeTooltip","setShowMaximizeTooltip","_useState6","_useState5","isModesMenuOpen","setIsModesMenuOpen","longPressTimerRef","isLongPressRef","_useAppSettingsPanel","useAppSettingsPanel","open","isOpen","settingsVisible","toggleMoreMenu","useCallback","value","toggleCommentsMode","closeModesMenu","current","toggleMaximized","maximizeTooltip","cancelLongPress","clearTimeout","handleMaximizeMouseDown","setTimeout","useEffect","handleMaximizeClick","handleSeparateWindowClick","handleBrowserFullscreenClick","menuActionItems","useMemo","isInsideNewMobileApp","getOnClick","handler","objectActions","filter","map","item","_objectSpread","onClick","commentItem","icon","_jsx","MessageIcon","title","maximizeItem","CollapseIcon","ExpandIcon","settingsItem","SettingTwoIcon","_toConsumableArray","hasMenu","length","maximizeButton","ButtonIcon","size","type","ref","onMouseDown","onMouseUp","onMouseLeave","className","styles","fullscreenButton","undefined","testId","ActionsTestIds","CollapseButtonTestId","ExpandButtonTestId","children","maximizeWithTooltip","Tooltip","_jsxs","_Fragment","HideInNativeApp","index","classNames","additionalActionButton","AdditionalActionItemTestId","Fragment","commentButton","CloseCommentButtonTestId","AddMessageButtonTestId","CloseSmallIcon","AddMessageCustomIcon","fill","SettingsButton","settingsHiddenUnderMore","Menu","anchorEl","onClose","placement","Item","MaximizeItemTestId","BrowserFullscreenItemTestId","SeparateWindowItemTestId","moreButton","MoreButtonTestId","MoreOneIcon","prefix"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import t from"classnames";import{useState as i,useRef as n,useCallback as e,useMemo as c,Fragment as r}from"react";import m from"moment";import{Icon as p}from"@material-ui/core";import{TextEndTruncated as l}from"../../../TextEndTruncated/TextEndTruncated.js";import{Button as a}from"../../../Button/Button.js";import{normalizeAsset as u}from"../../AppHeader.constants.js";import{DqStatusIcon as d}from"../DqStatusIcon/DqStatusIcon.js";import"../DqStatusIcon/DqStatusIcon.constants.js";import{AppDqPopover as j}from"../../../AppDqPopover/AppDqPopover.js";import{Menu as I}from"../../../Menu/Menu.js";import{AppIcon as f}from"../../../../components/AppIcon/AppIcon.js";import{getAppSegment as h}from"../../../../utils/devcenter.js";import{Text as v}from"../../../Text/Text.js";import{Accordion as C}from"../../../Accordion/Accordion.js";import{AppRemoveConfirmationModal as A}from"../AppRemoveConfirmationModal/AppRemoveConfirmationModal.js";import{AssetSelector as b}from"../AssetSelector/AssetSelector.js";import"../AssetSelector/constants.js";import{SEGMENTS as g}from"../../../../constants/segment.js";import"../../../AppCommonsProvider/AppCommonsProvider.js";import{useAppCommonsInternal as y}from"../../../AppCommonsProvider/AppCommonsContext.js";import{UniversalLink as T}from"../../../UniversalLink/UniversalLink.js";import{AppTitleTestIds as O}from"./AppTitle.constants.js";import N from"./AppTitle.scss.js";import{DownIcon as P,SettingOneIcon as x,HelpIcon as D,DeleteFourIcon as M}from"../../../../icons/iconParkIcons.js";import{AddMessageCustomIcon as k}from"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.js";import"../../../../icons/customIcons/icons/Attention.js";import"../../../../icons/customIcons/icons/Collapse.js";import"../../../../icons/customIcons/icons/Dashboard.js";import"../../../../icons/customIcons/icons/Expand.js";import"../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../icons/customIcons/icons/Search.js";import"../../../../icons/customIcons/icons/SearchOne.js";import"../../../../icons/customIcons/icons/Wellhub.js";import"../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../icons/customIcons/icons/Checkbox.js";import"../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../icons/customIcons/icons/Radio.js";import"../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../icons/customIcons/icons/InfoRounded.js";import"../../../../icons/customIcons/icons/FlameFilled.js";import"../../../../icons/customIcons/icons/MoreApp.js";import"../../../../icons/customIcons/icons/Pad.js";import"../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/PinOne.js";import"../../../../icons/customIcons/icons/PinOneCrossed.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../icons/customIcons/icons/Company.js";import"../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../icons/customIcons/icons/Connect.js";import"../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../icons/customIcons/icons/Feed.js";import"../../../../icons/customIcons/icons/Prompt.js";import"../../../../icons/customIcons/icons/Companies.js";import"../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../icons/customIcons/icons/Key.js";import"../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../icons/customIcons/icons/MappingManual.js";import"../../../../icons/customIcons/icons/Mapping.js";import"../../../../icons/customIcons/icons/Metrics.js";import"../../../../icons/customIcons/icons/Drops.js";import"../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../icons/customIcons/icons/Template.js";import"../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../icons/customIcons/icons/NPT.js";import"../../../../icons/customIcons/icons/GuidedFrac.js";import"../../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"lodash";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/jsonApi/index.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import S from"../../../../effects/useOutsideClick.js";import"../../../../components/UserMention/utils/index.js";import"../../../../utils/convert.js";import"../../../../constants/completion.js";import"../../../../constants/alerts.js";import"../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../constants/goals.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import"../../../../utils/metrics/metricsConfig.js";import"../../../../utils/mobileDetect.js";import"../../../../constants/notifications.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../../../utils/dashboardReports.js";import"../../../../constants/apps.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"@babel/runtime/helpers/objectWithoutProperties";import"../../../../utils/charts/Styles.scss.js";import"../../../../utils/getSingleAsset.js";import{useWellnessAlerts as F}from"../../../../effects/useWellnessAlerts.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../AppPanel/AppPanelsContext.js";import{jsx as E,jsxs as z,Fragment as R}from"react/jsx-runtime";function q(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,i)}return t}function w(s){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?q(Object(i),!0).forEach((function(t){o(s,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):q(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var B=function(o){var q,B,L,U,H=o.asset,G=o.className,W=o.dqData,Y=o.lastUpdate,V=o.title,K=o.disableAssetSelector,Z=o.titleMenuActions,J=o.style,Q=y(),X=Q.app,$=Q.appId,_=Q.maximized,oo=Q.toggleAnnotationsList,so=Q.onHelpCenterClick,to=Q.secondaryMenuItems,io=Q.appName,no=Q.layoutEnvironment,eo=Q.isInsideNewMobileApp,co=Q.removeApp,ro=Q.disableAppAssetSelection,mo=Q.isMultiRig,po=i(!1),lo=s(po,2),ao=lo[0],uo=lo[1],jo=n(),Io=n(),fo=n(null),ho=n(null),vo=i(!1),Co=s(vo,2),Ao=Co[0],bo=Co[1],go=n(null),yo=e((function(){return uo((function(o){return!o}))}),[]),To=e((function(){return bo((function(o){return!o}))}),[]),Oo=e((function(){clearTimeout(jo.current),clearTimeout(Io.current),jo.current=setTimeout((function(){uo(!0)}),300)}),[]),No=e((function(){clearTimeout(jo.current),clearTimeout(Io.current),jo.current=setTimeout((function(){uo(!1)}),700)}),[]);S(ho,yo,[fo.current]);var Po=(H instanceof Array&&H.length>0||!!H)&&!W&&!eo,xo=F({isDCApp:Po,appId:$,multiRigAssets:H instanceof Array?H.map(u).filter(Boolean):void 0,asset:H instanceof Array?void 0:u(H),maximized:_,dashboards:[]}),Do=W||xo,Mo=(Po||!!W)&&!eo,ko=(null==Do||null===(q=Do.wellnessAlerts)||void 0===q?void 0:q.alertsData)||{},So=function(o){if(o){if("number"==typeof o){var s=Date.now();return Math.abs(s-o)>Math.abs(s-1e3*o)?m.unix(o):m(o)}return m(o)}return null}(Y),Fo=e((function(){To(),null==oo||oo()}),[oo,To]),Eo=e((function(){To(),null==so||so()}),[so,To]),zo=i(!1),Ro=s(zo,2),qo=Ro[0],wo=Ro[1],Bo=e((function(){To(),wo(!0)}),[To]),Lo=e((function(){wo(!1)}),[]),Uo=c((function(){return[].concat(to||[]).concat(Z||[]).map((function(o){return w(w({},o),{},{onClick:function(){var s;To(),null===(s=o.onClick)||void 0===s||s.call(o)}})}))}),[to,Z,To]),Ho="asset"===(null==no?void 0:no.type),Go=h(X)===g.COMPLETION,Wo=!(ro||K||mo||Ho&&Go),Yo=null!=So&&So.isValid()?"Last Update: ".concat(So.format("MMM D YYYY, hh:mm A")):void 0,Vo=V||io;return eo?E("div",{className:t(N.root,G),children:E("div",{className:N.title,children:E(l,{className:t(N.titleText),testId:O.AppNameTestId,children:Vo})})}):z("div",{className:t(N.root,G),style:J,children:[Mo&&E(d,{statusBadgeIconType:Do.statusBadgeIconType,className:N.dqBadge,onClick:yo,onMouseEnter:Oo,onMouseLeave:No,ref:fo}),E(a,{type:"tertiary",size:"small",className:N.title,suffix:E("div",{className:t(N.titleChevron,Ao&&N.titleChevronOpen),children:E(P,{size:16})}),ref:go,onClick:To,children:E(l,{className:t(N.titleText,Mo&&N.withDq),testId:O.AppNameTestId,children:Vo})}),E(j,{open:ao,anchorEl:fo.current,placement:"bottom-start",alertsData:ko,onClose:yo,contentRef:ho,onMouseEnter:Oo,onMouseLeave:No}),z(I,{anchorEl:go.current,open:Ao,className:N.menuRoot,onClose:To,children:[z(T,{href:"/app-store/app/".concat(null==X||null===(B=X.app)||void 0===B?void 0:B.id),className:N.menuHeader,"data-testid":O.AppStoreLinkTestId,children:[E(f,{"data-testid":O.AppIconTestId,className:N.appIcon,segment:[h(X)],iconUrl:null==X||null===(L=X.app)||void 0===L||null===(U=L.icon)||void 0===U?void 0:U.url,height:40,width:40}),z("div",{className:N.menuHeaderText,children:[E(v,{children:E(l,{testId:O.MenuAppNameTestId,children:io})}),E(v,{size:12,color:"T6",children:"Open in Appstore"})]})]}),E("div",{className:N.divider}),Wo&&E(I.Item,{size:"large",disableClickEffect:!0,className:t(N.menuItem,N.assetMenuItem),children:E(C,{title:z("div",{className:N.accordionTitle,children:[E(x,{size:24,className:N.accordionIcon}),"Change Asset"]}),iconPosition:"end",titleHover:!1,testId:O.AssetSelectorAccordionTestId,children:E(b,{})})}),null==Uo?void 0:Uo.map((function(o,s){return z(r,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",onClick:o.onClick,prefix:"string"==typeof o.icon?E(p,{children:o.icon}):o.icon,testId:O.AdditionalSelectionTestId,children:o.title})]},s)})),so&&z(R,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",prefix:E(D,{}),onClick:Eo,testId:O.HelpCenterLinkTestId,children:"Help Center"})]}),oo&&z(R,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",prefix:E(k,{fill:"currentColor"}),onClick:Fo,testId:O.AnnotationsTestId,children:"Add Annotation"})]}),co&&z(R,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",prefix:E(M,{}),type:"destructive",onClick:Bo,testId:O.RemoveAppTestId,children:"Remove App"})]}),(null==So?void 0:So.isValid())&&z(R,{children:[E("div",{className:N.divider}),z("div",{className:N.footer,children:[E(d,{statusBadgeIconType:Do.statusBadgeIconType,className:N.footerDqBadge,ref:fo}),Yo&&E(v,{size:12,color:"T6",children:Yo})]})]})]}),E(A,{open:qo,onClose:Lo})]})};export{B as AppTitle};
|
|
1
|
+
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import t from"classnames";import{useState as i,useRef as n,useCallback as e,useMemo as c,Fragment as r}from"react";import m from"moment";import{Icon as p}from"@material-ui/core";import{TextEndTruncated as l}from"../../../TextEndTruncated/TextEndTruncated.js";import{Button as a}from"../../../Button/Button.js";import{normalizeAsset as u}from"../../AppHeader.constants.js";import{DqStatusIcon as d}from"../DqStatusIcon/DqStatusIcon.js";import"../DqStatusIcon/DqStatusIcon.constants.js";import{AppDqPopover as j}from"../../../AppDqPopover/AppDqPopover.js";import{Menu as I}from"../../../Menu/Menu.js";import{AppIcon as f}from"../../../../components/AppIcon/AppIcon.js";import{getAppSegment as h}from"../../../../utils/devcenter.js";import{Text as v}from"../../../Text/Text.js";import{Accordion as C}from"../../../Accordion/Accordion.js";import{AppRemoveConfirmationModal as A}from"../AppRemoveConfirmationModal/AppRemoveConfirmationModal.js";import{AssetSelector as b}from"../AssetSelector/AssetSelector.js";import"../AssetSelector/constants.js";import{SEGMENTS as g}from"../../../../constants/segment.js";import"../../../AppCommonsProvider/AppCommonsProvider.js";import{useAppCommonsInternal as y}from"../../../AppCommonsProvider/AppCommonsContext.js";import{UniversalLink as T}from"../../../UniversalLink/UniversalLink.js";import{AppTitleTestIds as O}from"./AppTitle.constants.js";import N from"./AppTitle.scss.js";import{DownIcon as P,SettingOneIcon as x,HelpIcon as D,DeleteFourIcon as M}from"../../../../icons/iconParkIcons.js";import{AddMessageCustomIcon as k}from"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.js";import"../../../../icons/customIcons/icons/Attention.js";import"../../../../icons/customIcons/icons/Collapse.js";import"../../../../icons/customIcons/icons/Dashboard.js";import"../../../../icons/customIcons/icons/Expand.js";import"../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../icons/customIcons/icons/Search.js";import"../../../../icons/customIcons/icons/SearchOne.js";import"../../../../icons/customIcons/icons/Wellhub.js";import"../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../icons/customIcons/icons/Checkbox.js";import"../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../icons/customIcons/icons/Radio.js";import"../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../icons/customIcons/icons/InfoRounded.js";import"../../../../icons/customIcons/icons/FlameFilled.js";import"../../../../icons/customIcons/icons/MoreApp.js";import"../../../../icons/customIcons/icons/Pad.js";import"../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/PinOne.js";import"../../../../icons/customIcons/icons/PinOneCrossed.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../icons/customIcons/icons/ErrorOps.js";import"../../../../icons/customIcons/icons/DataTypeOps.js";import"../../../../icons/customIcons/icons/FalsePositiveOps.js";import"../../../../icons/customIcons/icons/CalibrationOps.js";import"../../../../icons/customIcons/icons/CriticalOps.js";import"../../../../icons/customIcons/icons/Company.js";import"../../../../icons/customIcons/icons/ArchiveOne.js";import"../../../../icons/customIcons/icons/ParseBotFusion.js";import"../../../../icons/customIcons/icons/Connect.js";import"../../../../icons/customIcons/icons/PuzzleOne.js";import"../../../../icons/customIcons/icons/Feed.js";import"../../../../icons/customIcons/icons/Prompt.js";import"../../../../icons/customIcons/icons/Companies.js";import"../../../../icons/customIcons/icons/ClipboardAi.js";import"../../../../icons/customIcons/icons/Key.js";import"../../../../icons/customIcons/icons/AtSignCrossed.js";import"../../../../icons/customIcons/icons/MappingManual.js";import"../../../../icons/customIcons/icons/Mapping.js";import"../../../../icons/customIcons/icons/Metrics.js";import"../../../../icons/customIcons/icons/Drops.js";import"../../../../icons/customIcons/icons/ClipboardSearch.js";import"../../../../icons/customIcons/icons/Template.js";import"../../../../icons/customIcons/icons/ClipboardMetrics.js";import"../../../../icons/customIcons/icons/ClipboardBuilder.js";import"../../../../icons/customIcons/icons/UnitConversion.js";import"../../../../icons/customIcons/icons/NPT.js";import"../../../../icons/customIcons/icons/GuidedFrac.js";import"querystring";import"lodash";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../clients/jsonApi/index.js";import S from"../../../../effects/useOutsideClick.js";import"../../../../components/UserMention/utils/index.js";import"../../../../utils/convert.js";import"../../../../constants/completion.js";import"../../../../constants/alerts.js";import"../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../constants/goals.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import"../../../../utils/metrics/metricsConfig.js";import"../../../../utils/mobileDetect.js";import"../../../../constants/notifications.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../../../utils/dashboardReports.js";import"../../../../constants/apps.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"@babel/runtime/helpers/objectWithoutProperties";import"../../../../utils/charts/Styles.scss.js";import"../../../../utils/getSingleAsset.js";import{useWellnessAlerts as F}from"../../../../effects/useWellnessAlerts.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../AppPanel/AppPanelsContext.js";import{jsx as E,jsxs as z,Fragment as R}from"react/jsx-runtime";function q(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,i)}return t}function w(s){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?q(Object(i),!0).forEach((function(t){o(s,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):q(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var B=function(o){var q,B,L,U,H=o.asset,G=o.className,W=o.dqData,Y=o.lastUpdate,V=o.title,K=o.disableAssetSelector,Z=o.titleMenuActions,J=o.style,Q=y(),X=Q.app,$=Q.appId,_=Q.maximized,oo=Q.toggleAnnotationsList,so=Q.onHelpCenterClick,to=Q.secondaryMenuItems,io=Q.appName,no=Q.layoutEnvironment,eo=Q.isInsideNewMobileApp,co=Q.removeApp,ro=Q.disableAppAssetSelection,mo=Q.isMultiRig,po=i(!1),lo=s(po,2),ao=lo[0],uo=lo[1],jo=n(),Io=n(),fo=n(null),ho=n(null),vo=i(!1),Co=s(vo,2),Ao=Co[0],bo=Co[1],go=n(null),yo=e((function(){return uo((function(o){return!o}))}),[]),To=e((function(){return bo((function(o){return!o}))}),[]),Oo=e((function(){clearTimeout(jo.current),clearTimeout(Io.current),jo.current=setTimeout((function(){uo(!0)}),300)}),[]),No=e((function(){clearTimeout(jo.current),clearTimeout(Io.current),jo.current=setTimeout((function(){uo(!1)}),700)}),[]);S(ho,yo,[fo.current]);var Po=(H instanceof Array&&H.length>0||!!H)&&!W&&!eo,xo=F({isDCApp:Po,appId:$,multiRigAssets:H instanceof Array?H.map(u).filter(Boolean):void 0,asset:H instanceof Array?void 0:u(H),maximized:_,dashboards:[]}),Do=W||xo,Mo=(Po||!!W)&&!eo,ko=(null==Do||null===(q=Do.wellnessAlerts)||void 0===q?void 0:q.alertsData)||{},So=function(o){if(o){if("number"==typeof o){var s=Date.now();return Math.abs(s-o)>Math.abs(s-1e3*o)?m.unix(o):m(o)}return m(o)}return null}(Y),Fo=e((function(){To(),null==oo||oo()}),[oo,To]),Eo=e((function(){To(),null==so||so()}),[so,To]),zo=i(!1),Ro=s(zo,2),qo=Ro[0],wo=Ro[1],Bo=e((function(){To(),wo(!0)}),[To]),Lo=e((function(){wo(!1)}),[]),Uo=c((function(){return[].concat(to||[]).concat(Z||[]).map((function(o){return w(w({},o),{},{onClick:function(){var s;To(),null===(s=o.onClick)||void 0===s||s.call(o)}})}))}),[to,Z,To]),Ho="asset"===(null==no?void 0:no.type),Go=h(X)===g.COMPLETION,Wo=!(ro||K||mo||Ho&&Go),Yo=null!=So&&So.isValid()?"Last Update: ".concat(So.format("MMM D YYYY, hh:mm A")):void 0,Vo=V||io;return eo?E("div",{className:t(N.root,G),children:E("div",{className:N.title,children:E(l,{className:t(N.titleText),testId:O.AppNameTestId,children:Vo})})}):z("div",{className:t(N.root,G),style:J,children:[Mo&&E(d,{statusBadgeIconType:Do.statusBadgeIconType,className:N.dqBadge,onClick:yo,onMouseEnter:Oo,onMouseLeave:No,ref:fo}),E(a,{type:"tertiary",size:"small",className:N.title,suffix:E("div",{className:t(N.titleChevron,Ao&&N.titleChevronOpen),children:E(P,{size:16})}),ref:go,onClick:To,children:E(l,{className:t(N.titleText,Mo&&N.withDq),testId:O.AppNameTestId,children:Vo})}),E(j,{open:ao,anchorEl:fo.current,placement:"bottom-start",alertsData:ko,onClose:yo,contentRef:ho,onMouseEnter:Oo,onMouseLeave:No}),z(I,{anchorEl:go.current,open:Ao,className:N.menuRoot,onClose:To,children:[z(T,{href:"/app-store/app/".concat(null==X||null===(B=X.app)||void 0===B?void 0:B.id),className:N.menuHeader,"data-testid":O.AppStoreLinkTestId,children:[E(f,{"data-testid":O.AppIconTestId,className:N.appIcon,segment:[h(X)],iconUrl:null==X||null===(L=X.app)||void 0===L||null===(U=L.icon)||void 0===U?void 0:U.url,height:40,width:40}),z("div",{className:N.menuHeaderText,children:[E(v,{children:E(l,{testId:O.MenuAppNameTestId,children:io})}),E(v,{size:12,color:"T6",children:"Open in Appstore"})]})]}),E("div",{className:N.divider}),Wo&&E(I.Item,{size:"large",disableClickEffect:!0,className:t(N.menuItem,N.assetMenuItem),children:E(C,{title:z("div",{className:N.accordionTitle,children:[E(x,{size:24,className:N.accordionIcon}),"Change Asset"]}),iconPosition:"end",titleHover:!1,testId:O.AssetSelectorAccordionTestId,children:E(b,{})})}),null==Uo?void 0:Uo.map((function(o,s){return z(r,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",onClick:o.onClick,prefix:"string"==typeof o.icon?E(p,{children:o.icon}):o.icon,testId:O.AdditionalSelectionTestId,children:o.title})]},s)})),so&&z(R,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",prefix:E(D,{}),onClick:Eo,testId:O.HelpCenterLinkTestId,children:"Help Center"})]}),oo&&z(R,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",prefix:E(k,{fill:"currentColor"}),onClick:Fo,testId:O.AnnotationsTestId,children:"Add Annotation"})]}),co&&z(R,{children:[E("div",{className:N.divider}),E(I.Item,{className:N.menuItem,size:"large",prefix:E(M,{}),type:"destructive",onClick:Bo,testId:O.RemoveAppTestId,children:"Remove App"})]}),(null==So?void 0:So.isValid())&&z(R,{children:[E("div",{className:N.divider}),z("div",{className:N.footer,children:[E(d,{statusBadgeIconType:Do.statusBadgeIconType,className:N.footerDqBadge,ref:fo}),Yo&&E(v,{size:12,color:"T6",children:Yo})]})]})]}),E(A,{open:qo,onClose:Lo})]})};export{B as AppTitle};
|
|
2
2
|
//# sourceMappingURL=AppTitle.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppTitle.js","sources":["../../../../../src/componentsV2/AppHeader/V3/AppTitle/AppTitle.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { Fragment, ReactNode, useCallback, useMemo, useRef, useState } from 'react';\nimport moment from 'moment';\nimport { Icon } from '@material-ui/core';\n\nimport { TextEndTruncated } from '../../../TextEndTruncated';\nimport { Button } from '../../../Button';\nimport { Asset, normalizeAsset, UseWellnessAlertsReturnType } from '../../AppHeader.constants';\nimport { DqStatusIcon } from '../DqStatusIcon';\nimport { AppDqPopover } from '../../../AppDqPopover';\nimport { Menu } from '../../../Menu';\nimport AppIcon from '../../../../components/AppIcon';\nimport { getAppSegment } from '../../../../utils/devcenter';\nimport { Text } from '../../../Text';\nimport { Accordion } from '../../../Accordion';\nimport { AppRemoveConfirmationModal } from '../AppRemoveConfirmationModal';\nimport { AssetSelector } from '../AssetSelector';\nimport { SEGMENTS } from '../../../../constants/segment';\nimport { useAppCommonsInternal } from '../../../AppCommonsProvider';\nimport { UniversalLink } from '../../../UniversalLink';\nimport { TitleMenuAction } from '../constants';\n\nimport { AppTitleTestIds } from './AppTitle.constants';\n\nimport styles from './AppTitle.scss';\n\nimport { AddMessageCustomIcon, DeleteFourIcon, DownIcon, HelpIcon, SettingOneIcon } from '~/icons';\nimport { useOutsideClick, useWellnessAlerts } from '~/effects';\n\nexport type AppTitleProps = {\n asset?: Asset | Asset[];\n className?: string;\n dqData?: UseWellnessAlertsReturnType;\n lastUpdate?: number | string | Date;\n title?: ReactNode;\n disableAssetSelector?: boolean;\n titleMenuActions?: TitleMenuAction[];\n style?: React.CSSProperties;\n};\n\nconst getLastUpdateMoment = (lastUpdate: AppTitleProps['lastUpdate']) => {\n if (lastUpdate) {\n if (typeof lastUpdate === 'number') {\n // Detecting unix timestamp (no milliseconds)\n const now = Date.now();\n\n if (Math.abs(now - lastUpdate) > Math.abs(now - lastUpdate * 1000)) {\n return moment.unix(lastUpdate);\n }\n\n return moment(lastUpdate);\n } else {\n return moment(lastUpdate);\n }\n }\n\n return null;\n};\n\nconst DqMouseEnterTimeout = 300;\nconst DqMouseLeaveTimeout = 700;\n\nexport const AppTitle = ({\n asset,\n className,\n dqData,\n lastUpdate,\n title,\n disableAssetSelector,\n titleMenuActions,\n style,\n}: AppTitleProps) => {\n const {\n app,\n appId,\n maximized,\n toggleAnnotationsList,\n onHelpCenterClick,\n secondaryMenuItems,\n appName,\n layoutEnvironment,\n isInsideNewMobileApp,\n removeApp,\n disableAppAssetSelection,\n isMultiRig,\n } = useAppCommonsInternal();\n const [isDqOpen, setIsDqOpen] = useState(false);\n const dqMouseEnterTimerRef = useRef<NodeJS.Timeout>();\n const dqMouseLeaveTimerRef = useRef<NodeJS.Timeout>();\n const dqIconRef = useRef<HTMLDivElement>(null);\n const dqContentRef = useRef<HTMLDivElement>(null);\n\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const menuButtonRef = useRef<HTMLButtonElement>(null);\n\n const toggleDq = useCallback(() => setIsDqOpen(value => !value), []);\n const toggleMenu = useCallback(() => setIsMenuOpen(value => !value), []);\n const onDqMouseEnter = useCallback(() => {\n clearTimeout(dqMouseEnterTimerRef.current);\n clearTimeout(dqMouseLeaveTimerRef.current);\n dqMouseEnterTimerRef.current = setTimeout(() => {\n setIsDqOpen(true);\n }, DqMouseEnterTimeout);\n }, []);\n\n const onDqMouseLeave = useCallback(() => {\n clearTimeout(dqMouseEnterTimerRef.current);\n clearTimeout(dqMouseLeaveTimerRef.current);\n dqMouseEnterTimerRef.current = setTimeout(() => {\n setIsDqOpen(false);\n }, DqMouseLeaveTimeout);\n }, []);\n\n useOutsideClick(dqContentRef, toggleDq, [dqIconRef.current]);\n\n const hasDqAsset = (asset instanceof Array && asset.length > 0) || !!asset;\n const shouldLoadDQ = hasDqAsset && !dqData && !isInsideNewMobileApp;\n\n const ownWellnessData = useWellnessAlerts({\n isDCApp: shouldLoadDQ,\n appId,\n multiRigAssets:\n asset instanceof Array\n ? (asset.map(normalizeAsset).filter(Boolean) as { id: number; name: string }[])\n : undefined,\n asset: !(asset instanceof Array) ? normalizeAsset(asset) : undefined,\n maximized,\n dashboards: [],\n });\n\n const wellnessData = dqData || ownWellnessData;\n const hasDQ = (shouldLoadDQ || !!dqData) && !isInsideNewMobileApp;\n const alertsData = wellnessData?.wellnessAlerts?.alertsData || {};\n const lastUpdateMoment = getLastUpdateMoment(lastUpdate);\n\n const onAddAnnotation = useCallback(() => {\n toggleMenu();\n toggleAnnotationsList?.();\n }, [toggleAnnotationsList, toggleMenu]);\n\n const onGoToHelpCenter = useCallback(() => {\n toggleMenu();\n onHelpCenterClick?.();\n }, [onHelpCenterClick, toggleMenu]);\n\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);\n\n const onDeleteApp = useCallback(() => {\n toggleMenu();\n setIsDeleteModalOpen(true);\n }, [toggleMenu]);\n\n const onCloseDeleteModal = useCallback(() => {\n setIsDeleteModalOpen(false);\n }, []);\n\n const additionalItems = useMemo(() => {\n return ([] as TitleMenuAction[])\n .concat(secondaryMenuItems || [])\n .concat(titleMenuActions || [])\n .map(item => ({\n ...item,\n onClick: () => {\n toggleMenu();\n item.onClick?.();\n },\n }));\n }, [secondaryMenuItems, titleMenuActions, toggleMenu]);\n\n const isAssetPage = layoutEnvironment?.type === 'asset';\n const isCompletionSegment = getAppSegment(app) === SEGMENTS.COMPLETION;\n const isAssetPageCompletionApp = isAssetPage && isCompletionSegment;\n const isAssetSelectorDisabled =\n disableAppAssetSelection || disableAssetSelector || isMultiRig || isAssetPageCompletionApp;\n const hasAssetSelector = !isAssetSelectorDisabled;\n const lastUpdateString = lastUpdateMoment?.isValid()\n ? `Last Update: ${lastUpdateMoment.format('MMM D YYYY, hh:mm A')}`\n : undefined;\n const actualTitle = title || appName;\n\n if (isInsideNewMobileApp) {\n return (\n <div className={classNames(styles.root, className)}>\n <div className={styles.title}>\n <TextEndTruncated\n className={classNames(styles.titleText)}\n testId={AppTitleTestIds.AppNameTestId}\n >\n {actualTitle}\n </TextEndTruncated>\n </div>\n </div>\n );\n }\n\n return (\n <div className={classNames(styles.root, className)} style={style}>\n {hasDQ && (\n <DqStatusIcon\n statusBadgeIconType={wellnessData.statusBadgeIconType}\n className={styles.dqBadge}\n onClick={toggleDq}\n onMouseEnter={onDqMouseEnter}\n onMouseLeave={onDqMouseLeave}\n ref={dqIconRef}\n />\n )}\n\n <Button\n type=\"tertiary\"\n size=\"small\"\n className={styles.title}\n suffix={\n <div className={classNames(styles.titleChevron, isMenuOpen && styles.titleChevronOpen)}>\n <DownIcon size={16} />\n </div>\n }\n ref={menuButtonRef}\n onClick={toggleMenu}\n >\n <TextEndTruncated\n className={classNames(styles.titleText, hasDQ && styles.withDq)}\n testId={AppTitleTestIds.AppNameTestId}\n >\n {actualTitle}\n </TextEndTruncated>\n </Button>\n\n <AppDqPopover\n open={isDqOpen}\n anchorEl={dqIconRef.current}\n placement=\"bottom-start\"\n alertsData={alertsData}\n onClose={toggleDq}\n contentRef={dqContentRef}\n onMouseEnter={onDqMouseEnter}\n onMouseLeave={onDqMouseLeave}\n />\n\n <Menu\n anchorEl={menuButtonRef.current}\n open={isMenuOpen}\n className={styles.menuRoot}\n onClose={toggleMenu}\n >\n <UniversalLink\n href={`/app-store/app/${app?.app?.id}`}\n className={styles.menuHeader}\n data-testid={AppTitleTestIds.AppStoreLinkTestId}\n >\n <AppIcon\n data-testid={AppTitleTestIds.AppIconTestId}\n className={styles.appIcon}\n segment={[getAppSegment(app)]}\n iconUrl={app?.app?.icon?.url}\n height={40}\n width={40}\n />\n\n <div className={styles.menuHeaderText}>\n <Text>\n <TextEndTruncated testId={AppTitleTestIds.MenuAppNameTestId}>\n {appName}\n </TextEndTruncated>\n </Text>\n <Text size={12} color=\"T6\">\n Open in Appstore\n </Text>\n </div>\n </UniversalLink>\n <div className={styles.divider} />\n\n {hasAssetSelector && (\n <Menu.Item\n size=\"large\"\n disableClickEffect\n className={classNames(styles.menuItem, styles.assetMenuItem)}\n >\n <Accordion\n title={\n <div className={styles.accordionTitle}>\n <SettingOneIcon size={24} className={styles.accordionIcon} />\n Change Asset\n </div>\n }\n iconPosition=\"end\"\n titleHover={false}\n testId={AppTitleTestIds.AssetSelectorAccordionTestId}\n >\n <AssetSelector />\n </Accordion>\n </Menu.Item>\n )}\n\n {additionalItems?.map((item, index) => {\n return (\n <Fragment key={index}>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n onClick={item.onClick}\n prefix={typeof item.icon === 'string' ? <Icon>{item.icon}</Icon> : item.icon}\n testId={AppTitleTestIds.AdditionalSelectionTestId}\n >\n {item.title}\n </Menu.Item>\n </Fragment>\n );\n })}\n {onHelpCenterClick && (\n <>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n prefix={<HelpIcon />}\n onClick={onGoToHelpCenter}\n testId={AppTitleTestIds.HelpCenterLinkTestId}\n >\n Help Center\n </Menu.Item>\n </>\n )}\n {toggleAnnotationsList && (\n <>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n prefix={<AddMessageCustomIcon fill=\"currentColor\" />}\n onClick={onAddAnnotation}\n testId={AppTitleTestIds.AnnotationsTestId}\n >\n Add Annotation\n </Menu.Item>\n </>\n )}\n {removeApp && (\n <>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n prefix={<DeleteFourIcon />}\n type=\"destructive\"\n onClick={onDeleteApp}\n testId={AppTitleTestIds.RemoveAppTestId}\n >\n Remove App\n </Menu.Item>\n </>\n )}\n {lastUpdateMoment?.isValid() && (\n <>\n <div className={styles.divider} />\n <div className={styles.footer}>\n <DqStatusIcon\n statusBadgeIconType={wellnessData.statusBadgeIconType}\n className={styles.footerDqBadge}\n ref={dqIconRef}\n />\n {lastUpdateString && (\n <Text size={12} color=\"T6\">\n {lastUpdateString}\n </Text>\n )}\n </div>\n </>\n )}\n </Menu>\n\n <AppRemoveConfirmationModal open={isDeleteModalOpen} onClose={onCloseDeleteModal} />\n </div>\n );\n};\n"],"names":["AppTitle","_ref","_wellnessData$wellnes","_app$app","_app$app2","_app$app2$icon","asset","className","dqData","lastUpdate","title","disableAssetSelector","titleMenuActions","style","_useAppCommonsInterna","useAppCommonsInternal","app","appId","maximized","toggleAnnotationsList","onHelpCenterClick","secondaryMenuItems","appName","layoutEnvironment","isInsideNewMobileApp","removeApp","disableAppAssetSelection","isMultiRig","useState","_useState2","_slicedToArray","_useState","isDqOpen","setIsDqOpen","dqMouseEnterTimerRef","useRef","dqMouseLeaveTimerRef","dqIconRef","dqContentRef","_useState4","_useState3","isMenuOpen","setIsMenuOpen","menuButtonRef","toggleDq","useCallback","value","toggleMenu","onDqMouseEnter","clearTimeout","current","setTimeout","onDqMouseLeave","useOutsideClick","shouldLoadDQ","Array","length","ownWellnessData","useWellnessAlerts","isDCApp","multiRigAssets","map","normalizeAsset","filter","Boolean","undefined","dashboards","wellnessData","hasDQ","alertsData","wellnessAlerts","lastUpdateMoment","now","Date","Math","abs","moment","unix","getLastUpdateMoment","onAddAnnotation","onGoToHelpCenter","_useState6","_useState5","isDeleteModalOpen","setIsDeleteModalOpen","onDeleteApp","onCloseDeleteModal","additionalItems","useMemo","concat","item","_objectSpread","onClick","_item$onClick","call","isAssetPage","type","isCompletionSegment","getAppSegment","SEGMENTS","COMPLETION","hasAssetSelector","lastUpdateString","isValid","format","actualTitle","_jsx","classNames","styles","root","children","TextEndTruncated","titleText","testId","AppTitleTestIds","AppNameTestId","_jsxs","DqStatusIcon","statusBadgeIconType","dqBadge","onMouseEnter","onMouseLeave","ref","Button","size","suffix","titleChevron","titleChevronOpen","DownIcon","withDq","AppDqPopover","open","anchorEl","placement","onClose","contentRef","Menu","menuRoot","UniversalLink","href","id","menuHeader","AppStoreLinkTestId","AppIcon","AppIconTestId","appIcon","segment","iconUrl","icon","url","height","width","menuHeaderText","Text","MenuAppNameTestId","color","divider","Item","disableClickEffect","menuItem","assetMenuItem","Accordion","accordionTitle","SettingOneIcon","accordionIcon","iconPosition","titleHover","AssetSelectorAccordionTestId","AssetSelector","index","Fragment","prefix","Icon","AdditionalSelectionTestId","_Fragment","HelpIcon","HelpCenterLinkTestId","AddMessageCustomIcon","fill","AnnotationsTestId","DeleteFourIcon","RemoveAppTestId","footer","footerDqBadge","AppRemoveConfirmationModal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AppTitle.js","sources":["../../../../../src/componentsV2/AppHeader/V3/AppTitle/AppTitle.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport { Fragment, ReactNode, useCallback, useMemo, useRef, useState } from 'react';\nimport moment from 'moment';\nimport { Icon } from '@material-ui/core';\n\nimport { TextEndTruncated } from '../../../TextEndTruncated';\nimport { Button } from '../../../Button';\nimport { Asset, normalizeAsset, UseWellnessAlertsReturnType } from '../../AppHeader.constants';\nimport { DqStatusIcon } from '../DqStatusIcon';\nimport { AppDqPopover } from '../../../AppDqPopover';\nimport { Menu } from '../../../Menu';\nimport AppIcon from '../../../../components/AppIcon';\nimport { getAppSegment } from '../../../../utils/devcenter';\nimport { Text } from '../../../Text';\nimport { Accordion } from '../../../Accordion';\nimport { AppRemoveConfirmationModal } from '../AppRemoveConfirmationModal';\nimport { AssetSelector } from '../AssetSelector';\nimport { SEGMENTS } from '../../../../constants/segment';\nimport { useAppCommonsInternal } from '../../../AppCommonsProvider';\nimport { UniversalLink } from '../../../UniversalLink';\nimport { TitleMenuAction } from '../constants';\n\nimport { AppTitleTestIds } from './AppTitle.constants';\n\nimport styles from './AppTitle.scss';\n\nimport { AddMessageCustomIcon, DeleteFourIcon, DownIcon, HelpIcon, SettingOneIcon } from '~/icons';\nimport { useOutsideClick, useWellnessAlerts } from '~/effects';\n\nexport type AppTitleProps = {\n asset?: Asset | Asset[];\n className?: string;\n dqData?: UseWellnessAlertsReturnType;\n lastUpdate?: number | string | Date;\n title?: ReactNode;\n disableAssetSelector?: boolean;\n titleMenuActions?: TitleMenuAction[];\n style?: React.CSSProperties;\n};\n\nconst getLastUpdateMoment = (lastUpdate: AppTitleProps['lastUpdate']) => {\n if (lastUpdate) {\n if (typeof lastUpdate === 'number') {\n // Detecting unix timestamp (no milliseconds)\n const now = Date.now();\n\n if (Math.abs(now - lastUpdate) > Math.abs(now - lastUpdate * 1000)) {\n return moment.unix(lastUpdate);\n }\n\n return moment(lastUpdate);\n } else {\n return moment(lastUpdate);\n }\n }\n\n return null;\n};\n\nconst DqMouseEnterTimeout = 300;\nconst DqMouseLeaveTimeout = 700;\n\nexport const AppTitle = ({\n asset,\n className,\n dqData,\n lastUpdate,\n title,\n disableAssetSelector,\n titleMenuActions,\n style,\n}: AppTitleProps) => {\n const {\n app,\n appId,\n maximized,\n toggleAnnotationsList,\n onHelpCenterClick,\n secondaryMenuItems,\n appName,\n layoutEnvironment,\n isInsideNewMobileApp,\n removeApp,\n disableAppAssetSelection,\n isMultiRig,\n } = useAppCommonsInternal();\n const [isDqOpen, setIsDqOpen] = useState(false);\n const dqMouseEnterTimerRef = useRef<NodeJS.Timeout>();\n const dqMouseLeaveTimerRef = useRef<NodeJS.Timeout>();\n const dqIconRef = useRef<HTMLDivElement>(null);\n const dqContentRef = useRef<HTMLDivElement>(null);\n\n const [isMenuOpen, setIsMenuOpen] = useState(false);\n const menuButtonRef = useRef<HTMLButtonElement>(null);\n\n const toggleDq = useCallback(() => setIsDqOpen(value => !value), []);\n const toggleMenu = useCallback(() => setIsMenuOpen(value => !value), []);\n const onDqMouseEnter = useCallback(() => {\n clearTimeout(dqMouseEnterTimerRef.current);\n clearTimeout(dqMouseLeaveTimerRef.current);\n dqMouseEnterTimerRef.current = setTimeout(() => {\n setIsDqOpen(true);\n }, DqMouseEnterTimeout);\n }, []);\n\n const onDqMouseLeave = useCallback(() => {\n clearTimeout(dqMouseEnterTimerRef.current);\n clearTimeout(dqMouseLeaveTimerRef.current);\n dqMouseEnterTimerRef.current = setTimeout(() => {\n setIsDqOpen(false);\n }, DqMouseLeaveTimeout);\n }, []);\n\n useOutsideClick(dqContentRef, toggleDq, [dqIconRef.current]);\n\n const hasDqAsset = (asset instanceof Array && asset.length > 0) || !!asset;\n const shouldLoadDQ = hasDqAsset && !dqData && !isInsideNewMobileApp;\n\n const ownWellnessData = useWellnessAlerts({\n isDCApp: shouldLoadDQ,\n appId,\n multiRigAssets:\n asset instanceof Array\n ? (asset.map(normalizeAsset).filter(Boolean) as { id: number; name: string }[])\n : undefined,\n asset: !(asset instanceof Array) ? normalizeAsset(asset) : undefined,\n maximized,\n dashboards: [],\n });\n\n const wellnessData = dqData || ownWellnessData;\n const hasDQ = (shouldLoadDQ || !!dqData) && !isInsideNewMobileApp;\n const alertsData = wellnessData?.wellnessAlerts?.alertsData || {};\n const lastUpdateMoment = getLastUpdateMoment(lastUpdate);\n\n const onAddAnnotation = useCallback(() => {\n toggleMenu();\n toggleAnnotationsList?.();\n }, [toggleAnnotationsList, toggleMenu]);\n\n const onGoToHelpCenter = useCallback(() => {\n toggleMenu();\n onHelpCenterClick?.();\n }, [onHelpCenterClick, toggleMenu]);\n\n const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false);\n\n const onDeleteApp = useCallback(() => {\n toggleMenu();\n setIsDeleteModalOpen(true);\n }, [toggleMenu]);\n\n const onCloseDeleteModal = useCallback(() => {\n setIsDeleteModalOpen(false);\n }, []);\n\n const additionalItems = useMemo(() => {\n return ([] as TitleMenuAction[])\n .concat(secondaryMenuItems || [])\n .concat(titleMenuActions || [])\n .map(item => ({\n ...item,\n onClick: () => {\n toggleMenu();\n item.onClick?.();\n },\n }));\n }, [secondaryMenuItems, titleMenuActions, toggleMenu]);\n\n const isAssetPage = layoutEnvironment?.type === 'asset';\n const isCompletionSegment = getAppSegment(app) === SEGMENTS.COMPLETION;\n const isAssetPageCompletionApp = isAssetPage && isCompletionSegment;\n const isAssetSelectorDisabled =\n disableAppAssetSelection || disableAssetSelector || isMultiRig || isAssetPageCompletionApp;\n const hasAssetSelector = !isAssetSelectorDisabled;\n const lastUpdateString = lastUpdateMoment?.isValid()\n ? `Last Update: ${lastUpdateMoment.format('MMM D YYYY, hh:mm A')}`\n : undefined;\n const actualTitle = title || appName;\n\n if (isInsideNewMobileApp) {\n return (\n <div className={classNames(styles.root, className)}>\n <div className={styles.title}>\n <TextEndTruncated\n className={classNames(styles.titleText)}\n testId={AppTitleTestIds.AppNameTestId}\n >\n {actualTitle}\n </TextEndTruncated>\n </div>\n </div>\n );\n }\n\n return (\n <div className={classNames(styles.root, className)} style={style}>\n {hasDQ && (\n <DqStatusIcon\n statusBadgeIconType={wellnessData.statusBadgeIconType}\n className={styles.dqBadge}\n onClick={toggleDq}\n onMouseEnter={onDqMouseEnter}\n onMouseLeave={onDqMouseLeave}\n ref={dqIconRef}\n />\n )}\n\n <Button\n type=\"tertiary\"\n size=\"small\"\n className={styles.title}\n suffix={\n <div className={classNames(styles.titleChevron, isMenuOpen && styles.titleChevronOpen)}>\n <DownIcon size={16} />\n </div>\n }\n ref={menuButtonRef}\n onClick={toggleMenu}\n >\n <TextEndTruncated\n className={classNames(styles.titleText, hasDQ && styles.withDq)}\n testId={AppTitleTestIds.AppNameTestId}\n >\n {actualTitle}\n </TextEndTruncated>\n </Button>\n\n <AppDqPopover\n open={isDqOpen}\n anchorEl={dqIconRef.current}\n placement=\"bottom-start\"\n alertsData={alertsData}\n onClose={toggleDq}\n contentRef={dqContentRef}\n onMouseEnter={onDqMouseEnter}\n onMouseLeave={onDqMouseLeave}\n />\n\n <Menu\n anchorEl={menuButtonRef.current}\n open={isMenuOpen}\n className={styles.menuRoot}\n onClose={toggleMenu}\n >\n <UniversalLink\n href={`/app-store/app/${app?.app?.id}`}\n className={styles.menuHeader}\n data-testid={AppTitleTestIds.AppStoreLinkTestId}\n >\n <AppIcon\n data-testid={AppTitleTestIds.AppIconTestId}\n className={styles.appIcon}\n segment={[getAppSegment(app)]}\n iconUrl={app?.app?.icon?.url}\n height={40}\n width={40}\n />\n\n <div className={styles.menuHeaderText}>\n <Text>\n <TextEndTruncated testId={AppTitleTestIds.MenuAppNameTestId}>\n {appName}\n </TextEndTruncated>\n </Text>\n <Text size={12} color=\"T6\">\n Open in Appstore\n </Text>\n </div>\n </UniversalLink>\n <div className={styles.divider} />\n\n {hasAssetSelector && (\n <Menu.Item\n size=\"large\"\n disableClickEffect\n className={classNames(styles.menuItem, styles.assetMenuItem)}\n >\n <Accordion\n title={\n <div className={styles.accordionTitle}>\n <SettingOneIcon size={24} className={styles.accordionIcon} />\n Change Asset\n </div>\n }\n iconPosition=\"end\"\n titleHover={false}\n testId={AppTitleTestIds.AssetSelectorAccordionTestId}\n >\n <AssetSelector />\n </Accordion>\n </Menu.Item>\n )}\n\n {additionalItems?.map((item, index) => {\n return (\n <Fragment key={index}>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n onClick={item.onClick}\n prefix={typeof item.icon === 'string' ? <Icon>{item.icon}</Icon> : item.icon}\n testId={AppTitleTestIds.AdditionalSelectionTestId}\n >\n {item.title}\n </Menu.Item>\n </Fragment>\n );\n })}\n {onHelpCenterClick && (\n <>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n prefix={<HelpIcon />}\n onClick={onGoToHelpCenter}\n testId={AppTitleTestIds.HelpCenterLinkTestId}\n >\n Help Center\n </Menu.Item>\n </>\n )}\n {toggleAnnotationsList && (\n <>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n prefix={<AddMessageCustomIcon fill=\"currentColor\" />}\n onClick={onAddAnnotation}\n testId={AppTitleTestIds.AnnotationsTestId}\n >\n Add Annotation\n </Menu.Item>\n </>\n )}\n {removeApp && (\n <>\n <div className={styles.divider} />\n <Menu.Item\n className={styles.menuItem}\n size=\"large\"\n prefix={<DeleteFourIcon />}\n type=\"destructive\"\n onClick={onDeleteApp}\n testId={AppTitleTestIds.RemoveAppTestId}\n >\n Remove App\n </Menu.Item>\n </>\n )}\n {lastUpdateMoment?.isValid() && (\n <>\n <div className={styles.divider} />\n <div className={styles.footer}>\n <DqStatusIcon\n statusBadgeIconType={wellnessData.statusBadgeIconType}\n className={styles.footerDqBadge}\n ref={dqIconRef}\n />\n {lastUpdateString && (\n <Text size={12} color=\"T6\">\n {lastUpdateString}\n </Text>\n )}\n </div>\n </>\n )}\n </Menu>\n\n <AppRemoveConfirmationModal open={isDeleteModalOpen} onClose={onCloseDeleteModal} />\n </div>\n );\n};\n"],"names":["AppTitle","_ref","_wellnessData$wellnes","_app$app","_app$app2","_app$app2$icon","asset","className","dqData","lastUpdate","title","disableAssetSelector","titleMenuActions","style","_useAppCommonsInterna","useAppCommonsInternal","app","appId","maximized","toggleAnnotationsList","onHelpCenterClick","secondaryMenuItems","appName","layoutEnvironment","isInsideNewMobileApp","removeApp","disableAppAssetSelection","isMultiRig","useState","_useState2","_slicedToArray","_useState","isDqOpen","setIsDqOpen","dqMouseEnterTimerRef","useRef","dqMouseLeaveTimerRef","dqIconRef","dqContentRef","_useState4","_useState3","isMenuOpen","setIsMenuOpen","menuButtonRef","toggleDq","useCallback","value","toggleMenu","onDqMouseEnter","clearTimeout","current","setTimeout","onDqMouseLeave","useOutsideClick","shouldLoadDQ","Array","length","ownWellnessData","useWellnessAlerts","isDCApp","multiRigAssets","map","normalizeAsset","filter","Boolean","undefined","dashboards","wellnessData","hasDQ","alertsData","wellnessAlerts","lastUpdateMoment","now","Date","Math","abs","moment","unix","getLastUpdateMoment","onAddAnnotation","onGoToHelpCenter","_useState6","_useState5","isDeleteModalOpen","setIsDeleteModalOpen","onDeleteApp","onCloseDeleteModal","additionalItems","useMemo","concat","item","_objectSpread","onClick","_item$onClick","call","isAssetPage","type","isCompletionSegment","getAppSegment","SEGMENTS","COMPLETION","hasAssetSelector","lastUpdateString","isValid","format","actualTitle","_jsx","classNames","styles","root","children","TextEndTruncated","titleText","testId","AppTitleTestIds","AppNameTestId","_jsxs","DqStatusIcon","statusBadgeIconType","dqBadge","onMouseEnter","onMouseLeave","ref","Button","size","suffix","titleChevron","titleChevronOpen","DownIcon","withDq","AppDqPopover","open","anchorEl","placement","onClose","contentRef","Menu","menuRoot","UniversalLink","href","id","menuHeader","AppStoreLinkTestId","AppIcon","AppIconTestId","appIcon","segment","iconUrl","icon","url","height","width","menuHeaderText","Text","MenuAppNameTestId","color","divider","Item","disableClickEffect","menuItem","assetMenuItem","Accordion","accordionTitle","SettingOneIcon","accordionIcon","iconPosition","titleHover","AssetSelectorAccordionTestId","AssetSelector","index","Fragment","prefix","Icon","AdditionalSelectionTestId","_Fragment","HelpIcon","HelpCenterLinkTestId","AddMessageCustomIcon","fill","AnnotationsTestId","DeleteFourIcon","RemoveAppTestId","footer","footerDqBadge","AppRemoveConfirmationModal"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/asyncToGenerator";import s from"@babel/runtime/regenerator";import{useState as n,useMemo as
|
|
1
|
+
import t from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/asyncToGenerator";import s from"@babel/runtime/regenerator";import{useState as n,useMemo as o,useCallback as i,useEffect as a}from"react";import p from"classnames";import{Text as c}from"../../../Text/Text.js";import{LoaderLogo as m}from"../../../LoaderLogo/LoaderLogo.js";import{getAssetByFracFleetId as l,getAssetByRigId as u,getAssetByWellIdForInterventionUnit as d,getAssetByWellIdForRig as f,getAssetByPadId as y}from"../../../../utils/getSingleAsset.js";import{AssetSelectorSelect as v}from"./AssetSelectorSelect/AssetSelectorSelect.js";import{loadAssets as j}from"./AssetSelectorSelect/loadAssets.js";import{AssetSelectorTestIds as b}from"./constants.js";import h from"./AssetSelector.scss.js";import"querystring";import"lodash";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../clients/jsonApi/index.js";import{getAppSegment as g}from"../../../../utils/devcenter.js";import"../../../../components/UserMention/utils/index.js";import"../../../../utils/convert.js";import"../../../../constants/completion.js";import"moment";import"../../../../constants/alerts.js";import"../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import"../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../utils/ga.js";import"../../../../constants/goals.js";import{SEGMENT_TO_ASSET_TYPE as w}from"../../../../constants/segment.js";import"../../../../utils/goalsConfig/goalsConfig.js";import"../../../../utils/lasParser.js";import"../../../../utils/main.js";import"../../../../utils/metrics/metricsConfig.js";import"../../../../utils/mobileDetect.js";import"../../../../constants/notifications.js";import"../../../../utils/feed.js";import"../../../../utils/reports.js";import"moment-timezone";import"@babel/runtime/helpers/typeof";import"../../../../utils/dashboardReports.js";import"../../../../constants/apps.js";import"../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../utils/jsonaDataFormatter.js";import"../../../../utils/bha.js";import"jsona";import"@babel/runtime/helpers/objectWithoutProperties";import"../../../../utils/charts/Styles.scss.js";import"uuid";import"../../../../constants/drillstring.js";import"../../../../constants/appPackages.js";import"../../../../constants/feed.js";import"../../../../constants/bha.js";import"../../../../constants/corvaCompanyId.js";import"../../../../components/GradientManager/configuration/constants.js";import"../../../../components/StatusBadge/constants.js";import"lodash/unset";import"../../../../clients/api/apiCore.js";import"../../../../clients/constants.js";import"../../../../clients/sso/auth0.js";import"../../../../clients/sso/oauth2.js";import"../../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../AppCommonsProvider/AppCommonsProvider.js";import{useAppCommons as T}from"../../../AppCommonsProvider/AppCommonsContext.js";import"../../../AppPanel/AppPanelsContext.js";import{jsxs as x,jsx as S}from"react/jsx-runtime";function A(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function C(t){for(var r=1;r<arguments.length;r++){var s=null!=arguments[r]?arguments[r]:{};r%2?A(Object(s),!0).forEach((function(r){e(t,r,s[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(s)):A(Object(s)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(s,e))}))}return t}var k=function(){var t=r(s.mark((function t(r,n){var o,i,a,p;return s.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(null!=r&&r.id){t.next=2;break}throw new Error("Primary asset id is empty!");case 2:if("rig"!==r.type){t.next=10;break}return t.next=5,u(r);case 5:return o=t.sent,i=o.wellId,t.abrupt("return",e({},n.id,i&&String(i)));case 10:if("intervention_unit"!==r.type){t.next=14;break}return t.abrupt("return",e({},n.id,null));case 14:if("frac_fleet"!==r.type){t.next=22;break}return t.next=17,l(r);case 17:return a=t.sent,p=a.padId,t.abrupt("return",e({},n.id,p&&String(p)));case 22:throw new Error('Unknown primary asset type "'.concat(String(r.type),'"'));case 23:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}(),P=function(){var t=r(s.mark((function t(r,n,o){var i,a,p,c,m,l;return s.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r.id){t.next=2;break}throw new Error("Secondary asset id is empty!");case 2:if("pad"!==r.type){t.next=10;break}return t.next=5,y(r,{fallbackFleetId:null==o?void 0:o.id});case 5:return i=t.sent,a=i.fracFleetId,t.abrupt("return",e({},n.id,a&&String(a)));case 10:if("well"!==r.type||"rig"!==n.type){t.next=18;break}return t.next=13,f(r);case 13:return p=t.sent,c=p.rigId,t.abrupt("return",e({},n.id,c&&String(c)));case 18:if("well"!==r.type||"intervention_unit"!==n.type){t.next=26;break}return t.next=21,d(r);case 21:return m=t.sent,l=m.interventionUnitId,t.abrupt("return",e({},n.id,l&&String(l)));case 26:throw new Error('Unknown secondary asset type "'.concat(String(r.type),'"'));case 27:case"end":return t.stop()}}),t)})));return function(e,r,s){return t.apply(this,arguments)}}(),O=function(){var l,u=T(),d=u.app,f=u.appSettings,y=u.well,A=u.rig,O=u.fracFleet,I=u.interventionUnit,N=u.onSettingsChange,_=g(d),D=w[_],E=n(!1),L=t(E,2),U=L[0],F=L[1],z=n(),B=t(z,2),G=B[0],M=B[1],R=D.primaryAsset,W=D.secondaryAsset,q=o((function(){return A&&"rig"===R.assetType.type?C(C({},A),{},{type:"rig"}):O&&"frac_fleet"===R.assetType.type?C(C({},O),{},{type:"frac_fleet"}):I&&"intervention_unit"===R.assetType.type?C(C({},I),{},{type:"intervention_unit"}):void 0}),[R.assetType.type,A,O,I]),H=o((function(){return y&&"well"===W.assetType.type?C(C({},y),{},{type:"well"}):G&&"pad"===W.assetType.type?G:void 0}),[W.assetType.type,y,G]),J=i(function(){var t=r(s.mark((function t(r){var n;return s.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,F(!0),t.next=4,k(r,W.assetType);case 4:n=t.sent,N(C(C({},f),{},e({},R.assetType.id,r.id),n)),t.next=11;break;case 8:t.prev=8,t.t0=t.catch(0),console.error(t.t0);case 11:return t.prev=11,F(!1),t.finish(11);case 14:case"end":return t.stop()}}),t,null,[[0,8,11,14]])})));return function(e){return t.apply(this,arguments)}}(),[R.assetType,f,N,W.assetType]),K=i(function(){var t=r(s.mark((function t(r){var n,o,i;return s.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,F(!0),t.next=4,P(r,R.assetType,q);case 4:o=t.sent,i="intervention_unit"===(null==q?void 0:q.type)&&Number(r.id)===Number(null===(n=q.active_well)||void 0===n?void 0:n.id),N(C(C({},f),{},e({},W.assetType.id,i?null:r.id),o)),t.next=12;break;case 9:t.prev=9,t.t0=t.catch(0),console.error(t.t0);case 12:return t.prev=12,F(!1),t.finish(12);case 15:case"end":return t.stop()}}),t,null,[[0,9,12,15]])})));return function(e){return t.apply(this,arguments)}}(),[N,W.assetType,R.assetType,f,q]);return a((function(){if("pad"===W.assetType.type){var t=function(){var t=r(s.mark((function t(){var e,r;return s.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return F(!0),t.next=3,j({assetType:"pad",page:1,perPage:1,ids:[Number(null==f?void 0:f[W.assetType.id])]});case 3:e=t.sent,r=e.find((function(t){return Number(t.id)===Number(null==f?void 0:f[W.assetType.id])})),M(r),F(!1);case 7:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();t()}}),[R.assetType,W.assetType,f]),x("div",{"data-testid":b.RootTestId,className:h.root,children:[U&&S(m,{size:40,className:h.loader}),D?x("div",{className:p(h.content,U&&h.loading),children:[S(v,{testId:b.PrimaryAssetTestId,type:R.assetType,currentAsset:q,onChange:J}),S(v,{testId:b.SecondaryAssetTestId,type:W.assetType,currentAsset:H,parentId:null==q?void 0:q.id,parentType:null==q?void 0:q.type,parentActiveWellId:"frac_fleet"!==(null==q?void 0:q.type)&&null!=q&&null!==(l=q.active_well)&&void 0!==l&&l.id?Number(q.active_well.id):void 0,onChange:K})]}):x(c,{testId:b.NoAssetTypeTestId,size:14,color:"T6",children:['No Asset Type Data for segment "',String(_),'"']})]})};export{O as AssetSelector};
|
|
2
2
|
//# sourceMappingURL=AssetSelector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetSelector.js","sources":["../../../../../src/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { Text } from '../../../Text';\nimport { LoaderLogo } from '../../../LoaderLogo';\nimport {\n getAssetByFracFleetId,\n getAssetByPadId,\n getAssetByRigId,\n getAssetByWellIdForInterventionUnit,\n getAssetByWellIdForRig,\n} from '../../../../utils/getSingleAsset';\n\nimport { AssetSelectorSelect } from './AssetSelectorSelect';\nimport { Asset, PrimaryAsset } from './AssetSelectorSelect/constants';\nimport { loadAssets } from './AssetSelectorSelect/loadAssets';\nimport { AssetSelectorTestIds } from './constants';\n\nimport styles from './AssetSelector.scss';\n\nimport { useAppCommons } from '~/effects';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { SEGMENT_TO_ASSET_TYPE } from '~/constants/segment';\n\ntype PrimaryAssetConfig = typeof SEGMENT_TO_ASSET_TYPE[string]['primaryAsset']['assetType'];\ntype SecondaryAssetConfig = typeof SEGMENT_TO_ASSET_TYPE[string]['secondaryAsset']['assetType'];\n\nconst getSettingsByPrimaryAsset = async (\n asset: Asset,\n secondaryAssetType: SecondaryAssetConfig\n) => {\n if (!asset?.id) {\n throw new Error('Primary asset id is empty!');\n }\n\n if (asset.type === 'rig') {\n const { wellId } = await getAssetByRigId(asset);\n\n return {\n [secondaryAssetType.id]: wellId && String(wellId),\n };\n } else if (asset.type === 'intervention_unit') {\n return {\n [secondaryAssetType.id]: null,\n };\n } else if (asset.type === 'frac_fleet') {\n const { padId } = await getAssetByFracFleetId(asset);\n\n return {\n [secondaryAssetType.id]: padId && String(padId),\n };\n } else {\n throw new Error(`Unknown primary asset type \"${String(asset.type)}\"`);\n }\n};\n\nconst getSettingsBySecondaryAsset = async (\n asset: Asset,\n primaryAssetType: PrimaryAssetConfig,\n currentPrimaryAsset?: PrimaryAsset\n) => {\n if (!asset.id) {\n throw new Error('Secondary asset id is empty!');\n }\n\n if (asset.type === 'pad') {\n const { fracFleetId } = await getAssetByPadId(asset, {\n // Falling back to current fleet if pad has no parent fleet id\n // Apparently it's OK when searching for pads, because then API returns proper parent fleet id\n fallbackFleetId: currentPrimaryAsset?.id,\n });\n\n return {\n [primaryAssetType.id]: fracFleetId && String(fracFleetId),\n };\n } else if (asset.type === 'well' && primaryAssetType.type === 'rig') {\n const { rigId } = await getAssetByWellIdForRig(asset);\n return {\n [primaryAssetType.id]: rigId && String(rigId),\n };\n } else if (asset.type === 'well' && primaryAssetType.type === 'intervention_unit') {\n const { interventionUnitId } = await getAssetByWellIdForInterventionUnit(asset);\n\n return { [primaryAssetType.id]: interventionUnitId && String(interventionUnitId) };\n } else {\n throw new Error(`Unknown secondary asset type \"${String(asset.type)}\"`);\n }\n};\n\nexport const AssetSelector = () => {\n const { app, appSettings, well, rig, fracFleet, interventionUnit, onSettingsChange } =\n useAppCommons();\n const segment = getAppSegment(app);\n const assetTypeData = SEGMENT_TO_ASSET_TYPE[segment];\n const [isLoading, setIsLoading] = useState(false);\n const [pad, setPad] = useState<Asset>();\n\n const { primaryAsset, secondaryAsset } = assetTypeData;\n\n const currentPrimaryAsset = useMemo((): PrimaryAsset | undefined => {\n if (rig && primaryAsset.assetType.type === 'rig') {\n return { ...rig, type: 'rig' };\n } else if (fracFleet && primaryAsset.assetType.type === 'frac_fleet') {\n return { ...fracFleet, type: 'frac_fleet' };\n } else if (interventionUnit && primaryAsset.assetType.type === 'intervention_unit') {\n return { ...interventionUnit, type: 'intervention_unit' };\n }\n return undefined;\n }, [primaryAsset.assetType.type, rig, fracFleet, interventionUnit]);\n\n const currentSecondaryAsset = useMemo((): Asset | undefined => {\n if (well && secondaryAsset.assetType.type === 'well') {\n return { ...well, type: 'well' };\n }\n\n if (pad && secondaryAsset.assetType.type === 'pad') {\n return pad;\n }\n\n return undefined;\n }, [secondaryAsset.assetType.type, well, pad]);\n\n const onPrimaryAssetChange = useCallback(\n async (asset: Asset) => {\n try {\n setIsLoading(true);\n\n const assetSettings = await getSettingsByPrimaryAsset(asset, secondaryAsset.assetType);\n\n onSettingsChange({\n ...appSettings,\n [primaryAsset.assetType.id]: asset.id,\n ...assetSettings,\n });\n } catch (e) {\n console.error(e);\n } finally {\n setIsLoading(false);\n }\n },\n [primaryAsset.assetType, appSettings, onSettingsChange, secondaryAsset.assetType]\n );\n\n const onSecondaryAssetChange = useCallback(\n async (asset: Asset) => {\n try {\n setIsLoading(true);\n\n const assetSettings = await getSettingsBySecondaryAsset(\n asset,\n primaryAsset.assetType,\n currentPrimaryAsset\n );\n\n const isActiveWellForIntervention =\n currentPrimaryAsset?.type === 'intervention_unit' &&\n Number(asset.id) === Number(currentPrimaryAsset.active_well?.id);\n\n onSettingsChange({\n ...appSettings,\n [secondaryAsset.assetType.id]: isActiveWellForIntervention ? null : asset.id,\n ...assetSettings,\n });\n } catch (e) {\n console.error(e);\n } finally {\n setIsLoading(false);\n }\n },\n [\n onSettingsChange,\n secondaryAsset.assetType,\n primaryAsset.assetType,\n appSettings,\n currentPrimaryAsset,\n ]\n );\n\n // Loading pad\n useEffect(() => {\n if (secondaryAsset.assetType.type === 'pad') {\n const loadPad = async () => {\n setIsLoading(true);\n\n const pads = await loadAssets({\n assetType: 'pad',\n page: 1,\n perPage: 1,\n ids: [Number(appSettings?.[secondaryAsset.assetType.id])],\n });\n\n const foundPad = pads.find(\n item => Number(item.id) === Number(appSettings?.[secondaryAsset.assetType.id])\n );\n\n setPad(foundPad);\n setIsLoading(false);\n };\n\n loadPad();\n }\n }, [primaryAsset.assetType, secondaryAsset.assetType, appSettings]);\n\n return (\n <div data-testid={AssetSelectorTestIds.RootTestId} className={styles.root}>\n {isLoading && <LoaderLogo size={40} className={styles.loader} />}\n {assetTypeData ? (\n <div className={classNames(styles.content, isLoading && styles.loading)}>\n <AssetSelectorSelect\n testId={AssetSelectorTestIds.PrimaryAssetTestId}\n type={primaryAsset.assetType}\n currentAsset={currentPrimaryAsset}\n onChange={onPrimaryAssetChange}\n />\n <AssetSelectorSelect\n testId={AssetSelectorTestIds.SecondaryAssetTestId}\n type={secondaryAsset.assetType}\n currentAsset={currentSecondaryAsset}\n parentId={currentPrimaryAsset?.id}\n parentType={currentPrimaryAsset?.type}\n parentActiveWellId={\n currentPrimaryAsset?.type !== 'frac_fleet' && currentPrimaryAsset?.active_well?.id\n ? Number(currentPrimaryAsset.active_well.id)\n : undefined\n }\n onChange={onSecondaryAssetChange}\n />\n </div>\n ) : (\n <Text testId={AssetSelectorTestIds.NoAssetTypeTestId} size={14} color=\"T6\">\n No Asset Type Data for segment \"{String(segment)}\"\n </Text>\n )}\n </div>\n );\n};\n"],"names":["getSettingsByPrimaryAsset","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","asset","secondaryAssetType","_yield$getAssetByRigI","wellId","_yield$getAssetByFrac","padId","wrap","_context","prev","next","id","Error","type","getAssetByRigId","sent","String","abrupt","_defineProperty","getAssetByFracFleetId","stop","_x","_x2","apply","this","arguments","getSettingsBySecondaryAsset","_ref5","primaryAssetType","currentPrimaryAsset","_yield$getAssetByPadI","fracFleetId","_yield$getAssetByWell","rigId","_yield$getAssetByWell2","interventionUnitId","_context2","getAssetByPadId","fallbackFleetId","getAssetByWellIdForRig","getAssetByWellIdForInterventionUnit","_callee2","_x3","_x4","_x5","AssetSelector","_currentPrimaryAsset$2","_useAppCommons","useAppCommons","app","appSettings","well","rig","fracFleet","interventionUnit","onSettingsChange","segment","getAppSegment","assetTypeData","SEGMENT_TO_ASSET_TYPE","useState","_useState2","_slicedToArray","_useState","isLoading","setIsLoading","_useState3","_useState4","pad","setPad","primaryAsset","secondaryAsset","useMemo","assetType","_objectSpread","currentSecondaryAsset","onPrimaryAssetChange","useCallback","_ref9","assetSettings","_context3","t0","console","error","finish","_callee3","_x6","onSecondaryAssetChange","_ref10","_currentPrimaryAsset$","isActiveWellForIntervention","_context4","Number","active_well","_callee4","_x7","useEffect","loadPad","_ref11","_callee5","pads","foundPad","_context5","loadAssets","page","perPage","ids","find","item","_jsxs","AssetSelectorTestIds","RootTestId","className","styles","root","children","_jsx","LoaderLogo","size","loader","classNames","content","loading","AssetSelectorSelect","testId","PrimaryAssetTestId","currentAsset","onChange","SecondaryAssetTestId","parentId","parentType","parentActiveWellId","undefined","Text","NoAssetTypeTestId","color"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AssetSelector.js","sources":["../../../../../src/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport classNames from 'classnames';\n\nimport { Text } from '../../../Text';\nimport { LoaderLogo } from '../../../LoaderLogo';\nimport {\n getAssetByFracFleetId,\n getAssetByPadId,\n getAssetByRigId,\n getAssetByWellIdForInterventionUnit,\n getAssetByWellIdForRig,\n} from '../../../../utils/getSingleAsset';\n\nimport { AssetSelectorSelect } from './AssetSelectorSelect';\nimport { Asset, PrimaryAsset } from './AssetSelectorSelect/constants';\nimport { loadAssets } from './AssetSelectorSelect/loadAssets';\nimport { AssetSelectorTestIds } from './constants';\n\nimport styles from './AssetSelector.scss';\n\nimport { useAppCommons } from '~/effects';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { SEGMENT_TO_ASSET_TYPE } from '~/constants/segment';\n\ntype PrimaryAssetConfig = typeof SEGMENT_TO_ASSET_TYPE[string]['primaryAsset']['assetType'];\ntype SecondaryAssetConfig = typeof SEGMENT_TO_ASSET_TYPE[string]['secondaryAsset']['assetType'];\n\nconst getSettingsByPrimaryAsset = async (\n asset: Asset,\n secondaryAssetType: SecondaryAssetConfig\n) => {\n if (!asset?.id) {\n throw new Error('Primary asset id is empty!');\n }\n\n if (asset.type === 'rig') {\n const { wellId } = await getAssetByRigId(asset);\n\n return {\n [secondaryAssetType.id]: wellId && String(wellId),\n };\n } else if (asset.type === 'intervention_unit') {\n return {\n [secondaryAssetType.id]: null,\n };\n } else if (asset.type === 'frac_fleet') {\n const { padId } = await getAssetByFracFleetId(asset);\n\n return {\n [secondaryAssetType.id]: padId && String(padId),\n };\n } else {\n throw new Error(`Unknown primary asset type \"${String(asset.type)}\"`);\n }\n};\n\nconst getSettingsBySecondaryAsset = async (\n asset: Asset,\n primaryAssetType: PrimaryAssetConfig,\n currentPrimaryAsset?: PrimaryAsset\n) => {\n if (!asset.id) {\n throw new Error('Secondary asset id is empty!');\n }\n\n if (asset.type === 'pad') {\n const { fracFleetId } = await getAssetByPadId(asset, {\n // Falling back to current fleet if pad has no parent fleet id\n // Apparently it's OK when searching for pads, because then API returns proper parent fleet id\n fallbackFleetId: currentPrimaryAsset?.id,\n });\n\n return {\n [primaryAssetType.id]: fracFleetId && String(fracFleetId),\n };\n } else if (asset.type === 'well' && primaryAssetType.type === 'rig') {\n const { rigId } = await getAssetByWellIdForRig(asset);\n return {\n [primaryAssetType.id]: rigId && String(rigId),\n };\n } else if (asset.type === 'well' && primaryAssetType.type === 'intervention_unit') {\n const { interventionUnitId } = await getAssetByWellIdForInterventionUnit(asset);\n\n return { [primaryAssetType.id]: interventionUnitId && String(interventionUnitId) };\n } else {\n throw new Error(`Unknown secondary asset type \"${String(asset.type)}\"`);\n }\n};\n\nexport const AssetSelector = () => {\n const { app, appSettings, well, rig, fracFleet, interventionUnit, onSettingsChange } =\n useAppCommons();\n const segment = getAppSegment(app);\n const assetTypeData = SEGMENT_TO_ASSET_TYPE[segment];\n const [isLoading, setIsLoading] = useState(false);\n const [pad, setPad] = useState<Asset>();\n\n const { primaryAsset, secondaryAsset } = assetTypeData;\n\n const currentPrimaryAsset = useMemo((): PrimaryAsset | undefined => {\n if (rig && primaryAsset.assetType.type === 'rig') {\n return { ...rig, type: 'rig' };\n } else if (fracFleet && primaryAsset.assetType.type === 'frac_fleet') {\n return { ...fracFleet, type: 'frac_fleet' };\n } else if (interventionUnit && primaryAsset.assetType.type === 'intervention_unit') {\n return { ...interventionUnit, type: 'intervention_unit' };\n }\n return undefined;\n }, [primaryAsset.assetType.type, rig, fracFleet, interventionUnit]);\n\n const currentSecondaryAsset = useMemo((): Asset | undefined => {\n if (well && secondaryAsset.assetType.type === 'well') {\n return { ...well, type: 'well' };\n }\n\n if (pad && secondaryAsset.assetType.type === 'pad') {\n return pad;\n }\n\n return undefined;\n }, [secondaryAsset.assetType.type, well, pad]);\n\n const onPrimaryAssetChange = useCallback(\n async (asset: Asset) => {\n try {\n setIsLoading(true);\n\n const assetSettings = await getSettingsByPrimaryAsset(asset, secondaryAsset.assetType);\n\n onSettingsChange({\n ...appSettings,\n [primaryAsset.assetType.id]: asset.id,\n ...assetSettings,\n });\n } catch (e) {\n console.error(e);\n } finally {\n setIsLoading(false);\n }\n },\n [primaryAsset.assetType, appSettings, onSettingsChange, secondaryAsset.assetType]\n );\n\n const onSecondaryAssetChange = useCallback(\n async (asset: Asset) => {\n try {\n setIsLoading(true);\n\n const assetSettings = await getSettingsBySecondaryAsset(\n asset,\n primaryAsset.assetType,\n currentPrimaryAsset\n );\n\n const isActiveWellForIntervention =\n currentPrimaryAsset?.type === 'intervention_unit' &&\n Number(asset.id) === Number(currentPrimaryAsset.active_well?.id);\n\n onSettingsChange({\n ...appSettings,\n [secondaryAsset.assetType.id]: isActiveWellForIntervention ? null : asset.id,\n ...assetSettings,\n });\n } catch (e) {\n console.error(e);\n } finally {\n setIsLoading(false);\n }\n },\n [\n onSettingsChange,\n secondaryAsset.assetType,\n primaryAsset.assetType,\n appSettings,\n currentPrimaryAsset,\n ]\n );\n\n // Loading pad\n useEffect(() => {\n if (secondaryAsset.assetType.type === 'pad') {\n const loadPad = async () => {\n setIsLoading(true);\n\n const pads = await loadAssets({\n assetType: 'pad',\n page: 1,\n perPage: 1,\n ids: [Number(appSettings?.[secondaryAsset.assetType.id])],\n });\n\n const foundPad = pads.find(\n item => Number(item.id) === Number(appSettings?.[secondaryAsset.assetType.id])\n );\n\n setPad(foundPad);\n setIsLoading(false);\n };\n\n loadPad();\n }\n }, [primaryAsset.assetType, secondaryAsset.assetType, appSettings]);\n\n return (\n <div data-testid={AssetSelectorTestIds.RootTestId} className={styles.root}>\n {isLoading && <LoaderLogo size={40} className={styles.loader} />}\n {assetTypeData ? (\n <div className={classNames(styles.content, isLoading && styles.loading)}>\n <AssetSelectorSelect\n testId={AssetSelectorTestIds.PrimaryAssetTestId}\n type={primaryAsset.assetType}\n currentAsset={currentPrimaryAsset}\n onChange={onPrimaryAssetChange}\n />\n <AssetSelectorSelect\n testId={AssetSelectorTestIds.SecondaryAssetTestId}\n type={secondaryAsset.assetType}\n currentAsset={currentSecondaryAsset}\n parentId={currentPrimaryAsset?.id}\n parentType={currentPrimaryAsset?.type}\n parentActiveWellId={\n currentPrimaryAsset?.type !== 'frac_fleet' && currentPrimaryAsset?.active_well?.id\n ? Number(currentPrimaryAsset.active_well.id)\n : undefined\n }\n onChange={onSecondaryAssetChange}\n />\n </div>\n ) : (\n <Text testId={AssetSelectorTestIds.NoAssetTypeTestId} size={14} color=\"T6\">\n No Asset Type Data for segment \"{String(segment)}\"\n </Text>\n )}\n </div>\n );\n};\n"],"names":["getSettingsByPrimaryAsset","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","asset","secondaryAssetType","_yield$getAssetByRigI","wellId","_yield$getAssetByFrac","padId","wrap","_context","prev","next","id","Error","type","getAssetByRigId","sent","String","abrupt","_defineProperty","getAssetByFracFleetId","stop","_x","_x2","apply","this","arguments","getSettingsBySecondaryAsset","_ref5","primaryAssetType","currentPrimaryAsset","_yield$getAssetByPadI","fracFleetId","_yield$getAssetByWell","rigId","_yield$getAssetByWell2","interventionUnitId","_context2","getAssetByPadId","fallbackFleetId","getAssetByWellIdForRig","getAssetByWellIdForInterventionUnit","_callee2","_x3","_x4","_x5","AssetSelector","_currentPrimaryAsset$2","_useAppCommons","useAppCommons","app","appSettings","well","rig","fracFleet","interventionUnit","onSettingsChange","segment","getAppSegment","assetTypeData","SEGMENT_TO_ASSET_TYPE","useState","_useState2","_slicedToArray","_useState","isLoading","setIsLoading","_useState3","_useState4","pad","setPad","primaryAsset","secondaryAsset","useMemo","assetType","_objectSpread","currentSecondaryAsset","onPrimaryAssetChange","useCallback","_ref9","assetSettings","_context3","t0","console","error","finish","_callee3","_x6","onSecondaryAssetChange","_ref10","_currentPrimaryAsset$","isActiveWellForIntervention","_context4","Number","active_well","_callee4","_x7","useEffect","loadPad","_ref11","_callee5","pads","foundPad","_context5","loadAssets","page","perPage","ids","find","item","_jsxs","AssetSelectorTestIds","RootTestId","className","styles","root","children","_jsx","LoaderLogo","size","loader","classNames","content","loading","AssetSelectorSelect","testId","PrimaryAssetTestId","currentAsset","onChange","SecondaryAssetTestId","parentId","parentType","parentActiveWellId","undefined","Text","NoAssetTypeTestId","color"],"mappings":"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"}
|