@corva/ui 3.74.0-rc.0 → 3.75.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.
Files changed (43) hide show
  1. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  2. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  3. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  4. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  5. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js +1 -1
  6. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js.map +1 -1
  7. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  8. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js.map +1 -1
  9. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js +2 -0
  10. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -0
  11. package/cjs-bundle/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  12. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts +63 -39
  13. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
  14. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  15. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  16. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts +1 -1
  17. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  18. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  19. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts +1 -1
  20. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.d.ts.map +1 -1
  21. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js +1 -1
  22. package/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js.map +1 -1
  23. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts +1 -1
  24. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts.map +1 -1
  25. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  26. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.d.ts +1 -1
  27. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.d.ts.map +1 -1
  28. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js.map +1 -1
  29. package/components/DevCenter/DevCenterAppContainer/constants.d.ts +13 -0
  30. package/components/DevCenter/DevCenterAppContainer/constants.d.ts.map +1 -0
  31. package/components/DevCenter/DevCenterAppContainer/constants.js +2 -0
  32. package/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -0
  33. package/components/DevCenter/DevCenterAppContainer/index.d.ts +2 -0
  34. package/components/DevCenter/DevCenterAppContainer/index.d.ts.map +1 -1
  35. package/components/DevCenter/DevCenterAppContainer/types.d.ts +113 -0
  36. package/components/DevCenter/DevCenterAppContainer/types.d.ts.map +1 -0
  37. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  38. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts +2 -2
  39. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts.map +1 -1
  40. package/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  41. package/mcp-server/server.mjs +2 -2
  42. package/package.json +1 -1
  43. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DcFullscreenElemsCoordinatorProvider.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.tsx"],"sourcesContent":["import {\n createContext,\n Dispatch,\n FC,\n ReactNode,\n SetStateAction,\n useContext,\n useMemo,\n useRef,\n} from 'react';\n\nenum STATES {\n CLOSED = 'CLOSED',\n OPENNING = 'OPENNING',\n OPENED = 'OPENED',\n CLOSING = 'CLOSING',\n}\n\ninterface Props {\n setIsFullscreenModalMode: (arg: SetStateAction<boolean>, isModal?: boolean) => void;\n children: ReactNode | ReactNode[];\n}\n\ninterface ElementInfo {\n setIsOpened: Dispatch<SetStateAction<boolean>>;\n id: string;\n}\n\ninterface Api {\n requestOpen: (elInfo: ElementInfo, isModal?: boolean) => void;\n requestClose: (elInfo: ElementInfo, isUnmount?: boolean) => void;\n}\n\ninterface StartTransitionProps {\n transitionFn: () => void;\n plannedAfterTransitionFinishCb: () => void;\n}\n\ntype State = {\n [id in string]: {\n name: STATES;\n currentElementInfo: null | ElementInfo;\n };\n};\n\nconst DcFullscreenElemsCoordinator = createContext<Api | null>(null);\n\n/**\n * Component designed to manage fullscreen elements inside of iframe(such as tooltips, popovers, modals).\n * State changes flow:\n *\n * ↓closed↓\n * ↓openning↓\n * {call transitionFn} stretches iframe to fullscreen(returns promise).\n * {call plannedAfterTransitionFinishCb} just open planned element by default.\n * ↓opened↓\n * ↓closing transition↓\n * {call transitionFn} shrinks iframe to app size. In some cases another element could be opened. We don't want to call transitionFn in this case\n * {call plannedAfterTransitionFinishCb} just go to closed state of element.\n *\n * At any of these states a element can request to open\\close itself. See requestOpen/requestClose for more details\n */\n\nexport const DcFullscreenElemsCoordinatorProvider: FC<Props> = ({\n setIsFullscreenModalMode,\n children,\n}) => {\n const initialElementState: { name: STATES; currentElementInfo: ElementInfo | null } = {\n name: STATES.CLOSED,\n currentElementInfo: null,\n };\n const state = useRef<State>({});\n\n const getIsSomeElemOpeningOrOpened = () => {\n return Object.keys(state.current).some(elemId => {\n const elemState = state.current[elemId].name;\n return elemState === STATES.OPENNING || elemState === STATES.OPENED;\n });\n };\n\n const api = useMemo(() => {\n async function startTransition({\n transitionFn,\n plannedAfterTransitionFinishCb,\n }: StartTransitionProps) {\n try {\n await transitionFn();\n } catch (err) {\n console.error('Transition error: ', err);\n }\n plannedAfterTransitionFinishCb();\n }\n\n function goToOpenedState(elementInfo: ElementInfo) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENED,\n currentElementInfo: elementInfo,\n };\n state.current[id].currentElementInfo!.setIsOpened(true);\n }\n\n function goToOpenningState(elementInfo: ElementInfo, isModal: boolean) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENNING,\n currentElementInfo: null,\n };\n\n startTransition({\n transitionFn: () => setIsFullscreenModalMode(true, isModal),\n plannedAfterTransitionFinishCb: () => {\n goToOpenedState(elementInfo);\n },\n });\n }\n\n function goToClosingState(id: string) {\n state.current[id].name = STATES.CLOSING;\n\n startTransition({\n // current element is in closing state, so if any other is opening or opened\n // then don't change full screen mode to avoid shrinking of opened element\n transitionFn: async () => {\n state.current[id].currentElementInfo?.setIsOpened(false);\n state.current[id].currentElementInfo = null;\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n },\n plannedAfterTransitionFinishCb: () => {\n // element may be unmounted before this callback runs\n if (state.current[id]) {\n state.current[id].name = STATES.CLOSED;\n }\n },\n });\n }\n\n const requestOpen = (elementInfo: ElementInfo, isModal: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = initialElementState;\n }\n\n switch (state.current[elementInfo.id].name) {\n case STATES.CLOSED:\n goToOpenningState(elementInfo, isModal);\n break;\n case STATES.OPENNING:\n goToOpenedState(elementInfo);\n break;\n case STATES.OPENED:\n goToOpenedState(elementInfo);\n break;\n case STATES.CLOSING:\n goToOpenningState(elementInfo, isModal);\n break;\n default:\n }\n };\n\n const requestClose = (elementInfo: ElementInfo, isUnmount: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = initialElementState;\n }\n\n if (isUnmount) {\n delete state.current[id];\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n\n return;\n }\n\n goToClosingState(id);\n };\n\n return {\n requestOpen,\n requestClose,\n };\n }, [setIsFullscreenModalMode]);\n\n return (\n <DcFullscreenElemsCoordinator.Provider value={api}>\n {children}\n </DcFullscreenElemsCoordinator.Provider>\n );\n};\n\nexport function useDcFullscreenElemsCoordinator() {\n return useContext(DcFullscreenElemsCoordinator);\n}\n"],"names":["STATES","DcFullscreenElemsCoordinator","createContext","_ref","setIsFullscreenModalMode","children","initialElementState","name","CLOSED","currentElementInfo","state","useRef","getIsSomeElemOpeningOrOpened","Object","keys","current","some","elemId","elemState","OPENNING","OPENED","api","useMemo","startTransition","_x","_startTransition","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_ref2","transitionFn","plannedAfterTransitionFinishCb","wrap","_context2","prev","next","t0","console","error","stop","goToOpenedState","elementInfo","id","setIsOpened","goToOpenningState","isModal","goToClosingState","_transitionFn","CLOSING","_callee","_state$current$id$cur","_context","requestOpen","_state$current","requestClose","_state$current2","isUnmount","_jsx","jsx","Provider","value","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"DcFullscreenElemsCoordinatorProvider.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.tsx"],"sourcesContent":["import {\n createContext,\n Dispatch,\n FC,\n ReactNode,\n SetStateAction,\n useContext,\n useMemo,\n useRef,\n} from 'react';\n\nenum STATES {\n CLOSED = 'CLOSED',\n OPENNING = 'OPENNING',\n OPENED = 'OPENED',\n CLOSING = 'CLOSING',\n}\n\ninterface Props {\n setIsFullscreenModalMode: (value: boolean, isModal?: boolean) => void | Promise<void>;\n children: ReactNode | ReactNode[];\n}\n\ninterface ElementInfo {\n setIsOpened: Dispatch<SetStateAction<boolean>>;\n id: string;\n}\n\ninterface Api {\n requestOpen: (elInfo: ElementInfo, isModal?: boolean) => void;\n requestClose: (elInfo: ElementInfo, isUnmount?: boolean) => void;\n}\n\ninterface StartTransitionProps {\n transitionFn: () => void;\n plannedAfterTransitionFinishCb: () => void;\n}\n\ntype ElementState = {\n name: STATES;\n currentElementInfo: null | ElementInfo;\n};\n\ntype State = {\n [id in string]: ElementState;\n};\n\n/**\n * A factory, not a shared constant. Element states are mutated in place — `goToClosingState`\n * writes `name` and `currentElementInfo` straight into the entry — so seeding two elements from\n * one object would make them share it: closing one would leave the next to start in `CLOSING`\n * instead of `CLOSED`, and its `requestOpen` would then never reach the branch that opens it.\n */\nconst createInitialElementState = (): ElementState => ({\n name: STATES.CLOSED,\n currentElementInfo: null,\n});\n\nconst DcFullscreenElemsCoordinator = createContext<Api | null>(null);\n\n/**\n * Component designed to manage fullscreen elements inside of iframe(such as tooltips, popovers, modals).\n * State changes flow:\n *\n * ↓closed↓\n * ↓openning↓\n * {call transitionFn} stretches iframe to fullscreen(returns promise).\n * {call plannedAfterTransitionFinishCb} just open planned element by default.\n * ↓opened↓\n * ↓closing transition↓\n * {call transitionFn} shrinks iframe to app size. In some cases another element could be opened. We don't want to call transitionFn in this case\n * {call plannedAfterTransitionFinishCb} just go to closed state of element.\n *\n * At any of these states a element can request to open\\close itself. See requestOpen/requestClose for more details\n */\n\nexport const DcFullscreenElemsCoordinatorProvider: FC<Props> = ({\n setIsFullscreenModalMode,\n children,\n}) => {\n const state = useRef<State>({});\n\n const getIsSomeElemOpeningOrOpened = () => {\n return Object.keys(state.current).some(elemId => {\n const elemState = state.current[elemId].name;\n return elemState === STATES.OPENNING || elemState === STATES.OPENED;\n });\n };\n\n const api = useMemo(() => {\n async function startTransition({\n transitionFn,\n plannedAfterTransitionFinishCb,\n }: StartTransitionProps) {\n try {\n await transitionFn();\n } catch (err) {\n console.error('Transition error: ', err);\n }\n plannedAfterTransitionFinishCb();\n }\n\n function goToOpenedState(elementInfo: ElementInfo) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENED,\n currentElementInfo: elementInfo,\n };\n state.current[id].currentElementInfo!.setIsOpened(true);\n }\n\n function goToOpenningState(elementInfo: ElementInfo, isModal: boolean) {\n const { id } = elementInfo;\n state.current[id] = {\n name: STATES.OPENNING,\n currentElementInfo: null,\n };\n\n startTransition({\n transitionFn: () => setIsFullscreenModalMode(true, isModal),\n plannedAfterTransitionFinishCb: () => {\n goToOpenedState(elementInfo);\n },\n });\n }\n\n function goToClosingState(id: string) {\n state.current[id].name = STATES.CLOSING;\n\n startTransition({\n // current element is in closing state, so if any other is opening or opened\n // then don't change full screen mode to avoid shrinking of opened element\n transitionFn: async () => {\n state.current[id].currentElementInfo?.setIsOpened(false);\n state.current[id].currentElementInfo = null;\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n },\n plannedAfterTransitionFinishCb: () => {\n // element may be unmounted before this callback runs\n if (state.current[id]) {\n state.current[id].name = STATES.CLOSED;\n }\n },\n });\n }\n\n const requestOpen = (elementInfo: ElementInfo, isModal: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = createInitialElementState();\n }\n\n switch (state.current[elementInfo.id].name) {\n case STATES.CLOSED:\n goToOpenningState(elementInfo, isModal);\n break;\n case STATES.OPENNING:\n goToOpenedState(elementInfo);\n break;\n case STATES.OPENED:\n goToOpenedState(elementInfo);\n break;\n case STATES.CLOSING:\n goToOpenningState(elementInfo, isModal);\n break;\n default:\n }\n };\n\n const requestClose = (elementInfo: ElementInfo, isUnmount: boolean = false) => {\n const { id } = elementInfo;\n if (!state.current?.[id]) {\n state.current[id] = createInitialElementState();\n }\n\n if (isUnmount) {\n delete state.current[id];\n\n if (!getIsSomeElemOpeningOrOpened()) {\n setIsFullscreenModalMode(false);\n }\n\n return;\n }\n\n goToClosingState(id);\n };\n\n return {\n requestOpen,\n requestClose,\n };\n }, [setIsFullscreenModalMode]);\n\n return (\n <DcFullscreenElemsCoordinator.Provider value={api}>\n {children}\n </DcFullscreenElemsCoordinator.Provider>\n );\n};\n\nexport function useDcFullscreenElemsCoordinator() {\n return useContext(DcFullscreenElemsCoordinator);\n}\n"],"names":["STATES","createInitialElementState","name","CLOSED","currentElementInfo","DcFullscreenElemsCoordinator","createContext","_ref","setIsFullscreenModalMode","children","state","useRef","getIsSomeElemOpeningOrOpened","Object","keys","current","some","elemId","elemState","OPENNING","OPENED","api","useMemo","startTransition","_x","_startTransition","apply","this","arguments","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","_ref2","transitionFn","plannedAfterTransitionFinishCb","wrap","_context2","prev","next","t0","console","error","stop","goToOpenedState","elementInfo","id","setIsOpened","goToOpenningState","isModal","goToClosingState","_transitionFn","CLOSING","_callee","_state$current$id$cur","_context","requestOpen","_state$current","requestClose","_state$current2","isUnmount","_jsx","jsx","Provider","value","useContext"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterAppView.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppMessageWrapper } from '../../../../../componentsV2/AppInfoMessage';\nimport { EmptyState } from '../../../../../componentsV2/EmptyState';\nimport { LoaderLogo } from '../../../../../componentsV2/LoaderLogo';\n\nimport { ChooseAssetButton } from './components/ChooseAssetButton';\n\nimport styles from './DevCenterAppView.scss';\n\nimport ErrorBoundary from '~/components/ErrorBoundary';\nimport { SEGMENTS } from '~/constants/segment';\nimport { useAppCommonsInternal } from '~/componentsV2/AppCommonsProvider';\n\nexport const getNoActiveWellMessage = (rigName: string): string => `${rigName} has no active well`;\n\n// TODO: Replace `any` with specific types once DevCenterAppContainer.js is converted to TypeScript\ninterface DevCenterAppViewProps {\n AppComponent: React.ComponentType<any> | null;\n app: Record<string, any>;\n appData: Record<string, any>;\n appProps: Record<string, any>;\n availability?: { hasProductSubscription: boolean; isAppSubscribedForAsset: boolean };\n isCLIApp: boolean;\n isLoading: boolean;\n isMultiRig: boolean;\n layoutEnvironment: { type?: string } | null;\n openIntercom: () => void;\n segment: string;\n toggleAppSettingsDialog: () => void;\n onError: (error: Error) => void;\n}\n\nfunction DevCenterAppView({\n AppComponent,\n app,\n appData,\n appProps,\n availability = DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY,\n isCLIApp,\n isLoading,\n isMultiRig,\n layoutEnvironment,\n openIntercom,\n segment,\n toggleAppSettingsDialog,\n onError,\n}: DevCenterAppViewProps) {\n const emptyStateTestId = 'DevCenterAppView_EmptyState';\n\n // Use overridden appSettings from AppCommonsProvider (e.g. localStorage-stable settingsByAsset)\n // so server polling doesn't reset selections passed via {...app.settings} to AppComponent.\n const appCommons = useAppCommonsInternal();\n const effectiveSettings = appCommons?.appSettings ?? app.settings;\n\n if (!app.package)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App package was not found\"\n subTitle=\"Please choose another version in the app settings menu or delete and add app again on your dashboard\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (isLoading)\n return (\n <AppMessageWrapper showHeader={false}>\n <LoaderLogo className={styles.loader} testId=\"DevCenterAppView_Loader\" />\n </AppMessageWrapper>\n );\n\n if (!(availability.hasProductSubscription && availability.isAppSubscribedForAsset)) {\n const { title, subtitle } = !availability.hasProductSubscription\n ? {\n title: 'No Subscription exists for this app.',\n subtitle: 'Contact your Corva Account rep to get access to this app.',\n }\n : {\n title: 'No Subscription exists for this asset.',\n subtitle: 'Contact your Corva Account rep to get access to this asset.',\n };\n\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={title}\n subTitle={subtitle}\n image=\"noSubscription\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!AppComponent)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App component was not found\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (!isMultiRig) {\n const actions = isCLIApp && (\n <ChooseAssetButton toggleAppSettingsDialog={toggleAppSettingsDialog} />\n );\n\n const isInterventionApp = segment === SEGMENTS.INTERVENTION;\n const primaryAsset = isInterventionApp ? appData.interventionUnit : appData.rig;\n\n if (primaryAsset && !appData.well) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={getNoActiveWellMessage(primaryAsset?.name)}\n image=\"noActiveWell\"\n subTitle={actions}\n />\n </AppMessageWrapper>\n );\n }\n\n const isGeneralDashboard = layoutEnvironment?.type === 'general';\n const isCompletionApp = segment === SEGMENTS.COMPLETION;\n\n if (isGeneralDashboard && isCompletionApp && !appData.fracFleet) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"Frac fleet was not found\"\n subTitle={actions}\n image=\"fleetHasNoPad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (\n isCompletionApp &&\n appData.fracFleet &&\n !appData.fracFleet.current_pad_id &&\n !app.settings.padId\n ) {\n // NOTE: completion app has fracFleet, that fracfleet has no current pad id and no specific pad id in settings\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"fleetHasNoPad\"\n subTitle={actions}\n title=\"Frac fleet has no active pad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (isCompletionApp && isGeneralDashboard && (!appData.wells || appData.wells.length < 1)) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"noWellsSelected\"\n subTitle={actions}\n title=\"This pad has no wells\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!appData.rig && !appData.well && !appData.settings && !appData.wells) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"assetHasNoData\"\n subTitle={actions}\n title=\"Asset unavailable\"\n />\n </AppMessageWrapper>\n );\n }\n }\n return (\n <ErrorBoundary openIntercom={openIntercom} onError={onError}>\n <AppComponent app={app} {...app.settings} {...effectiveSettings} {...appData} {...appProps} />\n </ErrorBoundary>\n );\n}\n\nconst DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY = {\n hasProductSubscription: true,\n isAppSubscribedForAsset: true,\n};\n\nexport default DevCenterAppView;\n"],"names":["getNoActiveWellMessage","rigName","concat","DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY","hasProductSubscription","isAppSubscribedForAsset","_ref","_appCommons$appSettin","AppComponent","app","appData","appProps","_ref$availability","availability","isCLIApp","isLoading","isMultiRig","layoutEnvironment","openIntercom","segment","toggleAppSettingsDialog","onError","emptyStateTestId","appCommons","useAppCommonsInternal","effectiveSettings","appSettings","settings","package","_jsx","AppMessageWrapper","logo","headerLogo","children","EmptyState","testId","title","subTitle","image","jsx","showHeader","LoaderLogo","className","styles","loader","_ref2","subtitle","actions","ChooseAssetButton","primaryAsset","SEGMENTS","INTERVENTION","interventionUnit","rig","well","name","isGeneralDashboard","type","isCompletionApp","COMPLETION","fracFleet","current_pad_id","padId","wells","length","ErrorBoundary","_objectSpread"],"mappings":"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"}
1
+ {"version":3,"file":"DevCenterAppView.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"sourcesContent":["import React from 'react';\n\nimport { AppMessageWrapper } from '../../../../../componentsV2/AppInfoMessage';\nimport { EmptyState } from '../../../../../componentsV2/EmptyState';\nimport { LoaderLogo } from '../../../../../componentsV2/LoaderLogo';\n\nimport { ChooseAssetButton } from './components/ChooseAssetButton';\n\nimport styles from './DevCenterAppView.scss';\n\nimport ErrorBoundary from '~/components/ErrorBoundary';\nimport { SEGMENTS } from '~/constants/segment';\nimport { useAppCommonsInternal } from '~/componentsV2/AppCommonsProvider';\n\nexport const getNoActiveWellMessage = (rigName: string): string => `${rigName} has no active well`;\n\n// TODO: Replace `any` with specific types once DevCenterAppContainer.js is converted to TypeScript\ninterface DevCenterAppViewProps {\n AppComponent: React.ComponentType<any> | null;\n app: Record<string, any>;\n appData: Record<string, any>;\n appProps: Record<string, any>;\n availability?: { hasProductSubscription: boolean; isAppSubscribedForAsset: boolean };\n isCLIApp: boolean;\n isLoading: boolean;\n isMultiRig: boolean;\n layoutEnvironment: { type?: string } | null;\n openIntercom: () => void;\n segment: string;\n toggleAppSettingsDialog: () => void;\n onError?: (error: Error) => void;\n}\n\nfunction DevCenterAppView({\n AppComponent,\n app,\n appData,\n appProps,\n availability = DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY,\n isCLIApp,\n isLoading,\n isMultiRig,\n layoutEnvironment,\n openIntercom,\n segment,\n toggleAppSettingsDialog,\n onError,\n}: DevCenterAppViewProps) {\n const emptyStateTestId = 'DevCenterAppView_EmptyState';\n\n // Use overridden appSettings from AppCommonsProvider (e.g. localStorage-stable settingsByAsset)\n // so server polling doesn't reset selections passed via {...app.settings} to AppComponent.\n const appCommons = useAppCommonsInternal();\n const effectiveSettings = appCommons?.appSettings ?? app.settings;\n\n if (!app.package)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App package was not found\"\n subTitle=\"Please choose another version in the app settings menu or delete and add app again on your dashboard\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (isLoading)\n return (\n <AppMessageWrapper showHeader={false}>\n <LoaderLogo className={styles.loader} testId=\"DevCenterAppView_Loader\" />\n </AppMessageWrapper>\n );\n\n if (!(availability.hasProductSubscription && availability.isAppSubscribedForAsset)) {\n const { title, subtitle } = !availability.hasProductSubscription\n ? {\n title: 'No Subscription exists for this app.',\n subtitle: 'Contact your Corva Account rep to get access to this app.',\n }\n : {\n title: 'No Subscription exists for this asset.',\n subtitle: 'Contact your Corva Account rep to get access to this asset.',\n };\n\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={title}\n subTitle={subtitle}\n image=\"noSubscription\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!AppComponent)\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"App component was not found\"\n image=\"appLoadingError\"\n />\n </AppMessageWrapper>\n );\n\n if (!isMultiRig) {\n const actions = isCLIApp && (\n <ChooseAssetButton toggleAppSettingsDialog={toggleAppSettingsDialog} />\n );\n\n const isInterventionApp = segment === SEGMENTS.INTERVENTION;\n const primaryAsset = isInterventionApp ? appData.interventionUnit : appData.rig;\n\n if (primaryAsset && !appData.well) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title={getNoActiveWellMessage(primaryAsset?.name)}\n image=\"noActiveWell\"\n subTitle={actions}\n />\n </AppMessageWrapper>\n );\n }\n\n const isGeneralDashboard = layoutEnvironment?.type === 'general';\n const isCompletionApp = segment === SEGMENTS.COMPLETION;\n\n if (isGeneralDashboard && isCompletionApp && !appData.fracFleet) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n title=\"Frac fleet was not found\"\n subTitle={actions}\n image=\"fleetHasNoPad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (\n isCompletionApp &&\n appData.fracFleet &&\n !appData.fracFleet.current_pad_id &&\n !app.settings.padId\n ) {\n // NOTE: completion app has fracFleet, that fracfleet has no current pad id and no specific pad id in settings\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"fleetHasNoPad\"\n subTitle={actions}\n title=\"Frac fleet has no active pad\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (isCompletionApp && isGeneralDashboard && (!appData.wells || appData.wells.length < 1)) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"noWellsSelected\"\n subTitle={actions}\n title=\"This pad has no wells\"\n />\n </AppMessageWrapper>\n );\n }\n\n if (!appData.rig && !appData.well && !appData.settings && !appData.wells) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={emptyStateTestId}\n image=\"assetHasNoData\"\n subTitle={actions}\n title=\"Asset unavailable\"\n />\n </AppMessageWrapper>\n );\n }\n }\n return (\n <ErrorBoundary openIntercom={openIntercom} onError={onError}>\n <AppComponent app={app} {...app.settings} {...effectiveSettings} {...appData} {...appProps} />\n </ErrorBoundary>\n );\n}\n\nconst DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY = {\n hasProductSubscription: true,\n isAppSubscribedForAsset: true,\n};\n\nexport default DevCenterAppView;\n"],"names":["getNoActiveWellMessage","rigName","concat","DEFAULT_DEV_CENTER_APP_VIEW_AVAILABILITY","hasProductSubscription","isAppSubscribedForAsset","_ref","_appCommons$appSettin","AppComponent","app","appData","appProps","_ref$availability","availability","isCLIApp","isLoading","isMultiRig","layoutEnvironment","openIntercom","segment","toggleAppSettingsDialog","onError","emptyStateTestId","appCommons","useAppCommonsInternal","effectiveSettings","appSettings","settings","package","_jsx","AppMessageWrapper","logo","headerLogo","children","EmptyState","testId","title","subTitle","image","jsx","showHeader","LoaderLogo","className","styles","loader","_ref2","subtitle","actions","ChooseAssetButton","primaryAsset","SEGMENTS","INTERVENTION","interventionUnit","rig","well","name","isGeneralDashboard","type","isCompletionApp","COMPLETION","fracFleet","current_pad_id","padId","wells","length","ErrorBoundary","_objectSpread"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NonPriorityMenus.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.tsx"],"sourcesContent":["import { ReactNode, useRef, useState } from 'react';\nimport { Icon } from '@material-ui/core';\n\nimport { ButtonIcon, Menu, Tooltip } from '~/componentsV2';\nimport { FullScreenOneIcon, HamburgerButtonIcon, SettingTwoIcon } from '~/icons';\n\nconst PAGE_NAME = 'DevCenter_AppPriorityMenu';\n\ntype NonPriorityMenusProps = {\n toggleAppSettingsDialog: () => void;\n isMaximized: boolean;\n isMobileView: boolean;\n setIsMaximized: (value: boolean) => void;\n devCenterRouter: { push: (...args: unknown[]) => void };\n menuItems: {\n icon?: ReactNode;\n title?: string;\n onClick?: () => void;\n to?: string | object;\n }[];\n setIsFullscreenModalMode: (value: boolean) => Promise<void>;\n};\n\nexport const NonPriorityMenus = ({\n menuItems,\n isMaximized,\n setIsMaximized,\n toggleAppSettingsDialog,\n isMobileView,\n devCenterRouter,\n setIsFullscreenModalMode,\n}: NonPriorityMenusProps) => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = async () => {\n const nextValue = !isOpen;\n if (nextValue) {\n await setIsFullscreenModalMode(nextValue);\n setIsOpen(nextValue);\n } else {\n setIsOpen(nextValue);\n\n // NOTE: popover closing animation slightly moves down, in order to fix the issue I did it in async manner. It's min time the feature works with\n // As I call setIsFullscreenModalMode in setTimeout then I had to do the same when we open settings modal or fullscreen app\n setIsFullscreenModalMode(nextValue);\n }\n };\n\n const handleMenuItemClick = async (fn?: (value: boolean) => void) => {\n await toggleMenu();\n fn?.(true);\n };\n\n return (\n <>\n <Tooltip title=\"Menu\" disabled={!!isMobileView} placement=\"top\">\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n ref={buttonRef}\n onClick={toggleMenu}\n testId={`${PAGE_NAME}_menu`}\n >\n <HamburgerButtonIcon />\n </ButtonIcon>\n </Tooltip>\n\n <Menu anchorEl={buttonRef.current} open={isOpen} onClose={toggleMenu} placement=\"top-end\">\n {menuItems.map(menuConfig => (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_${menuConfig.title}`}\n key={menuConfig.title}\n onClick={() => {\n handleMenuItemClick(menuConfig.onClick);\n if (menuConfig.to) {\n devCenterRouter.push(menuConfig.to);\n }\n }}\n prefix={\n typeof menuConfig.icon === 'string' ? <Icon>{menuConfig.icon}</Icon> : menuConfig.icon\n }\n >\n {menuConfig.title}\n </Menu.Item>\n ))}\n {!isMaximized && (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_fullScreenMenuItem`}\n onClick={() => handleMenuItemClick(setIsMaximized)}\n prefix={<FullScreenOneIcon />}\n >\n Full Screen\n </Menu.Item>\n )}\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_settings`}\n onClick={() => handleMenuItemClick(toggleAppSettingsDialog)}\n prefix={<SettingTwoIcon />}\n >\n Settings\n </Menu.Item>\n </Menu>\n </>\n );\n};\n"],"names":["PAGE_NAME","_ref","menuItems","isMaximized","setIsMaximized","toggleAppSettingsDialog","isMobileView","devCenterRouter","setIsFullscreenModalMode","buttonRef","useRef","useState","_useState2","_slicedToArray","_useState","isOpen","setIsOpen","toggleMenu","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","nextValue","wrap","_context","prev","next","stop","apply","this","arguments","handleMenuItemClick","_ref3","fn","_context2","_callee2","_x","_jsxs","_Fragment","children","_jsx","Tooltip","title","disabled","placement","ButtonIcon","size","type","ref","onClick","testId","concat","HamburgerButtonIcon","Menu","anchorEl","current","open","onClose","map","menuConfig","jsx","Item","to","push","prefix","icon","Icon","FullScreenOneIcon","SettingTwoIcon"],"mappings":"sxgBAMMA,EAAY,qDAiBc,SAQHC,GAAA,IAP3BC,IAAAA,UACAC,IAAAA,YACAC,IAAAA,eACAC,IAAAA,wBACAC,IAAAA,aACAC,IAAAA,gBACAC,IAAAA,yBAEMC,EAAYC,SAA0B,MAChBC,EAAAA,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,QAAAC,EAAA,GAApCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAElBK,EAAU,WAAA,IAAGC,EAAAC,EAAA,QAAAC,EAAA,QAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAH,UAAAI,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACQ,KAAnBJ,GAAaR,GACN,CAAAU,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EACLnB,EAAyBe,GAAU,KAAA,EACzCP,EAAUO,GAAWE,EAAAE,KAAA,EAAA,MAAA,KAAA,EAErBX,EAAUO,GAIVf,EAAyBe,GAAW,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAG,OAAA,GAAAN,EAEvC,KAAA,OAAA,WAZe,OAAAJ,EAAAW,MAAAC,KAAAC,UAAA,EAAA,GAcVC,EAAmB,WAAA,IAAAC,EAAAd,EAAAA,QAAAC,EAAAA,QAAAC,MAAG,WAAOa,GAA6B,OAAAd,UAAAI,MAAA,SAAAW,GAAA,OAAA,OAAAA,EAAAT,KAAAS,EAAAR,MAAA,KAAA,EAAA,OAAAQ,EAAAR,KAAA,EACxDV,IAAY,KAAA,EAClBiB,SAAAA,GAAK,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAC,EAAAP,OAAA,GAAAQ,EACZ,KAAA,OAAA,SAHwBC,GAAA,OAAAJ,EAAAJ,MAAAC,KAAAC,UAAA,EAAA,GAKzB,OACEO,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SAAA,CACEC,MAACC,UAAO,CAACC,MAAM,OAAOC,WAAYtC,EAAcuC,UAAU,MAAKL,SAC7DC,MAACK,aAAU,CACTC,KAAK,QACLC,KAAK,aACLC,IAAKxC,EACLyC,QAASjC,EACTkC,OAAM,GAAAC,OAAKpD,EAAiB,SAAAwC,SAE5BC,EAAAA,IAACY,EAAmBA,oBAAA,QAIxBf,OAACgB,OAAI,CAACC,SAAU9C,EAAU+C,QAASC,KAAM1C,EAAQ2C,QAASzC,EAAY4B,UAAU,UAASL,SAAA,CACtFtC,EAAUyD,KAAI,SAAAC,GAAU,OACvBnB,EAAAoB,IAACP,EAAIA,KAACQ,KAAI,CACRf,KAAK,QACLI,iBAAWnD,EAAS,KAAAoD,OAAIQ,EAAWjB,OAEnCO,QAAS,WACPlB,EAAoB4B,EAAWV,SAC3BU,EAAWG,IACbxD,EAAgByD,KAAKJ,EAAWG,GAElC,EACFE,OAC6B,iBAApBL,EAAWM,KAAoBzB,EAAAA,IAAC0B,EAAAA,KAAI,CAAA3B,SAAEoB,EAAWM,OAAeN,EAAWM,KACnF1B,SAEAoB,EAAWjB,OAXPiB,EAAWjB,MAanB,KACCxC,GACAsC,MAACa,EAAAA,KAAKQ,KAAI,CACRf,KAAK,QACLI,OAAM,GAAAC,OAAKpD,EAA+B,uBAC1CkD,QAAS,WAAA,OAAMlB,EAAoB5B,EAAgB,EACnD6D,OAAQxB,EAAAA,IAAC2B,EAAiBA,kBAAI,IAAA5B,SAAA,gBAKlCC,EAAAA,IAACa,EAAIA,KAACQ,KAAI,CACRf,KAAK,QACLI,OAAM,GAAAC,OAAKpD,EAAqB,aAChCkD,QAAS,WAAA,OAAMlB,EAAoB3B,EAAyB,EAC5D4D,OAAQxB,EAAAA,IAAC4B,EAAcA,eAAI,IAAA7B,SAAA,kBAOrC"}
1
+ {"version":3,"file":"NonPriorityMenus.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.tsx"],"sourcesContent":["import { ReactNode, useRef, useState } from 'react';\nimport { Icon } from '@material-ui/core';\n\nimport { ButtonIcon, Menu, Tooltip } from '~/componentsV2';\nimport { FullScreenOneIcon, HamburgerButtonIcon, SettingTwoIcon } from '~/icons';\n\nconst PAGE_NAME = 'DevCenter_AppPriorityMenu';\n\ntype NonPriorityMenusProps = {\n toggleAppSettingsDialog: () => void;\n isMaximized: boolean;\n isMobileView: boolean;\n setIsMaximized: (value: boolean) => void;\n devCenterRouter: { push: (...args: unknown[]) => void };\n menuItems: {\n icon?: ReactNode;\n title?: string;\n onClick?: () => void;\n to?: string | object;\n }[];\n setIsFullscreenModalMode: (value: boolean) => void | Promise<void>;\n};\n\nexport const NonPriorityMenus = ({\n menuItems,\n isMaximized,\n setIsMaximized,\n toggleAppSettingsDialog,\n isMobileView,\n devCenterRouter,\n setIsFullscreenModalMode,\n}: NonPriorityMenusProps) => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [isOpen, setIsOpen] = useState(false);\n\n const toggleMenu = async () => {\n const nextValue = !isOpen;\n if (nextValue) {\n await setIsFullscreenModalMode(nextValue);\n setIsOpen(nextValue);\n } else {\n setIsOpen(nextValue);\n\n // NOTE: popover closing animation slightly moves down, in order to fix the issue I did it in async manner. It's min time the feature works with\n // As I call setIsFullscreenModalMode in setTimeout then I had to do the same when we open settings modal or fullscreen app\n setIsFullscreenModalMode(nextValue);\n }\n };\n\n const handleMenuItemClick = async (fn?: (value: boolean) => void) => {\n await toggleMenu();\n fn?.(true);\n };\n\n return (\n <>\n <Tooltip title=\"Menu\" disabled={!!isMobileView} placement=\"top\">\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n ref={buttonRef}\n onClick={toggleMenu}\n testId={`${PAGE_NAME}_menu`}\n >\n <HamburgerButtonIcon />\n </ButtonIcon>\n </Tooltip>\n\n <Menu anchorEl={buttonRef.current} open={isOpen} onClose={toggleMenu} placement=\"top-end\">\n {menuItems.map(menuConfig => (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_${menuConfig.title}`}\n key={menuConfig.title}\n onClick={() => {\n handleMenuItemClick(menuConfig.onClick);\n if (menuConfig.to) {\n devCenterRouter.push(menuConfig.to);\n }\n }}\n prefix={\n typeof menuConfig.icon === 'string' ? <Icon>{menuConfig.icon}</Icon> : menuConfig.icon\n }\n >\n {menuConfig.title}\n </Menu.Item>\n ))}\n {!isMaximized && (\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_fullScreenMenuItem`}\n onClick={() => handleMenuItemClick(setIsMaximized)}\n prefix={<FullScreenOneIcon />}\n >\n Full Screen\n </Menu.Item>\n )}\n <Menu.Item\n size=\"large\"\n testId={`${PAGE_NAME}_settings`}\n onClick={() => handleMenuItemClick(toggleAppSettingsDialog)}\n prefix={<SettingTwoIcon />}\n >\n Settings\n </Menu.Item>\n </Menu>\n </>\n );\n};\n"],"names":["PAGE_NAME","_ref","menuItems","isMaximized","setIsMaximized","toggleAppSettingsDialog","isMobileView","devCenterRouter","setIsFullscreenModalMode","buttonRef","useRef","useState","_useState2","_slicedToArray","_useState","isOpen","setIsOpen","toggleMenu","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","nextValue","wrap","_context","prev","next","stop","apply","this","arguments","handleMenuItemClick","_ref3","fn","_context2","_callee2","_x","_jsxs","_Fragment","children","_jsx","Tooltip","title","disabled","placement","ButtonIcon","size","type","ref","onClick","testId","concat","HamburgerButtonIcon","Menu","anchorEl","current","open","onClose","map","menuConfig","jsx","Item","to","push","prefix","icon","Icon","FullScreenOneIcon","SettingTwoIcon"],"mappings":"sxgBAMMA,EAAY,qDAiBc,SAQHC,GAAA,IAP3BC,IAAAA,UACAC,IAAAA,YACAC,IAAAA,eACAC,IAAAA,wBACAC,IAAAA,aACAC,IAAAA,gBACAC,IAAAA,yBAEMC,EAAYC,SAA0B,MAChBC,EAAAA,EAAQA,UAAC,GAAMC,EAAAC,EAAAA,QAAAC,EAAA,GAApCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAElBK,EAAU,WAAA,IAAGC,EAAAC,EAAA,QAAAC,EAAA,QAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAH,UAAAI,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACQ,KAAnBJ,GAAaR,GACN,CAAAU,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EACLnB,EAAyBe,GAAU,KAAA,EACzCP,EAAUO,GAAWE,EAAAE,KAAA,EAAA,MAAA,KAAA,EAErBX,EAAUO,GAIVf,EAAyBe,GAAW,KAAA,EAAA,IAAA,MAAA,OAAAE,EAAAG,OAAA,GAAAN,EAEvC,KAAA,OAAA,WAZe,OAAAJ,EAAAW,MAAAC,KAAAC,UAAA,EAAA,GAcVC,EAAmB,WAAA,IAAAC,EAAAd,EAAAA,QAAAC,EAAAA,QAAAC,MAAG,WAAOa,GAA6B,OAAAd,UAAAI,MAAA,SAAAW,GAAA,OAAA,OAAAA,EAAAT,KAAAS,EAAAR,MAAA,KAAA,EAAA,OAAAQ,EAAAR,KAAA,EACxDV,IAAY,KAAA,EAClBiB,SAAAA,GAAK,GAAM,KAAA,EAAA,IAAA,MAAA,OAAAC,EAAAP,OAAA,GAAAQ,EACZ,KAAA,OAAA,SAHwBC,GAAA,OAAAJ,EAAAJ,MAAAC,KAAAC,UAAA,EAAA,GAKzB,OACEO,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SAAA,CACEC,MAACC,UAAO,CAACC,MAAM,OAAOC,WAAYtC,EAAcuC,UAAU,MAAKL,SAC7DC,MAACK,aAAU,CACTC,KAAK,QACLC,KAAK,aACLC,IAAKxC,EACLyC,QAASjC,EACTkC,OAAM,GAAAC,OAAKpD,EAAiB,SAAAwC,SAE5BC,EAAAA,IAACY,EAAmBA,oBAAA,QAIxBf,OAACgB,OAAI,CAACC,SAAU9C,EAAU+C,QAASC,KAAM1C,EAAQ2C,QAASzC,EAAY4B,UAAU,UAASL,SAAA,CACtFtC,EAAUyD,KAAI,SAAAC,GAAU,OACvBnB,EAAAoB,IAACP,EAAIA,KAACQ,KAAI,CACRf,KAAK,QACLI,iBAAWnD,EAAS,KAAAoD,OAAIQ,EAAWjB,OAEnCO,QAAS,WACPlB,EAAoB4B,EAAWV,SAC3BU,EAAWG,IACbxD,EAAgByD,KAAKJ,EAAWG,GAElC,EACFE,OAC6B,iBAApBL,EAAWM,KAAoBzB,EAAAA,IAAC0B,EAAAA,KAAI,CAAA3B,SAAEoB,EAAWM,OAAeN,EAAWM,KACnF1B,SAEAoB,EAAWjB,OAXPiB,EAAWjB,MAanB,KACCxC,GACAsC,MAACa,EAAAA,KAAKQ,KAAI,CACRf,KAAK,QACLI,OAAM,GAAAC,OAAKpD,EAA+B,uBAC1CkD,QAAS,WAAA,OAAMlB,EAAoB5B,EAAgB,EACnD6D,OAAQxB,EAAAA,IAAC2B,EAAiBA,kBAAI,IAAA5B,SAAA,gBAKlCC,EAAAA,IAACa,EAAIA,KAACQ,KAAI,CACRf,KAAK,QACLI,OAAM,GAAAC,OAAKpD,EAAqB,aAChCkD,QAAS,WAAA,OAAMlB,EAAoB3B,EAAyB,EAC5D4D,OAAQxB,EAAAA,IAAC4B,EAAcA,eAAI,IAAA7B,SAAA,kBAOrC"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.APP_DATA_ASSET_KEYS=["well","rig","fracFleet","wells","interventionUnit"],exports.HOME_PATH_PREFIX="/home",exports.MOBILE_CLI_APP_GRID_WIDTH=12,exports.PAGE_NAME="DevCenter_AppContainer",exports.TOOLTIP_TITLES={addAnnotation:"Add Annotation",reportBug:"Report A Bug",helpCenter:"Help Center"};
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/constants.ts"],"sourcesContent":["/** Test-id prefix and analytics page name for everything this container renders. */\nexport const PAGE_NAME = 'DevCenter_AppContainer';\n\n/** A CLI app on a phone takes the whole 12-column dashboard grid. */\nexport const MOBILE_CLI_APP_GRID_WIDTH = 12;\n\nexport const HOME_PATH_PREFIX = '/home';\n\n/** The asset records the container forwards from the app-data context to the app bundle. */\nexport const APP_DATA_ASSET_KEYS = ['well', 'rig', 'fracFleet', 'wells', 'interventionUnit'];\n\nexport const TOOLTIP_TITLES = {\n addAnnotation: 'Add Annotation',\n reportBug: 'Report A Bug',\n helpCenter: 'Help Center',\n};\n"],"names":["addAnnotation","reportBug","helpCenter"],"mappings":"gGASmC,CAAC,OAAQ,MAAO,YAAa,QAAS,6CAHzC,0CAFS,qBAHhB,gDAUK,CAC5BA,cAAe,iBACfC,UAAW,eACXC,WAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppCommonsContext.js","sources":["../../../../src/componentsV2/AppCommonsProvider/AppCommonsContext.ts"],"sourcesContent":["import { ComponentType, createContext, ReactNode, useContext } from 'react';\n\nimport {\n App,\n AppSettings,\n Asset,\n FracFleet,\n FullscreenModes,\n InterventionUnit,\n User,\n Well,\n} from '../../types';\n\nexport type GlobalOffsetWell = {\n id: number;\n [key: string]: unknown;\n};\n\n// ⚠️⚠️⚠️ Mentioned in storybook, please update when editing this type\n// Used in AppTestWrapper\nexport type AppCommonsContextType = {\n maximized: boolean;\n appId: number;\n app: App;\n appKey: string;\n appName: string;\n appSettings?: AppSettings;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n\n well?: Well;\n rig?: Asset;\n fracFleet?: FracFleet;\n interventionUnit?: InterventionUnit;\n wells?: Well[];\n\n // Passed down from corva-web-frontend. May not exist, so everything must be optional\n dashboardMeta?: {\n isMultiAsset?: boolean;\n isMultiWell?: boolean;\n isChiplessDashboard?: boolean;\n globalOffsetWellsToken?: number;\n };\n appHeadersV3Enabled?: boolean;\n // [REACT-18-MIGRATION-TAG] PLT-3099: true when the app renders in-process on the host\n // (the platform isolation decision from DevCenterIsolatedApp); iframe realms leave it unset.\n isNonIsolatedApp?: boolean;\n disableAppAssetSelection?: boolean;\n isMultiRig?: boolean;\n currentUser?: User;\n globalOffsetWells?: GlobalOffsetWell[];\n globalOffsetWellsVersion?: number;\n globalOffsetWellsToken?: number;\n removeApp?: () => void;\n};\n\nexport type AppCommonsContextTypeInternal = AppCommonsContextType &\n Partial<FullscreenModes> & {\n /** True in any of the three modes: dashboard maximize, browser fullscreen, separate window */\n isExpanded?: boolean;\n setMaximized: (maximized: boolean) => void;\n appData?: unknown;\n layoutEnvironment?: { type?: string };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appSettingsComponent?: ComponentType<any>;\n toggleAnnotationsList?: () => void;\n onHelpCenterClick?: () => void;\n secondaryMenuItems?: { title: ReactNode; onClick?: () => void; icon?: ReactNode }[];\n isInsideNewMobileApp?: boolean;\n reloadApp?: () => void;\n };\n\nexport const AppCommonsContext = createContext<AppCommonsContextTypeInternal>(\n // TODO provide defaults\n null as unknown as AppCommonsContextTypeInternal\n);\n\nexport const useAppCommonsInternal = () => useContext(AppCommonsContext);\n\nexport const useAppCommons = () => useContext(AppCommonsContext) as AppCommonsContextType;\n"],"names":["AppCommonsContext","createContext","useContext"],"mappings":"2FAwEaA,EAAoBC,EAAaA,cAE5C,wDAK2B,WAAH,OAASC,EAAAA,WAAWF,EAAkB,gCAF3B,WAAH,OAASE,EAAAA,WAAWF,EAAkB"}
1
+ {"version":3,"file":"AppCommonsContext.js","sources":["../../../../src/componentsV2/AppCommonsProvider/AppCommonsContext.ts"],"sourcesContent":["import { ComponentType, createContext, ReactNode, useContext } from 'react';\n\nimport {\n App,\n AppSettings,\n Asset,\n FracFleet,\n FullscreenModes,\n InterventionUnit,\n User,\n Well,\n} from '../../types';\n\nexport type GlobalOffsetWell = {\n id: number;\n [key: string]: unknown;\n};\n\n// ⚠️⚠️⚠️ Mentioned in storybook, please update when editing this type\n// Used in AppTestWrapper\nexport type AppCommonsContextType = {\n maximized: boolean;\n appId: number;\n app: App;\n appKey: string;\n appName: string;\n appSettings?: AppSettings;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n\n well?: Well;\n rig?: Asset;\n fracFleet?: FracFleet;\n interventionUnit?: InterventionUnit;\n wells?: Well[];\n\n // Passed down from corva-web-frontend. May not exist, so everything must be optional\n dashboardMeta?: {\n isMultiAsset?: boolean;\n isMultiWell?: boolean;\n isChiplessDashboard?: boolean;\n globalOffsetWellsToken?: number;\n };\n appHeadersV3Enabled?: boolean;\n // [REACT-18-MIGRATION-TAG] PLT-3099: true when the app renders in-process on the host\n // (the platform isolation decision from DevCenterIsolatedApp); iframe realms leave it unset.\n isNonIsolatedApp?: boolean;\n disableAppAssetSelection?: boolean;\n isMultiRig?: boolean;\n currentUser?: User;\n globalOffsetWells?: GlobalOffsetWell[];\n globalOffsetWellsVersion?: number;\n globalOffsetWellsToken?: number;\n removeApp?: () => void;\n};\n\nexport type AppCommonsContextTypeInternal = AppCommonsContextType &\n Partial<FullscreenModes> & {\n /** True in any of the three modes: dashboard maximize, browser fullscreen, separate window */\n isExpanded?: boolean;\n setMaximized: (maximized: boolean) => void;\n appData?: unknown;\n layoutEnvironment?: ({ type?: string } & Record<string, unknown>) | null;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appSettingsComponent?: ComponentType<any>;\n toggleAnnotationsList?: () => void;\n onHelpCenterClick?: () => void;\n secondaryMenuItems?: { title: ReactNode; onClick?: () => void; icon?: ReactNode }[];\n isInsideNewMobileApp?: boolean;\n reloadApp?: () => void;\n };\n\nexport const AppCommonsContext = createContext<AppCommonsContextTypeInternal>(\n // TODO provide defaults\n null as unknown as AppCommonsContextTypeInternal\n);\n\nexport const useAppCommonsInternal = () => useContext(AppCommonsContext);\n\nexport const useAppCommons = () => useContext(AppCommonsContext) as AppCommonsContextType;\n"],"names":["AppCommonsContext","createContext","useContext"],"mappings":"2FAwEaA,EAAoBC,EAAaA,cAE5C,wDAK2B,WAAH,OAASC,EAAAA,WAAWF,EAAkB,gCAF3B,WAAH,OAASE,EAAAA,WAAWF,EAAkB"}
@@ -1,41 +1,65 @@
1
- declare function DevCenterAppContainer({ CLIAppComponent, CLIAppSettings, app, appId, className, coordinates, currentDashboardAppsLastAnnotations, currentUser, devCenterRouter, disableAppAssetSelection, isActionsDisabled, isBrowserFullscreen, enterBrowserFullscreen, exitBrowserFullscreen, isSeparateWindow, openSeparateWindow, closeSeparateWindow, setSeparateWindowTitle, isNonIsolatedApp, isSettingsDialogHidden, layoutEnvironment, onAppContainerClick, onAppRemove, onReportBugClick, onCloneDashboard, onHelpCenterClick, onIsMaximizedChange, onSettingChange, onSettingsChange, openIntercom, registerAITools, setIsFullscreenModalMode, timestamp, updateCurrentDashboardAppLastAnnotation, dashboardMeta, reloadApp, chatActions, }: {
2
- CLIAppComponent: any;
3
- CLIAppSettings: any;
4
- app: any;
5
- appId: any;
6
- chatActions: any;
7
- className: any;
8
- closeSeparateWindow: any;
9
- coordinates: any;
10
- currentDashboardAppsLastAnnotations: any;
11
- currentUser: any;
12
- dashboardMeta: any;
13
- devCenterRouter: any;
14
- disableAppAssetSelection: any;
15
- enterBrowserFullscreen: any;
16
- exitBrowserFullscreen: any;
17
- isActionsDisabled: any;
18
- isBrowserFullscreen: any;
19
- isNonIsolatedApp?: boolean | undefined;
20
- isSeparateWindow: any;
21
- isSettingsDialogHidden: any;
22
- layoutEnvironment: any;
23
- onAppContainerClick?: ((...args: any[]) => void) | undefined;
24
- onAppRemove: any;
25
- onCloneDashboard: any;
26
- onHelpCenterClick: any;
27
- onIsMaximizedChange: any;
28
- onReportBugClick: any;
29
- onSettingChange: any;
30
- onSettingsChange: any;
31
- openIntercom?: ((...args: any[]) => void) | undefined;
32
- openSeparateWindow: any;
33
- registerAITools: any;
34
- reloadApp?: undefined;
35
- setIsFullscreenModalMode?: ((...args: any[]) => void) | undefined;
36
- setSeparateWindowTitle: any;
37
- timestamp: any;
38
- updateCurrentDashboardAppLastAnnotation: any;
39
- }): import("react").JSX.Element;
1
+ import type { ComponentType } from 'react';
2
+ import type { AppCoordinates, DashboardAppLastAnnotation, DevCenterAppResource, DevCenterCurrentUser, DevCenterRouter, LayoutEnvironment, SetIsFullscreenModalMode, UpdateDashboardAppLastAnnotation } from './types';
3
+ import type { FullscreenModes } from '../../../types';
4
+ import type { GlobalOffsetWell } from '../../../componentsV2/AppCommonsProvider/AppCommonsContext';
5
+ /**
6
+ * `Partial<FullscreenModes>` carries the seven browser-fullscreen and separate-window members.
7
+ * `AppCommonsProvider` derives `isExpanded` from them and republishes them to the app bundle,
8
+ * so dropping them silently disables both features — and nothing type-checks it, because every
9
+ * member is optional on the provider.
10
+ */
11
+ export type DevCenterAppContainerProps = Partial<FullscreenModes> & {
12
+ app: DevCenterAppResource;
13
+ currentUser: DevCenterCurrentUser;
14
+ /** Platform router. Not React Router — the DC shell supplies its own. */
15
+ devCenterRouter: DevCenterRouter;
16
+ /**
17
+ * Slots for the CLI app bundle's own components. `any` rather than a narrower prop type on
18
+ * purpose: this accepts arbitrary app components, and any narrowing would reject the concretely
19
+ * typed ones consumers pass.
20
+ */
21
+ CLIAppComponent?: ComponentType<any> | null;
22
+ CLIAppSettings?: ComponentType<any> | null;
23
+ /** Defaults to `app.id` when omitted. */
24
+ appId?: number;
25
+ className?: string | null;
26
+ /** Owned by `corva-web-frontend`'s chat module; forwarded to the app bundle unread. */
27
+ chatActions?: Record<string, any> | null;
28
+ coordinates?: AppCoordinates | null;
29
+ currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;
30
+ dashboardMeta?: {
31
+ isMultiAsset?: boolean;
32
+ isMultiWell?: boolean;
33
+ isChiplessDashboard?: boolean;
34
+ globalOffsetWells?: GlobalOffsetWell[];
35
+ globalOffsetWellsVersion?: number;
36
+ globalOffsetWellsToken?: number;
37
+ };
38
+ disableAppAssetSelection?: boolean;
39
+ isActionsDisabled?: boolean;
40
+ /**
41
+ * [REACT-18-MIGRATION-TAG] PLT-3099: the platform's isolation decision, passed only by the
42
+ * in-process branch of DevCenterIsolatedApp; iframe mounts leave it false.
43
+ */
44
+ isNonIsolatedApp?: boolean;
45
+ isSettingsDialogHidden?: boolean;
46
+ layoutEnvironment?: LayoutEnvironment | null;
47
+ onAppContainerClick?: () => void;
48
+ onAppRemove?: () => void;
49
+ onCloneDashboard?: () => void;
50
+ onHelpCenterClick?: () => void;
51
+ onIsMaximizedChange?: (isMaximized: boolean) => void;
52
+ onReportBugClick?: (() => void) | null;
53
+ onSettingChange?: (key: string, value: unknown) => void;
54
+ onSettingsChange?: (value: unknown) => void;
55
+ openIntercom?: () => void;
56
+ /** `AppToolRegisterFn` from `@corva/fe-ai-tools`, which this package does not depend on. */
57
+ registerAITools?: any;
58
+ reloadApp?: () => void;
59
+ setIsFullscreenModalMode?: SetIsFullscreenModalMode;
60
+ timestamp?: number | null;
61
+ updateCurrentDashboardAppLastAnnotation?: UpdateDashboardAppLastAnnotation;
62
+ };
63
+ declare const DevCenterAppContainer: ({ CLIAppComponent, CLIAppSettings, app, appId, className, coordinates, currentDashboardAppsLastAnnotations, currentUser, devCenterRouter, disableAppAssetSelection, isActionsDisabled, isBrowserFullscreen, enterBrowserFullscreen, exitBrowserFullscreen, isSeparateWindow, openSeparateWindow, closeSeparateWindow, setSeparateWindowTitle, isNonIsolatedApp, isSettingsDialogHidden, layoutEnvironment, onAppContainerClick, onAppRemove, onReportBugClick, onCloneDashboard, onHelpCenterClick, onIsMaximizedChange, onSettingChange, onSettingsChange, openIntercom, registerAITools, setIsFullscreenModalMode, timestamp, updateCurrentDashboardAppLastAnnotation, dashboardMeta, reloadApp, chatActions, }: DevCenterAppContainerProps) => import("react/jsx-runtime").JSX.Element;
40
64
  export default DevCenterAppContainer;
41
65
  //# sourceMappingURL=DevCenterAppContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterAppContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js"],"names":[],"mappings":"AAgDA,iBAAS,qBAAqB,CAAC,EAC7B,eAAe,EACf,cAAc,EACd,GAAG,EACH,KAAK,EACL,SAAS,EACT,WAAW,EACX,mCAAmC,EACnC,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EAGtB,gBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,mBAA0B,EAC1B,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,YAAmB,EACnB,eAAe,EACf,wBAA+B,EAC/B,SAAS,EACT,uCAAuC,EACvC,aAAa,EACb,SAAqB,EACrB,WAAW,GACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAA,+BAuSA;eAEc,qBAAqB"}
1
+ {"version":3,"file":"DevCenterAppContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA2B3C,OAAO,KAAK,EACV,cAAc,EAEd,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EAEpB,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAsBnG;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG;IAClE,GAAG,EAAE,oBAAoB,CAAC;IAC1B,WAAW,EAAE,oBAAoB,CAAC;IAClC,yEAAyE;IACzE,eAAe,EAAE,eAAe,CAAC;IAEjC;;;;OAIG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACzC,WAAW,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACpC,mCAAmC,CAAC,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;IAC1E,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;QACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,gBAAgB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACxD,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,4FAA4F;IAC5F,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uCAAuC,CAAC,EAAE,gCAAgC,CAAC;CAC5E,CAAC;AAMF,QAAA,MAAM,qBAAqB,srBAsCxB,0BAA0B,4CAuT5B,CAAC;eAEa,qBAAqB"}
@@ -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{BugReport as a}from"@material-ui/icons";import l from"../AppContext.js";import{DevCenterRouterContext as d}from"../DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router-dom";import"query-string";import{jsx as u,jsxs as j,Fragment as A}from"react/jsx-runtime";import g from"./effects/useAppSettings.js";import C from"./effects/useAnnotationsList.js";import I from"./effects/useAnnotationsData.js";import V from"./effects/useAppMaximized.js";import v from"./components/AppActions/AppActions.js";import S from"./components/AppSettingsDialog/AppSettingsDialog.js";import"./components/AppSettingsDialog/components/RemoveAppButton.js";import"./components/AppSettingsDialog/components/SettingsAccordion.js";import"./components/AnnotationsButton/AnnotationsButton.js";import{NonPriorityMenus as h}from"./components/NonPriorityMenus/NonPriorityMenus.js";import f from"./components/FullscreenButton/FullscreenButton.js";import"./components/AppInfoMessage/AppInfoMessage.js";import b from"./components/DevCenterAppView/DevCenterAppView.js";import{DcFullscreenElemsCoordinatorProvider as D}from"./components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"./components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"./components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import P from"./components/RestoreAppSizeButton/index.js";import{getAppVersion as x,getAppAvailability as M}from"./utils.js";import T from"./components/PriorityMenus/PriorityMenus.js";import{CommentsSwitchProvider as y}from"./components/CommentsSwitch/CommentsSwitchProvider.js";import{CommentsSwitchButton as L}from"./components/CommentsSwitch/CommentsSwitchButton.js";import B from"./DevCenterAppContainer.scss.js";import{isInsideNewMobileApp as k,isNativeDetected as F,isMobileDetected as H}from"../../../utils/mobileDetect.js";import O from"../../Icons/AnnotationIcon.js";import w from"../../Annotations/components/AnnotationsList/index.js";import"../../Annotations/components/LastAnnotation/index.js";import{AnnotationsProvider as E}from"../../Annotations/AnnotationsContext.js";import"../../Toaster/Toaster.js";import{ToastContainer as R}from"../../Toaster/ToastContainer.js";import"../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"../../../clients/subscriptions.v1.js";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import z from"../../../effects/useDevCenterApp.js";import"../../../utils/index.js";import"uuid";import"jsona";import"../../../constants/segment.js";import"../../../utils/env.js";import{DEV_CENTER_CLI_APP_ID as W}from"../../../constants/devcenter.js";import"../../../constants/goals.js";import"../../../constants/alerts.js";import"../../../constants/apps.js";import"../../../constants/drillstring.js";import"../../../constants/completion.js";import"../../../constants/appPackages.js";import"../../../constants/notifications.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import"../../../constants/corvaCompanyId.js";import"../../GradientManager/configuration/constants.js";import"../../StatusBadge/constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import"../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../constants/streamSourceType.js";import"./components/CommentsSwitch/CommentsSwitchContext.js";import{AppCommonsProvider as q}from"../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import{getAppSegment as U,isDCAppMultiRig as _,getAppName as N,getTimestampFromQuery as G}from"../../../utils/devcenter.js";import{HelpCenterIcon as K}from"../../HelpCenter/HelpCenterIcon.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{ButtonIcon as Z}from"../../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as J}from"../../../componentsV2/Tooltip/Tooltip.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"../../../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"@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/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/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/utils.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"../../../componentsV2/TemplatesControl/types.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"file-extension";import"image-extensions";import"video-extensions";import"../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../utils/main.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/AppHeader/AppHeader.constants.js";import"../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.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"../../../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"../../../utils/getSingleAsset.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"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js";import"../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../componentsV2/AppSettings/AppSettings.js";import"../../../componentsV2/AppSettings/AppSettings.constants.js";import"../../../componentsV2/AppSizeProvider/AppSizeProvider.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/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{showSuccessNotification as Q}from"../../../utils/notificationToasts.js";function X(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 Y(s){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?X(Object(e),!0).forEach((function(t){o(s,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):X(Object(e)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(e,o))}))}return s}var $=F||H,oo="DevCenter_AppContainer";function so(o){var H,X,so,to,eo,no,io,po,ro,co,mo,ao,lo,uo,jo,Ao=o.CLIAppComponent,go=o.CLIAppSettings,Co=o.app,Io=o.appId,Vo=o.className,vo=o.coordinates,So=o.currentDashboardAppsLastAnnotations,ho=o.currentUser,fo=o.devCenterRouter,bo=o.disableAppAssetSelection,Do=o.isActionsDisabled,Po=o.isBrowserFullscreen,xo=o.enterBrowserFullscreen,Mo=o.exitBrowserFullscreen,To=o.isSeparateWindow,yo=o.openSeparateWindow,Lo=o.closeSeparateWindow,Bo=o.setSeparateWindowTitle,ko=o.isNonIsolatedApp,Fo=void 0!==ko&&ko,Ho=o.isSettingsDialogHidden,Oo=o.layoutEnvironment,wo=o.onAppContainerClick,Eo=void 0===wo?c:wo,Ro=o.onAppRemove,zo=o.onReportBugClick,Wo=o.onCloneDashboard,qo=o.onHelpCenterClick,Uo=o.onIsMaximizedChange,_o=o.onSettingChange,No=o.onSettingsChange,Go=o.openIntercom,Ko=void 0===Go?c:Go,Zo=o.registerAITools,Jo=o.setIsFullscreenModalMode,Qo=void 0===Jo?c:Jo,Xo=o.timestamp,Yo=o.updateCurrentDashboardAppLastAnnotation,$o=o.dashboardMeta,os=o.reloadApp,ss=void 0===os?void 0:os,ts=o.chatActions,es=t(l),ns=m(),is=e([]),ps=s(is,2),rs=ps[0],cs=ps[1],ms=e([]),as=s(ms,2),ls=as[0],ds=as[1],us=null!==(H=null==es?void 0:es[Io||Co.id])&&void 0!==H?H:{isLoading:!0},js=null===(X=Co.package)||void 0===X||null===(so=X.manifest)||void 0===so?void 0:so.application,As=U(Co),gs=!(null==$o||!$o.isChiplessDashboard),Cs=_({uiSettings:null==js?void 0:js.ui,isChiplessDashboard:gs}),Is=!(null==js||null===(to=js.ui)||void 0===to||!to.enable_comments),Vs=N(Co),vs=V({onIsMaximizedChange:Uo,devCenterRouter:fo,appId:Io}),Ss=vs.isMaximized,hs=vs.setIsMaximized,fs=Xo||G(null===(eo=fo.location.query)||void 0===eo?void 0:eo.query),bs=Co.id===W,Ds=bs&&$?Y(Y({},vo),{},{w:12}):vo,Ps=x(Co),xs=z({CLIAppComponent:Ao,CLIAppSettings:go,app:Co,version:Ps}),Ms=xs.isLoading,Ts=xs.AppSettings,ys=xs.AppComponent,Ls=g({setIsFullscreenModalMode:Qo}),Bs=Ls.isAppSettingsDialogOpened,ks=Ls.toggleAppSettingsDialog,Fs=C(),Hs=Fs.isAnnotationsListOpened,Os=Fs.toggleAnnotationsList,ws=Ms||!ho||!Cs&&us.isLoading,Es=I({app:Co,appData:us,currentDashboardAppsLastAnnotations:So}),Rs=Es.appLastAnnotation,zs=Es.assetCompanyId,Ws=Es.assetIdForAnnotation,qs=Es.isAppSupportsAnnotations,Us=p(r(us,["well","rig","fracFleet","wells","interventionUnit"]),Boolean),_s=n((function(){return null==ls?void 0:ls.map((function(o){return Y(Y({},o),{},{onClick:function(){var s;null===(s=o.onClick)||void 0===s||s.call(o),o.to&&fo.push(o.to)}})}))}),[ls,fo]),Ns=!(null==Co||null===(no=Co.package)||void 0===no||null===(io=no.manifest)||void 0===io||null===(po=io.application)||void 0===po||null===(ro=po.ui)||void 0===ro||!ro.use_app_header_v3),Gs=!(null==(lo=fo)||null===(uo=lo.location)||void 0===uo||null===(jo=uo.pathname)||void 0===jo||!jo.startsWith("/home"));return u(d.Provider,{value:fo,children:u(D,{setIsFullscreenModalMode:Qo,children:u(q,Y(Y({maximized:Ss,setMaximized:hs,appId:null==Co||null===(co=Co.app)||void 0===co?void 0:co.id,app:Co,appSettings:Co.settings,onSettingChange:_o,onSettingsChange:No,appHeadersV3Enabled:Ns,isBrowserFullscreen:Po,enterBrowserFullscreen:xo,exitBrowserFullscreen:Mo,isSeparateWindow:To,openSeparateWindow:yo,closeSeparateWindow:Lo,setSeparateWindowTitle:Bo,isNonIsolatedApp:Fo,disableAppAssetSelection:bo,isMultiRig:Cs,currentUser:ho,appData:us,layoutEnvironment:Oo,appSettingsComponent:Ts,dashboardMeta:$o,toggleAnnotationsList:qs?Os:void 0,onHelpCenterClick:qo,secondaryMenuItems:_s,onAppRemove:Ro,isInsideNewMobileApp:k,globalOffsetWells:null==$o?void 0:$o.globalOffsetWells,globalOffsetWellsVersion:null==$o?void 0:$o.globalOffsetWellsVersion,globalOffsetWellsToken:null==$o?void 0:$o.globalOffsetWellsToken,reloadApp:ss},Us),{},{children:u(y,{children:j("div",{className:i("dc-app-container",k&&"dc-app-container--inside-new-mobile-app",Gs&&"dc-app-container--inside-home-page",Vo,Ss&&"dc-app-container__maximized",ns.isLightTheme&&"dc-app-container__light-theme",B.container),"data-testid":"".concat(oo,"_").concat(Vs),onClick:function(){return Eo()},children:[u(R,{}),u("div",{className:B.containerContent,children:u(b,{AppComponent:ys,app:Co,appData:Us,isAppLoading:Ms,availability:M(Co.availability,ho.company.with_subscription),isCLIApp:bs,isLoading:ws,isMultiRig:Cs,layoutEnvironment:Oo,openIntercom:Ko,segment:As,toggleAppSettingsDialog:ks,appProps:{coordinates:Ds,currentUser:ho,devCenterRouter:fo,onSettingChange:_o,onSettingsChange:No,registerAITools:Zo,segment:As,setIsFullscreenModalMode:Qo,setIsMaximized:hs,setMainMenuItems:cs,setSecondaryMenuItems:ds,toggleAppSettingsDialog:ks,appHeaderProps:Y({app:Co,appLastAnnotation:Rs,appSettings:Co.settings,coordinates:Ds,currentUser:ho,isMaximized:Ss,layoutEnvironment:Oo,onSettingChange:_o,toggleAnnotationsList:Os,updateCurrentDashboardAppLastAnnotation:Yo},Us),isNative:F,layoutEnvironment:Oo,timestamp:fs,chatActions:ts}})}),Bs&&u(S,{AppSettingsComponent:Ts,app:Co,appData:us,appName:Vs,currentUser:ho,disableAppAssetSelection:bo,isMultiRig:Cs,isSettingsDialogHidden:Ho,layoutEnvironment:Oo,onAppRemove:Ro,onCloneDashboard:Wo,onSettingChange:_o,onSettingsChange:No,openIntercom:Ko,rigId:null!==(mo=null===(ao=us.rig)||void 0===ao?void 0:ao.id)&&void 0!==mo?mo:null,timestamp:fs,toggleAppSettingsDialog:ks}),Hs&&u(E,{children:u(w,{appId:Co.app.id,appSettings:Co.settings,appTitle:Vs,assetCompanyId:zs,assetId:Ws,currentUser:ho,onClose:Os,showSuccessNotification:Q})}),Ss&&!Ns&&u(P,{setIsMaximized:hs}),!Do&&(!Ns||ws)&&j(v,{children:[Is&&u(L,{currentUser:ho}),qs&&u(J,{title:"Add Annotation",placement:"top",disabled:!!$,children:u(Z,{size:"small",type:"tertiaryBg",onClick:Os,testId:"".concat(oo,"_addAnnotation"),children:u(O,{})})}),zo&&!bs&&u(J,{title:"Report A Bug",placement:"top",disabled:!!$,children:u(Z,{size:"small",type:"tertiaryBg",onClick:function(){return zo()},children:u(a,{})})}),u(J,{placement:"top",disabled:!!$||bs,title:"Help Center",children:u(Z,{testId:"".concat(oo,"_helpContent"),onClick:function(){return qo()},disabled:bs,size:"small",type:"tertiaryBg",children:u(K,{appId:Co.app.id,helpContentUpdatedAt:Co.help_content_updated_at})})}),!$||Ss||k?j(A,{children:[u(T,{menuItems:rs,devCenterRouter:fo,isMobileView:$}),u(h,{devCenterRouter:fo,isMaximized:Ss,isMobileView:$,menuItems:ls,setIsFullscreenModalMode:Qo,setIsMaximized:hs,toggleAppSettingsDialog:ks})]}):u(f,{setIsMaximized:hs})]})]})})}))})})}export{so as default};
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{BugReport as a}from"@material-ui/icons";import l from"../AppContext.js";import{DevCenterRouterContext as d}from"../DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router-dom";import"query-string";import{jsx as u,jsxs as j,Fragment as A}from"react/jsx-runtime";import g from"./effects/useAppSettings.js";import C from"./effects/useAnnotationsList.js";import I from"./effects/useAnnotationsData.js";import V from"./effects/useAppMaximized.js";import v from"./components/AppActions/AppActions.js";import S from"./components/AppSettingsDialog/AppSettingsDialog.js";import"./components/AppSettingsDialog/components/RemoveAppButton.js";import"./components/AppSettingsDialog/components/SettingsAccordion.js";import"./components/AnnotationsButton/AnnotationsButton.js";import{NonPriorityMenus as h}from"./components/NonPriorityMenus/NonPriorityMenus.js";import f from"./components/FullscreenButton/FullscreenButton.js";import"./components/AppInfoMessage/AppInfoMessage.js";import b from"./components/DevCenterAppView/DevCenterAppView.js";import{DcFullscreenElemsCoordinatorProvider as D}from"./components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"./components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"./components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import P from"./components/RestoreAppSizeButton/index.js";import{getAppVersion as x,getAppAvailability as M}from"./utils.js";import{APP_DATA_ASSET_KEYS as T,PAGE_NAME as y,TOOLTIP_TITLES as L,HOME_PATH_PREFIX as B,MOBILE_CLI_APP_GRID_WIDTH as k}from"./constants.js";import O from"./components/PriorityMenus/PriorityMenus.js";import{CommentsSwitchProvider as F}from"./components/CommentsSwitch/CommentsSwitchProvider.js";import{CommentsSwitchButton as H}from"./components/CommentsSwitch/CommentsSwitchButton.js";import w from"./DevCenterAppContainer.scss.js";import{isInsideNewMobileApp as E,isNativeDetected as z,isMobileDetected as R}from"../../../utils/mobileDetect.js";import W from"../../Icons/AnnotationIcon.js";import q from"../../Annotations/components/AnnotationsList/index.js";import"../../Annotations/components/LastAnnotation/index.js";import{AnnotationsProvider as U}from"../../Annotations/AnnotationsContext.js";import"../../Toaster/Toaster.js";import{ToastContainer as _}from"../../Toaster/ToastContainer.js";import"../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"../../../clients/subscriptions.v1.js";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import G from"../../../effects/useDevCenterApp.js";import"../../../utils/index.js";import"uuid";import"jsona";import"../../../constants/segment.js";import"../../../utils/env.js";import{DEV_CENTER_CLI_APP_ID as N}from"../../../constants/devcenter.js";import"../../../constants/goals.js";import"../../../constants/alerts.js";import"../../../constants/apps.js";import"../../../constants/drillstring.js";import"../../../constants/completion.js";import"../../../constants/appPackages.js";import"../../../constants/notifications.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import"../../../constants/corvaCompanyId.js";import"../../GradientManager/configuration/constants.js";import"../../StatusBadge/constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import"../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../constants/streamSourceType.js";import"./components/CommentsSwitch/CommentsSwitchContext.js";import{AppCommonsProvider as K}from"../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import{getAppSegment as Z,isDCAppMultiRig as J,getAppName as Q,getTimestampFromQuery as X}from"../../../utils/devcenter.js";import{HelpCenterIcon as Y}from"../../HelpCenter/HelpCenterIcon.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{ButtonIcon as $}from"../../../componentsV2/ButtonIcon/ButtonIcon.js";import{Tooltip as oo}from"../../../componentsV2/Tooltip/Tooltip.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"../../../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"@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/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/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/utils.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"../../../componentsV2/TemplatesControl/types.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"file-extension";import"image-extensions";import"video-extensions";import"../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../utils/main.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/AppHeader/AppHeader.constants.js";import"../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.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"../../../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"../../../utils/getSingleAsset.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"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js";import"../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../componentsV2/AppSettings/AppSettings.js";import"../../../componentsV2/AppSettings/AppSettings.constants.js";import"../../../componentsV2/AppSizeProvider/AppSizeProvider.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/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";function so(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 to(s){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?so(Object(e),!0).forEach((function(t){o(s,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(e)):so(Object(e)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(e,o))}))}return s}var eo=z||R,no=function(o){var R,so,no,io,po,ro,co,mo,ao,lo=o.CLIAppComponent,uo=o.CLIAppSettings,jo=o.app,Ao=o.appId,go=o.className,Co=o.coordinates,Io=o.currentDashboardAppsLastAnnotations,Vo=o.currentUser,vo=o.devCenterRouter,So=o.disableAppAssetSelection,ho=o.isActionsDisabled,fo=o.isBrowserFullscreen,bo=o.enterBrowserFullscreen,Do=o.exitBrowserFullscreen,Po=o.isSeparateWindow,xo=o.openSeparateWindow,Mo=o.closeSeparateWindow,To=o.setSeparateWindowTitle,yo=o.isNonIsolatedApp,Lo=void 0!==yo&&yo,Bo=o.isSettingsDialogHidden,ko=o.layoutEnvironment,Oo=o.onAppContainerClick,Fo=void 0===Oo?c:Oo,Ho=o.onAppRemove,wo=o.onReportBugClick,Eo=o.onCloneDashboard,zo=o.onHelpCenterClick,Ro=o.onIsMaximizedChange,Wo=o.onSettingChange,qo=void 0===Wo?c:Wo,Uo=o.onSettingsChange,_o=void 0===Uo?c:Uo,Go=o.openIntercom,No=void 0===Go?c:Go,Ko=o.registerAITools,Zo=o.setIsFullscreenModalMode,Jo=void 0===Zo?c:Zo,Qo=o.timestamp,Xo=o.updateCurrentDashboardAppLastAnnotation,Yo=o.dashboardMeta,$o=o.reloadApp,os=o.chatActions,ss=t(l),ts=m(),es=e([]),ns=s(es,2),is=ns[0],ps=ns[1],rs=e([]),cs=s(rs,2),ms=cs[0],as=cs[1],ls=Ao||jo.id,ds=null!==(R=ls?null==ss?void 0:ss[ls]:void 0)&&void 0!==R?R:{isLoading:!0},us=null===(so=jo.package)||void 0===so||null===(no=so.manifest)||void 0===no?void 0:no.application,js=Z(jo),As=!(null==Yo||!Yo.isChiplessDashboard),gs=J({uiSettings:null==us?void 0:us.ui,isChiplessDashboard:As}),Cs=!(null==us||null===(io=us.ui)||void 0===io||!io.enable_comments),Is=Q(jo),Vs=V({onIsMaximizedChange:Ro,devCenterRouter:vo,appId:Ao}),vs=Vs.isMaximized,Ss=Vs.setIsMaximized,hs=Qo||X(null===(po=vo.location.query)||void 0===po?void 0:po.query),fs=jo.id===N,bs=fs&&eo?to(to({},Co),{},{w:k}):Co,Ds=x(jo),Ps=G({CLIAppComponent:lo,CLIAppSettings:uo,app:jo,version:Ds}),xs=Ps.isLoading,Ms=Ps.AppSettings,Ts=Ps.AppComponent,ys=g({setIsFullscreenModalMode:Jo}),Ls=ys.isAppSettingsDialogOpened,Bs=ys.toggleAppSettingsDialog,ks=C(),Os=ks.isAnnotationsListOpened,Fs=ks.toggleAnnotationsList,Hs=!(!xs&&Vo&&(gs||!ds.isLoading)),ws=I({app:jo,appData:ds,currentDashboardAppsLastAnnotations:Io}),Es=ws.appLastAnnotation,zs=ws.assetCompanyId,Rs=ws.assetIdForAnnotation,Ws=ws.isAppSupportsAnnotations,qs=p(r(ds,T),Boolean),Us=n((function(){return ms.map((function(o){return to(to({},o),{},{onClick:function(){var s;null===(s=o.onClick)||void 0===s||s.call(o),o.to&&vo.push(o.to)}})}))}),[ms,vo]),_s=!(null==us||null===(ro=us.ui)||void 0===ro||!ro.use_app_header_v3),Gs=!(null===(ao=vo.location.pathname)||void 0===ao||!ao.startsWith(B));return u(d.Provider,{value:vo,children:u(D,{setIsFullscreenModalMode:Jo,children:u(K,to(to({maximized:vs,setMaximized:Ss,appId:jo.app.id,app:jo,appSettings:jo.settings,onSettingChange:qo,onSettingsChange:_o,appHeadersV3Enabled:_s,isBrowserFullscreen:fo,enterBrowserFullscreen:bo,exitBrowserFullscreen:Do,isSeparateWindow:Po,openSeparateWindow:xo,closeSeparateWindow:Mo,setSeparateWindowTitle:To,isNonIsolatedApp:Lo,disableAppAssetSelection:So,isMultiRig:gs,currentUser:Vo,appData:ds,layoutEnvironment:ko,appSettingsComponent:Ms,dashboardMeta:Yo,toggleAnnotationsList:Ws?Fs:void 0,onHelpCenterClick:zo,secondaryMenuItems:Us,onAppRemove:Ho,isInsideNewMobileApp:E,globalOffsetWells:null==Yo?void 0:Yo.globalOffsetWells,globalOffsetWellsVersion:null==Yo?void 0:Yo.globalOffsetWellsVersion,globalOffsetWellsToken:null==Yo?void 0:Yo.globalOffsetWellsToken,reloadApp:$o},qs),{},{children:u(F,{children:j("article",{className:i("dc-app-container",E&&"dc-app-container--inside-new-mobile-app",Gs&&"dc-app-container--inside-home-page",go,vs&&"dc-app-container__maximized",ts.isLightTheme&&"dc-app-container__light-theme",w.container),"data-testid":"".concat(y,"_").concat(Is),onClick:function(){return Fo()},children:[u(_,{}),u("div",{className:w.containerContent,children:u(b,{AppComponent:Ts,app:jo,appData:qs,availability:M(jo.availability,Vo.company.with_subscription),isCLIApp:fs,isLoading:Hs,isMultiRig:gs,layoutEnvironment:null!=ko?ko:null,openIntercom:No,segment:js,toggleAppSettingsDialog:Bs,appProps:{coordinates:bs,currentUser:Vo,devCenterRouter:vo,onSettingChange:qo,onSettingsChange:_o,registerAITools:Ko,segment:js,setIsFullscreenModalMode:Jo,setIsMaximized:Ss,setMainMenuItems:ps,setSecondaryMenuItems:as,toggleAppSettingsDialog:Bs,appHeaderProps:to({app:jo,appLastAnnotation:Es,appSettings:jo.settings,coordinates:bs,currentUser:Vo,isMaximized:vs,layoutEnvironment:ko,onSettingChange:qo,toggleAnnotationsList:Fs,updateCurrentDashboardAppLastAnnotation:Xo},qs),isNative:z,layoutEnvironment:ko,timestamp:hs,chatActions:os}})}),Ls&&u(S,{AppSettingsComponent:Ms,app:jo,appData:ds,appName:Is,currentUser:Vo,disableAppAssetSelection:So,isMultiRig:gs,isSettingsDialogHidden:Bo,layoutEnvironment:ko,onAppRemove:Ho,onCloneDashboard:Eo,onSettingsChange:_o,openIntercom:No,rigId:null!==(co=null===(mo=ds.rig)||void 0===mo?void 0:mo.id)&&void 0!==co?co:null,toggleAppSettingsDialog:Bs}),Os&&u(U,{children:u(q,{appId:jo.app.id,appSettings:jo.settings,appTitle:Is,assetCompanyId:zs,assetId:Rs,currentUser:Vo,onClose:Fs})}),vs&&!_s&&u(P,{setIsMaximized:Ss}),!ho&&(!_s||Hs)&&j(v,{children:[Cs&&u(H,{currentUser:Vo}),Ws&&u(oo,{title:L.addAnnotation,placement:"top",disabled:!!eo,children:u($,{size:"small",type:"tertiaryBg",onClick:Fs,testId:"".concat(y,"_addAnnotation"),children:u(W,{})})}),wo&&!fs&&u(oo,{title:L.reportBug,placement:"top",disabled:!!eo,children:u($,{size:"small",type:"tertiaryBg",onClick:function(){return null==wo?void 0:wo()},children:u(a,{})})}),u(oo,{placement:"top",disabled:!!eo||fs,title:L.helpCenter,children:u($,{testId:"".concat(y,"_helpContent"),onClick:function(){return null==zo?void 0:zo()},disabled:fs,size:"small",type:"tertiaryBg",children:u(Y,{appId:jo.app.id,helpContentUpdatedAt:jo.help_content_updated_at})})}),!eo||vs||E?j(A,{children:[u(O,{menuItems:is,devCenterRouter:vo,isMobileView:eo}),u(h,{devCenterRouter:vo,isMaximized:vs,isMobileView:eo,menuItems:ms,setIsFullscreenModalMode:Jo,setIsMaximized:Ss,toggleAppSettingsDialog:Bs})]}):u(f,{setIsMaximized:Ss})]})]})})}))})})};export{no as default};
2
2
  //# sourceMappingURL=DevCenterAppContainer.js.map