@corva/ui 3.22.0 → 3.22.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 (212) hide show
  1. package/cjs-bundle/clients/jsonApi/index.js +1 -1
  2. package/cjs-bundle/clients/jsonApi/index.js.map +1 -1
  3. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  4. package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
  5. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  6. package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
  7. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  8. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  9. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  10. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  11. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  12. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  13. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  14. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  15. package/cjs-bundle/components/CollapsableSidebar.js +1 -1
  16. package/cjs-bundle/components/CollapsableSidebar.js.map +1 -1
  17. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  18. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  19. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  20. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
  21. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
  22. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +1 -1
  23. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  24. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  25. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  26. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  27. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  28. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  29. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  30. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  31. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  32. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  33. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  34. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  35. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  36. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  37. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  38. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  39. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  40. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  41. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  42. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  43. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  44. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  45. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  46. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  47. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  48. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  49. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  50. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  51. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  52. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  53. package/cjs-bundle/components/FeedItem/FeedItem.js +1 -1
  54. package/cjs-bundle/components/FeedItem/FeedItem.js.map +1 -1
  55. package/cjs-bundle/components/FeedItem/components/FeedComments.js +1 -1
  56. package/cjs-bundle/components/FeedItem/components/FeedComments.js.map +1 -1
  57. package/cjs-bundle/components/ImageViewer/index.js +1 -1
  58. package/cjs-bundle/components/ImageViewer/index.js.map +1 -1
  59. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
  60. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
  61. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/SidetrackSwitch.js +1 -1
  62. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/SidetrackSwitch.js.map +1 -1
  63. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  64. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  65. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  66. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  67. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/SidetrackSwitch.js +1 -1
  68. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/SidetrackSwitch.js.map +1 -1
  69. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  70. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  71. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  72. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  73. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  74. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  75. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  76. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  77. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  78. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  79. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  80. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  81. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  82. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  83. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.js +1 -1
  84. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.js.map +1 -1
  85. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/Filter.js +1 -1
  86. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/Filter.js.map +1 -1
  87. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js +1 -1
  88. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js.map +1 -1
  89. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js +1 -1
  90. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js.map +1 -1
  91. package/cjs-bundle/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js +1 -1
  92. package/cjs-bundle/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js.map +1 -1
  93. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  94. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  95. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  96. package/cjs-bundle/components/Popover/Popover.js +1 -1
  97. package/cjs-bundle/components/Popper/Popper.js +1 -1
  98. package/cjs-bundle/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  99. package/cjs-bundle/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
  100. package/cjs-bundle/permissions/constants/index.js +1 -1
  101. package/cjs-bundle/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  102. package/clients/jsonApi/index.d.ts +1 -0
  103. package/clients/jsonApi/index.d.ts.map +1 -1
  104. package/clients/jsonApi/index.js +1 -1
  105. package/clients/jsonApi/index.js.map +1 -1
  106. package/components/AddComment/Popover.js +1 -1
  107. package/components/AddComment/Popover.js.map +1 -1
  108. package/components/AddComment/components/Content.js +1 -1
  109. package/components/AddComment/components/Content.js.map +1 -1
  110. package/components/BICOffsetPickerDialog/index.js +1 -1
  111. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  112. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  113. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  114. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  115. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  116. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  117. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  118. package/components/CollapsableSidebar.js +1 -1
  119. package/components/CollapsableSidebar.js.map +1 -1
  120. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  121. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  122. package/components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.js +1 -1
  123. package/components/DevCenter/DevCenterAppContainer/components/NonPriorityMenus/NonPriorityMenus.js +1 -1
  124. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js +1 -1
  125. package/components/DevCenter/DevCenterAppContainer/components/PriorityMenus/PriorityMenus.js.map +1 -1
  126. package/components/DocumentViewer/DocumentViewer.js +1 -1
  127. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  128. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  129. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  130. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  131. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  132. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  133. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  134. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  135. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  136. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  137. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  138. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  139. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  140. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  141. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  142. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  143. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  144. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  145. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  146. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  147. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  148. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  149. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  150. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  151. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  152. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  153. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  154. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  155. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  156. package/components/FeedItem/FeedItem.js +1 -1
  157. package/components/FeedItem/FeedItem.js.map +1 -1
  158. package/components/FeedItem/components/FeedComments.js +1 -1
  159. package/components/FeedItem/components/FeedComments.js.map +1 -1
  160. package/components/ImageViewer/index.js +1 -1
  161. package/components/ImageViewer/index.js.map +1 -1
  162. package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js +1 -1
  163. package/components/OffsetWellPickerV2/components/Filter/NonEngineeredWellsSwitch.js.map +1 -1
  164. package/components/OffsetWellPickerV2/components/Filter/SidetrackSwitch.js +1 -1
  165. package/components/OffsetWellPickerV2/components/Filter/SidetrackSwitch.js.map +1 -1
  166. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  167. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  168. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  169. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  170. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/SidetrackSwitch.js +1 -1
  171. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Filter/SidetrackSwitch.js.map +1 -1
  172. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  173. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  174. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  175. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  176. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  177. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  178. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  179. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  180. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  181. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  182. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  183. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  184. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  185. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  186. package/components/OffsetWellPickerV4/OffsetWellPickerV4.js +1 -1
  187. package/components/OffsetWellPickerV4/OffsetWellPickerV4.js.map +1 -1
  188. package/components/OffsetWellPickerV4/components/Filter/Filter.js +1 -1
  189. package/components/OffsetWellPickerV4/components/Filter/Filter.js.map +1 -1
  190. package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js +1 -1
  191. package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js.map +1 -1
  192. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js +1 -1
  193. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js.map +1 -1
  194. package/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js +1 -1
  195. package/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js.map +1 -1
  196. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  197. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  198. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  199. package/components/Popover/Popover.js +1 -1
  200. package/components/Popper/Popper.js +1 -1
  201. package/components/RealTimeValuesSidebar/SidebarFooter.js +1 -1
  202. package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.d.ts.map +1 -1
  203. package/componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js +1 -1
  204. package/package.json +1 -1
  205. package/permissions/constants/index.js +1 -1
  206. package/testing/AppTestWrapper/AppTestWrapper.js +1 -1
  207. package/types/shared/Completions.d.ts +0 -5
  208. package/types/shared/Completions.d.ts.map +1 -1
  209. package/types/shared/assets.d.ts +6 -0
  210. package/types/shared/assets.d.ts.map +1 -0
  211. package/types/shared/index.d.ts +1 -0
  212. package/types/shared/index.d.ts.map +1 -1
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/defineProperty";import o from"@babel/runtime/helpers/asyncToGenerator";import s from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{useState as i,useRef as r,useEffect as p,useCallback as c,useMemo as m}from"react";import l from"classnames";import{uniqBy as a,uniq as d,sortBy as u,isEmpty as j}from"lodash";import{Replay as f,InfoOutlined as C}from"@material-ui/icons";import{useFetchWells as A}from"./effects/useFetchWells.js";import{useAdvancedWells as v}from"./effects/useAdvancedWells.js";import{useBicWells as S}from"./effects/useBicWells.js";import{useCompanyMetricKey as h}from"./effects/useCompanyMetricKey.js";import{useFilterOptions as g}from"./effects/useFilterOptions.js";import{useFilteredWells as b}from"./effects/useFilteredWells.js";import{useSortedWells as V}from"./effects/useSortedWells.js";import"./effects/useAssetsData.js";import{useTableColumns as I}from"./effects/useTableColumns.js";import{useCompanyProvider as D}from"./effects/useCompanyProvider.js";import{AppHeader as T}from"./components/AppHeader/AppHeader.js";import{Toolbar as y}from"./components/Toolbar/Toolbar.js";import{Filter as P}from"./components/Filter/Filter.js";import{WellsMap as x}from"./components/Map/WellsMap.js";import W from"./components/OffsetWellsTable/OffsetWellsTable.js";import{ALL_SECTION_KEY as B,ViewType as M,TOP_GRADIENT_MAP as F,ColumnType as E,COMPANY_PROVIDERS_FOR_IDAS as L,FilterType as O,ROWS_PER_PAGE as w,RESYNC_STATUS as H,LEAVE_TOUCH_DELAY as k,IOS_DEVICE as N,DEFAULT_LOCAL_OFFSET_SIZE as R,MAX_OFFSET_SIZE as G,SMALL_SCREEN_WIDTH as q,SMALL_SCREEN_HEIGHT as z,DEFAULT_BIC_OFFSET_SIZE as U}from"./constants.js";import{SEARCH_CATEGORIES as _}from"./components/OffsetWellsTable/AdvancedSearch/constants.js";import{getCoordinatedWells as K,getMobileOperatingSystem as Z}from"./utils/index.js";import X from"./OffsetWellPickerV4.module.css.js";import"../../utils/index.js";import{jsxs as J,jsx as Q,Fragment as Y}from"react/jsx-runtime";import"@material-ui/core/Snackbar";import"../Notifications/Toast.js";import{NotificationsContainer as $}from"../Notifications/NotificationsContainer.js";import{isMobileDetected as ee,isNativeDetected as te}from"../../utils/mobileDetect.js";import oe from"../../styles/typography/index.js";import"../../styles/counter/counter.module.scss.js";import{Regular14 as se,Regular12 as ne}from"../Typography.js";import ie from"../Modal/Modal.js";import"../IconMenu/index.js";import"../StyledMenuItem/index.js";import"../AppIcon/AppIcon.js";import"../DevCenter/AppHeader/AppHeader.js";import"../DevCenter/AppSideBar/AppSideBar.js";import"../DevCenter/AppsDataProvider/AppsDataProvider.js";import"@material-ui/core";import"../DevCenter/AppContext.js";import"../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/alerts.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/completion.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"../GradientManager/configuration/constants.js";import"../DevCenter/DevCenterAppContainer/components/AppActions/AppActions.css.js";import"../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js";import"../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js";import"../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js";import"../DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js";import"../../componentsV2/Text/Text.js";import"../../componentsV2/Grid/Grid.js";import"../../componentsV2/Grid/Grid.scss.js";import"../../componentsV2/Header/Header.scss.js";import"../../componentsV2/Button/Button.js";import"../../componentsV2/ButtonIcon/ButtonIcon.js";import"../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../componentsV2/Tooltip/Tooltip.scss.js";import"../../componentsV2/Paper/Paper.js";import"../../componentsV2/Popover/Popover.scss.js";import"../../componentsV2/Radio/Radio.js";import"../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../componentsV2/Checkbox/Checkbox.js";import"../../componentsV2/TextInput/TextInput.js";import"../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../componentsV2/TextLink/TextLink.js";import"../../componentsV2/Chip/Chip.js";import"../../componentsV2/ChipAlert/ChipAlert.js";import"../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../componentsV2/Avatar/Avatar.js";import"../../componentsV2/Avatar/constants.js";import"../../componentsV2/AvatarGroup/AvatarGroup.scss.js";import"@material-ui/lab";import"../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../componentsV2/ModalWindow/ModalWindow.scss.js";import"@icon-park/react/es/all";import"../../icons/IconParkProvider.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../componentsV2/Modal/Modal.scss.js";import"../../componentsV2/Menu/Menu.js";import"../../componentsV2/Counter/Counter.js";import"../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../componentsV2/Switch/Switch.js";import"../../componentsV2/Tabs/Tabs.js";import"../../componentsV2/EmptyState/EmptyState.scss.js";import"../../componentsV2/FileIcon/FileIcon.js";import"react-dropzone";import"../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../componentsV2/Skeleton/Skeleton.scss.js";import"../../utils/main.js";import"../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../componentsV2/Stepper/Step/Step.scss.js";import"../../componentsV2/Stepper/Stepper.scss.js";import"../../componentsV2/ButtonLive/ButtonLive.js";import"../../componentsV2/ButtonText/ButtonText.js";import"../../componentsV2/LiveDotIndicator/LiveDotIndicator.scss.js";import"../../componentsV2/IndicatorLive/IndicatorLive.scss.js";import"../../componentsV2/Accordion/Accordion.scss.js";import"../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../componentsV2/BadgeComment/BadgeComment.js";import"../../componentsV2/AppContainer/AppContainer.js";import"../../componentsV2/AppContainer/AppContainer.constants.js";import"../../componentsV2/AppFooter/AppFooter.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppHeader/AppHeader.constants.js";import"../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../componentsV2/AppHeader/AppAssets/utils.js";import"../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../PadModeSelect/PadModeSelect.js";import"../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../constants/streamSourceType.js";import"../../types/shared/Completions.js";import"../PadModeSelect/types.js";import"lodash/flatten";import"lodash/partition";import"../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js";import"../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js";import"../../clients/jsonApi/index.js";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../clients/subscriptions/constants.js";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js";import"../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../componentsV2/PadModeSelect/PadModeSelect.scss.js";import"querystring";import"uuid/v1";import"jsona";import"../../utils/env.js";import"../StatusBadge/constants.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../componentsV2/AppContainer/headerCommon.scss.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../componentsV2/AppSizeProvider/AppSizeProvider.js";import"../../componentsV2/AppSettings/AppSettings.js";import"../../componentsV2/AppSettings/AppSettings.constants.js";import"../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../componentsV2/AppHeader/V3/SettingsPopover/SettingsPopover.constants.js";import"../../componentsV2/AppHeader/V3/SettingsPopover/SettingsPopover.scss.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../componentsV2/AppHeader/AppHeader.scss.js";import"../../componentsV2/OffsetWellsButton/OffsetWellsButton.scss.js";import"../../componentsV2/Autocomplete/Autocomplete.scss.js";import"../../componentsV2/Menu/MenuItem/MenuItem.scss.js";import"../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js";import"../DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js";import"../DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js";import"../DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js";import"rollbar";import"@rollbar/react";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.scss.js";import"../DevCenter/DevCenterAppContainer/DevCenterAppContainer.css.js";import"../Icons/AnnotationIcon.js";import"../Annotations/components/AnnotationsList/index.js";import"../Annotations/components/LastAnnotation/index.js";import"../Annotations/AnnotationsContext.js";import"../Toaster/Toaster.js";import"../HelpCenter/HelpCenterIcon.js";import"../DevCenter/NavigationBar/NavigationBar.js";import"../DevCenter/SideBar/SideBar.js";import"../DevCenter/AppSettingsPopover/AppSettingsPopover.js";import"../DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js";import"../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js";import"../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js";import"../AssetEditor/index.js";import"../AssetEditorV2/index.js";import"../AppVersionsSelect/AppVersionsSelect.js";import re from"../LoadingIndicator/LoadingIndicator.js";import"../RealTimeValuesSidebar/RealTimeSidebar.js";import"../CollapsableSidebar.js";import"../DateTimePicker/index.js";import"../DatePicker/index.js";import"../ErrorBoundary/ErrorBoundary.js";import"../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js";import"../SlateFormattedText/SlateFormattedText.js";import"../SlateFormattedText/RenderElements.js";import"slate";import"../EmptyState/EmptyState.js";import"../ParameterCharts/ParameterCharts.js";import"../ParameterCharts/AddEditTrack.js";import"../ChartActionsList/ChartActionsList.js";import"../CopyToClipboard/CopyToClipboard.js";import"../AssetEditor/AssetEditorAutocomplete.js";import"../AssetEditor/SingleAssetEditor.js";import"react-color";import"../SettingEditors/ColorEditor/style.css.js";import"../SettingEditors/DropdownEditor/index.js";import"../SwitchControl/index.js";import"../ColorPicker/ColorPicker.js";import"../Chart/components/ChartButton.js";import"../Chart/components/ChartButtons.js";import"../Chart/components/ChartWrapper.js";import"../Chart/components/AxisDropdown.js";import"../Chart/components/ChartSelect.js";import"../Chart/components/buttons/DragToZoomButton.js";import"../Chart/components/buttons/ZoomInButton.js";import"../Chart/components/buttons/ZoomOutButton.js";import"../Chart/components/buttons/PanButton.js";import"../Chart/components/buttons/ResetZoomButton.js";import"../Chart/components/buttons/HideAxesButton.js";import"../Chart/components/buttons/ChartTypeButton.js";import"../ColorPicker/PaletteChromePicker/PaletteChromePicker.js";import"../TruncatedText/index.js";import"../MiddleTruncatedText/MiddleTruncatedText.js";import"../RangeSlider/constants.js";import"../RangeSlider/Input.css.js";import"../RangeSlider/RangeSlider.css.js";import"../AdvancedSlider/AdvancedSlider.js";import"../Breadcrumbs/index.js";import"../VirtualizedTable/index.js";import"../EmptyView/EmptyView.js";import"../EmptyView/EmptyAppView/EmptyAppView.js";import pe from"../Button/components/Button/index.js";import"moment-timezone";import"../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js";import"../Button/components/LiveButton/styles.js";import"../ContextMenuItem/index.js";import"../FolderMenuItem/index.js";import"../EditableItem/EditableItem/index.js";import"../EditableItem/EditableItemWithBadge/index.js";import"../Checkbox/index.js";import"../FolderMenuItemWithLinks/index.js";import"../IconButton/index.js";import"../TextField/index.js";import"../Chip/index.js";import"../Counter/index.js";import"../AnchorsList/AnchorsList.js";import"../Select/index.js";import"../Select/SelectFilterBy.js";import"../CustomSelect/index.js";import"../Tabs/Tabs.js";import"../Tabs/Tab.js";import"../ResizableTable/ResizableTable.js";import"../GradientPicker/GradientPicker.js";import"../GradientManager/GradientList.js";import"@material-ui/icons/AddCircle";import"../GradientManager/GradientPreview/GradientPreview.js";import"../GradientManager/GradientSelect.styles.js";import"../GradientManager/GradientManager.styles.js";import"../Drillstring/BHASchematic.js";import"../Drillstring/BHATable/index.js";import"../Drillstring/BHAComponentIcon.js";import"../Drillstring/BHAComponentDetail/index.js";import"../Drillstring/BHATileIcon.js";import"../Drillstring/BHATile/BHATile.js";import"../Drillstring/BHAList/BHAList.js";import"../Drillstring/BHAComponentsTable/BHAComponentsTable.js";import"../Casing/CasingTable/index.js";import"../Casing/CasingComponentIcon.js";import"../Casing/CasingTileIcon.js";import"../Casing/CasingTableV2/CasingTableV2.js";import"../Casing/CasingTile/CasingTile.js";import"../DisabledSettingsMessage/DisabledSettingsMessage.js";import"../WellSummary/WellSummaryItemLabel.js";import"../WellSummary/WellSummaryItemTitle.js";import"../WellSummary/WellSummaryItemValue.js";import"../WellSummary/ActivitySummaryChart.js";import"../WellSummary/FracWirelineTimeChart.js";import"../BICOffsetPickerDialog/index.js";import"../OffsetWellButton/OffsetWellButton.js";import"../OffsetWellPickerV2/OffsetWellPickerDialog.js";import"../OffsetWellPickerV3/index.js";import"../OffsetWellChips/Chip.js";import"../OffsetWellChips/ChipsContainer.js";import"../OffsetWellMap/OffsetWellMap.js";import"../ConfirmationDialog.js";import"../TextLink/index.js";import"../Avatar/index.js";import"../Template/TemplatePopover/index.js";import"../Template/TemplateSharingDialog/index.js";import"../MenuItem/index.js";import"../MiddleTruncate/MiddleTruncate.js";import"../PinnableFilters/PinnableFilters.js";import"../HeaderLayout/HeaderLayout.js";import"../PadOffsetsPicker/PadOffsetsPicker.js";import"../PadOffsetsPicker/OffsetAssetChip.js";import"../PadOffsetsPicker/OffsetAssetsListExpander.js";import"../PadOffsetsPicker/StagesSelector.js";import"../PadOffsetsPickerV2/PadOffsetsPickerV2.js";import"../Table/TableToolbar/TableToolbar.js";import"../Table/TableContainer/TableContainer.js";import"../Table/TableCell/TableCell.js";import"../Table/TablePagination/TablePagination.js";import"../Table/TablePaginationActions/TablePaginationActions.js";import{Tooltip as ce}from"../Tooltip/Tooltip.js";import"../Tooltip/ScrollableTooltip.js";import"../PriceInput/PriceInput.js";import"../LabelsCounter/LabelsCounter.js";import"../Stepper/Stepper.js";import"../Stepper/Step/Step.js";import"../Stepper/StepsWrapper.js";import"../Comment/CommentIcon/index.js";import"../FilesLoader/FilesLoader.js";import"../SearchInput/index.js";import"../FeedItem/FeedItem.js";import"../FeedItem/FeedItemEditProvider/FeedItemEditProvider.js";import"../PostInput/PostInput.js";import"../KeyboardDateTimePicker.js";import"../AddComment/Popover.js";import"../AddComment/Popup.js";import"../StageDesignVActual/ComparisonBar/ComparisonBar.js";import"../StageDesignVActual/ElementsComparison/ElementsComparison.js";import"../StageDesignVActual/ComparisonHeader.js";import"../StageDesignVActual/ComparisonRow.js";import"../EmbeddedApp/DevCenterEmbeddedApp.js";import"../EmbeddedApp/EmbeddedApp.js";import"../Autocomplete/Autocomplete.js";import"../DocumentViewer/DocumentViewer.js";import"../ColorPickerPalette/ColorPickerPalette.js";import"../Search/Search.js";import"../Search/components/Listbox.js";import"../Search/components/Paper.js";import"../Search/components/RecentSearches.js";import"../Search/components/Groups.js";import"../Search/components/SelectAllListItem.js";import"../StatusBadge/index.js";import"../Attachment/index.js";import"../EmojiIconButton.js";import"../FileUploadIconButton.js";import"../FilePreview/index.js";import"../FailedFileUploading.js";import"../UserMention/index.js";import"../CommentsInfo/index.js";import"../CommentInput/index.js";import"../Comment/index.js";import"../CommentLoader.js";import"../AssetNameLabel/AssetStatusBadge.js";import"../AssetEditorV2/components/PrimaryAssetSelect.js";import"../AssetEditorV2/components/SecondaryAssetSelect.js";import"../AssetEditorV2/components/SelectItem.js";import"../AssetEditorV2/components/MultipleAssetsToggle.js";import"../AssetEditorV2/components/PrimaryAssetSelectV2.js";import"../EChartsWrapper/EChartsWrapper.js";import"../AssetsMultipleSelector/AssetsMultipleSelector.js";import"@material-ui/icons/Close";import"@material-ui/icons/GetApp";import"../GoogleDocsViewer/index.js";import"../NewDocumentViewer/effects/useFileContent.js";import"../NewDocumentViewer/styles.js";import"../FilesLoaderV2/styles.js";import"../FilesDropzone/styles.js";import"../FilesProcessor/styles.js";import"../Hint/styles.js";import"@babel/runtime/helpers/taggedTemplateLiteral";import"fparser";import"../Formula/useFormulaStyles.js";import"../Formula/RootXIcon.js";import"../Formula/FormulaTextEditor.js";import"../Formula/CloseSuggestion.js";import"../Formula/SuggestionsMenu.js";import{showInfoNotification as me}from"../../utils/notificationToasts.js";function le(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,s)}return o}function ae(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?le(Object(s),!0).forEach((function(o){t(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):le(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}var de="OffsetWellPickerV4",ue=function(le){var ue,je,fe,Ce=le.open,Ae=le.isWDUser,ve=le.defaultSubjectWell,Se=le.currentUser,he=le.offsetSettings,ge=le.addWellsUsabilityInfo,be=le.isViewOnly,Ve=le.onClose,Ie=le.onSave,De=le.maxOffsetSize,Te=void 0===De?U:De,ye=le.localMaxOffsetSize,Pe=void 0===ye?R:ye,xe=le.syncAutoEnabled,We=le.isManualWellsEnabled,Be=void 0!==We&&We,Me=i(null),Fe=s(Me,2),Ee=Fe[0],Le=Fe[1],Oe=Math.min(Te+1,Pe+1,G+1),we=Math.min(Math.max(Oe,Pe+1),G+1),He=i(null==he?void 0:he.filterExpanded),ke=s(He,2),Ne=ke[0],Re=ke[1],Ge=i(null==he?void 0:he.mapHidden),qe=s(Ge,2),ze=qe[0],Ue=qe[1],_e=+(null==ve?void 0:ve.companyId)||+(null==Se?void 0:Se.company_id),Ke=null==ve?void 0:ve.asset_id,Ze=i((null==he?void 0:he.filters)||{}),Xe=s(Ze,2),Je=Xe[0],Qe=Xe[1],Ye=i((null==he?void 0:he.wellSection)||B),$e=s(Ye,2),et=$e[0],tt=$e[1],ot=r(!0),st=i([]),nt=s(st,2),it=nt[0],rt=nt[1],pt=i(null),ct=s(pt,2),mt=ct[0],lt=ct[1],at=i(!0),dt=s(at,2),ut=dt[0],jt=dt[1],ft=i(!1),Ct=s(ft,2),At=Ct[0],vt=Ct[1],St=i(!1),ht=s(St,2),gt=ht[0],bt=ht[1],Vt=r(),It=i(M.none),Dt=s(It,2),Tt=Dt[0],yt=Dt[1],Pt=r(),xt=i(!1),Wt=s(xt,2),Bt=Wt[0],Mt=Wt[1],Ft=we<=(null==it?void 0:it.length),Et=F[Tt],Lt=r(),Ot=i(!0),wt=s(Ot,2),Ht=wt[0],kt=wt[1];p((function(){var e,t,o;(Ce&&Ft&&me("App can’t process more than (".concat(we-1,") Offset Wells.")),Ce)||((null==he||null===(e=he.selectedWellIds)||void 0===e?void 0:e.length)===(null===(t=Lt.current)||void 0===t?void 0:t.length)&&(null==he||null===(o=he.selectedWellIds)||void 0===o?void 0:o.every((function(e){var t;return null===(t=Lt.current)||void 0===t?void 0:t.includes(e)})))||(ot.current=!0),Lt.current=null==he?void 0:he.selectedWellIds)}),[Ft,Ce,he]),p((function(){function e(){window.innerWidth<=q||ee||te?yt(M.mobile):window.innerHeight<=z?yt(M.small):yt(M.normal)}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[Ce]),p((function(){Pt.current&&Tt===Pt.current||(Pt.current=Tt,Tt===M.small||Tt===M.mobile?(Ue(!0),Re(!1)):(Re(!be&&(null==he?void 0:he.filterExpanded)),Ue(!be&&(null==he?void 0:he.mapHidden))),Qe((null==he?void 0:he.filters)||{}),tt((null==he?void 0:he.wellSection)||B))}),[he,be,Tt]);var Nt=A(_e,ge),Rt=s(Nt,2),Gt=Rt[0],qt=Rt[1],zt=D(_e),Ut=s(zt,1)[0],_t=S(Ae,Se,Ke,Gt,Be),Kt=s(_t,7),Zt=Kt[0],Xt=Kt[1],Jt=Kt[2],Qt=Kt[3],Yt=Kt[4],$t=Kt[5],eo=Kt[6];p((function(){kt(!0),Xt(null),Qt(null)}),[Ke]);var to=h(_e,null==he?void 0:he.metricsKeys),oo=s(to,2),so=oo[0],no=oo[1],io=v(_e,Gt,Zt,Jt,Ke,so,Ce),ro=!qt&&(null==io?void 0:io.length)===(null==Gt?void 0:Gt.length);p((function(){if(ro){var e,t=(e=o(n.mark((function e(){var t,o,s,i,r,p,c,m,l,a;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=void 0===(null==he?void 0:he.isSynced)||(null==he?void 0:he.isSynced),o=!0,!t){e.next=19;break}if(i=Jt[B]||[],r=((null==he?void 0:he.selectedWellIds)||[]).every((function(e){return i.includes(e)})),i.length===(null==he||null===(s=he.selectedWellIds)||void 0===s?void 0:s.length)&&r){e.next=16;break}return e.next=8,K(i,Ke);case 8:p=e.sent,c=p.slice(0,Oe+1).map((function(e){return e.id})),c=p.slice(0,Pe+1).map((function(e){return e.id})),m=ae(ae({},he),{},{subjectWellId:Ke,selectedWellIds:c,offsetWellsLimited:we<=c.length}),l=p.filter((function(e){return c.includes(e.id)})),Ie(m,l),e.next=17;break;case 16:o=!1;case 17:e.next=20;break;case 19:o=!1;case 20:if(o){e.next=25;break}return e.next=23,K((null==he?void 0:he.selectedWellIds)||[],Ke);case 23:a=e.sent,Ie(he,a);case 25:case"end":return e.stop()}}),e)}))),function(){return e.apply(this,arguments)});xe&&Ht&&he&&Jt&&(t(),kt(!1))}}),[he,Jt,Ke,we,xe]);var po=g(io);p((function(){if(io&&Zt){var e=io.find((function(e){return e.id===Ke}));if(e){var o=Zt.filter((function(e){return e.value!==B})).map((function(e){return e.label})),s=ae(ae({},e),o.length>0&&t({},E.wellSection,o));lt(s)}else lt(null)}}),[Zt,io]);var co=I(so),mo=b(io,Je);p((function(){if(mo&&ro)if(ot.current){var e=io.filter((function(e){return((null==he?void 0:he.selectedWellIds)||[]).includes(e.id)}));mt&&(e=e.concat(mt)),rt(a(e,"id")),ot.current=!1}else rt((function(e){var t=(mo||[]).filter((function(t){return!!e.find((function(e){var o=e.id;return t.id===o}))}));return mt&&(t=t.concat(mt)),a(t,"id")}))}),[io,mo,null==he?void 0:he.selectedWellIds,ro]);var lo=V(mt,mo,it,jt),ao=s(lo,5),uo=ao[0],jo=ao[1],fo=ao[2],Co=ao[3],Ao=ao[4],vo=c((function(e,t,o){var s;s=o===_.well.name?t:t.reduce((function(e,t){var o,s=null===(o=io.find((function(e){return e.id===t})))||void 0===o?void 0:o.rigName,n=io.filter((function(e){return e.rigName===s})).map((function(e){return e.id}));return e.concat(n)}),[]);var n=io.filter((function(e){var t=e.id;return s.includes(t)}));e?(n=n.slice(0,Math.min(n.length,we-it.length)),rt((function(e){return a(e.concat(n),"id")}))):rt((function(e){return d(e.filter((function(e){var t=e.id;return!n.find((function(e){return e.id===t}))})))}))}),[io,it]),So=c((function(){bt(!0)}),[]),ho=c((function(e){no(e)}),[]),go=c((function(t,o){rt(o?function(o){return[].concat(e(o),[t])}:function(e){return e.filter((function(e){return e.id!==t.id}))})}),[]),bo=c((function(e){if(e){var t=mt?mo.concat(mt):mo,o=u(a(t,"id"),"distance");rt(o.slice(0,we))}else rt(mt?[mt]:[])}),[mo,mt,we]),Vo=function(e){if(Jt){var t=(null==io?void 0:io.filter((function(t){var o;return null===(o=Jt[e])||void 0===o?void 0:o.includes(t.id)})))||[],o=u(t,"distance");rt(o.slice(0,Oe))}else rt(mt?[mt]:[])},Io=c((function(e){tt(e),Vo(e)}),[Vo]),Do=m((function(){return it.find((function(e){return e.id===Ke}))?it.length-1:it.length}),[it,Ke]),To=m((function(){if(!Jt)return!1;var e=it.map((function(e){return e.id})),t=Jt[et]||[];return Math.min(t.length,Oe)===e.length&&e.every((function(e){return t.includes(e)}))}),[Jt,it,et,Oe]),yo=m((function(){return!!Ut&&L.includes(Ut)}),[Ut]),Po=m((function(){return yo?"IDAS generated offsets.":Ae?"Offset Selection App.":"WellHub."}),[yo,Ae]),xo=function(){var e=(io||[]).filter((function(e){return((null==he?void 0:he.selectedWellIds)||[]).includes(e.id)}));mt&&(e=e.concat(mt)),rt(a(e,"id"));var t=ae(ae({},he),{},{mapHidden:ze,filterExpanded:Ne});Ie(t),Qe((null==he?void 0:he.filters)||{}),tt((null==he?void 0:he.wellSection)||B),Ve()},Wo=ut||!ro,Bo=m((function(){return!Wo&&(!To||(!(j(Je)||!Je[O.sideTracks])||et!==B))}),[To,Je,et,Wo]),Mo=function(){Qe({}),tt(B),Vo(B)},Fo=!io||!Zt||!Ao||Tt===M.none,Eo=i(!1),Lo=s(Eo,2),Oo=Lo[0],wo=Lo[1],Ho=i(w),ko=s(Ho,2),No=ko[0],Ro=ko[1],Go=i([]),qo=s(Go,2),zo=qo[0],Uo=qo[1];p((function(){if(Ao){var e=Ao.slice(0,No);Uo(e)}}),[Ao,No,mt]),p((function(){Yt===H.SUCCEEDED&&Mo()}),[Jt]);return J(ie,{open:Ce,onClose:xo,title:Q(T,{isWDUser:Ae,viewType:Tt,totalCount:null!==(ue=null==io?void 0:io.length)&&void 0!==ue?ue:0,selectedCount:Do,isViewOnly:be,maxOffsetWellNumber:we}),isMobile:Tt===M.mobile,contentContainerClassName:l(X.offsetWellDialog),contentClassName:l(X.contentContainer,(je={},t(je,X.smallContainer,Tt===M.small),t(je,X.contentContainerMobile,Tt===M.mobile),je)),actionsClassName:X.modalActions,actions:!be&&J("div",{className:X.actionsWrapper,children:[!Fo&&Bo?Q(ce,{placement:"bottom-start",title:"Reset to Synced Offsets in ".concat(Ae?"Offset App":"Wellhub"),children:Q("div",{children:Q(pe,{"data-testid":"".concat(de,"_reset"),onClick:Mo,color:"primary",startIcon:Tt!==M.mobile&&Q(f,{}),classes:Tt===M.mobile&&{root:X.resetButtonMobile},children:Tt!==M.mobile?"Reset":Q(f,{})})})}):Q("div",{className:Tt===M.mobile&&X.infoIconContainer,children:Tt!==M.mobile?J(Y,{children:[Q("span",{className:l(oe.regular12,oe.colors.t6),children:"The offset list is being automatically populated by "}),Q("span",{className:l(oe.medium12,oe.colors.t6),children:Po})]}):Q(ce,{title:J("div",{children:[Q("span",{className:l(oe.regular12,oe.colors.t1),children:"The offset list is being automatically populated by "}),Q("span",{className:l(oe.medium12,oe.colors.t1),children:Po})]}),enterTouchDelay:0,leaveTouchDelay:k,children:Q(C,{className:X.infoIcon})})}),J("div",{className:X.buttonGap,children:[Q(pe,{"data-testid":"".concat(de,"_cancel"),onClick:xo,color:"primary",children:"Cancel"}),J(pe,{"data-testid":"".concat(de,"_selectedWells"),variant:"contained",color:"primary",onClick:function(){Ve();var e=ae(ae({},he),{},{companyId:_e,subjectWellId:Ke,selectedWellIds:it.map((function(e){return e.id})),filters:Je,metricsKeys:so,wellSection:et,isSynced:To,mapHidden:ze,filterExpanded:Ne,offsetWellsLimited:Ft});Ie(e,it)},children:["Select (",Do,")"]})]})]}),children:[Q($,{}),Fo?Q(re,{fullscreen:!1}):J("div",{className:l(X.contentWrapper,t({},X.contentBlocked,Wo)),ref:Vt,children:[Tt===M.mobile&&J("div",{className:l(X.countContainer,t({},X.countContainerMobile,Tt===M.mobile)),children:[Q(se,{className:X.totalLabel,children:"Total:"}),Q(se,{"data-testid":"".concat(de,"_totalWells"),className:X.countValue,children:io.length}),Q(se,{className:X.selectedLabel,children:"Selected:"}),Q(se,{"data-testid":"".concat(de,"_selected"),className:X.countValue,children:Do}),Q(ce,{title:"App can’t process more than (".concat(we-1,") Offset Wells."),placement:"right",children:J(ne,{"data-testid":"".concat(de,"_maxOffsetSize"),className:X.maxOffsetSize,children:["/",we-1]})})]}),Tt===M.normal&&Q(y,{isViewOnly:be,isXtoProvider:yo,viewType:Tt,filters:Je,setFilters:Qe,isFilterExpanded:Ne,setIsFilterExpanded:Re,isMapHidden:ze,setIsMapHidden:Ue,resyncStatus:Yt,setResyncStatus:$t}),Bt&&Q("div",{className:X.topGradient,style:{top:Et}}),J("div",{className:l(X.content,(fe={},t(fe,X.contentBlocked,Wo),t(fe,X.contentMobile,Tt===M.mobile),t(fe,X.contentiOSMobile,Z()===N),fe)),onScroll:function(e){return function(e){e.target&&(gt&&(e.target.scrollLeft=0,bt(!1)),e.target.scrollLeft<=5&&Oo&&wo(!1),e.target.scrollLeft>5&&!Oo&&wo(!0),e.target.scrollTop<=5&&Bt&&Mt(!1),e.target.scrollTop>5&&!Bt&&Mt(!0),e.target.scrollHeight!==e.target.offsetHeight&&Math.round(e.target.scrollTop+e.target.offsetHeight+2)>=e.target.scrollHeight&&No<Ao.length&&Ro((function(e){return e+w})))}(e)},children:[Tt!==M.normal&&Q(y,{isViewOnly:be,isXtoProvider:yo,viewType:Tt,filters:Je,setFilters:Qe,isFilterExpanded:Ne,setIsFilterExpanded:Re,isMapHidden:ze,setIsMapHidden:Ue,resyncStatus:Yt,setResyncStatus:$t}),!ze&&Ce&&Q(x,{isViewOnly:be,mapHidden:ze,subjectWell:mt,offsetWellIds:it.map((function(e){return e.id})),wells:mo,radius:Je[O.radius],handleChangeOffsetWell:go,activeWellId:Ee,viewType:Tt}),Q(P,{isHidden:!Ne,isWDUser:Ae,filterOptions:po,filters:Je,wellSections:Zt,selectedWellSection:et,subjectWell:mt,onChangeFilters:function(e){jt(!0),setTimeout((function(){return Qe(e)}),0)},onChangeBicWells:Io}),Q(W,{open:Ce,isTableLoading:Wo,companyId:_e,subjectWellId:Ke,sortBy:uo,setSortBy:jo,sortDirection:fo,setSortDirection:Co,columnsWithDict:co,wells:zo,metricsKeys:so,setMetricsKeys:ho,handleChangeOffsetWell:go,handleChangeAllOffsetWells:bo,handleAddRemoveAssets:vo,isWellNameExpand:At,setIsWellNameExpand:vt,isHScrollMoved:Oo,onHideAdvancedSearch:So,isViewOnly:be,isLastWell:Ao.length<=No,contentRef:Vt,isLimitedOffsetWells:Ft,maxOffsetWellNumber:we,wellSections:Zt,setActiveWellId:Le,viewType:Tt,isWDUser:Ae,taScores:eo})]}),be&&J("div",{className:X.viewOnlyInfoContainer,children:[Q("span",{className:l(oe.regular12,oe.colors.t6),children:"The offset list is being automatically populated by "}),Q("span",{className:l(oe.medium12,oe.colors.t6),children:Po})]})]})]})};export{ue as default};
1
+ import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/defineProperty";import o from"@babel/runtime/helpers/asyncToGenerator";import s from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{useState as i,useRef as r,useEffect as p,useCallback as c,useMemo as m}from"react";import l from"classnames";import{uniqBy as a,uniq as d,sortBy as u,isEmpty as j}from"lodash";import{Replay as f,InfoOutlined as C}from"@material-ui/icons";import{useFetchWells as A}from"./effects/useFetchWells.js";import{useAdvancedWells as v}from"./effects/useAdvancedWells.js";import{useBicWells as h}from"./effects/useBicWells.js";import{useCompanyMetricKey as g}from"./effects/useCompanyMetricKey.js";import{useFilterOptions as S}from"./effects/useFilterOptions.js";import{useFilteredWells as b}from"./effects/useFilteredWells.js";import{useSortedWells as V}from"./effects/useSortedWells.js";import"./effects/useAssetsData.js";import{useTableColumns as I}from"./effects/useTableColumns.js";import{useCompanyProvider as D}from"./effects/useCompanyProvider.js";import{AppHeader as T}from"./components/AppHeader/AppHeader.js";import{Toolbar as y}from"./components/Toolbar/Toolbar.js";import{Filter as P}from"./components/Filter/Filter.js";import{WellsMap as x}from"./components/Map/WellsMap.js";import W from"./components/OffsetWellsTable/OffsetWellsTable.js";import{ALL_SECTION_KEY as B,ViewType as M,TOP_GRADIENT_MAP as F,ColumnType as E,COMPANY_PROVIDERS_FOR_IDAS as L,FilterType as O,ROWS_PER_PAGE as w,RESYNC_STATUS as H,LEAVE_TOUCH_DELAY as k,IOS_DEVICE as N,DEFAULT_LOCAL_OFFSET_SIZE as R,MAX_OFFSET_SIZE as G,SMALL_SCREEN_WIDTH as q,SMALL_SCREEN_HEIGHT as z,DEFAULT_BIC_OFFSET_SIZE as U}from"./constants.js";import{SEARCH_CATEGORIES as _}from"./components/OffsetWellsTable/AdvancedSearch/constants.js";import{getCoordinatedWells as K,getMobileOperatingSystem as Z}from"./utils/index.js";import X from"./OffsetWellPickerV4.module.css.js";import"../../utils/index.js";import{jsxs as J,jsx as Q,Fragment as Y}from"react/jsx-runtime";import"@material-ui/core/Snackbar";import"../Notifications/Toast.js";import{NotificationsContainer as $}from"../Notifications/NotificationsContainer.js";import{isMobileDetected as ee,isNativeDetected as te}from"../../utils/mobileDetect.js";import oe from"../../styles/typography/index.js";import"../../styles/counter/counter.module.scss.js";import{Regular14 as se,Regular12 as ne}from"../Typography.js";import ie from"../Modal/Modal.js";import"../IconMenu/index.js";import"../StyledMenuItem/index.js";import"../AppIcon/AppIcon.js";import"../DevCenter/AppHeader/AppHeader.js";import"../DevCenter/AppSideBar/AppSideBar.js";import"../DevCenter/AppsDataProvider/AppsDataProvider.js";import"@material-ui/core";import"../DevCenter/AppContext.js";import"../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router";import"../../constants/goals.js";import"../../constants/segment.js";import"../../constants/alerts.js";import"../../constants/apps.js";import"../../constants/drillstring.js";import"../../constants/completion.js";import"../../constants/appPackages.js";import"../../constants/notifications.js";import"../../constants/feed.js";import"../../constants/bha.js";import"../../constants/corvaCompanyId.js";import"../GradientManager/configuration/constants.js";import"../DevCenter/DevCenterAppContainer/components/AppActions/AppActions.css.js";import"../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js";import"../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js";import"../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js";import"../DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js";import"../../componentsV2/Text/Text.js";import"../../componentsV2/Grid/Grid.js";import"../../componentsV2/Grid/Grid.scss.js";import"../../componentsV2/Header/Header.scss.js";import"../../componentsV2/Button/Button.js";import"../../componentsV2/ButtonIcon/ButtonIcon.js";import"../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../componentsV2/Tooltip/Tooltip.scss.js";import"../../componentsV2/Paper/Paper.js";import"../../componentsV2/Popover/Popover.scss.js";import"../../componentsV2/Radio/Radio.js";import"../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../componentsV2/Checkbox/Checkbox.js";import"../../componentsV2/TextInput/TextInput.js";import"../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js";import"../../componentsV2/TextLink/TextLink.js";import"../../componentsV2/Chip/Chip.js";import"../../componentsV2/ChipAlert/ChipAlert.js";import"../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../componentsV2/Avatar/Avatar.js";import"../../componentsV2/Avatar/constants.js";import"../../componentsV2/AvatarGroup/AvatarGroup.scss.js";import"@material-ui/lab";import"../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../componentsV2/ModalWindow/ModalWindow.scss.js";import"@icon-park/react/es/all";import"../../icons/IconParkProvider.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../componentsV2/Modal/Modal.scss.js";import"../../componentsV2/Menu/Menu.js";import"../../componentsV2/Counter/Counter.js";import"../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../componentsV2/Switch/Switch.js";import"../../componentsV2/Tabs/Tabs.js";import"../../componentsV2/EmptyState/EmptyState.scss.js";import"../../componentsV2/FileIcon/FileIcon.js";import"react-dropzone";import"../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../componentsV2/Skeleton/Skeleton.scss.js";import"../../utils/main.js";import"../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../componentsV2/Stepper/Step/Step.scss.js";import"../../componentsV2/Stepper/Stepper.scss.js";import"../../componentsV2/ButtonLive/ButtonLive.js";import"../../componentsV2/ButtonText/ButtonText.js";import"../../componentsV2/LiveDotIndicator/LiveDotIndicator.scss.js";import"../../componentsV2/IndicatorLive/IndicatorLive.scss.js";import"../../componentsV2/Accordion/Accordion.scss.js";import"../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../componentsV2/BadgeComment/BadgeComment.js";import"../../componentsV2/AppContainer/AppContainer.js";import"../../componentsV2/AppContainer/AppContainer.constants.js";import"../../componentsV2/AppFooter/AppFooter.js";import"../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../componentsV2/AppHeader/AppHeader.constants.js";import"../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../componentsV2/AppHeader/AppAssets/utils.js";import"../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../PadModeSelect/PadModeSelect.js";import"../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../constants/streamSourceType.js";import"../../types/shared/Completions.js";import"../PadModeSelect/types.js";import"lodash/flatten";import"lodash/partition";import"../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js";import"../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js";import"../../clients/jsonApi/index.js";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../clients/subscriptions/constants.js";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js";import"../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../componentsV2/PadModeSelect/PadModeSelect.scss.js";import"querystring";import"uuid/v1";import"jsona";import"../../utils/env.js";import"../StatusBadge/constants.js";import"lodash/isEmpty";import"lodash/sortBy";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.js";import"../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../componentsV2/AppContainer/headerCommon.scss.js";import"../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../componentsV2/AppSizeProvider/AppSizeProvider.js";import"../../componentsV2/AppSettings/AppSettings.js";import"../../componentsV2/AppSettings/AppSettings.constants.js";import"../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../componentsV2/AppHeader/V3/SettingsPopover/SettingsPopover.constants.js";import"../../componentsV2/AppHeader/V3/SettingsPopover/SettingsPopover.scss.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../componentsV2/AppHeader/AppHeader.scss.js";import"../../componentsV2/OffsetWellsButton/OffsetWellsButton.scss.js";import"../../componentsV2/Autocomplete/Autocomplete.scss.js";import"../../componentsV2/Menu/MenuItem/MenuItem.scss.js";import"../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js";import"../DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js";import"../DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js";import"../DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js";import"rollbar";import"@rollbar/react";import"../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.scss.js";import"../DevCenter/DevCenterAppContainer/DevCenterAppContainer.css.js";import"../Icons/AnnotationIcon.js";import"../Annotations/components/AnnotationsList/index.js";import"../Annotations/components/LastAnnotation/index.js";import"../Annotations/AnnotationsContext.js";import"../Toaster/Toaster.js";import"../HelpCenter/HelpCenterIcon.js";import"../DevCenter/NavigationBar/NavigationBar.js";import"../DevCenter/SideBar/SideBar.js";import"../DevCenter/AppSettingsPopover/AppSettingsPopover.js";import"../DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js";import"../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js";import"../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js";import"../AssetEditor/index.js";import"../AssetEditorV2/index.js";import"../AppVersionsSelect/AppVersionsSelect.js";import re from"../LoadingIndicator/LoadingIndicator.js";import"../RealTimeValuesSidebar/RealTimeSidebar.js";import"../CollapsableSidebar.js";import"../DateTimePicker/index.js";import"../DatePicker/index.js";import"../ErrorBoundary/ErrorBoundary.js";import"../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js";import"../SlateFormattedText/SlateFormattedText.js";import"../SlateFormattedText/RenderElements.js";import"slate";import"../EmptyState/EmptyState.js";import"../ParameterCharts/ParameterCharts.js";import"../ParameterCharts/AddEditTrack.js";import"../ChartActionsList/ChartActionsList.js";import"../CopyToClipboard/CopyToClipboard.js";import"../AssetEditor/AssetEditorAutocomplete.js";import"../AssetEditor/SingleAssetEditor.js";import"react-color";import"../SettingEditors/ColorEditor/style.css.js";import"../SettingEditors/DropdownEditor/index.js";import"../SwitchControl/index.js";import"../ColorPicker/ColorPicker.js";import"../Chart/components/ChartButton.js";import"../Chart/components/ChartButtons.js";import"../Chart/components/ChartWrapper.js";import"../Chart/components/AxisDropdown.js";import"../Chart/components/ChartSelect.js";import"../Chart/components/buttons/DragToZoomButton.js";import"../Chart/components/buttons/ZoomInButton.js";import"../Chart/components/buttons/ZoomOutButton.js";import"../Chart/components/buttons/PanButton.js";import"../Chart/components/buttons/ResetZoomButton.js";import"../Chart/components/buttons/HideAxesButton.js";import"../Chart/components/buttons/ChartTypeButton.js";import"../ColorPicker/PaletteChromePicker/PaletteChromePicker.js";import"../TruncatedText/index.js";import"../MiddleTruncatedText/MiddleTruncatedText.js";import"../RangeSlider/constants.js";import"../RangeSlider/Input.css.js";import"../RangeSlider/RangeSlider.css.js";import"../AdvancedSlider/AdvancedSlider.js";import"../Breadcrumbs/index.js";import"../VirtualizedTable/index.js";import"../EmptyView/EmptyView.js";import"../EmptyView/EmptyAppView/EmptyAppView.js";import pe from"../Button/components/Button/index.js";import"moment-timezone";import"../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js";import"../Button/components/LiveButton/styles.js";import"../ContextMenuItem/index.js";import"../FolderMenuItem/index.js";import"../EditableItem/EditableItem/index.js";import"../EditableItem/EditableItemWithBadge/index.js";import"../Checkbox/index.js";import"../FolderMenuItemWithLinks/index.js";import"../IconButton/index.js";import"../TextField/index.js";import"../Chip/index.js";import"../Counter/index.js";import"../AnchorsList/AnchorsList.js";import"../Select/index.js";import"../Select/SelectFilterBy.js";import"../CustomSelect/index.js";import"../Tabs/Tabs.js";import"../Tabs/Tab.js";import"../ResizableTable/ResizableTable.js";import"../GradientPicker/GradientPicker.js";import"../GradientManager/GradientList.js";import"@material-ui/icons/AddCircle";import"../GradientManager/GradientPreview/GradientPreview.js";import"../GradientManager/GradientSelect.styles.js";import"../GradientManager/GradientManager.styles.js";import"../Drillstring/BHASchematic.js";import"../Drillstring/BHATable/index.js";import"../Drillstring/BHAComponentIcon.js";import"../Drillstring/BHAComponentDetail/index.js";import"../Drillstring/BHATileIcon.js";import"../Drillstring/BHATile/BHATile.js";import"../Drillstring/BHAList/BHAList.js";import"../Drillstring/BHAComponentsTable/BHAComponentsTable.js";import"../Casing/CasingTable/index.js";import"../Casing/CasingComponentIcon.js";import"../Casing/CasingTileIcon.js";import"../Casing/CasingTableV2/CasingTableV2.js";import"../Casing/CasingTile/CasingTile.js";import"../DisabledSettingsMessage/DisabledSettingsMessage.js";import"../WellSummary/WellSummaryItemLabel.js";import"../WellSummary/WellSummaryItemTitle.js";import"../WellSummary/WellSummaryItemValue.js";import"../WellSummary/ActivitySummaryChart.js";import"../WellSummary/FracWirelineTimeChart.js";import"../BICOffsetPickerDialog/index.js";import"../OffsetWellButton/OffsetWellButton.js";import"../OffsetWellPickerV2/OffsetWellPickerDialog.js";import"../OffsetWellPickerV3/index.js";import"../OffsetWellChips/Chip.js";import"../OffsetWellChips/ChipsContainer.js";import"../OffsetWellMap/OffsetWellMap.js";import"../ConfirmationDialog.js";import"../TextLink/index.js";import"../Avatar/index.js";import"../Template/TemplatePopover/index.js";import"../Template/TemplateSharingDialog/index.js";import"../MenuItem/index.js";import"../MiddleTruncate/MiddleTruncate.js";import"../PinnableFilters/PinnableFilters.js";import"../HeaderLayout/HeaderLayout.js";import"../PadOffsetsPicker/PadOffsetsPicker.js";import"../PadOffsetsPicker/OffsetAssetChip.js";import"../PadOffsetsPicker/OffsetAssetsListExpander.js";import"../PadOffsetsPicker/StagesSelector.js";import"../PadOffsetsPickerV2/PadOffsetsPickerV2.js";import"../Table/TableToolbar/TableToolbar.js";import"../Table/TableContainer/TableContainer.js";import"../Table/TableCell/TableCell.js";import"../Table/TablePagination/TablePagination.js";import"../Table/TablePaginationActions/TablePaginationActions.js";import{Tooltip as ce}from"../Tooltip/Tooltip.js";import"../Tooltip/ScrollableTooltip.js";import"../PriceInput/PriceInput.js";import"../LabelsCounter/LabelsCounter.js";import"../Stepper/Stepper.js";import"../Stepper/Step/Step.js";import"../Stepper/StepsWrapper.js";import"../Comment/CommentIcon/index.js";import"../FilesLoader/FilesLoader.js";import"../SearchInput/index.js";import"../FeedItem/FeedItem.js";import"../FeedItem/FeedItemEditProvider/FeedItemEditProvider.js";import"../PostInput/PostInput.js";import"../KeyboardDateTimePicker.js";import"../AddComment/Popover.js";import"../AddComment/Popup.js";import"../StageDesignVActual/ComparisonBar/ComparisonBar.js";import"../StageDesignVActual/ElementsComparison/ElementsComparison.js";import"../StageDesignVActual/ComparisonHeader.js";import"../StageDesignVActual/ComparisonRow.js";import"../EmbeddedApp/DevCenterEmbeddedApp.js";import"../EmbeddedApp/EmbeddedApp.js";import"../Autocomplete/Autocomplete.js";import"../DocumentViewer/DocumentViewer.js";import"../ColorPickerPalette/ColorPickerPalette.js";import"../Search/Search.js";import"../Search/components/Listbox.js";import"../Search/components/Paper.js";import"../Search/components/RecentSearches.js";import"../Search/components/Groups.js";import"../Search/components/SelectAllListItem.js";import"../StatusBadge/index.js";import"../Attachment/index.js";import"../EmojiIconButton.js";import"../FileUploadIconButton.js";import"../FilePreview/index.js";import"../FailedFileUploading.js";import"../UserMention/index.js";import"../CommentsInfo/index.js";import"../CommentInput/index.js";import"../Comment/index.js";import"../CommentLoader.js";import"../AssetNameLabel/AssetStatusBadge.js";import"../AssetEditorV2/components/PrimaryAssetSelect.js";import"../AssetEditorV2/components/SecondaryAssetSelect.js";import"../AssetEditorV2/components/SelectItem.js";import"../AssetEditorV2/components/MultipleAssetsToggle.js";import"../AssetEditorV2/components/PrimaryAssetSelectV2.js";import"../EChartsWrapper/EChartsWrapper.js";import"../AssetsMultipleSelector/AssetsMultipleSelector.js";import"@material-ui/icons/Close";import"@material-ui/icons/GetApp";import"../GoogleDocsViewer/index.js";import"../NewDocumentViewer/effects/useFileContent.js";import"../NewDocumentViewer/styles.js";import"../FilesLoaderV2/styles.js";import"../FilesDropzone/styles.js";import"../FilesProcessor/styles.js";import"../Hint/styles.js";import"@babel/runtime/helpers/taggedTemplateLiteral";import"fparser";import"../Formula/useFormulaStyles.js";import"../Formula/RootXIcon.js";import"../Formula/FormulaTextEditor.js";import"../Formula/CloseSuggestion.js";import"../Formula/SuggestionsMenu.js";import{showInfoNotification as me}from"../../utils/notificationToasts.js";function le(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);t&&(s=s.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,s)}return o}function ae(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?le(Object(s),!0).forEach((function(o){t(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):le(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}var de="OffsetWellPickerV4",ue=function(le){var ue,je,fe,Ce=le.open,Ae=le.isWDUser,ve=le.defaultSubjectWell,he=le.currentUser,ge=le.offsetSettings,Se=le.addWellsUsabilityInfo,be=le.isViewOnly,Ve=le.onClose,Ie=le.onSave,De=le.maxOffsetSize,Te=void 0===De?U:De,ye=le.localMaxOffsetSize,Pe=void 0===ye?R:ye,xe=le.syncAutoEnabled,We=le.isManualWellsEnabled,Be=void 0!==We&&We,Me=i(null),Fe=s(Me,2),Ee=Fe[0],Le=Fe[1],Oe=Math.min(Te+1,Pe+1,G+1),we=Math.min(Math.max(Oe,Pe+1),G+1),He=i(null==ge?void 0:ge.filterExpanded),ke=s(He,2),Ne=ke[0],Re=ke[1],Ge=i(null==ge?void 0:ge.mapHidden),qe=s(Ge,2),ze=qe[0],Ue=qe[1],_e=+(null==ve?void 0:ve.companyId)||+(null==he?void 0:he.company_id),Ke=null==ve?void 0:ve.asset_id,Ze=i((null==ge?void 0:ge.filters)||{}),Xe=s(Ze,2),Je=Xe[0],Qe=Xe[1],Ye=i((null==ge?void 0:ge.wellSection)||B),$e=s(Ye,2),et=$e[0],tt=$e[1],ot=r(!0),st=i([]),nt=s(st,2),it=nt[0],rt=nt[1],pt=i(null),ct=s(pt,2),mt=ct[0],lt=ct[1],at=i(!0),dt=s(at,2),ut=dt[0],jt=dt[1],ft=i(!1),Ct=s(ft,2),At=Ct[0],vt=Ct[1],ht=i(!1),gt=s(ht,2),St=gt[0],bt=gt[1],Vt=r(),It=i(M.none),Dt=s(It,2),Tt=Dt[0],yt=Dt[1],Pt=r(),xt=i(!1),Wt=s(xt,2),Bt=Wt[0],Mt=Wt[1],Ft=we<=(null==it?void 0:it.length),Et=F[Tt],Lt=r(),Ot=i(!0),wt=s(Ot,2),Ht=wt[0],kt=wt[1];p((function(){var e,t,o;(Ce&&Ft&&me("App can’t process more than (".concat(we-1,") Offset Wells.")),Ce)||((null==ge||null===(e=ge.selectedWellIds)||void 0===e?void 0:e.length)===(null===(t=Lt.current)||void 0===t?void 0:t.length)&&(null==ge||null===(o=ge.selectedWellIds)||void 0===o?void 0:o.every((function(e){var t;return null===(t=Lt.current)||void 0===t?void 0:t.includes(e)})))||(ot.current=!0),Lt.current=null==ge?void 0:ge.selectedWellIds)}),[Ft,Ce,ge]),p((function(){function e(){window.innerWidth<=q||ee||te?yt(M.mobile):window.innerHeight<=z?yt(M.small):yt(M.normal)}return e(),window.addEventListener("resize",e),function(){window.removeEventListener("resize",e)}}),[Ce]),p((function(){Pt.current&&Tt===Pt.current||(Pt.current=Tt,Tt===M.small||Tt===M.mobile?(Ue(!0),Re(!1)):(Re(!be&&(null==ge?void 0:ge.filterExpanded)),Ue(!be&&(null==ge?void 0:ge.mapHidden))),Qe((null==ge?void 0:ge.filters)||{}),tt((null==ge?void 0:ge.wellSection)||B))}),[ge,be,Tt]);var Nt=A(_e,Se),Rt=s(Nt,2),Gt=Rt[0],qt=Rt[1],zt=D(_e),Ut=s(zt,1)[0],_t=h(Ae,he,Ke,Gt,Be),Kt=s(_t,7),Zt=Kt[0],Xt=Kt[1],Jt=Kt[2],Qt=Kt[3],Yt=Kt[4],$t=Kt[5],eo=Kt[6];p((function(){kt(!0),Xt(null),Qt(null)}),[Ke]);var to=g(_e,null==ge?void 0:ge.metricsKeys),oo=s(to,2),so=oo[0],no=oo[1],io=v(_e,Gt,Zt,Jt,Ke,so,Ce),ro=!qt&&(null==io?void 0:io.length)===(null==Gt?void 0:Gt.length);p((function(){if(ro){var e,t=(e=o(n.mark((function e(){var t,o,s,i,r,p,c,m,l,a;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=void 0===(null==ge?void 0:ge.isSynced)||(null==ge?void 0:ge.isSynced),o=!0,!t){e.next=19;break}if(i=Jt[B]||[],r=((null==ge?void 0:ge.selectedWellIds)||[]).every((function(e){return i.includes(e)})),i.length===(null==ge||null===(s=ge.selectedWellIds)||void 0===s?void 0:s.length)&&r){e.next=16;break}return e.next=8,K(i,Ke);case 8:p=e.sent,c=p.slice(0,Oe+1).map((function(e){return e.id})),c=p.slice(0,Pe+1).map((function(e){return e.id})),m=ae(ae({},ge),{},{subjectWellId:Ke,selectedWellIds:c,offsetWellsLimited:we<=c.length}),l=p.filter((function(e){return c.includes(e.id)})),Ie(m,l),e.next=17;break;case 16:o=!1;case 17:e.next=20;break;case 19:o=!1;case 20:if(o){e.next=25;break}return e.next=23,K((null==ge?void 0:ge.selectedWellIds)||[],Ke);case 23:a=e.sent,Ie(ge,a);case 25:case"end":return e.stop()}}),e)}))),function(){return e.apply(this,arguments)});xe&&Ht&&ge&&Jt&&(t(),kt(!1))}}),[ge,Jt,Ke,we,xe]);var po=S(io);p((function(){if(io&&Zt){var e=io.find((function(e){return e.id===Ke}));if(e){var o=Zt.filter((function(e){return e.value!==B})).map((function(e){return e.label})),s=ae(ae({},e),o.length>0&&t({},E.wellSection,o));lt(s)}else lt(null)}}),[Zt,io]);var co=I(so),mo=b(io,Je);p((function(){if(mo&&ro)if(ot.current){var e=io.filter((function(e){return((null==ge?void 0:ge.selectedWellIds)||[]).includes(e.id)}));mt&&(e=e.concat(mt)),rt(a(e,"id")),ot.current=!1}else rt((function(e){var t=(mo||[]).filter((function(t){return!!e.find((function(e){var o=e.id;return t.id===o}))}));return mt&&(t=t.concat(mt)),a(t,"id")}))}),[io,mo,null==ge?void 0:ge.selectedWellIds,ro]);var lo=V(mt,mo,it,jt),ao=s(lo,5),uo=ao[0],jo=ao[1],fo=ao[2],Co=ao[3],Ao=ao[4],vo=c((function(e,t,o){var s;s=o===_.well.name?t:t.reduce((function(e,t){var o,s=null===(o=io.find((function(e){return e.id===t})))||void 0===o?void 0:o.rigName,n=io.filter((function(e){return e.rigName===s})).map((function(e){return e.id}));return e.concat(n)}),[]);var n=io.filter((function(e){var t=e.id;return s.includes(t)}));e?(n=n.slice(0,Math.min(n.length,we-it.length)),rt((function(e){return a(e.concat(n),"id")}))):rt((function(e){return d(e.filter((function(e){var t=e.id;return!n.find((function(e){return e.id===t}))})))}))}),[io,it]),ho=c((function(){bt(!0)}),[]),go=c((function(e){no(e)}),[]),So=c((function(t,o){rt(o?function(o){return[].concat(e(o),[t])}:function(e){return e.filter((function(e){return e.id!==t.id}))})}),[]),bo=c((function(e){if(e){var t=mt?mo.concat(mt):mo,o=u(a(t,"id"),"distance");rt(o.slice(0,we))}else rt(mt?[mt]:[])}),[mo,mt,we]),Vo=function(e){if(Jt){var t=(null==io?void 0:io.filter((function(t){var o;return null===(o=Jt[e])||void 0===o?void 0:o.includes(t.id)})))||[],o=u(t,"distance");rt(o.slice(0,Oe))}else rt(mt?[mt]:[])},Io=c((function(e){tt(e),Vo(e)}),[Vo]),Do=m((function(){return it.find((function(e){return e.id===Ke}))?it.length-1:it.length}),[it,Ke]),To=m((function(){if(!Jt)return!1;var e=it.map((function(e){return e.id})),t=Jt[et]||[];return Math.min(t.length,Oe)===e.length&&e.every((function(e){return t.includes(e)}))}),[Jt,it,et,Oe]),yo=m((function(){return!!Ut&&L.includes(Ut)}),[Ut]),Po=m((function(){return yo?"IDAS generated offsets.":Ae?"Offset Selection App.":"WellHub."}),[yo,Ae]),xo=function(){var e=(io||[]).filter((function(e){return((null==ge?void 0:ge.selectedWellIds)||[]).includes(e.id)}));mt&&(e=e.concat(mt)),rt(a(e,"id"));var t=ae(ae({},ge),{},{mapHidden:ze,filterExpanded:Ne});Ie(t),Qe((null==ge?void 0:ge.filters)||{}),tt((null==ge?void 0:ge.wellSection)||B),Ve()},Wo=ut||!ro,Bo=m((function(){return!Wo&&(!To||(!(j(Je)||!Je[O.sideTracks])||et!==B))}),[To,Je,et,Wo]),Mo=function(){Qe({}),tt(B),Vo(B)},Fo=!io||!Zt||!Ao||Tt===M.none,Eo=i(!1),Lo=s(Eo,2),Oo=Lo[0],wo=Lo[1],Ho=i(w),ko=s(Ho,2),No=ko[0],Ro=ko[1],Go=i([]),qo=s(Go,2),zo=qo[0],Uo=qo[1];p((function(){if(Ao){var e=Ao.slice(0,No);Uo(e)}}),[Ao,No,mt]),p((function(){Yt===H.SUCCEEDED&&Mo()}),[Jt]);return J(ie,{open:Ce,onClose:xo,title:Q(T,{isWDUser:Ae,viewType:Tt,totalCount:null!==(ue=null==io?void 0:io.length)&&void 0!==ue?ue:0,selectedCount:Do,isViewOnly:be,maxOffsetWellNumber:we}),isMobile:Tt===M.mobile,contentContainerClassName:l(X.offsetWellDialog),contentClassName:l(X.contentContainer,(je={},t(je,X.smallContainer,Tt===M.small),t(je,X.contentContainerMobile,Tt===M.mobile),je)),actionsClassName:X.modalActions,actions:!be&&J("div",{className:X.actionsWrapper,children:[!Fo&&Bo?Q(ce,{placement:"bottom-start",title:"Reset to Synced Offsets in ".concat(Ae?"Offset App":"Wellhub"),children:Q("div",{children:Q(pe,{"data-testid":"".concat(de,"_reset"),onClick:Mo,color:"primary",startIcon:Tt!==M.mobile&&Q(f,{}),classes:Tt===M.mobile&&{root:X.resetButtonMobile},children:Tt!==M.mobile?"Reset":Q(f,{})})})}):Q("div",{className:Tt===M.mobile&&X.infoIconContainer,children:Tt!==M.mobile?J(Y,{children:[Q("span",{className:l(oe.regular12,oe.colors.t6),children:"The offset list is being automatically populated by "}),Q("span",{className:l(oe.medium12,oe.colors.t6),children:Po})]}):Q(ce,{title:J("div",{children:[Q("span",{className:l(oe.regular12,oe.colors.t1),children:"The offset list is being automatically populated by "}),Q("span",{className:l(oe.medium12,oe.colors.t1),children:Po})]}),enterTouchDelay:0,leaveTouchDelay:k,children:Q(C,{className:X.infoIcon})})}),J("div",{className:X.buttonGap,children:[Q(pe,{"data-testid":"".concat(de,"_cancel"),onClick:xo,color:"primary",children:"Cancel"}),J(pe,{"data-testid":"".concat(de,"_selectedWells"),variant:"contained",color:"primary",onClick:function(){Ve();var e=ae(ae({},ge),{},{companyId:_e,subjectWellId:Ke,selectedWellIds:it.map((function(e){return e.id})),filters:Je,metricsKeys:so,wellSection:et,isSynced:To,mapHidden:ze,filterExpanded:Ne,offsetWellsLimited:Ft});Ie(e,it)},children:["Select (",Do,")"]})]})]}),children:[Q($,{}),Fo?Q(re,{fullscreen:!1}):J("div",{className:l(X.contentWrapper,t({},X.contentBlocked,Wo)),ref:Vt,children:[Tt===M.mobile&&J("div",{className:l(X.countContainer,t({},X.countContainerMobile,Tt===M.mobile)),children:[Q(se,{className:X.totalLabel,children:"Total:"}),Q(se,{"data-testid":"".concat(de,"_totalWells"),className:X.countValue,children:io.length}),Q(se,{className:X.selectedLabel,children:"Selected:"}),Q(se,{"data-testid":"".concat(de,"_selected"),className:X.countValue,children:Do}),Q(ce,{title:"App can’t process more than (".concat(we-1,") Offset Wells."),placement:"right",children:J(ne,{"data-testid":"".concat(de,"_maxOffsetSize"),className:X.maxOffsetSize,children:["/",we-1]})})]}),Tt===M.normal&&Q(y,{isViewOnly:be,isXtoProvider:yo,viewType:Tt,filters:Je,setFilters:Qe,isFilterExpanded:Ne,setIsFilterExpanded:Re,isMapHidden:ze,setIsMapHidden:Ue,resyncStatus:Yt,setResyncStatus:$t}),Bt&&Q("div",{className:X.topGradient,style:{top:Et}}),J("div",{className:l(X.content,(fe={},t(fe,X.contentBlocked,Wo),t(fe,X.contentMobile,Tt===M.mobile),t(fe,X.contentiOSMobile,Z()===N),fe)),onScroll:function(e){return function(e){e.target&&(St&&(e.target.scrollLeft=0,bt(!1)),e.target.scrollLeft<=5&&Oo&&wo(!1),e.target.scrollLeft>5&&!Oo&&wo(!0),e.target.scrollTop<=5&&Bt&&Mt(!1),e.target.scrollTop>5&&!Bt&&Mt(!0),e.target.scrollHeight!==e.target.offsetHeight&&Math.round(e.target.scrollTop+e.target.offsetHeight+2)>=e.target.scrollHeight&&No<Ao.length&&Ro((function(e){return e+w})))}(e)},children:[Tt!==M.normal&&Q(y,{isViewOnly:be,isXtoProvider:yo,viewType:Tt,filters:Je,setFilters:Qe,isFilterExpanded:Ne,setIsFilterExpanded:Re,isMapHidden:ze,setIsMapHidden:Ue,resyncStatus:Yt,setResyncStatus:$t}),!ze&&Ce&&Q(x,{isViewOnly:be,mapHidden:ze,subjectWell:mt,offsetWellIds:it.map((function(e){return e.id})),wells:mo,radius:Je[O.radius],handleChangeOffsetWell:So,activeWellId:Ee,viewType:Tt}),Q(P,{isHidden:!Ne,isWDUser:Ae,filterOptions:po,filters:Je,wellSections:Zt,selectedWellSection:et,subjectWell:mt,onChangeFilters:function(e){jt(!0),setTimeout((function(){return Qe(e)}),0)},onChangeBicWells:Io}),Q(W,{open:Ce,isTableLoading:Wo,companyId:_e,subjectWellId:Ke,sortBy:uo,setSortBy:jo,sortDirection:fo,setSortDirection:Co,columnsWithDict:co,wells:zo,metricsKeys:so,setMetricsKeys:go,handleChangeOffsetWell:So,handleChangeAllOffsetWells:bo,handleAddRemoveAssets:vo,isWellNameExpand:At,setIsWellNameExpand:vt,isHScrollMoved:Oo,onHideAdvancedSearch:ho,isViewOnly:be,isLastWell:Ao.length<=No,contentRef:Vt,isLimitedOffsetWells:Ft,maxOffsetWellNumber:we,wellSections:Zt,setActiveWellId:Le,viewType:Tt,isWDUser:Ae,taScores:eo})]}),be&&J("div",{className:X.viewOnlyInfoContainer,children:[Q("span",{className:l(oe.regular12,oe.colors.t6),children:"The offset list is being automatically populated by "}),Q("span",{className:l(oe.medium12,oe.colors.t6),children:Po})]})]})]})};export{ue as default};
2
2
  //# sourceMappingURL=OffsetWellPickerV4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV4.js","sources":["../../../src/components/OffsetWellPickerV4/OffsetWellPickerV4.js"],"sourcesContent":["import { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { InfoOutlined, Replay as ReplayIcon } from '@material-ui/icons';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n} from './effects';\nimport { useFetchWells } from './effects/useFetchWells';\nimport { AppHeader } from './components/AppHeader';\nimport { Toolbar } from './components/Toolbar';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport {\n ALL_SECTION_KEY,\n ColumnType,\n COMPANY_PROVIDERS_FOR_IDAS,\n DEFAULT_BIC_OFFSET_SIZE,\n DEFAULT_LOCAL_OFFSET_SIZE,\n FilterType,\n IOS_DEVICE,\n LEAVE_TOUCH_DELAY,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n SMALL_SCREEN_HEIGHT,\n SMALL_SCREEN_WIDTH,\n TOP_GRADIENT_MAP,\n ViewType,\n RESYNC_STATUS,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells, getMobileOperatingSystem } from './utils';\n\nimport styles from './OffsetWellPickerV4.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { isMobileDetected, isNativeDetected } from '~/utils/mobileDetect';\nimport { typography } from '~/styles';\nimport { Regular12, Regular14 } from '~/components/Typography';\nimport { Button, Modal, LoadingIndicator, Tooltip } from '~/components';\n\nconst PAGE_NAME = 'OffsetWellPickerV4';\n\n/**\n * @type {React.FC<import('./OffsetWellPickerV4.types').OffsetWellPickerV4Props>}\n */\nconst OffsetWellPickerV4 = ({\n open,\n isWDUser,\n defaultSubjectWell,\n currentUser,\n offsetSettings,\n addWellsUsabilityInfo,\n isViewOnly,\n onClose,\n onSave,\n maxOffsetSize: offsetSize = DEFAULT_BIC_OFFSET_SIZE,\n localMaxOffsetSize = DEFAULT_LOCAL_OFFSET_SIZE,\n syncAutoEnabled,\n isManualWellsEnabled = false,\n}) => {\n const [activeWellId, setActiveWellId] = useState(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1, MAX_OFFSET_SIZE + 1);\n const maxOffsetWellNumber = Math.min(\n Math.max(maxOffsetSize, localMaxOffsetSize + 1),\n MAX_OFFSET_SIZE + 1\n );\n\n const [isFilterExpanded, setIsFilterExpanded] = useState(offsetSettings?.filterExpanded);\n const [isMapHidden, setIsMapHidden] = useState(offsetSettings?.mapHidden);\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const subjectWellId = defaultSubjectWell?.asset_id;\n const [filters, setFilters] = useState(offsetSettings?.filters || {});\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [selectedWells, setSelectedWells] = useState([]);\n const [subjectWell, setSubjectWell] = useState(null);\n const [isTableLoading, setIsTableLoading] = useState(true);\n const [isWellNameExpand, setIsWellNameExpand] = useState(false);\n const [isAdvancedSearchHidden, setIsAdvancedSearchHidden] = useState(false);\n const contentRef = useRef();\n /** @type {ReturnType<typeof useState<string>>} */\n const [viewType, setViewType] = useState(ViewType.none);\n\n /** @type {ReturnType<typeof useRef<string>>} */\n const prevViewType = useRef();\n const [isTopGradientShow, setIsTopGradientShow] = useState(false);\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n const topGradientTop = TOP_GRADIENT_MAP[viewType];\n\n /** @type {ReturnType<typeof useRef<number[]>>} */\n const prevSelectedWellIds = useRef();\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n // NOTE: Refresh when the offset well changes externally\n if (!open) {\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n offsetSettings?.selectedWellIds?.every(id => prevSelectedWellIds.current?.includes(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n }, [isLimitedOffsetWells, open, offsetSettings]);\n\n useEffect(() => {\n function handleResize() {\n if (window.innerWidth <= SMALL_SCREEN_WIDTH || isMobileDetected || isNativeDetected) {\n setViewType(ViewType.mobile);\n } else if (window.innerHeight <= SMALL_SCREEN_HEIGHT) {\n setViewType(ViewType.small);\n } else {\n setViewType(ViewType.normal);\n }\n }\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [open]);\n\n useEffect(() => {\n if (prevViewType.current && viewType === prevViewType.current) return;\n prevViewType.current = viewType;\n if (viewType === ViewType.small || viewType === ViewType.mobile) {\n setIsMapHidden(true);\n setIsFilterExpanded(false);\n } else {\n setIsFilterExpanded(!isViewOnly && offsetSettings?.filterExpanded);\n setIsMapHidden(!isViewOnly && offsetSettings?.mapHidden);\n }\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n }, [offsetSettings, isViewOnly, viewType]);\n\n // NOTE: Fetch all wells\n const [rawWells, areWellsLoading] = useFetchWells(assetCompanyId, addWellsUsabilityInfo);\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n ] = useBicWells(isWDUser, currentUser, subjectWellId, rawWells, isManualWellsEnabled);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n }, [subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const wells = useAdvancedWells(\n assetCompanyId,\n rawWells,\n wellSections,\n bicWells,\n subjectWellId,\n metricsKeys,\n open\n );\n\n const isAllWellsLoaded = !areWellsLoading && wells?.length === rawWells?.length;\n\n useEffect(() => {\n if (!isAllWellsLoaded) return;\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n let offsetWellsChanged = true;\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIds.includes(wellId)\n );\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n let selectedWellIds = wellsByDistance.slice(0, maxOffsetSize + 1).map(well => well.id);\n selectedWellIds = wellsByDistance.slice(0, localMaxOffsetSize + 1).map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const offsetWells = wellsByDistance.filter(well => selectedWellIds.includes(well.id));\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n }, [offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled]);\n\n const filterOptions = useFilterOptions(wells);\n\n // NOTE: Subject well\n useEffect(() => {\n if (wells && wellSections) {\n const defaultSubjectWell = wells.find(well => well.id === subjectWellId);\n if (defaultSubjectWell) {\n const allSectionNames = wellSections\n .filter(item => item.value !== ALL_SECTION_KEY)\n .map(({ label }) => label);\n const subjectWellWithSection = {\n ...defaultSubjectWell,\n ...(allSectionNames.length > 0 && { [ColumnType.wellSection]: allSectionNames }),\n };\n setSubjectWell(subjectWellWithSection);\n } else {\n setSubjectWell(null);\n }\n }\n }, [wellSections, wells]);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(metricsKeys);\n\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) return;\n\n if (initLoading.current) {\n let data = wells.filter(well => (offsetSettings?.selectedWellIds || []).includes(well.id));\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n } else {\n setSelectedWells(prev => {\n let newSelectedWells = (filteredWells || []).filter(\n well => !!prev.find(({ id }) => well.id === id)\n );\n if (subjectWell) newSelectedWells = newSelectedWells.concat(subjectWell);\n return uniqBy(newSelectedWells, 'id');\n });\n }\n }, [wells, filteredWells, offsetSettings?.selectedWellIds, isAllWellsLoaded]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n filteredWells,\n selectedWells,\n setIsTableLoading\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n (isAdding, newAssets, assetType) => {\n let addingWellIds;\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n addingWellIds = newAssets.reduce((acc, assetId) => {\n const rigName = wells.find(well => well.id === assetId)?.rigName;\n const rigWellIds = wells.filter(well => well.rigName === rigName).map(well => well.id);\n return acc.concat(rigWellIds);\n }, []);\n }\n let addingWells = wells.filter(({ id }) => addingWellIds.includes(id));\n if (isAdding) {\n addingWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(addingWells), 'id'));\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n [wells, selectedWells]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, []);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n }, []);\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback((well, checked) => {\n if (checked) {\n setSelectedWells(prevWells => [...prevWells, well]);\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n }, []);\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = section => {\n if (bicWells) {\n const sectionWells = wells?.filter(well => bicWells[section]?.includes(well.id)) || [];\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n };\n\n const handleChangeWellSection = useCallback(\n section => {\n setSelectedWellSection(section);\n updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n let synced;\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n synced = false;\n } else {\n synced = selectedWellIds.every(id => owsWellIds.includes(id));\n }\n return synced;\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const handleSave = () => {\n onClose();\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedWells.map(({ id }) => id),\n filters,\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n };\n onSave(newOffsetSetting, selectedWells);\n };\n\n const handleCancel = () => {\n let data = (wells || []).filter(well =>\n (offsetSettings?.selectedWellIds || []).includes(well.id)\n );\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || !isAllWellsLoaded;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = () => {\n setFilters({});\n setSelectedWellSection(ALL_SECTION_KEY);\n updateSelectedWellsBySection(ALL_SECTION_KEY);\n };\n\n const isLoading = !wells || !wellSections || !sortedWells || viewType === ViewType.none;\n\n // NOTE: Well Name shadow\n const [isHScrollMoved, setIsHScrollMoved] = useState(false);\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n }, [bicWells]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n if (e.target.scrollTop <= 5 && isTopGradientShow) {\n setIsTopGradientShow(false);\n }\n if (e.target.scrollTop > 5 && !isTopGradientShow) {\n setIsTopGradientShow(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n const tooltipContainer = () => {\n return (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t1)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t1)}>{offsetLabel}</span>\n </div>\n );\n };\n\n return (\n <Modal\n open={open}\n onClose={handleCancel}\n title={\n <AppHeader\n isWDUser={isWDUser}\n viewType={viewType}\n totalCount={wells?.length ?? 0}\n selectedCount={selectedWellsCount}\n isViewOnly={isViewOnly}\n maxOffsetWellNumber={maxOffsetWellNumber}\n />\n }\n isMobile={viewType === ViewType.mobile}\n contentContainerClassName={classNames(styles.offsetWellDialog)}\n contentClassName={classNames(styles.contentContainer, {\n [styles.smallContainer]: viewType === ViewType.small,\n [styles.contentContainerMobile]: viewType === ViewType.mobile,\n })}\n actionsClassName={styles.modalActions}\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={viewType !== ViewType.mobile && <ReplayIcon />}\n classes={viewType === ViewType.mobile && { root: styles.resetButtonMobile }}\n >\n {viewType !== ViewType.mobile ? 'Reset' : <ReplayIcon />}\n </Button>\n </div>\n </Tooltip>\n ) : (\n <div className={viewType === ViewType.mobile && styles.infoIconContainer}>\n {viewType !== ViewType.mobile ? (\n <>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </>\n ) : (\n <Tooltip\n title={tooltipContainer()}\n enterTouchDelay={0}\n leaveTouchDelay={LEAVE_TOUCH_DELAY}\n >\n <InfoOutlined className={styles.infoIcon} />\n </Tooltip>\n )}\n </div>\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n ref={contentRef}\n >\n {viewType === ViewType.mobile && (\n <div\n className={classNames(styles.countContainer, {\n [styles.countContainerMobile]: viewType === ViewType.mobile,\n })}\n >\n <Regular14 className={styles.totalLabel}>Total:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_totalWells`} className={styles.countValue}>\n {wells.length}\n </Regular14>\n <Regular14 className={styles.selectedLabel}>Selected:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_selected`} className={styles.countValue}>\n {selectedWellsCount}\n </Regular14>\n <Tooltip\n title={`App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`}\n placement=\"right\"\n >\n <Regular12\n data-testid={`${PAGE_NAME}_maxOffsetSize`}\n className={styles.maxOffsetSize}\n >\n /{maxOffsetWellNumber - 1}\n </Regular12>\n </Tooltip>\n </div>\n )}\n\n {viewType === ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n\n {isTopGradientShow && (\n <div className={styles.topGradient} style={{ top: topGradientTop }} />\n )}\n <div\n className={classNames(styles.content, {\n [styles.contentBlocked]: isTableFullLoading,\n [styles.contentMobile]: viewType === ViewType.mobile,\n [styles.contentiOSMobile]: getMobileOperatingSystem() === IOS_DEVICE,\n })}\n onScroll={e => handleScroll(e)}\n >\n {viewType !== ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n {!isMapHidden && open && (\n <WellsMap\n isViewOnly={isViewOnly}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={filteredWells}\n radius={filters[FilterType.radius]}\n handleChangeOffsetWell={handleChangeOffsetWell}\n activeWellId={activeWellId}\n viewType={viewType}\n />\n )}\n <Filter\n isHidden={!isFilterExpanded}\n isWDUser={isWDUser}\n filterOptions={filterOptions}\n filters={filters}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n subjectWell={subjectWell}\n onChangeFilters={value => {\n setIsTableLoading(true);\n setTimeout(() => setFilters(value), 0);\n }}\n onChangeBicWells={handleChangeWellSection}\n />\n <OffsetWellsTable\n open={open}\n isTableLoading={isTableFullLoading}\n companyId={assetCompanyId}\n subjectWellId={subjectWellId}\n sortBy={sortBy}\n setSortBy={setSortBy}\n sortDirection={sortDirection}\n setSortDirection={setSortDirection}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n setMetricsKeys={handleChangeMetricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n handleAddRemoveAssets={handleAddRemoveAssets}\n isWellNameExpand={isWellNameExpand}\n setIsWellNameExpand={setIsWellNameExpand}\n isHScrollMoved={isHScrollMoved}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n isViewOnly={isViewOnly}\n isLastWell={sortedWells.length <= tableRowsCount}\n contentRef={contentRef}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n viewType={viewType}\n isWDUser={isWDUser}\n taScores={taScores}\n />\n </div>\n {isViewOnly && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator fullscreen={false} />\n )}\n </Modal>\n );\n};\n\nexport default OffsetWellPickerV4;\n"],"names":["PAGE_NAME","OffsetWellPickerV4","_ref","_wells$length","_classNames","_classNames4","open","isWDUser","defaultSubjectWell","currentUser","offsetSettings","addWellsUsabilityInfo","isViewOnly","onClose","onSave","_ref$maxOffsetSize","maxOffsetSize","offsetSize","DEFAULT_BIC_OFFSET_SIZE","_ref$localMaxOffsetSi","localMaxOffsetSize","DEFAULT_LOCAL_OFFSET_SIZE","syncAutoEnabled","_ref$isManualWellsEna","isManualWellsEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","filterExpanded","_useState4","_useState3","isFilterExpanded","setIsFilterExpanded","mapHidden","_useState6","_useState5","isMapHidden","setIsMapHidden","assetCompanyId","companyId","company_id","subjectWellId","asset_id","_useState7","filters","_useState8","setFilters","_useState9","wellSection","ALL_SECTION_KEY","_useState10","selectedWellSection","setSelectedWellSection","initLoading","useRef","_useState12","_useState11","selectedWells","setSelectedWells","_useState14","_useState13","subjectWell","setSubjectWell","_useState16","_useState15","isTableLoading","setIsTableLoading","_useState18","_useState17","isWellNameExpand","setIsWellNameExpand","_useState20","_useState19","isAdvancedSearchHidden","setIsAdvancedSearchHidden","contentRef","_useState21","ViewType","none","_useState22","viewType","setViewType","prevViewType","_useState24","_useState23","isTopGradientShow","setIsTopGradientShow","isLimitedOffsetWells","length","topGradientTop","TOP_GRADIENT_MAP","prevSelectedWellIds","_useState26","_useState25","appLoading","setAppLoading","useEffect","_offsetSettings$selec","_prevSelectedWellIds$","_offsetSettings$selec2","showInfoNotification","selectedWellIds","current","every","id","_prevSelectedWellIds$2","includes","handleResize","window","innerWidth","SMALL_SCREEN_WIDTH","isMobileDetected","isNativeDetected","mobile","innerHeight","SMALL_SCREEN_HEIGHT","small","normal","addEventListener","removeEventListener","_useFetchWells","useFetchWells","_useFetchWells2","rawWells","areWellsLoading","useCompanyProvider","companyProvider","_useCompanyProvider","useBicWells","_useBicWells2","_useBicWells","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","wells","useAdvancedWells","isAllWellsLoaded","_ref2","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec3","bicWellIds","isMatched","wellsByDistance","newOffsetSetting","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","map","well","offsetWellsLimited","filter","stop","apply","this","arguments","filterOptions","useFilterOptions","find","allSectionNames","item","value","_ref3","label","subjectWellWithSection","_defineProperty","ColumnType","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","data","concat","uniqBy","newSelectedWells","_ref5","useSortedWells","_useSortedWells2","_useSortedWells","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","addingWellIds","SEARCH_CATEGORIES","name","reduce","acc","assetId","_wells$find","rigName","rigWellIds","addingWells","_ref6","uniq","_ref7","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleChangeOffsetWell","checked","prevWells","handleChangeAllOffsetWells","sortedData","sortArray","updateSelectedWellsBySection","section","sectionWells","_bicWells$section","limitedWells","handleChangeWellSection","selectedWellsCount","useMemo","_ref8","owsWellIds","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","handleCancel","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","isLoading","_useState28","_useState27","isHScrollMoved","setIsHScrollMoved","ROWS_PER_PAGE","_useState30","_useState29","tableRowsCount","setTableRowsCount","_useState32","_useState31","tableWells","setTableWells","RESYNC_STATUS","SUCCEEDED","_jsxs","Modal","title","_jsx","AppHeader","totalCount","selectedCount","isMobile","contentContainerClassName","classNames","styles","offsetWellDialog","contentClassName","contentContainer","smallContainer","contentContainerMobile","actionsClassName","modalActions","actions","className","actionsWrapper","children","Tooltip","placement","Button","onClick","color","startIcon","ReplayIcon","classes","root","resetButtonMobile","infoIconContainer","_Fragment","typography","regular12","colors","t6","medium12","t1","enterTouchDelay","leaveTouchDelay","LEAVE_TOUCH_DELAY","InfoOutlined","infoIcon","buttonGap","variant","_ref9","NotificationsContainer","LoadingIndicator","fullscreen","contentWrapper","contentBlocked","ref","countContainer","countContainerMobile","Regular14","totalLabel","countValue","selectedLabel","Regular12","Toolbar","topGradient","style","top","content","contentMobile","contentiOSMobile","getMobileOperatingSystem","IOS_DEVICE","onScroll","e","target","scrollLeft","scrollTop","scrollHeight","offsetHeight","round","count","handleScroll","WellsMap","offsetWellIds","_ref10","radius","Filter","isHidden","onChangeFilters","setTimeout","onChangeBicWells","OffsetWellsTable","onHideAdvancedSearch","isLastWell","viewOnlyInfoContainer"],"mappings":"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"}
1
+ {"version":3,"file":"OffsetWellPickerV4.js","sources":["../../../src/components/OffsetWellPickerV4/OffsetWellPickerV4.js"],"sourcesContent":["import { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { InfoOutlined, Replay as ReplayIcon } from '@material-ui/icons';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n} from './effects';\nimport { useFetchWells } from './effects/useFetchWells';\nimport { AppHeader } from './components/AppHeader';\nimport { Toolbar } from './components/Toolbar';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport {\n ALL_SECTION_KEY,\n ColumnType,\n COMPANY_PROVIDERS_FOR_IDAS,\n DEFAULT_BIC_OFFSET_SIZE,\n DEFAULT_LOCAL_OFFSET_SIZE,\n FilterType,\n IOS_DEVICE,\n LEAVE_TOUCH_DELAY,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n SMALL_SCREEN_HEIGHT,\n SMALL_SCREEN_WIDTH,\n TOP_GRADIENT_MAP,\n ViewType,\n RESYNC_STATUS,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells, getMobileOperatingSystem } from './utils';\n\nimport styles from './OffsetWellPickerV4.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { isMobileDetected, isNativeDetected } from '~/utils/mobileDetect';\nimport { typography } from '~/styles';\nimport { Regular12, Regular14 } from '~/components/Typography';\nimport { Button, Modal, LoadingIndicator, Tooltip } from '~/components';\n\nconst PAGE_NAME = 'OffsetWellPickerV4';\n\n/**\n * @type {React.FC<import('./OffsetWellPickerV4.types').OffsetWellPickerV4Props>}\n */\nconst OffsetWellPickerV4 = ({\n open,\n isWDUser,\n defaultSubjectWell,\n currentUser,\n offsetSettings,\n addWellsUsabilityInfo,\n isViewOnly,\n onClose,\n onSave,\n maxOffsetSize: offsetSize = DEFAULT_BIC_OFFSET_SIZE,\n localMaxOffsetSize = DEFAULT_LOCAL_OFFSET_SIZE,\n syncAutoEnabled,\n isManualWellsEnabled = false,\n}) => {\n const [activeWellId, setActiveWellId] = useState(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1, MAX_OFFSET_SIZE + 1);\n const maxOffsetWellNumber = Math.min(\n Math.max(maxOffsetSize, localMaxOffsetSize + 1),\n MAX_OFFSET_SIZE + 1\n );\n\n const [isFilterExpanded, setIsFilterExpanded] = useState(offsetSettings?.filterExpanded);\n const [isMapHidden, setIsMapHidden] = useState(offsetSettings?.mapHidden);\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const subjectWellId = defaultSubjectWell?.asset_id;\n const [filters, setFilters] = useState(offsetSettings?.filters || {});\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [selectedWells, setSelectedWells] = useState([]);\n const [subjectWell, setSubjectWell] = useState(null);\n const [isTableLoading, setIsTableLoading] = useState(true);\n const [isWellNameExpand, setIsWellNameExpand] = useState(false);\n const [isAdvancedSearchHidden, setIsAdvancedSearchHidden] = useState(false);\n const contentRef = useRef();\n /** @type {ReturnType<typeof useState<string>>} */\n const [viewType, setViewType] = useState(ViewType.none);\n\n /** @type {ReturnType<typeof useRef<string>>} */\n const prevViewType = useRef();\n const [isTopGradientShow, setIsTopGradientShow] = useState(false);\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n const topGradientTop = TOP_GRADIENT_MAP[viewType];\n\n /** @type {ReturnType<typeof useRef<number[]>>} */\n const prevSelectedWellIds = useRef();\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n // NOTE: Refresh when the offset well changes externally\n if (!open) {\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n offsetSettings?.selectedWellIds?.every(id => prevSelectedWellIds.current?.includes(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n }, [isLimitedOffsetWells, open, offsetSettings]);\n\n useEffect(() => {\n function handleResize() {\n if (window.innerWidth <= SMALL_SCREEN_WIDTH || isMobileDetected || isNativeDetected) {\n setViewType(ViewType.mobile);\n } else if (window.innerHeight <= SMALL_SCREEN_HEIGHT) {\n setViewType(ViewType.small);\n } else {\n setViewType(ViewType.normal);\n }\n }\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [open]);\n\n useEffect(() => {\n if (prevViewType.current && viewType === prevViewType.current) return;\n prevViewType.current = viewType;\n if (viewType === ViewType.small || viewType === ViewType.mobile) {\n setIsMapHidden(true);\n setIsFilterExpanded(false);\n } else {\n setIsFilterExpanded(!isViewOnly && offsetSettings?.filterExpanded);\n setIsMapHidden(!isViewOnly && offsetSettings?.mapHidden);\n }\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n }, [offsetSettings, isViewOnly, viewType]);\n\n // NOTE: Fetch all wells\n const [rawWells, areWellsLoading] = useFetchWells(assetCompanyId, addWellsUsabilityInfo);\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n ] = useBicWells(isWDUser, currentUser, subjectWellId, rawWells, isManualWellsEnabled);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n }, [subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const wells = useAdvancedWells(\n assetCompanyId,\n rawWells,\n wellSections,\n bicWells,\n subjectWellId,\n metricsKeys,\n open\n );\n\n const isAllWellsLoaded = !areWellsLoading && wells?.length === rawWells?.length;\n\n useEffect(() => {\n if (!isAllWellsLoaded) return;\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n let offsetWellsChanged = true;\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIds.includes(wellId)\n );\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n let selectedWellIds = wellsByDistance.slice(0, maxOffsetSize + 1).map(well => well.id);\n selectedWellIds = wellsByDistance.slice(0, localMaxOffsetSize + 1).map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const offsetWells = wellsByDistance.filter(well => selectedWellIds.includes(well.id));\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n }, [offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled]);\n\n const filterOptions = useFilterOptions(wells);\n\n // NOTE: Subject well\n useEffect(() => {\n if (wells && wellSections) {\n const defaultSubjectWell = wells.find(well => well.id === subjectWellId);\n if (defaultSubjectWell) {\n const allSectionNames = wellSections\n .filter(item => item.value !== ALL_SECTION_KEY)\n .map(({ label }) => label);\n const subjectWellWithSection = {\n ...defaultSubjectWell,\n ...(allSectionNames.length > 0 && { [ColumnType.wellSection]: allSectionNames }),\n };\n setSubjectWell(subjectWellWithSection);\n } else {\n setSubjectWell(null);\n }\n }\n }, [wellSections, wells]);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(metricsKeys);\n\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) return;\n\n if (initLoading.current) {\n let data = wells.filter(well => (offsetSettings?.selectedWellIds || []).includes(well.id));\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n } else {\n setSelectedWells(prev => {\n let newSelectedWells = (filteredWells || []).filter(\n well => !!prev.find(({ id }) => well.id === id)\n );\n if (subjectWell) newSelectedWells = newSelectedWells.concat(subjectWell);\n return uniqBy(newSelectedWells, 'id');\n });\n }\n }, [wells, filteredWells, offsetSettings?.selectedWellIds, isAllWellsLoaded]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n filteredWells,\n selectedWells,\n setIsTableLoading\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n (isAdding, newAssets, assetType) => {\n let addingWellIds;\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n addingWellIds = newAssets.reduce((acc, assetId) => {\n const rigName = wells.find(well => well.id === assetId)?.rigName;\n const rigWellIds = wells.filter(well => well.rigName === rigName).map(well => well.id);\n return acc.concat(rigWellIds);\n }, []);\n }\n let addingWells = wells.filter(({ id }) => addingWellIds.includes(id));\n if (isAdding) {\n addingWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(addingWells), 'id'));\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n [wells, selectedWells]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, []);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n }, []);\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback((well, checked) => {\n if (checked) {\n setSelectedWells(prevWells => [...prevWells, well]);\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n }, []);\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = section => {\n if (bicWells) {\n const sectionWells = wells?.filter(well => bicWells[section]?.includes(well.id)) || [];\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n };\n\n const handleChangeWellSection = useCallback(\n section => {\n setSelectedWellSection(section);\n updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n let synced;\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n synced = false;\n } else {\n synced = selectedWellIds.every(id => owsWellIds.includes(id));\n }\n return synced;\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const handleSave = () => {\n onClose();\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedWells.map(({ id }) => id),\n filters,\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n };\n onSave(newOffsetSetting, selectedWells);\n };\n\n const handleCancel = () => {\n let data = (wells || []).filter(well =>\n (offsetSettings?.selectedWellIds || []).includes(well.id)\n );\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || !isAllWellsLoaded;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = () => {\n setFilters({});\n setSelectedWellSection(ALL_SECTION_KEY);\n updateSelectedWellsBySection(ALL_SECTION_KEY);\n };\n\n const isLoading = !wells || !wellSections || !sortedWells || viewType === ViewType.none;\n\n // NOTE: Well Name shadow\n const [isHScrollMoved, setIsHScrollMoved] = useState(false);\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n }, [bicWells]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n if (e.target.scrollTop <= 5 && isTopGradientShow) {\n setIsTopGradientShow(false);\n }\n if (e.target.scrollTop > 5 && !isTopGradientShow) {\n setIsTopGradientShow(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n const tooltipContainer = () => {\n return (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t1)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t1)}>{offsetLabel}</span>\n </div>\n );\n };\n\n return (\n <Modal\n open={open}\n onClose={handleCancel}\n title={\n <AppHeader\n isWDUser={isWDUser}\n viewType={viewType}\n totalCount={wells?.length ?? 0}\n selectedCount={selectedWellsCount}\n isViewOnly={isViewOnly}\n maxOffsetWellNumber={maxOffsetWellNumber}\n />\n }\n isMobile={viewType === ViewType.mobile}\n contentContainerClassName={classNames(styles.offsetWellDialog)}\n contentClassName={classNames(styles.contentContainer, {\n [styles.smallContainer]: viewType === ViewType.small,\n [styles.contentContainerMobile]: viewType === ViewType.mobile,\n })}\n actionsClassName={styles.modalActions}\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={viewType !== ViewType.mobile && <ReplayIcon />}\n classes={viewType === ViewType.mobile && { root: styles.resetButtonMobile }}\n >\n {viewType !== ViewType.mobile ? 'Reset' : <ReplayIcon />}\n </Button>\n </div>\n </Tooltip>\n ) : (\n <div className={viewType === ViewType.mobile && styles.infoIconContainer}>\n {viewType !== ViewType.mobile ? (\n <>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </>\n ) : (\n <Tooltip\n title={tooltipContainer()}\n enterTouchDelay={0}\n leaveTouchDelay={LEAVE_TOUCH_DELAY}\n >\n <InfoOutlined className={styles.infoIcon} />\n </Tooltip>\n )}\n </div>\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n ref={contentRef}\n >\n {viewType === ViewType.mobile && (\n <div\n className={classNames(styles.countContainer, {\n [styles.countContainerMobile]: viewType === ViewType.mobile,\n })}\n >\n <Regular14 className={styles.totalLabel}>Total:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_totalWells`} className={styles.countValue}>\n {wells.length}\n </Regular14>\n <Regular14 className={styles.selectedLabel}>Selected:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_selected`} className={styles.countValue}>\n {selectedWellsCount}\n </Regular14>\n <Tooltip\n title={`App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`}\n placement=\"right\"\n >\n <Regular12\n data-testid={`${PAGE_NAME}_maxOffsetSize`}\n className={styles.maxOffsetSize}\n >\n /{maxOffsetWellNumber - 1}\n </Regular12>\n </Tooltip>\n </div>\n )}\n\n {viewType === ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n\n {isTopGradientShow && (\n <div className={styles.topGradient} style={{ top: topGradientTop }} />\n )}\n <div\n className={classNames(styles.content, {\n [styles.contentBlocked]: isTableFullLoading,\n [styles.contentMobile]: viewType === ViewType.mobile,\n [styles.contentiOSMobile]: getMobileOperatingSystem() === IOS_DEVICE,\n })}\n onScroll={e => handleScroll(e)}\n >\n {viewType !== ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n {!isMapHidden && open && (\n <WellsMap\n isViewOnly={isViewOnly}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={filteredWells}\n radius={filters[FilterType.radius]}\n handleChangeOffsetWell={handleChangeOffsetWell}\n activeWellId={activeWellId}\n viewType={viewType}\n />\n )}\n <Filter\n isHidden={!isFilterExpanded}\n isWDUser={isWDUser}\n filterOptions={filterOptions}\n filters={filters}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n subjectWell={subjectWell}\n onChangeFilters={value => {\n setIsTableLoading(true);\n setTimeout(() => setFilters(value), 0);\n }}\n onChangeBicWells={handleChangeWellSection}\n />\n <OffsetWellsTable\n open={open}\n isTableLoading={isTableFullLoading}\n companyId={assetCompanyId}\n subjectWellId={subjectWellId}\n sortBy={sortBy}\n setSortBy={setSortBy}\n sortDirection={sortDirection}\n setSortDirection={setSortDirection}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n setMetricsKeys={handleChangeMetricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n handleAddRemoveAssets={handleAddRemoveAssets}\n isWellNameExpand={isWellNameExpand}\n setIsWellNameExpand={setIsWellNameExpand}\n isHScrollMoved={isHScrollMoved}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n isViewOnly={isViewOnly}\n isLastWell={sortedWells.length <= tableRowsCount}\n contentRef={contentRef}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n viewType={viewType}\n isWDUser={isWDUser}\n taScores={taScores}\n />\n </div>\n {isViewOnly && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator fullscreen={false} />\n )}\n </Modal>\n );\n};\n\nexport default OffsetWellPickerV4;\n"],"names":["PAGE_NAME","OffsetWellPickerV4","_ref","_wells$length","_classNames","_classNames4","open","isWDUser","defaultSubjectWell","currentUser","offsetSettings","addWellsUsabilityInfo","isViewOnly","onClose","onSave","_ref$maxOffsetSize","maxOffsetSize","offsetSize","DEFAULT_BIC_OFFSET_SIZE","_ref$localMaxOffsetSi","localMaxOffsetSize","DEFAULT_LOCAL_OFFSET_SIZE","syncAutoEnabled","_ref$isManualWellsEna","isManualWellsEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","filterExpanded","_useState4","_useState3","isFilterExpanded","setIsFilterExpanded","mapHidden","_useState6","_useState5","isMapHidden","setIsMapHidden","assetCompanyId","companyId","company_id","subjectWellId","asset_id","_useState7","filters","_useState8","setFilters","_useState9","wellSection","ALL_SECTION_KEY","_useState10","selectedWellSection","setSelectedWellSection","initLoading","useRef","_useState12","_useState11","selectedWells","setSelectedWells","_useState14","_useState13","subjectWell","setSubjectWell","_useState16","_useState15","isTableLoading","setIsTableLoading","_useState18","_useState17","isWellNameExpand","setIsWellNameExpand","_useState20","_useState19","isAdvancedSearchHidden","setIsAdvancedSearchHidden","contentRef","_useState21","ViewType","none","_useState22","viewType","setViewType","prevViewType","_useState24","_useState23","isTopGradientShow","setIsTopGradientShow","isLimitedOffsetWells","length","topGradientTop","TOP_GRADIENT_MAP","prevSelectedWellIds","_useState26","_useState25","appLoading","setAppLoading","useEffect","_offsetSettings$selec","_prevSelectedWellIds$","_offsetSettings$selec2","showInfoNotification","selectedWellIds","current","every","id","_prevSelectedWellIds$2","includes","handleResize","window","innerWidth","SMALL_SCREEN_WIDTH","isMobileDetected","isNativeDetected","mobile","innerHeight","SMALL_SCREEN_HEIGHT","small","normal","addEventListener","removeEventListener","_useFetchWells","useFetchWells","_useFetchWells2","rawWells","areWellsLoading","useCompanyProvider","companyProvider","_useCompanyProvider","useBicWells","_useBicWells2","_useBicWells","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","wells","useAdvancedWells","isAllWellsLoaded","_ref2","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec3","bicWellIds","isMatched","wellsByDistance","newOffsetSetting","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","map","well","offsetWellsLimited","filter","stop","apply","this","arguments","filterOptions","useFilterOptions","find","allSectionNames","item","value","_ref3","label","subjectWellWithSection","_defineProperty","ColumnType","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","data","concat","uniqBy","newSelectedWells","_ref5","useSortedWells","_useSortedWells2","_useSortedWells","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","addingWellIds","SEARCH_CATEGORIES","name","reduce","acc","assetId","_wells$find","rigName","rigWellIds","addingWells","_ref6","uniq","_ref7","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleChangeOffsetWell","checked","prevWells","handleChangeAllOffsetWells","sortedData","sortArray","updateSelectedWellsBySection","section","sectionWells","_bicWells$section","limitedWells","handleChangeWellSection","selectedWellsCount","useMemo","_ref8","owsWellIds","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","handleCancel","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","isLoading","_useState28","_useState27","isHScrollMoved","setIsHScrollMoved","ROWS_PER_PAGE","_useState30","_useState29","tableRowsCount","setTableRowsCount","_useState32","_useState31","tableWells","setTableWells","RESYNC_STATUS","SUCCEEDED","_jsxs","Modal","title","_jsx","AppHeader","totalCount","selectedCount","isMobile","contentContainerClassName","classNames","styles","offsetWellDialog","contentClassName","contentContainer","smallContainer","contentContainerMobile","actionsClassName","modalActions","actions","className","actionsWrapper","children","Tooltip","placement","Button","onClick","color","startIcon","ReplayIcon","classes","root","resetButtonMobile","infoIconContainer","_Fragment","typography","regular12","colors","t6","medium12","t1","enterTouchDelay","leaveTouchDelay","LEAVE_TOUCH_DELAY","InfoOutlined","infoIcon","buttonGap","variant","_ref9","NotificationsContainer","LoadingIndicator","fullscreen","contentWrapper","contentBlocked","ref","countContainer","countContainerMobile","Regular14","totalLabel","countValue","selectedLabel","Regular12","Toolbar","topGradient","style","top","content","contentMobile","contentiOSMobile","getMobileOperatingSystem","IOS_DEVICE","onScroll","e","target","scrollLeft","scrollTop","scrollHeight","offsetHeight","round","count","handleScroll","WellsMap","offsetWellIds","_ref10","radius","Filter","isHidden","onChangeFilters","setTimeout","onChangeBicWells","OffsetWellsTable","onHideAdvancedSearch","isLastWell","viewOnlyInfoContainer"],"mappings":"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"}