@corva/ui 3.79.0-0 → 3.79.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/AddComment/Popover.js +1 -1
- package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js +1 -1
- package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
- package/cjs-bundle/components/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/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/constants.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/dataResolvers.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/dataResolvers.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/useAppsData.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/useAppsData.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js +2 -0
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js.map +1 -0
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.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/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/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/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.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/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/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/DevCenter/AppsDataProvider/AppsDataProvider.d.ts +3 -21
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/assetDashboard/wellAssetDashboard/appWithDefaultSettings.d.ts +22 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/assetDashboard/wellAssetDashboard/appWithDefaultSettings.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts +23 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithPadId.d.ts +20 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithPadId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithActiveWellId.d.ts +27 -2
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithActiveWellId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts +49 -3
- package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/__tests__/utils.test.d.ts +2 -0
- package/components/DevCenter/AppsDataProvider/effects/__tests__/utils.test.d.ts.map +1 -0
- package/components/DevCenter/AppsDataProvider/effects/constants.d.ts +2 -7
- package/components/DevCenter/AppsDataProvider/effects/constants.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/constants.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts +14 -10
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/dataResolvers.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/index.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.d.ts +5 -5
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/useAppsData.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts +33 -54
- package/components/DevCenter/AppsDataProvider/effects/utils.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
- package/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/index.d.ts +1 -0
- package/components/DevCenter/AppsDataProvider/index.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/types.d.ts +216 -0
- package/components/DevCenter/AppsDataProvider/types.d.ts.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.d.ts +2 -0
- package/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.d.ts.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts +5 -3
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/constants.d.ts +0 -2
- package/components/DevCenter/DevCenterAppContainer/constants.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/constants.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts +7 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.d.ts +12 -0
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.d.ts.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js +2 -0
- package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js.map +1 -0
- package/components/DevCenter/DevCenterAppContainer/types.d.ts +1 -6
- package/components/DevCenter/DevCenterAppContainer/types.d.ts.map +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
- package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
- package/components/DocumentViewer/DocumentViewer.js +1 -1
- package/components/DocumentViewer/DocumentViewer.js.map +1 -1
- 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/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
- package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.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/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.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/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/mcp-server/server.mjs +6 -6
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{useContext as t,useState as e,useMemo as n}from"react";import i from"classnames";import{pickBy as p,pick as r,noop as c}from"lodash";import{useTheme as m}from"@material-ui/core";import a from"../AppContext.js";import{DevCenterRouterContext as l}from"../DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router-dom";import"query-string";import{jsx as d,jsxs as u}from"react/jsx-runtime";import{useAppSettings as j}from"./effects/useAppSettings.js";import A from"./effects/useAnnotationsList.js";import C from"./effects/useAnnotationsData.js";import g from"./effects/useAppMaximized.js";import{useDevCenterAppProps as I}from"./effects/useDevCenterAppProps.js";import{DcFullscreenElemsCoordinatorProvider as V}from"./components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"./components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import{DevCenterAppDialogs as v}from"./components/DevCenterAppDialogs.js";import h from"./components/DevCenterAppView/DevCenterAppView.js";import{LegacyAppActions as S}from"./components/LegacyAppActions.js";import f from"./components/RestoreAppSizeButton/index.js";import{getAppVersion as b,getAppAvailability as D}from"./utils.js";import{APP_DATA_ASSET_KEYS as P,PAGE_NAME as x,HOME_PATH_PREFIX as T,MOBILE_CLI_APP_GRID_WIDTH as M}from"./constants.js";import{CommentsSwitchProvider as L}from"./components/CommentsSwitch/CommentsSwitchProvider.js";import"./components/CommentsSwitch/CommentsSwitchContext.js";import"./components/CommentsSwitch/CommentsSwitchButton.scss.js";import"../../../componentsV2/Text/Text.js";import"../../../componentsV2/Grid/Grid.js";import"../../../componentsV2/Grid/Cell.js";import"../../../componentsV2/Header/Header.scss.js";import"../../../componentsV2/Button/Button.js";import"../../../componentsV2/ButtonIcon/ButtonIcon.js";import"./components/IsInsideIsolatedDcAppProvider.js";import"uuid";import"../../../componentsV2/Tooltip/Tooltip.scss.js";import"../../../componentsV2/Popover/Popover.js";import"../../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../../componentsV2/Radio/Radio.js";import"../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../componentsV2/Checkbox/Checkbox.js";import"@babel/runtime/helpers/toConsumableArray";import"../../../componentsV2/TextInput/TextInput.js";import"../../../componentsV2/TextInputNext/TextInputNext.js";import"../../../componentsV2/TextArea/TextArea.js";import"../../../componentsV2/Label/Label.js";import"../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../../componentsV2/TextLink/TextLink.js";import"../../../componentsV2/Chip/Chip.js";import"../../../componentsV2/ChipAlert/ChipAlert.js";import"../../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../../componentsV2/Avatar/Avatar.js";import"../../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../../componentsV2/Paper/Paper.js";import"../../../componentsV2/ModalWindow/ModalWindow.js";import"../../../componentsV2/Modal/Modal.scss.js";import"../../../componentsV2/Menu/Menu.js";import"../../../componentsV2/utils.js";import"@icon-park/react/es/all";import"../../../icons/IconParkProvider.js";import"../../../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"../../../componentsV2/Hint/Hint.scss.js";import"../../../componentsV2/Counter/Counter.js";import"../../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../../componentsV2/TemplatesControl/utils.js";import"../../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../../componentsV2/TemplatesControl/Store/utils.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../componentsV2/TemplatesControl/types.js";import"../../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{getAppSegment as y,isDCAppMultiRig as O,getAppName as k,getTimestampFromQuery as F}from"../../../utils/devcenter.js";import"../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../../utils/ga.js";import"../../../constants/goals.js";import"../../../constants/segment.js";import"../../../utils/goalsConfig/goalsConfig.js";import"../../../utils/lasParser.js";import"../../../utils/main.js";import"../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as H,isNativeDetected as w,isMobileDetected as B}from"../../../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"../../../clients/jsonApi/index.js";import"../../../utils/charts/Styles.scss.js";import"../../../utils/getSingleAsset.js";import"../../../permissions/PermissionsContext.js";import"../../../permissions/constants/index.js";import"../../../permissions/withPermissionsHOC.js";import"../../../permissions/ProvidePermissions.js";import"../../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../../componentsV2/Switch/Switch.js";import"../../../componentsV2/Tabs/Tabs.js";import"../../../componentsV2/EmptyState/EmptyState.scss.js";import"../../../componentsV2/FileIcon/FileIcon.js";import"../../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../../componentsV2/Stepper/Step/Step.scss.js";import"../../../componentsV2/Stepper/Stepper.scss.js";import"../../../componentsV2/ButtonLive/ButtonLive.js";import"../../../componentsV2/ButtonText/ButtonText.js";import"../../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../../componentsV2/Accordion/Accordion.scss.js";import"../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../../componentsV2/BadgeComment/BadgeComment.js";import"../../../componentsV2/AppContainer/AppContainer.js";import"../../../componentsV2/AppContainer/AppContainer.constants.js";import"../../../componentsV2/AppFooter/AppFooter.js";import"../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../componentsV2/AppHeader/AppHeader.constants.js";import"../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../../constants/appPackages.js";import"../../../componentsV2/AppHeader/AppAssets/utils.js";import"../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../../PadModeSelect/PadModeSelect.js";import"../../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import{AppCommonsProvider as E}from"../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../AppIcon/AppIcon.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"querystring";import"../../../clients/subscriptions/subscriptions-client.factory.js";import R from"../../../effects/useDevCenterApp.js";import{DEV_CENTER_CLI_APP_ID as W}from"../../../constants/devcenter.js";import"../../../constants/drillstring.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import"../../../constants/corvaCompanyId.js";import"../../GradientManager/configuration/constants.js";import"../../StatusBadge/constants.js";import"lodash/unset";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import"../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../componentsV2/AppPanel/AppPanelsContext.js";import"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../componentsV2/AppHeader/V3/constants.scss.js";import"../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../../componentsV2/AppHeader/AppHeader.scss.js";import"../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../../componentsV2/Autocomplete/Autocomplete.js";import"../../../componentsV2/Select/Select.js";import"../../../componentsV2/AppPanel/AppPanel.js";import"../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../../componentsV2/DatePicker/DatePicker.js";import"../../../componentsV2/DragHandle/DragHandle.js";import"../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../../componentsV2/Slider/constants.js";import"../../../componentsV2/Slider/components/SliderThumb.js";import"../../../componentsV2/Slider/Slider.scss.js";import"../../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";import q from"./DevCenterAppContainer.scss.js";import"../../Toaster/Toaster.js";import{ToastContainer as z}from"../../Toaster/ToastContainer.js";function U(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);s&&(e=e.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,e)}return t}function G(s){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?U(Object(e),!0).forEach((function(t){o(s,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):U(Object(e)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(e,o))}))}return s}var N=function(o){var U,N,_,K,Z,J,Q,X=o.CLIAppComponent,Y=o.CLIAppSettings,$=o.app,oo=o.appId,so=o.className,to=o.coordinates,eo=o.currentDashboardAppsLastAnnotations,no=o.currentUser,io=o.devCenterRouter,po=o.disableAppAssetSelection,ro=o.isActionsDisabled,co=o.isBrowserFullscreen,mo=o.enterBrowserFullscreen,ao=o.exitBrowserFullscreen,lo=o.isSeparateWindow,uo=o.openSeparateWindow,jo=o.closeSeparateWindow,Ao=o.setSeparateWindowTitle,Co=o.isNonIsolatedApp,go=void 0!==Co&&Co,Io=o.isSettingsDialogHidden,Vo=o.layoutEnvironment,vo=o.onAppContainerClick,ho=void 0===vo?c:vo,So=o.onAppRemove,fo=o.onReportBugClick,bo=o.onCloneDashboard,Do=o.onHelpCenterClick,Po=o.onIsMaximizedChange,xo=o.onSettingChange,To=void 0===xo?c:xo,Mo=o.onSettingsChange,Lo=void 0===Mo?c:Mo,yo=o.openIntercom,Oo=void 0===yo?c:yo,ko=o.registerAITools,Fo=o.setIsFullscreenModalMode,Ho=void 0===Fo?c:Fo,wo=o.timestamp,Bo=o.updateCurrentDashboardAppLastAnnotation,Eo=o.dashboardMeta,Ro=o.reloadApp,Wo=o.chatActions,qo=t(a),zo=m(),Uo=w||B,Go=e([]),No=s(Go,2),_o=No[0],Ko=No[1],Zo=e([]),Jo=s(Zo,2),Qo=Jo[0],Xo=Jo[1],Yo=oo||$.id,$o=null!==(U=Yo?null==qo?void 0:qo[Yo]:void 0)&&void 0!==U?U:{isLoading:!0},os=null===(N=$.package)||void 0===N||null===(_=N.manifest)||void 0===_?void 0:_.application,ss=y($),ts=!(null==Eo||!Eo.isChiplessDashboard),es=O({uiSettings:null==os?void 0:os.ui,isChiplessDashboard:ts}),ns=!(null==os||null===(K=os.ui)||void 0===K||!K.enable_comments),is=k($),ps=g({onIsMaximizedChange:Po,devCenterRouter:io,appId:oo}),rs=ps.isMaximized,cs=ps.setIsMaximized,ms=wo||F(null===(Z=io.location.query)||void 0===Z?void 0:Z.query),as=$.id===W,ls=n((function(){return as&&Uo?G(G({},to),{},{w:M}):to}),[as,Uo,to]),ds=b($),us=R({CLIAppComponent:X,CLIAppSettings:Y,app:$,version:ds}),js=us.isLoading,As=us.AppSettings,Cs=us.AppComponent,gs=j({setIsFullscreenModalMode:Ho}),Is=gs.isAppSettingsDialogOpened,Vs=gs.toggleAppSettingsDialog,vs=A(),hs=vs.isAnnotationsListOpened,Ss=vs.toggleAnnotationsList,fs=!(!js&&no&&(es||!$o.isLoading)),bs=C({app:$,appData:$o,currentDashboardAppsLastAnnotations:eo}),Ds=bs.appLastAnnotation,Ps=bs.assetCompanyId,xs=bs.assetIdForAnnotation,Ts=bs.isAppSupportsAnnotations,Ms=n((function(){return p(r($o,P),Boolean)}),[$o]),Ls=n((function(){return Qo.map((function(o){return G(G({},o),{},{onClick:function(){var s;null===(s=o.onClick)||void 0===s||s.call(o),o.to&&io.push(o.to)}})}))}),[Qo,io]),ys=!(null==os||null===(J=os.ui)||void 0===J||!J.use_app_header_v3),Os=!(null===(Q=io.location.pathname)||void 0===Q||!Q.startsWith(T)),ks=I({app:$,appLastAnnotation:Ds,appTimestamp:ms,chatActions:Wo,coordinates:ls,currentUser:no,devCenterRouter:io,filteredAppData:Ms,isMaximized:rs,layoutEnvironment:Vo,onSettingChange:To,onSettingsChange:Lo,registerAITools:ko,segment:ss,setIsFullscreenModalMode:Ho,setIsMaximized:cs,setMainMenuItems:Ko,setSecondaryMenuItems:Xo,toggleAnnotationsList:Ss,toggleAppSettingsDialog:Vs,updateCurrentDashboardAppLastAnnotation:Bo});return d(l.Provider,{value:io,children:d(V,{setIsFullscreenModalMode:Ho,children:d(E,G(G({maximized:rs,setMaximized:cs,appId:$.app.id,app:$,appSettings:$.settings,onSettingChange:To,onSettingsChange:Lo,appHeadersV3Enabled:ys,isBrowserFullscreen:co,enterBrowserFullscreen:mo,exitBrowserFullscreen:ao,isSeparateWindow:lo,openSeparateWindow:uo,closeSeparateWindow:jo,setSeparateWindowTitle:Ao,isNonIsolatedApp:go,disableAppAssetSelection:po,isMultiRig:es,currentUser:no,appData:$o,layoutEnvironment:Vo,appSettingsComponent:As,dashboardMeta:Eo,toggleAnnotationsList:Ts?Ss:void 0,onHelpCenterClick:Do,secondaryMenuItems:Ls,onAppRemove:So,isInsideNewMobileApp:H,globalOffsetWells:null==Eo?void 0:Eo.globalOffsetWells,globalOffsetWellsVersion:null==Eo?void 0:Eo.globalOffsetWellsVersion,globalOffsetWellsToken:null==Eo?void 0:Eo.globalOffsetWellsToken,reloadApp:Ro},Ms),{},{children:d(L,{children:u("article",{className:i("dc-app-container",H&&"dc-app-container--inside-new-mobile-app",Os&&"dc-app-container--inside-home-page",so,rs&&"dc-app-container__maximized",zo.isLightTheme&&"dc-app-container__light-theme",q.container),"data-testid":"".concat(x,"_").concat(is),onClick:function(){return ho()},children:[d(z,{}),d("div",{className:q.containerContent,children:d(h,{AppComponent:Cs,app:$,appData:Ms,availability:D($.availability,no.company.with_subscription),isCLIApp:as,isLoading:fs,isMultiRig:es,layoutEnvironment:null!=Vo?Vo:null,openIntercom:Oo,segment:ss,toggleAppSettingsDialog:Vs,appProps:ks},$o.appHash)}),d(v,{app:$,appData:$o,appName:is,appSettingsComponent:As,assetCompanyId:Ps,assetIdForAnnotation:xs,currentUser:no,disableAppAssetSelection:po,isAnnotationsListOpened:hs,isAppSettingsDialogOpened:Is,isMultiRig:es,isSettingsDialogHidden:Io,layoutEnvironment:Vo,onAppRemove:So,onCloneDashboard:bo,onSettingsChange:Lo,openIntercom:Oo,toggleAnnotationsList:Ss,toggleAppSettingsDialog:Vs}),rs&&!ys&&d(f,{setIsMaximized:cs}),!ro&&(!ys||fs)&&d(S,{app:$,currentUser:no,devCenterRouter:io,isAnnotationsSupported:Ts,isCLIApp:as,isCommentsEnabled:ns,isInsideNewMobileApp:H,isMaximized:rs,isMobileView:Uo,mainMenuItems:_o,secondaryMenuItems:Qo,onHelpCenterClick:Do,onReportBugClick:fo,setIsFullscreenModalMode:Ho,setIsMaximized:cs,toggleAnnotationsList:Ss,toggleAppSettingsDialog:Vs})]})})}))})})};export{N as default};
|
|
1
|
+
import o from"@babel/runtime/helpers/slicedToArray";import s from"@babel/runtime/helpers/defineProperty";import{useContext as t,useState as e,useMemo as n}from"react";import i from"classnames";import{noop as p}from"lodash";import{useTheme as r}from"@material-ui/core";import c from"../AppContext.js";import{DevCenterRouterContext as m}from"../DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router-dom";import"query-string";import{jsx as a,jsxs as l}from"react/jsx-runtime";import{useAppSettings as d}from"./effects/useAppSettings.js";import u from"./effects/useAnnotationsList.js";import j from"./effects/useAnnotationsData.js";import A from"./effects/useAppMaximized.js";import{useDevCenterAppProps as C}from"./effects/useDevCenterAppProps.js";import{DcFullscreenElemsCoordinatorProvider as g}from"./components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"./components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import{DevCenterAppDialogs as I}from"./components/DevCenterAppDialogs.js";import V from"./components/DevCenterAppView/DevCenterAppView.js";import{LegacyAppActions as v}from"./components/LegacyAppActions.js";import h from"./components/RestoreAppSizeButton/index.js";import{getAppDataEntryFromContext as S}from"./getAppDataEntryFromContext.js";import{getAppVersion as f,getAppAvailability as b}from"./utils.js";import{PAGE_NAME as D,HOME_PATH_PREFIX as P,MOBILE_CLI_APP_GRID_WIDTH as x}from"./constants.js";import{CommentsSwitchProvider as T}from"./components/CommentsSwitch/CommentsSwitchProvider.js";import"./components/CommentsSwitch/CommentsSwitchContext.js";import"./components/CommentsSwitch/CommentsSwitchButton.scss.js";import"../../../componentsV2/Text/Text.js";import"../../../componentsV2/Grid/Grid.js";import"../../../componentsV2/Grid/Cell.js";import"../../../componentsV2/Header/Header.scss.js";import"../../../componentsV2/Button/Button.js";import"../../../componentsV2/ButtonIcon/ButtonIcon.js";import"./components/IsInsideIsolatedDcAppProvider.js";import"uuid";import"../../../componentsV2/Tooltip/Tooltip.scss.js";import"../../../componentsV2/Popover/Popover.js";import"../../../componentsV2/PopoverPanel/PopoverPanel.js";import"../../../componentsV2/Radio/Radio.js";import"../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../componentsV2/Checkbox/Checkbox.js";import"@babel/runtime/helpers/toConsumableArray";import"../../../componentsV2/TextInput/TextInput.js";import"../../../componentsV2/TextInputNext/TextInputNext.js";import"../../../componentsV2/TextArea/TextArea.js";import"../../../componentsV2/Label/Label.js";import"../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../../componentsV2/TextLink/TextLink.js";import"../../../componentsV2/Chip/Chip.js";import"../../../componentsV2/ChipAlert/ChipAlert.js";import"../../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../../componentsV2/Avatar/Avatar.js";import"../../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../../componentsV2/Paper/Paper.js";import"../../../componentsV2/ModalWindow/ModalWindow.js";import"../../../componentsV2/Modal/Modal.scss.js";import"../../../componentsV2/Menu/Menu.js";import"../../../componentsV2/utils.js";import"@icon-park/react/es/all";import"../../../icons/IconParkProvider.js";import"../../../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"../../../componentsV2/Hint/Hint.scss.js";import"../../../componentsV2/Counter/Counter.js";import"../../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../../componentsV2/TemplatesControl/utils.js";import"../../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../../componentsV2/TemplatesControl/Store/utils.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../componentsV2/TemplatesControl/types.js";import"../../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{getAppSegment as M,isDCAppMultiRig as y,getAppName as L,getTimestampFromQuery as F}from"../../../utils/devcenter.js";import"../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"lodash/isNumber";import"lodash/has";import"../../../utils/ga.js";import"../../../constants/goals.js";import"../../../constants/segment.js";import"../../../utils/goalsConfig/goalsConfig.js";import"../../../utils/lasParser.js";import"../../../utils/main.js";import"../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as O,isNativeDetected as k,isMobileDetected as w}from"../../../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"../../../clients/jsonApi/index.js";import"../../../utils/charts/Styles.scss.js";import"../../../utils/getSingleAsset.js";import"../../../permissions/PermissionsContext.js";import"../../../permissions/constants/index.js";import"../../../permissions/withPermissionsHOC.js";import"../../../permissions/ProvidePermissions.js";import"../../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../../componentsV2/Switch/Switch.js";import"../../../componentsV2/Tabs/Tabs.js";import"../../../componentsV2/EmptyState/EmptyState.scss.js";import"../../../componentsV2/FileIcon/FileIcon.js";import"../../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../../componentsV2/Stepper/Step/Step.scss.js";import"../../../componentsV2/Stepper/Stepper.scss.js";import"../../../componentsV2/ButtonLive/ButtonLive.js";import"../../../componentsV2/ButtonText/ButtonText.js";import"../../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../../componentsV2/Accordion/Accordion.scss.js";import"../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../../componentsV2/BadgeComment/BadgeComment.js";import"../../../componentsV2/AppContainer/AppContainer.js";import"../../../componentsV2/AppContainer/AppContainer.constants.js";import"../../../componentsV2/AppFooter/AppFooter.js";import"../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../componentsV2/AppHeader/AppHeader.constants.js";import"../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../../constants/appPackages.js";import"../../../componentsV2/AppHeader/AppAssets/utils.js";import"../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../../PadModeSelect/PadModeSelect.js";import"../../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../../componentsV2/PadModeSelect/PadModeSelect.js";import"../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import{AppCommonsProvider as H}from"../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../AppIcon/AppIcon.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"querystring";import"../../../clients/subscriptions/subscriptions-client.factory.js";import B from"../../../effects/useDevCenterApp.js";import{DEV_CENTER_CLI_APP_ID as E}from"../../../constants/devcenter.js";import"../../../constants/drillstring.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import"../../../constants/corvaCompanyId.js";import"../../GradientManager/configuration/constants.js";import"../../StatusBadge/constants.js";import"lodash/unset";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import"../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../componentsV2/AppPanel/AppPanelsContext.js";import"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../componentsV2/AppHeader/V3/constants.scss.js";import"../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../../componentsV2/AppHeader/AppHeader.scss.js";import"../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js";import"highcharts";import"../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js";import"../../../componentsV2/Autocomplete/Autocomplete.js";import"../../../componentsV2/Select/Select.js";import"../../../componentsV2/AppPanel/AppPanel.js";import"../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../../componentsV2/DatePicker/DatePicker.js";import"../../../componentsV2/DragHandle/DragHandle.js";import"../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../../componentsV2/Slider/constants.js";import"../../../componentsV2/Slider/components/SliderThumb.js";import"../../../componentsV2/Slider/Slider.scss.js";import"../../../componentsV2/SliderAdvanced/SliderAdvanced.js";import"react-color";import"../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js";import"../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js";import"../../../componentsV2/ColorPicker/ColorPicker.scss.js";import"../../../componentsV2/ChartHelper/ChartHelper.scss.js";import"../../../componentsV2/Hotkey/Hotkey.js";import"@tanstack/react-query";import"../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js";import"../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js";import R from"./DevCenterAppContainer.scss.js";import"../../Toaster/Toaster.js";import{ToastContainer as W}from"../../Toaster/ToastContainer.js";function q(o,s){var t=Object.keys(o);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(o);s&&(e=e.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),t.push.apply(t,e)}return t}function z(o){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?q(Object(e),!0).forEach((function(t){s(o,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(e)):q(Object(e)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(e,s))}))}return o}var U=function(s){var q,U,G,N,_,K,Z=s.CLIAppComponent,J=s.CLIAppSettings,Q=s.app,X=s.appId,Y=s.className,$=s.coordinates,oo=s.currentDashboardAppsLastAnnotations,so=s.currentUser,to=s.devCenterRouter,eo=s.disableAppAssetSelection,no=s.isActionsDisabled,io=s.isBrowserFullscreen,po=s.enterBrowserFullscreen,ro=s.exitBrowserFullscreen,co=s.isSeparateWindow,mo=s.openSeparateWindow,ao=s.closeSeparateWindow,lo=s.setSeparateWindowTitle,uo=s.isNonIsolatedApp,jo=void 0!==uo&&uo,Ao=s.isSettingsDialogHidden,Co=s.layoutEnvironment,go=s.onAppContainerClick,Io=void 0===go?p:go,Vo=s.onAppRemove,vo=s.onReportBugClick,ho=s.onCloneDashboard,So=s.onHelpCenterClick,fo=s.onIsMaximizedChange,bo=s.onSettingChange,Do=void 0===bo?p:bo,Po=s.onSettingsChange,xo=void 0===Po?p:Po,To=s.openIntercom,Mo=void 0===To?p:To,yo=s.registerAITools,Lo=s.setIsFullscreenModalMode,Fo=void 0===Lo?p:Lo,Oo=s.timestamp,ko=s.updateCurrentDashboardAppLastAnnotation,wo=s.dashboardMeta,Ho=s.reloadApp,Bo=s.chatActions,Eo=t(c),Ro=r(),Wo=k||w,qo=e([]),zo=o(qo,2),Uo=zo[0],Go=zo[1],No=e([]),_o=o(No,2),Ko=_o[0],Zo=_o[1],Jo=X||Q.id,Qo=S(Eo,Jo),Xo=null===(q=Q.package)||void 0===q||null===(U=q.manifest)||void 0===U?void 0:U.application,Yo=M(Q),$o=!(null==wo||!wo.isChiplessDashboard),os=y({uiSettings:null==Xo?void 0:Xo.ui,isChiplessDashboard:$o}),ss=!(null==Xo||null===(G=Xo.ui)||void 0===G||!G.enable_comments),ts=L(Q),es=A({onIsMaximizedChange:fo,devCenterRouter:to,appId:X}),ns=es.isMaximized,is=es.setIsMaximized,ps=Oo||F(null===(N=to.location.query)||void 0===N?void 0:N.query),rs=Q.id===E,cs=n((function(){return rs&&Wo?z(z({},$),{},{w:x}):$}),[rs,Wo,$]),ms=f(Q),as=B({CLIAppComponent:Z,CLIAppSettings:J,app:Q,version:ms}),ls=as.isLoading,ds=as.AppSettings,us=as.AppComponent,js=d({setIsFullscreenModalMode:Fo}),As=js.isAppSettingsDialogOpened,Cs=js.toggleAppSettingsDialog,gs=u(),Is=gs.isAnnotationsListOpened,Vs=gs.toggleAnnotationsList,vs=!(!ls&&so&&(os||!Qo.isLoading)),hs=j({app:Q,appData:Qo,currentDashboardAppsLastAnnotations:oo}),Ss=hs.appLastAnnotation,fs=hs.assetCompanyId,bs=hs.assetIdForAnnotation,Ds=hs.isAppSupportsAnnotations,Ps=n((function(){return function(o){return z(z(z(z(z({},o.well&&{well:o.well}),o.rig&&{rig:o.rig}),o.fracFleet&&{fracFleet:o.fracFleet}),o.wells&&{wells:o.wells}),o.interventionUnit&&{interventionUnit:o.interventionUnit})}(Qo)}),[Qo]),xs=Ps,Ts=n((function(){return Ko.map((function(o){return z(z({},o),{},{onClick:function(){var s;null===(s=o.onClick)||void 0===s||s.call(o),o.to&&to.push(o.to)}})}))}),[Ko,to]),Ms=!(null==Xo||null===(_=Xo.ui)||void 0===_||!_.use_app_header_v3),ys=!(null===(K=to.location.pathname)||void 0===K||!K.startsWith(P)),Ls=C({app:Q,appLastAnnotation:Ss,appTimestamp:ps,chatActions:Bo,coordinates:cs,currentUser:so,devCenterRouter:to,filteredAppData:Ps,isMaximized:ns,layoutEnvironment:Co,onSettingChange:Do,onSettingsChange:xo,registerAITools:yo,segment:Yo,setIsFullscreenModalMode:Fo,setIsMaximized:is,setMainMenuItems:Go,setSecondaryMenuItems:Zo,toggleAnnotationsList:Vs,toggleAppSettingsDialog:Cs,updateCurrentDashboardAppLastAnnotation:ko});return a(m.Provider,{value:to,children:a(g,{setIsFullscreenModalMode:Fo,children:a(H,z(z({maximized:ns,setMaximized:is,appId:Q.app.id,app:Q,appSettings:Q.settings,onSettingChange:Do,onSettingsChange:xo,appHeadersV3Enabled:Ms,isBrowserFullscreen:io,enterBrowserFullscreen:po,exitBrowserFullscreen:ro,isSeparateWindow:co,openSeparateWindow:mo,closeSeparateWindow:ao,setSeparateWindowTitle:lo,isNonIsolatedApp:jo,disableAppAssetSelection:eo,isMultiRig:os,currentUser:so,appData:Qo,layoutEnvironment:Co,appSettingsComponent:ds,dashboardMeta:wo,toggleAnnotationsList:Ds?Vs:void 0,onHelpCenterClick:So,secondaryMenuItems:Ts,onAppRemove:Vo,isInsideNewMobileApp:O,globalOffsetWells:null==wo?void 0:wo.globalOffsetWells,globalOffsetWellsVersion:null==wo?void 0:wo.globalOffsetWellsVersion,globalOffsetWellsToken:null==wo?void 0:wo.globalOffsetWellsToken,reloadApp:Ho},xs),{},{children:a(T,{children:l("article",{className:i("dc-app-container",O&&"dc-app-container--inside-new-mobile-app",ys&&"dc-app-container--inside-home-page",Y,ns&&"dc-app-container__maximized",Ro.isLightTheme&&"dc-app-container__light-theme",R.container),"data-testid":"".concat(D,"_").concat(ts),onClick:function(){return Io()},children:[a(W,{}),a("div",{className:R.containerContent,children:a(V,{AppComponent:us,app:Q,appData:Ps,availability:b(Q.availability,so.company.with_subscription),isCLIApp:rs,isLoading:vs,isMultiRig:os,layoutEnvironment:null!=Co?Co:null,openIntercom:Mo,segment:Yo,toggleAppSettingsDialog:Cs,appProps:Ls},Qo.appHash)}),a(I,{app:Q,appData:Qo,appName:ts,appSettingsComponent:ds,assetCompanyId:fs,assetIdForAnnotation:bs,currentUser:so,disableAppAssetSelection:eo,isAnnotationsListOpened:Is,isAppSettingsDialogOpened:As,isMultiRig:os,isSettingsDialogHidden:Ao,layoutEnvironment:Co,onAppRemove:Vo,onCloneDashboard:ho,onSettingsChange:xo,openIntercom:Mo,toggleAnnotationsList:Vs,toggleAppSettingsDialog:Cs}),ns&&!Ms&&a(h,{setIsMaximized:is}),!no&&(!Ms||vs)&&a(v,{app:Q,currentUser:so,devCenterRouter:to,isAnnotationsSupported:Ds,isCLIApp:rs,isCommentsEnabled:ss,isInsideNewMobileApp:O,isMaximized:ns,isMobileView:Wo,mainMenuItems:Uo,secondaryMenuItems:Ko,onHelpCenterClick:So,onReportBugClick:vo,setIsFullscreenModalMode:Fo,setIsMaximized:is,toggleAnnotationsList:Vs,toggleAppSettingsDialog:Cs})]})})}))})})};export{U as default};
|
|
2
2
|
//# sourceMappingURL=DevCenterAppContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterAppContainer.js","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.tsx"],"sourcesContent":["import { useContext, useMemo, useState } from 'react';\nimport type { ComponentType, FC } from 'react';\nimport classNames from 'classnames';\nimport { noop, pick, pickBy } from 'lodash';\nimport { useTheme } from '@material-ui/core';\n\nimport AppContext from '../AppContext';\nimport { DevCenterRouterContext } from '../DevCenterRouterContext';\n\nimport {\n useAnnotationsData,\n useAnnotationsList,\n useAppMaximized,\n useAppSettings,\n useDevCenterAppProps,\n} from './effects';\nimport { DcFullscreenElemsCoordinatorProvider } from './components/DcFullscreenElemsCoordinatorProvider';\nimport { DevCenterAppDialogs } from './components/DevCenterAppDialogs';\nimport DevCenterAppView from './components/DevCenterAppView';\nimport { LegacyAppActions } from './components/LegacyAppActions';\nimport RestoreAppSizeButton from './components/RestoreAppSizeButton';\nimport { getAppAvailability, getAppVersion } from './utils';\nimport {\n APP_DATA_ASSET_KEYS,\n HOME_PATH_PREFIX,\n MOBILE_CLI_APP_GRID_WIDTH,\n PAGE_NAME,\n} from './constants';\nimport type {\n AppCoordinates,\n AppDataEntry,\n ChatActions,\n DashboardAppLastAnnotation,\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n LayoutEnvironment,\n RegisterAITools,\n SetIsFullscreenModalMode,\n UpdateDashboardAppLastAnnotation,\n} from './types';\nimport type { FullscreenModes } from '../../../types';\n// Relative on purpose: a `~/` alias does not resolve from the published `.d.ts`.\nimport type { AppDashboardMeta } from '../../../componentsV2/AppCommonsProvider/AppCommonsContext';\nimport { CommentsSwitchProvider } from './components/CommentsSwitch';\n\nimport styles from './DevCenterAppContainer.scss';\n\nimport { isInsideNewMobileApp, isMobileDetected, isNativeDetected } from '~/utils/mobileDetect';\nimport { ToastContainer } from '~/components/Toaster';\nimport { useDevCenterApp } from '~/effects';\nimport { DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport {\n getAppName,\n getAppSegment,\n getTimestampFromQuery,\n isDCAppMultiRig,\n} from '~/utils/devcenter';\nimport { AppCommonsProvider } from '~/componentsV2/AppCommonsProvider';\n\n/**\n * `Partial<FullscreenModes>` carries the seven browser-fullscreen and separate-window members.\n * `AppCommonsProvider` derives `isExpanded` from them and republishes them to the app bundle,\n * so dropping them silently disables both features — and nothing type-checks it, because every\n * member is optional on the provider.\n */\nexport type DevCenterAppContainerProps = Partial<FullscreenModes> & {\n app: DevCenterAppResource;\n currentUser: DevCenterCurrentUser;\n /** Platform router. Not React Router — the DC shell supplies its own. */\n devCenterRouter: DevCenterRouter;\n\n /**\n * Slots for the CLI app bundle's own components. `any` rather than a narrower prop type on\n * purpose: this accepts arbitrary app components, and any narrowing would reject the concretely\n * typed ones consumers pass.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above\n CLIAppComponent?: ComponentType<any> | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above\n CLIAppSettings?: ComponentType<any> | null;\n /** Defaults to `app.id` when omitted. */\n appId?: number;\n className?: string | null;\n chatActions?: ChatActions | null;\n coordinates?: AppCoordinates | null;\n currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;\n dashboardMeta?: AppDashboardMeta;\n disableAppAssetSelection?: boolean;\n isActionsDisabled?: boolean;\n /**\n * [REACT-18-MIGRATION-TAG] PLT-3099: the platform's isolation decision, passed only by the\n * in-process branch of DevCenterIsolatedApp; iframe mounts leave it false.\n */\n isNonIsolatedApp?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: LayoutEnvironment | null;\n onAppContainerClick?: () => void;\n onAppRemove?: () => void;\n onCloneDashboard?: () => void;\n onHelpCenterClick?: () => void;\n onIsMaximizedChange?: (isMaximized: boolean) => void;\n onReportBugClick?: (() => void) | null;\n onSettingChange?: (key: string, value: unknown) => void;\n onSettingsChange?: (value: unknown) => void;\n openIntercom?: () => void;\n registerAITools?: RegisterAITools;\n reloadApp?: () => void;\n setIsFullscreenModalMode?: SetIsFullscreenModalMode;\n timestamp?: number | null;\n updateCurrentDashboardAppLastAnnotation?: UpdateDashboardAppLastAnnotation;\n};\n\nconst isHomePage = (router: DevCenterRouter) =>\n !!router.location.pathname?.startsWith(HOME_PATH_PREFIX);\n\nconst DevCenterAppContainer: FC<DevCenterAppContainerProps> = ({\n CLIAppComponent,\n CLIAppSettings,\n app,\n appId,\n className,\n coordinates,\n currentDashboardAppsLastAnnotations,\n currentUser,\n devCenterRouter,\n disableAppAssetSelection,\n isActionsDisabled,\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n setSeparateWindowTitle,\n isNonIsolatedApp = false,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppContainerClick = noop,\n onAppRemove,\n onReportBugClick,\n onCloneDashboard,\n onHelpCenterClick,\n onIsMaximizedChange,\n onSettingChange = noop,\n onSettingsChange = noop,\n openIntercom = noop,\n registerAITools,\n setIsFullscreenModalMode = noop,\n timestamp,\n updateCurrentDashboardAppLastAnnotation,\n dashboardMeta,\n reloadApp,\n chatActions,\n}) => {\n // `AppContext` is still JavaScript and calls `createContext()` with no argument, so it hands\n // back `undefined`. Declared here rather than asserted; the real fix is a type argument on the\n // context itself, which belongs to `DevCenter/AppContext`.\n const appsData: Record<string, AppDataEntry> | undefined = useContext(AppContext);\n const theme = useTheme();\n const isMobileView = isNativeDetected || isMobileDetected;\n const [mainMenuItems, setMainMenuItems] = useState<DevCenterMenuItem[]>([]);\n const [secondaryMenuItems, setSecondaryMenuItems] = useState<DevCenterMenuItem[]>([]);\n // `||`, not `??`: DevCenterEmbeddedApp uses 0 as its unset sentinel for appId.\n const appDataKey = appId || app.id;\n const appData: AppDataEntry = (appDataKey ? appsData?.[appDataKey] : undefined) ?? {\n isLoading: true,\n };\n const application = app.package?.manifest?.application;\n const segment = getAppSegment(app);\n const isChiplessDashboard = !!dashboardMeta?.isChiplessDashboard;\n const isMultiRig = isDCAppMultiRig({\n uiSettings: application?.ui,\n isChiplessDashboard,\n });\n const isCommentsEnabled = !!application?.ui?.enable_comments;\n const appName = getAppName(app);\n const { isMaximized, setIsMaximized } = useAppMaximized({\n onIsMaximizedChange,\n devCenterRouter,\n appId,\n });\n\n // Isolated apps are mounted without the router query the timestamp normally comes from,\n // so the host passes it as a prop instead.\n const appTimestamp = timestamp || getTimestampFromQuery(devCenterRouter.location.query?.query);\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n // Memoised because the CLI-on-mobile branch builds a new object: unmemoised it would be a fresh\n // reference on every render and would keep `useDevCenterAppProps` from ever holding its memo.\n const updatedCoordinates = useMemo(\n () =>\n isCLIApp && isMobileView ? { ...coordinates, w: MOBILE_CLI_APP_GRID_WIDTH } : coordinates,\n [isCLIApp, isMobileView, coordinates]\n );\n const version = getAppVersion(app);\n\n const {\n isLoading: isAppLoading,\n AppSettings,\n AppComponent,\n } = useDevCenterApp({\n CLIAppComponent,\n CLIAppSettings,\n app,\n version,\n });\n\n const { isAppSettingsDialogOpened, toggleAppSettingsDialog } = useAppSettings({\n setIsFullscreenModalMode,\n });\n const { isAnnotationsListOpened, toggleAnnotationsList } = useAnnotationsList();\n\n const isLoading = !!(isAppLoading || !currentUser || (!isMultiRig && appData.isLoading));\n\n const {\n appLastAnnotation,\n assetCompanyId,\n assetIdForAnnotation,\n isAppSupportsAnnotations: isAnnotationsSupported,\n } = useAnnotationsData({\n app,\n appData,\n currentDashboardAppsLastAnnotations,\n });\n\n const filteredAppData = useMemo(\n () => pickBy(pick(appData, APP_DATA_ASSET_KEYS), Boolean),\n [appData]\n );\n\n const simplifiedSecondaryMenuItems = useMemo(\n () =>\n secondaryMenuItems.map(item => ({\n ...item,\n onClick: () => {\n item.onClick?.();\n if (item.to) {\n devCenterRouter.push(item.to);\n }\n },\n })),\n [secondaryMenuItems, devCenterRouter]\n );\n\n const isAppHeadersV3Enabled = !!application?.ui?.use_app_header_v3;\n const isInsideHomePage = isHomePage(devCenterRouter);\n\n const appProps = useDevCenterAppProps({\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates: updatedCoordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n });\n\n // Called without the native event: this crosses an iframe boundary, where a DOM event\n // cannot be serialised.\n const handleAppContainerClick = () => onAppContainerClick();\n\n // ⚠️⚠️⚠️ When adding/changing providers, also add them to/change /src/testing/AppTestWrapper\n return (\n <DevCenterRouterContext.Provider value={devCenterRouter}>\n <DcFullscreenElemsCoordinatorProvider setIsFullscreenModalMode={setIsFullscreenModalMode}>\n <AppCommonsProvider\n maximized={isMaximized}\n setMaximized={setIsMaximized}\n appId={app.app.id}\n app={app}\n appSettings={app.settings}\n onSettingChange={onSettingChange}\n onSettingsChange={onSettingsChange}\n appHeadersV3Enabled={isAppHeadersV3Enabled}\n isBrowserFullscreen={isBrowserFullscreen}\n enterBrowserFullscreen={enterBrowserFullscreen}\n exitBrowserFullscreen={exitBrowserFullscreen}\n isSeparateWindow={isSeparateWindow}\n openSeparateWindow={openSeparateWindow}\n closeSeparateWindow={closeSeparateWindow}\n setSeparateWindowTitle={setSeparateWindowTitle}\n isNonIsolatedApp={isNonIsolatedApp}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n currentUser={currentUser}\n appData={appData}\n layoutEnvironment={layoutEnvironment}\n appSettingsComponent={AppSettings}\n dashboardMeta={dashboardMeta}\n toggleAnnotationsList={isAnnotationsSupported ? toggleAnnotationsList : undefined}\n onHelpCenterClick={onHelpCenterClick}\n secondaryMenuItems={simplifiedSecondaryMenuItems}\n onAppRemove={onAppRemove}\n isInsideNewMobileApp={isInsideNewMobileApp}\n globalOffsetWells={dashboardMeta?.globalOffsetWells}\n globalOffsetWellsVersion={dashboardMeta?.globalOffsetWellsVersion}\n globalOffsetWellsToken={dashboardMeta?.globalOffsetWellsToken}\n reloadApp={reloadApp}\n {...filteredAppData}\n >\n <CommentsSwitchProvider>\n <article\n className={classNames(\n 'dc-app-container',\n isInsideNewMobileApp && 'dc-app-container--inside-new-mobile-app',\n isInsideHomePage && 'dc-app-container--inside-home-page',\n className,\n // This class is applied so that DC apps developers can style their content\n // when an app is in fullscreen\n isMaximized && 'dc-app-container__maximized',\n theme.isLightTheme && 'dc-app-container__light-theme',\n styles.container\n )}\n data-testid={`${PAGE_NAME}_${appName}`}\n onClick={handleAppContainerClick}\n >\n <ToastContainer />\n <div className={styles.containerContent}>\n <DevCenterAppView\n // DC apps keep per-asset state in mount-time hooks, so a new asset means a\n // new mount. React 18 batching collapses away the `isLoading` frame this used\n // to rely on whenever AppsDataProvider serves the asset from its cache.\n key={appData.appHash}\n AppComponent={AppComponent}\n app={app}\n appData={filteredAppData}\n availability={getAppAvailability(\n app.availability,\n currentUser.company.with_subscription\n )}\n isCLIApp={isCLIApp}\n isLoading={isLoading}\n isMultiRig={isMultiRig}\n layoutEnvironment={layoutEnvironment ?? null}\n openIntercom={openIntercom}\n segment={segment}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n appProps={appProps}\n />\n </div>\n <DevCenterAppDialogs\n app={app}\n appData={appData}\n appName={appName}\n appSettingsComponent={AppSettings}\n assetCompanyId={assetCompanyId}\n assetIdForAnnotation={assetIdForAnnotation}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isAnnotationsListOpened={isAnnotationsListOpened}\n isAppSettingsDialogOpened={isAppSettingsDialogOpened}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n toggleAnnotationsList={toggleAnnotationsList}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n {isMaximized && !isAppHeadersV3Enabled && (\n <RestoreAppSizeButton setIsMaximized={setIsMaximized} />\n )}\n\n {!isActionsDisabled && (!isAppHeadersV3Enabled || isLoading) && (\n <LegacyAppActions\n app={app}\n currentUser={currentUser}\n devCenterRouter={devCenterRouter}\n isAnnotationsSupported={isAnnotationsSupported}\n isCLIApp={isCLIApp}\n isCommentsEnabled={isCommentsEnabled}\n isInsideNewMobileApp={isInsideNewMobileApp}\n isMaximized={isMaximized}\n isMobileView={isMobileView}\n mainMenuItems={mainMenuItems}\n secondaryMenuItems={secondaryMenuItems}\n onHelpCenterClick={onHelpCenterClick}\n onReportBugClick={onReportBugClick}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n setIsMaximized={setIsMaximized}\n toggleAnnotationsList={toggleAnnotationsList}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n </article>\n </CommentsSwitchProvider>\n </AppCommonsProvider>\n </DcFullscreenElemsCoordinatorProvider>\n </DevCenterRouterContext.Provider>\n );\n};\n\nexport default DevCenterAppContainer;\n"],"names":["DevCenterAppContainer","_ref","_ref2","_app$package","_app$package$manifest","_application$ui","_devCenterRouter$loca","_application$ui2","_router$location$path","CLIAppComponent","CLIAppSettings","app","appId","className","coordinates","currentDashboardAppsLastAnnotations","currentUser","devCenterRouter","disableAppAssetSelection","isActionsDisabled","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","setSeparateWindowTitle","_ref$isNonIsolatedApp","isNonIsolatedApp","isSettingsDialogHidden","layoutEnvironment","_ref$onAppContainerCl","onAppContainerClick","noop","onAppRemove","onReportBugClick","onCloneDashboard","onHelpCenterClick","onIsMaximizedChange","_ref$onSettingChange","onSettingChange","_ref$onSettingsChange","onSettingsChange","_ref$openIntercom","openIntercom","registerAITools","_ref$setIsFullscreenM","setIsFullscreenModalMode","timestamp","updateCurrentDashboardAppLastAnnotation","dashboardMeta","reloadApp","chatActions","appsData","useContext","AppContext","theme","useTheme","isMobileView","isNativeDetected","isMobileDetected","useState","_useState2","_slicedToArray","_useState","mainMenuItems","setMainMenuItems","_useState4","_useState3","secondaryMenuItems","setSecondaryMenuItems","appDataKey","id","appData","undefined","isLoading","application","package","manifest","segment","getAppSegment","isChiplessDashboard","isMultiRig","isDCAppMultiRig","uiSettings","ui","isCommentsEnabled","enable_comments","appName","getAppName","_useAppMaximized","useAppMaximized","isMaximized","setIsMaximized","appTimestamp","getTimestampFromQuery","location","query","isCLIApp","DEV_CENTER_CLI_APP_ID","updatedCoordinates","useMemo","_objectSpread","w","MOBILE_CLI_APP_GRID_WIDTH","version","getAppVersion","_useDevCenterApp","useDevCenterApp","isAppLoading","AppSettings","AppComponent","_useAppSettings","useAppSettings","isAppSettingsDialogOpened","toggleAppSettingsDialog","_useAnnotationsList","useAnnotationsList","isAnnotationsListOpened","toggleAnnotationsList","_useAnnotationsData","useAnnotationsData","appLastAnnotation","assetCompanyId","assetIdForAnnotation","isAnnotationsSupported","isAppSupportsAnnotations","filteredAppData","pickBy","pick","APP_DATA_ASSET_KEYS","Boolean","simplifiedSecondaryMenuItems","map","item","onClick","_item$onClick","call","to","push","isAppHeadersV3Enabled","use_app_header_v3","isInsideHomePage","pathname","startsWith","HOME_PATH_PREFIX","appProps","useDevCenterAppProps","_jsx","DevCenterRouterContext","Provider","value","children","DcFullscreenElemsCoordinatorProvider","AppCommonsProvider","maximized","setMaximized","appSettings","settings","appHeadersV3Enabled","appSettingsComponent","isInsideNewMobileApp","globalOffsetWells","globalOffsetWellsVersion","globalOffsetWellsToken","CommentsSwitchProvider","_jsxs","classNames","isLightTheme","styles","container","PAGE_NAME","ToastContainer","containerContent","DevCenterAppView","availability","getAppAvailability","company","with_subscription","appHash","DevCenterAppDialogs","RestoreAppSizeButton","LegacyAppActions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevCenterAppContainer.js","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.tsx"],"sourcesContent":["import { useContext, useMemo, useState } from 'react';\nimport type { ComponentType, FC } from 'react';\nimport classNames from 'classnames';\nimport { noop } from 'lodash';\nimport { useTheme } from '@material-ui/core';\n\nimport AppContext from '../AppContext';\nimport type { AppDataAssets, AppDataEntry } from '../AppsDataProvider/types';\nimport { DevCenterRouterContext } from '../DevCenterRouterContext';\n\nimport {\n useAnnotationsData,\n useAnnotationsList,\n useAppMaximized,\n useAppSettings,\n useDevCenterAppProps,\n} from './effects';\nimport { DcFullscreenElemsCoordinatorProvider } from './components/DcFullscreenElemsCoordinatorProvider';\nimport { DevCenterAppDialogs } from './components/DevCenterAppDialogs';\nimport DevCenterAppView from './components/DevCenterAppView';\nimport { LegacyAppActions } from './components/LegacyAppActions';\nimport RestoreAppSizeButton from './components/RestoreAppSizeButton';\nimport { getAppDataEntryFromContext } from './getAppDataEntryFromContext';\nimport type { AppContextValue } from './getAppDataEntryFromContext';\nimport { getAppAvailability, getAppVersion } from './utils';\nimport { HOME_PATH_PREFIX, MOBILE_CLI_APP_GRID_WIDTH, PAGE_NAME } from './constants';\nimport type {\n AppCoordinates,\n ChatActions,\n DashboardAppLastAnnotation,\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n LayoutEnvironment,\n RegisterAITools,\n SetIsFullscreenModalMode,\n UpdateDashboardAppLastAnnotation,\n} from './types';\nimport type { FullscreenModes } from '../../../types';\n// Relative on purpose: a `~/` alias does not resolve from the published `.d.ts`.\nimport type { AppDashboardMeta } from '../../../componentsV2/AppCommonsProvider/AppCommonsContext';\nimport { CommentsSwitchProvider } from './components/CommentsSwitch';\n\nimport styles from './DevCenterAppContainer.scss';\n\nimport { isInsideNewMobileApp, isMobileDetected, isNativeDetected } from '~/utils/mobileDetect';\nimport { ToastContainer } from '~/components/Toaster';\nimport { useDevCenterApp } from '~/effects';\nimport { DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport {\n getAppName,\n getAppSegment,\n getTimestampFromQuery,\n isDCAppMultiRig,\n} from '~/utils/devcenter';\nimport { AppCommonsProvider } from '~/componentsV2/AppCommonsProvider';\n\n/**\n * `Partial<FullscreenModes>` carries the seven browser-fullscreen and separate-window members.\n * `AppCommonsProvider` derives `isExpanded` from them and republishes them to the app bundle,\n * so dropping them silently disables both features — and nothing type-checks it, because every\n * member is optional on the provider.\n */\nexport type DevCenterAppContainerProps = Partial<FullscreenModes> & {\n app: DevCenterAppResource;\n currentUser: DevCenterCurrentUser;\n /** Platform router. Not React Router — the DC shell supplies its own. */\n devCenterRouter: DevCenterRouter;\n\n /**\n * Slots for the CLI app bundle's own components. `any` rather than a narrower prop type on\n * purpose: this accepts arbitrary app components, and any narrowing would reject the concretely\n * typed ones consumers pass.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above\n CLIAppComponent?: ComponentType<any> | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above\n CLIAppSettings?: ComponentType<any> | null;\n /** Defaults to `app.id` when omitted. */\n appId?: number;\n className?: string | null;\n chatActions?: ChatActions | null;\n coordinates?: AppCoordinates | null;\n currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;\n dashboardMeta?: AppDashboardMeta;\n disableAppAssetSelection?: boolean;\n isActionsDisabled?: boolean;\n /**\n * [REACT-18-MIGRATION-TAG] PLT-3099: the platform's isolation decision, passed only by the\n * in-process branch of DevCenterIsolatedApp; iframe mounts leave it false.\n */\n isNonIsolatedApp?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: LayoutEnvironment | null;\n onAppContainerClick?: () => void;\n onAppRemove?: () => void;\n onCloneDashboard?: () => void;\n onHelpCenterClick?: () => void;\n onIsMaximizedChange?: (isMaximized: boolean) => void;\n onReportBugClick?: (() => void) | null;\n onSettingChange?: (key: string, value: unknown) => void;\n onSettingsChange?: (value: unknown) => void;\n openIntercom?: () => void;\n registerAITools?: RegisterAITools;\n reloadApp?: () => void;\n setIsFullscreenModalMode?: SetIsFullscreenModalMode;\n timestamp?: number | null;\n updateCurrentDashboardAppLastAnnotation?: UpdateDashboardAppLastAnnotation;\n};\n\nconst isHomePage = (router: DevCenterRouter) =>\n !!router.location.pathname?.startsWith(HOME_PATH_PREFIX);\n\nconst getAppDataAssets = (appData: AppDataEntry): AppDataAssets => ({\n ...(appData.well && { well: appData.well }),\n ...(appData.rig && { rig: appData.rig }),\n ...(appData.fracFleet && { fracFleet: appData.fracFleet }),\n ...(appData.wells && { wells: appData.wells }),\n ...(appData.interventionUnit && { interventionUnit: appData.interventionUnit }),\n});\n\nconst DevCenterAppContainer: FC<DevCenterAppContainerProps> = ({\n CLIAppComponent,\n CLIAppSettings,\n app,\n appId,\n className,\n coordinates,\n currentDashboardAppsLastAnnotations,\n currentUser,\n devCenterRouter,\n disableAppAssetSelection,\n isActionsDisabled,\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n setSeparateWindowTitle,\n isNonIsolatedApp = false,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppContainerClick = noop,\n onAppRemove,\n onReportBugClick,\n onCloneDashboard,\n onHelpCenterClick,\n onIsMaximizedChange,\n onSettingChange = noop,\n onSettingsChange = noop,\n openIntercom = noop,\n registerAITools,\n setIsFullscreenModalMode = noop,\n timestamp,\n updateCurrentDashboardAppLastAnnotation,\n dashboardMeta,\n reloadApp,\n chatActions,\n}) => {\n // AppContext remains JavaScript because external consumers also provide a single app resource.\n // This union is the one trust boundary; getAppDataEntryFromContext separates its two modes.\n const appContextValue: AppContextValue = useContext(AppContext);\n const theme = useTheme();\n const isMobileView = isNativeDetected || isMobileDetected;\n const [mainMenuItems, setMainMenuItems] = useState<DevCenterMenuItem[]>([]);\n const [secondaryMenuItems, setSecondaryMenuItems] = useState<DevCenterMenuItem[]>([]);\n // `||`, not `??`: DevCenterEmbeddedApp uses 0 as its unset sentinel for appId.\n const appDataKey = appId || app.id;\n const appData = getAppDataEntryFromContext(appContextValue, appDataKey);\n const application = app.package?.manifest?.application;\n const segment = getAppSegment(app);\n const isChiplessDashboard = !!dashboardMeta?.isChiplessDashboard;\n const isMultiRig = isDCAppMultiRig({\n uiSettings: application?.ui,\n isChiplessDashboard,\n });\n const isCommentsEnabled = !!application?.ui?.enable_comments;\n const appName = getAppName(app);\n const { isMaximized, setIsMaximized } = useAppMaximized({\n onIsMaximizedChange,\n devCenterRouter,\n appId,\n });\n\n // Isolated apps are mounted without the router query the timestamp normally comes from,\n // so the host passes it as a prop instead.\n const appTimestamp = timestamp || getTimestampFromQuery(devCenterRouter.location.query?.query);\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n // Memoised because the CLI-on-mobile branch builds a new object: unmemoised it would be a fresh\n // reference on every render and would keep `useDevCenterAppProps` from ever holding its memo.\n const updatedCoordinates = useMemo(\n () =>\n isCLIApp && isMobileView ? { ...coordinates, w: MOBILE_CLI_APP_GRID_WIDTH } : coordinates,\n [isCLIApp, isMobileView, coordinates]\n );\n const version = getAppVersion(app);\n\n const {\n isLoading: isAppLoading,\n AppSettings,\n AppComponent,\n } = useDevCenterApp({\n CLIAppComponent,\n CLIAppSettings,\n app,\n version,\n });\n\n const { isAppSettingsDialogOpened, toggleAppSettingsDialog } = useAppSettings({\n setIsFullscreenModalMode,\n });\n const { isAnnotationsListOpened, toggleAnnotationsList } = useAnnotationsList();\n\n const isLoading = !!(isAppLoading || !currentUser || (!isMultiRig && appData.isLoading));\n\n const {\n appLastAnnotation,\n assetCompanyId,\n assetIdForAnnotation,\n isAppSupportsAnnotations: isAnnotationsSupported,\n } = useAnnotationsData({\n app,\n appData,\n currentDashboardAppsLastAnnotations,\n });\n\n const filteredAppData = useMemo(() => getAppDataAssets(appData), [appData]);\n // AppCommonsContext still models complete assets, while this provider intentionally forwards\n // sparse API projections. Keep its open forwarding seam local until that context is migrated.\n const appCommonsAssets: Record<string, unknown> = filteredAppData;\n\n const simplifiedSecondaryMenuItems = useMemo(\n () =>\n secondaryMenuItems.map(item => ({\n ...item,\n onClick: () => {\n item.onClick?.();\n if (item.to) {\n devCenterRouter.push(item.to);\n }\n },\n })),\n [secondaryMenuItems, devCenterRouter]\n );\n\n const isAppHeadersV3Enabled = !!application?.ui?.use_app_header_v3;\n const isInsideHomePage = isHomePage(devCenterRouter);\n\n const appProps = useDevCenterAppProps({\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates: updatedCoordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n });\n\n // Called without the native event: this crosses an iframe boundary, where a DOM event\n // cannot be serialised.\n const handleAppContainerClick = () => onAppContainerClick();\n\n // ⚠️⚠️⚠️ When adding/changing providers, also add them to/change /src/testing/AppTestWrapper\n return (\n <DevCenterRouterContext.Provider value={devCenterRouter}>\n <DcFullscreenElemsCoordinatorProvider setIsFullscreenModalMode={setIsFullscreenModalMode}>\n <AppCommonsProvider\n maximized={isMaximized}\n setMaximized={setIsMaximized}\n appId={app.app.id}\n app={app}\n appSettings={app.settings}\n onSettingChange={onSettingChange}\n onSettingsChange={onSettingsChange}\n appHeadersV3Enabled={isAppHeadersV3Enabled}\n isBrowserFullscreen={isBrowserFullscreen}\n enterBrowserFullscreen={enterBrowserFullscreen}\n exitBrowserFullscreen={exitBrowserFullscreen}\n isSeparateWindow={isSeparateWindow}\n openSeparateWindow={openSeparateWindow}\n closeSeparateWindow={closeSeparateWindow}\n setSeparateWindowTitle={setSeparateWindowTitle}\n isNonIsolatedApp={isNonIsolatedApp}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n currentUser={currentUser}\n appData={appData}\n layoutEnvironment={layoutEnvironment}\n appSettingsComponent={AppSettings}\n dashboardMeta={dashboardMeta}\n toggleAnnotationsList={isAnnotationsSupported ? toggleAnnotationsList : undefined}\n onHelpCenterClick={onHelpCenterClick}\n secondaryMenuItems={simplifiedSecondaryMenuItems}\n onAppRemove={onAppRemove}\n isInsideNewMobileApp={isInsideNewMobileApp}\n globalOffsetWells={dashboardMeta?.globalOffsetWells}\n globalOffsetWellsVersion={dashboardMeta?.globalOffsetWellsVersion}\n globalOffsetWellsToken={dashboardMeta?.globalOffsetWellsToken}\n reloadApp={reloadApp}\n {...appCommonsAssets}\n >\n <CommentsSwitchProvider>\n <article\n className={classNames(\n 'dc-app-container',\n isInsideNewMobileApp && 'dc-app-container--inside-new-mobile-app',\n isInsideHomePage && 'dc-app-container--inside-home-page',\n className,\n // This class is applied so that DC apps developers can style their content\n // when an app is in fullscreen\n isMaximized && 'dc-app-container__maximized',\n theme.isLightTheme && 'dc-app-container__light-theme',\n styles.container\n )}\n data-testid={`${PAGE_NAME}_${appName}`}\n onClick={handleAppContainerClick}\n >\n <ToastContainer />\n <div className={styles.containerContent}>\n <DevCenterAppView\n // DC apps keep per-asset state in mount-time hooks, so a new asset means a\n // new mount. React 18 batching collapses away the `isLoading` frame this used\n // to rely on whenever AppsDataProvider serves the asset from its cache.\n key={appData.appHash}\n AppComponent={AppComponent}\n app={app}\n appData={filteredAppData}\n availability={getAppAvailability(\n app.availability,\n currentUser.company.with_subscription\n )}\n isCLIApp={isCLIApp}\n isLoading={isLoading}\n isMultiRig={isMultiRig}\n layoutEnvironment={layoutEnvironment ?? null}\n openIntercom={openIntercom}\n segment={segment}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n appProps={appProps}\n />\n </div>\n <DevCenterAppDialogs\n app={app}\n appData={appData}\n appName={appName}\n appSettingsComponent={AppSettings}\n assetCompanyId={assetCompanyId}\n assetIdForAnnotation={assetIdForAnnotation}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isAnnotationsListOpened={isAnnotationsListOpened}\n isAppSettingsDialogOpened={isAppSettingsDialogOpened}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n toggleAnnotationsList={toggleAnnotationsList}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n {isMaximized && !isAppHeadersV3Enabled && (\n <RestoreAppSizeButton setIsMaximized={setIsMaximized} />\n )}\n\n {!isActionsDisabled && (!isAppHeadersV3Enabled || isLoading) && (\n <LegacyAppActions\n app={app}\n currentUser={currentUser}\n devCenterRouter={devCenterRouter}\n isAnnotationsSupported={isAnnotationsSupported}\n isCLIApp={isCLIApp}\n isCommentsEnabled={isCommentsEnabled}\n isInsideNewMobileApp={isInsideNewMobileApp}\n isMaximized={isMaximized}\n isMobileView={isMobileView}\n mainMenuItems={mainMenuItems}\n secondaryMenuItems={secondaryMenuItems}\n onHelpCenterClick={onHelpCenterClick}\n onReportBugClick={onReportBugClick}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n setIsMaximized={setIsMaximized}\n toggleAnnotationsList={toggleAnnotationsList}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n </article>\n </CommentsSwitchProvider>\n </AppCommonsProvider>\n </DcFullscreenElemsCoordinatorProvider>\n </DevCenterRouterContext.Provider>\n );\n};\n\nexport default DevCenterAppContainer;\n"],"names":["DevCenterAppContainer","_ref","_app$package","_app$package$manifest","_application$ui","_devCenterRouter$loca","_application$ui2","_router$location$path","CLIAppComponent","CLIAppSettings","app","appId","className","coordinates","currentDashboardAppsLastAnnotations","currentUser","devCenterRouter","disableAppAssetSelection","isActionsDisabled","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","setSeparateWindowTitle","_ref$isNonIsolatedApp","isNonIsolatedApp","isSettingsDialogHidden","layoutEnvironment","_ref$onAppContainerCl","onAppContainerClick","noop","onAppRemove","onReportBugClick","onCloneDashboard","onHelpCenterClick","onIsMaximizedChange","_ref$onSettingChange","onSettingChange","_ref$onSettingsChange","onSettingsChange","_ref$openIntercom","openIntercom","registerAITools","_ref$setIsFullscreenM","setIsFullscreenModalMode","timestamp","updateCurrentDashboardAppLastAnnotation","dashboardMeta","reloadApp","chatActions","appContextValue","useContext","AppContext","theme","useTheme","isMobileView","isNativeDetected","isMobileDetected","useState","_useState2","_slicedToArray","_useState","mainMenuItems","setMainMenuItems","_useState4","_useState3","secondaryMenuItems","setSecondaryMenuItems","appDataKey","id","appData","getAppDataEntryFromContext","application","package","manifest","segment","getAppSegment","isChiplessDashboard","isMultiRig","isDCAppMultiRig","uiSettings","ui","isCommentsEnabled","enable_comments","appName","getAppName","_useAppMaximized","useAppMaximized","isMaximized","setIsMaximized","appTimestamp","getTimestampFromQuery","location","query","isCLIApp","DEV_CENTER_CLI_APP_ID","updatedCoordinates","useMemo","_objectSpread","w","MOBILE_CLI_APP_GRID_WIDTH","version","getAppVersion","_useDevCenterApp","useDevCenterApp","isAppLoading","isLoading","AppSettings","AppComponent","_useAppSettings","useAppSettings","isAppSettingsDialogOpened","toggleAppSettingsDialog","_useAnnotationsList","useAnnotationsList","isAnnotationsListOpened","toggleAnnotationsList","_useAnnotationsData","useAnnotationsData","appLastAnnotation","assetCompanyId","assetIdForAnnotation","isAnnotationsSupported","isAppSupportsAnnotations","filteredAppData","well","rig","fracFleet","wells","interventionUnit","getAppDataAssets","appCommonsAssets","simplifiedSecondaryMenuItems","map","item","onClick","_item$onClick","call","to","push","isAppHeadersV3Enabled","use_app_header_v3","isInsideHomePage","pathname","startsWith","HOME_PATH_PREFIX","appProps","useDevCenterAppProps","_jsx","DevCenterRouterContext","Provider","value","children","DcFullscreenElemsCoordinatorProvider","AppCommonsProvider","maximized","setMaximized","appSettings","settings","appHeadersV3Enabled","appSettingsComponent","undefined","isInsideNewMobileApp","globalOffsetWells","globalOffsetWellsVersion","globalOffsetWellsToken","CommentsSwitchProvider","_jsxs","classNames","isLightTheme","styles","container","PAGE_NAME","ToastContainer","containerContent","DevCenterAppView","availability","getAppAvailability","company","with_subscription","appHash","DevCenterAppDialogs","RestoreAppSizeButton","LegacyAppActions"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getAppDataEntryFromContext.test.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSettingsDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAO1D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IACvE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,oBAAoB,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAkBF,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AppSettingsDialog.d.ts","sourceRoot":"","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAO1D,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAyBrB,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAM1C,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE5B,MAAM,MAAM,yBAAyB,GAAG;IACtC,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,oBAAoB,CAAC;IAClC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oBAAoB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC;IACvE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,oBAAoB,CAAC;IAClC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAkBF,QAAA,MAAM,iBAAiB,EAAE,EAAE,CAAC,sBAAsB,CAwSjD,CAAC;eAEa,iBAAiB"}
|
package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{useState as i,useRef as n,useEffect as t}from"react";import{cloneDeep as e,debounce as c,noop as r,mapValues as m,keyBy as p}from"lodash";import{FormControl as a,InputLabel as l,Select as u,MenuItem as d}from"@material-ui/core";import{ArrowForward as j}from"@material-ui/icons";import g from"../../../../EmptyState/EmptyState.js";import{getIsSustainabilityApp as f}from"../../utils.js";import I from"./components/RemoveAppButton.js";import{SettingsAccordion as v}from"./components/SettingsAccordion.js";import{useStyles as h}from"./styles.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/pickers";import"@date-io/moment";import"moment";import"../../../../../config/theme/index.js";import{jsxs as C,jsx as y,Fragment as b}from"react/jsx-runtime";import A from"../../../../../hocs/withAssetEditorLockHOC.js";import S from"../../../../ErrorBoundary/ErrorBoundary.js";import O from"../../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js";import k from"../../../../Button/components/Button/index.js";import"moment-timezone";import"classnames";import"../../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js";import"../../../../Button/components/LiveButton/styles.js";import"@icon-park/react/es/all";import"../../../../../icons/IconParkProvider.js";import"../../../../../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 P from"../../../../Modal/Modal.js";import{DEV_CENTER_CLI_APP_ID as D}from"../../../../../constants/devcenter.js";import"../../../../../constants/goals.js";import{SEGMENTS as E,SEGMENT_TO_ASSET_TYPE as N}from"../../../../../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{ASSET_TYPES as x}from"../../../../../constants/assetTypes.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import w from"../../../../AssetEditorV2/index.js";import F from"../../../../AppVersionsSelect/AppVersionsSelect.js";import R from"../../../../DisabledSettingsMessage/DisabledSettingsMessage.js";import B from"../../../../ConfirmationDialog.js";import"../../../../UserMention/utils/index.js";import"../../../../../utils/convert.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import{getAppSegment as M}from"../../../../../utils/devcenter.js";import"../../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../../utils/ga.js";import"../../../../../utils/goalsConfig/goalsConfig.js";import"../../../../../utils/lasParser.js";import"../../../../../utils/main.js";import"../../../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as T}from"../../../../../utils/mobileDetect.js";import"../../../../../utils/feed.js";import"../../../../../utils/reports.js";import{showSuccessNotification as V}from"../../../../../utils/notificationToasts.js";import"@babel/runtime/helpers/typeof";import"../../../../../utils/dashboardReports.js";import"../../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../../utils/jsonaDataFormatter.js";import"../../../../../utils/bha.js";import"jsona";import"../../../../../clients/jsonApi/index.js";import"../../../../../utils/charts/Styles.scss.js";import"../../../../../utils/getSingleAsset.js";import{AppIcon as L}from"../../../../AppIcon/AppIcon.js";import U from"../../../../../permissions/usePermissions.js";import{PERMISSIONS as G}from"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"../../../../../permissions/PermissionsContext.js";import{HideInNativeApp as H}from"../../../../../componentsV2/HideInNativeApp/index.js";import{isReact18Host as _}from"../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants.js";function q(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,n)}return i}function z(s){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?q(Object(n),!0).forEach((function(i){o(s,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(n,o))}))}return s}var W="DC_appSettings",K=function(){return null},Z=A(w),J=R,Q=N,X=function(){return null},Y=function(A){var N,R,q,Y,$,oo,so=A.AppSettingsComponent,io=void 0===so?X:so,no=A.app,to=A.appData,eo=A.appName,co=A.currentUser,ro=A.disableAppAssetSelection,mo=void 0!==ro&&ro,po=A.isMultiRig,ao=A.isSettingsDialogHidden,lo=void 0!==ao&&ao,uo=A.layoutEnvironment,jo=A.onAppRemove,go=A.onCloneDashboard,fo=void 0===go?r:go,Io=A.onSettingsChange,vo=A.openIntercom,ho=A.rigId,Co=A.toggleAppSettingsDialog,yo=M(no),bo=i("string"==typeof yo?yo:E.DRILLING),Ao=s(bo,2),So=Ao[0],Oo=Ao[1],ko=i(!1),Po=s(ko,2),Do=Po[0],Eo=Po[1],No=i(!0),xo=s(No,2),wo=xo[0],Fo=xo[1],Ro=i(""),Bo=s(Ro,2),Mo=Bo[0],To=Bo[1],Vo=i((function(){var o,s,i=e(null!==(o=no.settings)&&void 0!==o?o:{}),n="string"==typeof i.package?i.package:void 0,t="string"==typeof(null===(s=no.package)||void 0===s?void 0:s.version)?no.package.version:void 0;return z(z({},i),{},{package:n||t})})),Lo=s(Vo,2),Uo=Lo[0],Go=Lo[1],Ho=n(ho),_o=n(null),qo=n(null),zo=U([G.getCanReadAppPackages(no.app.id)]),Wo=s(zo,1)[0],Ko=Wo.active,Zo=Wo.loading,Jo=Array.isArray(no.segment)?no.segment.filter((function(o){return"string"==typeof o})):[],Qo=Jo.length>1,Xo=So===E.COMPLETION,Yo=Q[So],$o="asset"===(null==uo?void 0:uo.type),os=no.id===D,ss=f(null==no||null===(N=no.app)||void 0===N?void 0:N.id),is=!(mo||T||po||$o&&Xo),ns=!T&&!lo&&!!jo,ts=Zo||Ko||Boolean(null===(R=_o.current)||void 0===R?void 0:R.clientHeight),es=Boolean(null===(q=qo.current)||void 0===q?void 0:q.clientHeight),cs=ts&&es,rs=$o?Z:w,ms="string"==typeof no.app.app_key?no.app.app_key:null,ps="string"==typeof Uo.package?Uo.package:void 0,as=h({isCompletionApp:Xo,isSustainabilityApp:ss,isAccordionRequired:cs,isRemoveButtonVisible:ns}),ls=function(s,i){return Go((function(n){return z(z({},n),{},o({},s,i))}))},us=function(o){return Go((function(s){return z(z({},s),o)}))};t((function(){wo||Fo(!0)}),[wo]),t((function(){c(Eo,200)(!0)}),[]);var ds=C("div",{className:as.modalTitleContainer,children:[y(L,{className:as.appIcon,segment:[So],iconUrl:null==no||null===(Y=no.app)||void 0===Y||null===($=Y.icon)||void 0===$?void 0:$.url,height:48,width:48}),C("div",{children:[y("div",{children:"".concat(eo," Settings")}),y(H,{children:C("div",{"data-testid":"".concat(W,"_appstoreLink"),className:as.appStoreButton,onClick:function(){var o,s;return window.open((s=null==no||null===(o=no.app)||void 0===o?void 0:o.id,"/app-store/app/".concat(s)),"_top")},children:["Open in Appstore ",y(j,{className:as.arrowIcon})]})})]})]}),js=C("div",{className:as.modalActions,children:[ns&&y(I,{appName:eo,onAppRemove:jo}),C("div",{children:[y(k,{"data-testid":"".concat(W,"_cancel"),variation:"secondary",onClick:Co,children:"Cancel"}),lo&&y(k,{variation:"primary",onClick:function(){return fo()},children:"Copy Dashboard"}),!lo&&y(k,{"data-testid":"".concat(W,"_save"),className:as.saveButton,variation:"primary",onClick:function(){if(Uo.package||os){if(is&&!$o){var o,s,i,n,t=null==Yo||null===(o=Yo.primaryAsset)||void 0===o||null===(s=o.assetType)||void 0===s?void 0:s.id,e=null==Yo||null===(i=Yo.primaryAsset)||void 0===i||null===(n=i.assetType)||void 0===n?void 0:n.label;if(t&&!Uo[t])return void To("Please select ".concat(e))}Io(Uo),V("Successfully saved"),Co()}else To("Please select app version")},children:"Save"})]})]});return y(P,{actions:js,closeIconClassName:as.closeIcon,contentContainerClassName:as.modalContainer,modalTitleClassName:as.modalTitle,onClose:Co,open:!0,title:ds,children:C(S,{ErrorView:O,openIntercom:vo,children:[y(B,{open:!!Mo,isShowCancel:!1,title:"Validation failed",text:Mo,handleOk:function(){return To("")},classes:{confirmation:as.confirmationText}}),lo&&y(J,{}),!lo&&Do&&!es&&!ts&&y(g,{image:g.IMAGES.UnderConstruction,title:"No app settings"}),!lo&&C(b,{children:[C(v,{defaultExpanded:!0,className:as.assetAccordion,accordionDetailsRef:_o,isAccordionRequired:cs,summary:"Asset",children:[Qo&&C(a,{className:as.segmentSelector,children:[y(l,{children:"Segment"}),y(u,{value:So,onChange:function(o){var s=String(o.target.value);Ho.current=null,Fo(!1),Oo(s),Go(z(z({package:Uo.package,segment:s},m(p(x,"id"),(function(){return null}))),{},{assets:null}))},children:Jo.map((function(o){return y(d,{className:as.segmentMenuItem,value:o,children:o},o)}))})]}),is&&wo&&Yo&&y(rs,{appKey:os?null:ms,appType:Yo,defaultValue:Ho.current,secondaryDefaultValue:+(null==to||null===(oo=to.well)||void 0===oo?void 0:oo.id),isHiddenTitle:!0,isNullable:$o,label:"Asset",onSettingsChange:us,settings:Uo}),y(F,{className:as.appVersionSelect,appId:no.app.id,value:ps,onChange:function(o,s,i){return i&&_()?us({package:o,react18AutoSwitchDisabled:!0}):ls("package",o)}})]}),y(S,{ErrorView:K,openIntercom:vo,children:y(v,{accordionDetailsRef:qo,className:as.accordion,defaultExpanded:!0,isAccordionRequired:cs,summary:"App Settings",children:io&&y(io,{app:no,appData:to,settings:Uo,onSettingChange:ls,onSettingsChange:us,layoutEnvironment:uo,currentUser:co})})})]})]})})};export{W as PAGE_NAME,Y as default};
|
|
1
|
+
import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/slicedToArray";import{useState as i,useRef as n,useEffect as t}from"react";import{cloneDeep as e,debounce as c,noop as r,mapValues as m,keyBy as p}from"lodash";import{FormControl as a,InputLabel as l,Select as u,MenuItem as d}from"@material-ui/core";import{ArrowForward as j}from"@material-ui/icons";import g from"../../../../EmptyState/EmptyState.js";import{getIsSustainabilityApp as f}from"../../utils.js";import I from"./components/RemoveAppButton.js";import{SettingsAccordion as v}from"./components/SettingsAccordion.js";import{useStyles as h}from"./styles.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@material-ui/pickers";import"@date-io/moment";import"moment";import"../../../../../config/theme/index.js";import{jsxs as C,jsx as b,Fragment as y}from"react/jsx-runtime";import A from"../../../../../hocs/withAssetEditorLockHOC.js";import S from"../../../../ErrorBoundary/ErrorBoundary.js";import O from"../../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js";import k from"../../../../Button/components/Button/index.js";import"moment-timezone";import"classnames";import"../../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js";import"../../../../Button/components/LiveButton/styles.js";import"@icon-park/react/es/all";import"../../../../../icons/IconParkProvider.js";import"../../../../../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 P from"../../../../Modal/Modal.js";import{DEV_CENTER_CLI_APP_ID as D}from"../../../../../constants/devcenter.js";import"../../../../../constants/goals.js";import{SEGMENTS as N,SEGMENT_TO_ASSET_TYPE as E}from"../../../../../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{ASSET_TYPES as x}from"../../../../../constants/assetTypes.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import w from"../../../../AssetEditorV2/index.js";import F from"../../../../AppVersionsSelect/AppVersionsSelect.js";import R from"../../../../DisabledSettingsMessage/DisabledSettingsMessage.js";import B from"../../../../ConfirmationDialog.js";import"../../../../UserMention/utils/index.js";import"../../../../../utils/convert.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../../utils/casing/validation.js";import"lodash/mean";import"../../../../../constants/streamSourceType.js";import"lodash/get";import"file-saver";import{getAppSegment as M}from"../../../../../utils/devcenter.js";import"../../../../../utils/drillstring/conversion.js";import"lodash/set";import"lodash/cloneDeep";import"@babel/runtime/helpers/toConsumableArray";import"lodash/isNumber";import"lodash/has";import"../../../../../utils/ga.js";import"../../../../../utils/goalsConfig/goalsConfig.js";import"../../../../../utils/lasParser.js";import"../../../../../utils/main.js";import"../../../../../utils/metrics/metricsConfig.js";import{isInsideNewMobileApp as T}from"../../../../../utils/mobileDetect.js";import"../../../../../utils/feed.js";import"../../../../../utils/reports.js";import{showSuccessNotification as V}from"../../../../../utils/notificationToasts.js";import"@babel/runtime/helpers/typeof";import"../../../../../utils/dashboardReports.js";import"../../../../../utils/env.js";import"file-extension";import"image-extensions";import"video-extensions";import"../../../../../utils/jsonaDataFormatter.js";import"../../../../../utils/bha.js";import"jsona";import"../../../../../clients/jsonApi/index.js";import"../../../../../utils/charts/Styles.scss.js";import"../../../../../utils/getSingleAsset.js";import{AppIcon as L}from"../../../../AppIcon/AppIcon.js";import U from"../../../../../permissions/usePermissions.js";import{PERMISSIONS as G}from"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"../../../../../permissions/PermissionsContext.js";import{HideInNativeApp as H}from"../../../../../componentsV2/HideInNativeApp/index.js";import{isReact18Host as _}from"../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants.js";function q(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(o);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,n)}return i}function z(s){for(var i=1;i<arguments.length;i++){var n=null!=arguments[i]?arguments[i]:{};i%2?q(Object(n),!0).forEach((function(i){o(s,i,n[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(n)):q(Object(n)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(n,o))}))}return s}var W="DC_appSettings",K=function(){return null},Z=A(w),J=R,Q=E,X=function(){return null},Y=function(A){var E,R,q,Y,$,oo,so=A.AppSettingsComponent,io=void 0===so?X:so,no=A.app,to=A.appData,eo=A.appName,co=A.currentUser,ro=A.disableAppAssetSelection,mo=void 0!==ro&&ro,po=A.isMultiRig,ao=A.isSettingsDialogHidden,lo=void 0!==ao&&ao,uo=A.layoutEnvironment,jo=A.onAppRemove,go=A.onCloneDashboard,fo=void 0===go?r:go,Io=A.onSettingsChange,vo=A.openIntercom,ho=A.rigId,Co=A.toggleAppSettingsDialog,bo=M(no),yo=i("string"==typeof bo?bo:N.DRILLING),Ao=s(yo,2),So=Ao[0],Oo=Ao[1],ko=i(!1),Po=s(ko,2),Do=Po[0],No=Po[1],Eo=i(!0),xo=s(Eo,2),wo=xo[0],Fo=xo[1],Ro=i(""),Bo=s(Ro,2),Mo=Bo[0],To=Bo[1],Vo=i((function(){var o,s,i=e(null!==(o=no.settings)&&void 0!==o?o:{}),n="string"==typeof i.package?i.package:void 0,t="string"==typeof(null===(s=no.package)||void 0===s?void 0:s.version)?no.package.version:void 0;return z(z({},i),{},{package:n||t})})),Lo=s(Vo,2),Uo=Lo[0],Go=Lo[1],Ho=n(ho),_o=n(null),qo=n(null),zo=U([G.getCanReadAppPackages(no.app.id)]),Wo=s(zo,1)[0],Ko=Wo.active,Zo=Wo.loading,Jo=Array.isArray(no.segment)?no.segment.filter((function(o){return"string"==typeof o})):[],Qo=Jo.length>1,Xo=So===N.COMPLETION,Yo=Q[So],$o="asset"===(null==uo?void 0:uo.type),os=no.id===D,ss=f(null==no||null===(E=no.app)||void 0===E?void 0:E.id),is=!(mo||T||po||$o&&Xo),ns=!T&&!lo&&!!jo,ts=Zo||Ko||Boolean(null===(R=_o.current)||void 0===R?void 0:R.clientHeight),es=Boolean(null===(q=qo.current)||void 0===q?void 0:q.clientHeight),cs=ts&&es,rs=$o?Z:w,ms="string"==typeof no.app.app_key?no.app.app_key:null,ps="string"==typeof Uo.package?Uo.package:void 0,as=Number(null===(Y=to.well)||void 0===Y?void 0:Y.id),ls=h({isCompletionApp:Xo,isSustainabilityApp:ss,isAccordionRequired:cs,isRemoveButtonVisible:ns}),us=function(s,i){return Go((function(n){return z(z({},n),{},o({},s,i))}))},ds=function(o){return Go((function(s){return z(z({},s),o)}))};t((function(){wo||Fo(!0)}),[wo]),t((function(){c(No,200)(!0)}),[]);var js=C("div",{className:ls.modalTitleContainer,children:[b(L,{className:ls.appIcon,segment:[So],iconUrl:null==no||null===($=no.app)||void 0===$||null===(oo=$.icon)||void 0===oo?void 0:oo.url,height:48,width:48}),C("div",{children:[b("div",{children:"".concat(eo," Settings")}),b(H,{children:C("div",{"data-testid":"".concat(W,"_appstoreLink"),className:ls.appStoreButton,onClick:function(){var o,s;return window.open((s=null==no||null===(o=no.app)||void 0===o?void 0:o.id,"/app-store/app/".concat(s)),"_top")},children:["Open in Appstore ",b(j,{className:ls.arrowIcon})]})})]})]}),gs=C("div",{className:ls.modalActions,children:[ns&&b(I,{appName:eo,onAppRemove:jo}),C("div",{children:[b(k,{"data-testid":"".concat(W,"_cancel"),variation:"secondary",onClick:Co,children:"Cancel"}),lo&&b(k,{variation:"primary",onClick:function(){return fo()},children:"Copy Dashboard"}),!lo&&b(k,{"data-testid":"".concat(W,"_save"),className:ls.saveButton,variation:"primary",onClick:function(){if(Uo.package||os){if(is&&!$o){var o,s,i,n,t=null==Yo||null===(o=Yo.primaryAsset)||void 0===o||null===(s=o.assetType)||void 0===s?void 0:s.id,e=null==Yo||null===(i=Yo.primaryAsset)||void 0===i||null===(n=i.assetType)||void 0===n?void 0:n.label;if(t&&!Uo[t])return void To("Please select ".concat(e))}Io(Uo),V("Successfully saved"),Co()}else To("Please select app version")},children:"Save"})]})]});return b(P,{actions:gs,closeIconClassName:ls.closeIcon,contentContainerClassName:ls.modalContainer,modalTitleClassName:ls.modalTitle,onClose:Co,open:!0,title:js,children:C(S,{ErrorView:O,openIntercom:vo,children:[b(B,{open:!!Mo,isShowCancel:!1,title:"Validation failed",text:Mo,handleOk:function(){return To("")},classes:{confirmation:ls.confirmationText}}),lo&&b(J,{}),!lo&&Do&&!es&&!ts&&b(g,{image:g.IMAGES.UnderConstruction,title:"No app settings"}),!lo&&C(y,{children:[C(v,{defaultExpanded:!0,className:ls.assetAccordion,accordionDetailsRef:_o,isAccordionRequired:cs,summary:"Asset",children:[Qo&&C(a,{className:ls.segmentSelector,children:[b(l,{children:"Segment"}),b(u,{value:So,onChange:function(o){var s=String(o.target.value);Ho.current=null,Fo(!1),Oo(s),Go(z(z({package:Uo.package,segment:s},m(p(x,"id"),(function(){return null}))),{},{assets:null}))},children:Jo.map((function(o){return b(d,{className:ls.segmentMenuItem,value:o,children:o},o)}))})]}),is&&wo&&Yo&&b(rs,{appKey:os?null:ms,appType:Yo,defaultValue:Ho.current,secondaryDefaultValue:as,isHiddenTitle:!0,isNullable:$o,label:"Asset",onSettingsChange:ds,settings:Uo}),b(F,{className:ls.appVersionSelect,appId:no.app.id,value:ps,onChange:function(o,s,i){return i&&_()?ds({package:o,react18AutoSwitchDisabled:!0}):us("package",o)}})]}),b(S,{ErrorView:K,openIntercom:vo,children:b(v,{accordionDetailsRef:qo,className:ls.accordion,defaultExpanded:!0,isAccordionRequired:cs,summary:"App Settings",children:io&&b(io,{app:no,appData:to,settings:Uo,onSettingChange:us,onSettingsChange:ds,layoutEnvironment:uo,currentUser:co})})})]})]})})};export{W as PAGE_NAME,Y as default};
|
|
2
2
|
//# sourceMappingURL=AppSettingsDialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppSettingsDialog.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ComponentType, FC, ReactNode } from 'react';\nimport { cloneDeep, debounce, keyBy, mapValues, noop } from 'lodash';\nimport { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport type { SelectProps } from '@material-ui/core/Select';\nimport { ArrowForward as ArrowIcon } from '@material-ui/icons';\n\nimport EmptyState from '../../../../EmptyState';\nimport type {\n AppDataEntry,\n DevCenterAppResource,\n DevCenterCurrentUser,\n LayoutEnvironment,\n} from '../../types';\nimport { getIsSustainabilityApp } from '../../utils';\n\nimport { RemoveAppButton, SettingsAccordion } from './components';\nimport { useStyles } from './styles';\n\nimport { withAssetEditorLockHOC } from '~/hocs';\nimport ErrorBoundary, { DevCenterAppErrorView } from '~/components/ErrorBoundary';\nimport Button from '~/components/Button';\nimport Modal from '~/components/Modal';\nimport { ASSET_TYPES, DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport AssetEditor, { AssetEditorAppType } from '~/components/AssetEditorV2';\nimport AppVersionsSelect from '~/components/AppVersionsSelect';\nimport { DisabledSettingsMessage } from '~/components/DisabledSettingsMessage';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { SEGMENT_TO_ASSET_TYPE, SEGMENTS } from '~/constants/segment';\nimport { showSuccessNotification } from '~/utils';\nimport AppIcon from '~/components/AppIcon';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\nimport { HideInNativeApp } from '~/componentsV2/HideInNativeApp';\n// [REACT-18-MIGRATION-TAG] PLT-3099\nimport { isReact18Host } from '~/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants';\n\nexport const PAGE_NAME = 'DC_appSettings';\n\nconst getAppPageUrl = (appId: number | string | undefined): string => `/app-store/app/${appId}`;\n\nconst AppSettingsErrorView = () => null;\n\nexport type AppSettings = {\n package?: string | null;\n padId?: number | string | null;\n segment?: string;\n} & Record<string, unknown>;\n\nexport type AppSettingsComponentProps = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentUser: DevCenterCurrentUser;\n layoutEnvironment?: LayoutEnvironment | null;\n onSettingChange: (name: string, value: unknown) => void;\n onSettingsChange: (settings: AppSettings) => void;\n settings: AppSettings;\n};\n\nexport type AppSettingsDialogProps = {\n AppSettingsComponent?: ComponentType<AppSettingsComponentProps> | null;\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n currentUser: DevCenterCurrentUser;\n disableAppAssetSelection?: boolean;\n isMultiRig: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: LayoutEnvironment | null;\n onAppRemove?: () => void;\n onCloneDashboard?: () => void;\n onSettingsChange: (settings: AppSettings) => void;\n openIntercom?: () => void;\n rigId?: number | string | null;\n toggleAppSettingsDialog: () => void;\n};\n\nconst AssetEditorWithLock = withAssetEditorLockHOC(AssetEditor);\n\n/*\n * AS-KEEP — DisabledSettingsMessage is still JavaScript and declares a required\n * onCloneDashboard callback, although its rendering supports an omitted callback.\n * Remove this assertion when that component is migrated to TypeScript.\n */\nconst OptionalDisabledSettingsMessage = DisabledSettingsMessage as ComponentType<{\n onCloneDashboard?: () => void;\n}>;\n\nconst ASSET_EDITOR_TYPES_BY_SEGMENT: Partial<Record<string, AssetEditorAppType>> =\n SEGMENT_TO_ASSET_TYPE;\n\nconst DEFAULT_APP_SETTINGS_COMPONENT: ComponentType<AppSettingsComponentProps> = () => null;\n\nconst AppSettingsDialog: FC<AppSettingsDialogProps> = ({\n AppSettingsComponent = DEFAULT_APP_SETTINGS_COMPONENT,\n app,\n appData,\n appName,\n currentUser,\n disableAppAssetSelection = false,\n isMultiRig,\n isSettingsDialogHidden = false,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard = noop,\n onSettingsChange,\n openIntercom,\n rigId,\n toggleAppSettingsDialog,\n}) => {\n const initialSegment = getAppSegment(app);\n\n const [appSegmentSetting, setAppSegmentSetting] = useState<string>(\n typeof initialSegment === 'string' ? initialSegment : SEGMENTS.DRILLING\n );\n const [isMounted, setIsMounted] = useState(false);\n const [isAssetSelectorRendered, setIsAssetSelectorRendered] = useState(true);\n const [validationError, setValidationError] = useState('');\n const [appSettings, setAppSettings] = useState<AppSettings>(() => {\n const settings: AppSettings = cloneDeep(app.settings ?? {});\n const settingsPackage = typeof settings.package === 'string' ? settings.package : undefined;\n const packageVersion =\n typeof app.package?.version === 'string' ? app.package.version : undefined;\n\n return {\n ...settings,\n package: settingsPackage || packageVersion,\n };\n });\n\n // NOTE: Keep in ref to have a way to reset default value\n // of asset selector when changing app segment\n const defaultRigId = useRef<number | string | null | undefined>(rigId);\n const platformAppSettingsRef = useRef<HTMLDivElement | null>(null);\n const customAppSettingsRef = useRef<HTMLDivElement | null>(null);\n\n const [{ active: canReadAppPackages, loading: isPermissionsLoading }] = usePermissions([\n PERMISSIONS.getCanReadAppPackages(app.app.id),\n ]);\n\n const appSegments = Array.isArray(app.segment)\n ? app.segment.filter((segment): segment is string => typeof segment === 'string')\n : [];\n const hasSegmentSelector = appSegments.length > 1;\n const isCompletionSegment = appSegmentSetting === SEGMENTS.COMPLETION;\n const assetEditorAppType = ASSET_EDITOR_TYPES_BY_SEGMENT[appSegmentSetting];\n const isAssetPage = layoutEnvironment?.type === 'asset';\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n const isSustainabilityApp = getIsSustainabilityApp(app?.app?.id);\n\n const isAssetSelectorVisible =\n !disableAppAssetSelection &&\n !isInsideNewMobileApp &&\n !isMultiRig &&\n !(isAssetPage && isCompletionSegment);\n const isRemoveButtonVisible = !isInsideNewMobileApp && !isSettingsDialogHidden && !!onAppRemove;\n\n const hasPlatformAppSettings =\n isPermissionsLoading ||\n canReadAppPackages ||\n Boolean(platformAppSettingsRef.current?.clientHeight);\n const hasCustomAppSettings = Boolean(customAppSettingsRef.current?.clientHeight);\n const isAccordionRequired = hasPlatformAppSettings && hasCustomAppSettings;\n\n const AssetEditorComponent = isAssetPage ? AssetEditorWithLock : AssetEditor;\n const appKey = typeof app.app.app_key === 'string' ? app.app.app_key : null;\n const selectedPackage = typeof appSettings.package === 'string' ? appSettings.package : undefined;\n\n const styles = useStyles({\n isCompletionApp: isCompletionSegment,\n isSustainabilityApp,\n isAccordionRequired,\n isRemoveButtonVisible,\n });\n\n const handleChangeAppSegment: SelectProps['onChange'] = event => {\n const nextSegment = String(event.target.value);\n\n defaultRigId.current = null;\n setIsAssetSelectorRendered(false);\n\n setAppSegmentSetting(nextSegment);\n setAppSettings({\n package: appSettings.package,\n segment: nextSegment,\n // NOTE: we need to reset asset ids when segment is changed\n ...mapValues(keyBy(ASSET_TYPES, 'id'), () => null),\n assets: null,\n });\n };\n\n const handleAppSettingChange = (name: string, value: unknown) =>\n setAppSettings(prevSettings => ({\n ...prevSettings,\n [name]: value,\n }));\n\n const handleAppSettingsChange = (newSettings: AppSettings) =>\n setAppSettings(prevSettings => ({ ...prevSettings, ...newSettings }));\n\n const handleSave = () => {\n if (!appSettings.package && !isCLIApp) {\n setValidationError('Please select app version');\n return;\n }\n\n if (isAssetSelectorVisible && !isAssetPage) {\n const appTypeKey = assetEditorAppType?.primaryAsset?.assetType?.id;\n const appTypeLabel = assetEditorAppType?.primaryAsset?.assetType?.label;\n\n if (appTypeKey && !appSettings[appTypeKey]) {\n setValidationError(`Please select ${appTypeLabel}`);\n return;\n }\n }\n\n onSettingsChange(appSettings);\n showSuccessNotification('Successfully saved');\n toggleAppSettingsDialog();\n };\n\n const handleAppVersionChange = (value: string, _appPackage: unknown, isUserChange: boolean) =>\n // [REACT-18-MIGRATION-TAG] PLT-3099: a genuine user pick on a React-18 host opts the app out\n // of the auto-switch; the auto-preselect must not (isUserChange).\n isUserChange && isReact18Host()\n ? handleAppSettingsChange({ package: value, react18AutoSwitchDisabled: true })\n : handleAppSettingChange('package', value);\n\n useEffect(() => {\n if (!isAssetSelectorRendered) setIsAssetSelectorRendered(true);\n }, [isAssetSelectorRendered]);\n\n useEffect(() => {\n const debouncedSetIsMounted = debounce(setIsMounted, 200);\n debouncedSetIsMounted(true);\n }, []);\n\n const modalTitle: ReactNode = (\n <div className={styles.modalTitleContainer}>\n <AppIcon\n className={styles.appIcon}\n segment={[appSegmentSetting]}\n iconUrl={app?.app?.icon?.url}\n height={48}\n width={48}\n />\n <div>\n <div>{`${appName} Settings`}</div>\n <HideInNativeApp>\n <div\n data-testid={`${PAGE_NAME}_appstoreLink`}\n className={styles.appStoreButton}\n onClick={() => window.open(getAppPageUrl(app?.app?.id), '_top')}\n >\n Open in Appstore <ArrowIcon className={styles.arrowIcon} />\n </div>\n </HideInNativeApp>\n </div>\n </div>\n );\n\n const modalActions = (\n <div className={styles.modalActions}>\n {isRemoveButtonVisible && <RemoveAppButton appName={appName} onAppRemove={onAppRemove} />}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n variation=\"secondary\"\n onClick={toggleAppSettingsDialog}\n >\n Cancel\n </Button>\n {isSettingsDialogHidden && (\n <Button variation=\"primary\" onClick={() => onCloneDashboard()}>\n Copy Dashboard\n </Button>\n )}\n {!isSettingsDialogHidden && (\n <Button\n data-testid={`${PAGE_NAME}_save`}\n className={styles.saveButton}\n variation=\"primary\"\n onClick={handleSave}\n >\n Save\n </Button>\n )}\n </div>\n </div>\n );\n\n return (\n <Modal\n actions={modalActions}\n closeIconClassName={styles.closeIcon}\n contentContainerClassName={styles.modalContainer}\n modalTitleClassName={styles.modalTitle}\n onClose={toggleAppSettingsDialog}\n open\n title={modalTitle}\n >\n <ErrorBoundary ErrorView={DevCenterAppErrorView} openIntercom={openIntercom}>\n <ConfirmationDialog\n open={!!validationError}\n isShowCancel={false}\n title=\"Validation failed\"\n text={validationError}\n handleOk={() => setValidationError('')}\n classes={{ confirmation: styles.confirmationText }}\n />\n {isSettingsDialogHidden && <OptionalDisabledSettingsMessage />}\n {!isSettingsDialogHidden &&\n isMounted &&\n !hasCustomAppSettings &&\n !hasPlatformAppSettings && (\n <EmptyState image={EmptyState.IMAGES.UnderConstruction} title=\"No app settings\" />\n )}\n {!isSettingsDialogHidden && (\n <>\n <SettingsAccordion\n defaultExpanded\n className={styles.assetAccordion}\n accordionDetailsRef={platformAppSettingsRef}\n isAccordionRequired={isAccordionRequired}\n summary=\"Asset\"\n >\n {hasSegmentSelector && (\n <FormControl className={styles.segmentSelector}>\n <InputLabel>Segment</InputLabel>\n <Select value={appSegmentSetting} onChange={handleChangeAppSegment}>\n {appSegments.map(segmentItem => (\n <MenuItem\n className={styles.segmentMenuItem}\n key={segmentItem}\n value={segmentItem}\n >\n {segmentItem}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )}\n {isAssetSelectorVisible && isAssetSelectorRendered && assetEditorAppType && (\n <AssetEditorComponent\n appKey={isCLIApp ? null : appKey}\n appType={assetEditorAppType}\n defaultValue={defaultRigId.current}\n secondaryDefaultValue={+appData?.well?.id}\n isHiddenTitle\n isNullable={isAssetPage}\n label=\"Asset\"\n onSettingsChange={handleAppSettingsChange}\n settings={appSettings}\n />\n )}\n <AppVersionsSelect\n className={styles.appVersionSelect}\n appId={app.app.id}\n value={selectedPackage}\n onChange={handleAppVersionChange}\n />\n </SettingsAccordion>\n <ErrorBoundary ErrorView={AppSettingsErrorView} openIntercom={openIntercom}>\n <SettingsAccordion\n accordionDetailsRef={customAppSettingsRef}\n className={styles.accordion}\n defaultExpanded\n isAccordionRequired={isAccordionRequired}\n summary=\"App Settings\"\n >\n {AppSettingsComponent && (\n <AppSettingsComponent\n app={app}\n appData={appData}\n settings={appSettings}\n onSettingChange={handleAppSettingChange}\n onSettingsChange={handleAppSettingsChange}\n layoutEnvironment={layoutEnvironment}\n currentUser={currentUser}\n />\n )}\n </SettingsAccordion>\n </ErrorBoundary>\n </>\n )}\n </ErrorBoundary>\n </Modal>\n );\n};\n\nexport default AppSettingsDialog;\n"],"names":["PAGE_NAME","AppSettingsErrorView","AssetEditorWithLock","withAssetEditorLockHOC","AssetEditor","OptionalDisabledSettingsMessage","DisabledSettingsMessage","ASSET_EDITOR_TYPES_BY_SEGMENT","SEGMENT_TO_ASSET_TYPE","DEFAULT_APP_SETTINGS_COMPONENT","AppSettingsDialog","_ref","_app$app","_platformAppSettingsR","_customAppSettingsRef","_app$app2","_app$app2$icon","_appData$well","_ref$AppSettingsCompo","AppSettingsComponent","app","appData","appName","currentUser","_ref$disableAppAssetS","disableAppAssetSelection","isMultiRig","_ref$isSettingsDialog","isSettingsDialogHidden","layoutEnvironment","onAppRemove","_ref$onCloneDashboard","onCloneDashboard","noop","onSettingsChange","openIntercom","rigId","toggleAppSettingsDialog","initialSegment","getAppSegment","_useState","useState","SEGMENTS","DRILLING","_useState2","_slicedToArray","appSegmentSetting","setAppSegmentSetting","_useState4","_useState3","isMounted","setIsMounted","_useState6","_useState5","isAssetSelectorRendered","setIsAssetSelectorRendered","_useState8","_useState7","validationError","setValidationError","_app$settings","_app$package","settings","cloneDeep","settingsPackage","package","undefined","packageVersion","version","_objectSpread","_useState10","_useState9","appSettings","setAppSettings","defaultRigId","useRef","platformAppSettingsRef","customAppSettingsRef","_usePermissions","usePermissions","PERMISSIONS","getCanReadAppPackages","id","_usePermissions2$","canReadAppPackages","active","isPermissionsLoading","loading","appSegments","Array","isArray","segment","filter","hasSegmentSelector","length","isCompletionSegment","COMPLETION","assetEditorAppType","isAssetPage","type","isCLIApp","DEV_CENTER_CLI_APP_ID","isSustainabilityApp","getIsSustainabilityApp","isAssetSelectorVisible","isInsideNewMobileApp","isRemoveButtonVisible","hasPlatformAppSettings","Boolean","current","clientHeight","hasCustomAppSettings","isAccordionRequired","AssetEditorComponent","appKey","app_key","selectedPackage","styles","useStyles","isCompletionApp","handleAppSettingChange","name","value","prevSettings","_defineProperty","handleAppSettingsChange","newSettings","useEffect","debounce","debouncedSetIsMounted","modalTitle","_jsxs","className","modalTitleContainer","children","_jsx","AppIcon","appIcon","iconUrl","icon","url","height","width","concat","HideInNativeApp","appStoreButton","onClick","_app$app3","appId","window","open","ArrowIcon","arrowIcon","modalActions","RemoveAppButton","Button","variation","saveButton","_assetEditorAppType$p","_assetEditorAppType$p2","_assetEditorAppType$p3","_assetEditorAppType$p4","appTypeKey","primaryAsset","assetType","appTypeLabel","label","showSuccessNotification","Modal","actions","closeIconClassName","closeIcon","contentContainerClassName","modalContainer","modalTitleClassName","onClose","title","ErrorBoundary","ErrorView","DevCenterAppErrorView","ConfirmationDialog","isShowCancel","text","handleOk","classes","confirmation","confirmationText","EmptyState","image","IMAGES","UnderConstruction","_Fragment","SettingsAccordion","defaultExpanded","assetAccordion","accordionDetailsRef","summary","FormControl","segmentSelector","InputLabel","Select","onChange","event","nextSegment","String","target","mapValues","keyBy","ASSET_TYPES","assets","map","segmentItem","MenuItem","segmentMenuItem","appType","defaultValue","secondaryDefaultValue","well","isHiddenTitle","isNullable","AppVersionsSelect","appVersionSelect","_appPackage","isUserChange","isReact18Host","react18AutoSwitchDisabled","accordion","onSettingChange"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AppSettingsDialog.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport type { ComponentType, FC, ReactNode } from 'react';\nimport { cloneDeep, debounce, keyBy, mapValues, noop } from 'lodash';\nimport { FormControl, InputLabel, MenuItem, Select } from '@material-ui/core';\nimport type { SelectProps } from '@material-ui/core/Select';\nimport { ArrowForward as ArrowIcon } from '@material-ui/icons';\n\nimport EmptyState from '../../../../EmptyState';\nimport type {\n AppDataEntry,\n DevCenterAppResource,\n DevCenterCurrentUser,\n LayoutEnvironment,\n} from '../../types';\nimport { getIsSustainabilityApp } from '../../utils';\n\nimport { RemoveAppButton, SettingsAccordion } from './components';\nimport { useStyles } from './styles';\n\nimport { withAssetEditorLockHOC } from '~/hocs';\nimport ErrorBoundary, { DevCenterAppErrorView } from '~/components/ErrorBoundary';\nimport Button from '~/components/Button';\nimport Modal from '~/components/Modal';\nimport { ASSET_TYPES, DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport AssetEditor, { AssetEditorAppType } from '~/components/AssetEditorV2';\nimport AppVersionsSelect from '~/components/AppVersionsSelect';\nimport { DisabledSettingsMessage } from '~/components/DisabledSettingsMessage';\nimport ConfirmationDialog from '~/components/ConfirmationDialog';\nimport { SEGMENT_TO_ASSET_TYPE, SEGMENTS } from '~/constants/segment';\nimport { showSuccessNotification } from '~/utils';\nimport AppIcon from '~/components/AppIcon';\nimport { getAppSegment } from '~/utils/devcenter';\nimport { PERMISSIONS, usePermissions } from '~/permissions';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\nimport { HideInNativeApp } from '~/componentsV2/HideInNativeApp';\n// [REACT-18-MIGRATION-TAG] PLT-3099\nimport { isReact18Host } from '~/componentsV2/AppHeader/V3/VersionSelect/VersionSelect.constants';\n\nexport const PAGE_NAME = 'DC_appSettings';\n\nconst getAppPageUrl = (appId: number | string | undefined): string => `/app-store/app/${appId}`;\n\nconst AppSettingsErrorView = () => null;\n\nexport type AppSettings = {\n package?: string | null;\n padId?: number | string | null;\n segment?: string;\n} & Record<string, unknown>;\n\nexport type AppSettingsComponentProps = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentUser: DevCenterCurrentUser;\n layoutEnvironment?: LayoutEnvironment | null;\n onSettingChange: (name: string, value: unknown) => void;\n onSettingsChange: (settings: AppSettings) => void;\n settings: AppSettings;\n};\n\nexport type AppSettingsDialogProps = {\n AppSettingsComponent?: ComponentType<AppSettingsComponentProps> | null;\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n currentUser: DevCenterCurrentUser;\n disableAppAssetSelection?: boolean;\n isMultiRig: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: LayoutEnvironment | null;\n onAppRemove?: () => void;\n onCloneDashboard?: () => void;\n onSettingsChange: (settings: AppSettings) => void;\n openIntercom?: () => void;\n rigId?: number | string | null;\n toggleAppSettingsDialog: () => void;\n};\n\nconst AssetEditorWithLock = withAssetEditorLockHOC(AssetEditor);\n\n/*\n * AS-KEEP — DisabledSettingsMessage is still JavaScript and declares a required\n * onCloneDashboard callback, although its rendering supports an omitted callback.\n * Remove this assertion when that component is migrated to TypeScript.\n */\nconst OptionalDisabledSettingsMessage = DisabledSettingsMessage as ComponentType<{\n onCloneDashboard?: () => void;\n}>;\n\nconst ASSET_EDITOR_TYPES_BY_SEGMENT: Partial<Record<string, AssetEditorAppType>> =\n SEGMENT_TO_ASSET_TYPE;\n\nconst DEFAULT_APP_SETTINGS_COMPONENT: ComponentType<AppSettingsComponentProps> = () => null;\n\nconst AppSettingsDialog: FC<AppSettingsDialogProps> = ({\n AppSettingsComponent = DEFAULT_APP_SETTINGS_COMPONENT,\n app,\n appData,\n appName,\n currentUser,\n disableAppAssetSelection = false,\n isMultiRig,\n isSettingsDialogHidden = false,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard = noop,\n onSettingsChange,\n openIntercom,\n rigId,\n toggleAppSettingsDialog,\n}) => {\n const initialSegment = getAppSegment(app);\n\n const [appSegmentSetting, setAppSegmentSetting] = useState<string>(\n typeof initialSegment === 'string' ? initialSegment : SEGMENTS.DRILLING\n );\n const [isMounted, setIsMounted] = useState(false);\n const [isAssetSelectorRendered, setIsAssetSelectorRendered] = useState(true);\n const [validationError, setValidationError] = useState('');\n const [appSettings, setAppSettings] = useState<AppSettings>(() => {\n const settings: AppSettings = cloneDeep(app.settings ?? {});\n const settingsPackage = typeof settings.package === 'string' ? settings.package : undefined;\n const packageVersion =\n typeof app.package?.version === 'string' ? app.package.version : undefined;\n\n return {\n ...settings,\n package: settingsPackage || packageVersion,\n };\n });\n\n // NOTE: Keep in ref to have a way to reset default value\n // of asset selector when changing app segment\n const defaultRigId = useRef<number | string | null | undefined>(rigId);\n const platformAppSettingsRef = useRef<HTMLDivElement | null>(null);\n const customAppSettingsRef = useRef<HTMLDivElement | null>(null);\n\n const [{ active: canReadAppPackages, loading: isPermissionsLoading }] = usePermissions([\n PERMISSIONS.getCanReadAppPackages(app.app.id),\n ]);\n\n const appSegments = Array.isArray(app.segment)\n ? app.segment.filter((segment): segment is string => typeof segment === 'string')\n : [];\n const hasSegmentSelector = appSegments.length > 1;\n const isCompletionSegment = appSegmentSetting === SEGMENTS.COMPLETION;\n const assetEditorAppType = ASSET_EDITOR_TYPES_BY_SEGMENT[appSegmentSetting];\n const isAssetPage = layoutEnvironment?.type === 'asset';\n const isCLIApp = app.id === DEV_CENTER_CLI_APP_ID;\n const isSustainabilityApp = getIsSustainabilityApp(app?.app?.id);\n\n const isAssetSelectorVisible =\n !disableAppAssetSelection &&\n !isInsideNewMobileApp &&\n !isMultiRig &&\n !(isAssetPage && isCompletionSegment);\n const isRemoveButtonVisible = !isInsideNewMobileApp && !isSettingsDialogHidden && !!onAppRemove;\n\n const hasPlatformAppSettings =\n isPermissionsLoading ||\n canReadAppPackages ||\n Boolean(platformAppSettingsRef.current?.clientHeight);\n const hasCustomAppSettings = Boolean(customAppSettingsRef.current?.clientHeight);\n const isAccordionRequired = hasPlatformAppSettings && hasCustomAppSettings;\n\n const AssetEditorComponent = isAssetPage ? AssetEditorWithLock : AssetEditor;\n const appKey = typeof app.app.app_key === 'string' ? app.app.app_key : null;\n const selectedPackage = typeof appSettings.package === 'string' ? appSettings.package : undefined;\n const secondaryDefaultValue = Number(appData.well?.id);\n\n const styles = useStyles({\n isCompletionApp: isCompletionSegment,\n isSustainabilityApp,\n isAccordionRequired,\n isRemoveButtonVisible,\n });\n\n const handleChangeAppSegment: SelectProps['onChange'] = event => {\n const nextSegment = String(event.target.value);\n\n defaultRigId.current = null;\n setIsAssetSelectorRendered(false);\n\n setAppSegmentSetting(nextSegment);\n setAppSettings({\n package: appSettings.package,\n segment: nextSegment,\n // NOTE: we need to reset asset ids when segment is changed\n ...mapValues(keyBy(ASSET_TYPES, 'id'), () => null),\n assets: null,\n });\n };\n\n const handleAppSettingChange = (name: string, value: unknown) =>\n setAppSettings(prevSettings => ({\n ...prevSettings,\n [name]: value,\n }));\n\n const handleAppSettingsChange = (newSettings: AppSettings) =>\n setAppSettings(prevSettings => ({ ...prevSettings, ...newSettings }));\n\n const handleSave = () => {\n if (!appSettings.package && !isCLIApp) {\n setValidationError('Please select app version');\n return;\n }\n\n if (isAssetSelectorVisible && !isAssetPage) {\n const appTypeKey = assetEditorAppType?.primaryAsset?.assetType?.id;\n const appTypeLabel = assetEditorAppType?.primaryAsset?.assetType?.label;\n\n if (appTypeKey && !appSettings[appTypeKey]) {\n setValidationError(`Please select ${appTypeLabel}`);\n return;\n }\n }\n\n onSettingsChange(appSettings);\n showSuccessNotification('Successfully saved');\n toggleAppSettingsDialog();\n };\n\n const handleAppVersionChange = (value: string, _appPackage: unknown, isUserChange: boolean) =>\n // [REACT-18-MIGRATION-TAG] PLT-3099: a genuine user pick on a React-18 host opts the app out\n // of the auto-switch; the auto-preselect must not (isUserChange).\n isUserChange && isReact18Host()\n ? handleAppSettingsChange({ package: value, react18AutoSwitchDisabled: true })\n : handleAppSettingChange('package', value);\n\n useEffect(() => {\n if (!isAssetSelectorRendered) setIsAssetSelectorRendered(true);\n }, [isAssetSelectorRendered]);\n\n useEffect(() => {\n const debouncedSetIsMounted = debounce(setIsMounted, 200);\n debouncedSetIsMounted(true);\n }, []);\n\n const modalTitle: ReactNode = (\n <div className={styles.modalTitleContainer}>\n <AppIcon\n className={styles.appIcon}\n segment={[appSegmentSetting]}\n iconUrl={app?.app?.icon?.url}\n height={48}\n width={48}\n />\n <div>\n <div>{`${appName} Settings`}</div>\n <HideInNativeApp>\n <div\n data-testid={`${PAGE_NAME}_appstoreLink`}\n className={styles.appStoreButton}\n onClick={() => window.open(getAppPageUrl(app?.app?.id), '_top')}\n >\n Open in Appstore <ArrowIcon className={styles.arrowIcon} />\n </div>\n </HideInNativeApp>\n </div>\n </div>\n );\n\n const modalActions = (\n <div className={styles.modalActions}>\n {isRemoveButtonVisible && <RemoveAppButton appName={appName} onAppRemove={onAppRemove} />}\n <div>\n <Button\n data-testid={`${PAGE_NAME}_cancel`}\n variation=\"secondary\"\n onClick={toggleAppSettingsDialog}\n >\n Cancel\n </Button>\n {isSettingsDialogHidden && (\n <Button variation=\"primary\" onClick={() => onCloneDashboard()}>\n Copy Dashboard\n </Button>\n )}\n {!isSettingsDialogHidden && (\n <Button\n data-testid={`${PAGE_NAME}_save`}\n className={styles.saveButton}\n variation=\"primary\"\n onClick={handleSave}\n >\n Save\n </Button>\n )}\n </div>\n </div>\n );\n\n return (\n <Modal\n actions={modalActions}\n closeIconClassName={styles.closeIcon}\n contentContainerClassName={styles.modalContainer}\n modalTitleClassName={styles.modalTitle}\n onClose={toggleAppSettingsDialog}\n open\n title={modalTitle}\n >\n <ErrorBoundary ErrorView={DevCenterAppErrorView} openIntercom={openIntercom}>\n <ConfirmationDialog\n open={!!validationError}\n isShowCancel={false}\n title=\"Validation failed\"\n text={validationError}\n handleOk={() => setValidationError('')}\n classes={{ confirmation: styles.confirmationText }}\n />\n {isSettingsDialogHidden && <OptionalDisabledSettingsMessage />}\n {!isSettingsDialogHidden &&\n isMounted &&\n !hasCustomAppSettings &&\n !hasPlatformAppSettings && (\n <EmptyState image={EmptyState.IMAGES.UnderConstruction} title=\"No app settings\" />\n )}\n {!isSettingsDialogHidden && (\n <>\n <SettingsAccordion\n defaultExpanded\n className={styles.assetAccordion}\n accordionDetailsRef={platformAppSettingsRef}\n isAccordionRequired={isAccordionRequired}\n summary=\"Asset\"\n >\n {hasSegmentSelector && (\n <FormControl className={styles.segmentSelector}>\n <InputLabel>Segment</InputLabel>\n <Select value={appSegmentSetting} onChange={handleChangeAppSegment}>\n {appSegments.map(segmentItem => (\n <MenuItem\n className={styles.segmentMenuItem}\n key={segmentItem}\n value={segmentItem}\n >\n {segmentItem}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n )}\n {isAssetSelectorVisible && isAssetSelectorRendered && assetEditorAppType && (\n <AssetEditorComponent\n appKey={isCLIApp ? null : appKey}\n appType={assetEditorAppType}\n defaultValue={defaultRigId.current}\n secondaryDefaultValue={secondaryDefaultValue}\n isHiddenTitle\n isNullable={isAssetPage}\n label=\"Asset\"\n onSettingsChange={handleAppSettingsChange}\n settings={appSettings}\n />\n )}\n <AppVersionsSelect\n className={styles.appVersionSelect}\n appId={app.app.id}\n value={selectedPackage}\n onChange={handleAppVersionChange}\n />\n </SettingsAccordion>\n <ErrorBoundary ErrorView={AppSettingsErrorView} openIntercom={openIntercom}>\n <SettingsAccordion\n accordionDetailsRef={customAppSettingsRef}\n className={styles.accordion}\n defaultExpanded\n isAccordionRequired={isAccordionRequired}\n summary=\"App Settings\"\n >\n {AppSettingsComponent && (\n <AppSettingsComponent\n app={app}\n appData={appData}\n settings={appSettings}\n onSettingChange={handleAppSettingChange}\n onSettingsChange={handleAppSettingsChange}\n layoutEnvironment={layoutEnvironment}\n currentUser={currentUser}\n />\n )}\n </SettingsAccordion>\n </ErrorBoundary>\n </>\n )}\n </ErrorBoundary>\n </Modal>\n );\n};\n\nexport default AppSettingsDialog;\n"],"names":["PAGE_NAME","AppSettingsErrorView","AssetEditorWithLock","withAssetEditorLockHOC","AssetEditor","OptionalDisabledSettingsMessage","DisabledSettingsMessage","ASSET_EDITOR_TYPES_BY_SEGMENT","SEGMENT_TO_ASSET_TYPE","DEFAULT_APP_SETTINGS_COMPONENT","AppSettingsDialog","_ref","_app$app","_platformAppSettingsR","_customAppSettingsRef","_appData$well","_app$app2","_app$app2$icon","_ref$AppSettingsCompo","AppSettingsComponent","app","appData","appName","currentUser","_ref$disableAppAssetS","disableAppAssetSelection","isMultiRig","_ref$isSettingsDialog","isSettingsDialogHidden","layoutEnvironment","onAppRemove","_ref$onCloneDashboard","onCloneDashboard","noop","onSettingsChange","openIntercom","rigId","toggleAppSettingsDialog","initialSegment","getAppSegment","_useState","useState","SEGMENTS","DRILLING","_useState2","_slicedToArray","appSegmentSetting","setAppSegmentSetting","_useState4","_useState3","isMounted","setIsMounted","_useState6","_useState5","isAssetSelectorRendered","setIsAssetSelectorRendered","_useState8","_useState7","validationError","setValidationError","_app$settings","_app$package","settings","cloneDeep","settingsPackage","package","undefined","packageVersion","version","_objectSpread","_useState10","_useState9","appSettings","setAppSettings","defaultRigId","useRef","platformAppSettingsRef","customAppSettingsRef","_usePermissions","usePermissions","PERMISSIONS","getCanReadAppPackages","id","_usePermissions2$","canReadAppPackages","active","isPermissionsLoading","loading","appSegments","Array","isArray","segment","filter","hasSegmentSelector","length","isCompletionSegment","COMPLETION","assetEditorAppType","isAssetPage","type","isCLIApp","DEV_CENTER_CLI_APP_ID","isSustainabilityApp","getIsSustainabilityApp","isAssetSelectorVisible","isInsideNewMobileApp","isRemoveButtonVisible","hasPlatformAppSettings","Boolean","current","clientHeight","hasCustomAppSettings","isAccordionRequired","AssetEditorComponent","appKey","app_key","selectedPackage","secondaryDefaultValue","Number","well","styles","useStyles","isCompletionApp","handleAppSettingChange","name","value","prevSettings","_defineProperty","handleAppSettingsChange","newSettings","useEffect","debounce","debouncedSetIsMounted","modalTitle","_jsxs","className","modalTitleContainer","children","_jsx","AppIcon","appIcon","iconUrl","icon","url","height","width","concat","HideInNativeApp","appStoreButton","onClick","_app$app3","appId","window","open","ArrowIcon","arrowIcon","modalActions","RemoveAppButton","Button","variation","saveButton","_assetEditorAppType$p","_assetEditorAppType$p2","_assetEditorAppType$p3","_assetEditorAppType$p4","appTypeKey","primaryAsset","assetType","appTypeLabel","label","showSuccessNotification","Modal","actions","closeIconClassName","closeIcon","contentContainerClassName","modalContainer","modalTitleClassName","onClose","title","ErrorBoundary","ErrorView","DevCenterAppErrorView","ConfirmationDialog","isShowCancel","text","handleOk","classes","confirmation","confirmationText","EmptyState","image","IMAGES","UnderConstruction","_Fragment","SettingsAccordion","defaultExpanded","assetAccordion","accordionDetailsRef","summary","FormControl","segmentSelector","InputLabel","Select","onChange","event","nextSegment","String","target","mapValues","keyBy","ASSET_TYPES","assets","map","segmentItem","MenuItem","segmentMenuItem","appType","defaultValue","isHiddenTitle","isNullable","AppVersionsSelect","appVersionSelect","_appPackage","isUserChange","isReact18Host","react18AutoSwitchDisabled","accordion","onSettingChange"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ type Props = {
|
|
|
7
7
|
appData: AppDataEntry;
|
|
8
8
|
appName: string;
|
|
9
9
|
appSettingsComponent?: AppSettingsDialogProps['AppSettingsComponent'];
|
|
10
|
-
assetCompanyId?: number;
|
|
10
|
+
assetCompanyId?: number | null;
|
|
11
11
|
assetIdForAnnotation?: number;
|
|
12
12
|
currentUser: DevCenterCurrentUser;
|
|
13
13
|
isAnnotationsListOpened: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterAppDialogs.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAI3E,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"DevCenterAppDialogs.d.ts","sourceRoot":"","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAI3E,KAAK,KAAK,GAAG;IACX,GAAG,EAAE,oBAAoB,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,sBAAsB,CAAC,sBAAsB,CAAC,CAAC;IACtE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,oBAAoB,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;IACjC,yBAAyB,EAAE,OAAO,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,0BAA0B,CAAC,mBAAmB,CAAC,CAAC;IACpE,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,0BAA0B,CAAC,kBAAkB,CAAC,CAAC;IAClE,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,uBAAuB,EAAE,MAAM,IAAI,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,KAAK,CAwDzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevCenterAppDialogs.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport AppSettingsDialog from './AppSettingsDialog';\nimport type { AppSettingsDialogProps } from './AppSettingsDialog';\nimport type { AppDataEntry, DevCenterAppResource, DevCenterCurrentUser } from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport { AnnotationsList, AnnotationsProvider } from '~/components/Annotations';\n\ntype Props = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n appSettingsComponent?: AppSettingsDialogProps['AppSettingsComponent'];\n assetCompanyId?: number;\n assetIdForAnnotation?: number;\n currentUser: DevCenterCurrentUser;\n isAnnotationsListOpened: boolean;\n isAppSettingsDialogOpened: boolean;\n isMultiRig: boolean;\n disableAppAssetSelection?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: DevCenterAppContainerProps['layoutEnvironment'];\n onAppRemove?: () => void;\n onCloneDashboard?: DevCenterAppContainerProps['onCloneDashboard'];\n onSettingsChange: (value: unknown) => void;\n openIntercom?: () => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n};\n\n/**\n * The two overlays the container can open on top of a rendered app: its settings dialog and the\n * annotations list. Both mount only while open, so their data hooks stay idle otherwise.\n */\nexport const DevCenterAppDialogs: FC<Props> = ({\n app,\n appData,\n appName,\n appSettingsComponent,\n assetCompanyId,\n assetIdForAnnotation,\n currentUser,\n isAnnotationsListOpened,\n isAppSettingsDialogOpened,\n isMultiRig,\n disableAppAssetSelection,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard,\n onSettingsChange,\n openIntercom,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n}) => (\n <>\n {isAppSettingsDialogOpened && (\n <AppSettingsDialog\n AppSettingsComponent={appSettingsComponent}\n app={app}\n appData={appData}\n appName={appName}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n rigId={appData.rig?.id ?? null}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n\n {isAnnotationsListOpened && !!assetCompanyId && !!assetIdForAnnotation && (\n <AnnotationsProvider>\n <AnnotationsList\n appId={app.app.id}\n appSettings={app.settings}\n appTitle={appName}\n assetCompanyId={assetCompanyId}\n assetId={assetIdForAnnotation}\n currentUser={currentUser}\n onClose={toggleAnnotationsList}\n />\n </AnnotationsProvider>\n )}\n </>\n);\n"],"names":["DevCenterAppDialogs","_ref","_appData$rig$id","_appData$rig","app","appData","appName","appSettingsComponent","assetCompanyId","assetIdForAnnotation","currentUser","isAnnotationsListOpened","isAppSettingsDialogOpened","isMultiRig","disableAppAssetSelection","isSettingsDialogHidden","layoutEnvironment","onAppRemove","onCloneDashboard","onSettingsChange","openIntercom","toggleAnnotationsList","toggleAppSettingsDialog","_jsxs","_Fragment","children","_jsx","AppSettingsDialog","AppSettingsComponent","rigId","rig","id","AnnotationsProvider","AnnotationsList","appId","appSettings","settings","appTitle","assetId","onClose"],"mappings":"iVAmCaA,IAAAA,EAAiC,SAAHC,GAAA,IAAAC,EAAAC,EACzCC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,eACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,wBACAC,IAAAA,0BACAC,IAAAA,WACAC,IAAAA,yBACAC,IAAAA,uBACAC,IAAAA,kBACAC,IAAAA,YACAC,IAAAA,iBACAC,IAAAA,iBACAC,IAAAA,aACAC,IAAAA,sBACAC,IAAAA,wBAAuB,OAEvBC,EAAAC,EAAA,CAAAC,SACGb,CAAAA,GACCc,EAACC,EAAiB,CAChBC,qBAAsBrB,EACtBH,IAAKA,EACLC,QAASA,EACTC,QAASA,EACTI,YAAaA,EACbI,yBAA0BA,EAC1BD,WAAYA,EACZE,uBAAwBA,EACxBC,kBAAmBA,EACnBC,YAAaA,EACbC,iBAAkBA,EAClBC,iBAAkBA,EAClBC,aAAcA,EACdS,cAAK3B,UAAAC,EAAEE,EAAQyB,wBAAR3B,EAAa4B,kBAAM,KAC1BT,wBAAyBA,IAI5BX,KAA6BH,KAAoBC,GAChDiB,EAACM,EAAmB,CAAAP,SAClBC,EAACO,EAAe,CACdC,MAAO9B,EAAIA,IAAI2B,GACfI,YAAa/B,EAAIgC,SACjBC,SAAU/B,EACVE,eAAgBA,EAChB8B,QAAS7B,EACTC,YAAaA,EACb6B,QAASlB,QAId"}
|
|
1
|
+
{"version":3,"file":"DevCenterAppDialogs.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport AppSettingsDialog from './AppSettingsDialog';\nimport type { AppSettingsDialogProps } from './AppSettingsDialog';\nimport type { AppDataEntry, DevCenterAppResource, DevCenterCurrentUser } from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport { AnnotationsList, AnnotationsProvider } from '~/components/Annotations';\n\ntype Props = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n appSettingsComponent?: AppSettingsDialogProps['AppSettingsComponent'];\n assetCompanyId?: number | null;\n assetIdForAnnotation?: number;\n currentUser: DevCenterCurrentUser;\n isAnnotationsListOpened: boolean;\n isAppSettingsDialogOpened: boolean;\n isMultiRig: boolean;\n disableAppAssetSelection?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: DevCenterAppContainerProps['layoutEnvironment'];\n onAppRemove?: () => void;\n onCloneDashboard?: DevCenterAppContainerProps['onCloneDashboard'];\n onSettingsChange: (value: unknown) => void;\n openIntercom?: () => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n};\n\n/**\n * The two overlays the container can open on top of a rendered app: its settings dialog and the\n * annotations list. Both mount only while open, so their data hooks stay idle otherwise.\n */\nexport const DevCenterAppDialogs: FC<Props> = ({\n app,\n appData,\n appName,\n appSettingsComponent,\n assetCompanyId,\n assetIdForAnnotation,\n currentUser,\n isAnnotationsListOpened,\n isAppSettingsDialogOpened,\n isMultiRig,\n disableAppAssetSelection,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard,\n onSettingsChange,\n openIntercom,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n}) => (\n <>\n {isAppSettingsDialogOpened && (\n <AppSettingsDialog\n AppSettingsComponent={appSettingsComponent}\n app={app}\n appData={appData}\n appName={appName}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n rigId={appData.rig?.id ?? null}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n\n {isAnnotationsListOpened && !!assetCompanyId && !!assetIdForAnnotation && (\n <AnnotationsProvider>\n <AnnotationsList\n appId={app.app.id}\n appSettings={app.settings}\n appTitle={appName}\n assetCompanyId={assetCompanyId}\n assetId={assetIdForAnnotation}\n currentUser={currentUser}\n onClose={toggleAnnotationsList}\n />\n </AnnotationsProvider>\n )}\n </>\n);\n"],"names":["DevCenterAppDialogs","_ref","_appData$rig$id","_appData$rig","app","appData","appName","appSettingsComponent","assetCompanyId","assetIdForAnnotation","currentUser","isAnnotationsListOpened","isAppSettingsDialogOpened","isMultiRig","disableAppAssetSelection","isSettingsDialogHidden","layoutEnvironment","onAppRemove","onCloneDashboard","onSettingsChange","openIntercom","toggleAnnotationsList","toggleAppSettingsDialog","_jsxs","_Fragment","children","_jsx","AppSettingsDialog","AppSettingsComponent","rigId","rig","id","AnnotationsProvider","AnnotationsList","appId","appSettings","settings","appTitle","assetId","onClose"],"mappings":"iVAmCaA,IAAAA,EAAiC,SAAHC,GAAA,IAAAC,EAAAC,EACzCC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,eACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,wBACAC,IAAAA,0BACAC,IAAAA,WACAC,IAAAA,yBACAC,IAAAA,uBACAC,IAAAA,kBACAC,IAAAA,YACAC,IAAAA,iBACAC,IAAAA,iBACAC,IAAAA,aACAC,IAAAA,sBACAC,IAAAA,wBAAuB,OAEvBC,EAAAC,EAAA,CAAAC,SACGb,CAAAA,GACCc,EAACC,EAAiB,CAChBC,qBAAsBrB,EACtBH,IAAKA,EACLC,QAASA,EACTC,QAASA,EACTI,YAAaA,EACbI,yBAA0BA,EAC1BD,WAAYA,EACZE,uBAAwBA,EACxBC,kBAAmBA,EACnBC,YAAaA,EACbC,iBAAkBA,EAClBC,iBAAkBA,EAClBC,aAAcA,EACdS,cAAK3B,UAAAC,EAAEE,EAAQyB,wBAAR3B,EAAa4B,kBAAM,KAC1BT,wBAAyBA,IAI5BX,KAA6BH,KAAoBC,GAChDiB,EAACM,EAAmB,CAAAP,SAClBC,EAACO,EAAe,CACdC,MAAO9B,EAAIA,IAAI2B,GACfI,YAAa/B,EAAIgC,SACjBC,SAAU/B,EACVE,eAAgBA,EAChB8B,QAAS7B,EACTC,YAAaA,EACb6B,QAASlB,QAId"}
|