@corva/ui 3.44.0-1 → 3.44.0-3

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 (376) hide show
  1. package/cjs-bundle/components/AddComment/Popover.js +1 -1
  2. package/cjs-bundle/components/AddComment/Popover.js.map +1 -1
  3. package/cjs-bundle/components/AddComment/components/Content.js +1 -1
  4. package/cjs-bundle/components/AddComment/components/Content.js.map +1 -1
  5. package/cjs-bundle/components/BICOffsetPickerDialog/index.js +1 -1
  6. package/cjs-bundle/components/BICOffsetPickerDialog/index.js.map +1 -1
  7. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  8. package/cjs-bundle/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  9. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js +1 -1
  10. package/cjs-bundle/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  11. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  12. package/cjs-bundle/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  13. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js +1 -1
  14. package/cjs-bundle/components/DocumentViewer/DocumentViewer.js.map +1 -1
  15. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  16. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  17. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  18. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  19. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  20. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  21. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  22. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  23. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  24. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  25. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  26. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  27. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  28. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  29. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  30. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  31. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  32. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  33. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  34. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  35. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  36. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  37. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  38. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  39. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  40. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  41. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  42. package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  43. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  44. package/cjs-bundle/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  45. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  46. package/cjs-bundle/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  47. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  48. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  49. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  50. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  51. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  52. package/cjs-bundle/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  53. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  54. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  55. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  56. package/cjs-bundle/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  57. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  58. package/cjs-bundle/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  59. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  60. package/cjs-bundle/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  61. package/cjs-bundle/components/OffsetWellPickerV4/index.js +1 -1
  62. package/cjs-bundle/components/OffsetWellPickerV4/index.js.map +1 -1
  63. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  64. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  65. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  66. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  67. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  68. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.js +1 -1
  69. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLoadingTilesGeoJSON.js +1 -1
  70. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.js +1 -1
  71. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusDrawing.js +1 -1
  72. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useZoomLimitState.js +1 -1
  73. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricCell.js +1 -1
  74. package/cjs-bundle/components/OffsetWellPickerV5/utils/selection-geometry.js +1 -1
  75. package/cjs-bundle/components/OffsetWellPickerV5/utils/tile-math.js +1 -1
  76. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js +1 -1
  77. package/cjs-bundle/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  78. package/cjs-bundle/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  79. package/cjs-bundle/components/index.js +1 -1
  80. package/components/AddComment/Popover.js +1 -1
  81. package/components/AddComment/Popover.js.map +1 -1
  82. package/components/AddComment/components/Content.js +1 -1
  83. package/components/AddComment/components/Content.js.map +1 -1
  84. package/components/BICOffsetPickerDialog/index.js +1 -1
  85. package/components/BICOffsetPickerDialog/index.js.map +1 -1
  86. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js +1 -1
  87. package/components/Casing/CasingTableV2/components/CasingJoints/Editor.js.map +1 -1
  88. package/components/Casing/CasingTableV2/components/Component.js +1 -1
  89. package/components/Casing/CasingTableV2/components/Component.js.map +1 -1
  90. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js +1 -1
  91. package/components/Casing/CasingTableV2/components/DrillPipe/Editor.js.map +1 -1
  92. package/components/DocumentViewer/DocumentViewer.js +1 -1
  93. package/components/DocumentViewer/DocumentViewer.js.map +1 -1
  94. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js +1 -1
  95. package/components/Drillstring/BHAComponentsTable/components/Agitator/Editor.js.map +1 -1
  96. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js +1 -1
  97. package/components/Drillstring/BHAComponentsTable/components/Bit/Editor.js.map +1 -1
  98. package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
  99. package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
  100. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js +1 -1
  101. package/components/Drillstring/BHAComponentsTable/components/DrillCollar/Editor.js.map +1 -1
  102. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js +1 -1
  103. package/components/Drillstring/BHAComponentsTable/components/DrillPipe/Editor.js.map +1 -1
  104. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js +1 -1
  105. package/components/Drillstring/BHAComponentsTable/components/Jar/Editor.js.map +1 -1
  106. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js +1 -1
  107. package/components/Drillstring/BHAComponentsTable/components/Lwd/Editor.js.map +1 -1
  108. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js +1 -1
  109. package/components/Drillstring/BHAComponentsTable/components/Mwd/Editor.js.map +1 -1
  110. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js +1 -1
  111. package/components/Drillstring/BHAComponentsTable/components/Pdm/Editor.js.map +1 -1
  112. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js +1 -1
  113. package/components/Drillstring/BHAComponentsTable/components/Rss/Editor.js.map +1 -1
  114. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js +1 -1
  115. package/components/Drillstring/BHAComponentsTable/components/Stabilizer/Editor.js.map +1 -1
  116. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js +1 -1
  117. package/components/Drillstring/BHAComponentsTable/components/Sub/Editor.js.map +1 -1
  118. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js +1 -1
  119. package/components/Drillstring/BHAComponentsTable/components/Ur/Editor.js.map +1 -1
  120. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js +1 -1
  121. package/components/Drillstring/BHAComponentsTable/components/shared/ConfirmationPopup.js.map +1 -1
  122. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js +1 -1
  123. package/components/OffsetWellPickerV2/components/Filter/ToggleMapButton.js.map +1 -1
  124. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js +1 -1
  125. package/components/OffsetWellPickerV2/components/Table/MetricsAddMenu.js.map +1 -1
  126. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js +1 -1
  127. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Table/MetricsAddMenu.js.map +1 -1
  128. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js +1 -1
  129. package/components/OffsetWellPickerV3/components/CustomSelectionView/index.js.map +1 -1
  130. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js +1 -1
  131. package/components/OffsetWellPickerV3/components/OffsetWellSelectionView/index.js.map +1 -1
  132. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js +1 -1
  133. package/components/OffsetWellPickerV3/components/TabSelection/ToggleMapButton.js.map +1 -1
  134. package/components/OffsetWellPickerV3/components/TabSelection/index.js +1 -1
  135. package/components/OffsetWellPickerV3/components/TabSelection/index.js.map +1 -1
  136. package/components/OffsetWellPickerV3/components/WellHubView/index.js +1 -1
  137. package/components/OffsetWellPickerV3/components/WellHubView/index.js.map +1 -1
  138. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js +1 -1
  139. package/components/OffsetWellPickerV3/components/shared/OffsetWellTableHead.js.map +1 -1
  140. package/components/OffsetWellPickerV4/index.d.ts +1 -1
  141. package/components/OffsetWellPickerV4/index.d.ts.map +1 -1
  142. package/components/OffsetWellPickerV4/index.js +1 -1
  143. package/components/OffsetWellPickerV4/index.js.map +1 -1
  144. package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
  145. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  146. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  147. package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  148. package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  149. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  150. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  151. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.d.ts +2 -1
  152. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.d.ts.map +1 -1
  153. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLassoSelection.js +1 -1
  154. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLoadingTilesGeoJSON.d.ts.map +1 -1
  155. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useLoadingTilesGeoJSON.js +1 -1
  156. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.d.ts.map +1 -1
  157. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.js +1 -1
  158. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusDrawing.d.ts +2 -1
  159. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusDrawing.d.ts.map +1 -1
  160. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useRadiusDrawing.js +1 -1
  161. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useZoomLimitState.js +1 -1
  162. package/components/OffsetWellPickerV5/components/Map/WellsMap.d.ts +1 -1
  163. package/components/OffsetWellPickerV5/components/Map/WellsMap.d.ts.map +1 -1
  164. package/components/OffsetWellPickerV5/components/OffsetWellsTable/MetricCell.js +1 -1
  165. package/components/OffsetWellPickerV5/effects/useInitialBounds.d.ts.map +1 -1
  166. package/components/OffsetWellPickerV5/effects/useViewportWells/processQueue.d.ts.map +1 -1
  167. package/components/OffsetWellPickerV5/effects/useViewportWells/useViewportWells.d.ts.map +1 -1
  168. package/components/OffsetWellPickerV5/utils/selection-geometry.d.ts +2 -2
  169. package/components/OffsetWellPickerV5/utils/selection-geometry.d.ts.map +1 -1
  170. package/components/OffsetWellPickerV5/utils/selection-geometry.js +1 -1
  171. package/components/OffsetWellPickerV5/utils/tile-math.d.ts +8 -0
  172. package/components/OffsetWellPickerV5/utils/tile-math.d.ts.map +1 -1
  173. package/components/OffsetWellPickerV5/utils/tile-math.js +1 -1
  174. package/components/PadOffsetsPicker/StagesSelector.js +1 -1
  175. package/components/PadOffsetsPicker/StagesSelector.js.map +1 -1
  176. package/components/PadOffsetsPickerV2/PadOffsetsPickerV2.js +1 -1
  177. package/components/index.d.ts +2 -1
  178. package/components/index.d.ts.map +1 -1
  179. package/components/index.js +1 -1
  180. package/package.json +1 -1
  181. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.js +0 -2
  182. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.js.map +0 -1
  183. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.module.css.js +0 -2
  184. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.module.css.js.map +0 -1
  185. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js +0 -2
  186. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js.map +0 -1
  187. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.module.css.js +0 -2
  188. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.module.css.js.map +0 -1
  189. package/cjs-bundle/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.js +0 -2
  190. package/cjs-bundle/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.js.map +0 -1
  191. package/cjs-bundle/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.module.css.js +0 -2
  192. package/cjs-bundle/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.module.css.js.map +0 -1
  193. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/Filter.js +0 -2
  194. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/Filter.js.map +0 -1
  195. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/Filter.module.css.js +0 -2
  196. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/Filter.module.css.js.map +0 -1
  197. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/MultiSelect.js +0 -2
  198. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/MultiSelect.js.map +0 -1
  199. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/PeriodSelect.js +0 -2
  200. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/PeriodSelect.js.map +0 -1
  201. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/RadiusInput.js +0 -2
  202. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/RadiusInput.js.map +0 -1
  203. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/SingleSelect.js +0 -2
  204. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/SingleSelect.js.map +0 -1
  205. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/WellSection.js +0 -2
  206. package/cjs-bundle/components/OffsetWellPickerV4/components/Filter/WellSection.js.map +0 -1
  207. package/cjs-bundle/components/OffsetWellPickerV4/components/Map/WellsMap.js +0 -2
  208. package/cjs-bundle/components/OffsetWellPickerV4/components/Map/WellsMap.js.map +0 -1
  209. package/cjs-bundle/components/OffsetWellPickerV4/components/Map/WellsMap.module.css.js +0 -2
  210. package/cjs-bundle/components/OffsetWellPickerV4/components/Map/WellsMap.module.css.js.map +0 -1
  211. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js +0 -2
  212. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js.map +0 -1
  213. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.module.css.js +0 -2
  214. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.module.css.js.map +0 -1
  215. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +0 -2
  216. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +0 -1
  217. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetTypesSection.js +0 -2
  218. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetTypesSection.js.map +0 -1
  219. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +0 -2
  220. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +0 -1
  221. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/constants.js +0 -2
  222. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/constants.js.map +0 -1
  223. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSelect.js +0 -2
  224. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSelect.js.map +0 -1
  225. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js +0 -2
  226. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js.map +0 -1
  227. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js +0 -2
  228. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js.map +0 -1
  229. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.module.css.js +0 -2
  230. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.module.css.js.map +0 -1
  231. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.js +0 -2
  232. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.js.map +0 -1
  233. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.module.css.js +0 -2
  234. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.module.css.js.map +0 -1
  235. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.js +0 -2
  236. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.js.map +0 -1
  237. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.module.css.js +0 -2
  238. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.module.css.js.map +0 -1
  239. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/SubjectWellMark.js +0 -2
  240. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/SubjectWellMark.js.map +0 -1
  241. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/ViewWellSectionsName.js +0 -2
  242. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/ViewWellSectionsName.js.map +0 -1
  243. package/cjs-bundle/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js +0 -2
  244. package/cjs-bundle/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js.map +0 -1
  245. package/cjs-bundle/components/OffsetWellPickerV4/components/Toolbar/Toolbar.module.css.js +0 -2
  246. package/cjs-bundle/components/OffsetWellPickerV4/components/Toolbar/Toolbar.module.css.js.map +0 -1
  247. package/cjs-bundle/components/OffsetWellPickerV4/constants.js +0 -2
  248. package/cjs-bundle/components/OffsetWellPickerV4/constants.js.map +0 -1
  249. package/cjs-bundle/components/OffsetWellPickerV4/effects/useAdvancedWells.js +0 -2
  250. package/cjs-bundle/components/OffsetWellPickerV4/effects/useAdvancedWells.js.map +0 -1
  251. package/cjs-bundle/components/OffsetWellPickerV4/effects/useAssetsData.js +0 -2
  252. package/cjs-bundle/components/OffsetWellPickerV4/effects/useAssetsData.js.map +0 -1
  253. package/cjs-bundle/components/OffsetWellPickerV4/effects/useBicWells.js +0 -2
  254. package/cjs-bundle/components/OffsetWellPickerV4/effects/useBicWells.js.map +0 -1
  255. package/cjs-bundle/components/OffsetWellPickerV4/effects/useCompanies.js +0 -2
  256. package/cjs-bundle/components/OffsetWellPickerV4/effects/useCompanies.js.map +0 -1
  257. package/cjs-bundle/components/OffsetWellPickerV4/effects/useCompanyMetricKey.js +0 -2
  258. package/cjs-bundle/components/OffsetWellPickerV4/effects/useCompanyMetricKey.js.map +0 -1
  259. package/cjs-bundle/components/OffsetWellPickerV4/effects/useCompanyProvider.js +0 -2
  260. package/cjs-bundle/components/OffsetWellPickerV4/effects/useCompanyProvider.js.map +0 -1
  261. package/cjs-bundle/components/OffsetWellPickerV4/effects/useFetchWells.js +0 -2
  262. package/cjs-bundle/components/OffsetWellPickerV4/effects/useFetchWells.js.map +0 -1
  263. package/cjs-bundle/components/OffsetWellPickerV4/effects/useFilterOptions.js +0 -2
  264. package/cjs-bundle/components/OffsetWellPickerV4/effects/useFilterOptions.js.map +0 -1
  265. package/cjs-bundle/components/OffsetWellPickerV4/effects/useFilteredWells.js +0 -2
  266. package/cjs-bundle/components/OffsetWellPickerV4/effects/useFilteredWells.js.map +0 -1
  267. package/cjs-bundle/components/OffsetWellPickerV4/effects/useSortedWells.js +0 -2
  268. package/cjs-bundle/components/OffsetWellPickerV4/effects/useSortedWells.js.map +0 -1
  269. package/cjs-bundle/components/OffsetWellPickerV4/effects/useTableColumns.js +0 -2
  270. package/cjs-bundle/components/OffsetWellPickerV4/effects/useTableColumns.js.map +0 -1
  271. package/cjs-bundle/components/OffsetWellPickerV4/utils/apiCalls.js +0 -2
  272. package/cjs-bundle/components/OffsetWellPickerV4/utils/apiCalls.js.map +0 -1
  273. package/cjs-bundle/components/OffsetWellPickerV4/utils/index.js +0 -2
  274. package/cjs-bundle/components/OffsetWellPickerV4/utils/index.js.map +0 -1
  275. package/cjs-bundle/components/OffsetWellPickerV4/utils/timePeriod.js +0 -2
  276. package/cjs-bundle/components/OffsetWellPickerV4/utils/timePeriod.js.map +0 -1
  277. package/cjs-bundle/components/OffsetWellPickerV4/utils/unitSystem.js +0 -2
  278. package/cjs-bundle/components/OffsetWellPickerV4/utils/unitSystem.js.map +0 -1
  279. package/components/OffsetWellPickerV4/OffsetWellPickerV4.js +0 -2
  280. package/components/OffsetWellPickerV4/OffsetWellPickerV4.js.map +0 -1
  281. package/components/OffsetWellPickerV4/OffsetWellPickerV4.module.css.js +0 -2
  282. package/components/OffsetWellPickerV4/OffsetWellPickerV4.module.css.js.map +0 -1
  283. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js +0 -2
  284. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js.map +0 -1
  285. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.module.css.js +0 -2
  286. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.module.css.js.map +0 -1
  287. package/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.js +0 -2
  288. package/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.js.map +0 -1
  289. package/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.module.css.js +0 -2
  290. package/components/OffsetWellPickerV4/components/CustomInfoIcon/CustomInfoIcon.module.css.js.map +0 -1
  291. package/components/OffsetWellPickerV4/components/Filter/Filter.js +0 -2
  292. package/components/OffsetWellPickerV4/components/Filter/Filter.js.map +0 -1
  293. package/components/OffsetWellPickerV4/components/Filter/Filter.module.css.js +0 -2
  294. package/components/OffsetWellPickerV4/components/Filter/Filter.module.css.js.map +0 -1
  295. package/components/OffsetWellPickerV4/components/Filter/MultiSelect.js +0 -2
  296. package/components/OffsetWellPickerV4/components/Filter/MultiSelect.js.map +0 -1
  297. package/components/OffsetWellPickerV4/components/Filter/PeriodSelect.js +0 -2
  298. package/components/OffsetWellPickerV4/components/Filter/PeriodSelect.js.map +0 -1
  299. package/components/OffsetWellPickerV4/components/Filter/RadiusInput.js +0 -2
  300. package/components/OffsetWellPickerV4/components/Filter/RadiusInput.js.map +0 -1
  301. package/components/OffsetWellPickerV4/components/Filter/SingleSelect.js +0 -2
  302. package/components/OffsetWellPickerV4/components/Filter/SingleSelect.js.map +0 -1
  303. package/components/OffsetWellPickerV4/components/Filter/WellSection.js +0 -2
  304. package/components/OffsetWellPickerV4/components/Filter/WellSection.js.map +0 -1
  305. package/components/OffsetWellPickerV4/components/Map/WellsMap.js +0 -2
  306. package/components/OffsetWellPickerV4/components/Map/WellsMap.js.map +0 -1
  307. package/components/OffsetWellPickerV4/components/Map/WellsMap.module.css.js +0 -2
  308. package/components/OffsetWellPickerV4/components/Map/WellsMap.module.css.js.map +0 -1
  309. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js +0 -2
  310. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js.map +0 -1
  311. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.module.css.js +0 -2
  312. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.module.css.js.map +0 -1
  313. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +0 -2
  314. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +0 -1
  315. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetTypesSection.js +0 -2
  316. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AssetTypesSection.js.map +0 -1
  317. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +0 -2
  318. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +0 -1
  319. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/constants.js +0 -2
  320. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/constants.js.map +0 -1
  321. package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSelect.js +0 -2
  322. package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSelect.js.map +0 -1
  323. package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js +0 -2
  324. package/components/OffsetWellPickerV4/components/OffsetWellsTable/MetricsSettingMenu.js.map +0 -1
  325. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js +0 -2
  326. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js.map +0 -1
  327. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.module.css.js +0 -2
  328. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.module.css.js.map +0 -1
  329. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.js +0 -2
  330. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.js.map +0 -1
  331. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.module.css.js +0 -2
  332. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableHead.module.css.js.map +0 -1
  333. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.js +0 -2
  334. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.js.map +0 -1
  335. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.module.css.js +0 -2
  336. package/components/OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTableRow.module.css.js.map +0 -1
  337. package/components/OffsetWellPickerV4/components/OffsetWellsTable/SubjectWellMark.js +0 -2
  338. package/components/OffsetWellPickerV4/components/OffsetWellsTable/SubjectWellMark.js.map +0 -1
  339. package/components/OffsetWellPickerV4/components/OffsetWellsTable/ViewWellSectionsName.js +0 -2
  340. package/components/OffsetWellPickerV4/components/OffsetWellsTable/ViewWellSectionsName.js.map +0 -1
  341. package/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js +0 -2
  342. package/components/OffsetWellPickerV4/components/Toolbar/Toolbar.js.map +0 -1
  343. package/components/OffsetWellPickerV4/components/Toolbar/Toolbar.module.css.js +0 -2
  344. package/components/OffsetWellPickerV4/components/Toolbar/Toolbar.module.css.js.map +0 -1
  345. package/components/OffsetWellPickerV4/constants.js +0 -2
  346. package/components/OffsetWellPickerV4/constants.js.map +0 -1
  347. package/components/OffsetWellPickerV4/effects/useAdvancedWells.js +0 -2
  348. package/components/OffsetWellPickerV4/effects/useAdvancedWells.js.map +0 -1
  349. package/components/OffsetWellPickerV4/effects/useAssetsData.js +0 -2
  350. package/components/OffsetWellPickerV4/effects/useAssetsData.js.map +0 -1
  351. package/components/OffsetWellPickerV4/effects/useBicWells.js +0 -2
  352. package/components/OffsetWellPickerV4/effects/useBicWells.js.map +0 -1
  353. package/components/OffsetWellPickerV4/effects/useCompanies.js +0 -2
  354. package/components/OffsetWellPickerV4/effects/useCompanies.js.map +0 -1
  355. package/components/OffsetWellPickerV4/effects/useCompanyMetricKey.js +0 -2
  356. package/components/OffsetWellPickerV4/effects/useCompanyMetricKey.js.map +0 -1
  357. package/components/OffsetWellPickerV4/effects/useCompanyProvider.js +0 -2
  358. package/components/OffsetWellPickerV4/effects/useCompanyProvider.js.map +0 -1
  359. package/components/OffsetWellPickerV4/effects/useFetchWells.js +0 -2
  360. package/components/OffsetWellPickerV4/effects/useFetchWells.js.map +0 -1
  361. package/components/OffsetWellPickerV4/effects/useFilterOptions.js +0 -2
  362. package/components/OffsetWellPickerV4/effects/useFilterOptions.js.map +0 -1
  363. package/components/OffsetWellPickerV4/effects/useFilteredWells.js +0 -2
  364. package/components/OffsetWellPickerV4/effects/useFilteredWells.js.map +0 -1
  365. package/components/OffsetWellPickerV4/effects/useSortedWells.js +0 -2
  366. package/components/OffsetWellPickerV4/effects/useSortedWells.js.map +0 -1
  367. package/components/OffsetWellPickerV4/effects/useTableColumns.js +0 -2
  368. package/components/OffsetWellPickerV4/effects/useTableColumns.js.map +0 -1
  369. package/components/OffsetWellPickerV4/utils/apiCalls.js +0 -2
  370. package/components/OffsetWellPickerV4/utils/apiCalls.js.map +0 -1
  371. package/components/OffsetWellPickerV4/utils/index.js +0 -2
  372. package/components/OffsetWellPickerV4/utils/index.js.map +0 -1
  373. package/components/OffsetWellPickerV4/utils/timePeriod.js +0 -2
  374. package/components/OffsetWellPickerV4/utils/timePeriod.js.map +0 -1
  375. package/components/OffsetWellPickerV4/utils/unitSystem.js +0 -2
  376. package/components/OffsetWellPickerV4/utils/unitSystem.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"sourcesContent":["import { useState, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { Replay as ReplayIcon } from '@material-ui/icons';\nimport { Table, TableHead } from '@material-ui/core';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n useCompanies,\n usePinnedWells,\n useSearchedWells,\n useTileLoading,\n useInitialBounds,\n} from './effects';\nimport { useViewportWells } from './effects/useViewportWells';\nimport { useViewportStore } from './stores/viewport-store';\nimport { useFetchSubjectWell } from './effects/useFetchSubjectWell';\nimport { AppHeader } from './components/AppHeader';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport { OffsetWellsTableHead } from './components/OffsetWellsTable/OffsetWellsTableHead';\nimport { AdvancedSearch } from './components/OffsetWellsTable/AdvancedSearch';\nimport {\n ALL_SECTION_KEY,\n COMPANY_PROVIDERS_FOR_IDAS,\n FilterType,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n RESYNC_STATUS,\n DEFAULT_RADIUS_MILES,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells } from './utils';\nimport { getIsImperial } from './utils/getIsImperial';\nimport { usePickerPropsStore } from './stores/picker-props-store/usePickerPropsStore';\nimport { useFilterStore } from './stores/filter-store/useFilterStore';\nimport { useViewStore } from './stores/view-store/useViewStore';\nimport { normalizeFilters } from './stores/filter-store/utils/normalizeFilters';\n\nimport styles from './OffsetWellPickerV5.module.css';\nimport offsetTableStyles from './components/OffsetWellsTable/OffsetWellsTable.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { typography } from '~/styles';\nimport { LoadingIndicator } from '~/components';\nimport { Button, LoaderCircular, Modal, Tooltip } from '~/componentsV2';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV5';\n\nexport const OffsetWellPickerV5 = () => {\n const open = usePickerPropsStore(state => state.open);\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const defaultSubjectWell = usePickerPropsStore(state => state.defaultSubjectWell);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const offsetSettings = usePickerPropsStore(state => state.offsetSettings);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const onClose = usePickerPropsStore(state => state.onClose);\n const onSave = usePickerPropsStore(state => state.onSave);\n const offsetSize = usePickerPropsStore(state => state.maxOffsetSize);\n const localMaxOffsetSize = usePickerPropsStore(state => state.localMaxOffsetSize);\n const syncAutoEnabled = usePickerPropsStore(state => state.syncAutoEnabled);\n\n const [activeWellId, setActiveWellId] = useState(null);\n const wellsMapRef = useRef(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 subjectWellId = defaultSubjectWell?.asset_id;\n\n // Fetch complete subject well data with coordinates\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n // Derive coordinates for initial bounds calculation (used when map is hidden)\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n\n if (!coords) {\n return null;\n }\n\n const [latitude, longitude] = coords;\n\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const isFilterExpanded = useViewStore(state => state.isFilterExpanded);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const isHScrollMoved = useViewStore(state => state.isHScrollMoved);\n const setIsHScrollMoved = useViewStore(state => state.setIsHScrollMoved);\n const isVScrollMoved = useViewStore(state => state.isVScrollMoved);\n const setIsVScrollMoved = useViewStore(state => state.setIsVScrollMoved);\n const isAdvancedSearchHidden = useViewStore(state => state.isAdvancedSearchHidden);\n const setIsAdvancedSearchHidden = useViewStore(state => state.setIsAdvancedSearchHidden);\n\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const filters = useFilterStore(state => state.filters);\n const setFilters = useFilterStore(state => state.setFilters);\n const resetFilters = useFilterStore(state => state.resetFilters);\n\n // ViewportStore hooks for tile-based fetching\n const viewportWells = useViewportStore(state => state.wells);\n const viewportBounds = useViewportStore(state => state.bounds);\n\n const { canViewCompanies, companies } = useCompanies({ open });\n const [selectedWells, setSelectedWells] = useState([]);\n const [currentSelectionZone, setCurrentSelectionZone] = useState(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n\n // Track wells being selected via search that need to wait for enrichment\n const pendingSearchSelectionRef = useRef(new Set());\n\n // Track asset IDs currently being fetched (for loading spinner in search dropdown)\n const [loadingAssetIds, setLoadingAssetIds] = useState([]);\n\n // Track if save is waiting for pending wells to be enriched\n const [isSavePending, setIsSavePending] = useState(false);\n\n // Start viewport-based tile fetching (fetches all companies, filtered client-side)\n useViewportWells();\n // Set initial bounds for data loading when map is hidden\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open,\n ghostZone: currentSelectionZone,\n });\n const isTileLoading = useTileLoading();\n\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\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 prevIdsSet = new Set(prevSelectedWellIds.current || []);\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n (offsetSettings?.selectedWellIds || []).every(id => prevIdsSet.has(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n // TODO: Check reference stability. Initially had only isLimitedOffsetWells, open, offsetSettings.\n }, [isLimitedOffsetWells, open, offsetSettings, maxOffsetWellNumber]);\n\n // NOTE: Wells are now fetched via viewport-based tile fetching (useViewportWells)\n // Convert viewport wells Map to array\n const rawWells = useMemo(() => {\n return Array.from(viewportWells.values());\n }, [viewportWells]);\n\n // Loading state: show loader when tiles are being fetched OR when still initializing (no bounds yet)\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n // NOTE: Fetch pinned wells independently of radius\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n\n // NOTE: Fetch wells selected via search that are outside current bounds\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n\n // NOTE: Ensure subject well, pinned wells and searched wells are always in rawWells for enrichment pipeline\n const rawWellsWithSubject = useMemo(() => {\n if (!rawWells) {\n return null;\n }\n\n let result = rawWells;\n\n if (pinnedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingPinned = pinnedWells.filter(w => !existingIds.has(w.id));\n\n if (missingPinned.length > 0) {\n result = result.concat(missingPinned);\n }\n }\n\n // Merge searched wells (wells added via search that are outside bounds)\n if (searchedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingSearched = searchedWells.filter(w => !existingIds.has(w.id));\n\n if (missingSearched.length > 0) {\n result = result.concat(missingSearched);\n }\n }\n\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [rawWells, fetchedSubjectWell, pinnedWells, searchedWells]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawBicWells,\n ] = useBicWells(subjectWellId, rawWellsWithSubject);\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) {\n return false;\n }\n\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n // TODO: Check reference stability. Initially had only subjectWellId.\n }, [setBicWells, setWellSections, 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 [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(rawWellsWithSubject, wellSections, bicWells, subjectWellId, metricsKeys, open);\n\n // Use wells with metrics when available, fall back to transformed wells for immediate display\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n // NOTE: Add company names to wells for display\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n return wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[well.companyId] || 'Null',\n }));\n }, [wellsWithoutCompanyName, companies]);\n\n // NOTE: Derive enriched subject well from the enrichment pipeline (includes company name)\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) {\n return null;\n }\n\n if (!wells) {\n return fetchedSubjectWell;\n }\n\n const enrichedSubjectWell = wells.find(w => w.id === fetchedSubjectWell.id);\n\n return enrichedSubjectWell || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const isAllWellsLoaded =\n !areRawWellsLoading &&\n !areAdvancedWellsLoading &&\n !arePinnedWellsLoading &&\n !areSearchedWellsLoading;\n\n useEffect(() => {\n if (!isAllWellsLoaded) {\n return;\n }\n\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n\n let offsetWellsChanged = true;\n\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const bicWellIdsSet = new Set(bicWellIds);\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIdsSet.has(wellId)\n );\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 const selectedWellIds = wellsByDistance\n .slice(0, localMaxOffsetSize + 1)\n .map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const selectedWellIdsSet = new Set(selectedWellIds);\n const offsetWells = wellsByDistance.filter(well => selectedWellIdsSet.has(well.id));\n\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 // TODO: Check reference stability. Initially had only offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled\n }, [\n offsetSettings,\n bicWells,\n subjectWellId,\n maxOffsetWellNumber,\n syncAutoEnabled,\n isAllWellsLoaded,\n appLoading,\n maxOffsetSize,\n localMaxOffsetSize,\n onSave,\n ]);\n\n const filterOptions = useFilterOptions(wells, companies, canViewCompanies);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible\n );\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n // NOTE: Include selected wells from other companies so they can be deselected\n const wellsToDisplay = useMemo(() => {\n if (!filteredWells) {\n return filteredWells;\n }\n\n // Create map of fresh well data from wells (includes ALL enriched wells:\n // - Wells in viewport from useViewportWells\n // - Pinned wells outside viewport from usePinnedWells\n // - Searched wells outside viewport from useSearchedWells)\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n // For selected wells, use fresh data from wells when available\n // This ensures metrics are up-to-date for ALL selected wells\n const selectedWithFreshData = selectedWells.map(w => wellsMap.get(w.id) || w);\n\n // Include BIC wells so they remain visible after reset even when unselected\n const bicWellIds = rawBicWells?.[selectedWellSection] || [];\n const bicWellsToShow = bicWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n // Ensure ALL selected wells and BIC wells are displayed\n // regardless of current company filter or radius\n return uniqBy(selectedWithFreshData.concat(bicWellsToShow).concat(filteredWells), 'id');\n }, [wells, filteredWells, selectedWells, rawBicWells, selectedWellSection]);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) {\n return;\n }\n\n if (initLoading.current) {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n\n let data = wells.filter(well => selectedIdsSet.has(well.id));\n\n // Preserve existing selectedWells not in wells array (may have been fetched by usePinnedWells)\n const dataIds = new Set(data.map(w => w.id));\n const preserved = selectedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n }\n }, [\n wells,\n filteredWells,\n offsetSettings?.selectedWellIds,\n isAllWellsLoaded,\n subjectWell,\n selectedWells,\n ]);\n\n // NOTE: Add pending search selections once wells are enriched\n useEffect(() => {\n if (!wells?.length || pendingSearchSelectionRef.current.size === 0) {\n return;\n }\n\n const pendingIds = pendingSearchSelectionRef.current;\n const enrichedWells = wells.filter(w => pendingIds.has(w.id));\n\n if (enrichedWells.length > 0) {\n // Clear loading state for wells being added (spinner → checked checkbox)\n const enrichedIds = enrichedWells.map(w => w.id);\n setLoadingAssetIds(prev => prev.filter(id => !enrichedIds.includes(id)));\n\n setCurrentSelectionZone(null);\n\n setSelectedWells(prev => {\n const limited = enrichedWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n\n return uniqBy(prev.concat(limited), 'id');\n });\n enrichedWells.forEach(w => pendingIds.delete(w.id));\n }\n }, [wells, maxOffsetWellNumber]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n async (isAdding, newAssets, assetType) => {\n setCurrentSelectionZone(null);\n\n let addingWellIds;\n\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n // Build lookup maps once for O(1) access\n const wellIdToRigName = new Map();\n const rigNameToWellIds = new Map();\n wells.forEach(well => {\n wellIdToRigName.set(well.id, well.rigName);\n if (!rigNameToWellIds.has(well.rigName)) {\n rigNameToWellIds.set(well.rigName, []);\n }\n rigNameToWellIds.get(well.rigName).push(well.id);\n });\n\n addingWellIds = newAssets.flatMap(assetId => {\n const rigName = wellIdToRigName.get(assetId);\n\n return rigNameToWellIds.get(rigName) || [];\n });\n }\n\n const addingWellIdsSet = new Set(addingWellIds);\n const addingWells = wells.filter(({ id }) => addingWellIdsSet.has(id));\n\n // Fetch missing wells (outside bounds) when adding via search\n // These will be added to selectedWells via effect once enriched\n if (isAdding && addingWells.length < addingWellIds.length) {\n const foundIds = new Set(addingWells.map(w => w.id));\n const missingIds = addingWellIds.filter(id => !foundIds.has(id));\n\n if (missingIds.length > 0) {\n // Show loading spinner in search dropdown\n setLoadingAssetIds(prev => prev.concat(missingIds));\n\n // Trigger fetch to add wells to enrichment pipeline\n await fetchSearchedWells(missingIds);\n\n // Store as pending - effect will add enriched wells to selectedWells\n // NOTE: loadingAssetIds is cleared in the effect when wells are actually selected\n missingIds.forEach(id => pendingSearchSelectionRef.current.add(id));\n }\n }\n\n if (isAdding) {\n // Only add wells that are already enriched (in wells array)\n const limitedWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n if (limitedWells.length > 0) {\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(limitedWells), 'id'));\n }\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n // TODO: Check reference stability. Initially had wells, selectedWells\n [wells, maxOffsetWellNumber, selectedWells.length, fetchSearchedWells]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, [setIsAdvancedSearchHidden]);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(\n newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n },\n [setMetricsKeys]\n );\n\n const handleUpdateMetricsKey = useCallback(\n (key, newValue) => {\n setMetricsKeys(prevKeys => prevKeys.map(item => (item === key ? newValue : item)));\n },\n [setMetricsKeys]\n );\n\n const handleChangeSortBy = useCallback(\n (sortKey, sortDirection) => {\n setSortBy(sortKey);\n setSortDirection(sortDirection);\n },\n [setSortBy, setSortDirection]\n );\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback(\n (well, checked) => {\n setCurrentSelectionZone(null);\n\n if (checked) {\n setSelectedWells(prevWells => {\n if (prevWells.length >= maxOffsetWellNumber) {\n return prevWells;\n }\n\n const enrichedWell = wells?.find(w => w.id === well.id) || well;\n\n return prevWells.concat(enrichedWell);\n });\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n setCurrentSelectionZone(null);\n\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: Batch select wells (from map box selection)\n const handleBatchSelectWells = useCallback(\n (wellsToSelect, onComplete) => {\n setSelectedWells(prevWells => {\n const currentIds = new Set(prevWells.map(w => w.id));\n const newWells = wellsToSelect.filter(w => !currentIds.has(w.id));\n const attempted = newWells.length;\n\n if (attempted === 0) {\n setTimeout(() => onComplete?.({ attempted: 0, added: 0 }), 0);\n return prevWells;\n }\n\n const availableSlots = maxOffsetWellNumber - prevWells.length;\n const limitedWells = newWells.slice(0, availableSlots);\n const added = limitedWells.length;\n\n const enrichedWells = limitedWells.map(w => wells?.find(fw => fw.id === w.id) || w);\n\n setTimeout(() => onComplete?.({ attempted, added }), 0);\n\n return uniqBy(prevWells.concat(enrichedWells), 'id');\n });\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Handle selection zone confirmation (from radius or lasso tool)\n const handleSelectionZoneConfirm = useCallback(zone => {\n setCurrentSelectionZone(zone);\n }, []);\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = useCallback(\n async section => {\n if (rawBicWells) {\n const rawWellIds = rawBicWells[section] || [];\n\n // Build wells map from current data (radius-fetched + pinned + searched)\n const wellsMap = new Map(rawWellsWithSubject?.map(w => [w.id, w]) || []);\n\n // Find wells not in current data (outside current radius)\n const missingWellIds = rawWellIds.filter(id => !wellsMap.has(id));\n\n // Fetch missing wells - returns fetched wells directly\n let fetchedWells = [];\n\n if (missingWellIds.length > 0) {\n fetchedWells = await fetchSearchedWells(missingWellIds);\n }\n\n // Merge fetched wells into map\n fetchedWells.forEach(w => wellsMap.set(w.id, w));\n\n // Build section wells from merged map\n const sectionWells = rawWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [rawBicWells, rawWellsWithSubject, fetchSearchedWells, maxOffsetSize, subjectWell]\n );\n\n const handleChangeWellSection = useCallback(\n async section => {\n setSelectedWellSection(section);\n await 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 const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n return false;\n }\n const owsWellIdsSet = new Set(owsWellIds);\n return selectedWellIds.every(id => owsWellIdsSet.has(id));\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 performSave = useCallback(() => {\n onClose();\n\n const selectedIds = selectedWells.map(({ id }) => id);\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedIds,\n filters: normalizeFilters(filters),\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n lastSelectionZone: currentSelectionZone,\n };\n onSave(newOffsetSetting, selectedWells);\n }, [\n onClose,\n selectedWells,\n offsetSettings,\n assetCompanyId,\n subjectWellId,\n filters,\n metricsKeys,\n selectedWellSection,\n isSynced,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n currentSelectionZone,\n onSave,\n ]);\n\n // NOTE: Complete pending save once all wells are enriched\n useEffect(() => {\n if (!isSavePending) {\n return;\n }\n\n // Check if all pending wells have been enriched (moved to selectedWells)\n if (pendingSearchSelectionRef.current.size === 0) {\n setIsSavePending(false);\n performSave();\n }\n }, [isSavePending, selectedWells, performSave]);\n\n const handleSave = () => {\n if (pendingSearchSelectionRef.current.size > 0) {\n // Wells still pending enrichment - wait for them\n setIsSavePending(true);\n return;\n }\n\n performSave();\n };\n\n const handleCancel = () => {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n let data = (wells || []).filter(well => selectedIdsSet.has(well.id));\n\n if (pinnedWells?.length) {\n const dataIds = new Set(data.map(w => w.id));\n const preserved = pinnedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n }\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n\n // Reset selection zone to prop value (discard session changes)\n setCurrentSelectionZone(offsetSettings?.lastSelectionZone ?? null);\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n\n // Reset filters to current prop values (discards unsaved changes like polygon drawings)\n // Use normalizeFilters to handle lasso mode without valid polygon\n const normalizedFilters = normalizeFilters(offsetSettings?.filters);\n\n setFilters({\n ...normalizedFilters,\n radius: normalizedFilters?.radius ?? DEFAULT_RADIUS_MILES,\n });\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\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 }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = useCallback(async () => {\n resetFilters();\n setSelectedWellSection(ALL_SECTION_KEY);\n await updateSelectedWellsBySection(ALL_SECTION_KEY);\n }, [resetFilters, updateSelectedWellsBySection]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n // NOTE: Well Name shadow\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n const headTableRef = useRef();\n const rightColumnRef = useRef();\n const scrollPositionRef = useRef(0);\n const isAnimatingRef = useRef(false);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n // Restore scroll position after tableWells update (skip during animation)\n useLayoutEffect(() => {\n if (isAnimatingRef.current) {\n return;\n }\n\n if (rightColumnRef.current && scrollPositionRef.current > 0) {\n rightColumnRef.current.scrollTop = scrollPositionRef.current;\n }\n }, [tableWells]);\n\n // NOTE: Remove shadow from header column\n useEffect(() => {\n if (!headTableRef.current) return;\n const headColumn = headTableRef.current.querySelector(`.${offsetTableStyles.wellNameFixed}`);\n if (!headColumn) return;\n if (!isHScrollMoved) {\n headColumn.classList.add(offsetTableStyles.noShadow);\n } else {\n headColumn.classList.remove(offsetTableStyles.noShadow);\n }\n }, [isHScrollMoved, tableWells]);\n\n // Calculations for table header and search - moved from OffsetWellsTable\n const uniqTableWells = useMemo(() => uniqBy(tableWells, 'id'), [tableWells]);\n\n const [selectedTableWells, indeterminate, isAllWellsSelected] = useMemo(() => {\n const selectedTableWells = uniqTableWells.filter(well => well.checked);\n const indeterminate =\n uniqTableWells.length !== selectedTableWells.length &&\n Boolean(selectedTableWells.length) &&\n !isLimitedOffsetWells;\n const isAllWellsSelected =\n selectedTableWells.length === uniqTableWells.length || isLimitedOffsetWells;\n\n return [selectedTableWells, indeterminate, isAllWellsSelected];\n }, [uniqTableWells, isLimitedOffsetWells]);\n\n const isImperial = useMemo(() => getIsImperial(), []);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n // TODO: Check reference stability. Initially had only bicWells\n }, [bicWells, handleReset, resyncStatus]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n // Track scroll position for preservation during re-renders\n scrollPositionRef.current = e.target.scrollTop;\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 // Check if V-Scroll is visible\n if (e.target.scrollTop <= 0 && isVScrollMoved) {\n setIsVScrollMoved(false);\n }\n if (e.target.scrollTop > 0 && !isVScrollMoved) {\n setIsVScrollMoved(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 return (\n <Modal\n open={open}\n onClose={handleCancel}\n size=\"fullscreen\"\n className={styles.modalDialog}\n title={\n <AppHeader\n totalCount={wells?.length ?? 0}\n selectedCount={selectedWellsCount}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isXtoProvider={isXtoProvider}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n metricsKeys={metricsKeys}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n />\n }\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={<ReplayIcon />}\n >\n Reset to Defaults\n </Button>\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div>\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 )}\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 disabled={isSavePending}\n prefix={isSavePending ? <LoaderCircular size={16} /> : undefined}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <div className={classNames(styles.offsetWellDialog)}>\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n >\n <div className={styles.columnsContainer}>\n {!isMapHidden && open && (\n <div className={styles.leftColumn}>\n <WellsMap\n ref={wellsMapRef}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={wellsToDisplay}\n handleChangeOffsetWell={handleChangeOffsetWell}\n onBatchSelectWells={handleBatchSelectWells}\n activeWellId={activeWellId}\n selectionZone={currentSelectionZone}\n onSelectionZoneConfirm={handleSelectionZoneConfirm}\n />\n </div>\n )}\n <div className={styles.rightColumn} ref={rightColumnRef} onScroll={handleScroll}>\n <Filter\n isHidden={!isFilterExpanded}\n filterOptions={filterOptions}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n onChangeBicWells={handleChangeWellSection}\n />\n <div className={offsetTableStyles.stickyTableWrapper}>\n <Table\n aria-label=\"ows table head\"\n innerRef={headTableRef}\n className={offsetTableStyles.stickyTable}\n >\n <TableHead>\n <OffsetWellsTableHead\n columnsWithDict={columnsWithDict}\n metricsKeys={metricsKeys}\n sortBy={sortBy}\n sortDirection={sortDirection}\n indeterminate={indeterminate}\n isAllWellsSelected={isAllWellsSelected}\n onChangeSort={handleChangeSortBy}\n onUpdateMetricsKey={handleUpdateMetricsKey}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n wellNameStyle={offsetTableStyles.wellNameFixed}\n isImperial={isImperial}\n isTaColumnVisible={!!taScores.length}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n />\n </TableHead>\n {isViewOnly && (\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n )}\n </Table>\n </div>\n\n {!isViewOnly && (\n <div className={classNames(offsetTableStyles.searchCellWrapper)}>\n <div className={offsetTableStyles.searchCell}>\n <AdvancedSearch\n companyIds={null}\n subjectWellId={subjectWellId}\n onChange={handleAddRemoveAssets}\n selectedWellIds={selectedTableWells.map(({ id }) => id)}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n loadingAssetIds={loadingAssetIds}\n />\n </div>\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n </div>\n )}\n\n <OffsetWellsTable\n isTableLoading={isTableFullLoading}\n subjectWellId={subjectWellId}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n isLastWell={sortedWells.length <= tableRowsCount}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n onRowClick={wellId => wellsMapRef.current?.flyToWell(wellId)}\n taScores={taScores}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n loadingWellIds={loadingWellIds}\n scrollContainerRef={rightColumnRef}\n isAnimatingRef={isAnimatingRef}\n />\n </div>\n </div>\n {isViewOnly && hasValidAssetId && (\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 />\n )}\n </div>\n </Modal>\n );\n};\n"],"names":["PAGE_NAME","_wells$length","open","usePickerPropsStore","state","isWDUser","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","maxOffsetSize","localMaxOffsetSize","syncAutoEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","subjectWellId","asset_id","useFetchSubjectWell","fetchedSubjectWell","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","isFilterExpanded","useViewStore","isMapHidden","isHScrollMoved","setIsHScrollMoved","isVScrollMoved","setIsVScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","assetCompanyId","companyId","company_id","hasValidAssetId","filters","useFilterStore","setFilters","resetFilters","viewportWells","useViewportStore","wells","viewportBounds","bounds","_useCompanies","useCompanies","canViewCompanies","companies","_useState4","_useState3","selectedWells","setSelectedWells","_useState5","_offsetSettings$lastS","lastSelectionZone","_useState6","currentSelectionZone","setCurrentSelectionZone","pendingSearchSelectionRef","Set","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","_useState10","_useState9","isSavePending","setIsSavePending","useViewportWells","useInitialBounds","hasSubjectWell","ghostZone","isTileLoading","useTileLoading","_useState11","wellSection","ALL_SECTION_KEY","_useState12","selectedWellSection","setSelectedWellSection","initLoading","_useState14","_useState13","isTableLoading","setIsTableLoading","isLimitedOffsetWells","length","prevSelectedWellIds","_useState16","_useState15","appLoading","setAppLoading","useEffect","showInfoNotification","_offsetSettings$selec","_prevSelectedWellIds$","prevIdsSet","current","selectedWellIds","every","id","has","rawWells","Array","from","values","areRawWellsLoading","usePinnedWells","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","rawWellsWithSubject","result","existingIds","map","w","missingPinned","filter","concat","missingSearched","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useBicWells","useBicWells","_useBicWells2","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","rawBicWells","isWellSectionColumnVisible","section","value","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","wellsWithoutCompanyName","companyMap","forEach","company","name","well","_objectSpread","companyName","subjectWell","find","isAllWellsLoaded","_ref","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec2","bicWellIds","bicWellIdsSet","isMatched","wellsByDistance","newOffsetSetting","selectedWellIdsSet","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","offsetWellsLimited","stop","apply","this","arguments","filterOptions","useFilterOptions","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","wellsToDisplay","wellsMap","Map","selectedWithFreshData","get","bicWellsToShow","undefined","uniqBy","selectedIdsSet","data","dataIds","preserved","size","pendingIds","enrichedWells","enrichedIds","includes","limited","delete","_ref2","_ref5","_ref6","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","addingWellIds","wellIdToRigName","rigNameToWellIds","addingWellIdsSet","addingWells","foundIds","missingIds","limitedWells","_context2","SEARCH_CATEGORIES","set","rigName","push","flatMap","assetId","_ref3","add","uniq","_ref4","_callee2","_x","_x2","_x3","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleUpdateMetricsKey","key","newValue","prevKeys","item","handleChangeSortBy","sortKey","handleChangeOffsetWell","checked","prevWells","enrichedWell","handleChangeAllOffsetWells","sortedData","sortArray","handleBatchSelectWells","wellsToSelect","onComplete","currentIds","newWells","attempted","setTimeout","added","availableSlots","fw","handleSelectionZoneConfirm","zone","updateSelectedWellsBySection","rawWellIds","missingWellIds","fetchedWells","sectionWells","_context3","_callee3","_x4","handleChangeWellSection","_context4","_callee4","_x5","selectedWellsCount","_ref7","owsWellIds","owsWellIdsSet","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","performSave","selectedIds","_ref8","normalizeFilters","mapHidden","filterExpanded","handleCancel","_offsetSettings$lastS2","_normalizedFilters$ra","normalizedFilters","radius","DEFAULT_RADIUS_MILES","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","_callee5","_context5","isLoading","ROWS_PER_PAGE","_useState18","_useState17","tableRowsCount","setTableRowsCount","_useState20","_useState19","tableWells","setTableWells","headTableRef","rightColumnRef","scrollPositionRef","isAnimatingRef","useLayoutEffect","scrollTop","headColumn","querySelector","offsetTableStyles","wellNameFixed","classList","remove","noShadow","uniqTableWells","selectedTableWells","Boolean","_useMemo2","_useMemo","indeterminate","isAllWellsSelected","isImperial","getIsImperial","RESYNC_STATUS","SUCCEEDED","_jsx","Modal","className","styles","modalDialog","title","AppHeader","totalCount","selectedCount","onChangeMetricsKeys","actions","_jsxs","jsxs","actionsWrapper","children","Tooltip","placement","jsx","Button","onClick","color","startIcon","ReplayIcon","Replay","classNames","typography","regular12","colors","t6","medium12","buttonGap","variant","disabled","prefix","LoaderCircular","offsetWellDialog","NotificationsContainer","LoadingIndicator","contentWrapper","contentBlocked","columnsContainer","leftColumn","WellsMap","ref","offsetWellIds","_ref10","onBatchSelectWells","selectionZone","onSelectionZoneConfirm","rightColumn","onScroll","e","target","scrollLeft","scrollHeight","offsetHeight","round","count","Filter","isHidden","onChangeBicWells","stickyTableWrapper","Table","innerRef","stickyTable","TableHead","OffsetWellsTableHead","onChangeSort","onUpdateMetricsKey","wellNameStyle","isTaColumnVisible","topGradient","_defineProperty","topGradientScrolled","searchCellWrapper","searchCell","AdvancedSearch","companyIds","onChange","_ref11","onHideAdvancedSearch","OffsetWellsTable","isLastWell","onRowClick","_wellsMapRef$current","flyToWell","scrollContainerRef","viewOnlyInfoContainer"],"mappings":"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"}
1
+ {"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"sourcesContent":["import { useState, useEffect, useLayoutEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { Replay as ReplayIcon } from '@material-ui/icons';\nimport { Table, TableHead } from '@material-ui/core';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n useCompanies,\n usePinnedWells,\n useSearchedWells,\n useTileLoading,\n useInitialBounds,\n} from './effects';\nimport { useViewportWells } from './effects/useViewportWells';\nimport { useViewportStore } from './stores/viewport-store';\nimport { useFetchSubjectWell } from './effects/useFetchSubjectWell';\nimport { AppHeader } from './components/AppHeader';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport { OffsetWellsTableHead } from './components/OffsetWellsTable/OffsetWellsTableHead';\nimport { AdvancedSearch } from './components/OffsetWellsTable/AdvancedSearch';\nimport {\n ALL_SECTION_KEY,\n COMPANY_PROVIDERS_FOR_IDAS,\n FilterType,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n RESYNC_STATUS,\n DEFAULT_RADIUS_MILES,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells } from './utils';\nimport { getIsImperial } from './utils/getIsImperial';\nimport { usePickerPropsStore } from './stores/picker-props-store/usePickerPropsStore';\nimport { useFilterStore } from './stores/filter-store/useFilterStore';\nimport { useViewStore } from './stores/view-store/useViewStore';\nimport { useSelectionToolStore } from './stores/selection-tool-store';\nimport { normalizeFilters } from './stores/filter-store/utils/normalizeFilters';\n\nimport styles from './OffsetWellPickerV5.module.css';\nimport offsetTableStyles from './components/OffsetWellsTable/OffsetWellsTable.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { typography } from '~/styles';\nimport { LoadingIndicator } from '~/components';\nimport { Button, LoaderCircular, Modal, Tooltip } from '~/componentsV2';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV5';\n\nexport const OffsetWellPickerV5 = () => {\n const open = usePickerPropsStore(state => state.open);\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const defaultSubjectWell = usePickerPropsStore(state => state.defaultSubjectWell);\n const currentUser = usePickerPropsStore(state => state.currentUser);\n const offsetSettings = usePickerPropsStore(state => state.offsetSettings);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const onClose = usePickerPropsStore(state => state.onClose);\n const onSave = usePickerPropsStore(state => state.onSave);\n const offsetSize = usePickerPropsStore(state => state.maxOffsetSize);\n const localMaxOffsetSize = usePickerPropsStore(state => state.localMaxOffsetSize);\n const syncAutoEnabled = usePickerPropsStore(state => state.syncAutoEnabled);\n\n const [activeWellId, setActiveWellId] = useState(null);\n const wellsMapRef = useRef(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 subjectWellId = defaultSubjectWell?.asset_id;\n\n // Fetch complete subject well data with coordinates\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n // Derive coordinates for initial bounds calculation (used when map is hidden)\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n\n if (!coords) {\n return null;\n }\n\n const [latitude, longitude] = coords;\n\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const isFilterExpanded = useViewStore(state => state.isFilterExpanded);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const isHScrollMoved = useViewStore(state => state.isHScrollMoved);\n const setIsHScrollMoved = useViewStore(state => state.setIsHScrollMoved);\n const isVScrollMoved = useViewStore(state => state.isVScrollMoved);\n const setIsVScrollMoved = useViewStore(state => state.setIsVScrollMoved);\n const isAdvancedSearchHidden = useViewStore(state => state.isAdvancedSearchHidden);\n const setIsAdvancedSearchHidden = useViewStore(state => state.setIsAdvancedSearchHidden);\n\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const filters = useFilterStore(state => state.filters);\n const setFilters = useFilterStore(state => state.setFilters);\n const resetFilters = useFilterStore(state => state.resetFilters);\n const resetSelectionTool = useSelectionToolStore(state => state.reset);\n\n // ViewportStore hooks for tile-based fetching\n const viewportWells = useViewportStore(state => state.wells);\n const viewportBounds = useViewportStore(state => state.bounds);\n\n const { canViewCompanies, companies } = useCompanies({ open });\n const [selectedWells, setSelectedWells] = useState([]);\n const [currentSelectionZone, setCurrentSelectionZone] = useState(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n\n // Track wells being selected via search that need to wait for enrichment\n const pendingSearchSelectionRef = useRef(new Set());\n\n // Track asset IDs currently being fetched (for loading spinner in search dropdown)\n const [loadingAssetIds, setLoadingAssetIds] = useState([]);\n\n // Track if save is waiting for pending wells to be enriched\n const [isSavePending, setIsSavePending] = useState(false);\n\n // Start viewport-based tile fetching (fetches all companies, filtered client-side)\n useViewportWells();\n // Set initial bounds for data loading when map is hidden\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open,\n ghostZone: currentSelectionZone,\n });\n const isTileLoading = useTileLoading();\n\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\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 prevIdsSet = new Set(prevSelectedWellIds.current || []);\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n (offsetSettings?.selectedWellIds || []).every(id => prevIdsSet.has(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n // TODO: Check reference stability. Initially had only isLimitedOffsetWells, open, offsetSettings.\n }, [isLimitedOffsetWells, open, offsetSettings, maxOffsetWellNumber]);\n\n // NOTE: Wells are now fetched via viewport-based tile fetching (useViewportWells)\n // Convert viewport wells Map to array\n const rawWells = useMemo(() => {\n return Array.from(viewportWells.values());\n }, [viewportWells]);\n\n // Loading state: show loader when tiles are being fetched OR when still initializing (no bounds yet)\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n // NOTE: Fetch pinned wells independently of radius\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n\n // NOTE: Fetch wells selected via search that are outside current bounds\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n\n // NOTE: Ensure subject well, pinned wells and searched wells are always in rawWells for enrichment pipeline\n const rawWellsWithSubject = useMemo(() => {\n if (!rawWells) {\n return null;\n }\n\n let result = rawWells;\n\n if (pinnedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingPinned = pinnedWells.filter(w => !existingIds.has(w.id));\n\n if (missingPinned.length > 0) {\n result = result.concat(missingPinned);\n }\n }\n\n // Merge searched wells (wells added via search that are outside bounds)\n if (searchedWells?.length) {\n const existingIds = new Set(result.map(w => w.id));\n const missingSearched = searchedWells.filter(w => !existingIds.has(w.id));\n\n if (missingSearched.length > 0) {\n result = result.concat(missingSearched);\n }\n }\n\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [rawWells, fetchedSubjectWell, pinnedWells, searchedWells]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n rawBicWells,\n ] = useBicWells(subjectWellId, rawWellsWithSubject);\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) {\n return false;\n }\n\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n // TODO: Check reference stability. Initially had only subjectWellId.\n }, [setBicWells, setWellSections, 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 [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(rawWellsWithSubject, wellSections, bicWells, subjectWellId, metricsKeys, open);\n\n // Use wells with metrics when available, fall back to transformed wells for immediate display\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n // NOTE: Add company names to wells for display\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n return wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[well.companyId] || 'Null',\n }));\n }, [wellsWithoutCompanyName, companies]);\n\n // NOTE: Derive enriched subject well from the enrichment pipeline (includes company name)\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) {\n return null;\n }\n\n if (!wells) {\n return fetchedSubjectWell;\n }\n\n const enrichedSubjectWell = wells.find(w => w.id === fetchedSubjectWell.id);\n\n return enrichedSubjectWell || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const isAllWellsLoaded =\n !areRawWellsLoading &&\n !areAdvancedWellsLoading &&\n !arePinnedWellsLoading &&\n !areSearchedWellsLoading;\n\n useEffect(() => {\n if (!isAllWellsLoaded) {\n return;\n }\n\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n\n let offsetWellsChanged = true;\n\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const bicWellIdsSet = new Set(bicWellIds);\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIdsSet.has(wellId)\n );\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 const selectedWellIds = wellsByDistance\n .slice(0, localMaxOffsetSize + 1)\n .map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const selectedWellIdsSet = new Set(selectedWellIds);\n const offsetWells = wellsByDistance.filter(well => selectedWellIdsSet.has(well.id));\n\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 // TODO: Check reference stability. Initially had only offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled\n }, [\n offsetSettings,\n bicWells,\n subjectWellId,\n maxOffsetWellNumber,\n syncAutoEnabled,\n isAllWellsLoaded,\n appLoading,\n maxOffsetSize,\n localMaxOffsetSize,\n onSave,\n ]);\n\n const filterOptions = useFilterOptions(wells, companies, canViewCompanies);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible\n );\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n // NOTE: Include selected wells from other companies so they can be deselected\n const wellsToDisplay = useMemo(() => {\n if (!filteredWells) {\n return filteredWells;\n }\n\n // Create map of fresh well data from wells (includes ALL enriched wells:\n // - Wells in viewport from useViewportWells\n // - Pinned wells outside viewport from usePinnedWells\n // - Searched wells outside viewport from useSearchedWells)\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n\n // For selected wells, use fresh data from wells when available\n // This ensures metrics are up-to-date for ALL selected wells\n const selectedWithFreshData = selectedWells.map(w => wellsMap.get(w.id) || w);\n\n // Include BIC wells so they remain visible after reset even when unselected\n const bicWellIds = rawBicWells?.[selectedWellSection] || [];\n const bicWellsToShow = bicWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n // Ensure ALL selected wells and BIC wells are displayed\n // regardless of current company filter or radius\n return uniqBy(selectedWithFreshData.concat(bicWellsToShow).concat(filteredWells), 'id');\n }, [wells, filteredWells, selectedWells, rawBicWells, selectedWellSection]);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) {\n return;\n }\n\n if (initLoading.current) {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n\n let data = wells.filter(well => selectedIdsSet.has(well.id));\n\n // Preserve existing selectedWells not in wells array (may have been fetched by usePinnedWells)\n const dataIds = new Set(data.map(w => w.id));\n const preserved = selectedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n }\n }, [\n wells,\n filteredWells,\n offsetSettings?.selectedWellIds,\n isAllWellsLoaded,\n subjectWell,\n selectedWells,\n ]);\n\n // NOTE: Add pending search selections once wells are enriched\n useEffect(() => {\n if (!wells?.length || pendingSearchSelectionRef.current.size === 0) {\n return;\n }\n\n const pendingIds = pendingSearchSelectionRef.current;\n const enrichedWells = wells.filter(w => pendingIds.has(w.id));\n\n if (enrichedWells.length > 0) {\n // Clear loading state for wells being added (spinner → checked checkbox)\n const enrichedIds = enrichedWells.map(w => w.id);\n setLoadingAssetIds(prev => prev.filter(id => !enrichedIds.includes(id)));\n\n setCurrentSelectionZone(null);\n\n setSelectedWells(prev => {\n const limited = enrichedWells.slice(0, Math.max(0, maxOffsetWellNumber - prev.length));\n\n return uniqBy(prev.concat(limited), 'id');\n });\n enrichedWells.forEach(w => pendingIds.delete(w.id));\n }\n }, [wells, maxOffsetWellNumber]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n async (isAdding, newAssets, assetType) => {\n setCurrentSelectionZone(null);\n\n let addingWellIds;\n\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n // Build lookup maps once for O(1) access\n const wellIdToRigName = new Map();\n const rigNameToWellIds = new Map();\n wells.forEach(well => {\n wellIdToRigName.set(well.id, well.rigName);\n if (!rigNameToWellIds.has(well.rigName)) {\n rigNameToWellIds.set(well.rigName, []);\n }\n rigNameToWellIds.get(well.rigName).push(well.id);\n });\n\n addingWellIds = newAssets.flatMap(assetId => {\n const rigName = wellIdToRigName.get(assetId);\n\n return rigNameToWellIds.get(rigName) || [];\n });\n }\n\n const addingWellIdsSet = new Set(addingWellIds);\n const addingWells = wells.filter(({ id }) => addingWellIdsSet.has(id));\n\n // Fetch missing wells (outside bounds) when adding via search\n // These will be added to selectedWells via effect once enriched\n if (isAdding && addingWells.length < addingWellIds.length) {\n const foundIds = new Set(addingWells.map(w => w.id));\n const missingIds = addingWellIds.filter(id => !foundIds.has(id));\n\n if (missingIds.length > 0) {\n // Show loading spinner in search dropdown\n setLoadingAssetIds(prev => prev.concat(missingIds));\n\n // Trigger fetch to add wells to enrichment pipeline\n await fetchSearchedWells(missingIds);\n\n // Store as pending - effect will add enriched wells to selectedWells\n // NOTE: loadingAssetIds is cleared in the effect when wells are actually selected\n missingIds.forEach(id => pendingSearchSelectionRef.current.add(id));\n }\n }\n\n if (isAdding) {\n // Only add wells that are already enriched (in wells array)\n const limitedWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n if (limitedWells.length > 0) {\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(limitedWells), 'id'));\n }\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n // TODO: Check reference stability. Initially had wells, selectedWells\n [wells, maxOffsetWellNumber, selectedWells.length, fetchSearchedWells]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, [setIsAdvancedSearchHidden]);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(\n newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n },\n [setMetricsKeys]\n );\n\n const handleUpdateMetricsKey = useCallback(\n (key, newValue) => {\n setMetricsKeys(prevKeys => prevKeys.map(item => (item === key ? newValue : item)));\n },\n [setMetricsKeys]\n );\n\n const handleChangeSortBy = useCallback(\n (sortKey, sortDirection) => {\n setSortBy(sortKey);\n setSortDirection(sortDirection);\n },\n [setSortBy, setSortDirection]\n );\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback(\n (well, checked) => {\n setCurrentSelectionZone(null);\n\n if (checked) {\n setSelectedWells(prevWells => {\n if (prevWells.length >= maxOffsetWellNumber) {\n return prevWells;\n }\n\n const enrichedWell = wells?.find(w => w.id === well.id) || well;\n\n return prevWells.concat(enrichedWell);\n });\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n setCurrentSelectionZone(null);\n\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: Batch select wells (from map box selection)\n const handleBatchSelectWells = useCallback(\n (wellsToSelect, onComplete) => {\n setSelectedWells(prevWells => {\n const currentIds = new Set(prevWells.map(w => w.id));\n const newWells = wellsToSelect.filter(w => !currentIds.has(w.id));\n const attempted = newWells.length;\n\n if (attempted === 0) {\n setTimeout(() => onComplete?.({ attempted: 0, added: 0 }), 0);\n return prevWells;\n }\n\n const availableSlots = maxOffsetWellNumber - prevWells.length;\n const limitedWells = newWells.slice(0, availableSlots);\n const added = limitedWells.length;\n\n const enrichedWells = limitedWells.map(w => wells?.find(fw => fw.id === w.id) || w);\n\n setTimeout(() => onComplete?.({ attempted, added }), 0);\n\n return uniqBy(prevWells.concat(enrichedWells), 'id');\n });\n },\n [wells, maxOffsetWellNumber]\n );\n\n // NOTE: Handle selection zone confirmation (from radius or lasso tool)\n const handleSelectionZoneConfirm = useCallback(zone => {\n setCurrentSelectionZone(zone);\n }, []);\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = useCallback(\n async section => {\n if (rawBicWells) {\n const rawWellIds = rawBicWells[section] || [];\n\n // Build wells map from current data (radius-fetched + pinned + searched)\n const wellsMap = new Map(rawWellsWithSubject?.map(w => [w.id, w]) || []);\n\n // Find wells not in current data (outside current radius)\n const missingWellIds = rawWellIds.filter(id => !wellsMap.has(id));\n\n // Fetch missing wells - returns fetched wells directly\n let fetchedWells = [];\n\n if (missingWellIds.length > 0) {\n fetchedWells = await fetchSearchedWells(missingWellIds);\n }\n\n // Merge fetched wells into map\n fetchedWells.forEach(w => wellsMap.set(w.id, w));\n\n // Build section wells from merged map\n const sectionWells = rawWellIds.map(id => wellsMap.get(id)).filter(w => w !== undefined);\n\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [rawBicWells, rawWellsWithSubject, fetchSearchedWells, maxOffsetSize, subjectWell]\n );\n\n const handleChangeWellSection = useCallback(\n async section => {\n setSelectedWellSection(section);\n await 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 const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n return false;\n }\n const owsWellIdsSet = new Set(owsWellIds);\n return selectedWellIds.every(id => owsWellIdsSet.has(id));\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 performSave = useCallback(() => {\n onClose();\n\n const selectedIds = selectedWells.map(({ id }) => id);\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedIds,\n filters: normalizeFilters(filters),\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n lastSelectionZone: currentSelectionZone,\n };\n onSave(newOffsetSetting, selectedWells);\n }, [\n onClose,\n selectedWells,\n offsetSettings,\n assetCompanyId,\n subjectWellId,\n filters,\n metricsKeys,\n selectedWellSection,\n isSynced,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n currentSelectionZone,\n onSave,\n ]);\n\n // NOTE: Complete pending save once all wells are enriched\n useEffect(() => {\n if (!isSavePending) {\n return;\n }\n\n // Check if all pending wells have been enriched (moved to selectedWells)\n if (pendingSearchSelectionRef.current.size === 0) {\n setIsSavePending(false);\n performSave();\n }\n }, [isSavePending, selectedWells, performSave]);\n\n const handleSave = () => {\n if (pendingSearchSelectionRef.current.size > 0) {\n // Wells still pending enrichment - wait for them\n setIsSavePending(true);\n return;\n }\n\n performSave();\n };\n\n const handleCancel = () => {\n const selectedIdsSet = new Set(offsetSettings?.selectedWellIds || []);\n let data = (wells || []).filter(well => selectedIdsSet.has(well.id));\n\n if (pinnedWells?.length) {\n const dataIds = new Set(data.map(w => w.id));\n const preserved = pinnedWells.filter(w => selectedIdsSet.has(w.id) && !dataIds.has(w.id));\n\n data = data.concat(preserved);\n }\n\n if (subjectWell) {\n data = data.concat(subjectWell);\n }\n\n setSelectedWells(uniqBy(data, 'id'));\n\n // Reset selection zone to prop value (discard session changes)\n setCurrentSelectionZone(offsetSettings?.lastSelectionZone ?? null);\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n\n // Reset filters to current prop values (discards unsaved changes like polygon drawings)\n // Use normalizeFilters to handle lasso mode without valid polygon\n const normalizedFilters = normalizeFilters(offsetSettings?.filters);\n\n setFilters({\n ...normalizedFilters,\n radius: normalizedFilters?.radius ?? DEFAULT_RADIUS_MILES,\n });\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\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 }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = useCallback(async () => {\n resetFilters();\n resetSelectionTool();\n setCurrentSelectionZone(null);\n setSelectedWellSection(ALL_SECTION_KEY);\n await updateSelectedWellsBySection(ALL_SECTION_KEY);\n }, [resetFilters, resetSelectionTool, updateSelectedWellsBySection]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n // NOTE: Well Name shadow\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n const headTableRef = useRef();\n const rightColumnRef = useRef();\n const scrollPositionRef = useRef(0);\n const isAnimatingRef = useRef(false);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n // Restore scroll position after tableWells update (skip during animation)\n useLayoutEffect(() => {\n if (isAnimatingRef.current) {\n return;\n }\n\n if (rightColumnRef.current && scrollPositionRef.current > 0) {\n rightColumnRef.current.scrollTop = scrollPositionRef.current;\n }\n }, [tableWells]);\n\n // NOTE: Remove shadow from header column\n useEffect(() => {\n if (!headTableRef.current) return;\n const headColumn = headTableRef.current.querySelector(`.${offsetTableStyles.wellNameFixed}`);\n if (!headColumn) return;\n if (!isHScrollMoved) {\n headColumn.classList.add(offsetTableStyles.noShadow);\n } else {\n headColumn.classList.remove(offsetTableStyles.noShadow);\n }\n }, [isHScrollMoved, tableWells]);\n\n // Calculations for table header and search - moved from OffsetWellsTable\n const uniqTableWells = useMemo(() => uniqBy(tableWells, 'id'), [tableWells]);\n\n const [selectedTableWells, indeterminate, isAllWellsSelected] = useMemo(() => {\n const selectedTableWells = uniqTableWells.filter(well => well.checked);\n const indeterminate =\n uniqTableWells.length !== selectedTableWells.length &&\n Boolean(selectedTableWells.length) &&\n !isLimitedOffsetWells;\n const isAllWellsSelected =\n selectedTableWells.length === uniqTableWells.length || isLimitedOffsetWells;\n\n return [selectedTableWells, indeterminate, isAllWellsSelected];\n }, [uniqTableWells, isLimitedOffsetWells]);\n\n const isImperial = useMemo(() => getIsImperial(), []);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n // TODO: Check reference stability. Initially had only bicWells\n }, [bicWells, handleReset, resyncStatus]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n // Track scroll position for preservation during re-renders\n scrollPositionRef.current = e.target.scrollTop;\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 // Check if V-Scroll is visible\n if (e.target.scrollTop <= 0 && isVScrollMoved) {\n setIsVScrollMoved(false);\n }\n if (e.target.scrollTop > 0 && !isVScrollMoved) {\n setIsVScrollMoved(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 return (\n <Modal\n open={open}\n onClose={handleCancel}\n size=\"fullscreen\"\n className={styles.modalDialog}\n title={\n <AppHeader\n totalCount={wells?.length ?? 0}\n selectedCount={selectedWellsCount}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isXtoProvider={isXtoProvider}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n metricsKeys={metricsKeys}\n onChangeMetricsKeys={handleChangeMetricsKeys}\n />\n }\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={<ReplayIcon />}\n >\n Reset to Defaults\n </Button>\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div>\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 )}\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 disabled={isSavePending}\n prefix={isSavePending ? <LoaderCircular size={16} /> : undefined}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <div className={classNames(styles.offsetWellDialog)}>\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n >\n <div className={styles.columnsContainer}>\n {!isMapHidden && open && (\n <div className={styles.leftColumn}>\n <WellsMap\n ref={wellsMapRef}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={wellsToDisplay}\n handleChangeOffsetWell={handleChangeOffsetWell}\n onBatchSelectWells={handleBatchSelectWells}\n activeWellId={activeWellId}\n selectionZone={currentSelectionZone}\n onSelectionZoneConfirm={handleSelectionZoneConfirm}\n />\n </div>\n )}\n <div className={styles.rightColumn} ref={rightColumnRef} onScroll={handleScroll}>\n <Filter\n isHidden={!isFilterExpanded}\n filterOptions={filterOptions}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n onChangeBicWells={handleChangeWellSection}\n />\n <div className={offsetTableStyles.stickyTableWrapper}>\n <Table\n aria-label=\"ows table head\"\n innerRef={headTableRef}\n className={offsetTableStyles.stickyTable}\n >\n <TableHead>\n <OffsetWellsTableHead\n columnsWithDict={columnsWithDict}\n metricsKeys={metricsKeys}\n sortBy={sortBy}\n sortDirection={sortDirection}\n indeterminate={indeterminate}\n isAllWellsSelected={isAllWellsSelected}\n onChangeSort={handleChangeSortBy}\n onUpdateMetricsKey={handleUpdateMetricsKey}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n wellNameStyle={offsetTableStyles.wellNameFixed}\n isImperial={isImperial}\n isTaColumnVisible={!!taScores.length}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n />\n </TableHead>\n {isViewOnly && (\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n )}\n </Table>\n </div>\n\n {!isViewOnly && (\n <div className={classNames(offsetTableStyles.searchCellWrapper)}>\n <div className={offsetTableStyles.searchCell}>\n <AdvancedSearch\n companyIds={null}\n subjectWellId={subjectWellId}\n onChange={handleAddRemoveAssets}\n selectedWellIds={selectedTableWells.map(({ id }) => id)}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n loadingAssetIds={loadingAssetIds}\n />\n </div>\n <div\n className={classNames(styles.topGradient, {\n [styles.topGradientScrolled]: isVScrollMoved,\n })}\n />\n </div>\n )}\n\n <OffsetWellsTable\n isTableLoading={isTableFullLoading}\n subjectWellId={subjectWellId}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n isLastWell={sortedWells.length <= tableRowsCount}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n onRowClick={wellId => wellsMapRef.current?.flyToWell(wellId)}\n taScores={taScores}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n loadingWellIds={loadingWellIds}\n scrollContainerRef={rightColumnRef}\n isAnimatingRef={isAnimatingRef}\n />\n </div>\n </div>\n {isViewOnly && hasValidAssetId && (\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 />\n )}\n </div>\n </Modal>\n );\n};\n"],"names":["PAGE_NAME","_wells$length","open","usePickerPropsStore","state","isWDUser","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","maxOffsetSize","localMaxOffsetSize","syncAutoEnabled","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","subjectWellId","asset_id","useFetchSubjectWell","fetchedSubjectWell","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","isFilterExpanded","useViewStore","isMapHidden","isHScrollMoved","setIsHScrollMoved","isVScrollMoved","setIsVScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","assetCompanyId","companyId","company_id","hasValidAssetId","filters","useFilterStore","setFilters","resetFilters","resetSelectionTool","useSelectionToolStore","reset","viewportWells","useViewportStore","wells","viewportBounds","bounds","_useCompanies","useCompanies","canViewCompanies","companies","_useState4","_useState3","selectedWells","setSelectedWells","_useState5","_offsetSettings$lastS","lastSelectionZone","_useState6","currentSelectionZone","setCurrentSelectionZone","pendingSearchSelectionRef","Set","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","_useState10","_useState9","isSavePending","setIsSavePending","useViewportWells","useInitialBounds","hasSubjectWell","ghostZone","isTileLoading","useTileLoading","_useState11","wellSection","ALL_SECTION_KEY","_useState12","selectedWellSection","setSelectedWellSection","initLoading","_useState14","_useState13","isTableLoading","setIsTableLoading","isLimitedOffsetWells","length","prevSelectedWellIds","_useState16","_useState15","appLoading","setAppLoading","useEffect","showInfoNotification","_offsetSettings$selec","_prevSelectedWellIds$","prevIdsSet","current","selectedWellIds","every","id","has","rawWells","Array","from","values","areRawWellsLoading","usePinnedWells","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","rawWellsWithSubject","result","existingIds","map","w","missingPinned","filter","concat","missingSearched","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useBicWells","useBicWells","_useBicWells2","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","rawBicWells","isWellSectionColumnVisible","section","value","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","wellsWithoutCompanyName","companyMap","forEach","company","name","well","_objectSpread","companyName","subjectWell","find","isAllWellsLoaded","_ref","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec2","bicWellIds","bicWellIdsSet","isMatched","wellsByDistance","newOffsetSetting","selectedWellIdsSet","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","offsetWellsLimited","stop","apply","this","arguments","filterOptions","useFilterOptions","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","wellsToDisplay","wellsMap","Map","selectedWithFreshData","get","bicWellsToShow","undefined","uniqBy","selectedIdsSet","data","dataIds","preserved","size","pendingIds","enrichedWells","enrichedIds","includes","limited","delete","_ref2","_ref5","_ref6","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","addingWellIds","wellIdToRigName","rigNameToWellIds","addingWellIdsSet","addingWells","foundIds","missingIds","limitedWells","_context2","SEARCH_CATEGORIES","set","rigName","push","flatMap","assetId","_ref3","add","uniq","_ref4","_callee2","_x","_x2","_x3","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleUpdateMetricsKey","key","newValue","prevKeys","item","handleChangeSortBy","sortKey","handleChangeOffsetWell","checked","prevWells","enrichedWell","handleChangeAllOffsetWells","sortedData","sortArray","handleBatchSelectWells","wellsToSelect","onComplete","currentIds","newWells","attempted","setTimeout","added","availableSlots","fw","handleSelectionZoneConfirm","zone","updateSelectedWellsBySection","rawWellIds","missingWellIds","fetchedWells","sectionWells","_context3","_callee3","_x4","handleChangeWellSection","_context4","_callee4","_x5","selectedWellsCount","_ref7","owsWellIds","owsWellIdsSet","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","performSave","selectedIds","_ref8","normalizeFilters","mapHidden","filterExpanded","handleCancel","_offsetSettings$lastS2","_normalizedFilters$ra","normalizedFilters","radius","DEFAULT_RADIUS_MILES","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","_callee5","_context5","isLoading","ROWS_PER_PAGE","_useState18","_useState17","tableRowsCount","setTableRowsCount","_useState20","_useState19","tableWells","setTableWells","headTableRef","rightColumnRef","scrollPositionRef","isAnimatingRef","useLayoutEffect","scrollTop","headColumn","querySelector","offsetTableStyles","wellNameFixed","classList","remove","noShadow","uniqTableWells","selectedTableWells","Boolean","_useMemo2","_useMemo","indeterminate","isAllWellsSelected","isImperial","getIsImperial","RESYNC_STATUS","SUCCEEDED","_jsx","Modal","className","styles","modalDialog","title","AppHeader","totalCount","selectedCount","onChangeMetricsKeys","actions","_jsxs","jsxs","actionsWrapper","children","Tooltip","placement","jsx","Button","onClick","color","startIcon","ReplayIcon","Replay","classNames","typography","regular12","colors","t6","medium12","buttonGap","variant","disabled","prefix","LoaderCircular","offsetWellDialog","NotificationsContainer","LoadingIndicator","contentWrapper","contentBlocked","columnsContainer","leftColumn","WellsMap","ref","offsetWellIds","_ref10","onBatchSelectWells","selectionZone","onSelectionZoneConfirm","rightColumn","onScroll","e","target","scrollLeft","scrollHeight","offsetHeight","round","count","Filter","isHidden","onChangeBicWells","stickyTableWrapper","Table","innerRef","stickyTable","TableHead","OffsetWellsTableHead","onChangeSort","onUpdateMetricsKey","wellNameStyle","isTaColumnVisible","topGradient","_defineProperty","topGradientScrolled","searchCellWrapper","searchCell","AdvancedSearch","companyIds","onChange","_ref11","onHideAdvancedSearch","OffsetWellsTable","isLastWell","onRowClick","_wellsMapRef$current","flyToWell","scrollContainerRef","viewOnlyInfoContainer"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),s=require("react"),t=require("prop-types"),n=require("lodash"),i=require("moment"),o=require("classnames"),u=require("@material-ui/core"),c=require("../../constants.js"),a=require("../../stores/picker-props-store/usePickerPropsStore.js"),l=require("../../stores/filter-store/useFilterStore.js"),p=require("./MultiSelect.js"),m=require("./WellSection.js"),q=require("./PeriodSelect.js"),d=require("./Filter.module.css.js"),j=require("../../../../icons/iconParkIcons.js");require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js");var C=require("react/jsx-runtime");require("../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("../../../../utils/mobileDetect.js"),require("../../../IconButton/index.js"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../GradientManager/configuration/constants.js"),require("../../../Modal/CorvaModal.css.js"),require("uuid"),require("../../../IconMenu/index.js"),require("../../../StyledMenuItem/index.js"),require("../../../AppIcon/AppIcon.js"),require("../../../DevCenter/AppHeader/AppHeader.js"),require("../../../DevCenter/AppSideBar/AppSideBar.js"),require("../../../DevCenter/AppsDataProvider/AppsDataProvider.js"),require("@material-ui/icons"),require("../../../DevCenter/AppContext.js"),require("../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react-router"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../utils/index.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppActions/AppActions.css.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js"),require("../../../DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js"),require("../../../../componentsV2/Text/Text.js"),require("../../../../componentsV2/Grid/Grid.js"),require("../../../../componentsV2/Grid/Cell.js"),require("../../../../componentsV2/Header/Header.scss.js"),require("../../../../componentsV2/Button/Button.js"),require("../../../../componentsV2/ButtonIcon/ButtonIcon.js"),require("../../../../componentsV2/Tooltip/Tooltip.scss.js"),require("../../../../componentsV2/Popover/Popover.js"),require("../../../../componentsV2/Radio/Radio.js"),require("../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../componentsV2/Checkbox/Checkbox.js"),require("../../../../componentsV2/TextInput/TextInput.js"),require("../../../../componentsV2/Label/Label.js"),require("../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../componentsV2/TextLink/TextLink.js"),require("../../../../componentsV2/Chip/Chip.js"),require("../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../componentsV2/Avatar/Avatar.js"),require("../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../componentsV2/Paper/Paper.js"),require("../../../../componentsV2/ModalWindow/ModalWindow.js"),require("../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../componentsV2/Menu/Menu.js"),require("../../../../componentsV2/utils.js"),require("../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../componentsV2/Counter/Counter.js"),require("../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../componentsV2/TemplatesControl/Store/utils.js"),require("../../../../componentsV2/TemplatesControl/types.js"),require("../../../../clients/jsonApi/index.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../permissions/constants/index.js"),require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js");var A=require("../../../../componentsV2/Switch/Switch.js");require("../../../../componentsV2/Tabs/Tabs.js"),require("../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../utils/main.js"),require("../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../componentsV2/ButtonLive/ButtonLive.js");var V=require("../../../../componentsV2/ButtonText/ButtonText.js");require("../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../componentsV2/AppFooter/AppFooter.js"),require("immutable"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../constants/streamSourceType.js"),require("../../../../types/shared/Completions.js"),require("../../../PadModeSelect/types.js"),require("lodash/flatten"),require("lodash/partition"),require("../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js"),require("../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js"),require("@babel/runtime/helpers/toConsumableArray"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../clients/subscriptions/constants.js"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("../../../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.scss.js"),require("querystring"),require("uuid/v1"),require("jsona"),require("../../../../utils/env.js"),require("../../../StatusBadge/constants.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../../utils/getSingleAsset.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../componentsV2/AppContainer/headerCommon.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../componentsV2/Autocomplete/Autocomplete.scss.js"),require("../../../../componentsV2/Menu/MenuItem/MenuItem.js"),require("../../../../componentsV2/Autocomplete/AutocompleteListBox.js"),require("../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js"),require("../../../DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js"),require("../../../DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js"),require("rollbar"),require("@rollbar/react"),require("../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.scss.js"),require("../../../DevCenter/DevCenterAppContainer/DevCenterAppContainer.css.js"),require("../../../Icons/AnnotationIcon.js"),require("../../../Annotations/components/AnnotationsList/index.js"),require("../../../Annotations/components/LastAnnotation/index.js"),require("../../../Annotations/AnnotationsContext.js"),require("../../../Toaster/Toaster.js"),require("../../../HelpCenter/HelpCenterIcon.js"),require("../../../DevCenter/NavigationBar/NavigationBar.js"),require("../../../DevCenter/SideBar/SideBar.js"),require("../../../DevCenter/AppSettingsPopover/AppSettingsPopover.js"),require("../../../DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"),require("../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"),require("../../../AssetEditor/index.js"),require("../../../AssetEditorV2/index.js"),require("../../../AppVersionsSelect/AppVersionsSelect.js"),require("../../../LoadingIndicator/LoadingIndicator.js"),require("../../../Typography.js"),require("../../../RealTimeValuesSidebar/RealTimeSidebar.js"),require("../../../CollapsableSidebar.js");var S=require("../../../DateTimePicker/index.js");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../DatePicker/index.js"),require("../../../ErrorBoundary/ErrorBoundary.js"),require("../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js"),require("../../../SlateFormattedText/SlateFormattedText.js"),require("../../../SlateFormattedText/RenderElements.js"),require("slate"),require("../../../EmptyState/EmptyState.js"),require("../../../ParameterCharts/ParameterCharts.js"),require("../../../ParameterCharts/AddEditTrack.js"),require("../../../ChartActionsList/ChartActionsList.js"),require("../../../CopyToClipboard/CopyToClipboard.js"),require("../../../AssetEditor/AssetEditorAutocomplete.js"),require("../../../AssetEditor/SingleAssetEditor.js"),require("react-color"),require("../../../SettingEditors/ColorEditor/style.css.js"),require("../../../SettingEditors/DropdownEditor/index.js"),require("../../../SwitchControl/index.js"),require("../../../ColorPicker/ColorPicker.js"),require("../../../Chart/components/ChartButton.js"),require("../../../Chart/components/ChartButtons.js"),require("../../../Chart/components/ChartWrapper.js"),require("../../../Chart/components/AxisDropdown.js"),require("../../../Chart/components/ChartSelect.js"),require("../../../Chart/components/buttons/DragToZoomButton.js"),require("../../../Chart/components/buttons/ZoomInButton.js"),require("../../../Chart/components/buttons/ZoomOutButton.js"),require("../../../Chart/components/buttons/PanButton.js"),require("../../../Chart/components/buttons/ResetZoomButton.js"),require("../../../Chart/components/buttons/HideAxesButton.js"),require("../../../Chart/components/buttons/ChartTypeButton.js"),require("../../../ColorPicker/PaletteChromePicker/PaletteChromePicker.js"),require("../../../TruncatedText/index.js"),require("../../../MiddleTruncatedText/MiddleTruncatedText.js"),require("../../../RangeSlider/constants.js"),require("../../../RangeSlider/Input.css.js"),require("../../../RangeSlider/RangeSlider.css.js"),require("../../../AdvancedSlider/AdvancedSlider.js"),require("../../../Breadcrumbs/index.js"),require("../../../VirtualizedTable/index.js"),require("../../../EmptyView/EmptyView.js"),require("../../../EmptyView/EmptyAppView/EmptyAppView.js"),require("../../../Button/components/Button/index.js"),require("moment-timezone"),require("../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js"),require("../../../Button/components/LiveButton/styles.js"),require("../../../ContextMenuItem/index.js"),require("../../../FolderMenuItem/index.js"),require("../../../EditableItem/EditableItem/index.js"),require("../../../EditableItem/EditableItemWithBadge/index.js"),require("../../../Checkbox/index.js"),require("../../../FolderMenuItemWithLinks/index.js"),require("../../../TextField/index.js"),require("../../../Chip/index.js"),require("../../../Counter/index.js"),require("../../../AnchorsList/AnchorsList.js"),require("../../../Select/index.js"),require("../../../Select/SelectFilterBy.js"),require("../../../CustomSelect/index.js"),require("../../../Tabs/Tabs.js"),require("../../../Tabs/Tab.js"),require("../../../ResizableTable/ResizableTable.js"),require("../../../GradientPicker/GradientPicker.js"),require("../../../GradientManager/GradientList.js"),require("@material-ui/icons/AddCircle"),require("../../../GradientManager/GradientPreview/GradientPreview.js"),require("../../../GradientManager/GradientSelect.styles.js"),require("../../../GradientManager/GradientManager.styles.js"),require("../../../Drillstring/BHASchematic.js"),require("../../../Drillstring/BHATable/index.js"),require("../../../Drillstring/BHAComponentIcon.js"),require("../../../Drillstring/BHAComponentDetail/index.js"),require("../../../Drillstring/BHATileIcon.js"),require("../../../Drillstring/BHATile/BHATile.js"),require("../../../Drillstring/BHAList/BHAList.js"),require("../../../Drillstring/BHAComponentsTable/BHAComponentsTable.js"),require("../../../Casing/CasingTable/index.js"),require("../../../Casing/CasingComponentIcon.js"),require("../../../Casing/CasingTileIcon.js"),require("../../../Casing/CasingTableV2/CasingTableV2.js"),require("../../../Casing/CasingTile/CasingTile.js"),require("../../../DisabledSettingsMessage/DisabledSettingsMessage.js"),require("../../../WellSummary/WellSummaryItemLabel.js"),require("../../../WellSummary/WellSummaryItemTitle.js"),require("../../../WellSummary/WellSummaryItemValue.js"),require("../../../WellSummary/ActivitySummaryChart.js"),require("../../../WellSummary/FracWirelineTimeChart.js"),require("../../../BICOffsetPickerDialog/index.js"),require("../../../OffsetWellButton/OffsetWellButton.js"),require("../../../OffsetWellPickerV2/OffsetWellPickerDialog.js"),require("../../../OffsetWellPickerV3/index.js"),require("../../../OffsetWellChips/Chip.js"),require("../../../OffsetWellChips/ChipsContainer.js"),require("../../OffsetWellPickerV5WithStore.js"),require("../../../OffsetWellPickerV4/utils/apiCalls.js"),require("../../../OffsetWellPickerV4/effects/useAdvancedWells.js"),require("../../../OffsetWellPickerV4/constants.js"),require("react-virtualized"),require("../../../OffsetWellPickerV4/effects/useAssetsData.js"),require("../../../OffsetWellPickerV4/components/AppHeader/AppHeader.js"),require("../../../OffsetWellPickerV4/components/Toolbar/Toolbar.js"),require("../../../OffsetWellPickerV4/components/Filter/Filter.js"),require("../../../OffsetWellPickerV4/components/Map/WellsMap.js"),require("../../../OffsetWellPickerV4/components/OffsetWellsTable/OffsetWellsTable.js"),require("../../../OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/constants.js"),require("../../../OffsetWellPickerV4/utils/index.js"),require("../../../OffsetWellPickerV4/OffsetWellPickerV4.module.css.js"),require("@material-ui/core/Snackbar"),require("../../../Notifications/Toast.js"),require("../../../Notifications/Notifications.scss.js"),require("../../../../styles/typography/index.js"),require("../../../../styles/counter/counter.module.scss.js"),require("../../../OffsetWellMap/OffsetWellMap.js"),require("../../../ConfirmationDialog.js"),require("../../../TextLink/index.js"),require("../../../Avatar/index.js"),require("../../../Template/TemplatePopover/index.js"),require("../../../Template/TemplateSharingDialog/index.js"),require("../../../MenuItem/index.js"),require("../../../MiddleTruncate/MiddleTruncate.js"),require("../../../PinnableFilters/PinnableFilters.js"),require("../../../HeaderLayout/HeaderLayout.js"),require("../../../PadOffsetsPicker/PadOffsetsPicker.js"),require("../../../PadOffsetsPicker/OffsetAssetChip.js"),require("../../../PadOffsetsPicker/OffsetAssetsListExpander.js"),require("../../../PadOffsetsPicker/StagesSelector.js"),require("../../../PadOffsetsPickerV2/PadOffsetsPickerV2.js"),require("../../../Table/TableToolbar/TableToolbar.js"),require("../../../Table/TableContainer/TableContainer.js"),require("../../../Table/TableCell/TableCell.js"),require("../../../Table/TablePagination/TablePagination.js"),require("../../../Table/TablePaginationActions/TablePaginationActions.js"),require("../../../Tooltip/ScrollableTooltip.js"),require("../../../PriceInput/PriceInput.js"),require("../../../LabelsCounter/LabelsCounter.js"),require("../../../Stepper/Stepper.js"),require("../../../Stepper/Step/Step.js"),require("../../../Stepper/StepsWrapper.js"),require("../../../Comment/CommentIcon/index.js"),require("../../../FilesLoader/FilesLoader.js"),require("../../../../componentsV2/FileIcon/icons/ArchiveFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/CSVFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/DocFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/EDMFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/ExcelFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/ImageFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/JsonFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/LasFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/OtherFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/PdfFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/PowerPointFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/TxtFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/UnknownFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/VideoFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/XmlFileIcon.js"),require("../../../SearchInput/index.js"),require("../../../FeedItem/FeedItem.js"),require("../../../FeedItem/FeedItemEditProvider/FeedItemEditProvider.js"),require("../../../PostInput/PostInput.js"),require("../../../KeyboardDateTimePicker.js"),require("../../../AddComment/Popover.js"),require("../../../AddComment/Popup.js"),require("../../../StageDesignVActual/ComparisonBar/ComparisonBar.js"),require("../../../StageDesignVActual/ElementsComparison/ElementsComparison.js"),require("../../../StageDesignVActual/ComparisonHeader.js"),require("../../../StageDesignVActual/ComparisonRow.js"),require("../../../EmbeddedApp/DevCenterEmbeddedApp.js"),require("../../../EmbeddedApp/EmbeddedApp.js"),require("../../../Autocomplete/Autocomplete.js"),require("../../../DocumentViewer/DocumentViewer.js"),require("../../../ColorPickerPalette/ColorPickerPalette.js"),require("../../../Search/Search.js"),require("../../../Search/components/Listbox.js"),require("../../../Search/components/Paper.js"),require("../../../Search/components/RecentSearches.js"),require("../../../Search/components/Groups.js"),require("../../../Search/components/SelectAllListItem.js"),require("../../../StatusBadge/index.js"),require("../../../Attachment/index.js"),require("../../../EmojiIconButton.js"),require("../../../FileUploadIconButton.js"),require("../../../FilePreview/index.js"),require("../../../FailedFileUploading.js"),require("../../../UserMention/index.js"),require("../../../CommentsInfo/index.js"),require("../../../CommentInput/index.js"),require("../../../Comment/index.js"),require("../../../CommentLoader.js"),require("../../../AssetNameLabel/AssetStatusBadge.js"),require("../../../AssetEditorV2/components/PrimaryAssetSelect.js"),require("../../../AssetEditorV2/components/SecondaryAssetSelect.js"),require("../../../AssetEditorV2/components/SelectItem.js"),require("../../../AssetEditorV2/components/MultipleAssetsToggle.js"),require("../../../AssetEditorV2/components/PrimaryAssetSelectV2.js"),require("../../../EChartsWrapper/EChartsWrapper.js"),require("../../../AssetsMultipleSelector/AssetsMultipleSelector.js"),require("@material-ui/icons/Close"),require("@material-ui/icons/GetApp"),require("../../../GoogleDocsViewer/index.js"),require("../../../NewDocumentViewer/effects/useFileContent.js"),require("../../../NewDocumentViewer/styles.js"),require("../../../FilesLoaderV2/styles.js"),require("../../../FilesDropzone/styles.js"),require("../../../FilesProcessor/styles.js"),require("../../../Hint/styles.js"),require("@babel/runtime/helpers/taggedTemplateLiteral"),require("fparser"),require("../../../Formula/useFormulaStyles.js"),require("../../../Formula/RootXIcon.js"),require("../../../Formula/FormulaTextEditor.js"),require("../../../Formula/CloseSuggestion.js"),require("../../../Formula/SuggestionsMenu.js");var v=f(e),I=f(r),g=f(t),T=f(i),h=f(o),F=function(e){var r=e.isHidden,t=e.filterOptions,i=e.wellSections,o=e.selectedWellSection,f=e.onChangeBicWells,g=a.usePickerPropsStore((function(e){return e.isWDUser})),F=l.useFilterStore((function(e){return e.filters})),D=l.useFilterStore((function(e){return e.setFilter})),P=l.useFilterStore((function(e){return e.setFilters})),b=l.useFilterStore((function(e){return e.resetFilters})),x=l.useFilterStore((function(e){return e.setTempFilter})),y=l.useFilterStore((function(e){return e.clearTempFilter})),B=l.useFilterStore((function(e){return e.commitTempFilter})),k=l.useFilterStore((function(e){return e.tempFilters})),M=s.useState({}),L=I.default(M,2),E=L[0],W=L[1],H=s.useCallback((function(e,r){e===c.FilterType.sideTracks?D(c.FilterType.sideTracks,r):r?D(e,r):P(n.omit(null!=F?F:{},[e]))}),[F,D,P]),O=function(e){return function(r){var s=T.default(r);if(s.isValid()){var t=s.unix(),n=!1;"timeRangeFrom"===e?n=t>=F[c.FilterType.timeRangeTo]:"timeRangeTo"===e&&(n=t<=F[c.FilterType.timeRangeFrom]),W(n?v.default({},e,!0):{}),D(e,t)}}};return C.jsx("div",{className:h.default(d.filterContainer,v.default({},d.hidden,r)),children:C.jsxs("div",{className:d.filterGroup,children:[t.map((function(e,r){var s=e.value,t=e.label,n=e.options;if(s===c.FilterType.company){var i={};n.forEach((function(e){i[e.id]=e.name}));return C.jsx(p.MultiSelect,{label:t,options:n.map((function(e){return e.name})),currentValues:(F[s]||[]).map((function(e){return i[e]})).filter(Boolean),tempValues:void 0!==k[s]?(k[s]||[]).map((function(e){return i[e]})).filter(Boolean):void 0,showAllOption:!0,allText:"All",ListMenuItem:function(e){var r=e.value;return C.jsx(u.ListItemText,{primary:r})},onChange:function(e){if(null===e||Array.isArray(e)&&0===e.length)H(s,[]);else{var r=e.map((function(e){var r;return null===(r=n.find((function(r){return r.name===e})))||void 0===r?void 0:r.id})).filter(Boolean);H(s,r)}},onTempChange:function(e){var r=e.map((function(e){var r;return null===(r=n.find((function(r){return r.name===e})))||void 0===r?void 0:r.id})).filter(Boolean);x(s,r)},onCommit:function(){return B(s)},onCancel:function(){return y(s)}},t)}return C.jsx(p.MultiSelect,{label:t,options:n,currentValues:F[s]||[],tempValues:k[s],ListMenuItem:function(e){var r=e.value;return C.jsx(u.ListItemText,{primary:r})},onChange:function(e){return H(s,e)},onTempChange:function(e){return x(s,e)},onCommit:function(){return B(s)},onCancel:function(){return y(s)}},r)})),C.jsx(p.MultiSelect,{label:"Status",options:c.StatusOptions.map((function(e){return e.value})),currentValues:F[c.FilterType.status]||[],tempValues:k[c.FilterType.status],ValueComponent:function(e){var r,s=e.value;return C.jsxs("div",{className:d.statusItem,children:[C.jsx("div",{className:d.statusIcon,style:{background:null===(r=c.StatusOptions.find((function(e){return e.value===s})))||void 0===r?void 0:r.color}}),n.startCase(s)]})},ListMenuItem:function(e){var r,s=e.value;return C.jsxs("div",{className:d.statusItem,children:[C.jsx("div",{className:d.statusIcon,style:{background:null===(r=c.StatusOptions.find((function(e){return e.value===s})))||void 0===r?void 0:r.color}}),C.jsx(u.ListItemText,{primary:n.startCase(s)})]})},onChange:function(e){return H(c.FilterType.status,e)},onTempChange:function(e){return x(c.FilterType.status,e)},onCommit:function(){return B(c.FilterType.status)},onCancel:function(){return y(c.FilterType.status)}}),C.jsx(q.PeriodSelect,{label:"Last Active",currentValue:F[c.FilterType.period]||"all",options:c.OBJECTIVE_PERIOD_LIST,className:d.companySelect,onChange:function(e){return H(c.FilterType.period,e)}}),"custom"===F[c.FilterType.period]&&C.jsxs(C.Fragment,{children:[C.jsx("div",{className:d.filterItem,children:C.jsx(S,{variant:"inline",label:"Date From",format:"MM/DD/YY HH:mm",value:1e3*F[c.FilterType.timeRangeFrom]||null,onChange:O("timeRangeFrom"),error:E.timeRangeFrom})}),C.jsx("div",{className:d.filterItem,children:C.jsx(S,{variant:"inline",label:"Date To",format:"MM/DD/YY HH:mm",value:1e3*F[c.FilterType.timeRangeTo]||null,onChange:O("timeRangeTo"),error:E.timeRangeTo})})]}),g&&!n.isEmpty(i)&&C.jsx(m.WellSection,{selectedValue:o,wellSections:i,onChange:f}),C.jsx(A.Switch,{testId:"".concat("Filter","_ExcludeSidetracks"),size:"small",checked:F[c.FilterType.sideTracks]||!1,onChange:function(e){return H(c.FilterType.sideTracks,e)},onLabel:"Exclude Sidetracks"}),C.jsx(V.ButtonText,{prefix:C.jsx(j.UndoIcon,{}),onClick:b,disabled:n.isEmpty(F),children:"To Defaults"})]})})};F.propTypes={isHidden:g.default.bool.isRequired,filterOptions:g.default.arrayOf(g.default.shape({})).isRequired,wellSections:g.default.arrayOf(g.default.shape({})).isRequired,selectedWellSection:g.default.string.isRequired,onChangeBicWells:g.default.func.isRequired},exports.Filter=F;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("@babel/runtime/helpers/slicedToArray"),s=require("react"),t=require("prop-types"),n=require("lodash"),i=require("moment"),o=require("classnames"),u=require("@material-ui/core"),c=require("../../constants.js"),a=require("../../stores/picker-props-store/usePickerPropsStore.js"),l=require("../../stores/filter-store/useFilterStore.js"),p=require("./MultiSelect.js"),m=require("./WellSection.js"),q=require("./PeriodSelect.js"),d=require("./Filter.module.css.js"),j=require("../../../../icons/iconParkIcons.js");require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js");var C=require("react/jsx-runtime");require("../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("../../../../utils/mobileDetect.js"),require("../../../IconButton/index.js"),require("../../../../constants/goals.js"),require("../../../../constants/segment.js"),require("../../../../constants/alerts.js"),require("../../../../constants/apps.js"),require("../../../../constants/drillstring.js"),require("../../../../constants/completion.js"),require("../../../../constants/appPackages.js"),require("../../../../constants/notifications.js"),require("../../../../constants/feed.js"),require("../../../../constants/bha.js"),require("../../../../constants/corvaCompanyId.js"),require("../../../GradientManager/configuration/constants.js"),require("../../../Modal/CorvaModal.css.js"),require("uuid"),require("../../../IconMenu/index.js"),require("../../../StyledMenuItem/index.js"),require("../../../AppIcon/AppIcon.js"),require("../../../DevCenter/AppHeader/AppHeader.js"),require("../../../DevCenter/AppSideBar/AppSideBar.js"),require("../../../DevCenter/AppsDataProvider/AppsDataProvider.js"),require("@material-ui/icons"),require("../../../DevCenter/AppContext.js"),require("../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react-router"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../utils/index.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppActions/AppActions.css.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/AppSettingsDialog.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/RemoveAppButton.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppSettingsDialog/components/SettingsAccordion.js"),require("../../../DevCenter/DevCenterAppContainer/components/AnnotationsButton/AnnotationsButton.js"),require("../../../../componentsV2/Text/Text.js"),require("../../../../componentsV2/Grid/Grid.js"),require("../../../../componentsV2/Grid/Cell.js"),require("../../../../componentsV2/Header/Header.scss.js"),require("../../../../componentsV2/Button/Button.js"),require("../../../../componentsV2/ButtonIcon/ButtonIcon.js"),require("../../../../componentsV2/Tooltip/Tooltip.scss.js"),require("../../../../componentsV2/Popover/Popover.js"),require("../../../../componentsV2/Radio/Radio.js"),require("../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../componentsV2/Checkbox/Checkbox.js"),require("../../../../componentsV2/TextInput/TextInput.js"),require("../../../../componentsV2/Label/Label.js"),require("../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.scss.js"),require("../../../../componentsV2/TextLink/TextLink.js"),require("../../../../componentsV2/Chip/Chip.js"),require("../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../componentsV2/Avatar/Avatar.js"),require("../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../componentsV2/Paper/Paper.js"),require("../../../../componentsV2/ModalWindow/ModalWindow.js"),require("../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../componentsV2/Menu/Menu.js"),require("../../../../componentsV2/utils.js"),require("../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../componentsV2/Counter/Counter.js"),require("../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../componentsV2/TemplatesControl/Store/utils.js"),require("../../../../componentsV2/TemplatesControl/types.js"),require("../../../../clients/jsonApi/index.js"),require("../../../../permissions/PermissionsContext.js"),require("../../../../permissions/constants/index.js"),require("../../../../permissions/withPermissionsHOC.js"),require("../../../../permissions/ProvidePermissions.js"),require("../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js");var A=require("../../../../componentsV2/Switch/Switch.js");require("../../../../componentsV2/Tabs/Tabs.js"),require("../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../utils/main.js"),require("../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../componentsV2/ButtonLive/ButtonLive.js");var S=require("../../../../componentsV2/ButtonText/ButtonText.js");require("../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../componentsV2/AppFooter/AppFooter.js"),require("immutable"),require("../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../PadModeSelect/PadModeSelect.js"),require("../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../constants/streamSourceType.js"),require("../../../../types/shared/Completions.js"),require("../../../PadModeSelect/types.js"),require("lodash/flatten"),require("lodash/partition"),require("../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js"),require("../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js"),require("@babel/runtime/helpers/toConsumableArray"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../clients/subscriptions/constants.js"),require("../../../../clients/subscriptions.v1.js"),require("../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../../clients/api/apiCore.js"),require("../../../../clients/constants.js"),require("../../../../clients/sso/auth0.js"),require("../../../../clients/sso/oauth2.js"),require("../../../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../componentsV2/PadModeSelect/PadModeSelect.scss.js"),require("querystring"),require("uuid/v1"),require("jsona"),require("../../../../utils/env.js"),require("../../../StatusBadge/constants.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../../utils/getSingleAsset.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../componentsV2/AppContainer/headerCommon.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../componentsV2/Autocomplete/Autocomplete.scss.js"),require("../../../../componentsV2/Menu/MenuItem/MenuItem.js"),require("../../../../componentsV2/Autocomplete/AutocompleteListBox.js"),require("../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../DevCenter/DevCenterAppContainer/components/FullscreenButton/FullscreenButton.js"),require("../../../DevCenter/DevCenterAppContainer/components/AppInfoMessage/AppInfoMessage.js"),require("../../../DevCenter/DevCenterAppContainer/components/DevCenterAppView/DevCenterAppView.js"),require("../../../DevCenter/DevCenterAppContainer/components/RestoreAppSizeButton/index.js"),require("rollbar"),require("@rollbar/react"),require("../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchButton.scss.js"),require("../../../DevCenter/DevCenterAppContainer/DevCenterAppContainer.css.js"),require("../../../Icons/AnnotationIcon.js"),require("../../../Annotations/components/AnnotationsList/index.js"),require("../../../Annotations/components/LastAnnotation/index.js"),require("../../../Annotations/AnnotationsContext.js"),require("../../../Toaster/Toaster.js"),require("../../../HelpCenter/HelpCenterIcon.js"),require("../../../DevCenter/NavigationBar/NavigationBar.js"),require("../../../DevCenter/SideBar/SideBar.js"),require("../../../DevCenter/AppSettingsPopover/AppSettingsPopover.js"),require("../../../DevCenter/AppFilterPanelLayout/AppFilterPanelLayout.js"),require("../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedAppPage.js"),require("../../../DevCenter/IsolatedDevCenterAppContainer/DevCenterIsolatedApp.js"),require("../../../AssetEditor/index.js"),require("../../../AssetEditorV2/index.js"),require("../../../AppVersionsSelect/AppVersionsSelect.js"),require("../../../LoadingIndicator/LoadingIndicator.js"),require("../../../Typography.js"),require("../../../RealTimeValuesSidebar/RealTimeSidebar.js"),require("../../../CollapsableSidebar.js");var V=require("../../../DateTimePicker/index.js");function v(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../DatePicker/index.js"),require("../../../ErrorBoundary/ErrorBoundary.js"),require("../../../ErrorBoundary/DevCenterAppErrorView/DevCenterAppErrorView.js"),require("../../../SlateFormattedText/SlateFormattedText.js"),require("../../../SlateFormattedText/RenderElements.js"),require("slate"),require("../../../EmptyState/EmptyState.js"),require("../../../ParameterCharts/ParameterCharts.js"),require("../../../ParameterCharts/AddEditTrack.js"),require("../../../ChartActionsList/ChartActionsList.js"),require("../../../CopyToClipboard/CopyToClipboard.js"),require("../../../AssetEditor/AssetEditorAutocomplete.js"),require("../../../AssetEditor/SingleAssetEditor.js"),require("react-color"),require("../../../SettingEditors/ColorEditor/style.css.js"),require("../../../SettingEditors/DropdownEditor/index.js"),require("../../../SwitchControl/index.js"),require("../../../ColorPicker/ColorPicker.js"),require("../../../Chart/components/ChartButton.js"),require("../../../Chart/components/ChartButtons.js"),require("../../../Chart/components/ChartWrapper.js"),require("../../../Chart/components/AxisDropdown.js"),require("../../../Chart/components/ChartSelect.js"),require("../../../Chart/components/buttons/DragToZoomButton.js"),require("../../../Chart/components/buttons/ZoomInButton.js"),require("../../../Chart/components/buttons/ZoomOutButton.js"),require("../../../Chart/components/buttons/PanButton.js"),require("../../../Chart/components/buttons/ResetZoomButton.js"),require("../../../Chart/components/buttons/HideAxesButton.js"),require("../../../Chart/components/buttons/ChartTypeButton.js"),require("../../../ColorPicker/PaletteChromePicker/PaletteChromePicker.js"),require("../../../TruncatedText/index.js"),require("../../../MiddleTruncatedText/MiddleTruncatedText.js"),require("../../../RangeSlider/constants.js"),require("../../../RangeSlider/Input.css.js"),require("../../../RangeSlider/RangeSlider.css.js"),require("../../../AdvancedSlider/AdvancedSlider.js"),require("../../../Breadcrumbs/index.js"),require("../../../VirtualizedTable/index.js"),require("../../../EmptyView/EmptyView.js"),require("../../../EmptyView/EmptyAppView/EmptyAppView.js"),require("../../../Button/components/Button/index.js"),require("moment-timezone"),require("../../../Button/components/LiveButton/components/LiveButtonStateIndicator/index.js"),require("../../../Button/components/LiveButton/styles.js"),require("../../../ContextMenuItem/index.js"),require("../../../FolderMenuItem/index.js"),require("../../../EditableItem/EditableItem/index.js"),require("../../../EditableItem/EditableItemWithBadge/index.js"),require("../../../Checkbox/index.js"),require("../../../FolderMenuItemWithLinks/index.js"),require("../../../TextField/index.js"),require("../../../Chip/index.js"),require("../../../Counter/index.js"),require("../../../AnchorsList/AnchorsList.js"),require("../../../Select/index.js"),require("../../../Select/SelectFilterBy.js"),require("../../../CustomSelect/index.js"),require("../../../Tabs/Tabs.js"),require("../../../Tabs/Tab.js"),require("../../../ResizableTable/ResizableTable.js"),require("../../../GradientPicker/GradientPicker.js"),require("../../../GradientManager/GradientList.js"),require("@material-ui/icons/AddCircle"),require("../../../GradientManager/GradientPreview/GradientPreview.js"),require("../../../GradientManager/GradientSelect.styles.js"),require("../../../GradientManager/GradientManager.styles.js"),require("../../../Drillstring/BHASchematic.js"),require("../../../Drillstring/BHATable/index.js"),require("../../../Drillstring/BHAComponentIcon.js"),require("../../../Drillstring/BHAComponentDetail/index.js"),require("../../../Drillstring/BHATileIcon.js"),require("../../../Drillstring/BHATile/BHATile.js"),require("../../../Drillstring/BHAList/BHAList.js"),require("../../../Drillstring/BHAComponentsTable/BHAComponentsTable.js"),require("../../../Casing/CasingTable/index.js"),require("../../../Casing/CasingComponentIcon.js"),require("../../../Casing/CasingTileIcon.js"),require("../../../Casing/CasingTableV2/CasingTableV2.js"),require("../../../Casing/CasingTile/CasingTile.js"),require("../../../DisabledSettingsMessage/DisabledSettingsMessage.js"),require("../../../WellSummary/WellSummaryItemLabel.js"),require("../../../WellSummary/WellSummaryItemTitle.js"),require("../../../WellSummary/WellSummaryItemValue.js"),require("../../../WellSummary/ActivitySummaryChart.js"),require("../../../WellSummary/FracWirelineTimeChart.js"),require("../../../BICOffsetPickerDialog/index.js"),require("../../../OffsetWellButton/OffsetWellButton.js"),require("../../../OffsetWellPickerV2/OffsetWellPickerDialog.js"),require("../../../OffsetWellPickerV3/index.js"),require("../../../OffsetWellChips/Chip.js"),require("../../../OffsetWellChips/ChipsContainer.js"),require("../../OffsetWellPickerV5WithStore.js"),require("../../../OffsetWellMap/OffsetWellMap.js"),require("@material-ui/core/Snackbar"),require("../../../Notifications/Toast.js"),require("../../../Notifications/Notifications.scss.js"),require("../../../ConfirmationDialog.js"),require("../../../TextLink/index.js"),require("../../../Avatar/index.js"),require("../../../Template/TemplatePopover/index.js"),require("../../../Template/TemplateSharingDialog/index.js"),require("../../../MenuItem/index.js"),require("../../../MiddleTruncate/MiddleTruncate.js"),require("../../../PinnableFilters/PinnableFilters.js"),require("../../../HeaderLayout/HeaderLayout.js"),require("../../../PadOffsetsPicker/PadOffsetsPicker.js"),require("../../../PadOffsetsPicker/OffsetAssetChip.js"),require("../../../PadOffsetsPicker/OffsetAssetsListExpander.js"),require("../../../PadOffsetsPicker/StagesSelector.js"),require("../../../PadOffsetsPickerV2/PadOffsetsPickerV2.js"),require("../../../Table/TableToolbar/TableToolbar.js"),require("../../../Table/TableContainer/TableContainer.js"),require("../../../Table/TableCell/TableCell.js"),require("../../../Table/TablePagination/TablePagination.js"),require("../../../Table/TablePaginationActions/TablePaginationActions.js"),require("../../../Tooltip/ScrollableTooltip.js"),require("../../../PriceInput/PriceInput.js"),require("../../../LabelsCounter/LabelsCounter.js"),require("../../../Stepper/Stepper.js"),require("../../../Stepper/Step/Step.js"),require("../../../Stepper/StepsWrapper.js"),require("../../../Comment/CommentIcon/index.js"),require("../../../FilesLoader/FilesLoader.js"),require("../../../../componentsV2/FileIcon/icons/ArchiveFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/CSVFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/DocFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/EDMFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/ExcelFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/ImageFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/JsonFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/LasFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/OtherFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/PdfFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/PowerPointFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/TxtFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/UnknownFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/VideoFileIcon.js"),require("../../../../componentsV2/FileIcon/icons/XmlFileIcon.js"),require("../../../SearchInput/index.js"),require("../../../FeedItem/FeedItem.js"),require("../../../FeedItem/FeedItemEditProvider/FeedItemEditProvider.js"),require("../../../PostInput/PostInput.js"),require("../../../KeyboardDateTimePicker.js"),require("../../../AddComment/Popover.js"),require("../../../AddComment/Popup.js"),require("../../../StageDesignVActual/ComparisonBar/ComparisonBar.js"),require("../../../StageDesignVActual/ElementsComparison/ElementsComparison.js"),require("../../../StageDesignVActual/ComparisonHeader.js"),require("../../../StageDesignVActual/ComparisonRow.js"),require("../../../EmbeddedApp/DevCenterEmbeddedApp.js"),require("../../../EmbeddedApp/EmbeddedApp.js"),require("../../../Autocomplete/Autocomplete.js"),require("../../../DocumentViewer/DocumentViewer.js"),require("../../../ColorPickerPalette/ColorPickerPalette.js"),require("../../../Search/Search.js"),require("../../../Search/components/Listbox.js"),require("../../../Search/components/Paper.js"),require("../../../Search/components/RecentSearches.js"),require("../../../Search/components/Groups.js"),require("../../../Search/components/SelectAllListItem.js"),require("../../../StatusBadge/index.js"),require("../../../Attachment/index.js"),require("../../../EmojiIconButton.js"),require("../../../FileUploadIconButton.js"),require("../../../FilePreview/index.js"),require("../../../FailedFileUploading.js"),require("../../../UserMention/index.js"),require("../../../CommentsInfo/index.js"),require("../../../CommentInput/index.js"),require("../../../Comment/index.js"),require("../../../CommentLoader.js"),require("../../../AssetNameLabel/AssetStatusBadge.js"),require("../../../AssetEditorV2/components/PrimaryAssetSelect.js"),require("../../../AssetEditorV2/components/SecondaryAssetSelect.js"),require("../../../AssetEditorV2/components/SelectItem.js"),require("../../../AssetEditorV2/components/MultipleAssetsToggle.js"),require("../../../AssetEditorV2/components/PrimaryAssetSelectV2.js"),require("../../../EChartsWrapper/EChartsWrapper.js"),require("../../../AssetsMultipleSelector/AssetsMultipleSelector.js"),require("@material-ui/icons/Close"),require("@material-ui/icons/GetApp"),require("../../../GoogleDocsViewer/index.js"),require("../../../NewDocumentViewer/effects/useFileContent.js"),require("../../../NewDocumentViewer/styles.js"),require("../../../FilesLoaderV2/styles.js"),require("../../../FilesDropzone/styles.js"),require("../../../FilesProcessor/styles.js"),require("../../../Hint/styles.js"),require("@babel/runtime/helpers/taggedTemplateLiteral"),require("fparser"),require("../../../Formula/useFormulaStyles.js"),require("../../../Formula/RootXIcon.js"),require("../../../Formula/FormulaTextEditor.js"),require("../../../Formula/CloseSuggestion.js"),require("../../../Formula/SuggestionsMenu.js");var I=v(e),g=v(r),T=v(t),f=v(i),h=v(o),D=function(e){var r=e.isHidden,t=e.filterOptions,i=e.wellSections,o=e.selectedWellSection,v=e.onChangeBicWells,T=a.usePickerPropsStore((function(e){return e.isWDUser})),D=l.useFilterStore((function(e){return e.filters})),F=l.useFilterStore((function(e){return e.setFilter})),x=l.useFilterStore((function(e){return e.setFilters})),b=l.useFilterStore((function(e){return e.resetFilters})),P=l.useFilterStore((function(e){return e.setTempFilter})),y=l.useFilterStore((function(e){return e.clearTempFilter})),B=l.useFilterStore((function(e){return e.commitTempFilter})),M=l.useFilterStore((function(e){return e.tempFilters})),L=s.useState({}),k=g.default(L,2),E=k[0],H=k[1],W=s.useCallback((function(e,r){e===c.FilterType.sideTracks?F(c.FilterType.sideTracks,r):r?F(e,r):x(n.omit(null!=D?D:{},[e]))}),[D,F,x]),O=function(e){return function(r){var s=f.default(r);if(s.isValid()){var t=s.unix(),n=!1;"timeRangeFrom"===e?n=t>=D[c.FilterType.timeRangeTo]:"timeRangeTo"===e&&(n=t<=D[c.FilterType.timeRangeFrom]),H(n?I.default({},e,!0):{}),F(e,t)}}};return C.jsx("div",{className:h.default(d.filterContainer,I.default({},d.hidden,r)),children:C.jsxs("div",{className:d.filterGroup,children:[t.map((function(e,r){var s=e.value,t=e.label,n=e.options;if(s===c.FilterType.company){var i={};n.forEach((function(e){i[e.id]=e.name}));return C.jsx(p.MultiSelect,{label:t,options:n.map((function(e){return e.name})),currentValues:(D[s]||[]).map((function(e){return i[e]})).filter(Boolean),tempValues:void 0!==M[s]?(M[s]||[]).map((function(e){return i[e]})).filter(Boolean):void 0,showAllOption:!0,allText:"All",ListMenuItem:function(e){var r=e.value;return C.jsx(u.ListItemText,{primary:r})},onChange:function(e){if(null===e||Array.isArray(e)&&0===e.length)W(s,[]);else{var r=e.map((function(e){var r;return null===(r=n.find((function(r){return r.name===e})))||void 0===r?void 0:r.id})).filter(Boolean);W(s,r)}},onTempChange:function(e){var r=e.map((function(e){var r;return null===(r=n.find((function(r){return r.name===e})))||void 0===r?void 0:r.id})).filter(Boolean);P(s,r)},onCommit:function(){return B(s)},onCancel:function(){return y(s)}},t)}return C.jsx(p.MultiSelect,{label:t,options:n,currentValues:D[s]||[],tempValues:M[s],ListMenuItem:function(e){var r=e.value;return C.jsx(u.ListItemText,{primary:r})},onChange:function(e){return W(s,e)},onTempChange:function(e){return P(s,e)},onCommit:function(){return B(s)},onCancel:function(){return y(s)}},r)})),C.jsx(p.MultiSelect,{label:"Status",options:c.StatusOptions.map((function(e){return e.value})),currentValues:D[c.FilterType.status]||[],tempValues:M[c.FilterType.status],ValueComponent:function(e){var r,s=e.value;return C.jsxs("div",{className:d.statusItem,children:[C.jsx("div",{className:d.statusIcon,style:{background:null===(r=c.StatusOptions.find((function(e){return e.value===s})))||void 0===r?void 0:r.color}}),n.startCase(s)]})},ListMenuItem:function(e){var r,s=e.value;return C.jsxs("div",{className:d.statusItem,children:[C.jsx("div",{className:d.statusIcon,style:{background:null===(r=c.StatusOptions.find((function(e){return e.value===s})))||void 0===r?void 0:r.color}}),C.jsx(u.ListItemText,{primary:n.startCase(s)})]})},onChange:function(e){return W(c.FilterType.status,e)},onTempChange:function(e){return P(c.FilterType.status,e)},onCommit:function(){return B(c.FilterType.status)},onCancel:function(){return y(c.FilterType.status)}}),C.jsx(q.PeriodSelect,{label:"Last Active",currentValue:D[c.FilterType.period]||"all",options:c.OBJECTIVE_PERIOD_LIST,className:d.companySelect,onChange:function(e){return W(c.FilterType.period,e)}}),"custom"===D[c.FilterType.period]&&C.jsxs(C.Fragment,{children:[C.jsx("div",{className:d.filterItem,children:C.jsx(V,{variant:"inline",label:"Date From",format:"MM/DD/YY HH:mm",value:1e3*D[c.FilterType.timeRangeFrom]||null,onChange:O("timeRangeFrom"),error:E.timeRangeFrom})}),C.jsx("div",{className:d.filterItem,children:C.jsx(V,{variant:"inline",label:"Date To",format:"MM/DD/YY HH:mm",value:1e3*D[c.FilterType.timeRangeTo]||null,onChange:O("timeRangeTo"),error:E.timeRangeTo})})]}),T&&!n.isEmpty(i)&&C.jsx(m.WellSection,{selectedValue:o,wellSections:i,onChange:v}),C.jsx(A.Switch,{testId:"".concat("Filter","_ExcludeSidetracks"),size:"small",checked:D[c.FilterType.sideTracks]||!1,onChange:function(e){return W(c.FilterType.sideTracks,e)},onLabel:"Exclude Sidetracks"}),C.jsx(S.ButtonText,{prefix:C.jsx(j.UndoIcon,{}),onClick:b,disabled:n.isEmpty(D),children:"To Defaults"})]})})};D.propTypes={isHidden:T.default.bool.isRequired,filterOptions:T.default.arrayOf(T.default.shape({})).isRequired,wellSections:T.default.arrayOf(T.default.shape({})).isRequired,selectedWellSection:T.default.string.isRequired,onChangeBicWells:T.default.func.isRequired},exports.Filter=D;
2
2
  //# sourceMappingURL=Filter.js.map