@corva/ui 3.48.0-7 → 3.48.0-9

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 (196) hide show
  1. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  2. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  3. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.js +1 -1
  4. package/cjs-bundle/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.js +1 -1
  5. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  6. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/MultiFilterSelect/MultiFilterSelect.js +1 -1
  7. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  8. package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/components/StatusFilterSelect/StatusFilterSelect.js +1 -1
  9. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  10. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js +1 -1
  11. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useIsMapMoving.js +2 -0
  12. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useIsMapMoving.js.map +1 -0
  13. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.js +1 -1
  14. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSyncViewportBounds.js +1 -1
  15. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTileSafeEnforcement.js +2 -0
  16. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTileSafeEnforcement.js.map +1 -0
  17. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getTileGridBounds.js +2 -0
  18. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getTileGridBounds.js.map +1 -0
  19. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getViewportBounds.js +2 -0
  20. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getViewportBounds.js.map +1 -0
  21. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/resolveResetBounds.js +2 -0
  22. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/resolveResetBounds.js.map +1 -0
  23. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/smartFitBounds.js +2 -0
  24. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/smartFitBounds.js.map +1 -0
  25. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js +1 -1
  26. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js.map +1 -1
  27. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  28. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  29. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  30. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  31. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAssetsData.js +1 -1
  32. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAssetsData.js.map +1 -1
  33. package/cjs-bundle/components/OffsetWellPickerV5/effects/useFilteredWells.js +1 -1
  34. package/cjs-bundle/components/OffsetWellPickerV5/effects/useFilteredWells.js.map +1 -1
  35. package/cjs-bundle/components/OffsetWellPickerV5/effects/useLoadAllWellsCompanySafeguard.js +1 -1
  36. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/FilterStoreProvider.js +1 -1
  37. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/createFilterStore.js +1 -1
  38. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/createFilterStore.js.map +1 -1
  39. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/types.js +2 -0
  40. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -0
  41. package/cjs-bundle/components/OffsetWellPickerV5/stores/filter-store/utils/normalizeFilters.js +1 -1
  42. package/cjs-bundle/components/OffsetWellPickerV5/stores/picker-props-store/createPickerPropsStore.js +1 -1
  43. package/cjs-bundle/components/OffsetWellPickerV5/stores/utils/omitKey.js +2 -0
  44. package/cjs-bundle/components/OffsetWellPickerV5/stores/utils/omitKey.js.map +1 -0
  45. package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +2 -0
  46. package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js.map +1 -0
  47. package/cjs-bundle/components/OffsetWellPickerV5/utils/getSortedIdsSignature.js +2 -0
  48. package/cjs-bundle/components/OffsetWellPickerV5/utils/getSortedIdsSignature.js.map +1 -0
  49. package/cjs-bundle/components/OffsetWellPickerV5/utils/isAllOrNoneSelected.js +2 -0
  50. package/cjs-bundle/components/OffsetWellPickerV5/utils/isAllOrNoneSelected.js.map +1 -0
  51. package/cjs-bundle/components/OffsetWellPickerV5/utils/tile-math.js +1 -1
  52. package/cjs-bundle/componentsV2/Autocomplete/Autocomplete.js +1 -1
  53. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
  54. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
  55. package/cjs-bundle/utils/metrics/index.js +1 -1
  56. package/cjs-bundle/utils/metrics/index.js.map +1 -1
  57. package/cjs-bundle/utils/metrics/interventionMetricsConfig.js +2 -0
  58. package/cjs-bundle/utils/metrics/interventionMetricsConfig.js.map +1 -0
  59. package/cjs-bundle/utils/metrics/metricsConfig.js +1 -1
  60. package/cjs-bundle/utils/metrics/metricsConfig.js.map +1 -1
  61. package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
  62. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  63. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  64. package/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.d.ts.map +1 -1
  65. package/components/OffsetWellPickerV5/OffsetWellPickerV5WithStore.js +1 -1
  66. package/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.d.ts.map +1 -1
  67. package/components/OffsetWellPickerV5/components/AppHeader/LoadAllWellsToggle.js +1 -1
  68. package/components/OffsetWellPickerV5/components/Filter/Filter.d.ts +1 -4
  69. package/components/OffsetWellPickerV5/components/Filter/Filter.d.ts.map +1 -1
  70. package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
  71. package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
  72. package/components/OffsetWellPickerV5/components/Filter/components/MultiFilterSelect/MultiFilterSelect.js +1 -1
  73. package/components/OffsetWellPickerV5/components/Filter/components/SingleFilterSelect/SingleFilterSelect.js +1 -1
  74. package/components/OffsetWellPickerV5/components/Filter/components/StatusFilterSelect/StatusFilterSelect.js +1 -1
  75. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  76. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  77. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.d.ts +3 -0
  78. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.d.ts.map +1 -1
  79. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/constants.js +1 -1
  80. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/index.d.ts +2 -0
  81. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/index.d.ts.map +1 -1
  82. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useIsMapMoving.d.ts +10 -0
  83. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useIsMapMoving.d.ts.map +1 -0
  84. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useIsMapMoving.js +2 -0
  85. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useIsMapMoving.js.map +1 -0
  86. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.d.ts +3 -5
  87. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.d.ts.map +1 -1
  88. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapBounds.js +1 -1
  89. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSyncViewportBounds.d.ts +6 -1
  90. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSyncViewportBounds.d.ts.map +1 -1
  91. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useSyncViewportBounds.js +1 -1
  92. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTileSafeEnforcement.d.ts +12 -0
  93. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTileSafeEnforcement.d.ts.map +1 -0
  94. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTileSafeEnforcement.js +2 -0
  95. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useTileSafeEnforcement.js.map +1 -0
  96. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useZoomLimitState.d.ts +3 -0
  97. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useZoomLimitState.d.ts.map +1 -1
  98. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getTileGridBounds.d.ts +8 -0
  99. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getTileGridBounds.d.ts.map +1 -0
  100. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getTileGridBounds.js +2 -0
  101. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getTileGridBounds.js.map +1 -0
  102. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getViewportBounds.d.ts +7 -0
  103. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getViewportBounds.d.ts.map +1 -0
  104. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getViewportBounds.js +2 -0
  105. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/getViewportBounds.js.map +1 -0
  106. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/resolveResetBounds.d.ts +17 -0
  107. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/resolveResetBounds.d.ts.map +1 -0
  108. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/resolveResetBounds.js +2 -0
  109. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/resolveResetBounds.js.map +1 -0
  110. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/smartFitBounds.d.ts +31 -0
  111. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/smartFitBounds.d.ts.map +1 -0
  112. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/smartFitBounds.js +2 -0
  113. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/utils/smartFitBounds.js.map +1 -0
  114. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.d.ts +5 -1
  115. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.d.ts.map +1 -1
  116. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js +1 -1
  117. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js.map +1 -1
  118. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  119. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  120. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts +5 -1
  121. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts.map +1 -1
  122. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  123. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  124. package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts +1 -1
  125. package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts.map +1 -1
  126. package/components/OffsetWellPickerV5/effects/useAssetsData.js +1 -1
  127. package/components/OffsetWellPickerV5/effects/useAssetsData.js.map +1 -1
  128. package/components/OffsetWellPickerV5/effects/useFilteredWells.d.ts +7 -97
  129. package/components/OffsetWellPickerV5/effects/useFilteredWells.d.ts.map +1 -1
  130. package/components/OffsetWellPickerV5/effects/useFilteredWells.js +1 -1
  131. package/components/OffsetWellPickerV5/effects/useFilteredWells.js.map +1 -1
  132. package/components/OffsetWellPickerV5/effects/useInitialBounds.js +1 -1
  133. package/components/OffsetWellPickerV5/effects/useLoadAllWellsCompanySafeguard.d.ts +13 -6
  134. package/components/OffsetWellPickerV5/effects/useLoadAllWellsCompanySafeguard.d.ts.map +1 -1
  135. package/components/OffsetWellPickerV5/effects/useLoadAllWellsCompanySafeguard.js +1 -1
  136. package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts +3 -2
  137. package/components/OffsetWellPickerV5/stores/company-safeguard/CompanySafeguardContext.d.ts.map +1 -1
  138. package/components/OffsetWellPickerV5/stores/company-safeguard/index.d.ts +1 -1
  139. package/components/OffsetWellPickerV5/stores/company-safeguard/index.d.ts.map +1 -1
  140. package/components/OffsetWellPickerV5/stores/filter-store/FilterStoreProvider.d.ts.map +1 -1
  141. package/components/OffsetWellPickerV5/stores/filter-store/FilterStoreProvider.js +1 -1
  142. package/components/OffsetWellPickerV5/stores/filter-store/createFilterStore.d.ts +1 -1
  143. package/components/OffsetWellPickerV5/stores/filter-store/createFilterStore.d.ts.map +1 -1
  144. package/components/OffsetWellPickerV5/stores/filter-store/createFilterStore.js +1 -1
  145. package/components/OffsetWellPickerV5/stores/filter-store/createFilterStore.js.map +1 -1
  146. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts +14 -4
  147. package/components/OffsetWellPickerV5/stores/filter-store/types.d.ts.map +1 -1
  148. package/components/OffsetWellPickerV5/stores/filter-store/types.js +2 -0
  149. package/components/OffsetWellPickerV5/stores/filter-store/types.js.map +1 -0
  150. package/components/OffsetWellPickerV5/stores/filter-store/utils/normalizeFilters.d.ts.map +1 -1
  151. package/components/OffsetWellPickerV5/stores/filter-store/utils/normalizeFilters.js +1 -1
  152. package/components/OffsetWellPickerV5/stores/picker-props-store/__tests__/createPickerPropsStore.test.d.ts +2 -0
  153. package/components/OffsetWellPickerV5/stores/picker-props-store/__tests__/createPickerPropsStore.test.d.ts.map +1 -0
  154. package/components/OffsetWellPickerV5/stores/picker-props-store/createPickerPropsStore.d.ts +1 -1
  155. package/components/OffsetWellPickerV5/stores/picker-props-store/createPickerPropsStore.d.ts.map +1 -1
  156. package/components/OffsetWellPickerV5/stores/picker-props-store/createPickerPropsStore.js +1 -1
  157. package/components/OffsetWellPickerV5/stores/utils/omitKey.d.ts +2 -0
  158. package/components/OffsetWellPickerV5/stores/utils/omitKey.d.ts.map +1 -0
  159. package/components/OffsetWellPickerV5/stores/utils/omitKey.js +2 -0
  160. package/components/OffsetWellPickerV5/stores/utils/omitKey.js.map +1 -0
  161. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts +16 -0
  162. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts.map +1 -0
  163. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +2 -0
  164. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js.map +1 -0
  165. package/components/OffsetWellPickerV5/utils/getSortedIdsSignature.d.ts +2 -0
  166. package/components/OffsetWellPickerV5/utils/getSortedIdsSignature.d.ts.map +1 -0
  167. package/components/OffsetWellPickerV5/utils/getSortedIdsSignature.js +2 -0
  168. package/components/OffsetWellPickerV5/utils/getSortedIdsSignature.js.map +1 -0
  169. package/components/OffsetWellPickerV5/utils/isAllOrNoneSelected.d.ts +3 -0
  170. package/components/OffsetWellPickerV5/utils/isAllOrNoneSelected.d.ts.map +1 -0
  171. package/components/OffsetWellPickerV5/utils/isAllOrNoneSelected.js +2 -0
  172. package/components/OffsetWellPickerV5/utils/isAllOrNoneSelected.js.map +1 -0
  173. package/components/OffsetWellPickerV5/utils/tile-math.d.ts +1 -0
  174. package/components/OffsetWellPickerV5/utils/tile-math.d.ts.map +1 -1
  175. package/components/OffsetWellPickerV5/utils/tile-math.js +1 -1
  176. package/componentsV2/Autocomplete/Autocomplete.d.ts +2 -2
  177. package/componentsV2/Autocomplete/Autocomplete.js +1 -1
  178. package/effects/__tests__/useGlobalOffsetWellsSync.test.d.ts +2 -0
  179. package/effects/__tests__/useGlobalOffsetWellsSync.test.d.ts.map +1 -0
  180. package/effects/useGlobalOffsetWellsSync.d.ts.map +1 -1
  181. package/effects/useGlobalOffsetWellsSync.js +1 -1
  182. package/effects/useGlobalOffsetWellsSync.js.map +1 -1
  183. package/mcp-server/server.mjs +1 -1
  184. package/package.json +1 -1
  185. package/utils/metrics/index.d.ts +1 -0
  186. package/utils/metrics/index.d.ts.map +1 -1
  187. package/utils/metrics/index.js +1 -1
  188. package/utils/metrics/index.js.map +1 -1
  189. package/utils/metrics/interventionMetricsConfig.d.ts +24 -0
  190. package/utils/metrics/interventionMetricsConfig.d.ts.map +1 -0
  191. package/utils/metrics/interventionMetricsConfig.js +2 -0
  192. package/utils/metrics/interventionMetricsConfig.js.map +1 -0
  193. package/utils/metrics/metricsConfig.d.ts +0 -23
  194. package/utils/metrics/metricsConfig.d.ts.map +1 -1
  195. package/utils/metrics/metricsConfig.js +1 -1
  196. package/utils/metrics/metricsConfig.js.map +1 -1
@@ -1,2 +1,2 @@
1
- import o from"@babel/runtime/helpers/slicedToArray";import{useRef as s,useMemo as t}from"react";import e from"classnames";import n from"prop-types";import{startCase as i,get as r,isEmpty as p}from"lodash";import{makeStyles as c,List as m,ListSubheader as a,Chip as l,ListItem as d,Checkbox as u,Typography as j}from"@material-ui/core";import{StatusOptions as A,ROWS_PER_PAGE as V}from"../../../constants.js";import{SEARCH_CATEGORIES as h}from"./constants.js";import"../../../../../componentsV2/Text/Text.js";import"../../../../../componentsV2/Grid/Grid.js";import"../../../../../componentsV2/Grid/Cell.js";import{jsxs as g,jsx as C}from"react/jsx-runtime";import"../../../../../componentsV2/Header/Header.scss.js";import"../../../../../componentsV2/Button/Button.js";import"../../../../../componentsV2/ButtonIcon/ButtonIcon.js";import"../../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../../../../componentsV2/Tooltip/Tooltip.scss.js";import"../../../../../componentsV2/Popover/Popover.js";import"../../../../../componentsV2/Radio/Radio.js";import"../../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../../../componentsV2/Checkbox/Checkbox.js";import"../../../../../componentsV2/TextInput/TextInput.js";import"../../../../../componentsV2/Label/Label.js";import"../../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import{TextMiddleTruncated as I}from"../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.js";import"../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../../../../componentsV2/TextLink/TextLink.js";import{LoaderCircular as S}from"../../../../../componentsV2/LoaderCircular/LoaderCircular.js";import"../../../../../componentsV2/Chip/Chip.js";import"../../../../../componentsV2/ChipAlert/ChipAlert.js";import"../../../../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../../../../componentsV2/Avatar/Avatar.js";import"../../../../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../../../../componentsV2/Paper/Paper.js";import"../../../../../componentsV2/ModalWindow/ModalWindow.js";import"../../../../../componentsV2/Modal/Modal.scss.js";import"../../../../../componentsV2/Menu/Menu.js";import"@icon-park/react/es/all";import"../../../../../icons/IconParkProvider.js";import"../../../../../icons/customIcons/icons/AddMessage.js";import"../../../../../icons/customIcons/icons/Attention.js";import"../../../../../icons/customIcons/icons/Collapse.js";import"../../../../../icons/customIcons/icons/Dashboard.js";import"../../../../../icons/customIcons/icons/Expand.js";import"../../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../../icons/customIcons/icons/Search.js";import"../../../../../icons/customIcons/icons/SearchOne.js";import"../../../../../icons/customIcons/icons/Wellhub.js";import"../../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../../icons/customIcons/icons/Checkbox.js";import"../../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../../icons/customIcons/icons/Radio.js";import"../../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../../icons/customIcons/icons/MoreApp.js";import"../../../../../icons/customIcons/icons/Pad.js";import"../../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../../icons/customIcons/icons/FracFleet.js";import"../../../../../icons/customIcons/icons/Global.js";import"../../../../../icons/customIcons/icons/Program.js";import"../../../../../icons/customIcons/icons/Rig.js";import"../../../../../icons/customIcons/icons/Well.js";import"../../../../../icons/customIcons/icons/Gap.js";import"../../../../../icons/customIcons/icons/Pin.js";import"../../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../../icons/customIcons/icons/Archive.js";import"../../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../../icons/customIcons/icons/Unarchive.js";import"../../../../../icons/customIcons/icons/Archived.js";import"../../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../../icons/customIcons/icons/Lasso.js";import"../../../../../icons/customIcons/icons/Radius.js";import"../../../../../componentsV2/utils.js";import"../../../../../componentsV2/Hint/Hint.scss.js";import"../../../../../componentsV2/Counter/Counter.js";import"../../../../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../../../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../../../../componentsV2/TemplatesControl/utils.js";import"../../../../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../../../../componentsV2/TemplatesControl/Store/utils.js";import"../../../../../componentsV2/TemplatesControl/types.js";import"../../../../../utils/index.js";import"../../../../../clients/jsonApi/index.js";import"../../../../../permissions/PermissionsContext.js";import"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../../permissions/ProvidePermissions.js";import"../../../../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../../../../componentsV2/Switch/Switch.js";import"../../../../../componentsV2/Tabs/Tabs.js";import"../../../../../componentsV2/EmptyState/EmptyState.scss.js";import"../../../../../componentsV2/FileIcon/FileIcon.js";import"../../../../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../../../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../../../utils/main.js";import"../../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../../../../componentsV2/Stepper/Step/Step.scss.js";import"../../../../../componentsV2/Stepper/Stepper.scss.js";import"../../../../../componentsV2/ButtonLive/ButtonLive.js";import"../../../../../componentsV2/ButtonText/ButtonText.js";import"../../../../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../../../../componentsV2/Accordion/Accordion.scss.js";import"../../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../../../../componentsV2/BadgeComment/BadgeComment.js";import"../../../../../componentsV2/AppContainer/AppContainer.js";import"../../../../../componentsV2/AppContainer/AppContainer.constants.js";import"../../../../../componentsV2/AppFooter/AppFooter.js";import"immutable";import"../../../../../constants/goals.js";import"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import"../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../../../componentsV2/AppHeader/AppHeader.constants.js";import"../../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router";import"../../../../../componentsV2/AppHeader/AppAssets/utils.js";import"../../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../../../../PadModeSelect/PadModeSelect.js";import"../../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../../../../constants/streamSourceType.js";import"../../../../../types/shared/Completions.js";import"../../../../PadModeSelect/types.js";import"lodash/flatten";import"lodash/partition";import"../../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js";import"../../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../../clients/subscriptions/constants.js";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"../../../../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js";import"../../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../../../../componentsV2/PadModeSelect/PadModeSelect.scss.js";import"querystring";import"uuid/v1";import"jsona";import"../../../../../utils/env.js";import"../../../../StatusBadge/constants.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../../../AppIcon/AppIcon.js";import"../../../../../utils/getSingleAsset.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../../../componentsV2/AppContainer/headerCommon.scss.js";import"../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js";import"../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../../../componentsV2/AppSettings/AppSettings.js";import"../../../../../componentsV2/AppSettings/AppSettings.constants.js";import"../../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../../../../componentsV2/AppSizeProvider/AppSizeProvider.js";import"../../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../../../../componentsV2/AppHeader/AppHeader.scss.js";import"../../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../../../../componentsV2/Autocomplete/Autocomplete.scss.js";import"../../../../../componentsV2/Menu/MenuItem/MenuItem.js";import"../../../../../componentsV2/Autocomplete/AutocompleteListBox.js";import"../../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../../../../componentsV2/DatePicker/DatePicker.js";import"../../../../../componentsV2/DragHandle/DragHandle.js";import"../../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../../../../componentsV2/Slider/constants.js";import"../../../../../componentsV2/Slider/components/SliderThumb.js";import"../../../../../componentsV2/Slider/Slider.scss.js";var v=c((function(o){return{assetListWrapper:{margin:"8px 0",flex:1},assetListContainer:{maxHeight:"350px",backgroundColor:o.palette.background.paper,position:"relative",overflow:"auto"},listSection:{backgroundColor:"inherit"},ul:{backgroundColor:"inherit",padding:0},listGutters:{padding:"2px 8px"},assetTypeSubheaderChip:{height:"24px",color:o.palette.primary.text6},assetItemTextRoot:{minWidth:"300px"},assetItemTextPrimary:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},loadingInfo:{textAlign:"center",fontSize:"12px",lineHeight:"17px",color:o.palette.primary.text8},empty:{color:o.palette.primary.text6,fontSize:"12px",fontStyle:"italic",marginLeft:"8px"},menuItem:{display:"flex",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"},allMenuItem:{boxShadow:"inset 0px -1px 0px rgba(255, 255, 255, 0.25)"},statusWrapper:{display:"flex",alignItems:"center",width:"102px",flexShrink:0},status:{width:"8px",height:"8px",marginRight:"8px",borderRadius:"50%",cursor:"default"},controlWrapper:{width:40,height:40,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},assetNameWrapper:{flexGrow:1,overflow:"hidden"}}})),f=function(n){var c=n.subjectWellId,f=n.page,b=n.assetType,x=n.loading,T=n.groupedAssets,P=n.onClickAsset,D=n.onClickAllAsset,y=n.onScrollReached,k=n.loadingAssetIds,L=v(),H=s(null),M=t((function(){if(1===T.length){var o=T[0][1],s=o.filter((function(o){return o.checked})).length;return[s>0&&o.length!==s,s===o.length]}return[!1,!1]}),[T]),B=o(M,2),F=B[0],q=B[1];return g("div",{className:L.assetListWrapper,children:[g(m,{className:L.assetListContainer,subheader:C("li",{}),onScroll:function(s){if(s.target.scrollHeight!==s.target.offsetHeight){var t=s.target.scrollTop+s.target.offsetHeight;Math.abs(s.target.scrollHeight-t)<1&&!function(s,t){return!s.find((function(s){var e=o(s,2);return e[0],e[1].length===V*t}))}(T,f)&&y("bottom")}},ref:H,children:[T.map((function(s){var t=o(s,2),n=t[0],p=t[1];return C("li",{className:L.listSection,children:g("ul",{className:L.ul,children:[!b&&C(a,{classes:{gutters:L.listGutters},children:C(l,{className:L.assetTypeSubheaderChip,variant:"outlined",label:h[n].labelPlural},n)}),b&&C(d,{button:!0,classes:{gutters:L.listGutters},onClick:function(){return D(!q,n)},children:C("div",{className:e(L.menuItem,L.allMenuItem),children:g("div",{children:[C(u,{checked:q,indeterminate:F,style:{marginRight:8}}),"All"]})})}),p.map((function(o){var s;return C(d,{"data-testid":"".concat("AssetResultSection","_item_").concat(o.name,"MenuItem"),button:!0,classes:{gutters:L.listGutters},disabled:o.type===h.well.name&&!o.visibility.includes("visible")||!o.redirectAssetId||o.redirectAssetId===c,onClick:function(){return P(o,n)},children:g("div",{className:L.menuItem,children:[C("div",{className:L.controlWrapper,children:null!=k&&k.includes(o.redirectAssetId)?C(S,{size:"small"}):C(u,{checked:o.checked})}),C("div",{className:L.assetNameWrapper,children:C(I,{children:o.name})}),g("div",{className:L.statusWrapper,children:[C("div",{className:L.status,style:{background:null===(s=A.find((function(s){return s.value===o.status})))||void 0===s?void 0:s.color}}),i(o.status)]})]})},"item-".concat(n,"-").concat(r(o,"asset_id")?r(o,"asset_id"):r(o,"id")))}))]})},"section-".concat(n))})),p(T)&&C("div",{className:L.empty,children:"Your search did not match any Asset Name"})]}),x&&C(j,{"data-testid":"".concat("AssetResultSection","_loading"),className:L.loadingInfo,children:"Loading..."})]})};f.propTypes={subjectWellId:n.number.isRequired,page:n.number.isRequired,assetType:n.string.isRequired,loading:n.bool.isRequired,groupedAssets:n.arrayOf(n.shape({})).isRequired,onClickAsset:n.func.isRequired,onClickAllAsset:n.func.isRequired,onScrollReached:n.func.isRequired,loadingAssetIds:n.arrayOf(n.number)},f.defaultProps={loadingAssetIds:[]};export{f as AssetResultSection};
1
+ import o from"@babel/runtime/helpers/slicedToArray";import{useRef as s,useMemo as t}from"react";import e from"classnames";import n from"prop-types";import{startCase as i,get as r,isEmpty as p}from"lodash";import{makeStyles as c,List as m,ListSubheader as a,Chip as l,ListItem as d,Checkbox as u,Typography as j}from"@material-ui/core";import{StatusOptions as A,ROWS_PER_PAGE as V}from"../../../constants.js";import{SEARCH_CATEGORIES as h}from"./constants.js";import"../../../../../componentsV2/Text/Text.js";import"../../../../../componentsV2/Grid/Grid.js";import"../../../../../componentsV2/Grid/Cell.js";import{jsxs as g,jsx as C}from"react/jsx-runtime";import"../../../../../componentsV2/Header/Header.scss.js";import"../../../../../componentsV2/Button/Button.js";import"../../../../../componentsV2/ButtonIcon/ButtonIcon.js";import"../../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js";import"../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js";import"../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js";import"uuid";import"../../../../../componentsV2/Tooltip/Tooltip.scss.js";import"../../../../../componentsV2/Popover/Popover.js";import"../../../../../componentsV2/Radio/Radio.js";import"../../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js";import"../../../../../componentsV2/Checkbox/Checkbox.js";import"../../../../../componentsV2/TextInput/TextInput.js";import"../../../../../componentsV2/Label/Label.js";import"../../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js";import{TextMiddleTruncated as I}from"../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.js";import"../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js";import"../../../../../componentsV2/TextLink/TextLink.js";import{LoaderCircular as S}from"../../../../../componentsV2/LoaderCircular/LoaderCircular.js";import"../../../../../componentsV2/Chip/Chip.js";import"../../../../../componentsV2/ChipAlert/ChipAlert.js";import"../../../../../componentsV2/ChipIndicator/ChipIndicator.js";import"../../../../../componentsV2/Avatar/Avatar.js";import"../../../../../componentsV2/AvatarGroup/AvatarGroup.js";import"@material-ui/lab";import"../../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js";import"../../../../../componentsV2/Paper/Paper.js";import"../../../../../componentsV2/ModalWindow/ModalWindow.js";import"../../../../../componentsV2/Modal/Modal.scss.js";import"../../../../../componentsV2/Menu/Menu.js";import"@icon-park/react/es/all";import"../../../../../icons/IconParkProvider.js";import"../../../../../icons/customIcons/icons/AddMessage.js";import"../../../../../icons/customIcons/icons/Attention.js";import"../../../../../icons/customIcons/icons/Collapse.js";import"../../../../../icons/customIcons/icons/Dashboard.js";import"../../../../../icons/customIcons/icons/Expand.js";import"../../../../../icons/customIcons/icons/FolderClosed.js";import"../../../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../../../icons/customIcons/icons/FolderOpened.js";import"../../../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../../../icons/customIcons/icons/LessOrEqual.js";import"../../../../../icons/customIcons/icons/Search.js";import"../../../../../icons/customIcons/icons/SearchOne.js";import"../../../../../icons/customIcons/icons/Wellhub.js";import"../../../../../icons/customIcons/icons/MultiRuler.js";import"../../../../../icons/customIcons/icons/Checkbox.js";import"../../../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../../../icons/customIcons/icons/Radio.js";import"../../../../../icons/customIcons/icons/RadioChecked.js";import"../../../../../icons/customIcons/icons/SimulFrac.js";import"../../../../../icons/customIcons/icons/ZipperFrac.js";import"../../../../../icons/customIcons/icons/CautionFilled.js";import"../../../../../icons/customIcons/icons/MoreApp.js";import"../../../../../icons/customIcons/icons/Pad.js";import"../../../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../../../icons/customIcons/icons/FracFleet.js";import"../../../../../icons/customIcons/icons/Global.js";import"../../../../../icons/customIcons/icons/Program.js";import"../../../../../icons/customIcons/icons/Rig.js";import"../../../../../icons/customIcons/icons/Well.js";import"../../../../../icons/customIcons/icons/Gap.js";import"../../../../../icons/customIcons/icons/Pin.js";import"../../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../../icons/customIcons/icons/Archive.js";import"../../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../../icons/customIcons/icons/Unarchive.js";import"../../../../../icons/customIcons/icons/Archived.js";import"../../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../../icons/customIcons/icons/Lasso.js";import"../../../../../icons/customIcons/icons/Radius.js";import"../../../../../componentsV2/utils.js";import"../../../../../componentsV2/Hint/Hint.scss.js";import"../../../../../componentsV2/Counter/Counter.js";import"../../../../../componentsV2/BadgeBase/BadgeBase.scss.js";import"../../../../../componentsV2/TemplatesControl/TemplatesControl.js";import"zustand";import"../../../../../componentsV2/TemplatesControl/utils.js";import"../../../../../componentsV2/TemplatesControl/icons/folder/index.js";import"../../../../../componentsV2/TemplatesControl/Store/utils.js";import"../../../../../componentsV2/TemplatesControl/types.js";import"../../../../../utils/index.js";import"../../../../../clients/jsonApi/index.js";import"../../../../../permissions/PermissionsContext.js";import"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../../../permissions/ProvidePermissions.js";import"../../../../../componentsV2/BadgeDot/BadgeDot.scss.js";import"../../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js";import"../../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js";import"../../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js";import"../../../../../componentsV2/Switch/Switch.js";import"../../../../../componentsV2/Tabs/Tabs.js";import"../../../../../componentsV2/EmptyState/EmptyState.scss.js";import"../../../../../componentsV2/FileIcon/FileIcon.js";import"../../../../../componentsV2/Tag/Tag.js";import"react-dropzone";import"../../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js";import"../../../../../componentsV2/FilesLoader/FilesLoader.scss.js";import"../../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js";import"../../../../../componentsV2/Skeleton/Skeleton.scss.js";import"../../../../../utils/main.js";import"../../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js";import"../../../../../componentsV2/Stepper/Step/Step.scss.js";import"../../../../../componentsV2/Stepper/Stepper.scss.js";import"../../../../../componentsV2/ButtonLive/ButtonLive.js";import"../../../../../componentsV2/ButtonText/ButtonText.js";import"../../../../../componentsV2/IndicatorLive/IndicatorLive.js";import"../../../../../componentsV2/Accordion/Accordion.scss.js";import"../../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js";import"../../../../../componentsV2/BadgeComment/BadgeComment.js";import"../../../../../componentsV2/AppContainer/AppContainer.js";import"../../../../../componentsV2/AppContainer/AppContainer.constants.js";import"../../../../../componentsV2/AppFooter/AppFooter.js";import"immutable";import"../../../../../constants/goals.js";import"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import"../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../../../componentsV2/AppHeader/AppHeader.constants.js";import"../../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js";import"../../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js";import"../../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js";import"@babel/runtime/helpers/objectWithoutProperties";import"react-router";import"../../../../../componentsV2/AppHeader/AppAssets/utils.js";import"../../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js";import"../../../../PadModeSelect/PadModeSelect.js";import"../../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js";import"../../../../../constants/streamSourceType.js";import"../../../../../types/shared/Completions.js";import"../../../../PadModeSelect/types.js";import"lodash/flatten";import"lodash/partition";import"../../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.js";import"../../../../../componentsV2/PadModeSelect/FracModeLabel/FracModeLabel.constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../../clients/subscriptions/constants.js";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"../../../../../componentsV2/PadModeSelect/WellStreamActivityStatus/WellStreamActivityStatus.scss.js";import"../../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js";import"../../../../../componentsV2/PadModeSelect/PadModeSelect.scss.js";import"querystring";import"uuid/v1";import"jsona";import"../../../../../utils/env.js";import"../../../../StatusBadge/constants.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js";import"../../../../../componentsV2/UniversalLink/UniversalLink.scss.js";import"../../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js";import"../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js";import"../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js";import"../../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js";import"../../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js";import"../../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js";import"../../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js";import"../../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js";import"../../../../AppIcon/AppIcon.js";import"../../../../../utils/getSingleAsset.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js";import"../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js";import"../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js";import"../../../../../componentsV2/AppContainer/headerCommon.scss.js";import"../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js";import"../../../../../componentsV2/AppHeader/V3/constants.scss.js";import"@babel/runtime/helpers/typeof";import"../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js";import"../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js";import"../../../../../componentsV2/AppSettings/AppSettings.js";import"../../../../../componentsV2/AppSettings/AppSettings.constants.js";import"../../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import"../../../../../componentsV2/AppSizeProvider/AppSizeProvider.js";import"../../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js";import"../../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js";import"../../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js";import"../../../../../componentsV2/AppHeader/AppHeader.scss.js";import"../../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js";import"../../../../../componentsV2/Autocomplete/Autocomplete.scss.js";import"../../../../../componentsV2/Menu/MenuItem/MenuItem.js";import"../../../../../componentsV2/Autocomplete/AutocompleteListBox.js";import"../../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js";import"../../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js";import"../../../../../componentsV2/DatePicker/DatePicker.js";import"../../../../../componentsV2/DragHandle/DragHandle.js";import"../../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js";import"../../../../../componentsV2/Slider/constants.js";import"../../../../../componentsV2/Slider/components/SliderThumb.js";import"../../../../../componentsV2/Slider/Slider.scss.js";var v=c((function(o){return{assetListWrapper:{margin:"8px 0",flex:1},assetListContainer:{maxHeight:"350px",backgroundColor:o.palette.background.paper,position:"relative",overflow:"auto"},listSection:{backgroundColor:"inherit"},ul:{backgroundColor:"inherit",padding:0},listGutters:{padding:"2px 8px"},assetTypeSubheaderChip:{height:"24px",color:o.palette.primary.text6},assetItemTextRoot:{minWidth:"300px"},assetItemTextPrimary:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},loadingInfo:{textAlign:"center",fontSize:"12px",lineHeight:"17px",color:o.palette.primary.text8},empty:{color:o.palette.primary.text6,fontSize:"12px",fontStyle:"italic",marginLeft:"8px"},menuItem:{display:"flex",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"},allMenuItem:{boxShadow:"inset 0px -1px 0px rgba(255, 255, 255, 0.25)"},statusWrapper:{display:"flex",alignItems:"center",width:"102px",flexShrink:0},status:{width:"8px",height:"8px",marginRight:"8px",borderRadius:"50%",cursor:"default"},controlWrapper:{width:40,height:40,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},assetNameWrapper:{flexGrow:1,overflow:"hidden"}}})),f=function(n){var c=n.subjectWellId,f=n.page,b=n.assetType,x=n.loading,T=n.groupedAssets,P=n.onClickAsset,D=n.onClickAllAsset,y=n.onScrollReached,k=n.loadingAssetIds,L=v(),H=s(null),M=t((function(){if(1===T.length){var o=T[0][1],s=o.filter((function(o){return o.checked})).length;return[s>0&&o.length!==s,s===o.length]}return[!1,!1]}),[T]),B=o(M,2),F=B[0],q=B[1];return g("div",{className:L.assetListWrapper,children:[g(m,{className:L.assetListContainer,subheader:C("li",{}),onScroll:function(s){if(s.target.scrollHeight!==s.target.offsetHeight){var t=s.target.scrollTop+s.target.offsetHeight;Math.abs(s.target.scrollHeight-t)<1&&!function(s,t){return!s.find((function(s){var e=o(s,2);return e[0],e[1].length===V*t}))}(T,f)&&y("bottom")}},ref:H,children:[T.map((function(s){var t=o(s,2),n=t[0],p=t[1];return C("li",{className:L.listSection,children:g("ul",{className:L.ul,children:[!b&&C(a,{classes:{gutters:L.listGutters},children:C(l,{className:L.assetTypeSubheaderChip,variant:"outlined",label:h[n].labelPlural},n)}),b&&C(d,{button:!0,classes:{gutters:L.listGutters},onClick:function(){return D(!q,n)},children:C("div",{className:e(L.menuItem,L.allMenuItem),children:g("div",{children:[C(u,{checked:q,indeterminate:F,style:{marginRight:8}}),"All"]})})}),p.map((function(o){var s;return C(d,{"data-testid":"".concat("AssetResultSection","_item_").concat(o.name,"MenuItem"),button:!0,classes:{gutters:L.listGutters},disabled:o.type===h.well.name&&!o.visibility.includes("visible")||!o.redirectAssetId||o.redirectAssetId===c,onClick:function(){return P(o,n)},children:g("div",{className:L.menuItem,children:[C("div",{className:L.controlWrapper,children:null!=k&&k.includes(o.redirectAssetId)?C(S,{size:"small"}):C(u,{checked:o.checked})}),C("div",{className:L.assetNameWrapper,children:C(I,{children:o.name})}),g("div",{className:L.statusWrapper,children:[C("div",{className:L.status,style:{background:null===(s=A.find((function(s){return s.value===o.status})))||void 0===s?void 0:s.color}}),i(o.status)]})]})},"item-".concat(n,"-").concat(r(o,"asset_id")?r(o,"asset_id"):r(o,"id")))}))]})},"section-".concat(n))})),!x&&p(T)&&C("div",{className:L.empty,children:"Your search did not match any Asset Name"})]}),x&&C(j,{"data-testid":"".concat("AssetResultSection","_loading"),className:L.loadingInfo,children:"Loading..."})]})};f.propTypes={subjectWellId:n.number.isRequired,page:n.number.isRequired,assetType:n.string.isRequired,loading:n.bool.isRequired,groupedAssets:n.arrayOf(n.shape({})).isRequired,onClickAsset:n.func.isRequired,onClickAllAsset:n.func.isRequired,onScrollReached:n.func.isRequired,loadingAssetIds:n.arrayOf(n.number)},f.defaultProps={loadingAssetIds:[]};export{f as AssetResultSection};
2
2
  //# sourceMappingURL=AssetResultSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetResultSection.js","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js"],"sourcesContent":["import { useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { get, isEmpty, startCase } from 'lodash';\nimport {\n makeStyles,\n List,\n ListSubheader,\n Chip,\n ListItem,\n Checkbox,\n Typography,\n} from '@material-ui/core';\n\nimport { StatusOptions, ROWS_PER_PAGE } from '../../../constants';\n\nimport { SEARCH_CATEGORIES } from './constants';\n\nimport { LoaderCircular, TextMiddleTruncated } from '~/componentsV2';\n\nconst PAGE_NAME = 'AssetResultSection';\nconst useStyles = makeStyles(theme => ({\n assetListWrapper: {\n margin: '8px 0',\n flex: 1,\n },\n assetListContainer: {\n maxHeight: '350px',\n backgroundColor: theme.palette.background.paper,\n position: 'relative',\n overflow: 'auto',\n },\n listSection: {\n backgroundColor: 'inherit',\n },\n ul: {\n backgroundColor: 'inherit',\n padding: 0,\n },\n listGutters: {\n padding: '2px 8px',\n },\n assetTypeSubheaderChip: {\n height: '24px',\n color: theme.palette.primary.text6,\n },\n assetItemTextRoot: {\n minWidth: '300px',\n },\n assetItemTextPrimary: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n loadingInfo: {\n textAlign: 'center',\n fontSize: '12px',\n lineHeight: '17px',\n color: theme.palette.primary.text8,\n },\n empty: {\n color: theme.palette.primary.text6,\n fontSize: '12px',\n fontStyle: 'italic',\n marginLeft: '8px',\n },\n menuItem: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: '100%',\n gap: '8px',\n },\n allMenuItem: {\n boxShadow: 'inset 0px -1px 0px rgba(255, 255, 255, 0.25)',\n },\n statusWrapper: {\n display: 'flex',\n alignItems: 'center',\n width: '102px',\n flexShrink: 0,\n },\n status: {\n width: '8px',\n height: '8px',\n marginRight: '8px',\n borderRadius: '50%',\n cursor: 'default',\n },\n controlWrapper: {\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n assetNameWrapper: {\n flexGrow: 1,\n overflow: 'hidden',\n },\n}));\n\nconst isLastPage = (data, page) => {\n return !data.find(([_, value]) => value.length === ROWS_PER_PAGE * page);\n};\n\nexport const AssetResultSection = ({\n subjectWellId,\n page,\n assetType,\n loading,\n groupedAssets,\n onClickAsset,\n onClickAllAsset,\n onScrollReached,\n loadingAssetIds,\n}) => {\n const classes = useStyles();\n const listRef = useRef(null);\n\n const [indeterminate, isAllWellsSelected] = useMemo(() => {\n if (groupedAssets.length === 1) {\n const assets = groupedAssets[0][1];\n const selectedCount = assets.filter(asset => asset.checked).length;\n const indeterminate = selectedCount > 0 && assets.length !== selectedCount;\n const isAllWellsSelected = selectedCount === assets.length;\n return [indeterminate, isAllWellsSelected];\n }\n return [false, false];\n }, [groupedAssets]);\n\n const handleScrollList = e => {\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n const currentScrollBottom = e.target.scrollTop + e.target.offsetHeight;\n\n // NOTE: if scroll is near 1px from the bottom, then load new data.\n if (\n Math.abs(e.target.scrollHeight - currentScrollBottom) < 1 &&\n !isLastPage(groupedAssets, page)\n ) {\n onScrollReached('bottom');\n }\n };\n\n return (\n <div className={classes.assetListWrapper}>\n <List\n className={classes.assetListContainer}\n subheader={<li />}\n onScroll={handleScrollList}\n ref={listRef}\n >\n {groupedAssets.map(([assetTypeKey, asstes]) => (\n <li key={`section-${assetTypeKey}`} className={classes.listSection}>\n <ul className={classes.ul}>\n {!assetType && (\n <ListSubheader classes={{ gutters: classes.listGutters }}>\n <Chip\n key={assetTypeKey}\n className={classes.assetTypeSubheaderChip}\n variant=\"outlined\"\n label={SEARCH_CATEGORIES[assetTypeKey].labelPlural}\n />\n </ListSubheader>\n )}\n {assetType && (\n <ListItem\n button\n classes={{ gutters: classes.listGutters }}\n onClick={() => onClickAllAsset(!isAllWellsSelected, assetTypeKey)}\n >\n <div className={classNames(classes.menuItem, classes.allMenuItem)}>\n <div>\n <Checkbox\n checked={isAllWellsSelected}\n indeterminate={indeterminate}\n style={{ marginRight: 8 }}\n />\n All\n </div>\n </div>\n </ListItem>\n )}\n {asstes.map(asset => (\n <ListItem\n data-testid={`${PAGE_NAME}_item_${asset.name}MenuItem`}\n button\n classes={{ gutters: classes.listGutters }}\n key={`item-${assetTypeKey}-${\n get(asset, 'asset_id') ? get(asset, 'asset_id') : get(asset, 'id')\n }`}\n disabled={\n (asset.type === SEARCH_CATEGORIES.well.name &&\n !asset.visibility.includes('visible')) ||\n !asset.redirectAssetId ||\n asset.redirectAssetId === subjectWellId\n }\n onClick={() => onClickAsset(asset, assetTypeKey)}\n >\n <div className={classes.menuItem}>\n <div className={classes.controlWrapper}>\n {loadingAssetIds?.includes(asset.redirectAssetId) ? (\n <LoaderCircular size=\"small\" />\n ) : (\n <Checkbox checked={asset.checked} />\n )}\n </div>\n <div className={classes.assetNameWrapper}>\n <TextMiddleTruncated>{asset.name}</TextMiddleTruncated>\n </div>\n <div className={classes.statusWrapper}>\n <div\n className={classes.status}\n style={{\n background: StatusOptions.find(item => item.value === asset.status)\n ?.color,\n }}\n />\n {startCase(asset.status)}\n </div>\n </div>\n </ListItem>\n ))}\n </ul>\n </li>\n ))}\n {isEmpty(groupedAssets) && (\n <div className={classes.empty}>Your search did not match any Asset Name</div>\n )}\n </List>\n {loading && (\n <Typography data-testid={`${PAGE_NAME}_loading`} className={classes.loadingInfo}>\n Loading...\n </Typography>\n )}\n </div>\n );\n};\n\nAssetResultSection.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n page: PropTypes.number.isRequired,\n assetType: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n groupedAssets: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n onClickAsset: PropTypes.func.isRequired,\n onClickAllAsset: PropTypes.func.isRequired,\n onScrollReached: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n};\n\nAssetResultSection.defaultProps = {\n loadingAssetIds: [],\n};\n"],"names":["useStyles","makeStyles","theme","assetListWrapper","margin","flex","assetListContainer","maxHeight","backgroundColor","palette","background","paper","position","overflow","listSection","ul","padding","listGutters","assetTypeSubheaderChip","height","color","primary","text6","assetItemTextRoot","minWidth","assetItemTextPrimary","whiteSpace","textOverflow","loadingInfo","textAlign","fontSize","lineHeight","text8","empty","fontStyle","marginLeft","menuItem","display","alignItems","justifyContent","width","gap","allMenuItem","boxShadow","statusWrapper","flexShrink","status","marginRight","borderRadius","cursor","controlWrapper","assetNameWrapper","flexGrow","AssetResultSection","_ref3","subjectWellId","page","assetType","loading","groupedAssets","onClickAsset","onClickAllAsset","onScrollReached","loadingAssetIds","classes","listRef","useRef","useMemo","length","assets","selectedCount","filter","asset","checked","_useMemo2","_slicedToArray","_useMemo","indeterminate","isAllWellsSelected","_jsxs","className","children","List","subheader","_jsx","onScroll","e","target","scrollHeight","offsetHeight","currentScrollBottom","scrollTop","Math","abs","data","find","_ref","_ref2","ROWS_PER_PAGE","isLastPage","ref","map","_ref4","_ref5","assetTypeKey","asstes","ListSubheader","gutters","Chip","variant","label","SEARCH_CATEGORIES","labelPlural","ListItem","button","onClick","classNames","Checkbox","style","_StatusOptions$find","concat","name","disabled","type","well","visibility","includes","redirectAssetId","LoaderCircular","size","TextMiddleTruncated","StatusOptions","item","value","startCase","get","isEmpty","Typography","propTypes","PropTypes","number","isRequired","string","bool","arrayOf","shape","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"AssetResultSection.js","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js"],"sourcesContent":["import { useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { get, isEmpty, startCase } from 'lodash';\nimport {\n makeStyles,\n List,\n ListSubheader,\n Chip,\n ListItem,\n Checkbox,\n Typography,\n} from '@material-ui/core';\n\nimport { StatusOptions, ROWS_PER_PAGE } from '../../../constants';\n\nimport { SEARCH_CATEGORIES } from './constants';\n\nimport { LoaderCircular, TextMiddleTruncated } from '~/componentsV2';\n\nconst PAGE_NAME = 'AssetResultSection';\nconst useStyles = makeStyles(theme => ({\n assetListWrapper: {\n margin: '8px 0',\n flex: 1,\n },\n assetListContainer: {\n maxHeight: '350px',\n backgroundColor: theme.palette.background.paper,\n position: 'relative',\n overflow: 'auto',\n },\n listSection: {\n backgroundColor: 'inherit',\n },\n ul: {\n backgroundColor: 'inherit',\n padding: 0,\n },\n listGutters: {\n padding: '2px 8px',\n },\n assetTypeSubheaderChip: {\n height: '24px',\n color: theme.palette.primary.text6,\n },\n assetItemTextRoot: {\n minWidth: '300px',\n },\n assetItemTextPrimary: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n loadingInfo: {\n textAlign: 'center',\n fontSize: '12px',\n lineHeight: '17px',\n color: theme.palette.primary.text8,\n },\n empty: {\n color: theme.palette.primary.text6,\n fontSize: '12px',\n fontStyle: 'italic',\n marginLeft: '8px',\n },\n menuItem: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: '100%',\n gap: '8px',\n },\n allMenuItem: {\n boxShadow: 'inset 0px -1px 0px rgba(255, 255, 255, 0.25)',\n },\n statusWrapper: {\n display: 'flex',\n alignItems: 'center',\n width: '102px',\n flexShrink: 0,\n },\n status: {\n width: '8px',\n height: '8px',\n marginRight: '8px',\n borderRadius: '50%',\n cursor: 'default',\n },\n controlWrapper: {\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n assetNameWrapper: {\n flexGrow: 1,\n overflow: 'hidden',\n },\n}));\n\nconst isLastPage = (data, page) => {\n return !data.find(([_, value]) => value.length === ROWS_PER_PAGE * page);\n};\n\nexport const AssetResultSection = ({\n subjectWellId,\n page,\n assetType,\n loading,\n groupedAssets,\n onClickAsset,\n onClickAllAsset,\n onScrollReached,\n loadingAssetIds,\n}) => {\n const classes = useStyles();\n const listRef = useRef(null);\n\n const [indeterminate, isAllWellsSelected] = useMemo(() => {\n if (groupedAssets.length === 1) {\n const assets = groupedAssets[0][1];\n const selectedCount = assets.filter(asset => asset.checked).length;\n const indeterminate = selectedCount > 0 && assets.length !== selectedCount;\n const isAllWellsSelected = selectedCount === assets.length;\n return [indeterminate, isAllWellsSelected];\n }\n return [false, false];\n }, [groupedAssets]);\n\n const handleScrollList = e => {\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n const currentScrollBottom = e.target.scrollTop + e.target.offsetHeight;\n\n // NOTE: if scroll is near 1px from the bottom, then load new data.\n if (\n Math.abs(e.target.scrollHeight - currentScrollBottom) < 1 &&\n !isLastPage(groupedAssets, page)\n ) {\n onScrollReached('bottom');\n }\n };\n\n return (\n <div className={classes.assetListWrapper}>\n <List\n className={classes.assetListContainer}\n subheader={<li />}\n onScroll={handleScrollList}\n ref={listRef}\n >\n {groupedAssets.map(([assetTypeKey, asstes]) => (\n <li key={`section-${assetTypeKey}`} className={classes.listSection}>\n <ul className={classes.ul}>\n {!assetType && (\n <ListSubheader classes={{ gutters: classes.listGutters }}>\n <Chip\n key={assetTypeKey}\n className={classes.assetTypeSubheaderChip}\n variant=\"outlined\"\n label={SEARCH_CATEGORIES[assetTypeKey].labelPlural}\n />\n </ListSubheader>\n )}\n {assetType && (\n <ListItem\n button\n classes={{ gutters: classes.listGutters }}\n onClick={() => onClickAllAsset(!isAllWellsSelected, assetTypeKey)}\n >\n <div className={classNames(classes.menuItem, classes.allMenuItem)}>\n <div>\n <Checkbox\n checked={isAllWellsSelected}\n indeterminate={indeterminate}\n style={{ marginRight: 8 }}\n />\n All\n </div>\n </div>\n </ListItem>\n )}\n {asstes.map(asset => (\n <ListItem\n data-testid={`${PAGE_NAME}_item_${asset.name}MenuItem`}\n button\n classes={{ gutters: classes.listGutters }}\n key={`item-${assetTypeKey}-${\n get(asset, 'asset_id') ? get(asset, 'asset_id') : get(asset, 'id')\n }`}\n disabled={\n (asset.type === SEARCH_CATEGORIES.well.name &&\n !asset.visibility.includes('visible')) ||\n !asset.redirectAssetId ||\n asset.redirectAssetId === subjectWellId\n }\n onClick={() => onClickAsset(asset, assetTypeKey)}\n >\n <div className={classes.menuItem}>\n <div className={classes.controlWrapper}>\n {loadingAssetIds?.includes(asset.redirectAssetId) ? (\n <LoaderCircular size=\"small\" />\n ) : (\n <Checkbox checked={asset.checked} />\n )}\n </div>\n <div className={classes.assetNameWrapper}>\n <TextMiddleTruncated>{asset.name}</TextMiddleTruncated>\n </div>\n <div className={classes.statusWrapper}>\n <div\n className={classes.status}\n style={{\n background: StatusOptions.find(item => item.value === asset.status)\n ?.color,\n }}\n />\n {startCase(asset.status)}\n </div>\n </div>\n </ListItem>\n ))}\n </ul>\n </li>\n ))}\n {!loading && isEmpty(groupedAssets) && (\n <div className={classes.empty}>Your search did not match any Asset Name</div>\n )}\n </List>\n {loading && (\n <Typography data-testid={`${PAGE_NAME}_loading`} className={classes.loadingInfo}>\n Loading...\n </Typography>\n )}\n </div>\n );\n};\n\nAssetResultSection.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n page: PropTypes.number.isRequired,\n assetType: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n groupedAssets: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n onClickAsset: PropTypes.func.isRequired,\n onClickAllAsset: PropTypes.func.isRequired,\n onScrollReached: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n};\n\nAssetResultSection.defaultProps = {\n loadingAssetIds: [],\n};\n"],"names":["useStyles","makeStyles","theme","assetListWrapper","margin","flex","assetListContainer","maxHeight","backgroundColor","palette","background","paper","position","overflow","listSection","ul","padding","listGutters","assetTypeSubheaderChip","height","color","primary","text6","assetItemTextRoot","minWidth","assetItemTextPrimary","whiteSpace","textOverflow","loadingInfo","textAlign","fontSize","lineHeight","text8","empty","fontStyle","marginLeft","menuItem","display","alignItems","justifyContent","width","gap","allMenuItem","boxShadow","statusWrapper","flexShrink","status","marginRight","borderRadius","cursor","controlWrapper","assetNameWrapper","flexGrow","AssetResultSection","_ref3","subjectWellId","page","assetType","loading","groupedAssets","onClickAsset","onClickAllAsset","onScrollReached","loadingAssetIds","classes","listRef","useRef","useMemo","length","assets","selectedCount","filter","asset","checked","_useMemo2","_slicedToArray","_useMemo","indeterminate","isAllWellsSelected","_jsxs","className","children","List","subheader","_jsx","onScroll","e","target","scrollHeight","offsetHeight","currentScrollBottom","scrollTop","Math","abs","data","find","_ref","_ref2","ROWS_PER_PAGE","isLastPage","ref","map","_ref4","_ref5","assetTypeKey","asstes","ListSubheader","gutters","Chip","variant","label","SEARCH_CATEGORIES","labelPlural","ListItem","button","onClick","classNames","Checkbox","style","_StatusOptions$find","concat","name","disabled","type","well","visibility","includes","redirectAssetId","LoaderCircular","size","TextMiddleTruncated","StatusOptions","item","value","startCase","get","isEmpty","Typography","propTypes","PropTypes","number","isRequired","string","bool","arrayOf","shape","func","defaultProps"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export function AutoCompleteAssetSearch({ companyIds, subjectWellId, value, selectedWellIds, onChange, searchWidth, onClose, loadingAssetIds, }: {
1
+ export function AutoCompleteAssetSearch({ companyIds, subjectWellId, value, selectedWellIds, onChange, searchWidth, onClose, loadingAssetIds, filters, }: {
2
2
  companyIds: any;
3
3
  subjectWellId: any;
4
4
  value: any;
@@ -7,6 +7,7 @@ export function AutoCompleteAssetSearch({ companyIds, subjectWellId, value, sele
7
7
  searchWidth: any;
8
8
  onClose: any;
9
9
  loadingAssetIds: any;
10
+ filters: any;
10
11
  }): JSX.Element;
11
12
  export namespace AutoCompleteAssetSearch {
12
13
  namespace propTypes {
@@ -18,6 +19,7 @@ export namespace AutoCompleteAssetSearch {
18
19
  let searchWidth: PropTypes.Requireable<number>;
19
20
  let onClose: PropTypes.Validator<(...args: any[]) => any>;
20
21
  let loadingAssetIds: PropTypes.Requireable<number[]>;
22
+ let filters: PropTypes.Requireable<object>;
21
23
  }
22
24
  namespace defaultProps {
23
25
  let companyIds_1: any;
@@ -26,6 +28,8 @@ export namespace AutoCompleteAssetSearch {
26
28
  export { searchWidth_1 as searchWidth };
27
29
  let loadingAssetIds_1: any[];
28
30
  export { loadingAssetIds_1 as loadingAssetIds };
31
+ let filters_1: any;
32
+ export { filters_1 as filters };
29
33
  }
30
34
  }
31
35
  import PropTypes from 'prop-types';
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteAssetSearch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"names":[],"mappings":"AAwFO;;;;;;;;;gBA4KN;;;;;;;;;;;;;;;;;;;;;sBAnQqB,YAAY"}
1
+ {"version":3,"file":"AutoCompleteAssetSearch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"names":[],"mappings":"AAwFO;;;;;;;;;;gBA8KN;;;;;;;;;;;;;;;;;;;;;;;;sBArQqB,YAAY"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useRef as r,useEffect as o,useMemo as s}from"react";import i from"prop-types";import{get as n}from"lodash";import{withStyles as a,Tooltip as p,makeStyles as l,Chip as c,Input as m}from"@material-ui/core";import d from"@material-ui/icons/Close";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/regenerator";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../../clients/jsonApi/index.js";import"../../../../../clients/subscriptions/constants.js";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"../../../constants.js";import"../../../api/shared/dataFormatter.js";import"../../../utils/wellTransformations.js";import"zustand";import"../../../stores/picker-props-store/PickerPropsStoreContext.js";import{jsxs as u,jsx as f,Fragment as h}from"react/jsx-runtime";import"../../../viewport/ViewportProvider.js";import"../../../viewport/ViewportContext.js";import"../../../../../utils/index.js";import"../../../../../constants/goals.js";import"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import"react-virtualized";import{useAssetsData as g}from"../../../effects/useAssetsData.js";import"../../../../../permissions/PermissionsContext.js";import"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"lodash/debounce";import"lodash/isEqual";import"@mapbox/tilebelt";import"../../../stores/viewport-store/ViewportStoreContext.js";import"../../../stores/filter-store/FilterStoreContext.js";import"../../../stores/company-safeguard/CompanySafeguardContext.js";import"lz-string";import"../../../stores/viewport-store/ViewportStoreProvider.js";import"@turf/bbox";import"@turf/circle";import"../../Map/OffsetWellMap/constants.js";import{AssetTypesSection as j}from"./AssetTypesSection.js";import{AssetResultSection as x}from"./AssetResultSection.js";import{SEARCH_CATEGORIES as b,CATEGORY_KEY_VALUES as C}from"./constants.js";var y=a((function(){return{tooltip:{backgroundColor:"#414141",color:"#ffffff",fontSize:"11px",lineHeight:"16px",borderRadius:"4px",boxShadow:"0px 4px 4px rgba(0, 0, 0, 0.12)",padding:"4px"}}}))(p),I=l((function(e){return{wrapper:{width:function(e){return e.searchWidth||"auto"},display:"flex",flexDirection:"column",padding:16},inputWrapper:{display:"flex",width:"auto",margin:"0 8px 8px",alignItems:"center",flexWrap:"nowrap",justifyContent:"space-between"},selectedChip:{height:"24px",margin:"4px"},selectedChipDeleteIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,"&:hover":{color:e.palette.primary.text1}},selectedLabel:{fontWeight:400,fontSize:"16px",lineHeight:"22px",color:e.palette.primary.text1,whiteSpace:"nowrap",paddingLeft:"4px",paddingRight:"8px"},disabledIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,opacity:.4},closeIconButton:{padding:0,"&:hover $closeIcon":{color:e.palette.primary.text1}},searchInput:{width:"100%",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",borderBottom:"2px solid #03BCD4"},closeIcon:{color:e.palette.primary.text6,fontSize:"18px"}}})),v=function(i){var a=i.companyIds,p=i.subjectWellId,l=i.value,v=i.selectedWellIds,w=i.onChange,A=i.searchWidth,W=i.onClose,S=i.loadingAssetIds,k=t(null),P=e(k,2),R=P[0],D=P[1],z=t(null),T=e(z,2),q=T[0],N=T[1],O=t(1),L=e(O,2),V=L[0],B=L[1],F=I({searchWidth:A}),H=r();o((function(){N(l)}),[l]);var M=g(q,R,V,a,v),_=e(M,2),G=_[0],K=_[1],U=s((function(){return R&&K&&0!==K.length?K[0][1].filter((function(e){return e.checked})).length:0}),[R,K]);return u("div",{className:F.wrapper,children:[f("div",{className:F.inputWrapper,children:u("div",{className:F.searchInput,children:[R&&u(h,{children:[f(c,{"data-not-migrated-muichip":!0,classes:{root:F.selectedChip,deleteIcon:F.selectedChipDeleteIcon},label:n(b,[R,"labelPlural"],"Assets"),deleteIcon:f(d,{}),onDelete:function(){D(null)}}),U>0&&u("span",{className:F.selectedLabel,children:[U," Selected"]})]}),f(m,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:H,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:q||"",placeholder:"Search for Wells ...",onChange:function(e){var t=e.target.value;H.current.focus(),N(t),B(1)},onKeyUp:function(t){var r=t.target.value,o=t.keyCode,s=C.find((function(t){var o=e(t,2);return o[0],o[1].autoCategorizedKey===r.trim().toLowerCase()}));if(s&&(13===o||32===o))return N(""),D(s[0]),void B(1);""===r&&8===o&&(D(null),B(1))}}),f(y,{title:"Clear",children:f(d,{className:R||q?F.selectedChipDeleteIcon:F.disabledIcon,onClick:function(){N(""),D(null),B(1),W()}})})]})}),!R&&!q&&f(j,{onClickAssetType:function(e){H.current.focus(),D(e),B(1)}}),(R||q)&&f(x,{subjectWellId:p,page:V,assetType:R,loading:G,groupedAssets:K,onClickAsset:function(e,t){t===b.rig.name?w(!e.checked,[e.redirectAssetId],t,[e.asset_id]):w(!e.checked,[e.redirectAssetId],t)},onClickAllAsset:function(e,t){var r=K[0][1];t===b.rig.name?w(e,r.map((function(e){return e.redirectAssetId})),t,r.map((function(e){return e.asset_id}))):w(e,r.map((function(e){return e.redirectAssetId})),t)},onScrollReached:function(e){"top"===e&&V>1&&B((function(e){return e-1})),"bottom"===e&&B((function(e){return e+1}))},loadingAssetIds:S})]})};v.propTypes={subjectWellId:i.number.isRequired,companyIds:i.arrayOf(i.number),value:i.string.isRequired,selectedWellIds:i.arrayOf(i.number).isRequired,onChange:i.func.isRequired,searchWidth:i.number,onClose:i.func.isRequired,loadingAssetIds:i.arrayOf(i.number)},v.defaultProps={companyIds:null,searchWidth:null,loadingAssetIds:[]};export{v as AutoCompleteAssetSearch};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useRef as r,useEffect as o,useMemo as s}from"react";import i from"prop-types";import{get as n}from"lodash";import{withStyles as a,Tooltip as p,makeStyles as l,Chip as c,Input as m}from"@material-ui/core";import d from"@material-ui/icons/Close";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/regenerator";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../../clients/jsonApi/index.js";import"../../../../../clients/subscriptions/constants.js";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"../../../constants.js";import"../../../api/shared/dataFormatter.js";import"../../../utils/wellTransformations.js";import"zustand";import"../../../stores/picker-props-store/PickerPropsStoreContext.js";import{jsxs as u,jsx as f,Fragment as h}from"react/jsx-runtime";import"../../../viewport/ViewportProvider.js";import"../../../viewport/ViewportContext.js";import"../../../../../utils/index.js";import"../../../../../constants/goals.js";import"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import"react-virtualized";import{useAssetsData as g}from"../../../effects/useAssetsData.js";import"../../../../../permissions/PermissionsContext.js";import"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"lodash/debounce";import"lodash/isEqual";import"@mapbox/tilebelt";import"../../Map/OffsetWellMap/constants.js";import"../../../stores/viewport-store/ViewportStoreContext.js";import"../../../stores/filter-store/FilterStoreContext.js";import"../../../stores/company-safeguard/CompanySafeguardContext.js";import"lz-string";import"../../../stores/viewport-store/ViewportStoreProvider.js";import"@turf/bbox";import"@turf/circle";import{AssetTypesSection as j}from"./AssetTypesSection.js";import{AssetResultSection as x}from"./AssetResultSection.js";import{SEARCH_CATEGORIES as b,CATEGORY_KEY_VALUES as C}from"./constants.js";var y=a((function(){return{tooltip:{backgroundColor:"#414141",color:"#ffffff",fontSize:"11px",lineHeight:"16px",borderRadius:"4px",boxShadow:"0px 4px 4px rgba(0, 0, 0, 0.12)",padding:"4px"}}}))(p),I=l((function(e){return{wrapper:{width:function(e){return e.searchWidth||"auto"},display:"flex",flexDirection:"column",padding:16},inputWrapper:{display:"flex",width:"auto",margin:"0 8px 8px",alignItems:"center",flexWrap:"nowrap",justifyContent:"space-between"},selectedChip:{height:"24px",margin:"4px"},selectedChipDeleteIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,"&:hover":{color:e.palette.primary.text1}},selectedLabel:{fontWeight:400,fontSize:"16px",lineHeight:"22px",color:e.palette.primary.text1,whiteSpace:"nowrap",paddingLeft:"4px",paddingRight:"8px"},disabledIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,opacity:.4},closeIconButton:{padding:0,"&:hover $closeIcon":{color:e.palette.primary.text1}},searchInput:{width:"100%",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",borderBottom:"2px solid #03BCD4"},closeIcon:{color:e.palette.primary.text6,fontSize:"18px"}}})),v=function(i){var a=i.companyIds,p=i.subjectWellId,l=i.value,v=i.selectedWellIds,w=i.onChange,A=i.searchWidth,W=i.onClose,S=i.loadingAssetIds,k=i.filters,P=t(null),R=e(P,2),D=R[0],z=R[1],T=t(null),q=e(T,2),N=q[0],O=q[1],L=t(1),V=e(L,2),B=V[0],F=V[1],H=I({searchWidth:A}),M=r();o((function(){O(l)}),[l]);var _=g(N,D,B,a,v,k),G=e(_,2),K=G[0],U=G[1],E=s((function(){return D&&U&&0!==U.length?U[0][1].filter((function(e){return e.checked})).length:0}),[D,U]);return u("div",{className:H.wrapper,children:[f("div",{className:H.inputWrapper,children:u("div",{className:H.searchInput,children:[D&&u(h,{children:[f(c,{"data-not-migrated-muichip":!0,classes:{root:H.selectedChip,deleteIcon:H.selectedChipDeleteIcon},label:n(b,[D,"labelPlural"],"Assets"),deleteIcon:f(d,{}),onDelete:function(){z(null)}}),E>0&&u("span",{className:H.selectedLabel,children:[E," Selected"]})]}),f(m,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:M,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:N||"",placeholder:"Search for Wells ...",onChange:function(e){var t=e.target.value;M.current.focus(),O(t),F(1)},onKeyUp:function(t){var r=t.target.value,o=t.keyCode,s=C.find((function(t){var o=e(t,2);return o[0],o[1].autoCategorizedKey===r.trim().toLowerCase()}));if(s&&(13===o||32===o))return O(""),z(s[0]),void F(1);""===r&&8===o&&(z(null),F(1))}}),f(y,{title:"Clear",children:f(d,{className:D||N?H.selectedChipDeleteIcon:H.disabledIcon,onClick:function(){O(""),z(null),F(1),W()}})})]})}),!D&&!N&&f(j,{onClickAssetType:function(e){M.current.focus(),z(e),F(1)}}),(D||N)&&f(x,{subjectWellId:p,page:B,assetType:D,loading:K,groupedAssets:U,onClickAsset:function(e,t){t===b.rig.name?w(!e.checked,[e.redirectAssetId],t,[e.asset_id]):w(!e.checked,[e.redirectAssetId],t)},onClickAllAsset:function(e,t){var r=U[0][1];t===b.rig.name?w(e,r.map((function(e){return e.redirectAssetId})),t,r.map((function(e){return e.asset_id}))):w(e,r.map((function(e){return e.redirectAssetId})),t)},onScrollReached:function(e){"top"===e&&B>1&&F((function(e){return e-1})),"bottom"===e&&F((function(e){return e+1}))},loadingAssetIds:S})]})};v.propTypes={subjectWellId:i.number.isRequired,companyIds:i.arrayOf(i.number),value:i.string.isRequired,selectedWellIds:i.arrayOf(i.number).isRequired,onChange:i.func.isRequired,searchWidth:i.number,onClose:i.func.isRequired,loadingAssetIds:i.arrayOf(i.number),filters:i.object},v.defaultProps={companyIds:null,searchWidth:null,loadingAssetIds:[],filters:null};export{v as AutoCompleteAssetSearch};
2
2
  //# sourceMappingURL=AutoCompleteAssetSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteAssetSearch.js","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"sourcesContent":["import { useState, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { get } from 'lodash';\nimport { makeStyles, Chip, Input, Tooltip, withStyles } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { useAssetsData } from '../../../effects';\n\nimport { AssetTypesSection } from './AssetTypesSection';\nimport { AssetResultSection } from './AssetResultSection';\nimport { SEARCH_CATEGORIES, CATEGORY_KEY_VALUES } from './constants';\n\nconst PAGE_NAME = 'AutoCompleteAssetSearch';\n\nconst StyledTooltip = withStyles(() => ({\n tooltip: {\n backgroundColor: '#414141',\n color: '#ffffff',\n fontSize: '11px',\n lineHeight: '16px',\n borderRadius: '4px',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.12)',\n padding: '4px',\n },\n}))(Tooltip);\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n width: ({ searchWidth }) => searchWidth || 'auto',\n display: 'flex',\n flexDirection: 'column',\n padding: 16,\n },\n inputWrapper: {\n display: 'flex',\n width: 'auto',\n margin: '0 8px 8px',\n alignItems: 'center',\n flexWrap: 'nowrap',\n justifyContent: 'space-between',\n },\n selectedChip: {\n height: '24px',\n margin: '4px',\n },\n selectedChipDeleteIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n '&:hover': {\n color: theme.palette.primary.text1,\n },\n },\n selectedLabel: {\n fontWeight: 400,\n fontSize: '16px',\n lineHeight: '22px',\n color: theme.palette.primary.text1,\n whiteSpace: 'nowrap',\n paddingLeft: '4px',\n paddingRight: '8px',\n },\n disabledIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n opacity: 0.4,\n },\n closeIconButton: {\n padding: 0,\n '&:hover $closeIcon': {\n color: theme.palette.primary.text1,\n },\n },\n searchInput: {\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n borderBottom: '2px solid #03BCD4',\n },\n closeIcon: {\n color: theme.palette.primary.text6,\n fontSize: '18px',\n },\n}));\n\nexport const AutoCompleteAssetSearch = ({\n companyIds,\n subjectWellId,\n value,\n selectedWellIds,\n onChange,\n searchWidth,\n onClose,\n loadingAssetIds,\n}) => {\n const [assetType, setAssetType] = useState(null);\n const [searchKey, setSearchKey] = useState(null);\n const [page, setPage] = useState(1);\n const classes = useStyles({ searchWidth });\n const searchInputRef = useRef();\n\n useEffect(() => {\n setSearchKey(value);\n }, [value]);\n\n const [loading, groupedAssets] = useAssetsData(\n searchKey,\n assetType,\n page,\n companyIds,\n selectedWellIds\n );\n\n const selectedCount = useMemo(() => {\n if (!assetType || !groupedAssets || groupedAssets.length === 0) return 0;\n return groupedAssets[0][1].filter(asset => asset.checked).length;\n }, [assetType, groupedAssets]);\n\n const handleDeleteAssetType = () => {\n setAssetType(null);\n };\n\n const handleChangeAssetType = key => {\n searchInputRef.current.focus();\n setAssetType(key);\n setPage(1);\n };\n\n const handleChangeSearchKey = ({ target: { value } }) => {\n searchInputRef.current.focus();\n setSearchKey(value);\n setPage(1);\n };\n\n const handleKeyPress = e => {\n const { value } = e.target;\n const { keyCode } = e;\n\n const availableCategory = CATEGORY_KEY_VALUES.find(\n ([_, item]) => item.autoCategorizedKey === value.trim().toLowerCase()\n );\n\n // NOTE: when type one of categories defined and press enter key or space key\n // then asset type will be auto selected and clear input field\n if (availableCategory && (keyCode === 13 || keyCode === 32)) {\n setSearchKey('');\n setAssetType(availableCategory[0]);\n setPage(1);\n return;\n }\n\n // NOTE: when there is no value in input field and press back space key,\n // then clear asset type as well.\n if (value === '' && keyCode === 8) {\n setAssetType(null);\n setPage(1);\n }\n };\n\n const handleSearchClear = () => {\n setSearchKey('');\n setAssetType(null);\n setPage(1);\n onClose();\n };\n\n const handleScrollReached = position => {\n if (position === 'top' && page > 1) {\n setPage(prev => prev - 1);\n }\n if (position === 'bottom') {\n setPage(prev => prev + 1);\n }\n };\n\n const handleChangeAsset = (asset, assetType) => {\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(!asset.checked, [asset.redirectAssetId], assetType, [asset.asset_id]);\n } else {\n onChange(!asset.checked, [asset.redirectAssetId], assetType);\n }\n };\n\n const handleChangeAllAssets = (isAllAdding, assetType) => {\n const assets = groupedAssets[0][1];\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType,\n assets.map(asset => asset.asset_id)\n );\n } else {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType\n );\n }\n };\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.inputWrapper}>\n <div className={classes.searchInput}>\n {assetType && (\n <>\n <Chip\n data-not-migrated-muichip\n classes={{ root: classes.selectedChip, deleteIcon: classes.selectedChipDeleteIcon }}\n label={get(SEARCH_CATEGORIES, [assetType, 'labelPlural'], 'Assets')}\n deleteIcon={<CloseIcon />}\n onDelete={handleDeleteAssetType}\n />\n {selectedCount > 0 && (\n <span className={classes.selectedLabel}>{selectedCount} Selected</span>\n )}\n </>\n )}\n <Input\n data-testid={`${PAGE_NAME}_searchInput`}\n inputRef={searchInputRef}\n autoFocus\n disableUnderline\n fullWidth\n value={searchKey || ''}\n placeholder=\"Search for Wells ...\"\n onChange={handleChangeSearchKey}\n onKeyUp={handleKeyPress}\n />\n <StyledTooltip title=\"Clear\">\n <CloseIcon\n className={\n assetType || searchKey ? classes.selectedChipDeleteIcon : classes.disabledIcon\n }\n onClick={handleSearchClear}\n />\n </StyledTooltip>\n </div>\n </div>\n\n {!assetType && !searchKey && <AssetTypesSection onClickAssetType={handleChangeAssetType} />}\n {(assetType || searchKey) && (\n <AssetResultSection\n subjectWellId={subjectWellId}\n page={page}\n assetType={assetType}\n loading={loading}\n groupedAssets={groupedAssets}\n onClickAsset={handleChangeAsset}\n onClickAllAsset={handleChangeAllAssets}\n onScrollReached={handleScrollReached}\n loadingAssetIds={loadingAssetIds}\n />\n )}\n </div>\n );\n};\n\nAutoCompleteAssetSearch.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n companyIds: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.string.isRequired,\n selectedWellIds: PropTypes.arrayOf(PropTypes.number).isRequired,\n onChange: PropTypes.func.isRequired,\n searchWidth: PropTypes.number,\n onClose: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n};\n\nAutoCompleteAssetSearch.defaultProps = {\n companyIds: null,\n searchWidth: null,\n loadingAssetIds: [],\n};\n"],"names":["StyledTooltip","withStyles","tooltip","backgroundColor","color","fontSize","lineHeight","borderRadius","boxShadow","padding","Tooltip","useStyles","makeStyles","theme","wrapper","width","_ref","searchWidth","display","flexDirection","inputWrapper","margin","alignItems","flexWrap","justifyContent","selectedChip","height","selectedChipDeleteIcon","palette","primary","text6","text1","selectedLabel","fontWeight","whiteSpace","paddingLeft","paddingRight","disabledIcon","opacity","closeIconButton","searchInput","borderBottom","closeIcon","AutoCompleteAssetSearch","_ref2","companyIds","subjectWellId","value","selectedWellIds","onChange","onClose","loadingAssetIds","useState","_useState2","_slicedToArray","_useState","assetType","setAssetType","_useState4","_useState3","searchKey","setSearchKey","_useState6","_useState5","page","setPage","classes","searchInputRef","useRef","useEffect","useAssetsData","_useAssetsData2","_useAssetsData","loading","groupedAssets","selectedCount","useMemo","length","filter","asset","checked","_jsxs","className","children","_jsx","_Fragment","Chip","root","deleteIcon","label","get","SEARCH_CATEGORIES","CloseIcon","onDelete","Input","concat","inputRef","autoFocus","disableUnderline","fullWidth","placeholder","_ref3","target","current","focus","onKeyUp","e","keyCode","availableCategory","CATEGORY_KEY_VALUES","find","_ref4","_ref5","autoCategorizedKey","trim","toLowerCase","title","onClick","AssetTypesSection","onClickAssetType","key","AssetResultSection","onClickAsset","rig","name","redirectAssetId","asset_id","onClickAllAsset","isAllAdding","assets","map","onScrollReached","position","prev","propTypes","PropTypes","number","isRequired","arrayOf","string","func","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"AutoCompleteAssetSearch.js","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"sourcesContent":["import { useState, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { get } from 'lodash';\nimport { makeStyles, Chip, Input, Tooltip, withStyles } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { useAssetsData } from '../../../effects';\n\nimport { AssetTypesSection } from './AssetTypesSection';\nimport { AssetResultSection } from './AssetResultSection';\nimport { SEARCH_CATEGORIES, CATEGORY_KEY_VALUES } from './constants';\n\nconst PAGE_NAME = 'AutoCompleteAssetSearch';\n\nconst StyledTooltip = withStyles(() => ({\n tooltip: {\n backgroundColor: '#414141',\n color: '#ffffff',\n fontSize: '11px',\n lineHeight: '16px',\n borderRadius: '4px',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.12)',\n padding: '4px',\n },\n}))(Tooltip);\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n width: ({ searchWidth }) => searchWidth || 'auto',\n display: 'flex',\n flexDirection: 'column',\n padding: 16,\n },\n inputWrapper: {\n display: 'flex',\n width: 'auto',\n margin: '0 8px 8px',\n alignItems: 'center',\n flexWrap: 'nowrap',\n justifyContent: 'space-between',\n },\n selectedChip: {\n height: '24px',\n margin: '4px',\n },\n selectedChipDeleteIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n '&:hover': {\n color: theme.palette.primary.text1,\n },\n },\n selectedLabel: {\n fontWeight: 400,\n fontSize: '16px',\n lineHeight: '22px',\n color: theme.palette.primary.text1,\n whiteSpace: 'nowrap',\n paddingLeft: '4px',\n paddingRight: '8px',\n },\n disabledIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n opacity: 0.4,\n },\n closeIconButton: {\n padding: 0,\n '&:hover $closeIcon': {\n color: theme.palette.primary.text1,\n },\n },\n searchInput: {\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n borderBottom: '2px solid #03BCD4',\n },\n closeIcon: {\n color: theme.palette.primary.text6,\n fontSize: '18px',\n },\n}));\n\nexport const AutoCompleteAssetSearch = ({\n companyIds,\n subjectWellId,\n value,\n selectedWellIds,\n onChange,\n searchWidth,\n onClose,\n loadingAssetIds,\n filters,\n}) => {\n const [assetType, setAssetType] = useState(null);\n const [searchKey, setSearchKey] = useState(null);\n const [page, setPage] = useState(1);\n const classes = useStyles({ searchWidth });\n const searchInputRef = useRef();\n\n useEffect(() => {\n setSearchKey(value);\n }, [value]);\n\n const [loading, groupedAssets] = useAssetsData(\n searchKey,\n assetType,\n page,\n companyIds,\n selectedWellIds,\n filters\n );\n\n const selectedCount = useMemo(() => {\n if (!assetType || !groupedAssets || groupedAssets.length === 0) return 0;\n return groupedAssets[0][1].filter(asset => asset.checked).length;\n }, [assetType, groupedAssets]);\n\n const handleDeleteAssetType = () => {\n setAssetType(null);\n };\n\n const handleChangeAssetType = key => {\n searchInputRef.current.focus();\n setAssetType(key);\n setPage(1);\n };\n\n const handleChangeSearchKey = ({ target: { value } }) => {\n searchInputRef.current.focus();\n setSearchKey(value);\n setPage(1);\n };\n\n const handleKeyPress = e => {\n const { value } = e.target;\n const { keyCode } = e;\n\n const availableCategory = CATEGORY_KEY_VALUES.find(\n ([_, item]) => item.autoCategorizedKey === value.trim().toLowerCase()\n );\n\n // NOTE: when type one of categories defined and press enter key or space key\n // then asset type will be auto selected and clear input field\n if (availableCategory && (keyCode === 13 || keyCode === 32)) {\n setSearchKey('');\n setAssetType(availableCategory[0]);\n setPage(1);\n return;\n }\n\n // NOTE: when there is no value in input field and press back space key,\n // then clear asset type as well.\n if (value === '' && keyCode === 8) {\n setAssetType(null);\n setPage(1);\n }\n };\n\n const handleSearchClear = () => {\n setSearchKey('');\n setAssetType(null);\n setPage(1);\n onClose();\n };\n\n const handleScrollReached = position => {\n if (position === 'top' && page > 1) {\n setPage(prev => prev - 1);\n }\n if (position === 'bottom') {\n setPage(prev => prev + 1);\n }\n };\n\n const handleChangeAsset = (asset, assetType) => {\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(!asset.checked, [asset.redirectAssetId], assetType, [asset.asset_id]);\n } else {\n onChange(!asset.checked, [asset.redirectAssetId], assetType);\n }\n };\n\n const handleChangeAllAssets = (isAllAdding, assetType) => {\n const assets = groupedAssets[0][1];\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType,\n assets.map(asset => asset.asset_id)\n );\n } else {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType\n );\n }\n };\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.inputWrapper}>\n <div className={classes.searchInput}>\n {assetType && (\n <>\n <Chip\n data-not-migrated-muichip\n classes={{ root: classes.selectedChip, deleteIcon: classes.selectedChipDeleteIcon }}\n label={get(SEARCH_CATEGORIES, [assetType, 'labelPlural'], 'Assets')}\n deleteIcon={<CloseIcon />}\n onDelete={handleDeleteAssetType}\n />\n {selectedCount > 0 && (\n <span className={classes.selectedLabel}>{selectedCount} Selected</span>\n )}\n </>\n )}\n <Input\n data-testid={`${PAGE_NAME}_searchInput`}\n inputRef={searchInputRef}\n autoFocus\n disableUnderline\n fullWidth\n value={searchKey || ''}\n placeholder=\"Search for Wells ...\"\n onChange={handleChangeSearchKey}\n onKeyUp={handleKeyPress}\n />\n <StyledTooltip title=\"Clear\">\n <CloseIcon\n className={\n assetType || searchKey ? classes.selectedChipDeleteIcon : classes.disabledIcon\n }\n onClick={handleSearchClear}\n />\n </StyledTooltip>\n </div>\n </div>\n\n {!assetType && !searchKey && <AssetTypesSection onClickAssetType={handleChangeAssetType} />}\n {(assetType || searchKey) && (\n <AssetResultSection\n subjectWellId={subjectWellId}\n page={page}\n assetType={assetType}\n loading={loading}\n groupedAssets={groupedAssets}\n onClickAsset={handleChangeAsset}\n onClickAllAsset={handleChangeAllAssets}\n onScrollReached={handleScrollReached}\n loadingAssetIds={loadingAssetIds}\n />\n )}\n </div>\n );\n};\n\nAutoCompleteAssetSearch.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n companyIds: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.string.isRequired,\n selectedWellIds: PropTypes.arrayOf(PropTypes.number).isRequired,\n onChange: PropTypes.func.isRequired,\n searchWidth: PropTypes.number,\n onClose: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n filters: PropTypes.object,\n};\n\nAutoCompleteAssetSearch.defaultProps = {\n companyIds: null,\n searchWidth: null,\n loadingAssetIds: [],\n filters: null,\n};\n"],"names":["StyledTooltip","withStyles","tooltip","backgroundColor","color","fontSize","lineHeight","borderRadius","boxShadow","padding","Tooltip","useStyles","makeStyles","theme","wrapper","width","_ref","searchWidth","display","flexDirection","inputWrapper","margin","alignItems","flexWrap","justifyContent","selectedChip","height","selectedChipDeleteIcon","palette","primary","text6","text1","selectedLabel","fontWeight","whiteSpace","paddingLeft","paddingRight","disabledIcon","opacity","closeIconButton","searchInput","borderBottom","closeIcon","AutoCompleteAssetSearch","_ref2","companyIds","subjectWellId","value","selectedWellIds","onChange","onClose","loadingAssetIds","filters","useState","_useState2","_slicedToArray","_useState","assetType","setAssetType","_useState4","_useState3","searchKey","setSearchKey","_useState6","_useState5","page","setPage","classes","searchInputRef","useRef","useEffect","_useAssetsData","useAssetsData","_useAssetsData2","loading","groupedAssets","selectedCount","useMemo","length","filter","asset","checked","_jsxs","className","children","_jsx","_Fragment","Chip","root","deleteIcon","label","get","SEARCH_CATEGORIES","CloseIcon","onDelete","Input","concat","inputRef","autoFocus","disableUnderline","fullWidth","placeholder","_ref3","target","current","focus","onKeyUp","e","keyCode","availableCategory","CATEGORY_KEY_VALUES","find","_ref4","_ref5","autoCategorizedKey","trim","toLowerCase","title","onClick","AssetTypesSection","onClickAssetType","key","AssetResultSection","onClickAsset","rig","name","redirectAssetId","asset_id","onClickAllAsset","isAllAdding","assets","map","onScrollReached","position","prev","propTypes","PropTypes","number","isRequired","arrayOf","string","func","object","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export function useAssetsData(searchKey: any, assetType: any, page: any, companyIds: any, selectedWellIds: any): (boolean | [string, any[]][])[];
1
+ export function useAssetsData(searchKey: any, assetType: any, page: any, companyIds: any, selectedWellIds: any, filters: any): (boolean | [string, any[]][])[];
2
2
  //# sourceMappingURL=useAssetsData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsData.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"names":[],"mappings":"AAeO,iJA2CN"}
1
+ {"version":3,"file":"useAssetsData.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"names":[],"mappings":"AAeO,+JAwDN"}
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/asyncToGenerator";import e from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{useState as o,useEffect as i,useMemo as s}from"react";import{debounce as c,groupBy as p,every as a,flatten as u,toPairs as l}from"lodash";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import{fetchAllAssets as m}from"../api/assets/fetchAllAssets.js";function f(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function b(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?f(Object(n),!0).forEach((function(e){t(r,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(n,t))}))}return r}var j=c((function(t){t()}),500),y=function(c,f,y,h,O){var d=o([]),v=e(d,2),w=v[0],g=v[1],P=o(!1),A=e(P,2),x=A[0],k=A[1],C=o({}),D=e(C,2)[1];return i((function(){function e(){return(e=r(n.mark((function r(){var e;return n.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,m(c,f,y,h);case 3:e=r.sent,D((function(r){var n=u(l(r).filter((function(t){return+t[0]<+y})).map((function(t){return t[1]}))).concat(e);return g(n),b(b({},r),{},t({searchKey:c,assetType:f},y,e))})),k(!1),r.next=12;break;case 8:r.prev=8,r.t0=r.catch(0),console.error(r.t0),k(!1);case 12:case"end":return r.stop()}}),r,null,[[0,8]])})))).apply(this,arguments)}k(!0),j((function(){return e.apply(this,arguments)}))}),[c,f,y,h]),[x,s((function(){var t=w.map((function(t){return b(b({},t),{},{checked:O.includes(t.redirectAssetId)})})).filter((function(t){return(!f||t.type===f)&&function(t,r){var e=(r||"").split(" ");return a(e,(function(r){return t.toLowerCase().includes(r||"")}))}(t.name,(c||"").toLowerCase())}));return Object.entries(p(t,"type"))}),[c,w,f,O])]};export{y as useAssetsData};
1
+ import t from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{useState as o,useEffect as i,useMemo as s}from"react";import{debounce as c,groupBy as u,every as a,flatten as p,toPairs as l}from"lodash";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import{fetchAllAssets as m}from"../api/assets/fetchAllAssets.js";function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?f(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var d=c((function(t){t()}),500),h=function(c,f,h,y,j,v){var O,g=o([]),w=r(g,2),P=w[0],A=w[1],k=o(!1),x=r(k,2),T=x[0],C=x[1],D=o({}),N=r(D,2)[1],I=(null==v||null===(O=v.companyId)||void 0===O?void 0:O.length)>0?v.companyId:y;return i((function(){function r(){return(r=e(n.mark((function e(){var r;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,m(c,f,h,I);case 3:r=e.sent,N((function(e){var n=p(l(e).filter((function(t){return+t[0]<+h})).map((function(t){return t[1]}))).concat(r);return A(n),b(b({},e),{},t({searchKey:c,assetType:f},h,r))})),C(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0),C(!1);case 12:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}C(!0),d((function(){return r.apply(this,arguments)}))}),[c,f,h,I]),[T,s((function(){var t=P.map((function(t){return b(b({},t),{},{checked:j.includes(t.redirectAssetId)})})).filter((function(t){return(!f||t.type===f)&&function(t,e){var r=(e||"").split(" ");return a(r,(function(e){return t.toLowerCase().includes(e||"")}))}(t.name,(c||"").toLowerCase())}));return t=t.filter((function(t){var e,r;return"well"!==t.type||!((null==v||null===(e=v.status)||void 0===e?void 0:e.length)>0&&!v.status.includes(t.status))&&(!((null==v||null===(r=v.rigName)||void 0===r?void 0:r.length)>0&&t.rigName&&!v.rigName.includes(t.rigName))&&(null==v||!v.sideTracks||!t.name.match(/\sST0/g)))})),Object.entries(u(t,"type"))}),[c,P,f,j,v])]};export{h as useAssetsData};
2
2
  //# sourceMappingURL=useAssetsData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsData.js","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"sourcesContent":["import { useState, useMemo, useEffect } from 'react';\nimport { debounce, groupBy, every, flatten, toPairs } from 'lodash';\n\nimport { fetchAllAssets } from '../api';\n\nconst debouncedFunc = debounce(callback => {\n callback();\n}, 500);\n\nconst isMatchedAsset = (assetName, searchKey) => {\n const searchKeys = (searchKey || '').split(' ');\n\n return every(searchKeys, key => assetName.toLowerCase().includes(key || ''));\n};\n\nexport const useAssetsData = (searchKey, assetType, page, companyIds, selectedWellIds) => {\n const [assetsData, setAssetsData] = useState([]);\n const [loading, setLoading] = useState(false);\n const [, setMultiPageData] = useState({});\n\n useEffect(() => {\n async function fetchAssets() {\n try {\n const assets = await fetchAllAssets(searchKey, assetType, page, companyIds);\n setMultiPageData(prev => {\n const multiPageAssets = flatten(\n toPairs(prev)\n .filter(item => +item[0] < +page)\n .map(data => data[1])\n ).concat(assets);\n setAssetsData(multiPageAssets);\n return { ...prev, searchKey, assetType, [page]: assets };\n });\n setLoading(false);\n } catch (e) {\n console.error(e);\n setLoading(false);\n }\n }\n setLoading(true);\n debouncedFunc(fetchAssets);\n }, [searchKey, assetType, page, companyIds]);\n\n const searchResult = useMemo(() => {\n const checkedAssets = assetsData.map(asset => ({\n ...asset,\n checked: selectedWellIds.includes(asset.redirectAssetId),\n }));\n const filteredData = checkedAssets.filter(\n asset =>\n (!assetType || asset.type === assetType) &&\n isMatchedAsset(asset.name, (searchKey || '').toLowerCase())\n );\n const groupData = Object.entries(groupBy(filteredData, 'type'));\n return groupData;\n }, [searchKey, assetsData, assetType, selectedWellIds]);\n\n return [loading, searchResult];\n};\n"],"names":["debouncedFunc","debounce","callback","useAssetsData","searchKey","assetType","page","companyIds","selectedWellIds","useState","_useState2","_slicedToArray","_useState","assetsData","setAssetsData","_useState4","_useState3","loading","setLoading","_useState5","setMultiPageData","useEffect","_fetchAssets","_asyncToGenerator","_regeneratorRuntime","mark","_callee","assets","wrap","_context","prev","next","fetchAllAssets","sent","multiPageAssets","flatten","toPairs","filter","item","map","data","concat","_objectSpread","_defineProperty","t0","console","error","stop","apply","this","arguments","useMemo","filteredData","asset","checked","includes","redirectAssetId","type","assetName","searchKeys","split","every","key","toLowerCase","isMatchedAsset","name","Object","entries","groupBy"],"mappings":"g9CAKA,IAAMA,EAAgBC,GAAS,SAAAC,GAC7BA,GACF,GAAG,KAQUC,EAAgB,SAACC,EAAWC,EAAWC,EAAMC,EAAYC,GACpE,IAAoCC,EAAAA,EAAS,IAAGC,EAAAC,EAAAC,EAAA,GAAzCC,EAAUH,EAAA,GAAEI,EAAaJ,EAAA,GACFD,EAAAA,GAAS,GAAMM,EAAAJ,EAAAK,EAAA,GAAtCC,EAAOF,EAAA,GAAEG,EAAUH,EAAA,GAC1BI,EAA6BV,EAAS,IAA7BW,EAAgCT,EAAAQ,EAAA,GAAhB,GAuCzB,OArCAE,GAAU,WACkB,SAAAC,IAiBzB,OAjByBA,EAA1BC,EAAAC,EAAAC,MAAA,SAAAC,IAAA,IAAAC,EAAA,OAAAH,EAAAI,MAAA,SAAAC,GAAA,OAAA,OAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEyBC,EAAe5B,EAAWC,EAAWC,EAAMC,GAAW,KAAA,EAArEoB,EAAME,EAAAI,KACZb,GAAiB,SAAAU,GACf,IAAMI,EAAkBC,EACtBC,EAAQN,GACLO,QAAO,SAAAC,GAAI,OAAKA,EAAK,IAAMhC,CAAI,IAC/BiC,KAAI,SAAAC,GAAI,OAAIA,EAAK,EAAE,KACtBC,OAAOd,GAET,OADAb,EAAcoB,GACdQ,EAAAA,EAAA,CAAA,EAAYZ,GAAI,CAAA,EAAAa,EAAA,CAAEvC,UAAAA,EAAWC,UAAAA,GAAYC,EAAOqB,GAClD,IACAT,GAAW,GAAOW,EAAAE,KAAA,GAAA,MAAA,KAAA,EAAAF,EAAAC,KAAA,EAAAD,EAAAe,GAAAf,EAAA,MAAA,GAElBgB,QAAQC,MAAQjB,EAAAe,IAChB1B,GAAW,GAAO,KAAA,GAAA,IAAA,MAAA,OAAAW,EAAAkB,OAAA,GAAArB,EAAA,KAAA,CAAA,CAAA,EAAA,IAErB,MAAAsB,MAAAC,KAAAC,UAAA,CACDhC,GAAW,GACXlB,GApBc,WACY,OAAAsB,EAAA0B,MAAAC,KAAAC,UAAA,GAoB3B,GAAE,CAAC9C,EAAWC,EAAWC,EAAMC,IAgBzB,CAACU,EAdakC,GAAQ,WAC3B,IAIMC,EAJgBvC,EAAW0B,KAAI,SAAAc,GAAK,OAAAX,EAAAA,EAAA,CAAA,EACrCW,GAAK,CAAA,EAAA,CACRC,QAAS9C,EAAgB+C,SAASF,EAAMG,kBAAgB,IAEvBnB,QACjC,SAAAgB,GAAK,QACDhD,GAAagD,EAAMI,OAASpD,IAzCf,SAACqD,EAAWtD,GACjC,IAAMuD,GAAcvD,GAAa,IAAIwD,MAAM,KAE3C,OAAOC,EAAMF,GAAY,SAAAG,GAAG,OAAIJ,EAAUK,cAAcR,SAASO,GAAO,MAC1E,CAsCQE,CAAeX,EAAMY,MAAO7D,GAAa,IAAI2D,kBAGjD,OADkBG,OAAOC,QAAQC,EAAQhB,EAAc,QAExD,GAAE,CAAChD,EAAWS,EAAYR,EAAWG,IAGxC"}
1
+ {"version":3,"file":"useAssetsData.js","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"sourcesContent":["import { useState, useMemo, useEffect } from 'react';\nimport { debounce, groupBy, every, flatten, toPairs } from 'lodash';\n\nimport { fetchAllAssets } from '../api';\n\nconst debouncedFunc = debounce(callback => {\n callback();\n}, 500);\n\nconst isMatchedAsset = (assetName, searchKey) => {\n const searchKeys = (searchKey || '').split(' ');\n\n return every(searchKeys, key => assetName.toLowerCase().includes(key || ''));\n};\n\nexport const useAssetsData = (searchKey, assetType, page, companyIds, selectedWellIds, filters) => {\n const [assetsData, setAssetsData] = useState([]);\n const [loading, setLoading] = useState(false);\n const [, setMultiPageData] = useState({});\n\n const activeCompanyIds = filters?.companyId?.length > 0 ? filters.companyId : companyIds;\n\n useEffect(() => {\n async function fetchAssets() {\n try {\n const assets = await fetchAllAssets(searchKey, assetType, page, activeCompanyIds);\n setMultiPageData(prev => {\n const multiPageAssets = flatten(\n toPairs(prev)\n .filter(item => +item[0] < +page)\n .map(data => data[1])\n ).concat(assets);\n setAssetsData(multiPageAssets);\n return { ...prev, searchKey, assetType, [page]: assets };\n });\n setLoading(false);\n } catch (e) {\n console.error(e);\n setLoading(false);\n }\n }\n setLoading(true);\n debouncedFunc(fetchAssets);\n }, [searchKey, assetType, page, activeCompanyIds]);\n\n const searchResult = useMemo(() => {\n const checkedAssets = assetsData.map(asset => ({\n ...asset,\n checked: selectedWellIds.includes(asset.redirectAssetId),\n }));\n let filteredData = checkedAssets.filter(\n asset =>\n (!assetType || asset.type === assetType) &&\n isMatchedAsset(asset.name, (searchKey || '').toLowerCase())\n );\n\n // Apply well-specific filters (rig assets don't have these fields)\n filteredData = filteredData.filter(asset => {\n if (asset.type !== 'well') return true;\n if (filters?.status?.length > 0 && !filters.status.includes(asset.status)) return false;\n if (filters?.rigName?.length > 0 && asset.rigName && !filters.rigName.includes(asset.rigName))\n return false;\n if (filters?.sideTracks && asset.name.match(/\\sST0/g)) return false;\n return true;\n });\n\n const groupData = Object.entries(groupBy(filteredData, 'type'));\n return groupData;\n }, [searchKey, assetsData, assetType, selectedWellIds, filters]);\n\n return [loading, searchResult];\n};\n"],"names":["debouncedFunc","debounce","callback","useAssetsData","searchKey","assetType","page","companyIds","selectedWellIds","filters","_filters$companyId","useState","_useState2","_slicedToArray","_useState","assetsData","setAssetsData","_useState4","_useState3","loading","setLoading","_useState5","setMultiPageData","activeCompanyIds","companyId","length","useEffect","_fetchAssets","_asyncToGenerator","_regeneratorRuntime","mark","_callee","assets","wrap","_context","prev","next","fetchAllAssets","sent","multiPageAssets","flatten","toPairs","filter","item","map","data","concat","_objectSpread","_defineProperty","t0","console","error","stop","apply","this","arguments","useMemo","filteredData","asset","checked","includes","redirectAssetId","type","assetName","searchKeys","split","every","key","toLowerCase","isMatchedAsset","name","_filters$status","_filters$rigName","status","rigName","sideTracks","match","Object","entries","groupBy"],"mappings":"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"}
@@ -1,98 +1,8 @@
1
- export function useFilteredWells(wells: any, filters: any): {
2
- toString: () => string;
3
- charAt: (pos: number) => string;
4
- charCodeAt: (index: number) => number;
5
- concat: (...strings: string[]) => string;
6
- indexOf: (searchString: string, position?: number) => number;
7
- lastIndexOf: (searchString: string, position?: number) => number;
8
- localeCompare: {
9
- (that: string): number;
10
- (that: string, locales?: string | string[], options?: Intl.CollatorOptions): number;
11
- (that: string, locales?: Intl.LocalesArgument, options?: Intl.CollatorOptions): number;
12
- };
13
- match: {
14
- (regexp: string | RegExp): RegExpMatchArray | null;
15
- (matcher: {
16
- [Symbol.match](string: string): RegExpMatchArray | null;
17
- }): RegExpMatchArray | null;
18
- };
19
- replace: {
20
- (searchValue: string | RegExp, replaceValue: string): string;
21
- (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
22
- (searchValue: {
23
- [Symbol.replace](string: string, replaceValue: string): string;
24
- }, replaceValue: string): string;
25
- (searchValue: {
26
- [Symbol.replace](string: string, replacer: (substring: string, ...args: any[]) => string): string;
27
- }, replacer: (substring: string, ...args: any[]) => string): string;
28
- };
29
- search: {
30
- (regexp: string | RegExp): number;
31
- (searcher: {
32
- [Symbol.search](string: string): number;
33
- }): number;
34
- };
35
- slice: (start?: number, end?: number) => string;
36
- split: {
37
- (separator: string | RegExp, limit?: number): string[];
38
- (splitter: {
39
- [Symbol.split](string: string, limit?: number): string[];
40
- }, limit?: number): string[];
41
- };
42
- substring: (start: number, end?: number) => string;
43
- toLowerCase: () => string;
44
- toLocaleLowerCase: {
45
- (locales?: string | string[]): string;
46
- (locales?: Intl.LocalesArgument): string;
47
- };
48
- toUpperCase: () => string;
49
- toLocaleUpperCase: {
50
- (locales?: string | string[]): string;
51
- (locales?: Intl.LocalesArgument): string;
52
- };
53
- trim: () => string;
54
- readonly length: number;
55
- substr: (from: number, length?: number) => string;
56
- valueOf: () => string;
57
- codePointAt: (pos: number) => number | undefined;
58
- includes: (searchString: string, position?: number) => boolean;
59
- endsWith: (searchString: string, endPosition?: number) => boolean;
60
- normalize: {
61
- (form: "NFC" | "NFD" | "NFKC" | "NFKD"): string;
62
- (form?: string): string;
63
- };
64
- repeat: (count: number) => string;
65
- startsWith: (searchString: string, position?: number) => boolean;
66
- anchor: (name: string) => string;
67
- big: () => string;
68
- blink: () => string;
69
- bold: () => string;
70
- fixed: () => string;
71
- fontcolor: (color: string) => string;
72
- fontsize: {
73
- (size: number): string;
74
- (size: string): string;
75
- };
76
- italics: () => string;
77
- link: (url: string) => string;
78
- small: () => string;
79
- strike: () => string;
80
- sub: () => string;
81
- sup: () => string;
82
- padStart: (maxLength: number, fillString?: string) => string;
83
- padEnd: (maxLength: number, fillString?: string) => string;
84
- trimEnd: () => string;
85
- trimStart: () => string;
86
- trimLeft: () => string;
87
- trimRight: () => string;
88
- matchAll: (regexp: RegExp) => RegExpStringIterator<RegExpExecArray>;
89
- replaceAll: {
90
- (searchValue: string | RegExp, replaceValue: string): string;
91
- (searchValue: string | RegExp, replacer: (substring: string, ...args: any[]) => string): string;
92
- };
93
- at: (index: number) => string | undefined;
94
- isWellFormed: () => boolean;
95
- toWellFormed: () => string;
96
- [Symbol.iterator]: () => StringIterator<string>;
97
- }[];
1
+ import type { FilterState } from '../stores/filter-store/types';
2
+ import { type FilterableWell } from '../utils/doesWellPassFilters';
3
+ type FilterableWellWithId = FilterableWell & {
4
+ id: string | number;
5
+ };
6
+ export declare const useFilteredWells: (wells: FilterableWellWithId[] | null, filters: FilterState | null) => FilterableWellWithId[] | null;
7
+ export {};
98
8
  //# sourceMappingURL=useFilteredWells.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFilteredWells.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useFilteredWells.js"],"names":[],"mappings":"AAqBO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqCN"}
1
+ {"version":3,"file":"useFilteredWells.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useFilteredWells.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,KAAK,cAAc,EAAuB,MAAM,8BAA8B,CAAC;AAExF,KAAK,oBAAoB,GAAG,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAErE,eAAO,MAAM,gBAAgB,GAC3B,OAAO,oBAAoB,EAAE,GAAG,IAAI,EACpC,SAAS,WAAW,GAAG,IAAI,KAC1B,oBAAoB,EAAE,GAAG,IAW3B,CAAC"}
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/slicedToArray";import{useMemo as t}from"react";import{uniqBy as e}from"lodash";import{FilterType as i}from"../constants.js";import{getTimestampByPeriod as n}from"../utils/getTimestampByPeriod.js";var a=/\sST0/g,o=["status","companyId","rigName","programName","basin","county","area","formation","stringDesign"],s=function(s,m){return t((function(){if(!s||!m)return null;var t={};o.forEach((function(r){var e=m[r];Array.isArray(e)&&e.length>0&&(t[r]=new Set(e))}));var u=s.filter((function(r){return Object.keys(t).every((function(e){return t[e].has(r[e])}))}));void 0!==m[i.sideTracks]&&(u=u.filter((function(r){return!m[i.sideTracks]||!r.name.match(a)})));var c=m.period,f=m.timeRangeFrom,l=m.timeRangeTo,p=n(c,f,l),d=r(p,2),g=d[0],v=d[1];return Number.isFinite(g)&&Number.isFinite(v)&&(u=u.filter((function(r){return r.lastActive>=g&&r.lastActive<=v}))),e(u,"id")}),[s,m])};export{s as useFilteredWells};
1
+ import{useMemo as r}from"react";import{uniqBy as t}from"lodash";import{doesWellPassFilters as o}from"../utils/doesWellPassFilters.js";var i=function(i,n){return r((function(){return i&&n?t(i.filter((function(r){return o(r,n)})),"id"):null}),[i,n])};export{i as useFilteredWells};
2
2
  //# sourceMappingURL=useFilteredWells.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFilteredWells.js","sources":["../../../../src/components/OffsetWellPickerV5/effects/useFilteredWells.js"],"sourcesContent":["import { useMemo } from 'react';\nimport { uniqBy } from 'lodash';\n\nimport { FilterType } from '../constants';\nimport { getTimestampByPeriod } from '../utils/getTimestampByPeriod';\n\nconst sideTrackStrRegex = /\\sST0/g;\n\n// Array filter keys that correspond to well properties (exclude metadata like polygonCoords)\nconst wellPropertyFilterKeys = [\n 'status',\n 'companyId',\n 'rigName',\n 'programName',\n 'basin',\n 'county',\n 'area',\n 'formation',\n 'stringDesign',\n];\n\nexport const useFilteredWells = (wells, filters) => {\n return useMemo(() => {\n if (!wells || !filters) {\n return null;\n }\n\n // Convert filter arrays to Sets for O(1) lookups\n const filterSets = {};\n\n wellPropertyFilterKeys.forEach(filterKey => {\n const filterValue = filters[filterKey];\n if (Array.isArray(filterValue) && filterValue.length > 0) {\n filterSets[filterKey] = new Set(filterValue);\n }\n });\n\n let filteredWells = wells.filter(well =>\n Object.keys(filterSets).every(filterKey => filterSets[filterKey].has(well[filterKey]))\n );\n\n if (typeof filters[FilterType.sideTracks] !== 'undefined') {\n filteredWells = filteredWells.filter(\n well => !filters[FilterType.sideTracks] || !well.name.match(sideTrackStrRegex)\n );\n }\n\n const { period, timeRangeFrom, timeRangeTo } = filters;\n const [startTimestamp, endTimestamp] = getTimestampByPeriod(period, timeRangeFrom, timeRangeTo);\n\n if (Number.isFinite(startTimestamp) && Number.isFinite(endTimestamp)) {\n filteredWells = filteredWells.filter(\n well => well.lastActive >= startTimestamp && well.lastActive <= endTimestamp\n );\n }\n\n return uniqBy(filteredWells, 'id');\n }, [wells, filters]);\n};\n"],"names":["sideTrackStrRegex","wellPropertyFilterKeys","useFilteredWells","wells","filters","useMemo","filterSets","forEach","filterKey","filterValue","Array","isArray","length","Set","filteredWells","filter","well","Object","keys","every","has","FilterType","sideTracks","name","match","period","timeRangeFrom","timeRangeTo","_getTimestampByPeriod","getTimestampByPeriod","_getTimestampByPeriod2","_slicedToArray","startTimestamp","endTimestamp","Number","isFinite","lastActive","uniqBy"],"mappings":"yOAMA,IAAMA,EAAoB,SAGpBC,EAAyB,CAC7B,SACA,YACA,UACA,cACA,QACA,SACA,OACA,YACA,gBAGWC,EAAmB,SAACC,EAAOC,GACtC,OAAOC,GAAQ,WACb,IAAKF,IAAUC,EACb,OAAO,KAIT,IAAME,EAAa,CAAA,EAEnBL,EAAuBM,SAAQ,SAAAC,GAC7B,IAAMC,EAAcL,EAAQI,GACxBE,MAAMC,QAAQF,IAAgBA,EAAYG,OAAS,IACrDN,EAAWE,GAAa,IAAIK,IAAIJ,GAEpC,IAEA,IAAIK,EAAgBX,EAAMY,QAAO,SAAAC,GAAI,OACnCC,OAAOC,KAAKZ,GAAYa,OAAM,SAAAX,GAAS,OAAIF,EAAWE,GAAWY,IAAIJ,EAAKR,eAG9B,IAAnCJ,EAAQiB,EAAWC,cAC5BR,EAAgBA,EAAcC,QAC5B,SAAAC,GAAI,OAAKZ,EAAQiB,EAAWC,cAAgBN,EAAKO,KAAKC,MAAMxB,OAIhE,IAAQyB,EAAuCrB,EAAvCqB,OAAQC,EAA+BtB,EAA/BsB,cAAeC,EAAgBvB,EAAhBuB,YAC/BC,EAAuCC,EAAqBJ,EAAQC,EAAeC,GAAYG,EAAAC,EAAAH,EAAA,GAAxFI,EAAcF,EAAA,GAAEG,EAAYH,EAAA,GAQnC,OANII,OAAOC,SAASH,IAAmBE,OAAOC,SAASF,KACrDnB,EAAgBA,EAAcC,QAC5B,SAAAC,GAAI,OAAIA,EAAKoB,YAAcJ,GAAkBhB,EAAKoB,YAAcH,MAI7DI,EAAOvB,EAAe,KAC/B,GAAG,CAACX,EAAOC,GACb"}
1
+ {"version":3,"file":"useFilteredWells.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{useEffect as t}from"react";import o from"@turf/bbox";import r from"@turf/circle";import{tileToBBOX as e}from"@mapbox/tilebelt";import{useStore as n}from"zustand";import{ViewportStoreContext as s}from"../stores/viewport-store/ViewportStoreContext.js";import{useFilterStore as u}from"../stores/filter-store/useFilterStore.js";import{useContextOrThrow as i}from"../stores/utils/useContextOrThrow.js";import{MapConfig as l}from"../components/Map/OffsetWellMap/constants.js";import{getGhostZoneBounds as f}from"../components/Map/OffsetWellMap/utils/getGhostZoneBounds.js";import{DEFAULT_RADIUS_MILES as a}from"../constants.js";import{getTilesForViewport as m,MAX_TILES_FOR_FETCH as p,pointToTile as d,TILE_ZOOM as c}from"../utils/tile-math.js";var v=function(v){var h,j=v.subjectWellCoords,b=v.hasSubjectWell,w=v.open,x=v.ghostZone,g=i(s),M=n(g,(function(t){return t.bounds})),C=n(g,(function(t){return t.setBounds})),W=null!==(h=u((function(t){var o;return null===(o=t.filters)||void 0===o?void 0:o.radius})))&&void 0!==h?h:a;t((function(){var t;if(w&&null===M&&(!b||j)){var n,s=null!=j?j:l.DefaultCoords,u=x?function(t){if("radius"===t.type&&t.radius>l.Radius.Max)return null;var o=f(t);if(!o)return null;var r=o.bounds,e=r[0],n=r[1],s=r[2];return{north:r[3],south:n,east:s,west:e}}(x):null;if(n=u||function(t,e){var n=[t.longitude,t.latitude],s=r(n,e,{units:"miles"}),u=o(s),i=u[0],l=u[1],f=u[2];return{north:u[3],south:l,east:f,west:i}}(s,W),m(n).length>p){var i=null!==(t=null==x?void 0:x.center)&&void 0!==t?t:s;n=function(t){var o=t[0],r=t[1],n=t[2],s=e([o-1,r-1,n]),u=e([o+1,r+1,n]),i=1e-4;return{west:s[0]+i,north:s[3]-i,east:u[2]-i,south:u[1]+i}}(d(i.longitude,i.latitude))}C(n,c)}}),[w,M,C,j,b,W,x])};export{v as useInitialBounds};
1
+ import{useEffect as t}from"react";import o from"@turf/bbox";import r from"@turf/circle";import{tileToBBOX as e}from"@mapbox/tilebelt";import{useStore as n}from"zustand";import{ViewportStoreContext as s}from"../stores/viewport-store/ViewportStoreContext.js";import{useFilterStore as u}from"../stores/filter-store/useFilterStore.js";import{useContextOrThrow as i}from"../stores/utils/useContextOrThrow.js";import{MapConfig as l}from"../components/Map/OffsetWellMap/constants.js";import{getGhostZoneBounds as f}from"../components/Map/OffsetWellMap/utils/getGhostZoneBounds.js";import{DEFAULT_RADIUS_MILES as a}from"../constants.js";import{getTilesForViewport as m,pointToTile as p,TILE_ZOOM as d,MAX_TILES_FOR_FETCH as c}from"../utils/tile-math.js";var v=function(v){var h,j=v.subjectWellCoords,b=v.hasSubjectWell,w=v.open,x=v.ghostZone,g=i(s),M=n(g,(function(t){return t.bounds})),C=n(g,(function(t){return t.setBounds})),W=null!==(h=u((function(t){var o;return null===(o=t.filters)||void 0===o?void 0:o.radius})))&&void 0!==h?h:a;t((function(){var t;if(w&&null===M&&(!b||j)){var n,s=null!=j?j:l.DefaultCoords,u=x?function(t){if("radius"===t.type&&t.radius>l.Radius.Max)return null;var o=f(t);if(!o)return null;var r=o.bounds,e=r[0],n=r[1],s=r[2];return{north:r[3],south:n,east:s,west:e}}(x):null;if(n=u||function(t,e){var n=[t.longitude,t.latitude],s=r(n,e,{units:"miles"}),u=o(s),i=u[0],l=u[1],f=u[2];return{north:u[3],south:l,east:f,west:i}}(s,W),m(n).length>c){var i=null!==(t=null==x?void 0:x.center)&&void 0!==t?t:s;n=function(t){var o=t[0],r=t[1],n=t[2],s=e([o-1,r-1,n]),u=e([o+1,r+1,n]),i=1e-4;return{west:s[0]+i,north:s[3]-i,east:u[2]-i,south:u[1]+i}}(p(i.longitude,i.latitude))}C(n,d)}}),[w,M,C,j,b,W,x])};export{v as useInitialBounds};
2
2
  //# sourceMappingURL=useInitialBounds.js.map