@corva/ui 3.79.0-0 → 3.79.0-2

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 (415) hide show
  1. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  2. package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
  3. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  4. package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
  5. package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
  6. package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
  7. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js +1 -1
  8. package/cjs-bundle/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  9. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js +1 -1
  10. package/cjs-bundle/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  11. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js +1 -1
  12. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js.map +1 -1
  13. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js +1 -1
  14. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js.map +1 -1
  15. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
  16. package/cjs-bundle/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
  17. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  18. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  19. package/cjs-bundle/components/Casing/CasingTable/CasingComponent.js +1 -1
  20. package/cjs-bundle/components/Casing/CasingTable/CasingComponent.js.map +1 -1
  21. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  22. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  23. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  24. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  25. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  26. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  27. package/cjs-bundle/components/Casing/CasingTableV2/components/EditComponentDialog.js +1 -1
  28. package/cjs-bundle/components/Casing/CasingTableV2/components/EditComponentDialog.js.map +1 -1
  29. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  30. package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
  31. package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
  32. package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
  33. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/constants.js.map +1 -1
  34. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/dataResolvers.js +1 -1
  35. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/dataResolvers.js.map +1 -1
  36. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/useAppsData.js +1 -1
  37. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/useAppsData.js.map +1 -1
  38. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
  39. package/cjs-bundle/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
  40. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  41. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  42. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  43. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  44. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
  45. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
  46. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -1
  47. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  48. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
  49. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
  50. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
  51. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
  52. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js +1 -1
  53. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -1
  54. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
  55. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
  56. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -1
  57. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js +2 -0
  58. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js.map +1 -0
  59. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
  60. package/cjs-bundle/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
  61. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  62. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  63. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  64. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  65. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  66. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  67. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  68. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  69. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  70. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  71. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  72. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  73. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
  74. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
  75. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  76. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  77. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  78. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  79. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  80. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  81. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  82. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  83. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  84. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  85. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  86. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  87. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  88. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  89. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  90. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  91. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js +1 -1
  92. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js.map +1 -1
  93. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  94. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  95. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js +1 -1
  96. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js.map +1 -1
  97. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js +1 -1
  98. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js.map +1 -1
  99. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js +1 -1
  100. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js.map +1 -1
  101. package/cjs-bundle/components/Drillstring/BHATable/BHAComponent.js +1 -1
  102. package/cjs-bundle/components/Drillstring/BHATable/BHAComponent.js.map +1 -1
  103. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  104. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  105. package/cjs-bundle/components/IconMenu/index.js +1 -1
  106. package/cjs-bundle/components/IconMenu/index.js.map +1 -1
  107. package/cjs-bundle/components/OffsetWellChips/Chip.js +1 -1
  108. package/cjs-bundle/components/OffsetWellChips/Chip.js.map +1 -1
  109. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
  110. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  111. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
  112. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
  113. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js +1 -1
  114. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js.map +1 -1
  115. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  116. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  117. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  118. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  119. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js +1 -1
  120. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js.map +1 -1
  121. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js +1 -1
  122. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js.map +1 -1
  123. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  124. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  125. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  126. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  127. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  128. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  129. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  130. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  131. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  132. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  133. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  134. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  135. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  136. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  137. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js +1 -1
  138. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js.map +1 -1
  139. package/cjs-bundle/components/OffsetWellPickerV3/index.js +1 -1
  140. package/cjs-bundle/components/OffsetWellPickerV3/index.js.map +1 -1
  141. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  142. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  143. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  144. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  145. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetChip.js +1 -1
  146. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetChip.js.map +1 -1
  147. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetsListExpander.js +1 -1
  148. package/cjs-bundle/components/PadOffsetsPicker/OffsetAssetsListExpander.js.map +1 -1
  149. package/cjs-bundle/components/PadOffsetsPicker/PadOffsetsPicker.js +1 -1
  150. package/cjs-bundle/components/PadOffsetsPicker/PadOffsetsPicker.js.map +1 -1
  151. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  152. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  153. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  154. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  155. package/cjs-bundle/components/Search/Search.js +1 -1
  156. package/cjs-bundle/components/Search/Search.js.map +1 -1
  157. package/cjs-bundle/components/StatusBadge/components/DQAccordionDetailsContent.js +1 -1
  158. package/cjs-bundle/components/StatusBadge/components/DQAccordionDetailsContent.js.map +1 -1
  159. package/cjs-bundle/components/Template/TemplatePopover/index.js +1 -1
  160. package/cjs-bundle/components/Template/TemplatePopover/index.js.map +1 -1
  161. package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js +1 -1
  162. package/cjs-bundle/components/VirtualizedTable/VirtualizedTable.js.map +1 -1
  163. package/cjs-bundle/hocs/withAssetEditorLockHOC.js +1 -1
  164. package/cjs-bundle/hocs/withAssetEditorLockHOC.js.map +1 -1
  165. package/components/AddComment/Popover.js +1 -1
  166. package/components/AddComment/Popover.js.map +1 -1
  167. package/components/AddComment/components/Content.js +1 -1
  168. package/components/AddComment/components/Content.js.map +1 -1
  169. package/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
  170. package/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
  171. package/components/AssetEditorV2/components/MultipleAssetsToggle.js +1 -1
  172. package/components/AssetEditorV2/components/MultipleAssetsToggle.js.map +1 -1
  173. package/components/AssetEditorV2/components/SelectItem.d.ts.map +1 -1
  174. package/components/AssetEditorV2/components/SelectItem.js +1 -1
  175. package/components/AssetEditorV2/components/SelectItem.js.map +1 -1
  176. package/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js +1 -1
  177. package/components/BICOffsetPickerDialog/components/WellSection/AssetSearch.js.map +1 -1
  178. package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js +1 -1
  179. package/components/BICOffsetPickerDialog/components/WellSection/SectionItem.js.map +1 -1
  180. package/components/BICOffsetPickerDialog/components/WellSection/index.js +1 -1
  181. package/components/BICOffsetPickerDialog/components/WellSection/index.js.map +1 -1
  182. package/components/BICOffsetPickerDialog/index.js +1 -1
  183. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  184. package/components/Casing/CasingTable/CasingComponent.js +1 -1
  185. package/components/Casing/CasingTable/CasingComponent.js.map +1 -1
  186. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  187. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  188. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  189. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  190. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  191. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  192. package/components/Casing/CasingTableV2/components/EditComponentDialog.d.ts.map +1 -1
  193. package/components/Casing/CasingTableV2/components/EditComponentDialog.js +1 -1
  194. package/components/Casing/CasingTableV2/components/EditComponentDialog.js.map +1 -1
  195. package/components/CollapsableSidebar.js +1 -1
  196. package/components/CollapsableSidebar.js.map +1 -1
  197. package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts +3 -21
  198. package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts.map +1 -1
  199. package/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
  200. package/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
  201. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/assetDashboard/wellAssetDashboard/appWithDefaultSettings.d.ts +22 -2
  202. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/assetDashboard/wellAssetDashboard/appWithDefaultSettings.d.ts.map +1 -1
  203. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts +23 -2
  204. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithFracFleetId.d.ts.map +1 -1
  205. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithPadId.d.ts +20 -2
  206. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/completion/appWithPadId.d.ts.map +1 -1
  207. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithActiveWellId.d.ts +27 -2
  208. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithActiveWellId.d.ts.map +1 -1
  209. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts +49 -3
  210. package/components/DevCenter/AppsDataProvider/effects/__tests__/mocks/generalDashboard/drilling/appWithRigId.d.ts.map +1 -1
  211. package/components/DevCenter/AppsDataProvider/effects/__tests__/utils.test.d.ts +2 -0
  212. package/components/DevCenter/AppsDataProvider/effects/__tests__/utils.test.d.ts.map +1 -0
  213. package/components/DevCenter/AppsDataProvider/effects/constants.d.ts +2 -7
  214. package/components/DevCenter/AppsDataProvider/effects/constants.d.ts.map +1 -1
  215. package/components/DevCenter/AppsDataProvider/effects/constants.js.map +1 -1
  216. package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts +14 -10
  217. package/components/DevCenter/AppsDataProvider/effects/dataResolvers.d.ts.map +1 -1
  218. package/components/DevCenter/AppsDataProvider/effects/dataResolvers.js +1 -1
  219. package/components/DevCenter/AppsDataProvider/effects/dataResolvers.js.map +1 -1
  220. package/components/DevCenter/AppsDataProvider/effects/index.d.ts.map +1 -1
  221. package/components/DevCenter/AppsDataProvider/effects/useAppsData.d.ts +5 -5
  222. package/components/DevCenter/AppsDataProvider/effects/useAppsData.d.ts.map +1 -1
  223. package/components/DevCenter/AppsDataProvider/effects/useAppsData.js +1 -1
  224. package/components/DevCenter/AppsDataProvider/effects/useAppsData.js.map +1 -1
  225. package/components/DevCenter/AppsDataProvider/effects/utils.d.ts +33 -54
  226. package/components/DevCenter/AppsDataProvider/effects/utils.d.ts.map +1 -1
  227. package/components/DevCenter/AppsDataProvider/effects/utils.js +1 -1
  228. package/components/DevCenter/AppsDataProvider/effects/utils.js.map +1 -1
  229. package/components/DevCenter/AppsDataProvider/index.d.ts +1 -0
  230. package/components/DevCenter/AppsDataProvider/index.d.ts.map +1 -1
  231. package/components/DevCenter/AppsDataProvider/types.d.ts +216 -0
  232. package/components/DevCenter/AppsDataProvider/types.d.ts.map +1 -0
  233. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
  234. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  235. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  236. package/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.d.ts +2 -0
  237. package/components/DevCenter/DevCenterAppContainer/__tests__/getAppDataEntryFromContext.test.d.ts.map +1 -0
  238. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.d.ts.map +1 -1
  239. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js +1 -1
  240. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js.map +1 -1
  241. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js +1 -1
  242. package/components/DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js.map +1 -1
  243. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts +1 -1
  244. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.d.ts.map +1 -1
  245. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.js.map +1 -1
  246. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts +5 -3
  247. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.d.ts.map +1 -1
  248. package/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js.map +1 -1
  249. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js +1 -1
  250. package/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js.map +1 -1
  251. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js +1 -1
  252. package/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.js.map +1 -1
  253. package/components/DevCenter/DevCenterAppContainer/constants.d.ts +0 -2
  254. package/components/DevCenter/DevCenterAppContainer/constants.d.ts.map +1 -1
  255. package/components/DevCenter/DevCenterAppContainer/constants.js +1 -1
  256. package/components/DevCenter/DevCenterAppContainer/constants.js.map +1 -1
  257. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts +1 -1
  258. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.d.ts.map +1 -1
  259. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js +1 -1
  260. package/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.js.map +1 -1
  261. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts +7 -1
  262. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.d.ts.map +1 -1
  263. package/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.js.map +1 -1
  264. package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.d.ts +12 -0
  265. package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.d.ts.map +1 -0
  266. package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js +2 -0
  267. package/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.js.map +1 -0
  268. package/components/DevCenter/DevCenterAppContainer/types.d.ts +1 -6
  269. package/components/DevCenter/DevCenterAppContainer/types.d.ts.map +1 -1
  270. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js +1 -1
  271. package/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js.map +1 -1
  272. package/components/DocumentViewer/DocumentViewer.js +1 -1
  273. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  274. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  275. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  276. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  277. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  278. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  279. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  280. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  281. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  282. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  283. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  284. package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.d.ts.map +1 -1
  285. package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
  286. package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
  287. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  288. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  289. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  290. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  291. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  292. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  293. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  294. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  295. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  296. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  297. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  298. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  299. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  300. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  301. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  302. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  303. package/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js +1 -1
  304. package/components/Drillstring/BHAComponentsTable/components/shared/CancelButton.js.map +1 -1
  305. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  306. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  307. package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.d.ts.map +1 -1
  308. package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js +1 -1
  309. package/components/Drillstring/BHAComponentsTable/components/shared/ExpandCollapseButton.js.map +1 -1
  310. package/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js +1 -1
  311. package/components/Drillstring/BHAComponentsTable/components/shared/MoreButton.js.map +1 -1
  312. package/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js +1 -1
  313. package/components/Drillstring/BHAComponentsTable/components/shared/SaveButton.js.map +1 -1
  314. package/components/Drillstring/BHATable/BHAComponent.js +1 -1
  315. package/components/Drillstring/BHATable/BHAComponent.js.map +1 -1
  316. package/components/FeedItem/FeedItem.js +1 -1
  317. package/components/FeedItem/FeedItem.js.map +1 -1
  318. package/components/IconMenu/index.js +1 -1
  319. package/components/IconMenu/index.js.map +1 -1
  320. package/components/OffsetWellChips/Chip.js +1 -1
  321. package/components/OffsetWellChips/Chip.js.map +1 -1
  322. package/components/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  323. package/components/OffsetWellMap/OffsetWellMap.js +1 -1
  324. package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  325. package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
  326. package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
  327. package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.d.ts.map +1 -1
  328. package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js +1 -1
  329. package/components/OffsetWellPickerV2/components/Filter/ToggleFiltersButton.js.map +1 -1
  330. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.d.ts.map +1 -1
  331. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  332. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  333. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  334. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  335. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js +1 -1
  336. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/index.js.map +1 -1
  337. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.d.ts.map +1 -1
  338. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js +1 -1
  339. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/AssetSearch.js.map +1 -1
  340. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  341. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  342. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  343. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  344. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  345. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  346. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.d.ts.map +1 -1
  347. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  348. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  349. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  350. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  351. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  352. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  353. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  354. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  355. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js +1 -1
  356. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableRows.js.map +1 -1
  357. package/components/OffsetWellPickerV3/index.js +1 -1
  358. package/components/OffsetWellPickerV3/index.js.map +1 -1
  359. package/components/OffsetWellPickerV4/OffsetWellPickerV4.d.ts.map +1 -1
  360. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js +1 -1
  361. package/components/OffsetWellPickerV5/components/Filter/components/CustomDateFields/CustomDateFields.js.map +1 -1
  362. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js +1 -1
  363. package/components/OffsetWellPickerV5/components/OffsetWellPickerContent/OffsetWellPickerContent.js.map +1 -1
  364. package/components/PadOffsetsPicker/OffsetAssetChip.js +1 -1
  365. package/components/PadOffsetsPicker/OffsetAssetChip.js.map +1 -1
  366. package/components/PadOffsetsPicker/OffsetAssetsListExpander.d.ts.map +1 -1
  367. package/components/PadOffsetsPicker/OffsetAssetsListExpander.js +1 -1
  368. package/components/PadOffsetsPicker/OffsetAssetsListExpander.js.map +1 -1
  369. package/components/PadOffsetsPicker/PadOffsetsPicker.js +1 -1
  370. package/components/PadOffsetsPicker/PadOffsetsPicker.js.map +1 -1
  371. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  372. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  373. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  374. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js.map +1 -1
  375. package/components/Search/Search.js +1 -1
  376. package/components/Search/Search.js.map +1 -1
  377. package/components/StatusBadge/components/DQAccordionDetailsContent.d.ts.map +1 -1
  378. package/components/StatusBadge/components/DQAccordionDetailsContent.js +1 -1
  379. package/components/StatusBadge/components/DQAccordionDetailsContent.js.map +1 -1
  380. package/components/Template/TemplatePopover/index.d.ts.map +1 -1
  381. package/components/Template/TemplatePopover/index.js +1 -1
  382. package/components/Template/TemplatePopover/index.js.map +1 -1
  383. package/components/VirtualizedTable/VirtualizedTable.d.ts.map +1 -1
  384. package/components/VirtualizedTable/VirtualizedTable.js +1 -1
  385. package/components/VirtualizedTable/VirtualizedTable.js.map +1 -1
  386. package/hocs/withAssetEditorLockHOC.d.ts.map +1 -1
  387. package/hocs/withAssetEditorLockHOC.js +1 -1
  388. package/hocs/withAssetEditorLockHOC.js.map +1 -1
  389. package/mcp-server/server.mjs +6 -6
  390. package/package.json +1 -1
  391. package/tsconfig.tsbuildinfo +1 -1
  392. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandLess.js +0 -2
  393. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandLess.js.map +0 -1
  394. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandMore.js +0 -2
  395. package/cjs-bundle/ext-esm/@material-ui/icons/esm/ExpandMore.js.map +0 -1
  396. package/cjs-bundle/ext-esm/@material-ui/icons/esm/Map.js +0 -2
  397. package/cjs-bundle/ext-esm/@material-ui/icons/esm/Map.js.map +0 -1
  398. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldLess.js +0 -2
  399. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldLess.js.map +0 -1
  400. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldMore.js +0 -2
  401. package/cjs-bundle/ext-esm/@material-ui/icons/esm/UnfoldMore.js.map +0 -1
  402. package/cjs-bundle/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js +0 -2
  403. package/cjs-bundle/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js.map +0 -1
  404. package/ext-esm/@material-ui/icons/esm/ExpandLess.js +0 -2
  405. package/ext-esm/@material-ui/icons/esm/ExpandLess.js.map +0 -1
  406. package/ext-esm/@material-ui/icons/esm/ExpandMore.js +0 -2
  407. package/ext-esm/@material-ui/icons/esm/ExpandMore.js.map +0 -1
  408. package/ext-esm/@material-ui/icons/esm/Map.js +0 -2
  409. package/ext-esm/@material-ui/icons/esm/Map.js.map +0 -1
  410. package/ext-esm/@material-ui/icons/esm/UnfoldLess.js +0 -2
  411. package/ext-esm/@material-ui/icons/esm/UnfoldLess.js.map +0 -1
  412. package/ext-esm/@material-ui/icons/esm/UnfoldMore.js +0 -2
  413. package/ext-esm/@material-ui/icons/esm/UnfoldMore.js.map +0 -1
  414. package/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js +0 -2
  415. package/ext-esm/@material-ui/icons/esm/utils/createSvgIcon.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterAppDialogs.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport AppSettingsDialog from './AppSettingsDialog';\nimport type { AppSettingsDialogProps } from './AppSettingsDialog';\nimport type { AppDataEntry, DevCenterAppResource, DevCenterCurrentUser } from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport { AnnotationsList, AnnotationsProvider } from '~/components/Annotations';\n\ntype Props = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n appSettingsComponent?: AppSettingsDialogProps['AppSettingsComponent'];\n assetCompanyId?: number;\n assetIdForAnnotation?: number;\n currentUser: DevCenterCurrentUser;\n isAnnotationsListOpened: boolean;\n isAppSettingsDialogOpened: boolean;\n isMultiRig: boolean;\n disableAppAssetSelection?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: DevCenterAppContainerProps['layoutEnvironment'];\n onAppRemove?: () => void;\n onCloneDashboard?: DevCenterAppContainerProps['onCloneDashboard'];\n onSettingsChange: (value: unknown) => void;\n openIntercom?: () => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n};\n\n/**\n * The two overlays the container can open on top of a rendered app: its settings dialog and the\n * annotations list. Both mount only while open, so their data hooks stay idle otherwise.\n */\nexport const DevCenterAppDialogs: FC<Props> = ({\n app,\n appData,\n appName,\n appSettingsComponent,\n assetCompanyId,\n assetIdForAnnotation,\n currentUser,\n isAnnotationsListOpened,\n isAppSettingsDialogOpened,\n isMultiRig,\n disableAppAssetSelection,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard,\n onSettingsChange,\n openIntercom,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n}) => (\n <>\n {isAppSettingsDialogOpened && (\n <AppSettingsDialog\n AppSettingsComponent={appSettingsComponent}\n app={app}\n appData={appData}\n appName={appName}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n rigId={appData.rig?.id ?? null}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n\n {isAnnotationsListOpened && !!assetCompanyId && !!assetIdForAnnotation && (\n <AnnotationsProvider>\n <AnnotationsList\n appId={app.app.id}\n appSettings={app.settings}\n appTitle={appName}\n assetCompanyId={assetCompanyId}\n assetId={assetIdForAnnotation}\n currentUser={currentUser}\n onClose={toggleAnnotationsList}\n />\n </AnnotationsProvider>\n )}\n </>\n);\n"],"names":["_ref","_appData$rig$id","_appData$rig","app","appData","appName","appSettingsComponent","assetCompanyId","assetIdForAnnotation","currentUser","isAnnotationsListOpened","isAppSettingsDialogOpened","isMultiRig","disableAppAssetSelection","isSettingsDialogHidden","layoutEnvironment","onAppRemove","onCloneDashboard","onSettingsChange","openIntercom","toggleAnnotationsList","toggleAppSettingsDialog","_jsxs","_Fragment","children","_jsx","jsx","AppSettingsDialog","AppSettingsComponent","rigId","rig","id","AnnotationsProvider","AnnotationsList","appId","appSettings","settings","appTitle","assetId","onClose"],"mappings":"8XAmC8C,SAAHA,GAAA,IAAAC,EAAAC,EACzCC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,eACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,wBACAC,IAAAA,0BACAC,IAAAA,WACAC,IAAAA,yBACAC,IAAAA,uBACAC,IAAAA,kBACAC,IAAAA,YACAC,IAAAA,iBACAC,IAAAA,iBACAC,IAAAA,aACAC,IAAAA,sBACAC,IAAAA,wBAAuB,OAEvBC,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SACGb,CAAAA,GACCc,EAAAC,IAACC,UAAiB,CAChBC,qBAAsBtB,EACtBH,IAAKA,EACLC,QAASA,EACTC,QAASA,EACTI,YAAaA,EACbI,yBAA0BA,EAC1BD,WAAYA,EACZE,uBAAwBA,EACxBC,kBAAmBA,EACnBC,YAAaA,EACbC,iBAAkBA,EAClBC,iBAAkBA,EAClBC,aAAcA,EACdU,cAAK5B,UAAAC,EAAEE,EAAQ0B,wBAAR5B,EAAa6B,kBAAM,KAC1BV,wBAAyBA,IAI5BX,KAA6BH,KAAoBC,GAChDiB,EAAAC,IAACM,sBAAmB,CAAAR,SAClBC,MAACQ,EAAe,CACdC,MAAO/B,EAAIA,IAAI4B,GACfI,YAAahC,EAAIiC,SACjBC,SAAUhC,EACVE,eAAgBA,EAChB+B,QAAS9B,EACTC,YAAaA,EACb8B,QAASnB,QAId"}
1
+ {"version":3,"file":"DevCenterAppDialogs.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppDialogs.tsx"],"sourcesContent":["import type { FC } from 'react';\n\nimport AppSettingsDialog from './AppSettingsDialog';\nimport type { AppSettingsDialogProps } from './AppSettingsDialog';\nimport type { AppDataEntry, DevCenterAppResource, DevCenterCurrentUser } from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport { AnnotationsList, AnnotationsProvider } from '~/components/Annotations';\n\ntype Props = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appName: string;\n appSettingsComponent?: AppSettingsDialogProps['AppSettingsComponent'];\n assetCompanyId?: number | null;\n assetIdForAnnotation?: number;\n currentUser: DevCenterCurrentUser;\n isAnnotationsListOpened: boolean;\n isAppSettingsDialogOpened: boolean;\n isMultiRig: boolean;\n disableAppAssetSelection?: boolean;\n isSettingsDialogHidden?: boolean;\n layoutEnvironment?: DevCenterAppContainerProps['layoutEnvironment'];\n onAppRemove?: () => void;\n onCloneDashboard?: DevCenterAppContainerProps['onCloneDashboard'];\n onSettingsChange: (value: unknown) => void;\n openIntercom?: () => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n};\n\n/**\n * The two overlays the container can open on top of a rendered app: its settings dialog and the\n * annotations list. Both mount only while open, so their data hooks stay idle otherwise.\n */\nexport const DevCenterAppDialogs: FC<Props> = ({\n app,\n appData,\n appName,\n appSettingsComponent,\n assetCompanyId,\n assetIdForAnnotation,\n currentUser,\n isAnnotationsListOpened,\n isAppSettingsDialogOpened,\n isMultiRig,\n disableAppAssetSelection,\n isSettingsDialogHidden,\n layoutEnvironment,\n onAppRemove,\n onCloneDashboard,\n onSettingsChange,\n openIntercom,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n}) => (\n <>\n {isAppSettingsDialogOpened && (\n <AppSettingsDialog\n AppSettingsComponent={appSettingsComponent}\n app={app}\n appData={appData}\n appName={appName}\n currentUser={currentUser}\n disableAppAssetSelection={disableAppAssetSelection}\n isMultiRig={isMultiRig}\n isSettingsDialogHidden={isSettingsDialogHidden}\n layoutEnvironment={layoutEnvironment}\n onAppRemove={onAppRemove}\n onCloneDashboard={onCloneDashboard}\n onSettingsChange={onSettingsChange}\n openIntercom={openIntercom}\n rigId={appData.rig?.id ?? null}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n )}\n\n {isAnnotationsListOpened && !!assetCompanyId && !!assetIdForAnnotation && (\n <AnnotationsProvider>\n <AnnotationsList\n appId={app.app.id}\n appSettings={app.settings}\n appTitle={appName}\n assetCompanyId={assetCompanyId}\n assetId={assetIdForAnnotation}\n currentUser={currentUser}\n onClose={toggleAnnotationsList}\n />\n </AnnotationsProvider>\n )}\n </>\n);\n"],"names":["_ref","_appData$rig$id","_appData$rig","app","appData","appName","appSettingsComponent","assetCompanyId","assetIdForAnnotation","currentUser","isAnnotationsListOpened","isAppSettingsDialogOpened","isMultiRig","disableAppAssetSelection","isSettingsDialogHidden","layoutEnvironment","onAppRemove","onCloneDashboard","onSettingsChange","openIntercom","toggleAnnotationsList","toggleAppSettingsDialog","_jsxs","_Fragment","children","_jsx","jsx","AppSettingsDialog","AppSettingsComponent","rigId","rig","id","AnnotationsProvider","AnnotationsList","appId","appSettings","settings","appTitle","assetId","onClose"],"mappings":"8XAmC8C,SAAHA,GAAA,IAAAC,EAAAC,EACzCC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,eACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,wBACAC,IAAAA,0BACAC,IAAAA,WACAC,IAAAA,yBACAC,IAAAA,uBACAC,IAAAA,kBACAC,IAAAA,YACAC,IAAAA,iBACAC,IAAAA,iBACAC,IAAAA,aACAC,IAAAA,sBACAC,IAAAA,wBAAuB,OAEvBC,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SACGb,CAAAA,GACCc,EAAAC,IAACC,UAAiB,CAChBC,qBAAsBtB,EACtBH,IAAKA,EACLC,QAASA,EACTC,QAASA,EACTI,YAAaA,EACbI,yBAA0BA,EAC1BD,WAAYA,EACZE,uBAAwBA,EACxBC,kBAAmBA,EACnBC,YAAaA,EACbC,iBAAkBA,EAClBC,iBAAkBA,EAClBC,aAAcA,EACdU,cAAK5B,UAAAC,EAAEE,EAAQ0B,wBAAR5B,EAAa6B,kBAAM,KAC1BV,wBAAyBA,IAI5BX,KAA6BH,KAAoBC,GAChDiB,EAAAC,IAACM,sBAAmB,CAAAR,SAClBC,MAACQ,EAAe,CACdC,MAAO/B,EAAIA,IAAI4B,GACfI,YAAahC,EAAIiC,SACjBC,SAAUhC,EACVE,eAAgBA,EAChB+B,QAAS9B,EACTC,YAAaA,EACb8B,QAASnB,QAId"}
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterAppView.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.tsx"],"sourcesContent":["import type { ComponentType, FC } from 'react';\n\nimport type { AppDataEntry, DevCenterAppResource, LayoutEnvironment } from '../../types';\nimport type { AppAvailabilityFlags } from '../../utils';\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\nconst DEFAULT_AVAILABILITY: AppAvailabilityFlags = {\n hasProductSubscription: true,\n isAppSubscribedForAsset: true,\n};\n\nexport const EMPTY_STATE_TEST_ID = 'DevCenterAppView_EmptyState';\nexport const LOADER_TEST_ID = 'DevCenterAppView_Loader';\n\ntype Props = {\n /** A third-party app bundle. Its props are assembled dynamically by the host. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above\n AppComponent: ComponentType<any> | null;\n app: DevCenterAppResource;\n appData: AppDataEntry;\n appProps: Record<string, unknown>;\n availability?: AppAvailabilityFlags;\n isCLIApp: boolean;\n isLoading: boolean;\n isMultiRig: boolean;\n layoutEnvironment: LayoutEnvironment | null;\n openIntercom: () => void;\n segment: string;\n toggleAppSettingsDialog: () => void;\n onError?: (error: Error) => void;\n};\n\nconst DevCenterAppView: FC<Props> = ({\n AppComponent,\n app,\n appData,\n appProps,\n availability = DEFAULT_AVAILABILITY,\n isCLIApp,\n isLoading,\n isMultiRig,\n layoutEnvironment,\n openIntercom,\n segment,\n toggleAppSettingsDialog,\n onError,\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={EMPTY_STATE_TEST_ID}\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={LOADER_TEST_ID} />\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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?.length) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\n image=\"assetHasNoData\"\n subTitle={actions}\n title=\"Asset unavailable\"\n />\n </AppMessageWrapper>\n );\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\nexport default DevCenterAppView;\n"],"names":["getNoActiveWellMessage","rigName","concat","DEFAULT_AVAILABILITY","hasProductSubscription","isAppSubscribedForAsset","EMPTY_STATE_TEST_ID","_ref","_appCommons$appSettin","AppComponent","app","appData","appProps","_ref$availability","availability","isCLIApp","isLoading","isMultiRig","layoutEnvironment","openIntercom","segment","toggleAppSettingsDialog","onError","appCommons","useAppCommonsInternal","effectiveSettings","appSettings","settings","package","_jsx","AppMessageWrapper","logo","headerLogo","children","EmptyState","testId","title","subTitle","image","jsx","showHeader","LoaderLogo","className","styles","loader","_ref2","subtitle","_app$settings","_appData$wells","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 type { ComponentType, FC } from 'react';\n\nimport type { AppDataAssets, AppDataEntry } from '../../../AppsDataProvider/types';\nimport type { DevCenterAppResource, LayoutEnvironment } from '../../types';\nimport type { AppAvailabilityFlags } from '../../utils';\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 | null): string =>\n `${rigName} has no active well`;\n\nconst DEFAULT_AVAILABILITY: AppAvailabilityFlags = {\n hasProductSubscription: true,\n isAppSubscribedForAsset: true,\n};\n\nexport const EMPTY_STATE_TEST_ID = 'DevCenterAppView_EmptyState';\nexport const LOADER_TEST_ID = 'DevCenterAppView_Loader';\n\ntype AppViewData = AppDataAssets & Pick<AppDataEntry, 'settings'>;\n\ntype Props = {\n /** A third-party app bundle. Its props are assembled dynamically by the host. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- see the note above\n AppComponent: ComponentType<any> | null;\n app: DevCenterAppResource;\n appData: AppViewData;\n appProps: Record<string, unknown>;\n availability?: AppAvailabilityFlags;\n isCLIApp: boolean;\n isLoading: boolean;\n isMultiRig: boolean;\n layoutEnvironment: LayoutEnvironment | null;\n openIntercom: () => void;\n segment: string;\n toggleAppSettingsDialog: () => void;\n onError?: (error: Error) => void;\n};\n\nconst DevCenterAppView: FC<Props> = ({\n AppComponent,\n app,\n appData,\n appProps,\n availability = DEFAULT_AVAILABILITY,\n isCLIApp,\n isLoading,\n isMultiRig,\n layoutEnvironment,\n openIntercom,\n segment,\n toggleAppSettingsDialog,\n onError,\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={EMPTY_STATE_TEST_ID}\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={LOADER_TEST_ID} />\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\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?.length) {\n return (\n <AppMessageWrapper logo={app.headerLogo}>\n <EmptyState\n testId={EMPTY_STATE_TEST_ID}\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={EMPTY_STATE_TEST_ID}\n image=\"assetHasNoData\"\n subTitle={actions}\n title=\"Asset unavailable\"\n />\n </AppMessageWrapper>\n );\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\nexport default DevCenterAppView;\n"],"names":["getNoActiveWellMessage","rigName","concat","DEFAULT_AVAILABILITY","hasProductSubscription","isAppSubscribedForAsset","EMPTY_STATE_TEST_ID","_ref","_appCommons$appSettin","AppComponent","app","appData","appProps","_ref$availability","availability","isCLIApp","isLoading","isMultiRig","layoutEnvironment","openIntercom","segment","toggleAppSettingsDialog","onError","appCommons","useAppCommonsInternal","effectiveSettings","appSettings","settings","package","_jsx","AppMessageWrapper","logo","headerLogo","children","EmptyState","testId","title","subTitle","image","jsx","showHeader","LoaderLogo","className","styles","loader","_ref2","subtitle","_app$settings","_appData$wells","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,2 +1,2 @@
1
- "use strict";var e=require("@material-ui/icons"),r=require("@material-ui/core"),i=require("./FullscreenButton.css.js"),u=require("react/jsx-runtime");module.exports=function(a){var n=a.setIsMaximized;return u.jsx(r.IconButton,{"aria-label":"Maximize app",className:i.menuIcon,onClick:function(){return n(!0)},size:"small",children:u.jsx(e.Launch,{})})};
1
+ "use strict";var e=require("@material-ui/icons/Launch"),r=require("@material-ui/core"),i=require("./FullscreenButton.css.js"),t=require("react/jsx-runtime");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=u(e);module.exports=function(e){var u=e.setIsMaximized;return t.jsx(r.IconButton,{"aria-label":"Maximize app",className:i.menuIcon,onClick:function(){return u(!0)},size:"small",children:t.jsx(a.default,{})})};
2
2
  //# sourceMappingURL=FullscreenButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FullscreenButton.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { Launch as LaunchIcon } from '@material-ui/icons';\nimport { IconButton } from '@material-ui/core';\n\nimport styles from './FullscreenButton.css';\n\ntype Props = {\n setIsMaximized: (isMaximized: boolean) => void;\n};\n\nconst FullscreenButton: FC<Props> = ({ setIsMaximized }) => (\n <IconButton\n aria-label=\"Maximize app\"\n className={styles.menuIcon}\n onClick={() => setIsMaximized(true)}\n size=\"small\"\n >\n <LaunchIcon />\n </IconButton>\n);\n\nexport default FullscreenButton;\n"],"names":["_ref","setIsMaximized","_jsx","IconButton","className","styles","menuIcon","onClick","size","children","LaunchIcon","Launch"],"mappings":"qKAUoC,SAAHA,GAAA,IAAMC,IAAAA,eAAc,OACnDC,EAAAA,IAACC,EAAAA,WAAU,CACT,aAAW,eACXC,UAAWC,EAAOC,SAClBC,QAAS,WAAA,OAAMN,GAAe,EAAM,EACpCO,KAAK,QAAOC,SAEZP,EAAAA,IAACQ,EAAUC,OAAA,KACA"}
1
+ {"version":3,"file":"FullscreenButton.js","sources":["../../../../../../../src/components/DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport LaunchIcon from '@material-ui/icons/Launch';\nimport { IconButton } from '@material-ui/core';\n\nimport styles from './FullscreenButton.css';\n\ntype Props = {\n setIsMaximized: (isMaximized: boolean) => void;\n};\n\nconst FullscreenButton: FC<Props> = ({ setIsMaximized }) => (\n <IconButton\n aria-label=\"Maximize app\"\n className={styles.menuIcon}\n onClick={() => setIsMaximized(true)}\n size=\"small\"\n >\n <LaunchIcon />\n </IconButton>\n);\n\nexport default FullscreenButton;\n"],"names":["_ref","setIsMaximized","_jsx","IconButton","className","styles","menuIcon","onClick","size","children","LaunchIcon"],"mappings":"+PAUoC,SAAHA,GAAA,IAAMC,IAAAA,eAAc,OACnDC,EAAAA,IAACC,EAAAA,WAAU,CACT,aAAW,eACXC,UAAWC,EAAOC,SAClBC,QAAS,WAAA,OAAMN,GAAe,EAAM,EACpCO,KAAK,QAAOC,SAEZP,EAAAA,IAACQ,EAAU,QAAA,KACA"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@material-ui/icons"),s=require("./AppActions/AppActions.js");require("@babel/runtime/helpers/slicedToArray"),require("react"),require("./CommentsSwitch/CommentsSwitchContext.js");var o=require("react/jsx-runtime"),r=require("./CommentsSwitch/CommentsSwitchButton.js"),n=require("./FullscreenButton/FullscreenButton.js"),i=require("./NonPriorityMenus.js"),t=require("./PriorityMenus.js"),c=require("../constants.js"),u=require("../../../Icons/AnnotationIcon.js"),p=require("../../../HelpCenter/HelpCenterIcon.js");require("../../../../componentsV2/Text/Text.js"),require("../../../../componentsV2/Grid/Grid.js"),require("../../../../componentsV2/Grid/Cell.js"),require("@babel/runtime/helpers/defineProperty"),require("classnames"),require("../../../../componentsV2/Header/Header.scss.js"),require("../../../../componentsV2/Button/Button.js");var a=require("../../../../componentsV2/ButtonIcon/ButtonIcon.js"),l=require("../../../../componentsV2/Tooltip/Tooltip.js");require("../../../../componentsV2/Popover/Popover.js"),require("../../../../componentsV2/PopoverPanel/PopoverPanel.js"),require("../../../../componentsV2/Radio/Radio.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("@material-ui/core"),require("../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../componentsV2/Checkbox/Checkbox.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../componentsV2/TextInput/TextInput.js"),require("../../../../componentsV2/TextInputNext/TextInputNext.js"),require("../../../../componentsV2/TextArea/TextArea.js"),require("../../../../componentsV2/Label/Label.js"),require("lodash"),require("../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../componentsV2/TextLink/TextLink.js"),require("../../../../componentsV2/Chip/Chip.js"),require("../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../componentsV2/Avatar/Avatar.js"),require("../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../componentsV2/Paper/Paper.js"),require("../../../../componentsV2/ModalWindow/ModalWindow.js"),require("uuid"),require("./DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("./DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("./IsInsideIsolatedDcAppProvider.js"),require("../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../componentsV2/Menu/Menu.js"),require("../../../../componentsV2/utils.js"),require("@icon-park/react/es/all"),require("../../../../icons/IconParkProvider.js"),require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/DragOne.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/InfoRounded.js"),require("../../../../icons/customIcons/icons/FlameFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/PinOne.js"),require("../../../../icons/customIcons/icons/PinOneCrossed.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../icons/customIcons/icons/ErrorOps.js"),require("../../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../../icons/customIcons/icons/CriticalOps.js"),require("../../../../icons/customIcons/icons/Company.js"),require("../../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../../icons/customIcons/icons/Connect.js"),require("../../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../../icons/customIcons/icons/Feed.js"),require("../../../../icons/customIcons/icons/Prompt.js"),require("../../../../icons/customIcons/icons/Companies.js"),require("../../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../../icons/customIcons/icons/Key.js"),require("../../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../../icons/customIcons/icons/MappingManual.js"),require("../../../../icons/customIcons/icons/Mapping.js"),require("../../../../icons/customIcons/icons/Metrics.js"),require("../../../../icons/customIcons/icons/Drops.js"),require("../../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../../icons/customIcons/icons/Template.js"),require("../../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../../icons/customIcons/icons/UnitConversion.js"),require("../../../../icons/customIcons/icons/NPT.js"),require("../../../../icons/customIcons/icons/GuidedFrac.js"),require("../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../componentsV2/Counter/Counter.js"),require("../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../componentsV2/TemplatesControl/Store/utils.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../componentsV2/TemplatesControl/types.js"),require("../../../UserMention/utils/index.js"),require("../../../../utils/convert.js"),require("../../../../constants/completion.js"),require("moment"),require("../../../../constants/alerts.js"),require("../../../../utils/casing/validation.js"),require("lodash/mean"),require("../../../../constants/streamSourceType.js"),require("lodash/get"),require("file-saver"),require("query-string"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../GradientManager/configuration/constants.js"),require("../../../../utils/drillstring/conversion.js"),require("lodash/set"),require("lodash/cloneDeep"),require("lodash/isNumber"),require("lodash/has"),require("../../../../utils/ga.js"),require("../../../../utils/goalsConfig/goalsConfig.js"),require("../../../../utils/lasParser.js"),require("../../../../utils/main.js"),require("../../../../utils/metrics/metricsConfig.js"),require("../../../../utils/mobileDetect.js"),require("../../../../utils/feed.js"),require("../../../../utils/reports.js"),require("moment-timezone"),require("@babel/runtime/helpers/typeof"),require("../../../../utils/dashboardReports.js"),require("../../../../utils/env.js"),require("file-extension"),require("image-extensions"),require("video-extensions"),require("../../../../utils/jsonaDataFormatter.js"),require("../../../../utils/bha.js"),require("jsona"),require("../../../../clients/jsonApi/index.js"),require("../../../../utils/charts/Styles.scss.js"),require("../../../../utils/getSingleAsset.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../permissions/constants/index.js"),require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../componentsV2/Switch/Switch.js"),require("../../../../componentsV2/Tabs/Tabs.js"),require("../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../componentsV2/AppFooter/AppFooter.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../DevCenterRouterContext/DevCenterRouterContext.js"),require("../../DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router-dom"),require("../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../AppIcon/AppIcon.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("querystring"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../StatusBadge/constants.js"),require("lodash/unset"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("../../../../clients/api/rateLimiter.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../componentsV2/AppPanel/AppPanelsContext.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js"),require("highcharts"),require("../../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js"),require("../../../../componentsV2/Autocomplete/Autocomplete.js"),require("../../../../componentsV2/Select/Select.js"),require("../../../../componentsV2/AppPanel/AppPanel.js"),require("../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../componentsV2/Slider/constants.js"),require("../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../componentsV2/Slider/Slider.scss.js"),require("../../../../componentsV2/SliderAdvanced/SliderAdvanced.js"),require("react-color"),require("../../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js"),require("../../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js"),require("../../../../componentsV2/ColorPicker/ColorPicker.scss.js"),require("../../../../componentsV2/ChartHelper/ChartHelper.scss.js"),require("../../../../componentsV2/Hotkey/Hotkey.js"),require("@tanstack/react-query"),require("../../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js"),require("../../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js");exports.LegacyAppActions=function(q){var m=q.app,j=q.currentUser,d=q.devCenterRouter,A=q.isAnnotationsSupported,V=q.isCLIApp,I=q.isCommentsEnabled,C=q.isInsideNewMobileApp,h=q.isMaximized,S=q.isMobileView,g=q.mainMenuItems,v=q.secondaryMenuItems,P=q.onReportBugClick,x=q.setIsFullscreenModalMode,T=q.setIsMaximized,b=q.toggleAnnotationsList,M=q.toggleAppSettingsDialog,D=q.onHelpCenterClick;return o.jsxs(s.AppActions,{children:[I&&o.jsx(r.CommentsSwitchButton,{currentUser:j}),A&&o.jsx(l.Tooltip,{title:c.TOOLTIP_TITLES.addAnnotation,placement:"top",disabled:!!S,children:o.jsx(a.ButtonIcon,{size:"small",type:"tertiaryBg",onClick:b,testId:"".concat(c.PAGE_NAME,"_addAnnotation"),children:o.jsx(u,{})})}),P&&!V&&o.jsx(l.Tooltip,{title:c.TOOLTIP_TITLES.reportBug,placement:"top",disabled:!!S,children:o.jsx(a.ButtonIcon,{size:"small",type:"tertiaryBg",onClick:function(){return null==P?void 0:P()},children:o.jsx(e.BugReport,{})})}),o.jsx(l.Tooltip,{placement:"top",disabled:!!S||V,title:c.TOOLTIP_TITLES.helpCenter,children:o.jsx(a.ButtonIcon,{testId:"".concat(c.PAGE_NAME,"_helpContent"),onClick:function(){return null==D?void 0:D()},disabled:V,size:"small",type:"tertiaryBg",children:o.jsx(p.HelpCenterIcon,{appId:m.app.id,helpContentUpdatedAt:m.help_content_updated_at})})}),!S||h||C?o.jsxs(o.Fragment,{children:[o.jsx(t.PriorityMenus,{menuItems:g,devCenterRouter:d,isMobileView:S}),o.jsx(i.NonPriorityMenus,{devCenterRouter:d,isMaximized:h,isMobileView:S,menuItems:v,setIsFullscreenModalMode:x,setIsMaximized:T,toggleAppSettingsDialog:M})]}):o.jsx(n,{setIsMaximized:T})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@material-ui/icons/BugReport"),s=require("./AppActions/AppActions.js");require("@babel/runtime/helpers/slicedToArray"),require("react"),require("./CommentsSwitch/CommentsSwitchContext.js");var o=require("react/jsx-runtime"),r=require("./CommentsSwitch/CommentsSwitchButton.js"),n=require("./FullscreenButton/FullscreenButton.js"),i=require("./NonPriorityMenus.js"),t=require("./PriorityMenus.js"),c=require("../constants.js"),u=require("../../../Icons/AnnotationIcon.js"),p=require("../../../HelpCenter/HelpCenterIcon.js");require("../../../../componentsV2/Text/Text.js"),require("../../../../componentsV2/Grid/Grid.js"),require("../../../../componentsV2/Grid/Cell.js"),require("@babel/runtime/helpers/defineProperty"),require("classnames"),require("../../../../componentsV2/Header/Header.scss.js"),require("../../../../componentsV2/Button/Button.js");var a=require("../../../../componentsV2/ButtonIcon/ButtonIcon.js"),l=require("../../../../componentsV2/Tooltip/Tooltip.js");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../../componentsV2/Popover/Popover.js"),require("../../../../componentsV2/PopoverPanel/PopoverPanel.js"),require("../../../../componentsV2/Radio/Radio.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("@material-ui/core"),require("../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../componentsV2/Checkbox/Checkbox.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../componentsV2/TextInput/TextInput.js"),require("../../../../componentsV2/TextInputNext/TextInputNext.js"),require("../../../../componentsV2/TextArea/TextArea.js"),require("../../../../componentsV2/Label/Label.js"),require("lodash"),require("../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../componentsV2/TextLink/TextLink.js"),require("../../../../componentsV2/Chip/Chip.js"),require("../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../componentsV2/Avatar/Avatar.js"),require("../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../componentsV2/Paper/Paper.js"),require("../../../../componentsV2/ModalWindow/ModalWindow.js"),require("uuid"),require("./DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("./DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("./IsInsideIsolatedDcAppProvider.js"),require("../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../componentsV2/Menu/Menu.js"),require("../../../../componentsV2/utils.js"),require("@icon-park/react/es/all"),require("../../../../icons/IconParkProvider.js"),require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/DragOne.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/InfoRounded.js"),require("../../../../icons/customIcons/icons/FlameFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/PinOne.js"),require("../../../../icons/customIcons/icons/PinOneCrossed.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../icons/customIcons/icons/ErrorOps.js"),require("../../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../../icons/customIcons/icons/CriticalOps.js"),require("../../../../icons/customIcons/icons/Company.js"),require("../../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../../icons/customIcons/icons/Connect.js"),require("../../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../../icons/customIcons/icons/Feed.js"),require("../../../../icons/customIcons/icons/Prompt.js"),require("../../../../icons/customIcons/icons/Companies.js"),require("../../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../../icons/customIcons/icons/Key.js"),require("../../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../../icons/customIcons/icons/MappingManual.js"),require("../../../../icons/customIcons/icons/Mapping.js"),require("../../../../icons/customIcons/icons/Metrics.js"),require("../../../../icons/customIcons/icons/Drops.js"),require("../../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../../icons/customIcons/icons/Template.js"),require("../../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../../icons/customIcons/icons/UnitConversion.js"),require("../../../../icons/customIcons/icons/NPT.js"),require("../../../../icons/customIcons/icons/GuidedFrac.js"),require("../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../componentsV2/Counter/Counter.js"),require("../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../componentsV2/TemplatesControl/Store/utils.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../componentsV2/TemplatesControl/types.js"),require("../../../UserMention/utils/index.js"),require("../../../../utils/convert.js"),require("../../../../constants/completion.js"),require("moment"),require("../../../../constants/alerts.js"),require("../../../../utils/casing/validation.js"),require("lodash/mean"),require("../../../../constants/streamSourceType.js"),require("lodash/get"),require("file-saver"),require("query-string"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../GradientManager/configuration/constants.js"),require("../../../../utils/drillstring/conversion.js"),require("lodash/set"),require("lodash/cloneDeep"),require("lodash/isNumber"),require("lodash/has"),require("../../../../utils/ga.js"),require("../../../../utils/goalsConfig/goalsConfig.js"),require("../../../../utils/lasParser.js"),require("../../../../utils/main.js"),require("../../../../utils/metrics/metricsConfig.js"),require("../../../../utils/mobileDetect.js"),require("../../../../utils/feed.js"),require("../../../../utils/reports.js"),require("moment-timezone"),require("@babel/runtime/helpers/typeof"),require("../../../../utils/dashboardReports.js"),require("../../../../utils/env.js"),require("file-extension"),require("image-extensions"),require("video-extensions"),require("../../../../utils/jsonaDataFormatter.js"),require("../../../../utils/bha.js"),require("jsona"),require("../../../../clients/jsonApi/index.js"),require("../../../../utils/charts/Styles.scss.js"),require("../../../../utils/getSingleAsset.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../permissions/constants/index.js"),require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../componentsV2/Switch/Switch.js"),require("../../../../componentsV2/Tabs/Tabs.js"),require("../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../componentsV2/AppFooter/AppFooter.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../DevCenterRouterContext/DevCenterRouterContext.js"),require("../../DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router-dom"),require("../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../AppIcon/AppIcon.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("querystring"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../StatusBadge/constants.js"),require("lodash/unset"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("../../../../clients/api/rateLimiter.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../componentsV2/AppPanel/AppPanelsContext.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../componentsV2/ChartAxisExtreme/ChartAxisExtreme.scss.js"),require("highcharts"),require("../../../../componentsV2/ChartAxisExtreme/ChartAxisExtremeDragTracker.js"),require("../../../../componentsV2/Autocomplete/Autocomplete.js"),require("../../../../componentsV2/Select/Select.js"),require("../../../../componentsV2/AppPanel/AppPanel.js"),require("../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../componentsV2/Slider/constants.js"),require("../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../componentsV2/Slider/Slider.scss.js"),require("../../../../componentsV2/SliderAdvanced/SliderAdvanced.js"),require("react-color"),require("../../../../componentsV2/ColorPicker/Swatches/Swatches.scss.js"),require("../../../../componentsV2/ColorPicker/OpacityDragtracker/OpacityDragTracker.scss.js"),require("../../../../componentsV2/ColorPicker/ColorPicker.scss.js"),require("../../../../componentsV2/ChartHelper/ChartHelper.scss.js"),require("../../../../componentsV2/Hotkey/Hotkey.js"),require("@tanstack/react-query"),require("../../../../componentsV2/InterventionEventSelector/useInterventionUnitEvents.js"),require("../../../../componentsV2/InterventionEventSelector/InterventionEventSelector.scss.js");var m=q(e);exports.LegacyAppActions=function(e){var q=e.app,j=e.currentUser,d=e.devCenterRouter,A=e.isAnnotationsSupported,V=e.isCLIApp,I=e.isCommentsEnabled,C=e.isInsideNewMobileApp,h=e.isMaximized,S=e.isMobileView,g=e.mainMenuItems,v=e.secondaryMenuItems,P=e.onReportBugClick,x=e.setIsFullscreenModalMode,T=e.setIsMaximized,b=e.toggleAnnotationsList,M=e.toggleAppSettingsDialog,D=e.onHelpCenterClick;return o.jsxs(s.AppActions,{children:[I&&o.jsx(r.CommentsSwitchButton,{currentUser:j}),A&&o.jsx(l.Tooltip,{title:c.TOOLTIP_TITLES.addAnnotation,placement:"top",disabled:!!S,children:o.jsx(a.ButtonIcon,{size:"small",type:"tertiaryBg",onClick:b,testId:"".concat(c.PAGE_NAME,"_addAnnotation"),children:o.jsx(u,{})})}),P&&!V&&o.jsx(l.Tooltip,{title:c.TOOLTIP_TITLES.reportBug,placement:"top",disabled:!!S,children:o.jsx(a.ButtonIcon,{size:"small",type:"tertiaryBg",onClick:function(){return null==P?void 0:P()},children:o.jsx(m.default,{})})}),o.jsx(l.Tooltip,{placement:"top",disabled:!!S||V,title:c.TOOLTIP_TITLES.helpCenter,children:o.jsx(a.ButtonIcon,{testId:"".concat(c.PAGE_NAME,"_helpContent"),onClick:function(){return null==D?void 0:D()},disabled:V,size:"small",type:"tertiaryBg",children:o.jsx(p.HelpCenterIcon,{appId:q.app.id,helpContentUpdatedAt:q.help_content_updated_at})})}),!S||h||C?o.jsxs(o.Fragment,{children:[o.jsx(t.PriorityMenus,{menuItems:g,devCenterRouter:d,isMobileView:S}),o.jsx(i.NonPriorityMenus,{devCenterRouter:d,isMaximized:h,isMobileView:S,menuItems:v,setIsFullscreenModalMode:x,setIsMaximized:T,toggleAppSettingsDialog:M})]}):o.jsx(n,{setIsMaximized:T})]})};
2
2
  //# sourceMappingURL=LegacyAppActions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LegacyAppActions.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { BugReport as BugReportIcon } from '@material-ui/icons';\n\nimport { AppActions } from './AppActions/AppActions';\nimport { CommentsSwitchButton } from './CommentsSwitch';\nimport FullscreenButton from './FullscreenButton';\nimport { NonPriorityMenus } from './NonPriorityMenus';\nimport { PriorityMenus } from './PriorityMenus';\nimport { PAGE_NAME, TOOLTIP_TITLES } from '../constants';\nimport type {\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n} from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport AnnotationIcon from '~/components/Icons/AnnotationIcon';\nimport { HelpCenterIcon } from '~/components/HelpCenter';\nimport { ButtonIcon, Tooltip } from '~/componentsV2';\n\ntype Props = {\n app: DevCenterAppResource;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n isAnnotationsSupported: boolean;\n isCLIApp: boolean;\n isCommentsEnabled: boolean;\n isInsideNewMobileApp: boolean;\n isMaximized: boolean;\n isMobileView: boolean;\n mainMenuItems: DevCenterMenuItem[];\n secondaryMenuItems: DevCenterMenuItem[];\n onReportBugClick?: (() => void) | null;\n setIsFullscreenModalMode: NonNullable<DevCenterAppContainerProps['setIsFullscreenModalMode']>;\n setIsMaximized: (isMaximized: boolean) => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n onHelpCenterClick?: () => void;\n};\n\n/**\n * The action bar the container renders when App Header V3 is not driving the app's chrome.\n * V3 publishes the same affordances through `AppCommonsProvider`, so this only appears for\n * apps whose manifest has not opted in, or while one is still loading.\n */\nexport const LegacyAppActions: FC<Props> = ({\n app,\n currentUser,\n devCenterRouter,\n isAnnotationsSupported,\n isCLIApp,\n isCommentsEnabled,\n isInsideNewMobileApp,\n isMaximized,\n isMobileView,\n mainMenuItems,\n secondaryMenuItems,\n onReportBugClick,\n setIsFullscreenModalMode,\n setIsMaximized,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n onHelpCenterClick,\n}) => {\n const handleReportBugClick = () => onReportBugClick?.();\n\n const handleHelpCenterClick = () => onHelpCenterClick?.();\n\n return (\n <AppActions>\n {isCommentsEnabled && <CommentsSwitchButton currentUser={currentUser} />}\n\n {isAnnotationsSupported && (\n <Tooltip title={TOOLTIP_TITLES.addAnnotation} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n onClick={toggleAnnotationsList}\n testId={`${PAGE_NAME}_addAnnotation`}\n >\n <AnnotationIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n {onReportBugClick && !isCLIApp && (\n <Tooltip title={TOOLTIP_TITLES.reportBug} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon size=\"small\" type=\"tertiaryBg\" onClick={handleReportBugClick}>\n <BugReportIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n <Tooltip\n placement=\"top\"\n disabled={!!isMobileView || isCLIApp}\n title={TOOLTIP_TITLES.helpCenter}\n >\n <ButtonIcon\n testId={`${PAGE_NAME}_helpContent`}\n onClick={handleHelpCenterClick}\n disabled={isCLIApp}\n size=\"small\"\n type=\"tertiaryBg\"\n >\n <HelpCenterIcon appId={app.app.id} helpContentUpdatedAt={app.help_content_updated_at} />\n </ButtonIcon>\n </Tooltip>\n\n {isMobileView && !isMaximized && !isInsideNewMobileApp ? (\n <FullscreenButton setIsMaximized={setIsMaximized} />\n ) : (\n <>\n <PriorityMenus\n menuItems={mainMenuItems}\n devCenterRouter={devCenterRouter}\n isMobileView={isMobileView}\n />\n <NonPriorityMenus\n devCenterRouter={devCenterRouter}\n isMaximized={isMaximized}\n isMobileView={isMobileView}\n menuItems={secondaryMenuItems}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n setIsMaximized={setIsMaximized}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n </>\n )}\n </AppActions>\n );\n};\n"],"names":["_ref","app","currentUser","devCenterRouter","isAnnotationsSupported","isCLIApp","isCommentsEnabled","isInsideNewMobileApp","isMaximized","isMobileView","mainMenuItems","secondaryMenuItems","onReportBugClick","setIsFullscreenModalMode","setIsMaximized","toggleAnnotationsList","toggleAppSettingsDialog","onHelpCenterClick","_jsxs","AppActions","children","_jsx","jsx","CommentsSwitchButton","Tooltip","title","TOOLTIP_TITLES","addAnnotation","placement","disabled","ButtonIcon","size","type","onClick","testId","concat","PAGE_NAME","AnnotationIcon","reportBug","BugReportIcon","BugReport","helpCenter","HelpCenterIcon","appId","id","helpContentUpdatedAt","help_content_updated_at","jsxs","_Fragment","PriorityMenus","menuItems","NonPriorityMenus","FullscreenButton"],"mappings":"+9gBA8C2C,SAkBrCA,GAAA,IAjBJC,IAAAA,IACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,uBACAC,IAAAA,SACAC,IAAAA,kBACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,aACAC,IAAAA,cACAC,IAAAA,mBACAC,IAAAA,iBACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,kBAMA,OACEC,EAAAA,KAACC,EAAAA,WAAU,CAAAC,SACRd,CAAAA,GAAqBe,EAAAC,IAACC,uBAAoB,CAACrB,YAAaA,IAExDE,GACCiB,EAAAC,IAACE,UAAO,CAACC,MAAOC,EAAcA,eAACC,cAAeC,UAAU,MAAMC,WAAYpB,EAAaW,SACrFC,MAACS,aAAU,CACTC,KAAK,QACLC,KAAK,aACLC,QAASlB,EACTmB,OAAM,GAAAC,OAAKC,EAAAA,UAA0B,kBAAAhB,SAErCC,EAAAA,IAACgB,EAAc,QAKpBzB,IAAqBP,GACpBgB,EAAAA,IAACG,EAAAA,QAAO,CAACC,MAAOC,EAAcA,eAACY,UAAWV,UAAU,MAAMC,WAAYpB,EAAaW,SACjFC,MAACS,aAAU,CAACC,KAAK,QAAQC,KAAK,aAAaC,QAvBtB,WAAH,OAASrB,aAAgB,EAAhBA,GAAoB,EAuB0BQ,SACvEC,EAAAA,IAACkB,EAAaC,UAAA,QAKpBnB,MAACG,UAAO,CACNI,UAAU,MACVC,WAAYpB,GAAgBJ,EAC5BoB,MAAOC,EAAcA,eAACe,WAAWrB,SAEjCC,MAACS,aAAU,CACTI,OAAM,GAAAC,OAAKC,EAAAA,UAAwB,gBACnCH,QAlCsB,WAAH,OAAShB,aAAiB,EAAjBA,GAAqB,EAmCjDY,SAAUxB,EACV0B,KAAK,QACLC,KAAK,aAAYZ,SAEjBC,MAACqB,iBAAc,CAACC,MAAO1C,EAAIA,IAAI2C,GAAIC,qBAAsB5C,EAAI6C,+BAIhErC,GAAiBD,GAAgBD,EAGhCW,EAAA6B,KAAAC,WAAA,CAAA5B,SAAA,CACEC,MAAC4B,gBAAa,CACZC,UAAWxC,EACXP,gBAAiBA,EACjBM,aAAcA,IAEhBY,MAAC8B,mBAAgB,CACfhD,gBAAiBA,EACjBK,YAAaA,EACbC,aAAcA,EACdyC,UAAWvC,EACXE,yBAA0BA,EAC1BC,eAAgBA,EAChBE,wBAAyBA,OAf7BK,EAAAC,IAAC8B,EAAgB,CAACtC,eAAgBA,MAqB1C"}
1
+ {"version":3,"file":"LegacyAppActions.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/components/LegacyAppActions.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport BugReportIcon from '@material-ui/icons/BugReport';\n\nimport { AppActions } from './AppActions/AppActions';\nimport { CommentsSwitchButton } from './CommentsSwitch';\nimport FullscreenButton from './FullscreenButton';\nimport { NonPriorityMenus } from './NonPriorityMenus';\nimport { PriorityMenus } from './PriorityMenus';\nimport { PAGE_NAME, TOOLTIP_TITLES } from '../constants';\nimport type {\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n} from '../types';\nimport type { DevCenterAppContainerProps } from '../DevCenterAppContainer';\n\nimport AnnotationIcon from '~/components/Icons/AnnotationIcon';\nimport { HelpCenterIcon } from '~/components/HelpCenter';\nimport { ButtonIcon, Tooltip } from '~/componentsV2';\n\ntype Props = {\n app: DevCenterAppResource;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n isAnnotationsSupported: boolean;\n isCLIApp: boolean;\n isCommentsEnabled: boolean;\n isInsideNewMobileApp: boolean;\n isMaximized: boolean;\n isMobileView: boolean;\n mainMenuItems: DevCenterMenuItem[];\n secondaryMenuItems: DevCenterMenuItem[];\n onReportBugClick?: (() => void) | null;\n setIsFullscreenModalMode: NonNullable<DevCenterAppContainerProps['setIsFullscreenModalMode']>;\n setIsMaximized: (isMaximized: boolean) => void;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n onHelpCenterClick?: () => void;\n};\n\n/**\n * The action bar the container renders when App Header V3 is not driving the app's chrome.\n * V3 publishes the same affordances through `AppCommonsProvider`, so this only appears for\n * apps whose manifest has not opted in, or while one is still loading.\n */\nexport const LegacyAppActions: FC<Props> = ({\n app,\n currentUser,\n devCenterRouter,\n isAnnotationsSupported,\n isCLIApp,\n isCommentsEnabled,\n isInsideNewMobileApp,\n isMaximized,\n isMobileView,\n mainMenuItems,\n secondaryMenuItems,\n onReportBugClick,\n setIsFullscreenModalMode,\n setIsMaximized,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n onHelpCenterClick,\n}) => {\n const handleReportBugClick = () => onReportBugClick?.();\n\n const handleHelpCenterClick = () => onHelpCenterClick?.();\n\n return (\n <AppActions>\n {isCommentsEnabled && <CommentsSwitchButton currentUser={currentUser} />}\n\n {isAnnotationsSupported && (\n <Tooltip title={TOOLTIP_TITLES.addAnnotation} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon\n size=\"small\"\n type=\"tertiaryBg\"\n onClick={toggleAnnotationsList}\n testId={`${PAGE_NAME}_addAnnotation`}\n >\n <AnnotationIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n {onReportBugClick && !isCLIApp && (\n <Tooltip title={TOOLTIP_TITLES.reportBug} placement=\"top\" disabled={!!isMobileView}>\n <ButtonIcon size=\"small\" type=\"tertiaryBg\" onClick={handleReportBugClick}>\n <BugReportIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n <Tooltip\n placement=\"top\"\n disabled={!!isMobileView || isCLIApp}\n title={TOOLTIP_TITLES.helpCenter}\n >\n <ButtonIcon\n testId={`${PAGE_NAME}_helpContent`}\n onClick={handleHelpCenterClick}\n disabled={isCLIApp}\n size=\"small\"\n type=\"tertiaryBg\"\n >\n <HelpCenterIcon appId={app.app.id} helpContentUpdatedAt={app.help_content_updated_at} />\n </ButtonIcon>\n </Tooltip>\n\n {isMobileView && !isMaximized && !isInsideNewMobileApp ? (\n <FullscreenButton setIsMaximized={setIsMaximized} />\n ) : (\n <>\n <PriorityMenus\n menuItems={mainMenuItems}\n devCenterRouter={devCenterRouter}\n isMobileView={isMobileView}\n />\n <NonPriorityMenus\n devCenterRouter={devCenterRouter}\n isMaximized={isMaximized}\n isMobileView={isMobileView}\n menuItems={secondaryMenuItems}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n setIsMaximized={setIsMaximized}\n toggleAppSettingsDialog={toggleAppSettingsDialog}\n />\n </>\n )}\n </AppActions>\n );\n};\n"],"names":["_ref","app","currentUser","devCenterRouter","isAnnotationsSupported","isCLIApp","isCommentsEnabled","isInsideNewMobileApp","isMaximized","isMobileView","mainMenuItems","secondaryMenuItems","onReportBugClick","setIsFullscreenModalMode","setIsMaximized","toggleAnnotationsList","toggleAppSettingsDialog","onHelpCenterClick","_jsxs","AppActions","children","_jsx","jsx","CommentsSwitchButton","Tooltip","title","TOOLTIP_TITLES","addAnnotation","placement","disabled","ButtonIcon","size","type","onClick","testId","concat","PAGE_NAME","AnnotationIcon","reportBug","BugReportIcon","helpCenter","HelpCenterIcon","appId","id","helpContentUpdatedAt","help_content_updated_at","jsxs","_Fragment","PriorityMenus","menuItems","NonPriorityMenus","FullscreenButton"],"mappings":"4jhBA8C2C,SAkBrCA,GAAA,IAjBJC,IAAAA,IACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,uBACAC,IAAAA,SACAC,IAAAA,kBACAC,IAAAA,qBACAC,IAAAA,YACAC,IAAAA,aACAC,IAAAA,cACAC,IAAAA,mBACAC,IAAAA,iBACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,kBAMA,OACEC,EAAAA,KAACC,EAAAA,WAAU,CAAAC,SACRd,CAAAA,GAAqBe,EAAAC,IAACC,uBAAoB,CAACrB,YAAaA,IAExDE,GACCiB,EAAAC,IAACE,UAAO,CAACC,MAAOC,EAAcA,eAACC,cAAeC,UAAU,MAAMC,WAAYpB,EAAaW,SACrFC,MAACS,aAAU,CACTC,KAAK,QACLC,KAAK,aACLC,QAASlB,EACTmB,OAAM,GAAAC,OAAKC,EAAAA,UAA0B,kBAAAhB,SAErCC,EAAAA,IAACgB,EAAc,QAKpBzB,IAAqBP,GACpBgB,EAAAA,IAACG,EAAAA,QAAO,CAACC,MAAOC,EAAcA,eAACY,UAAWV,UAAU,MAAMC,WAAYpB,EAAaW,SACjFC,MAACS,aAAU,CAACC,KAAK,QAAQC,KAAK,aAAaC,QAvBtB,WAAH,OAASrB,aAAgB,EAAhBA,GAAoB,EAuB0BQ,SACvEC,EAAAA,IAACkB,EAAa,QAAA,QAKpBlB,MAACG,UAAO,CACNI,UAAU,MACVC,WAAYpB,GAAgBJ,EAC5BoB,MAAOC,EAAcA,eAACc,WAAWpB,SAEjCC,MAACS,aAAU,CACTI,OAAM,GAAAC,OAAKC,EAAAA,UAAwB,gBACnCH,QAlCsB,WAAH,OAAShB,aAAiB,EAAjBA,GAAqB,EAmCjDY,SAAUxB,EACV0B,KAAK,QACLC,KAAK,aAAYZ,SAEjBC,MAACoB,iBAAc,CAACC,MAAOzC,EAAIA,IAAI0C,GAAIC,qBAAsB3C,EAAI4C,+BAIhEpC,GAAiBD,GAAgBD,EAGhCW,EAAA4B,KAAAC,WAAA,CAAA3B,SAAA,CACEC,MAAC2B,gBAAa,CACZC,UAAWvC,EACXP,gBAAiBA,EACjBM,aAAcA,IAEhBY,MAAC6B,mBAAgB,CACf/C,gBAAiBA,EACjBK,YAAaA,EACbC,aAAcA,EACdwC,UAAWtC,EACXE,yBAA0BA,EAC1BC,eAAgBA,EAChBE,wBAAyBA,OAf7BK,EAAAC,IAAC6B,EAAgB,CAACrC,eAAgBA,MAqB1C"}
@@ -1,2 +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"};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});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
2
  //# sourceMappingURL=constants.js.map
@@ -1 +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
+ {"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\nexport const TOOLTIP_TITLES = {\n addAnnotation: 'Add Annotation',\n reportBug: 'Report A Bug',\n helpCenter: 'Help Center',\n};\n"],"names":["addAnnotation","reportBug","helpCenter"],"mappings":"6FAMgC,0CAFS,qBAHhB,gDAOK,CAC5BA,cAAe,iBACfC,UAAW,eACXC,WAAY"}
@@ -1,2 +1,2 @@
1
- "use strict";var n=require("react"),t=require("../../../../constants/devcenter.js");require("../../../../constants/goals.js");var a=require("../../../../constants/segment.js");require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("lodash"),require("../../../GradientManager/configuration/constants.js");module.exports=function(s){var e,i,o,r,u,l=s.app,d=s.appData,p=s.currentDashboardAppsLastAnnotations,c=null==l||null===(e=l.package)||void 0===e||null===(i=e.manifest)||void 0===i||null===(o=i.application)||void 0===o||null===(r=o.ui)||void 0===r?void 0:r.disable_platform_annotations,v=d.well,q=d.rig,_=(null==v?void 0:v.asset_id)||(null==q?void 0:q.asset_id),j=(null==v?void 0:v.company_id)||(null==q?void 0:q.company_id),m=!(!l.package||c||l.id===t.DEV_CENTER_CLI_APP_ID||!_||!j||(null===(u=l.segment)||void 0===u?void 0:u[0])!==a.SEGMENTS.DRILLING),f=n.useMemo((function(){var n;if(!p||!m)return null;var t=p.find((function(n){return n.id===l.id}));return null!=t&&null!==(n=t.last_app_annotation)&&void 0!==n&&n.data?t.last_app_annotation:null}),[l.id,p,m]);return{assetIdForAnnotation:_,assetCompanyId:j,isAppSupportsAnnotations:m,appLastAnnotation:f}};
1
+ "use strict";var n=require("react"),a=require("../../../../constants/devcenter.js");require("../../../../constants/goals.js");var t=require("../../../../constants/segment.js");require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("lodash"),require("../../../GradientManager/configuration/constants.js");var s=function(n){var a=Number(n);return Number.isSafeInteger(a)&&a>0?a:null};module.exports=function(e){var r,i,o,u,l,d=e.app,c=e.appData,p=e.currentDashboardAppsLastAnnotations,v=null==d||null===(r=d.package)||void 0===r||null===(i=r.manifest)||void 0===i||null===(o=i.application)||void 0===o||null===(u=o.ui)||void 0===u?void 0:u.disable_platform_annotations,q=c.well,m=c.rig,_=(null==q?void 0:q.asset_id)||(null==m?void 0:m.asset_id),j=s(null==q?void 0:q.companyId)||s(null==q?void 0:q.company_id)||s(null==m?void 0:m.company_id),f=!(!d.package||v||d.id===a.DEV_CENTER_CLI_APP_ID||!_||!j||(null===(l=d.segment)||void 0===l?void 0:l[0])!==t.SEGMENTS.DRILLING),g=n.useMemo((function(){var n;if(!p||!f)return null;var a=p.find((function(n){return n.id===d.id}));return null!=a&&null!==(n=a.last_app_annotation)&&void 0!==n&&n.data?a.last_app_annotation:null}),[d.id,p,f]);return{assetIdForAnnotation:_,assetCompanyId:j,isAppSupportsAnnotations:f,appLastAnnotation:g}};
2
2
  //# sourceMappingURL=useAnnotationsData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAnnotationsData.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type {\n AppDataEntry,\n AppLastAnnotation,\n DashboardAppLastAnnotation,\n DevCenterAppResource,\n} from '../types';\n\nimport { DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport { SEGMENTS } from '~/constants/segment';\n\ntype UseAnnotationsDataParams = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;\n};\n\n/** The asset an annotation is filed against. Both members are read per-field, not as a pair. */\ntype AnnotationAsset = {\n asset_id?: number;\n company_id?: number;\n};\n\ntype UseAnnotationsDataReturn = {\n appLastAnnotation: AppLastAnnotation | null;\n assetCompanyId: number | undefined;\n assetIdForAnnotation: number | undefined;\n isAppSupportsAnnotations: boolean;\n};\n\nconst useAnnotationsData = ({\n app,\n appData,\n currentDashboardAppsLastAnnotations,\n}: UseAnnotationsDataParams): UseAnnotationsDataReturn => {\n const isPlatformAnnotationsDisabled =\n app?.package?.manifest?.application?.ui?.disable_platform_annotations;\n\n const well: AnnotationAsset | undefined = appData.well;\n const rig: AnnotationAsset | undefined = appData.rig;\n\n // BEHAVIOUR CHANGE, on purpose — call this out in the PR. Before the TypeScript migration this\n // read `appData?.rig?.assset_id` (three `s`), so the rig fallback never resolved and the\n // annotations button never appeared on a rig-only drilling dashboard. The migration fixed the\n // typo and covers it in `__tests__/useAnnotationsData.test.ts`.\n //\n // Read per field, not by picking one asset object: `company_id` genuinely fell through to the\n // rig even when a well was present, and an object-level `well ?? rig` would silently drop that.\n const assetIdForAnnotation = well?.asset_id || rig?.asset_id;\n const assetCompanyId = well?.company_id || rig?.company_id;\n\n // `assetCompanyId` is part of the predicate, not just `assetIdForAnnotation`: `AnnotationsList`\n // declares both `assetId` and `assetCompanyId` as required and sends the company id on every\n // read and write. Gating on the asset id alone let both headers show the annotations action for\n // an asset that carries an `asset_id` but no `company_id`, and clicking it only toggled state\n // while `DevCenterAppDialogs` rendered nothing.\n const isAppSupportsAnnotations =\n !!app.package &&\n !isPlatformAnnotationsDisabled &&\n app.id !== DEV_CENTER_CLI_APP_ID &&\n !!assetIdForAnnotation &&\n !!assetCompanyId &&\n app.segment?.[0] === SEGMENTS.DRILLING;\n\n const appLastAnnotation = useMemo(() => {\n if (!currentDashboardAppsLastAnnotations || !isAppSupportsAnnotations) {\n return null;\n }\n\n const annotation = currentDashboardAppsLastAnnotations.find(item => item.id === app.id);\n if (!annotation?.last_app_annotation?.data) {\n return null;\n }\n\n // Additional check for broken items on api, required api serializer fixing\n return annotation.last_app_annotation;\n }, [app.id, currentDashboardAppsLastAnnotations, isAppSupportsAnnotations]);\n\n return {\n assetIdForAnnotation,\n assetCompanyId,\n isAppSupportsAnnotations,\n appLastAnnotation,\n };\n};\n\nexport default useAnnotationsData;\n"],"names":["_ref","_app$package","_app$package$manifest","_app$package$manifest2","_app$package$manifest3","_app$segment","app","appData","currentDashboardAppsLastAnnotations","isPlatformAnnotationsDisabled","package","manifest","application","ui","disable_platform_annotations","well","rig","assetIdForAnnotation","asset_id","assetCompanyId","company_id","isAppSupportsAnnotations","id","DEV_CENTER_CLI_APP_ID","segment","SEGMENTS","DRILLING","appLastAnnotation","useMemo","_annotation$last_app_","annotation","find","item","last_app_annotation","data"],"mappings":"yqBA+B2B,SAI+BA,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAHxDC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,oCAEMC,EACJH,SAAY,QAAZA,EAAAA,EAAKI,eAAO,IAAAT,GAAU,QAAVC,EAAZD,EAAcU,gBAAQ,IAAAT,GAAa,QAAbC,EAAtBD,EAAwBU,mBAAW,IAAAT,GAAI,QAAJC,EAAnCD,EAAqCU,UAAE,IAAAT,OAAvCE,EAAAF,EAAyCU,6BAErCC,EAAoCR,EAAQQ,KAC5CC,EAAmCT,EAAQS,IAS3CC,GAAuBF,aAAAA,EAAAA,EAAMG,YAAYF,aAAAA,EAAAA,EAAKE,UAC9CC,GAAiBJ,aAAAA,EAAAA,EAAMK,cAAcJ,aAAAA,EAAAA,EAAKI,YAO1CC,KACFf,EAAII,SACLD,GACDH,EAAIgB,KAAOC,EAAAA,wBACTN,IACAE,IACS,UAAXb,EAAIkB,eAAO,IAAAnB,OAAA,EAAXA,EAAc,MAAOoB,EAAAA,SAASC,UAE1BC,EAAoBC,EAAAA,SAAQ,WAAM,IAAAC,EACtC,IAAKrB,IAAwCa,EAC3C,OAAO,KAGT,IAAMS,EAAatB,EAAoCuB,MAAK,SAAAC,GAAI,OAAIA,EAAKV,KAAOhB,EAAIgB,MACpF,OAAKQ,SAA+B,QAArBD,EAAVC,EAAYG,2BAAmB,IAAAJ,GAA/BA,EAAiCK,KAK/BJ,EAAWG,oBAJT,IAKV,GAAE,CAAC3B,EAAIgB,GAAId,EAAqCa,IAEjD,MAAO,CACLJ,qBAAAA,EACAE,eAAAA,EACAE,yBAAAA,EACAM,kBAAAA,EAEJ"}
1
+ {"version":3,"file":"useAnnotationsData.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useAnnotationsData.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type {\n AppDataEntry,\n AppLastAnnotation,\n DashboardAppLastAnnotation,\n DevCenterAppResource,\n} from '../types';\n\nimport { DEV_CENTER_CLI_APP_ID } from '~/constants';\nimport { SEGMENTS } from '~/constants/segment';\n\ntype UseAnnotationsDataParams = {\n app: DevCenterAppResource;\n appData: AppDataEntry;\n currentDashboardAppsLastAnnotations?: DashboardAppLastAnnotation[] | null;\n};\n\n// Annotation components require numeric company IDs; JSON:API relationship IDs are strings.\nconst getAnnotationCompanyId = (value: string | number | null | undefined) => {\n const companyId = Number(value);\n\n return Number.isSafeInteger(companyId) && companyId > 0 ? companyId : null;\n};\n\ntype UseAnnotationsDataReturn = {\n appLastAnnotation: AppLastAnnotation | null;\n assetCompanyId: number | null;\n assetIdForAnnotation: number | undefined;\n isAppSupportsAnnotations: boolean;\n};\n\nconst useAnnotationsData = ({\n app,\n appData,\n currentDashboardAppsLastAnnotations,\n}: UseAnnotationsDataParams): UseAnnotationsDataReturn => {\n const isPlatformAnnotationsDisabled =\n app?.package?.manifest?.application?.ui?.disable_platform_annotations;\n\n const { well, rig } = appData;\n\n // Legacy external producers use company_id. Preserve fallback per field so a well's asset\n // can still use the rig company when the well has no company relationship.\n const assetIdForAnnotation = well?.asset_id || rig?.asset_id;\n const assetCompanyId =\n getAnnotationCompanyId(well?.companyId) ||\n getAnnotationCompanyId(well?.company_id) ||\n getAnnotationCompanyId(rig?.company_id);\n\n // `assetCompanyId` is part of the predicate, not just `assetIdForAnnotation`: `AnnotationsList`\n // declares both `assetId` and `assetCompanyId` as required and sends the company id on every\n // read and write. Gating on the asset id alone let both headers show the annotations action for\n // an asset that carries an `asset_id` but no `company_id`, and clicking it only toggled state\n // while `DevCenterAppDialogs` rendered nothing.\n const isAppSupportsAnnotations =\n !!app.package &&\n !isPlatformAnnotationsDisabled &&\n app.id !== DEV_CENTER_CLI_APP_ID &&\n !!assetIdForAnnotation &&\n !!assetCompanyId &&\n app.segment?.[0] === SEGMENTS.DRILLING;\n\n const appLastAnnotation = useMemo(() => {\n if (!currentDashboardAppsLastAnnotations || !isAppSupportsAnnotations) {\n return null;\n }\n\n const annotation = currentDashboardAppsLastAnnotations.find(item => item.id === app.id);\n if (!annotation?.last_app_annotation?.data) {\n return null;\n }\n\n // Additional check for broken items on api, required api serializer fixing\n return annotation.last_app_annotation;\n }, [app.id, currentDashboardAppsLastAnnotations, isAppSupportsAnnotations]);\n\n return {\n assetIdForAnnotation,\n assetCompanyId,\n isAppSupportsAnnotations,\n appLastAnnotation,\n };\n};\n\nexport default useAnnotationsData;\n"],"names":["getAnnotationCompanyId","value","companyId","Number","isSafeInteger","_ref","_app$package","_app$package$manifest","_app$package$manifest2","_app$package$manifest3","_app$segment","app","appData","currentDashboardAppsLastAnnotations","isPlatformAnnotationsDisabled","package","manifest","application","ui","disable_platform_annotations","well","rig","assetIdForAnnotation","asset_id","assetCompanyId","company_id","isAppSupportsAnnotations","id","DEV_CENTER_CLI_APP_ID","segment","SEGMENTS","DRILLING","appLastAnnotation","useMemo","_annotation$last_app_","annotation","find","item","last_app_annotation","data"],"mappings":"0pBAmBA,IAAMA,EAAyB,SAACC,GAC9B,IAAMC,EAAYC,OAAOF,GAEzB,OAAOE,OAAOC,cAAcF,IAAcA,EAAY,EAAIA,EAAY,IACxE,iBAS2B,SAI+BG,GAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAHxDC,IAAAA,IACAC,IAAAA,QACAC,IAAAA,oCAEMC,EACJH,SAAY,QAAZA,EAAAA,EAAKI,eAAO,IAAAT,GAAU,QAAVC,EAAZD,EAAcU,gBAAQ,IAAAT,GAAa,QAAbC,EAAtBD,EAAwBU,mBAAW,IAAAT,GAAI,QAAJC,EAAnCD,EAAqCU,UAAE,IAAAT,OAAvCE,EAAAF,EAAyCU,6BAEnCC,EAAcR,EAAdQ,KAAMC,EAAQT,EAARS,IAIRC,GAAuBF,aAAAA,EAAAA,EAAMG,YAAYF,aAAAA,EAAAA,EAAKE,UAC9CC,EACJxB,EAAuBoB,aAAAA,EAAAA,EAAMlB,YAC7BF,EAAuBoB,aAAAA,EAAAA,EAAMK,aAC7BzB,EAAuBqB,aAAG,EAAHA,EAAKI,YAOxBC,KACFf,EAAII,SACLD,GACDH,EAAIgB,KAAOC,EAAAA,wBACTN,IACAE,IACS,UAAXb,EAAIkB,eAAO,IAAAnB,OAAA,EAAXA,EAAc,MAAOoB,EAAAA,SAASC,UAE1BC,EAAoBC,EAAAA,SAAQ,WAAM,IAAAC,EACtC,IAAKrB,IAAwCa,EAC3C,OAAO,KAGT,IAAMS,EAAatB,EAAoCuB,MAAK,SAAAC,GAAI,OAAIA,EAAKV,KAAOhB,EAAIgB,MACpF,OAAKQ,SAA+B,QAArBD,EAAVC,EAAYG,2BAAmB,IAAAJ,GAA/BA,EAAiCK,KAK/BJ,EAAWG,oBAJT,IAKV,GAAE,CAAC3B,EAAIgB,GAAId,EAAqCa,IAEjD,MAAO,CACLJ,qBAAAA,EACAE,eAAAA,EACAE,yBAAAA,EACAM,kBAAAA,EAEJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDevCenterAppProps.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport type {\n AppCoordinates,\n AppLastAnnotation,\n ChatActions,\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n LayoutEnvironment,\n RegisterAITools,\n SetIsFullscreenModalMode,\n UpdateDashboardAppLastAnnotation,\n} from '../types';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\n\ntype UseDevCenterAppPropsParams = {\n app: DevCenterAppResource;\n /** The entry `useAnnotationsData` resolved, or `null` when the app has no annotation yet. */\n appLastAnnotation: AppLastAnnotation | null;\n appTimestamp: number | undefined;\n chatActions: ChatActions | null | undefined;\n coordinates: AppCoordinates | null | undefined;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n filteredAppData: Record<string, unknown>;\n isMaximized: boolean;\n layoutEnvironment: LayoutEnvironment | null | undefined;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n registerAITools: RegisterAITools | undefined;\n segment: string;\n setIsFullscreenModalMode: SetIsFullscreenModalMode;\n setIsMaximized: (isMaximized: boolean) => void;\n setMainMenuItems: Dispatch<SetStateAction<DevCenterMenuItem[]>>;\n setSecondaryMenuItems: Dispatch<SetStateAction<DevCenterMenuItem[]>>;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n updateCurrentDashboardAppLastAnnotation: UpdateDashboardAppLastAnnotation | undefined;\n};\n\n/**\n * Builds the prop bag handed to the app bundle.\n *\n * Memoised on purpose: the bundle is third-party code that may memoise on prop identity, and\n * the nested `appHeaderProps` object was previously reallocated on every render of the\n * container, so nothing downstream could ever hit a memo.\n */\nexport const useDevCenterAppProps = ({\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n}: UseDevCenterAppPropsParams) =>\n useMemo(\n () => ({\n coordinates,\n currentUser,\n devCenterRouter,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAppSettingsDialog,\n // Only the V1 `AppHeader` reads this nested bag; AppHeader V3 takes the same values from\n // `AppCommonsProvider` instead. It exists for apps whose manifest has not set\n // `use_app_header_v3`, and stops being read once none are left.\n appHeaderProps: {\n app,\n appLastAnnotation,\n appSettings: app.settings,\n coordinates,\n currentUser,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n toggleAnnotationsList,\n updateCurrentDashboardAppLastAnnotation,\n ...filteredAppData,\n },\n isNative: isNativeDetected,\n layoutEnvironment,\n timestamp: appTimestamp,\n chatActions,\n }),\n [\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n ]\n );\n"],"names":["_ref","app","appLastAnnotation","appTimestamp","chatActions","coordinates","currentUser","devCenterRouter","filteredAppData","isMaximized","layoutEnvironment","onSettingChange","onSettingsChange","registerAITools","segment","setIsFullscreenModalMode","setIsMaximized","setMainMenuItems","setSecondaryMenuItems","toggleAnnotationsList","toggleAppSettingsDialog","updateCurrentDashboardAppLastAnnotation","useMemo","appHeaderProps","_objectSpread","appSettings","settings","isNative","isNativeDetected","timestamp"],"mappings":"o3BAmDoC,SAAHA,GAAA,IAC/BC,IAAAA,IACAC,IAAAA,kBACAC,IAAAA,aACAC,IAAAA,YACAC,IAAAA,YACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,gBACAC,IAAAA,YACAC,IAAAA,kBACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,gBACAC,IAAAA,QACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,iBACAC,IAAAA,sBACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,wCAAuC,OAEvCC,EAAOA,SACL,WAAA,MAAO,CACLjB,YAAAA,EACAC,YAAAA,EACAC,gBAAAA,EACAI,gBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAC,QAAAA,EACAC,yBAAAA,EACAC,eAAAA,EACAC,iBAAAA,EACAC,sBAAAA,EACAE,wBAAAA,EAIAG,eAAcC,EAAA,CACZvB,IAAAA,EACAC,kBAAAA,EACAuB,YAAaxB,EAAIyB,SACjBrB,YAAAA,EACAC,YAAAA,EACAG,YAAAA,EACAC,kBAAAA,EACAC,gBAAAA,EACAQ,sBAAAA,EACAE,wCAAAA,GACGb,GAELmB,SAAUC,EAAgBA,iBAC1BlB,kBAAAA,EACAmB,UAAW1B,EACXC,YAAAA,EACA,GACF,CACEH,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEH"}
1
+ {"version":3,"file":"useDevCenterAppProps.js","sources":["../../../../../../src/components/DevCenter/DevCenterAppContainer/effects/useDevCenterAppProps.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport type { AppDataAssets } from '../../AppsDataProvider/types';\n\nimport type {\n AppCoordinates,\n AppLastAnnotation,\n ChatActions,\n DevCenterAppResource,\n DevCenterCurrentUser,\n DevCenterMenuItem,\n DevCenterRouter,\n LayoutEnvironment,\n RegisterAITools,\n SetIsFullscreenModalMode,\n UpdateDashboardAppLastAnnotation,\n} from '../types';\n\nimport { isNativeDetected } from '~/utils/mobileDetect';\n\ntype UseDevCenterAppPropsParams = {\n app: DevCenterAppResource;\n /** The entry `useAnnotationsData` resolved, or `null` when the app has no annotation yet. */\n appLastAnnotation: AppLastAnnotation | null;\n appTimestamp: number | undefined;\n chatActions: ChatActions | null | undefined;\n coordinates: AppCoordinates | null | undefined;\n currentUser: DevCenterCurrentUser;\n devCenterRouter: DevCenterRouter;\n filteredAppData: AppDataAssets;\n isMaximized: boolean;\n layoutEnvironment: LayoutEnvironment | null | undefined;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n registerAITools: RegisterAITools | undefined;\n segment: string;\n setIsFullscreenModalMode: SetIsFullscreenModalMode;\n setIsMaximized: (isMaximized: boolean) => void;\n setMainMenuItems: Dispatch<SetStateAction<DevCenterMenuItem[]>>;\n setSecondaryMenuItems: Dispatch<SetStateAction<DevCenterMenuItem[]>>;\n toggleAnnotationsList: () => void;\n toggleAppSettingsDialog: () => void;\n updateCurrentDashboardAppLastAnnotation: UpdateDashboardAppLastAnnotation | undefined;\n};\n\n/**\n * Builds the prop bag handed to the app bundle.\n *\n * Memoised on purpose: the bundle is third-party code that may memoise on prop identity, and\n * the nested `appHeaderProps` object was previously reallocated on every render of the\n * container, so nothing downstream could ever hit a memo.\n */\nexport const useDevCenterAppProps = ({\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n}: UseDevCenterAppPropsParams) =>\n useMemo(\n () => ({\n coordinates,\n currentUser,\n devCenterRouter,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAppSettingsDialog,\n // Only the V1 `AppHeader` reads this nested bag; AppHeader V3 takes the same values from\n // `AppCommonsProvider` instead. It exists for apps whose manifest has not set\n // `use_app_header_v3`, and stops being read once none are left.\n appHeaderProps: {\n app,\n appLastAnnotation,\n appSettings: app.settings,\n coordinates,\n currentUser,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n toggleAnnotationsList,\n updateCurrentDashboardAppLastAnnotation,\n ...filteredAppData,\n },\n isNative: isNativeDetected,\n layoutEnvironment,\n timestamp: appTimestamp,\n chatActions,\n }),\n [\n app,\n appLastAnnotation,\n appTimestamp,\n chatActions,\n coordinates,\n currentUser,\n devCenterRouter,\n filteredAppData,\n isMaximized,\n layoutEnvironment,\n onSettingChange,\n onSettingsChange,\n registerAITools,\n segment,\n setIsFullscreenModalMode,\n setIsMaximized,\n setMainMenuItems,\n setSecondaryMenuItems,\n toggleAnnotationsList,\n toggleAppSettingsDialog,\n updateCurrentDashboardAppLastAnnotation,\n ]\n );\n"],"names":["_ref","app","appLastAnnotation","appTimestamp","chatActions","coordinates","currentUser","devCenterRouter","filteredAppData","isMaximized","layoutEnvironment","onSettingChange","onSettingsChange","registerAITools","segment","setIsFullscreenModalMode","setIsMaximized","setMainMenuItems","setSecondaryMenuItems","toggleAnnotationsList","toggleAppSettingsDialog","updateCurrentDashboardAppLastAnnotation","useMemo","appHeaderProps","_objectSpread","appSettings","settings","isNative","isNativeDetected","timestamp"],"mappings":"o3BAqDoC,SAAHA,GAAA,IAC/BC,IAAAA,IACAC,IAAAA,kBACAC,IAAAA,aACAC,IAAAA,YACAC,IAAAA,YACAC,IAAAA,YACAC,IAAAA,gBACAC,IAAAA,gBACAC,IAAAA,YACAC,IAAAA,kBACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,gBACAC,IAAAA,QACAC,IAAAA,yBACAC,IAAAA,eACAC,IAAAA,iBACAC,IAAAA,sBACAC,IAAAA,sBACAC,IAAAA,wBACAC,IAAAA,wCAAuC,OAEvCC,EAAOA,SACL,WAAA,MAAO,CACLjB,YAAAA,EACAC,YAAAA,EACAC,gBAAAA,EACAI,gBAAAA,EACAC,iBAAAA,EACAC,gBAAAA,EACAC,QAAAA,EACAC,yBAAAA,EACAC,eAAAA,EACAC,iBAAAA,EACAC,sBAAAA,EACAE,wBAAAA,EAIAG,eAAcC,EAAA,CACZvB,IAAAA,EACAC,kBAAAA,EACAuB,YAAaxB,EAAIyB,SACjBrB,YAAAA,EACAC,YAAAA,EACAG,YAAAA,EACAC,kBAAAA,EACAC,gBAAAA,EACAQ,sBAAAA,EACAE,wCAAAA,GACGb,GAELmB,SAAUC,EAAgBA,iBAC1BlB,kBAAAA,EACAmB,UAAW1B,EACXC,YAAAA,EACA,GACF,CACEH,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GAEH"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t={isLoading:!0};exports.getAppDataEntryFromContext=function(e,r){var o;return r&&e&&!function(t){return!!t&&Object.prototype.hasOwnProperty.call(t,"app")}(e)&&null!==(o=e[r])&&void 0!==o?o:t};
2
+ //# sourceMappingURL=getAppDataEntryFromContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAppDataEntryFromContext.js","sources":["../../../../../src/components/DevCenter/DevCenterAppContainer/getAppDataEntryFromContext.ts"],"sourcesContent":["import type { AppDataDictionary, AppDataEntry } from '../AppsDataProvider/types';\n\nconst LOADING_APP_DATA: AppDataEntry = { isLoading: true };\n\n/** External apps also use the public AppContext to provide one app resource directly. */\nexport type LegacySingleAppContext = {\n app: Record<string, unknown>;\n} & Record<string, unknown>;\n\nexport type AppContextValue = AppDataDictionary | LegacySingleAppContext | undefined;\n\nconst isLegacySingleAppContext = (\n contextValue: AppContextValue\n): contextValue is LegacySingleAppContext =>\n !!contextValue && Object.prototype.hasOwnProperty.call(contextValue, 'app');\n\n/**\n * AppsDataProvider and iframe hosts key their dictionaries by numeric dashboard-app IDs. External\n * single-app providers have an `app` root instead, so the public context can keep both modes.\n */\nexport const getAppDataEntryFromContext = (\n contextValue: AppContextValue,\n appDataKey: number | undefined\n): AppDataEntry => {\n if (!appDataKey || !contextValue || isLegacySingleAppContext(contextValue)) {\n return LOADING_APP_DATA;\n }\n\n return contextValue[appDataKey] ?? LOADING_APP_DATA;\n};\n"],"names":["LOADING_APP_DATA","isLoading","contextValue","appDataKey","_contextValue$appData","Object","prototype","hasOwnProperty","call","isLegacySingleAppContext"],"mappings":"oEAEA,IAAMA,EAAiC,CAAEC,WAAW,sCAkBV,SACxCC,EACAC,GACiB,IAAAC,EACjB,OAAKD,GAAeD,IAbW,SAC/BA,GAA6B,QAE3BA,GAAgBG,OAAOC,UAAUC,eAAeC,KAAKN,EAAc,MAAM,CAUvCO,CAAyBP,YAI7DE,EAAOF,EAAaC,kBAHXH,CAIX"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/objectWithoutProperties"),t=require("react"),o=require("react-dom"),i=require("classnames"),a=require("react-router-dom"),s=require("lodash"),u=require("query-string"),p=require("prop-types"),l=require("./IsolatedPage.js"),d=require("./constants.js"),c=require("./useFullscreenModes.js"),f=require("./DevCenterIsolatedApp.module.scss.js"),v=require("../AppContext.js"),C=require("../../../permissions/PermissionsContext.js");require("../../../permissions/constants/index.js"),require("../../../permissions/withPermissionsHOC.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../clients/jsonApi/index.js"),require("../../../permissions/ProvidePermissions.js");var m=require("../../../utils/index.js");require("../AppHeader/AppHeader.js"),require("../AppSideBar/AppSideBar.js"),require("../AppsDataProvider/AppsDataProvider.js");var b=require("../DevCenterAppContainer/DevCenterAppContainer.js");require("../NavigationBar/NavigationBar.js"),require("../SideBar/SideBar.js"),require("../AppSettingsPopover/AppSettingsPopover.js"),require("../AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../DevCenterRouterContext/DevCenterRouterContext.js"),require("../DevCenterRouterContext/UniversalLink/UniversalLink.js");var A=require("react/jsx-runtime");require("./DevCenterIsolatedAppPage.js");var g=require("../DevCenterAppContainer/utils.js"),h=require("../../../utils/mobileDetect.js"),j=require("../../../utils/devcenter.js");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=q(e),x=q(n),I=q(r),M=q(i),w=q(u),S=q(p),R=["isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","apiRateLimiterConfig","trackApiRateLimiterException"];function P(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function E(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?P(Object(r),!0).forEach((function(n){y.default(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}var L={};function D(e){var n,r,i,a,u,p,q,y=e.isIsolationFeatureEnabled,S=void 0!==y&&y,P=e.onAppFullscreenTransparentMode,D=void 0===P?s.noop:P,F=e.onIsMaximizedChange,O=void 0===F?s.noop:F,T=e.onInnerContainerMouseEnter,_=void 0===T?s.noop:T,k=e.onInnerContainerMouseLeave,B=void 0===k?s.noop:k,W=e.onAppContainerClick,z=void 0===W?s.noop:W,U=e.setInnerContainerRefFn,N=void 0===U?s.noop:U,H=e.onAppRemove,V=void 0===H?void 0:H,G=e.onSettingChange,J=void 0===G?s.noop:G,K=e.onSettingsChange,Q=void 0===K?s.noop:K,X=e.updateCurrentDashboardAppLastAnnotation,Y=void 0===X?s.noop:X,Z=e.apiRateLimiterConfig,$=void 0===Z?L:Z,ee=e.trackApiRateLimiterException,ne=I.default(e,R),re=t.useMemo((function(){return j.createDevCenterRouter(ne.history)}),[null===(n=ne.history)||void 0===n?void 0:n.location]),te=j.isCorvaApp(null==ne||null===(r=ne.app)||void 0===r?void 0:r.app)&&!j.isIsolationEnabledInPackageManifest(null==ne||null===(i=ne.app)||void 0===i?void 0:i.package)||!S,oe=te?b:l.IsolatedPage,ie=null===(a=ne.app)||void 0===a||null===(u=a.app)||void 0===u?void 0:u.app_key,ae=g.getAppVersion(ne.app),se="".concat(ie,"-").concat(ae),ue=t.useRef(),pe=t.useRef(),le=t.useRef(),de=t.useRef(!1),ce=t.useRef(!1),fe=j.isAppMaximized(w.default.parse(null===(p=ne.history)||void 0===p||null===(q=p.location)||void 0===q?void 0:q.search),ne.app.id),ve=t.useRef(fe);ve.current=fe;var Ce=t.useState(m.getUserUnits()),me=x.default(Ce,2),be=me[0],Ae=me[1];t.useEffect((function(){var e=m.subscribeForUserUnitsUpdates((function(e){return Ae(e)}));return function(){return e()}}),[]);var ge=t.useContext(v),he=C.default();function je(){D({appId:ne.app.id,isModeEnabled:!1}),document.body.classList.remove("dc-isolated-app__body-overflow",f.compensateScroll)}var qe=t.useCallback((function(e){var n,r,t,i,a,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!S||te||ve.current&&!de.current||de.current===e){var u;s&&ce.current!==s&&(ce.current=s,null===(u=pe.current)||void 0===u||u.classList.add(f.containerMaximizedTransparentModal))}else{var p,c=e?"add":"remove";if(null===(n=pe.current)||void 0===n||n.classList[c](f.containerMaximizedTransparent),s||"remove"===c)null===(p=pe.current)||void 0===p||p.classList[c](f.containerMaximizedTransparentModal);ue.current=null===(r=pe.current)||void 0===r||null===(t=r.querySelector("[".concat(l.APP_IFRAME_ATTRIBUTE,"]")))||void 0===t||null===(i=t.contentWindow)||void 0===i?void 0:i.document;var v=null===(a=ue.current)||void 0===a?void 0:a.getElementById(d.ISOLATED_PAGE_APP_CONTAINER_ID);if(v){if(e){var C=le.current.getBoundingClientRect(),m=C.top,b=C.left,A=C.width,g=C.height,h=window.innerWidth!==document.body.clientWidth;o.flushSync((function(){D({appId:ne.app.id,isModeEnabled:!0})})),v.setAttribute("style","\n top: ".concat(m,"px;\n left: ").concat(b,"px;\n width: ").concat(A,"px;\n height: ").concat(g,"px;\n position: absolute;\n ")),document.body.classList.add("dc-isolated-app__body-overflow",h&&f.compensateScroll)}else o.flushSync((function(){D({appId:ne.app.id,isModeEnabled:!1})})),v.setAttribute("style",""),document.body.classList.remove("dc-isolated-app__body-overflow",f.compensateScroll);de.current=e,ce.current=s}}}),[S,te,ve]);t.useEffect((function(){return je}),[]),t.useEffect((function(){fe&&de.current&&qe(!1)}),[fe]);var ye=c.useFullscreenModes({containerRef:le,appInstanceId:ne.app.id,isMaximized:fe}),xe=ye.isBrowserFullscreen,Ie=ye.enterBrowserFullscreen,Me=ye.exitBrowserFullscreen,we=ye.isSeparateWindow,Se=ye.openSeparateWindow,Re=ye.closeSeparateWindow,Pe=ye.setSeparateWindowTitle,Ee=t.useCallback((function(e){pe.current=e,N(e)}),[]);return A.jsx("div",{className:M.default("dc-isolated-app",f.fixedSizeContainer),ref:le,children:A.jsx("div",{ref:Ee,onMouseEnter:_,onMouseLeave:B,"data-testid":"".concat("DevCenter_AppContainer","_").concat(ne.app.app.name),className:M.default(f.container,h.isInsideNewMobileApp&&f.newMobileAppContainer,fe&&f.containerMaximized),children:A.jsx(oe,E(E({},ne),{},{isBrowserFullscreen:xe,enterBrowserFullscreen:Ie,exitBrowserFullscreen:Me,isSeparateWindow:we,openSeparateWindow:Se,closeSeparateWindow:Re,setSeparateWindowTitle:Pe,isNonIsolatedApp:te,appContextValue:ge,devCenterRouter:re,globalNotificationToastsAPI:window[Symbol.for("notificationToasts")],globalMixpanelEventTracker:window[Symbol.for("logToMixpanel")],onAppContainerClick:z,onAppRemove:V,onIsMaximizedChange:O,onSettingChange:J,onSettingsChange:Q,permissionsContextValue:he,setIsFullscreenModalMode:qe,userUnits:be,trackApiRateLimiterException:ee,updateCurrentDashboardAppLastAnnotation:Y,apiRateLimiterConfig:$}),se)})})}D.propTypes={app:S.default.shape({id:S.default.number,app:S.default.shape({name:S.default.string})}).isRequired,currentUser:S.default.shape({}).isRequired,isIsolationFeatureEnabled:S.default.bool,onAppContainerClick:S.default.func,onAppFullscreenTransparentMode:S.default.func,onAppRemove:S.default.func,onInnerContainerMouseEnter:S.default.func,onInnerContainerMouseLeave:S.default.func,onIsMaximizedChange:S.default.func,onSettingChange:S.default.func,onSettingsChange:S.default.func,setInnerContainerRefFn:S.default.func,updateCurrentDashboardAppLastAnnotation:S.default.func,apiRateLimiterConfig:S.default.object};var F=a.withRouter(D);exports.DevCenterIsolatedApp=F;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/slicedToArray"),r=require("@babel/runtime/helpers/objectWithoutProperties"),t=require("react"),o=require("react-dom"),i=require("classnames"),a=require("react-router-dom"),s=require("lodash"),u=require("query-string"),p=require("prop-types"),l=require("./IsolatedPage.js"),d=require("./constants.js"),c=require("./useFullscreenModes.js"),f=require("./DevCenterIsolatedApp.module.scss.js"),v=require("../AppContext.js"),C=require("../../../permissions/PermissionsContext.js");require("../../../permissions/constants/index.js"),require("../../../permissions/withPermissionsHOC.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../clients/jsonApi/index.js"),require("../../../permissions/ProvidePermissions.js");var m=require("../../../utils/index.js");require("../AppHeader/AppHeader.js"),require("../AppSideBar/AppSideBar.js"),require("../AppsDataProvider/effects/utils.js"),require("@babel/runtime/helpers/toConsumableArray");var b=require("../../../utils/devcenter.js"),A=require("react/jsx-runtime"),g=require("../DevCenterAppContainer/DevCenterAppContainer.js");require("../NavigationBar/NavigationBar.js"),require("../SideBar/SideBar.js"),require("../AppSettingsPopover/AppSettingsPopover.js"),require("../AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../DevCenterRouterContext/DevCenterRouterContext.js"),require("../DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("./DevCenterIsolatedAppPage.js");var h=require("../DevCenterAppContainer/utils.js"),j=require("../../../utils/mobileDetect.js");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var y=q(e),x=q(n),I=q(r),M=q(i),w=q(u),S=q(p),R=["isIsolationFeatureEnabled","onAppFullscreenTransparentMode","onIsMaximizedChange","onInnerContainerMouseEnter","onInnerContainerMouseLeave","onAppContainerClick","setInnerContainerRefFn","onAppRemove","onSettingChange","onSettingsChange","updateCurrentDashboardAppLastAnnotation","apiRateLimiterConfig","trackApiRateLimiterException"];function P(e,n){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),r.push.apply(r,t)}return r}function E(e){for(var n=1;n<arguments.length;n++){var r=null!=arguments[n]?arguments[n]:{};n%2?P(Object(r),!0).forEach((function(n){y.default(e,n,r[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):P(Object(r)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))}))}return e}var L={};function D(e){var n,r,i,a,u,p,q,y=e.isIsolationFeatureEnabled,S=void 0!==y&&y,P=e.onAppFullscreenTransparentMode,D=void 0===P?s.noop:P,F=e.onIsMaximizedChange,O=void 0===F?s.noop:F,T=e.onInnerContainerMouseEnter,_=void 0===T?s.noop:T,k=e.onInnerContainerMouseLeave,B=void 0===k?s.noop:k,W=e.onAppContainerClick,z=void 0===W?s.noop:W,U=e.setInnerContainerRefFn,N=void 0===U?s.noop:U,H=e.onAppRemove,V=void 0===H?void 0:H,G=e.onSettingChange,J=void 0===G?s.noop:G,K=e.onSettingsChange,Q=void 0===K?s.noop:K,X=e.updateCurrentDashboardAppLastAnnotation,Y=void 0===X?s.noop:X,Z=e.apiRateLimiterConfig,$=void 0===Z?L:Z,ee=e.trackApiRateLimiterException,ne=I.default(e,R),re=t.useMemo((function(){return b.createDevCenterRouter(ne.history)}),[null===(n=ne.history)||void 0===n?void 0:n.location]),te=b.isCorvaApp(null==ne||null===(r=ne.app)||void 0===r?void 0:r.app)&&!b.isIsolationEnabledInPackageManifest(null==ne||null===(i=ne.app)||void 0===i?void 0:i.package)||!S,oe=te?g:l.IsolatedPage,ie=null===(a=ne.app)||void 0===a||null===(u=a.app)||void 0===u?void 0:u.app_key,ae=h.getAppVersion(ne.app),se="".concat(ie,"-").concat(ae),ue=t.useRef(),pe=t.useRef(),le=t.useRef(),de=t.useRef(!1),ce=t.useRef(!1),fe=b.isAppMaximized(w.default.parse(null===(p=ne.history)||void 0===p||null===(q=p.location)||void 0===q?void 0:q.search),ne.app.id),ve=t.useRef(fe);ve.current=fe;var Ce=t.useState(m.getUserUnits()),me=x.default(Ce,2),be=me[0],Ae=me[1];t.useEffect((function(){var e=m.subscribeForUserUnitsUpdates((function(e){return Ae(e)}));return function(){return e()}}),[]);var ge=t.useContext(v),he=C.default();function je(){D({appId:ne.app.id,isModeEnabled:!1}),document.body.classList.remove("dc-isolated-app__body-overflow",f.compensateScroll)}var qe=t.useCallback((function(e){var n,r,t,i,a,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!S||te||ve.current&&!de.current||de.current===e){var u;s&&ce.current!==s&&(ce.current=s,null===(u=pe.current)||void 0===u||u.classList.add(f.containerMaximizedTransparentModal))}else{var p,c=e?"add":"remove";if(null===(n=pe.current)||void 0===n||n.classList[c](f.containerMaximizedTransparent),s||"remove"===c)null===(p=pe.current)||void 0===p||p.classList[c](f.containerMaximizedTransparentModal);ue.current=null===(r=pe.current)||void 0===r||null===(t=r.querySelector("[".concat(l.APP_IFRAME_ATTRIBUTE,"]")))||void 0===t||null===(i=t.contentWindow)||void 0===i?void 0:i.document;var v=null===(a=ue.current)||void 0===a?void 0:a.getElementById(d.ISOLATED_PAGE_APP_CONTAINER_ID);if(v){if(e){var C=le.current.getBoundingClientRect(),m=C.top,b=C.left,A=C.width,g=C.height,h=window.innerWidth!==document.body.clientWidth;o.flushSync((function(){D({appId:ne.app.id,isModeEnabled:!0})})),v.setAttribute("style","\n top: ".concat(m,"px;\n left: ").concat(b,"px;\n width: ").concat(A,"px;\n height: ").concat(g,"px;\n position: absolute;\n ")),document.body.classList.add("dc-isolated-app__body-overflow",h&&f.compensateScroll)}else o.flushSync((function(){D({appId:ne.app.id,isModeEnabled:!1})})),v.setAttribute("style",""),document.body.classList.remove("dc-isolated-app__body-overflow",f.compensateScroll);de.current=e,ce.current=s}}}),[S,te,ve]);t.useEffect((function(){return je}),[]),t.useEffect((function(){fe&&de.current&&qe(!1)}),[fe]);var ye=c.useFullscreenModes({containerRef:le,appInstanceId:ne.app.id,isMaximized:fe}),xe=ye.isBrowserFullscreen,Ie=ye.enterBrowserFullscreen,Me=ye.exitBrowserFullscreen,we=ye.isSeparateWindow,Se=ye.openSeparateWindow,Re=ye.closeSeparateWindow,Pe=ye.setSeparateWindowTitle,Ee=t.useCallback((function(e){pe.current=e,N(e)}),[]);return A.jsx("div",{className:M.default("dc-isolated-app",f.fixedSizeContainer),ref:le,children:A.jsx("div",{ref:Ee,onMouseEnter:_,onMouseLeave:B,"data-testid":"".concat("DevCenter_AppContainer","_").concat(ne.app.app.name),className:M.default(f.container,j.isInsideNewMobileApp&&f.newMobileAppContainer,fe&&f.containerMaximized),children:A.jsx(oe,E(E({},ne),{},{isBrowserFullscreen:xe,enterBrowserFullscreen:Ie,exitBrowserFullscreen:Me,isSeparateWindow:we,openSeparateWindow:Se,closeSeparateWindow:Re,setSeparateWindowTitle:Pe,isNonIsolatedApp:te,appContextValue:ge,devCenterRouter:re,globalNotificationToastsAPI:window[Symbol.for("notificationToasts")],globalMixpanelEventTracker:window[Symbol.for("logToMixpanel")],onAppContainerClick:z,onAppRemove:V,onIsMaximizedChange:O,onSettingChange:J,onSettingsChange:Q,permissionsContextValue:he,setIsFullscreenModalMode:qe,userUnits:be,trackApiRateLimiterException:ee,updateCurrentDashboardAppLastAnnotation:Y,apiRateLimiterConfig:$}),se)})})}D.propTypes={app:S.default.shape({id:S.default.number,app:S.default.shape({name:S.default.string})}).isRequired,currentUser:S.default.shape({}).isRequired,isIsolationFeatureEnabled:S.default.bool,onAppContainerClick:S.default.func,onAppFullscreenTransparentMode:S.default.func,onAppRemove:S.default.func,onInnerContainerMouseEnter:S.default.func,onInnerContainerMouseLeave:S.default.func,onIsMaximizedChange:S.default.func,onSettingChange:S.default.func,onSettingsChange:S.default.func,setInnerContainerRefFn:S.default.func,updateCurrentDashboardAppLastAnnotation:S.default.func,apiRateLimiterConfig:S.default.object};var F=a.withRouter(D);exports.DevCenterIsolatedApp=F;
2
2
  //# sourceMappingURL=DevCenterIsolatedApp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { noop } from 'lodash';\nimport queryString from 'query-string';\nimport PropTypes from 'prop-types';\n\nimport { APP_IFRAME_ATTRIBUTE, IsolatedPage } from './IsolatedPage';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { useFullscreenModes } from './useFullscreenModes';\n\nimport styles from './DevCenterIsolatedApp.module.scss';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { getAppVersion } from '~/components/DevCenter/DevCenterAppContainer/utils';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\nconst DEFAULT_API_RATE_LIMITER_CONFIG = {};\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled = false,\n onAppFullscreenTransparentMode = noop,\n onIsMaximizedChange = noop,\n onInnerContainerMouseEnter = noop,\n onInnerContainerMouseLeave = noop,\n onAppContainerClick = noop,\n setInnerContainerRefFn = noop,\n onAppRemove = undefined,\n onSettingChange = noop,\n onSettingsChange = noop,\n updateCurrentDashboardAppLastAnnotation = noop,\n apiRateLimiterConfig = DEFAULT_API_RATE_LIMITER_CONFIG,\n trackApiRateLimiterException,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.history),\n [props.history?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : IsolatedPage;\n\n // Key to force iframe recreation when app version changes.\n // This ensures global dependencies are re-initialized for the new version.\n const appKey = props.app?.app?.app_key;\n const appVersion = getAppVersion(props.app);\n const iframeKey = `${appKey}-${appVersion}`;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const fullscreenModeRef = useRef(false);\n const fullscreenModalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(\n queryString.parse(props.history?.location?.search),\n props.app.id\n );\n\n // save to ref to not re-create setIsFullscreenModalMode callback on change and reduce the amoount of DC apps re-renders\n const isAppMaximizedRef = useRef(isAppMaximized);\n isAppMaximizedRef.current = isAppMaximized;\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n const setIsFullscreenModalMode = useCallback(\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n (isAppMaximizedRef.current && !fullscreenModeRef.current) ||\n fullscreenModeRef.current === nextIsFullscreenModalModeValue\n ) {\n // Adding modal class if modal is opened when non-modal is already open\n if (isModal && fullscreenModalModeRef.current !== isModal) {\n fullscreenModalModeRef.current = isModal;\n containerRef.current?.classList.add(styles.containerMaximizedTransparentModal);\n }\n\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](\n styles.containerMaximizedTransparentModal\n );\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n // 1. BATCH ALL READS FIRST - prevents layout thrashing\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n\n // 2. Flush React state updates synchronously to prevent deferred renders\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n });\n\n // 3. BATCH ALL DOM WRITES - after reads and React flush\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n // Flush React state updates synchronously before DOM writes\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n });\n\n // DOM writes after React flush\n isolatedPageAppContainer.setAttribute('style', '');\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n fullscreenModeRef.current = nextIsFullscreenModalModeValue;\n fullscreenModalModeRef.current = isModal;\n },\n [isIsolationFeatureEnabled, isNonIsolatedApp, isAppMaximizedRef]\n );\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n useEffect(() => {\n if (isAppMaximized && fullscreenModeRef.current) {\n setIsFullscreenModalMode(false);\n }\n }, [isAppMaximized]);\n\n const {\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n setSeparateWindowTitle,\n } = useFullscreenModes({\n containerRef: fixedSizeContainerRef,\n appInstanceId: props.app.id,\n isMaximized: isAppMaximized,\n });\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n key={iframeKey}\n {...props}\n isBrowserFullscreen={isBrowserFullscreen}\n enterBrowserFullscreen={enterBrowserFullscreen}\n exitBrowserFullscreen={exitBrowserFullscreen}\n isSeparateWindow={isSeparateWindow}\n openSeparateWindow={openSeparateWindow}\n closeSeparateWindow={closeSeparateWindow}\n setSeparateWindowTitle={setSeparateWindowTitle}\n isNonIsolatedApp={isNonIsolatedApp}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onAppRemove={onAppRemove}\n onIsMaximizedChange={onIsMaximizedChange}\n onSettingChange={onSettingChange}\n onSettingsChange={onSettingsChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n trackApiRateLimiterException={trackApiRateLimiterException}\n updateCurrentDashboardAppLastAnnotation={updateCurrentDashboardAppLastAnnotation}\n apiRateLimiterConfig={apiRateLimiterConfig}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n apiRateLimiterConfig: PropTypes.object,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DEFAULT_API_RATE_LIMITER_CONFIG","DevCenterIsolatedAppComponent","_ref","_props$history","_props$app","_props$app2","_props$app3","_props$app3$app","_props$history2","_props$history2$locat","_ref$isIsolationFeatu","isIsolationFeatureEnabled","_ref$onAppFullscreenT","onAppFullscreenTransparentMode","noop","_ref$onIsMaximizedCha","onIsMaximizedChange","_ref$onInnerContainer","onInnerContainerMouseEnter","_ref$onInnerContainer2","onInnerContainerMouseLeave","_ref$onAppContainerCl","onAppContainerClick","_ref$setInnerContaine","setInnerContainerRefFn","_ref$onAppRemove","onAppRemove","undefined","_ref$onSettingChange","onSettingChange","_ref$onSettingsChange","onSettingsChange","_ref$updateCurrentDas","updateCurrentDashboardAppLastAnnotation","_ref$apiRateLimiterCo","apiRateLimiterConfig","trackApiRateLimiterException","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","createDevCenterRouter","history","location","isNonIsolatedApp","isCorvaApp","app","package","DCAppComponent","DevCenterAppContainer","IsolatedPage","appKey","app_key","appVersion","getAppVersion","iframeKey","concat","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","fullscreenModeRef","fullscreenModalModeRef","isAppMaximized","queryString","parse","search","id","isAppMaximizedRef","current","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setIsFullscreenModalMode","useCallback","nextIsFullscreenModalModeValue","_containerRef$current2","_containerRef$current4","_containerRef$current5","_containerRef$current6","_appIframeDocument$cu","isModal","_containerRef$current","add","containerMaximizedTransparentModal","_containerRef$current3","classesEditMethod","containerMaximizedTransparent","querySelector","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","isBodyScrollVisible","window","innerWidth","clientWidth","flushSync","setAttribute","_useFullscreenModes","useFullscreenModes","appInstanceId","isMaximized","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","setSeparateWindowTitle","setContainerRefs","node","_jsx","className","classNames","fixedSizeContainer","ref","children","jsx","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","Symbol","for","globalMixpanelEventTracker","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","object","DevCenterIsolatedApp","withRouter"],"mappings":"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"}
1
+ {"version":3,"file":"DevCenterIsolatedApp.js","sources":["../../../../../src/components/DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"],"sourcesContent":["import { useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { noop } from 'lodash';\nimport queryString from 'query-string';\nimport PropTypes from 'prop-types';\n\nimport { APP_IFRAME_ATTRIBUTE, IsolatedPage } from './IsolatedPage';\nimport { ISOLATED_PAGE_APP_CONTAINER_ID } from './constants';\nimport { useFullscreenModes } from './useFullscreenModes';\n\nimport styles from './DevCenterIsolatedApp.module.scss';\n\nimport AppContext from '~/components/DevCenter/AppContext';\nimport { usePermissionsContext } from '~/permissions';\nimport { devcenter as devCenterUtils, getUserUnits, subscribeForUserUnitsUpdates } from '~/utils';\nimport { DevCenterAppContainer } from '~/components/DevCenter';\nimport { getAppVersion } from '~/components/DevCenter/DevCenterAppContainer/utils';\nimport { isInsideNewMobileApp } from '~/utils/mobileDetect';\n\nconst PAGE_NAME = 'DevCenter_AppContainer';\nconst DEFAULT_API_RATE_LIMITER_CONFIG = {};\n\nfunction DevCenterIsolatedAppComponent({\n isIsolationFeatureEnabled = false,\n onAppFullscreenTransparentMode = noop,\n onIsMaximizedChange = noop,\n onInnerContainerMouseEnter = noop,\n onInnerContainerMouseLeave = noop,\n onAppContainerClick = noop,\n setInnerContainerRefFn = noop,\n onAppRemove = undefined,\n onSettingChange = noop,\n onSettingsChange = noop,\n updateCurrentDashboardAppLastAnnotation = noop,\n apiRateLimiterConfig = DEFAULT_API_RATE_LIMITER_CONFIG,\n trackApiRateLimiterException,\n ...props\n}) {\n const devCenterRouter = useMemo(\n () => devCenterUtils.createDevCenterRouter(props.history),\n [props.history?.location]\n );\n\n const isNonIsolatedApp =\n (devCenterUtils.isCorvaApp(props?.app?.app) &&\n !devCenterUtils.isIsolationEnabledInPackageManifest(props?.app?.package)) ||\n !isIsolationFeatureEnabled;\n\n const DCAppComponent = isNonIsolatedApp ? DevCenterAppContainer : IsolatedPage;\n\n // Key to force iframe recreation when app version changes.\n // This ensures global dependencies are re-initialized for the new version.\n const appKey = props.app?.app?.app_key;\n const appVersion = getAppVersion(props.app);\n const iframeKey = `${appKey}-${appVersion}`;\n\n const appIframeDocument = useRef();\n const containerRef = useRef();\n const fixedSizeContainerRef = useRef();\n const fullscreenModeRef = useRef(false);\n const fullscreenModalModeRef = useRef(false);\n\n const isAppMaximized = devCenterUtils.isAppMaximized(\n queryString.parse(props.history?.location?.search),\n props.app.id\n );\n\n // save to ref to not re-create setIsFullscreenModalMode callback on change and reduce the amoount of DC apps re-renders\n const isAppMaximizedRef = useRef(isAppMaximized);\n isAppMaximizedRef.current = isAppMaximized;\n\n const [userUnits, setUserUnits] = useState(getUserUnits());\n\n useEffect(() => {\n const unsubscribeFn = subscribeForUserUnitsUpdates(newUserUnits => setUserUnits(newUserUnits));\n\n return () => unsubscribeFn();\n }, []);\n\n const appContextValue = useContext(AppContext);\n const permissionsContextValue = usePermissionsContext();\n\n /*\n What is fullscreen modal mode?\n\n Our apps, are shown in isolated iFrames. Because of it, when an app has some modal\n and opens it - it's opened inside of its iframe, instead of opening at the center of the screen.\n\n To make app modals & other elements be opened at the center of the screen, as if they are not inside of an iframe,\n we use some hacks.\n\n When the app wants to open a fullscreen element, we make its iframe fullscreen, but with transparent background,\n and we set width/height & position of that app iframe to inner app container that is located inside of the iframe.\n So when iframe's fullscreen element is opened, it looks like it's a part of the platform, and the app which shows the element, looks like\n usual, not in fullscreen\n\n So the platform provides this setIsFullscreenModalMode function to DC apps.\n When DC app wants to open a modal that should be opened at the center of the screen - it needs to\n call setIsFullscreenModalMode(true) first. And when it closes the modal - setIsFullscreenModalMode(false)\n\n Two things are important about this\n - all these styles that make this invisible background work should be applied at once\n - enter and exit from the mode, shouldn't trigger even a single re-render, as it may impact\n some elements inside the DC app\n\n There's a second parameter to `setIsFullscreenModalMode`: `isModal`. It should be used when a fullscreen overlay is displayed\n (Modal, for instance) that should cover everything on screen.\n\n What it does - it basically sets the stretched element's z-index to a very high value, so it covers every other UI element in CWF\n */\n\n function handleAppFullscreenTransparentModeExit() {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n\n const setIsFullscreenModalMode = useCallback(\n function setIsFullscreenModalMode(nextIsFullscreenModalModeValue, isModal = false) {\n // When an app is already in fullscreen mode, no need to use this\n // invisible fullscreen mode to make elements take the whole screen\n if (\n !isIsolationFeatureEnabled ||\n isNonIsolatedApp ||\n (isAppMaximizedRef.current && !fullscreenModeRef.current) ||\n fullscreenModeRef.current === nextIsFullscreenModalModeValue\n ) {\n // Adding modal class if modal is opened when non-modal is already open\n if (isModal && fullscreenModalModeRef.current !== isModal) {\n fullscreenModalModeRef.current = isModal;\n containerRef.current?.classList.add(styles.containerMaximizedTransparentModal);\n }\n\n return;\n }\n\n const classesEditMethod = nextIsFullscreenModalModeValue ? 'add' : 'remove';\n\n containerRef.current?.classList[classesEditMethod](styles.containerMaximizedTransparent);\n\n if (isModal || classesEditMethod === 'remove') {\n containerRef.current?.classList[classesEditMethod](\n styles.containerMaximizedTransparentModal\n );\n }\n\n appIframeDocument.current = containerRef.current?.querySelector(\n `[${APP_IFRAME_ATTRIBUTE}]`\n )?.contentWindow?.document;\n\n const isolatedPageAppContainer = appIframeDocument.current?.getElementById(\n ISOLATED_PAGE_APP_CONTAINER_ID\n );\n\n if (!isolatedPageAppContainer) {\n return;\n }\n\n if (nextIsFullscreenModalModeValue) {\n // 1. BATCH ALL READS FIRST - prevents layout thrashing\n const { top, left, width, height } = fixedSizeContainerRef.current.getBoundingClientRect();\n const isBodyScrollVisible = window.innerWidth !== document.body.clientWidth;\n\n // 2. Flush React state updates synchronously to prevent deferred renders\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: true });\n });\n\n // 3. BATCH ALL DOM WRITES - after reads and React flush\n isolatedPageAppContainer.setAttribute(\n 'style',\n `\n top: ${top}px;\n left: ${left}px;\n width: ${width}px;\n height: ${height}px;\n position: absolute;\n `\n );\n document.body.classList.add(\n 'dc-isolated-app__body-overflow',\n isBodyScrollVisible && styles.compensateScroll\n );\n } else {\n // Flush React state updates synchronously before DOM writes\n flushSync(() => {\n onAppFullscreenTransparentMode({ appId: props.app.id, isModeEnabled: false });\n });\n\n // DOM writes after React flush\n isolatedPageAppContainer.setAttribute('style', '');\n document.body.classList.remove('dc-isolated-app__body-overflow', styles.compensateScroll);\n }\n fullscreenModeRef.current = nextIsFullscreenModalModeValue;\n fullscreenModalModeRef.current = isModal;\n },\n [isIsolationFeatureEnabled, isNonIsolatedApp, isAppMaximizedRef]\n );\n\n useEffect(() => {\n return handleAppFullscreenTransparentModeExit;\n }, []);\n\n useEffect(() => {\n if (isAppMaximized && fullscreenModeRef.current) {\n setIsFullscreenModalMode(false);\n }\n }, [isAppMaximized]);\n\n const {\n isBrowserFullscreen,\n enterBrowserFullscreen,\n exitBrowserFullscreen,\n isSeparateWindow,\n openSeparateWindow,\n closeSeparateWindow,\n setSeparateWindowTitle,\n } = useFullscreenModes({\n containerRef: fixedSizeContainerRef,\n appInstanceId: props.app.id,\n isMaximized: isAppMaximized,\n });\n\n /**\n * This should be the same function as calling react-intersection-observer's ref setter actually triggers re-render.\n * Which in its turn causes infinite re-render loop.\n */\n const setContainerRefs = useCallback(node => {\n containerRef.current = node;\n setInnerContainerRefFn(node);\n }, []);\n\n return (\n <div\n className={classNames('dc-isolated-app', styles.fixedSizeContainer)}\n ref={fixedSizeContainerRef}\n >\n <div\n ref={setContainerRefs}\n onMouseEnter={onInnerContainerMouseEnter}\n onMouseLeave={onInnerContainerMouseLeave}\n data-testid={`${PAGE_NAME}_${props.app.app.name}`}\n className={classNames(\n styles.container,\n isInsideNewMobileApp && styles.newMobileAppContainer,\n isAppMaximized && styles.containerMaximized\n )}\n >\n <DCAppComponent\n key={iframeKey}\n {...props}\n isBrowserFullscreen={isBrowserFullscreen}\n enterBrowserFullscreen={enterBrowserFullscreen}\n exitBrowserFullscreen={exitBrowserFullscreen}\n isSeparateWindow={isSeparateWindow}\n openSeparateWindow={openSeparateWindow}\n closeSeparateWindow={closeSeparateWindow}\n setSeparateWindowTitle={setSeparateWindowTitle}\n isNonIsolatedApp={isNonIsolatedApp}\n appContextValue={appContextValue}\n devCenterRouter={devCenterRouter}\n globalNotificationToastsAPI={window[Symbol.for('notificationToasts')]}\n globalMixpanelEventTracker={window[Symbol.for('logToMixpanel')]}\n onAppContainerClick={onAppContainerClick}\n onAppRemove={onAppRemove}\n onIsMaximizedChange={onIsMaximizedChange}\n onSettingChange={onSettingChange}\n onSettingsChange={onSettingsChange}\n permissionsContextValue={permissionsContextValue}\n setIsFullscreenModalMode={setIsFullscreenModalMode}\n userUnits={userUnits}\n trackApiRateLimiterException={trackApiRateLimiterException}\n updateCurrentDashboardAppLastAnnotation={updateCurrentDashboardAppLastAnnotation}\n apiRateLimiterConfig={apiRateLimiterConfig}\n />\n </div>\n </div>\n );\n}\n\nDevCenterIsolatedAppComponent.propTypes = {\n app: PropTypes.shape({\n id: PropTypes.number,\n app: PropTypes.shape({\n name: PropTypes.string,\n }),\n }).isRequired,\n currentUser: PropTypes.shape({}).isRequired,\n isIsolationFeatureEnabled: PropTypes.bool,\n onAppContainerClick: PropTypes.func,\n onAppFullscreenTransparentMode: PropTypes.func,\n onAppRemove: PropTypes.func,\n onInnerContainerMouseEnter: PropTypes.func,\n onInnerContainerMouseLeave: PropTypes.func,\n onIsMaximizedChange: PropTypes.func,\n onSettingChange: PropTypes.func,\n onSettingsChange: PropTypes.func,\n setInnerContainerRefFn: PropTypes.func,\n updateCurrentDashboardAppLastAnnotation: PropTypes.func,\n apiRateLimiterConfig: PropTypes.object,\n};\n\nexport const DevCenterIsolatedApp = withRouter(DevCenterIsolatedAppComponent);\n"],"names":["DEFAULT_API_RATE_LIMITER_CONFIG","DevCenterIsolatedAppComponent","_ref","_props$history","_props$app","_props$app2","_props$app3","_props$app3$app","_props$history2","_props$history2$locat","_ref$isIsolationFeatu","isIsolationFeatureEnabled","_ref$onAppFullscreenT","onAppFullscreenTransparentMode","noop","_ref$onIsMaximizedCha","onIsMaximizedChange","_ref$onInnerContainer","onInnerContainerMouseEnter","_ref$onInnerContainer2","onInnerContainerMouseLeave","_ref$onAppContainerCl","onAppContainerClick","_ref$setInnerContaine","setInnerContainerRefFn","_ref$onAppRemove","onAppRemove","undefined","_ref$onSettingChange","onSettingChange","_ref$onSettingsChange","onSettingsChange","_ref$updateCurrentDas","updateCurrentDashboardAppLastAnnotation","_ref$apiRateLimiterCo","apiRateLimiterConfig","trackApiRateLimiterException","props","_objectWithoutProperties","_excluded","devCenterRouter","useMemo","devCenterUtils","createDevCenterRouter","history","location","isNonIsolatedApp","isCorvaApp","app","package","DCAppComponent","DevCenterAppContainer","IsolatedPage","appKey","app_key","appVersion","getAppVersion","iframeKey","concat","appIframeDocument","useRef","containerRef","fixedSizeContainerRef","fullscreenModeRef","fullscreenModalModeRef","isAppMaximized","queryString","parse","search","id","isAppMaximizedRef","current","_useState","useState","getUserUnits","_useState2","_slicedToArray","userUnits","setUserUnits","useEffect","unsubscribeFn","subscribeForUserUnitsUpdates","newUserUnits","appContextValue","useContext","AppContext","permissionsContextValue","usePermissionsContext","handleAppFullscreenTransparentModeExit","appId","isModeEnabled","document","body","classList","remove","styles","compensateScroll","setIsFullscreenModalMode","useCallback","nextIsFullscreenModalModeValue","_containerRef$current2","_containerRef$current4","_containerRef$current5","_containerRef$current6","_appIframeDocument$cu","isModal","_containerRef$current","add","containerMaximizedTransparentModal","_containerRef$current3","classesEditMethod","containerMaximizedTransparent","querySelector","APP_IFRAME_ATTRIBUTE","contentWindow","isolatedPageAppContainer","getElementById","ISOLATED_PAGE_APP_CONTAINER_ID","_fixedSizeContainerRe","getBoundingClientRect","top","left","width","height","isBodyScrollVisible","window","innerWidth","clientWidth","flushSync","setAttribute","_useFullscreenModes","useFullscreenModes","appInstanceId","isMaximized","isBrowserFullscreen","enterBrowserFullscreen","exitBrowserFullscreen","isSeparateWindow","openSeparateWindow","closeSeparateWindow","setSeparateWindowTitle","setContainerRefs","node","_jsx","className","classNames","fixedSizeContainer","ref","children","jsx","onMouseEnter","onMouseLeave","PAGE_NAME","name","container","isInsideNewMobileApp","newMobileAppContainer","containerMaximized","_objectSpread","globalNotificationToastsAPI","Symbol","for","globalMixpanelEventTracker","propTypes","PropTypes","shape","number","string","isRequired","currentUser","bool","func","object","DevCenterIsolatedApp","withRouter"],"mappings":"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"}