@corva/ui 3.67.0-9 → 3.68.0-0

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 (103) hide show
  1. package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.css.js +1 -1
  2. package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
  3. package/cjs-bundle/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
  4. package/cjs-bundle/components/BICOffsetPickerDialog/effects/index.js +1 -1
  5. package/cjs-bundle/components/BICOffsetPickerDialog/effects/index.js.map +1 -1
  6. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js +1 -1
  7. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  8. package/cjs-bundle/components/OffsetWellMap/OffsetWellMap.module.css.js +1 -1
  9. package/cjs-bundle/components/OffsetWellMap/WellTooltip.module.css.js +1 -1
  10. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.css.js +1 -1
  11. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
  12. package/cjs-bundle/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
  13. package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js +1 -1
  14. package/cjs-bundle/components/OffsetWellPickerV2/effects/index.js.map +1 -1
  15. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.css.js +1 -1
  16. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
  17. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
  18. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
  19. package/cjs-bundle/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
  20. package/cjs-bundle/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  21. package/cjs-bundle/components/OffsetWellPickerV5/components/MapPreloader/MapPreloader.js +1 -1
  22. package/cjs-bundle/components/PinnableFilters/effects/index.js +1 -1
  23. package/cjs-bundle/components/PinnableFilters/effects/index.js.map +1 -1
  24. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/AssetFilters/useOptions.js +1 -1
  25. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
  26. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
  27. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
  28. package/cjs-bundle/config/index.js +1 -1
  29. package/cjs-bundle/config/mapbox/index.js +1 -1
  30. package/cjs-bundle/config/mapbox/index.js.map +1 -1
  31. package/cjs-bundle/config/mapboxGl/index.js +2 -0
  32. package/cjs-bundle/config/mapboxGl/index.js.map +1 -0
  33. package/cjs-bundle/config/mapboxLabelPolicy/index.js +2 -0
  34. package/cjs-bundle/config/mapboxLabelPolicy/index.js.map +1 -0
  35. package/cjs-bundle/styles/mapbox.global.css.js +1 -1
  36. package/components/BICOffsetPickerDialog/components/Map/Map.css.js +1 -1
  37. package/components/BICOffsetPickerDialog/components/Map/Map.d.ts.map +1 -1
  38. package/components/BICOffsetPickerDialog/components/Map/Map.js +1 -1
  39. package/components/BICOffsetPickerDialog/components/Map/Map.js.map +1 -1
  40. package/components/BICOffsetPickerDialog/effects/index.js +1 -1
  41. package/components/BICOffsetPickerDialog/effects/index.js.map +1 -1
  42. package/components/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  43. package/components/OffsetWellMap/OffsetWellMap.js +1 -1
  44. package/components/OffsetWellMap/OffsetWellMap.js.map +1 -1
  45. package/components/OffsetWellMap/OffsetWellMap.module.css.js +1 -1
  46. package/components/OffsetWellMap/WellTooltip.module.css.js +1 -1
  47. package/components/OffsetWellPickerV2/components/Map/Map.css.js +1 -1
  48. package/components/OffsetWellPickerV2/components/Map/Map.d.ts.map +1 -1
  49. package/components/OffsetWellPickerV2/components/Map/Map.js +1 -1
  50. package/components/OffsetWellPickerV2/components/Map/Map.js.map +1 -1
  51. package/components/OffsetWellPickerV2/effects/index.js +1 -1
  52. package/components/OffsetWellPickerV2/effects/index.js.map +1 -1
  53. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.css.js +1 -1
  54. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.d.ts.map +1 -1
  55. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js +1 -1
  56. package/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js.map +1 -1
  57. package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js +1 -1
  58. package/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js.map +1 -1
  59. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.d.ts.map +1 -1
  60. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.js +1 -1
  61. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useMapTooltipState.d.ts +1 -1
  62. package/components/OffsetWellPickerV5/components/Map/OffsetWellMap/hooks/useOffsetWellMapState.d.ts +1 -1
  63. package/components/OffsetWellPickerV5/components/MapPreloader/MapPreloader.d.ts.map +1 -1
  64. package/components/OffsetWellPickerV5/components/MapPreloader/MapPreloader.js +1 -1
  65. package/components/PinnableFilters/effects/index.js +1 -1
  66. package/components/PinnableFilters/effects/index.js.map +1 -1
  67. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.d.ts +1 -1
  68. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.d.ts.map +1 -1
  69. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/useOptions.d.ts +1 -1
  70. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/useOptions.d.ts.map +1 -1
  71. package/componentsV2/CompletionsOffsetWellPicker/AssetFilters/useOptions.js +1 -1
  72. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
  73. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
  74. package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/usePadsByRadius.test.d.ts +2 -0
  75. package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/usePadsByRadius.test.d.ts.map +1 -0
  76. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.d.ts +1 -1
  77. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.d.ts.map +1 -1
  78. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
  79. package/componentsV2/CompletionsOffsetWellPicker/types.d.ts +1 -1
  80. package/componentsV2/CompletionsOffsetWellPicker/types.d.ts.map +1 -1
  81. package/config/index.d.ts +2 -1
  82. package/config/index.d.ts.map +1 -1
  83. package/config/index.js +1 -1
  84. package/config/mapbox/index.d.ts.map +1 -1
  85. package/config/mapbox/index.js +1 -1
  86. package/config/mapbox/index.js.map +1 -1
  87. package/config/mapboxGl/index.d.ts +3 -0
  88. package/config/mapboxGl/index.d.ts.map +1 -0
  89. package/config/mapboxGl/index.js +2 -0
  90. package/config/mapboxGl/index.js.map +1 -0
  91. package/config/mapboxLabelPolicy/__tests__/index.test.d.ts +2 -0
  92. package/config/mapboxLabelPolicy/__tests__/index.test.d.ts.map +1 -0
  93. package/config/mapboxLabelPolicy/index.d.ts +5 -0
  94. package/config/mapboxLabelPolicy/index.d.ts.map +1 -0
  95. package/config/mapboxLabelPolicy/index.js +2 -0
  96. package/config/mapboxLabelPolicy/index.js.map +1 -0
  97. package/index.d.ts +1 -0
  98. package/index.d.ts.map +1 -1
  99. package/mcp-server/server.mjs +1 -1
  100. package/package.json +1 -2
  101. package/styles/mapbox.global.css +8 -1
  102. package/styles/mapbox.global.css.js +1 -1
  103. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Map.js","sources":["../../../../../../../src/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport L from 'mapbox.js';\nimport { get, sortBy } from 'lodash';\n\nimport { usePrevious } from '../../effects';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\n\nconst { isValidCoordinates } = mapbox;\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 10;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#00FFFF';\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n open,\n subjectWell,\n wells,\n offsetWells,\n radius,\n formationColors,\n popUpFormatter,\n coordsDataPath,\n onAddOffsetWell,\n onDeleteOffsetWell,\n}) {\n const mapContainerRef = useRef(null);\n const mapRef = useRef();\n const radiusCircleRef = useRef(null);\n const markersGroupRef = useRef(null);\n\n const prevWells = usePrevious(wells);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Initialize map\n useEffect(() => {\n if (!open || mapRef.current) return;\n\n mapRef.current = L.mapbox\n .map(mapContainerRef.current, null, {\n attributionControl: false,\n scrollWheelZoom: false,\n zoomControl: false,\n })\n .setView(DEFAULT_COORDS, 1);\n\n L.control\n .zoom({\n position: 'bottomright',\n })\n .addTo(mapRef.current);\n L.mapbox.styleLayer('mapbox://styles/mapbox/dark-v9').addTo(mapRef.current);\n }, [open]);\n\n useEffect(\n () => () => {\n if (mapRef.current) {\n // NOTE: mapbox.js defers _updateMapFeedbackLink on layerremove; after remove() it crashes on the deleted control container\n mapRef.current.off('layerremove');\n mapRef.current.remove();\n mapRef.current = null;\n radiusCircleRef.current = null;\n markersGroupRef.current = null;\n }\n },\n []\n );\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapRef.current || !open) {\n return;\n }\n\n // NOTE: Clean up\n if (radiusCircleRef.current) {\n mapRef.current.removeLayer(radiusCircleRef.current);\n }\n\n if (!subjectWellCoords) {\n radiusCircleRef.current = null;\n return;\n }\n\n radiusCircleRef.current = L.circle(subjectWellCoords, radius * METERS_IN_MILE, {\n stroke: false,\n fill: true,\n fillOpacity: 0.2,\n fillColor: RADIUS_CIRCLE_COLOR,\n className: 'circle_500',\n });\n\n radiusCircleRef.current.addTo(mapRef.current);\n }, [radius, subjectWellCoords, open]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapRef.current || !open) {\n return;\n }\n\n // NOTE: Clean up\n if (markersGroupRef.current) {\n markersGroupRef.current.removeFrom(mapRef.current);\n }\n\n const offsetWellIds = offsetWells.map(well => well.id);\n const sortedWells = sortBy(wells, well => offsetWellIds.includes(well.id));\n\n const markers = [];\n sortedWells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? DEFAULT_SUBJECT_WELL_MARKER_SIZE : DEFAULT_WELL_MARKER_SIZE;\n const color =\n isWellSubject || isWellOffset\n ? OFFSET_WELL_COLOR\n : get(formationColors, well.formation, '#BDBDBD');\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n const newMarker = L.circleMarker(coords, {\n radius: r,\n stroke: false,\n fill: true,\n fillOpacity: opacity,\n fillColor: color,\n className: 'circle_500',\n });\n\n newMarker.addEventListener('mouseover', () => {\n if (popUpFormatter) {\n // Container to put React generated content in.\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(popUpFormatter, {\n well,\n color: get(formationColors, well.formation, '#BDBDBD'),\n });\n // NOTE: Custom popup may have buttons\n ReactDOM.render(<>{popUpContent}</>, popUpContainer);\n\n L.popup().setLatLng(coords).setContent(popUpContainer).openOn(mapRef.current);\n }\n });\n\n newMarker.addEventListener('mouseout', () => {\n mapRef.current.closePopup();\n });\n\n newMarker.addEventListener('click', () => {\n if (isWellOffset && !isWellSubject) {\n onDeleteOffsetWell(well.id);\n } else {\n onAddOffsetWell(well.id);\n }\n });\n\n markers.push(newMarker);\n }\n });\n\n if (markers.length) {\n markersGroupRef.current = L.featureGroup(markers);\n markersGroupRef.current.addTo(mapRef.current);\n }\n\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n\n if (mapRef.current && radiusCircleRef.current && wells !== prevWells) {\n mapRef.current.fitBounds(radiusCircleRef.current.getBounds(), { padding: [5, 5] });\n }\n }, 500);\n }, [subjectWell, wells, offsetWells, open]);\n\n useEffect(() => {\n if (!open) return;\n\n setTimeout(() => {\n if (radiusCircleRef.current) {\n radiusCircleRef.current.bringToBack();\n }\n if (subjectWell) {\n if (mapRef.current && radiusCircleRef.current) {\n mapRef.current.fitBounds(radiusCircleRef.current.getBounds(), {\n padding: [5, 5],\n });\n }\n } else if (mapRef.current && markersGroupRef.current) {\n mapRef.current.fitBounds(markersGroupRef.current.getBounds());\n }\n }, 500);\n }, [radius, subjectWell, open]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n </div>\n );\n}\n\nWellsMap.propTypes = {\n open: PropTypes.bool.isRequired,\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n formationColors: PropTypes.shape({}).isRequired,\n popUpFormatter: PropTypes.func,\n coordsDataPath: PropTypes.string,\n onAddOffsetWell: PropTypes.func.isRequired,\n onDeleteOffsetWell: PropTypes.func.isRequired,\n};\n\nWellsMap.defaultProps = {\n subjectWell: null,\n popUpFormatter: null,\n coordsDataPath: 'settings.top_hole.coordinates',\n offsetWells: null,\n};\n\nexport default memo(WellsMap);\n"],"names":["isValidCoordinates","mapbox","DEFAULT_COORDS","WellsMap","_ref","open","subjectWell","wells","offsetWells","radius","formationColors","popUpFormatter","coordsDataPath","onAddOffsetWell","onDeleteOffsetWell","mapContainerRef","useRef","mapRef","radiusCircleRef","markersGroupRef","prevWells","usePrevious","subjectWellCoords","useMemo","get","useEffect","current","L","map","attributionControl","scrollWheelZoom","zoomControl","setView","control","zoom","position","addTo","styleLayer","off","remove","removeLayer","circle","stroke","fill","fillOpacity","fillColor","className","removeFrom","offsetWellIds","well","id","sortedWells","sortBy","includes","markers","forEach","coords","isWellSubject","isWellOffset","r","color","formation","opacity","newMarker","circleMarker","addEventListener","popUpContainer","document","createElement","popUpContent","ReactDOM","render","_jsx","_Fragment","children","popup","setLatLng","setContent","openOn","closePopup","push","length","featureGroup","setTimeout","bringToBack","fitBounds","getBounds","padding","styles","mapMain","ref","propTypes","PropTypes","bool","isRequired","shape","number","string","arrayOf","func","defaultProps","memo"],"mappings":"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"}
1
+ {"version":3,"file":"Map.js","sources":["../../../../../../../src/components/OffsetWellPickerV3/components/CustomSelectionView/components/Map/Map.js"],"sourcesContent":["import { createElement, memo, useRef, useEffect, useMemo, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { get, sortBy } from 'lodash';\n\nimport styles from './Map.css';\n\nimport { mapbox } from '~/utils';\nimport mapboxgl from '~/config/mapboxGl';\nimport 'mapbox-gl/dist/mapbox-gl.css';\n\nconst { isValidCoordinates } = mapbox;\n\nconst DEFAULT_COORDS = [29.749907, -95.358421]; // TX coordinates\nconst RADIUS_CIRCLE_COLOR = '#03BCD4';\nconst METERS_IN_MILE = 1609.34;\nconst DEFAULT_SUBJECT_WELL_MARKER_SIZE = 10;\nconst DEFAULT_WELL_MARKER_SIZE = 5;\nconst OFFSET_WELL_COLOR = '#00FFFF';\n\nconst RADIUS_CIRCLE_ID = 'radius-circle';\nconst WELLS_ID = 'wells';\nconst EMPTY_FEATURE_COLLECTION = { type: 'FeatureCollection', features: [] };\n\nconst toLngLat = ([lat, lng]) => [lng, lat];\n\n// NOTE: mapbox-gl has no geographic-radius circle primitive, so approximate it with a polygon\nconst makeCirclePolygon = ([lat, lng], radiusMeters, points = 64) => {\n const ring = [];\n const distanceX = radiusMeters / (111320 * Math.cos((lat * Math.PI) / 180));\n const distanceY = radiusMeters / 110574;\n for (let i = 0; i <= points; i += 1) {\n const theta = (i / points) * (2 * Math.PI);\n ring.push([lng + distanceX * Math.cos(theta), lat + distanceY * Math.sin(theta)]);\n }\n return ring;\n};\n\n// eslint-disable-next-line no-unused-vars\nfunction WellsMap({\n open,\n subjectWell,\n wells,\n offsetWells,\n radius,\n formationColors,\n popUpFormatter,\n coordsDataPath,\n onAddOffsetWell,\n onDeleteOffsetWell,\n}) {\n const mapContainerRef = useRef(null);\n const mapRef = useRef();\n const radiusCircleBoundsRef = useRef(null);\n const markersBoundsRef = useRef(null);\n const popupRef = useRef(null);\n const prevWellsRef = useRef();\n const [isMapReady, setIsMapReady] = useState(false);\n\n const subjectWellCoords = useMemo(() => {\n return subjectWell && get(subjectWell, coordsDataPath);\n }, [subjectWell, coordsDataPath]);\n\n // NOTE: Initialize map\n useEffect(() => {\n if (!open || mapRef.current) return;\n\n mapRef.current = new mapboxgl.Map({\n container: mapContainerRef.current,\n style: 'mapbox://styles/mapbox/dark-v9',\n center: toLngLat(DEFAULT_COORDS),\n zoom: 1,\n attributionControl: false,\n scrollZoom: false,\n });\n\n mapRef.current.addControl(\n new mapboxgl.NavigationControl({ showCompass: false }),\n 'bottom-right'\n );\n\n // NOTE: Sources/layers can only be added once the style has loaded.\n // The radius circle layer is added first so well markers render above it (was bringToBack)\n mapRef.current.on('load', () => {\n mapRef.current.addSource(RADIUS_CIRCLE_ID, {\n type: 'geojson',\n data: EMPTY_FEATURE_COLLECTION,\n });\n mapRef.current.addLayer({\n id: RADIUS_CIRCLE_ID,\n type: 'fill',\n source: RADIUS_CIRCLE_ID,\n paint: {\n 'fill-color': RADIUS_CIRCLE_COLOR,\n 'fill-opacity': 0.2,\n },\n });\n\n mapRef.current.addSource(WELLS_ID, { type: 'geojson', data: EMPTY_FEATURE_COLLECTION });\n mapRef.current.addLayer({\n id: WELLS_ID,\n type: 'circle',\n source: WELLS_ID,\n layout: {\n 'circle-sort-key': ['get', 'sortKey'],\n },\n paint: {\n 'circle-radius': ['get', 'radius'],\n 'circle-color': ['get', 'color'],\n 'circle-opacity': ['get', 'opacity'],\n },\n });\n\n setIsMapReady(true);\n });\n }, [open]);\n\n useEffect(\n () => () => {\n if (mapRef.current) {\n mapRef.current.remove();\n mapRef.current = null;\n radiusCircleBoundsRef.current = null;\n markersBoundsRef.current = null;\n }\n },\n []\n );\n\n // NOTE: Radius circle\n useEffect(() => {\n if (!mapRef.current || !isMapReady || !open) {\n return;\n }\n\n if (!subjectWellCoords) {\n mapRef.current.getSource(RADIUS_CIRCLE_ID).setData(EMPTY_FEATURE_COLLECTION);\n radiusCircleBoundsRef.current = null;\n return;\n }\n\n const ring = makeCirclePolygon(subjectWellCoords, radius * METERS_IN_MILE);\n mapRef.current.getSource(RADIUS_CIRCLE_ID).setData({\n type: 'Feature',\n geometry: { type: 'Polygon', coordinates: [ring] },\n });\n radiusCircleBoundsRef.current = ring.reduce(\n (bounds, coord) => bounds.extend(coord),\n new mapboxgl.LngLatBounds()\n );\n }, [radius, subjectWellCoords, open, isMapReady]);\n\n // NOTE: Well markers\n useEffect(() => {\n if (!mapRef.current || !isMapReady || !open) {\n return undefined;\n }\n\n const prevWells = prevWellsRef.current;\n prevWellsRef.current = wells;\n\n const offsetWellIds = offsetWells.map(well => well.id);\n const sortedWells = sortBy(wells, well => offsetWellIds.includes(well.id));\n\n const features = [];\n const wellsById = {};\n const bounds = new mapboxgl.LngLatBounds();\n sortedWells.forEach(well => {\n const coords = get(well, coordsDataPath);\n\n if (coords && isValidCoordinates(coords)) {\n const isWellSubject = subjectWell && subjectWell.id === well.id;\n const isWellOffset = offsetWellIds.includes(well.id);\n const r = isWellSubject ? DEFAULT_SUBJECT_WELL_MARKER_SIZE : DEFAULT_WELL_MARKER_SIZE;\n const color =\n isWellSubject || isWellOffset\n ? OFFSET_WELL_COLOR\n : get(formationColors, well.formation, '#BDBDBD');\n const opacity = isWellSubject || isWellOffset ? 1 : 0.3;\n\n wellsById[well.id] = well;\n bounds.extend(toLngLat(coords));\n features.push({\n type: 'Feature',\n geometry: { type: 'Point', coordinates: toLngLat(coords) },\n // NOTE: sortKey keeps offset wells rendered on top (was sortedWells insertion order)\n properties: { wellId: well.id, radius: r, color, opacity, sortKey: isWellOffset ? 1 : 0 },\n });\n }\n });\n\n mapRef.current.getSource(WELLS_ID).setData({ type: 'FeatureCollection', features });\n markersBoundsRef.current = features.length ? bounds : null;\n\n const map = mapRef.current;\n let hoveredWellId = null;\n\n const handleMouseMove = e => {\n map.getCanvas().style.cursor = 'pointer';\n\n const well = wellsById[e.features[0].properties.wellId];\n if (!well || well.id === hoveredWellId) {\n return;\n }\n hoveredWellId = well.id;\n\n if (popUpFormatter) {\n // Container to put React generated content in.\n const popUpContainer = document.createElement('div');\n const popUpContent = createElement(popUpFormatter, {\n well,\n color: get(formationColors, well.formation, '#BDBDBD'),\n });\n // NOTE: Custom popup may have buttons\n ReactDOM.render(<>{popUpContent}</>, popUpContainer);\n\n if (!popupRef.current) {\n popupRef.current = new mapboxgl.Popup({ closeButton: false, maxWidth: 'none' });\n }\n popupRef.current\n .setLngLat(toLngLat(get(well, coordsDataPath)))\n .setDOMContent(popUpContainer)\n .addTo(map);\n }\n };\n\n const handleMouseLeave = () => {\n hoveredWellId = null;\n map.getCanvas().style.cursor = '';\n popupRef.current?.remove();\n };\n\n const handleClick = e => {\n const { wellId } = e.features[0].properties;\n const isWellSubject = subjectWell && subjectWell.id === wellId;\n const isWellOffset = offsetWellIds.includes(wellId);\n\n if (isWellOffset && !isWellSubject) {\n onDeleteOffsetWell(wellId);\n } else {\n onAddOffsetWell(wellId);\n }\n };\n\n map.on('mousemove', WELLS_ID, handleMouseMove);\n map.on('mouseleave', WELLS_ID, handleMouseLeave);\n map.on('click', WELLS_ID, handleClick);\n\n setTimeout(() => {\n if (mapRef.current && radiusCircleBoundsRef.current && wells !== prevWells) {\n mapRef.current.fitBounds(radiusCircleBoundsRef.current, { padding: 5 });\n }\n }, 500);\n\n return () => {\n map.off('mousemove', WELLS_ID, handleMouseMove);\n map.off('mouseleave', WELLS_ID, handleMouseLeave);\n map.off('click', WELLS_ID, handleClick);\n };\n }, [subjectWell, wells, offsetWells, open, isMapReady]);\n\n useEffect(() => {\n if (!open) return;\n\n setTimeout(() => {\n if (subjectWell) {\n if (mapRef.current && radiusCircleBoundsRef.current) {\n mapRef.current.fitBounds(radiusCircleBoundsRef.current, {\n padding: 5,\n });\n }\n } else if (mapRef.current && markersBoundsRef.current) {\n mapRef.current.fitBounds(markersBoundsRef.current);\n }\n }, 500);\n }, [radius, subjectWell, open, isMapReady]);\n\n return (\n <div className={styles.map}>\n <div className={styles.mapMain} ref={mapContainerRef} />\n </div>\n );\n}\n\nWellsMap.propTypes = {\n open: PropTypes.bool.isRequired,\n subjectWell: PropTypes.shape({\n id: PropTypes.number,\n formation: PropTypes.string,\n }),\n wells: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n offsetWells: PropTypes.arrayOf(PropTypes.shape({})),\n radius: PropTypes.number.isRequired,\n formationColors: PropTypes.shape({}).isRequired,\n popUpFormatter: PropTypes.func,\n coordsDataPath: PropTypes.string,\n onAddOffsetWell: PropTypes.func.isRequired,\n onDeleteOffsetWell: PropTypes.func.isRequired,\n};\n\nWellsMap.defaultProps = {\n subjectWell: null,\n popUpFormatter: null,\n coordsDataPath: 'settings.top_hole.coordinates',\n offsetWells: null,\n};\n\nexport default memo(WellsMap);\n"],"names":["isValidCoordinates","mapbox","DEFAULT_COORDS","EMPTY_FEATURE_COLLECTION","type","features","toLngLat","_ref","_ref2","_slicedToArray","lat","WellsMap","_ref5","open","subjectWell","wells","offsetWells","radius","formationColors","popUpFormatter","coordsDataPath","onAddOffsetWell","onDeleteOffsetWell","mapContainerRef","useRef","mapRef","radiusCircleBoundsRef","markersBoundsRef","popupRef","prevWellsRef","useState","_useState2","_useState","isMapReady","setIsMapReady","subjectWellCoords","useMemo","get","useEffect","current","mapboxgl","Map","container","style","center","zoom","attributionControl","scrollZoom","addControl","NavigationControl","showCompass","on","addSource","data","addLayer","id","source","paint","layout","remove","getSource","setData","ring","_ref3","radiusMeters","_ref4","lng","points","distanceX","Math","cos","PI","distanceY","i","theta","push","sin","makeCirclePolygon","geometry","coordinates","reduce","bounds","coord","extend","LngLatBounds","prevWells","offsetWellIds","map","well","sortedWells","sortBy","includes","wellsById","forEach","coords","isWellSubject","isWellOffset","r","color","formation","opacity","properties","wellId","sortKey","length","hoveredWellId","handleMouseMove","e","getCanvas","cursor","popUpContainer","document","createElement","popUpContent","ReactDOM","render","_jsx","_Fragment","children","Popup","closeButton","maxWidth","setLngLat","setDOMContent","addTo","handleMouseLeave","_popupRef$current","handleClick","setTimeout","fitBounds","padding","off","className","styles","mapMain","ref","propTypes","PropTypes","bool","isRequired","shape","number","string","arrayOf","func","defaultProps","memo"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/regenerator";import{useRef as o,useEffect as i,useState as s}from"react";import{get as a}from"lodash";import{fetchCompanyGoals as c,fetchWells as u,fetchMetricsData as f}from"../../../utils/apiCalls.js";import{FILTERS as l,METRICS_KEYS as p}from"../constants.js";import{mapbox as m}from"../../../../../utils/index.js";import{BENCHMARK_METRIC_GOAL as h}from"../../../../../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";export{default as useBidirectionalFiltering}from"./biDirectionalFiltering.js";import{getCompanyGoalSetting as v}from"../../../../../utils/goals.js";function d(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),r.push.apply(r,e)}return r}function b(n){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?d(Object(e),!0).forEach((function(r){t(n,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):d(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}var j=m.getAssetV2Coordinates,y=m.getDistanceByCoordinates;function g(t){var n=o();return i((function(){n.current=t})),n.current}function O(t){var o=s(null),a=r(o,2),u=a[0],f=a[1];return i((function(){function r(){return(r=n(e.mark((function n(){var r,o;return e.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,c(t);case 2:r=n.sent,o=v(r,h),f(o);case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}f(null),function(){r.apply(this,arguments)}()}),[t]),u}function w(t,o){var a=s(null),c=r(a,2),f=c[0],l=c[1];return i((function(){function r(){return(r=n(e.mark((function n(){var r;return e.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!t){n.next=6;break}return n.next=3,u(t,o);case 3:n.t0=n.sent,n.next=7;break;case 6:n.t0=null;case 7:r=n.t0,l(r);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}l(null),function(){r.apply(this,arguments)}()}),[t]),f}function x(t,n,e){var o=s(null),a=r(o,2),c=a[0],u=a[1],f=/\sST0/g;return i((function(){if(e){var r=Object.values(l).reduce((function(n,r){return n.filter((function(n){return e=n[r],!(o=t[r])||0===o.length||o.includes(e);var e,o}))}),e).filter((function(t){return n&&!t.name.match(f)||!n}));u(r)}else u(null)}),[e,t,n]),c}function P(t,n){var e=s(null),o=r(e,2),a=o[0],c=o[1];return i((function(){if(t){var r=n&&j(n,"topHole");if(r){var e=[];t.forEach((function(t){var n=j(t,"topHole");if(n){var o=parseFloat(y(r,n));e.push(b(b({},t),{},{distance:o}))}else e.push(t)})),c(e)}else c(t)}else c(t)}),[t,n]),a}function E(t,n,e){var o=s(null),a=r(o,2),c=a[0],u=a[1];return i((function(){if(n){var t=[];n.forEach((function(n){e.includes(n.id)&&n.is_usable&&t.push(n)})),u(t)}else u(null)}),[t,n,e]),c}function k(t,c){var u=o({}),l=s(!0),m=r(l,2),h=m[0],v=m[1],d=s(null),j=r(d,2),y=j[0],g=j[1];return i((function(){function r(){return(r=n(e.mark((function n(r){var o,i,s;return e.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,f(t,r);case 2:o=n.sent,i={},r.forEach((function(t){var n={},r=o.filter((function(n){return a(n,"asset_id")===t}));p.forEach((function(t){var e=r.find((function(n){return a(n,"data.key")===t})),o=a(e,"data.value");n[t]=Number.isFinite(o)?parseFloat(o).toFixed(2):null})),i[t]=n})),u.current=b(b({},u.current),i),s=[],c.forEach((function(t){s.push(b(b({},t),u.current[t.id]))})),v(!1),g(s);case 10:case"end":return n.stop()}}),n)})))).apply(this,arguments)}if(c)if(0!==c.length){var o=[];c.forEach((function(t){u.current[t.id]||o.push(t.id)})),v(!0),function(t){r.apply(this,arguments)}(o)}else g([]);else g(null)}),[c]),[h,y]}function D(t,n,r){var e=o(!1);i((function(){if(n){if(e.current){var o=[];n.forEach((function(n){n.distance<=t&&o.push(n.id)})),r(o)}e.current=!0}}),[t,n])}export{O as useCompanyMetricKey,x as useFilteredWells,k as useMetricsData,E as useOffsetWells,g as usePrevious,D as useRadiusWells,w as useWells,P as useWellsWithCoords};
1
+ import t from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/slicedToArray";import e from"@babel/runtime/regenerator";import{useState as o,useEffect as i,useRef as s}from"react";import{get as a}from"lodash";import{fetchCompanyGoals as c,fetchWells as u,fetchMetricsData as f}from"../../../utils/apiCalls.js";import{FILTERS as l,METRICS_KEYS as p}from"../constants.js";import{mapbox as m}from"../../../../../utils/index.js";import{BENCHMARK_METRIC_GOAL as h}from"../../../../../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";export{default as useBidirectionalFiltering}from"./biDirectionalFiltering.js";import{getCompanyGoalSetting as d}from"../../../../../utils/goals.js";function v(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter((function(n){return Object.getOwnPropertyDescriptor(t,n).enumerable}))),r.push.apply(r,e)}return r}function b(n){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?v(Object(e),!0).forEach((function(r){t(n,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(e)):v(Object(e)).forEach((function(t){Object.defineProperty(n,t,Object.getOwnPropertyDescriptor(e,t))}))}return n}var j=m.getAssetV2Coordinates,y=m.getDistanceByCoordinates;function g(t){var s=o(null),a=r(s,2),u=a[0],f=a[1];return i((function(){function r(){return(r=n(e.mark((function n(){var r,o;return e.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,c(t);case 2:r=n.sent,o=d(r,h),f(o);case 5:case"end":return n.stop()}}),n)})))).apply(this,arguments)}f(null),function(){r.apply(this,arguments)}()}),[t]),u}function O(t,s){var a=o(null),c=r(a,2),f=c[0],l=c[1];return i((function(){function r(){return(r=n(e.mark((function n(){var r;return e.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(!t){n.next=6;break}return n.next=3,u(t,s);case 3:n.t0=n.sent,n.next=7;break;case 6:n.t0=null;case 7:r=n.t0,l(r);case 9:case"end":return n.stop()}}),n)})))).apply(this,arguments)}l(null),function(){r.apply(this,arguments)}()}),[t]),f}function w(t,n,e){var s=o(null),a=r(s,2),c=a[0],u=a[1],f=/\sST0/g;return i((function(){if(e){var r=Object.values(l).reduce((function(n,r){return n.filter((function(n){return e=n[r],!(o=t[r])||0===o.length||o.includes(e);var e,o}))}),e).filter((function(t){return n&&!t.name.match(f)||!n}));u(r)}else u(null)}),[e,t,n]),c}function x(t,n){var e=o(null),s=r(e,2),a=s[0],c=s[1];return i((function(){if(t){var r=n&&j(n,"topHole");if(r){var e=[];t.forEach((function(t){var n=j(t,"topHole");if(n){var o=parseFloat(y(r,n));e.push(b(b({},t),{},{distance:o}))}else e.push(t)})),c(e)}else c(t)}else c(t)}),[t,n]),a}function P(t,n,e){var s=o(null),a=r(s,2),c=a[0],u=a[1];return i((function(){if(n){var t=[];n.forEach((function(n){e.includes(n.id)&&n.is_usable&&t.push(n)})),u(t)}else u(null)}),[t,n,e]),c}function E(t,c){var u=s({}),l=o(!0),m=r(l,2),h=m[0],d=m[1],v=o(null),j=r(v,2),y=j[0],g=j[1];return i((function(){function r(){return(r=n(e.mark((function n(r){var o,i,s;return e.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,f(t,r);case 2:o=n.sent,i={},r.forEach((function(t){var n={},r=o.filter((function(n){return a(n,"asset_id")===t}));p.forEach((function(t){var e=r.find((function(n){return a(n,"data.key")===t})),o=a(e,"data.value");n[t]=Number.isFinite(o)?parseFloat(o).toFixed(2):null})),i[t]=n})),u.current=b(b({},u.current),i),s=[],c.forEach((function(t){s.push(b(b({},t),u.current[t.id]))})),d(!1),g(s);case 10:case"end":return n.stop()}}),n)})))).apply(this,arguments)}if(c)if(0!==c.length){var o=[];c.forEach((function(t){u.current[t.id]||o.push(t.id)})),d(!0),function(t){r.apply(this,arguments)}(o)}else g([]);else g(null)}),[c]),[h,y]}function k(t,n,r){var e=s(!1);i((function(){if(n){if(e.current){var o=[];n.forEach((function(n){n.distance<=t&&o.push(n.id)})),r(o)}e.current=!0}}),[t,n])}export{g as useCompanyMetricKey,w as useFilteredWells,E as useMetricsData,P as useOffsetWells,k as useRadiusWells,O as useWells,x as useWellsWithCoords};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../src/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\nimport { get } from 'lodash';\n\nimport { fetchWells, fetchMetricsData, fetchCompanyGoals } from '../../../utils/apiCalls';\nimport { FILTERS, METRICS_KEYS } from '../constants';\n\nimport { mapbox, goals } from '~/utils';\nimport { goals as goalsConstants } from '~/constants';\n\nexport { default as useBidirectionalFiltering } from './biDirectionalFiltering';\n\nconst { getAssetV2Coordinates, getDistanceByCoordinates } = mapbox;\n\nexport function usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport function useCompanyMetricKey(companyId) {\n const [metricKey, setMetricKey] = useState(null);\n\n useEffect(() => {\n async function handleFetchCompanyMetric() {\n const companyGoals = await fetchCompanyGoals(companyId);\n const companyMetricKey = goals.getCompanyGoalSetting(\n companyGoals,\n goalsConstants.BENCHMARK_METRIC_GOAL\n );\n\n setMetricKey(companyMetricKey);\n }\n\n setMetricKey(null);\n handleFetchCompanyMetric();\n }, [companyId]);\n\n return metricKey;\n}\n\nexport function useWells(companyId, addWellsUsabilityInfo) {\n const [wells, setWells] = useState(null);\n\n useEffect(() => {\n async function handleFetchWells() {\n const data = companyId ? await fetchWells(companyId, addWellsUsabilityInfo) : null;\n setWells(data);\n }\n\n setWells(null);\n handleFetchWells();\n }, [companyId]);\n\n return wells;\n}\n\nexport function useFilteredWells(dynamicFilters, excludeSideTrack, allWells) {\n const [filteredWells, setFilteredWells] = useState(null);\n const sideTrackStrRegex = /\\sST0/g;\n\n useEffect(() => {\n if (!allWells) {\n setFilteredWells(null);\n return;\n }\n\n const filterWell = (field, filter) => {\n return !filter || filter.length === 0 || filter.includes(field);\n };\n\n const filteredWells = Object.values(FILTERS).reduce((result, filterKey) => {\n return result.filter(well => filterWell(well[filterKey], dynamicFilters[filterKey]));\n }, allWells);\n\n const sideTracks = filteredWells.filter(\n well => (excludeSideTrack && !well.name.match(sideTrackStrRegex)) || !excludeSideTrack\n );\n\n setFilteredWells(sideTracks);\n }, [allWells, dynamicFilters, excludeSideTrack]);\n\n return filteredWells;\n}\n\nexport function useWellsWithCoords(wells, subjectWell) {\n const [wellsWithCoords, setWellsWithCoords] = useState(null);\n\n useEffect(() => {\n if (!wells) {\n setWellsWithCoords(wells);\n return;\n }\n\n const subjectWellCoord = subjectWell && getAssetV2Coordinates(subjectWell, 'topHole');\n\n if (!subjectWellCoord) {\n setWellsWithCoords(wells);\n return;\n }\n const result = [];\n wells.forEach(well => {\n const coord = getAssetV2Coordinates(well, 'topHole');\n if (coord) {\n const distance = parseFloat(getDistanceByCoordinates(subjectWellCoord, coord));\n result.push({ ...well, distance });\n } else {\n result.push(well);\n }\n });\n\n setWellsWithCoords(result);\n }, [wells, subjectWell]);\n\n return wellsWithCoords;\n}\n\nexport function useOffsetWells(radius, allWells, selectedWellIds) {\n const [offsetWells, setOffsetWells] = useState(null);\n\n useEffect(() => {\n if (!allWells) {\n // still loading...\n setOffsetWells(null);\n return;\n }\n\n const result = [];\n // NOTE: Add selected wells\n allWells.forEach(well => {\n if (selectedWellIds.includes(well.id) && well.is_usable) {\n result.push(well);\n }\n });\n\n setOffsetWells(result);\n }, [radius, allWells, selectedWellIds]);\n return offsetWells;\n}\n\nexport function useMetricsData(companyId, wells) {\n const fetchedData = useRef({});\n\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState(null);\n\n useEffect(() => {\n async function handleFetchMetricsData(wellIdsToFetch) {\n const records = await fetchMetricsData(companyId, wellIdsToFetch);\n\n const wellsMetrics = {};\n wellIdsToFetch.forEach(wellId => {\n const wellMetrics = {};\n\n const wellRecords = records.filter(item => get(item, 'asset_id') === wellId);\n METRICS_KEYS.forEach(metricsKey => {\n const record = wellRecords.find(item => get(item, 'data.key') === metricsKey);\n const value = get(record, 'data.value');\n wellMetrics[metricsKey] = Number.isFinite(value) ? parseFloat(value).toFixed(2) : null;\n });\n\n wellsMetrics[wellId] = wellMetrics;\n });\n\n // NOTE: Store previous fetching result\n fetchedData.current = {\n ...fetchedData.current,\n ...wellsMetrics,\n };\n\n const result = [];\n wells.forEach(well => {\n result.push({\n ...well,\n ...fetchedData.current[well.id],\n });\n });\n\n setLoading(false);\n setData(result);\n }\n\n if (!wells) {\n // still loading...\n setData(null);\n return;\n }\n\n if (wells.length === 0) {\n setData([]);\n return;\n }\n\n // NOTE: Make api calls for only missing wells\n const missingWellIds = [];\n wells.forEach(well => {\n if (!fetchedData.current[well.id]) {\n missingWellIds.push(well.id);\n }\n });\n\n setLoading(true);\n handleFetchMetricsData(missingWellIds);\n }, [wells]);\n\n return [loading, data];\n}\n\nexport function useRadiusWells(radius, filteredWellsWithCoords, setSelectedWellIds) {\n const initLoadingRef = useRef(false);\n useEffect(() => {\n if (filteredWellsWithCoords) {\n if (initLoadingRef.current) {\n const radiusWellIds = [];\n filteredWellsWithCoords.forEach(well => {\n if (well.distance <= radius) {\n radiusWellIds.push(well.id);\n }\n });\n setSelectedWellIds(radiusWellIds);\n }\n initLoadingRef.current = true;\n }\n }, [radius, filteredWellsWithCoords]);\n}\n"],"names":["getAssetV2Coordinates","mapbox","getDistanceByCoordinates","usePrevious","value","ref","useRef","useEffect","current","useCompanyMetricKey","companyId","useState","_useState2","_slicedToArray","_useState","metricKey","setMetricKey","_handleFetchCompanyMetric","_asyncToGenerator","_regeneratorRuntime","mark","_callee","companyGoals","companyMetricKey","wrap","_context","prev","next","fetchCompanyGoals","sent","goals","goalsConstants","stop","apply","this","arguments","handleFetchCompanyMetric","useWells","addWellsUsabilityInfo","_useState4","_useState3","wells","setWells","_handleFetchWells","_callee2","data","_context2","fetchWells","t0","handleFetchWells","useFilteredWells","dynamicFilters","excludeSideTrack","allWells","_useState6","_useState5","filteredWells","setFilteredWells","sideTrackStrRegex","sideTracks","Object","values","FILTERS","reduce","result","filterKey","filter","well","field","length","includes","name","match","useWellsWithCoords","subjectWell","_useState8","_useState7","wellsWithCoords","setWellsWithCoords","subjectWellCoord","forEach","coord","distance","parseFloat","push","_objectSpread","useOffsetWells","radius","selectedWellIds","_useState10","_useState9","offsetWells","setOffsetWells","id","is_usable","useMetricsData","fetchedData","_useState12","_useState11","loading","setLoading","_useState14","_useState13","setData","_handleFetchMetricsData","wellIdsToFetch","records","wellsMetrics","_context3","fetchMetricsData","wellId","wellMetrics","wellRecords","item","get","METRICS_KEYS","metricsKey","record","find","Number","isFinite","toFixed","_callee3","missingWellIds","_x","handleFetchMetricsData","useRadiusWells","filteredWellsWithCoords","setSelectedWellIds","initLoadingRef","radiusWellIds"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../src/components/OffsetWellPickerV3/components/CustomSelectionView/effects/index.js"],"sourcesContent":["import { useEffect, useState, useRef } from 'react';\nimport { get } from 'lodash';\n\nimport { fetchWells, fetchMetricsData, fetchCompanyGoals } from '../../../utils/apiCalls';\nimport { FILTERS, METRICS_KEYS } from '../constants';\n\nimport { mapbox, goals } from '~/utils';\nimport { goals as goalsConstants } from '~/constants';\n\nexport { default as useBidirectionalFiltering } from './biDirectionalFiltering';\n\nconst { getAssetV2Coordinates, getDistanceByCoordinates } = mapbox;\n\nexport function usePrevious(value) {\n const ref = useRef();\n useEffect(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\nexport function useCompanyMetricKey(companyId) {\n const [metricKey, setMetricKey] = useState(null);\n\n useEffect(() => {\n async function handleFetchCompanyMetric() {\n const companyGoals = await fetchCompanyGoals(companyId);\n const companyMetricKey = goals.getCompanyGoalSetting(\n companyGoals,\n goalsConstants.BENCHMARK_METRIC_GOAL\n );\n\n setMetricKey(companyMetricKey);\n }\n\n setMetricKey(null);\n handleFetchCompanyMetric();\n }, [companyId]);\n\n return metricKey;\n}\n\nexport function useWells(companyId, addWellsUsabilityInfo) {\n const [wells, setWells] = useState(null);\n\n useEffect(() => {\n async function handleFetchWells() {\n const data = companyId ? await fetchWells(companyId, addWellsUsabilityInfo) : null;\n setWells(data);\n }\n\n setWells(null);\n handleFetchWells();\n }, [companyId]);\n\n return wells;\n}\n\nexport function useFilteredWells(dynamicFilters, excludeSideTrack, allWells) {\n const [filteredWells, setFilteredWells] = useState(null);\n const sideTrackStrRegex = /\\sST0/g;\n\n useEffect(() => {\n if (!allWells) {\n setFilteredWells(null);\n return;\n }\n\n const filterWell = (field, filter) => {\n return !filter || filter.length === 0 || filter.includes(field);\n };\n\n const filteredWells = Object.values(FILTERS).reduce((result, filterKey) => {\n return result.filter(well => filterWell(well[filterKey], dynamicFilters[filterKey]));\n }, allWells);\n\n const sideTracks = filteredWells.filter(\n well => (excludeSideTrack && !well.name.match(sideTrackStrRegex)) || !excludeSideTrack\n );\n\n setFilteredWells(sideTracks);\n }, [allWells, dynamicFilters, excludeSideTrack]);\n\n return filteredWells;\n}\n\nexport function useWellsWithCoords(wells, subjectWell) {\n const [wellsWithCoords, setWellsWithCoords] = useState(null);\n\n useEffect(() => {\n if (!wells) {\n setWellsWithCoords(wells);\n return;\n }\n\n const subjectWellCoord = subjectWell && getAssetV2Coordinates(subjectWell, 'topHole');\n\n if (!subjectWellCoord) {\n setWellsWithCoords(wells);\n return;\n }\n const result = [];\n wells.forEach(well => {\n const coord = getAssetV2Coordinates(well, 'topHole');\n if (coord) {\n const distance = parseFloat(getDistanceByCoordinates(subjectWellCoord, coord));\n result.push({ ...well, distance });\n } else {\n result.push(well);\n }\n });\n\n setWellsWithCoords(result);\n }, [wells, subjectWell]);\n\n return wellsWithCoords;\n}\n\nexport function useOffsetWells(radius, allWells, selectedWellIds) {\n const [offsetWells, setOffsetWells] = useState(null);\n\n useEffect(() => {\n if (!allWells) {\n // still loading...\n setOffsetWells(null);\n return;\n }\n\n const result = [];\n // NOTE: Add selected wells\n allWells.forEach(well => {\n if (selectedWellIds.includes(well.id) && well.is_usable) {\n result.push(well);\n }\n });\n\n setOffsetWells(result);\n }, [radius, allWells, selectedWellIds]);\n return offsetWells;\n}\n\nexport function useMetricsData(companyId, wells) {\n const fetchedData = useRef({});\n\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState(null);\n\n useEffect(() => {\n async function handleFetchMetricsData(wellIdsToFetch) {\n const records = await fetchMetricsData(companyId, wellIdsToFetch);\n\n const wellsMetrics = {};\n wellIdsToFetch.forEach(wellId => {\n const wellMetrics = {};\n\n const wellRecords = records.filter(item => get(item, 'asset_id') === wellId);\n METRICS_KEYS.forEach(metricsKey => {\n const record = wellRecords.find(item => get(item, 'data.key') === metricsKey);\n const value = get(record, 'data.value');\n wellMetrics[metricsKey] = Number.isFinite(value) ? parseFloat(value).toFixed(2) : null;\n });\n\n wellsMetrics[wellId] = wellMetrics;\n });\n\n // NOTE: Store previous fetching result\n fetchedData.current = {\n ...fetchedData.current,\n ...wellsMetrics,\n };\n\n const result = [];\n wells.forEach(well => {\n result.push({\n ...well,\n ...fetchedData.current[well.id],\n });\n });\n\n setLoading(false);\n setData(result);\n }\n\n if (!wells) {\n // still loading...\n setData(null);\n return;\n }\n\n if (wells.length === 0) {\n setData([]);\n return;\n }\n\n // NOTE: Make api calls for only missing wells\n const missingWellIds = [];\n wells.forEach(well => {\n if (!fetchedData.current[well.id]) {\n missingWellIds.push(well.id);\n }\n });\n\n setLoading(true);\n handleFetchMetricsData(missingWellIds);\n }, [wells]);\n\n return [loading, data];\n}\n\nexport function useRadiusWells(radius, filteredWellsWithCoords, setSelectedWellIds) {\n const initLoadingRef = useRef(false);\n useEffect(() => {\n if (filteredWellsWithCoords) {\n if (initLoadingRef.current) {\n const radiusWellIds = [];\n filteredWellsWithCoords.forEach(well => {\n if (well.distance <= radius) {\n radiusWellIds.push(well.id);\n }\n });\n setSelectedWellIds(radiusWellIds);\n }\n initLoadingRef.current = true;\n }\n }, [radius, filteredWellsWithCoords]);\n}\n"],"names":["getAssetV2Coordinates","mapbox","getDistanceByCoordinates","useCompanyMetricKey","companyId","useState","_useState2","_slicedToArray","_useState","metricKey","setMetricKey","useEffect","_handleFetchCompanyMetric","_asyncToGenerator","_regeneratorRuntime","mark","_callee","companyGoals","companyMetricKey","wrap","_context","prev","next","fetchCompanyGoals","sent","goals","goalsConstants","stop","apply","this","arguments","handleFetchCompanyMetric","useWells","addWellsUsabilityInfo","_useState4","_useState3","wells","setWells","_handleFetchWells","_callee2","data","_context2","fetchWells","t0","handleFetchWells","useFilteredWells","dynamicFilters","excludeSideTrack","allWells","_useState6","_useState5","filteredWells","setFilteredWells","sideTrackStrRegex","sideTracks","Object","values","FILTERS","reduce","result","filterKey","filter","well","field","length","includes","name","match","useWellsWithCoords","subjectWell","_useState8","_useState7","wellsWithCoords","setWellsWithCoords","subjectWellCoord","forEach","coord","distance","parseFloat","push","_objectSpread","useOffsetWells","radius","selectedWellIds","_useState10","_useState9","offsetWells","setOffsetWells","id","is_usable","useMetricsData","fetchedData","useRef","_useState12","_useState11","loading","setLoading","_useState14","_useState13","setData","_handleFetchMetricsData","wellIdsToFetch","records","wellsMetrics","_context3","fetchMetricsData","wellId","wellMetrics","wellRecords","item","get","METRICS_KEYS","metricsKey","record","find","value","Number","isFinite","toFixed","current","_callee3","missingWellIds","_x","handleFetchMetricsData","useRadiusWells","filteredWellsWithCoords","setSelectedWellIds","initLoadingRef","radiusWellIds"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellMap.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.tsx"],"names":[],"mappings":"AAGA,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AASlE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAQ1D,KAAK,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,kBAAkB,EAAE,CAClB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,EACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,KAC7C,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AAE1E,eAAO,MAAM,aAAa,oHA4JxB,CAAC"}
1
+ {"version":3,"file":"OffsetWellMap.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/Map/OffsetWellMap/OffsetWellMap.tsx"],"names":[],"mappings":"AAGA,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AASlE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAS1D,KAAK,iBAAiB,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,sBAAsB,EAAE,CAAC,IAAI,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,kBAAkB,EAAE,CAClB,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE,EACvB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,KAC7C,IAAI,CAAC;IACV,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACrC,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;IAChC,kEAAkE;IAClE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAAE,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,CAAC;AAE1E,eAAO,MAAM,aAAa,oHA6JxB,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/defineProperty";import{jsxs as o,jsx as s}from"react/jsx-runtime";import{forwardRef as l,useCallback as t}from"react";import i from"@vis.gl/react-mapbox";import a from"classnames";import"mapbox-gl/dist/mapbox-gl.css";import{MapLayers as n}from"./components/MapLayers/MapLayers.js";import{MapOverlayControls as r}from"./components/MapOverlayControls/MapOverlayControls.js";import{MapResizeVeil as d}from"./components/MapResizeVeil/MapResizeVeil.js";import{useFlyToWell as c}from"./hooks/useFlyToWell.js";import{useIsMapCompact as u}from"./hooks/useIsMapCompact.js";import{useMapResizeOnContainer as h}from"./hooks/useMapResizeOnContainer.js";import{useOffsetWellMapState as p}from"./hooks/useOffsetWellMapState.js";import{MapConfig as m}from"./constants.js";import g from"./OffsetWellMap.module.css.js";import{LoaderLinear as f}from"../../../../../componentsV2/LoaderLinear/LoaderLinear.js";import{MAP_BOX_ACCESS_TOKEN as v}from"../../../../../config/mapbox/index.js";function S(e,o){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);o&&(l=l.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),s.push.apply(s,l)}return s}function y(o){for(var s=1;s<arguments.length;s++){var l=null!=arguments[s]?arguments[s]:{};s%2?S(Object(l),!0).forEach((function(s){e(o,s,l[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(l)):S(Object(l)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(l,e))}))}return o}var O=l((function(e,l){var S=e.subjectWell,O=void 0===S?null:S,w=e.wells,M=e.offsetWellIds,R=e.handleChangeOffsetWell,b=e.onBatchSelectWells,C=e.activeWellId,W=e.isClickable,j=void 0===W||W,D=e.selectionZone,L=e.onSelectionZoneConfirm,Z=e.shouldRecenter,I=e.onRecenterComplete,P=e.isResizing,A=void 0!==P&&P,x=e.classes,E=void 0===x?{}:x,T=p({subjectWell:O,wells:w,offsetWellIds:M,handleChangeOffsetWell:R,onBatchSelectWells:b,activeWellId:null!=C?C:null,isClickable:j,selectionZone:D,onSelectionZoneConfirm:L,shouldRecenter:Z,onRecenterComplete:I});c(l,T.mapRef,w,T.isMapReady);var k=T.showRadiusInput&&null!==T.drawingRadiusMiles,V=u(),N=V.ref,G=V.isCompact&&k,z=h(T.mapRef,A),J=t((function(e){N(e),z(e)}),[N,z]);return o("div",{ref:J,className:a(g.mapView,E.root),children:[o(i,y(y({ref:T.mapRef},T.viewState),{},{onMove:T.handleMove,onMoveStart:T.handleMoveStart,onMoveEnd:T.handleMoveEnd,onResize:T.tileSafeOnResize,onLoad:T.handleMapLoad,mapboxAccessToken:v,mapStyle:m.Styles[T.mapStyle],style:{borderRadius:"8px"},scrollZoom:!0,doubleClickZoom:!0,boxZoom:!1,attributionControl:!1,interactiveLayerIds:[m.LayerIds.WellsClusters,m.LayerIds.WellsUnclustered],onClick:T.handleMapClick,onMouseMove:T.handleMouseMove,onMouseLeave:T.handleMouseLeave,onDblClick:T.handleZoomInWithSync,onDragStart:T.handleDragStart,onDragEnd:T.handleDragEnd,onMouseDown:T.handleMouseDown,cursor:T.cursor,children:[(T.isTileLoading&&!T.isTooZoomedOut||T.isAllWellsLoading)&&s(f,{type:"fancy",size:"medium",className:g.mapLoader}),s(n,{wellsGeoJSON:T.wellsGeoJSON,highlightGeoJSON:T.highlightGeoJSON,activeHighlightGeoJSON:T.activeHighlightGeoJSON,loadingTilesGeoJSON:T.loadingTilesGeoJSON,hoveredWell:T.hoveredWell,mapStyle:T.mapStyle,isSatellite:T.isSatellite,clusterColorExpression:T.clusterColorExpression,isRadiusToolActive:T.isRadiusToolActive,radiusState:T.radiusState,radiusDrawingPreviewCircle:T.radiusDrawingPreviewCircle,isRadiusHoveringEdge:T.isRadiusHoveringEdge,isRadiusDrawingDragging:T.isRadiusDrawingDragging,showGhostZone:T.showGhostZone,selectionZone:D,isTooZoomedOut:T.isTooZoomedOut,isLoadAllWells:T.isLoadAllWells,isActiveWellIsSubjectWell:T.isActiveWellIsSubjectWell,isLassoActive:T.isLassoActive,isMapReady:T.isMapReady,polygonCoords:T.polygonCoords,drawRef:T.drawRef,handleDrawCreate:T.handleDrawCreate,handleDrawUpdate:T.handleDrawUpdate,handleDrawDelete:T.handleDrawDelete,handleModeChange:T.handleModeChange,handleSelectionChange:T.handleSelectionChange,subjectWellCoords:T.subjectWellCoords,subjectWell:O,handleSubjectWellMouseEnter:T.handleSubjectWellMouseEnter,handleSubjectWellMouseLeave:T.handleSubjectWellMouseLeave,hoveredCluster:T.hoveredCluster,tooltipAnchor:T.tooltipAnchor,tooltipOffset:T.tooltipOffset,isViewOnly:T.isViewOnly,isClickable:j})]})),s(d,{isResizing:A}),s(r,{showRadiusInput:T.showRadiusInput,drawingRadiusMiles:T.drawingRadiusMiles,setDrawingRadiusMiles:T.setDrawingRadiusMiles,isSatellite:T.isSatellite,handleZoomInWithSync:T.handleZoomInWithSync,handleZoomOutWithSync:T.handleZoomOutWithSync,handleResetZoom:T.handleResetZoom,canZoomIn:T.canZoomIn,canZoomOut:T.canZoomOut,isZoomReset:T.isZoomReset,isRadiusToolActive:T.isRadiusToolActive,handleRadiusToggle:T.handleRadiusToggle,isLassoActive:T.isLassoActive,handleLassoToggle:T.handleLassoToggle,distance:T.distance,mapStyle:T.mapStyle,setMapStyle:T.setMapStyle,isViewOnly:T.isViewOnly,hintsRef:T.hintsRef,hintsMode:T.hintsMode,areHintsCompact:G,boxState:T.boxState,isDrawing:T.isDrawing,drawingPointCount:T.drawingPointCount,isEditingPolygon:T.isEditingPolygon,isEditingVertices:T.isEditingVertices,hasValidPolygon:!!T.hasValidPolygon,effectiveZoomedOut:T.effectiveZoomedOut,isLoadAllWells:T.isLoadAllWells,lassoPhase:T.lassoState.phase,radiusPhase:T.radiusState.phase,wellsInBoxCount:T.wellsInBoxCount,toast:T.toast})]})}));O.displayName="OffsetWellMap";export{O as OffsetWellMap};
1
+ import e from"@babel/runtime/helpers/defineProperty";import{jsxs as o,jsx as s}from"react/jsx-runtime";import{forwardRef as l,useCallback as i}from"react";import t from"@vis.gl/react-mapbox";import a from"classnames";import"mapbox-gl/dist/mapbox-gl.css";import{MapLayers as n}from"./components/MapLayers/MapLayers.js";import{MapOverlayControls as r}from"./components/MapOverlayControls/MapOverlayControls.js";import{MapResizeVeil as d}from"./components/MapResizeVeil/MapResizeVeil.js";import{useFlyToWell as c}from"./hooks/useFlyToWell.js";import{useIsMapCompact as p}from"./hooks/useIsMapCompact.js";import{useMapResizeOnContainer as u}from"./hooks/useMapResizeOnContainer.js";import{useOffsetWellMapState as m}from"./hooks/useOffsetWellMapState.js";import{MapConfig as h}from"./constants.js";import g from"./OffsetWellMap.module.css.js";import{LoaderLinear as f}from"../../../../../componentsV2/LoaderLinear/LoaderLinear.js";import{MAP_BOX_ACCESS_TOKEN as v}from"../../../../../config/mapbox/index.js";import"../../../../../config/mapboxGl/index.js";import S from"mapbox-gl";function y(e,o){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);o&&(l=l.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),s.push.apply(s,l)}return s}function O(o){for(var s=1;s<arguments.length;s++){var l=null!=arguments[s]?arguments[s]:{};s%2?y(Object(l),!0).forEach((function(s){e(o,s,l[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(l)):y(Object(l)).forEach((function(e){Object.defineProperty(o,e,Object.getOwnPropertyDescriptor(l,e))}))}return o}var w=l((function(e,l){var y=e.subjectWell,w=void 0===y?null:y,b=e.wells,M=e.offsetWellIds,R=e.handleChangeOffsetWell,C=e.onBatchSelectWells,W=e.activeWellId,j=e.isClickable,D=void 0===j||j,L=e.selectionZone,Z=e.onSelectionZoneConfirm,I=e.shouldRecenter,x=e.onRecenterComplete,P=e.isResizing,A=void 0!==P&&P,E=e.classes,T=void 0===E?{}:E,k=m({subjectWell:w,wells:b,offsetWellIds:M,handleChangeOffsetWell:R,onBatchSelectWells:C,activeWellId:null!=W?W:null,isClickable:D,selectionZone:L,onSelectionZoneConfirm:Z,shouldRecenter:I,onRecenterComplete:x});c(l,k.mapRef,b,k.isMapReady);var V=k.showRadiusInput&&null!==k.drawingRadiusMiles,G=p(),N=G.ref,z=G.isCompact&&V,J=u(k.mapRef,A),H=i((function(e){N(e),J(e)}),[N,J]);return o("div",{ref:H,className:a(g.mapView,T.root),children:[o(t,O(O({ref:k.mapRef},k.viewState),{},{onMove:k.handleMove,onMoveStart:k.handleMoveStart,onMoveEnd:k.handleMoveEnd,onResize:k.tileSafeOnResize,onLoad:k.handleMapLoad,mapboxAccessToken:v,mapLib:S,mapStyle:h.Styles[k.mapStyle],style:{borderRadius:"8px"},scrollZoom:!0,doubleClickZoom:!0,boxZoom:!1,attributionControl:!1,interactiveLayerIds:[h.LayerIds.WellsClusters,h.LayerIds.WellsUnclustered],onClick:k.handleMapClick,onMouseMove:k.handleMouseMove,onMouseLeave:k.handleMouseLeave,onDblClick:k.handleZoomInWithSync,onDragStart:k.handleDragStart,onDragEnd:k.handleDragEnd,onMouseDown:k.handleMouseDown,cursor:k.cursor,children:[(k.isTileLoading&&!k.isTooZoomedOut||k.isAllWellsLoading)&&s(f,{type:"fancy",size:"medium",className:g.mapLoader}),s(n,{wellsGeoJSON:k.wellsGeoJSON,highlightGeoJSON:k.highlightGeoJSON,activeHighlightGeoJSON:k.activeHighlightGeoJSON,loadingTilesGeoJSON:k.loadingTilesGeoJSON,hoveredWell:k.hoveredWell,mapStyle:k.mapStyle,isSatellite:k.isSatellite,clusterColorExpression:k.clusterColorExpression,isRadiusToolActive:k.isRadiusToolActive,radiusState:k.radiusState,radiusDrawingPreviewCircle:k.radiusDrawingPreviewCircle,isRadiusHoveringEdge:k.isRadiusHoveringEdge,isRadiusDrawingDragging:k.isRadiusDrawingDragging,showGhostZone:k.showGhostZone,selectionZone:L,isTooZoomedOut:k.isTooZoomedOut,isLoadAllWells:k.isLoadAllWells,isActiveWellIsSubjectWell:k.isActiveWellIsSubjectWell,isLassoActive:k.isLassoActive,isMapReady:k.isMapReady,polygonCoords:k.polygonCoords,drawRef:k.drawRef,handleDrawCreate:k.handleDrawCreate,handleDrawUpdate:k.handleDrawUpdate,handleDrawDelete:k.handleDrawDelete,handleModeChange:k.handleModeChange,handleSelectionChange:k.handleSelectionChange,subjectWellCoords:k.subjectWellCoords,subjectWell:w,handleSubjectWellMouseEnter:k.handleSubjectWellMouseEnter,handleSubjectWellMouseLeave:k.handleSubjectWellMouseLeave,hoveredCluster:k.hoveredCluster,tooltipAnchor:k.tooltipAnchor,tooltipOffset:k.tooltipOffset,isViewOnly:k.isViewOnly,isClickable:D})]})),s(d,{isResizing:A}),s(r,{showRadiusInput:k.showRadiusInput,drawingRadiusMiles:k.drawingRadiusMiles,setDrawingRadiusMiles:k.setDrawingRadiusMiles,isSatellite:k.isSatellite,handleZoomInWithSync:k.handleZoomInWithSync,handleZoomOutWithSync:k.handleZoomOutWithSync,handleResetZoom:k.handleResetZoom,canZoomIn:k.canZoomIn,canZoomOut:k.canZoomOut,isZoomReset:k.isZoomReset,isRadiusToolActive:k.isRadiusToolActive,handleRadiusToggle:k.handleRadiusToggle,isLassoActive:k.isLassoActive,handleLassoToggle:k.handleLassoToggle,distance:k.distance,mapStyle:k.mapStyle,setMapStyle:k.setMapStyle,isViewOnly:k.isViewOnly,hintsRef:k.hintsRef,hintsMode:k.hintsMode,areHintsCompact:z,boxState:k.boxState,isDrawing:k.isDrawing,drawingPointCount:k.drawingPointCount,isEditingPolygon:k.isEditingPolygon,isEditingVertices:k.isEditingVertices,hasValidPolygon:!!k.hasValidPolygon,effectiveZoomedOut:k.effectiveZoomedOut,isLoadAllWells:k.isLoadAllWells,lassoPhase:k.lassoState.phase,radiusPhase:k.radiusState.phase,wellsInBoxCount:k.wellsInBoxCount,toast:k.toast})]})}));w.displayName="OffsetWellMap";export{w as OffsetWellMap};
2
2
  //# sourceMappingURL=OffsetWellMap.js.map
@@ -12,7 +12,7 @@ export declare const useMapTooltipState: ({ mapRef, isViewOnly, isClickable, }:
12
12
  showClusterTooltip: (params: import("./useTooltip").HoveredClusterState) => void;
13
13
  hideTooltip: () => void;
14
14
  hintsRef: (element: HTMLElement | null) => void;
15
- tooltipAnchor: "center" | "bottom" | "left" | "right" | "top" | "top-left" | "top-right" | "bottom-right" | "bottom-left";
15
+ tooltipAnchor: "center" | "bottom" | "left" | "right" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
16
16
  tooltipOffset: number;
17
17
  };
18
18
  export {};
@@ -35,7 +35,7 @@ export declare const useOffsetWellMapState: (params: UseOffsetWellMapStateParams
35
35
  showClusterTooltip: (params: import("./useTooltip").HoveredClusterState) => void;
36
36
  hideTooltip: () => void;
37
37
  hintsRef: (element: HTMLElement | null) => void;
38
- tooltipAnchor: "center" | "bottom" | "left" | "right" | "top" | "top-left" | "top-right" | "bottom-right" | "bottom-left";
38
+ tooltipAnchor: "center" | "bottom" | "left" | "right" | "top" | "top-left" | "top-right" | "bottom-left" | "bottom-right";
39
39
  tooltipOffset: number;
40
40
  isDragging: boolean;
41
41
  cursor: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"MapPreloader.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/components/MapPreloader/MapPreloader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;AAEjC,OAAO,8BAA8B,CAAC;AAStC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,EAgBzB,CAAC"}
1
+ {"version":3,"file":"MapPreloader.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/components/MapPreloader/MapPreloader.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;AAEjC,OAAO,8BAA8B,CAAC;AAUtC;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,EAiBzB,CAAC"}
@@ -1,2 +1,2 @@
1
- import{jsx as t}from"react/jsx-runtime";import{memo as e}from"react";import o from"@vis.gl/react-mapbox";import"mapbox-gl/dist/mapbox-gl.css";import{MapConfig as r}from"../Map/OffsetWellMap/constants.js";import"../../stores/user-settings-store/UserSettingsStoreProvider.js";import{useUserSettingsStore as s}from"../../stores/user-settings-store/useUserSettingsStore.js";import"../../stores/user-settings-store/UserSettingsStoreContext.js";import i from"./MapPreloader.module.css.js";import{MAP_BOX_ACCESS_TOKEN as a}from"../../../../config/mapbox/index.js";var m=e((function(){var e,m=null!==(e=s((function(t){return t.settings.mapStyle})))&&void 0!==e?e:"satellite";return t("div",{className:i.container,children:t(o,{mapboxAccessToken:a,mapStyle:r.Styles[m],longitude:r.DefaultCoords.longitude,latitude:r.DefaultCoords.latitude,zoom:r.Zoom.Initial,interactive:!1,attributionControl:!1})})}));m.displayName="MapPreloader";export{m as MapPreloader};
1
+ import{jsx as t}from"react/jsx-runtime";import{memo as o}from"react";import e from"@vis.gl/react-mapbox";import"mapbox-gl/dist/mapbox-gl.css";import{MapConfig as r}from"../Map/OffsetWellMap/constants.js";import"../../stores/user-settings-store/UserSettingsStoreProvider.js";import{useUserSettingsStore as s}from"../../stores/user-settings-store/useUserSettingsStore.js";import"../../stores/user-settings-store/UserSettingsStoreContext.js";import i from"./MapPreloader.module.css.js";import{MAP_BOX_ACCESS_TOKEN as m}from"../../../../config/mapbox/index.js";import"../../../../config/mapboxGl/index.js";import a from"mapbox-gl";var n=o((function(){var o,n=null!==(o=s((function(t){return t.settings.mapStyle})))&&void 0!==o?o:"satellite";return t("div",{className:i.container,children:t(e,{mapboxAccessToken:m,mapLib:a,mapStyle:r.Styles[n],longitude:r.DefaultCoords.longitude,latitude:r.DefaultCoords.latitude,zoom:r.Zoom.Initial,interactive:!1,attributionControl:!1})})}));n.displayName="MapPreloader";export{n as MapPreloader};
2
2
  //# sourceMappingURL=MapPreloader.js.map
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/slicedToArray";import{useState as e,useEffect as i,useRef as o}from"react";import n from"react-dom";import{isEqual as s}from"lodash";import{MuiThemeProvider as h}from"@material-ui/core/styles";import m from"../components/FiltersToggler.js";import{getStartComponent as l,getMiddleComponent as c,getEndComponents as a}from"../utils.js";import{LARGE_SIZE_LAYOUT as u,MEDIUM_SIZE_LAYOUT as p,SMALL_SIZE_LAYOUT as d}from"../constants.js";import{darkTheme as f}from"../../../config/theme/index.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/typeof";import"@babel/runtime/regenerator";import"highcharts-v8";import"highcharts-v8/highcharts-more";import"highcharts-v8/modules/solid-gauge";import"highcharts-v8/modules/heatmap";import"highcharts-v8/modules/boost";import"highcharts-v8/modules/exporting";import"highcharts-v8/modules/xrange";import"highcharts-v8/modules/dumbbell";import"highcharts-v8/modules/pattern-fill";import"highcharts-v8/modules/annotations";import"highcharts-multicolor-series-v8";import"highcharts";import"highcharts/highcharts-more";import"highcharts/modules/solid-gauge";import"highcharts/modules/heatmap";import"highcharts/modules/boost";import"highcharts/modules/exporting";import"highcharts/modules/xrange";import"highcharts/modules/dumbbell";import"highcharts/modules/pattern-fill";import"highcharts/modules/annotations";import"highcharts-multicolor-series";import"dompurify";import"../../../config/mapbox/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../config/extendNative.js";import{jsx as g}from"react/jsx-runtime";function v(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);r&&(i=i.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,i)}return e}function b(r){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?v(Object(i),!0).forEach((function(e){t(r,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):v(Object(i)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(i,t))}))}return r}function y(t,o,n,s){var h=e(null),m=r(h,2),f=m[0],g=m[1];return i((function(){if(s&&o){var r=l(t),e=c(t),i=a(t),h=r&&e&&!i,m=r&&!e&&i,f=r&&e&&i;if(r&&!e&&!i){var v=o[r.key];if(v<=s)return void g(u);if(v<=s/2)return void g(p)}else if(h||m){var b=o[r.key],y=h?o[e.key]:o[i.key];if(b+y<=s)return void g(u);if(n+y<=s)return void g(p)}else if(f){var j=o[r.key],O=o[e.key],k=o[i.key];if(j+O+k<=s)return void g(u);if(n+O+k<=s)return void g(p);if(n+k<=s)return void g(d)}g(d)}}),[o,s]),f}function j(n){var h=o(),m=e(null),l=r(m,2),c=l[0],a=l[1],u=o({}),p=n.filter((function(t){return!!t})),d=g("div",{ref:h,style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:p.map((function(t,r){return g("div",{"data-key":null==t?void 0:t.key,style:{position:"absolute"},children:t},r)}))});return i((function(){var r;if(!s(p,u.current)){var e=Array.from(null===(r=h.current)||void 0===r?void 0:r.childNodes).reduce((function(r,e){var i,o=null==e||null===(i=e.getAttribute)||void 0===i?void 0:i.call(e,"data-key"),n=null==e?void 0:e.getBoundingClientRect().width;return b(b({},r),{},t({},o,n))}),{});Object.values(e).length===p.length&&(s(c,e)||a(e)),u.current=p}})),{componentsWidth:c,hiddenElements:d}}function O(){var t=e(null),o=r(t,2),s=o[0],l=o[1];return i((function(){var t=document.createElement("div");t.style.position="absolute",t.style.visibility="hidden",document.body.appendChild(t),n.render(g(h,{theme:f,children:g(m,{})}),t,(function(){var r=t.getBoundingClientRect();t.remove(),l(r.width)}))}),[]),s}export{O as useAppFilterTogglerWidth,j as useComonentsWidth,y as useFilterLayout};
1
+ import r from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as e,useEffect as i,useRef as o}from"react";import n from"react-dom";import{isEqual as s}from"lodash";import{MuiThemeProvider as l}from"@material-ui/core/styles";import m from"../components/FiltersToggler.js";import{getStartComponent as h,getMiddleComponent as a,getEndComponents as u}from"../utils.js";import{LARGE_SIZE_LAYOUT as p,MEDIUM_SIZE_LAYOUT as c,SMALL_SIZE_LAYOUT as d}from"../constants.js";import{darkTheme as b}from"../../../config/theme/index.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/typeof";import"@babel/runtime/regenerator";import"highcharts-v8";import"highcharts-v8/highcharts-more";import"highcharts-v8/modules/solid-gauge";import"highcharts-v8/modules/heatmap";import"highcharts-v8/modules/boost";import"highcharts-v8/modules/exporting";import"highcharts-v8/modules/xrange";import"highcharts-v8/modules/dumbbell";import"highcharts-v8/modules/pattern-fill";import"highcharts-v8/modules/annotations";import"highcharts-multicolor-series-v8";import"highcharts";import"highcharts/highcharts-more";import"highcharts/modules/solid-gauge";import"highcharts/modules/heatmap";import"highcharts/modules/boost";import"highcharts/modules/exporting";import"highcharts/modules/xrange";import"highcharts/modules/dumbbell";import"highcharts/modules/pattern-fill";import"highcharts/modules/annotations";import"highcharts-multicolor-series";import"dompurify";import"@babel/runtime/helpers/createClass";import"@babel/runtime/helpers/classCallCheck";import"@babel/runtime/helpers/assertThisInitialized";import"@babel/runtime/helpers/inherits";import"@babel/runtime/helpers/possibleConstructorReturn";import"@babel/runtime/helpers/getPrototypeOf";import"@babel/runtime/helpers/toArray";import"@babel/runtime/helpers/toConsumableArray";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../config/extendNative.js";import{jsx as f}from"react/jsx-runtime";function g(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(r);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,i)}return e}function v(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?g(Object(i),!0).forEach((function(e){r(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):g(Object(i)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(i,r))}))}return t}function y(r,o,n,s){var l=e(null),m=t(l,2),b=m[0],f=m[1];return i((function(){if(s&&o){var t=h(r),e=a(r),i=u(r),l=t&&e&&!i,m=t&&!e&&i,b=t&&e&&i;if(t&&!e&&!i){var g=o[t.key];if(g<=s)return void f(p);if(g<=s/2)return void f(c)}else if(l||m){var v=o[t.key],y=l?o[e.key]:o[i.key];if(v+y<=s)return void f(p);if(n+y<=s)return void f(c)}else if(b){var j=o[t.key],O=o[e.key],k=o[i.key];if(j+O+k<=s)return void f(p);if(n+O+k<=s)return void f(c);if(n+k<=s)return void f(d)}f(d)}}),[o,s]),b}function j(n){var l=o(),m=e(null),h=t(m,2),a=h[0],u=h[1],p=o({}),c=n.filter((function(r){return!!r})),d=f("div",{ref:l,style:{position:"absolute",width:0,height:0,overflow:"hidden"},children:c.map((function(r,t){return f("div",{"data-key":null==r?void 0:r.key,style:{position:"absolute"},children:r},t)}))});return i((function(){var t;if(!s(c,p.current)){var e=Array.from(null===(t=l.current)||void 0===t?void 0:t.childNodes).reduce((function(t,e){var i,o=null==e||null===(i=e.getAttribute)||void 0===i?void 0:i.call(e,"data-key"),n=null==e?void 0:e.getBoundingClientRect().width;return v(v({},t),{},r({},o,n))}),{});Object.values(e).length===c.length&&(s(a,e)||u(e)),p.current=c}})),{componentsWidth:a,hiddenElements:d}}function O(){var r=e(null),o=t(r,2),s=o[0],h=o[1];return i((function(){var r=document.createElement("div");r.style.position="absolute",r.style.visibility="hidden",document.body.appendChild(r),n.render(f(l,{theme:b,children:f(m,{})}),r,(function(){var t=r.getBoundingClientRect();r.remove(),h(t.width)}))}),[]),s}export{O as useAppFilterTogglerWidth,j as useComonentsWidth,y as useFilterLayout};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/PinnableFilters/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { isEqual } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport FiltersToggler from '../components/FiltersToggler';\nimport { getEndComponents, getMiddleComponent, getStartComponent } from '../utils';\nimport { LARGE_SIZE_LAYOUT, MEDIUM_SIZE_LAYOUT, SMALL_SIZE_LAYOUT } from '../constants';\n\nimport { theme } from '~/config';\n\n// NOTE: Determine layout according to the width of elements\nexport function useFilterLayout(components, componentsWidth, appFilterTogglerWidth, appWidth) {\n const [layout, setLayout] = useState(null);\n\n useEffect(() => {\n if (!appWidth || !componentsWidth) {\n return;\n }\n\n const filtersComponent = getStartComponent(components);\n const goalComponent = getMiddleComponent(components);\n const switchComponent = getEndComponents(components);\n\n const hasFiltersOnly = filtersComponent && !goalComponent && !switchComponent;\n const hasFiltersAndGoals = filtersComponent && goalComponent && !switchComponent;\n const hasFiltersAndSwitch = filtersComponent && !goalComponent && switchComponent;\n const hasAll = filtersComponent && goalComponent && switchComponent;\n\n if (hasFiltersOnly) {\n const filtersWidth = componentsWidth[filtersComponent.key];\n\n if (filtersWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (filtersWidth <= appWidth / 2) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasFiltersAndGoals || hasFiltersAndSwitch) {\n const startWidth = componentsWidth[filtersComponent.key];\n const endWidth = hasFiltersAndGoals\n ? componentsWidth[goalComponent.key]\n : componentsWidth[switchComponent.key];\n\n if (startWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasAll) {\n const startWidth = componentsWidth[filtersComponent.key];\n const middleWidth = componentsWidth[goalComponent.key];\n const endWidth = componentsWidth[switchComponent.key];\n\n if (startWidth + middleWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + middleWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(SMALL_SIZE_LAYOUT);\n return;\n }\n }\n\n setLayout(SMALL_SIZE_LAYOUT);\n }, [componentsWidth, appWidth]);\n\n return layout;\n}\n\n// NOTE: Calculate the width of child components here\nexport function useComonentsWidth(components) {\n // const widthRef = useRef({});\n const hiddenElementsRef = useRef();\n const [widthDict, setWidthDict] = useState(null);\n const prevComponentsRef = useRef({});\n\n const validComponents = components.filter(component => !!component);\n const hiddenElements = (\n <div\n ref={hiddenElementsRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n >\n {validComponents.map((component, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <div key={index} data-key={component?.key} style={{ position: 'absolute' }}>\n {component}\n </div>\n );\n })}\n </div>\n );\n\n // NOTE: Calcualte width of each components\n useEffect(() => {\n // NOTE: Don't calcuate width again\n if (isEqual(validComponents, prevComponentsRef.current)) {\n return;\n }\n\n const nodesArray = Array.from(hiddenElementsRef.current?.childNodes);\n const sizeMap = nodesArray.reduce((acc, node) => {\n const key = node?.getAttribute?.('data-key');\n const value = node?.getBoundingClientRect().width;\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n if (Object.values(sizeMap).length === validComponents.length) {\n if (!isEqual(widthDict, sizeMap)) {\n setWidthDict(sizeMap);\n }\n }\n\n prevComponentsRef.current = validComponents;\n });\n\n return { componentsWidth: widthDict, hiddenElements };\n}\n\n// NOTE: Calculate the width of Toggler Component\nexport function useAppFilterTogglerWidth() {\n const [width, setWidth] = useState(null);\n\n useEffect(() => {\n const element = document.createElement('div');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n document.body.appendChild(element);\n\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>\n <FiltersToggler />\n </MuiThemeProvider>,\n element,\n () => {\n const dims = element.getBoundingClientRect();\n element.remove();\n setWidth(dims.width);\n }\n );\n }, []);\n\n return width;\n}\n"],"names":["useFilterLayout","components","componentsWidth","appFilterTogglerWidth","appWidth","useState","_useState2","_slicedToArray","_useState","layout","setLayout","useEffect","filtersComponent","getStartComponent","goalComponent","getMiddleComponent","switchComponent","getEndComponents","hasFiltersAndGoals","hasFiltersAndSwitch","hasAll","filtersWidth","key","LARGE_SIZE_LAYOUT","MEDIUM_SIZE_LAYOUT","startWidth","endWidth","middleWidth","SMALL_SIZE_LAYOUT","useComonentsWidth","hiddenElementsRef","useRef","_useState4","_useState3","widthDict","setWidthDict","prevComponentsRef","validComponents","filter","component","hiddenElements","_jsx","ref","style","position","width","height","overflow","children","map","index","_hiddenElementsRef$cu","isEqual","current","sizeMap","Array","from","childNodes","reduce","acc","node","_node$getAttribute","getAttribute","call","value","getBoundingClientRect","_objectSpread","_defineProperty","Object","values","length","useAppFilterTogglerWidth","_useState6","_useState5","setWidth","element","document","createElement","visibility","body","appendChild","ReactDOM","render","MuiThemeProvider","theme","FiltersToggler","dims","remove"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/PinnableFilters/effects/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { isEqual } from 'lodash';\nimport { MuiThemeProvider } from '@material-ui/core/styles';\n\nimport FiltersToggler from '../components/FiltersToggler';\nimport { getEndComponents, getMiddleComponent, getStartComponent } from '../utils';\nimport { LARGE_SIZE_LAYOUT, MEDIUM_SIZE_LAYOUT, SMALL_SIZE_LAYOUT } from '../constants';\n\nimport { theme } from '~/config';\n\n// NOTE: Determine layout according to the width of elements\nexport function useFilterLayout(components, componentsWidth, appFilterTogglerWidth, appWidth) {\n const [layout, setLayout] = useState(null);\n\n useEffect(() => {\n if (!appWidth || !componentsWidth) {\n return;\n }\n\n const filtersComponent = getStartComponent(components);\n const goalComponent = getMiddleComponent(components);\n const switchComponent = getEndComponents(components);\n\n const hasFiltersOnly = filtersComponent && !goalComponent && !switchComponent;\n const hasFiltersAndGoals = filtersComponent && goalComponent && !switchComponent;\n const hasFiltersAndSwitch = filtersComponent && !goalComponent && switchComponent;\n const hasAll = filtersComponent && goalComponent && switchComponent;\n\n if (hasFiltersOnly) {\n const filtersWidth = componentsWidth[filtersComponent.key];\n\n if (filtersWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (filtersWidth <= appWidth / 2) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasFiltersAndGoals || hasFiltersAndSwitch) {\n const startWidth = componentsWidth[filtersComponent.key];\n const endWidth = hasFiltersAndGoals\n ? componentsWidth[goalComponent.key]\n : componentsWidth[switchComponent.key];\n\n if (startWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n } else if (hasAll) {\n const startWidth = componentsWidth[filtersComponent.key];\n const middleWidth = componentsWidth[goalComponent.key];\n const endWidth = componentsWidth[switchComponent.key];\n\n if (startWidth + middleWidth + endWidth <= appWidth) {\n setLayout(LARGE_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + middleWidth + endWidth <= appWidth) {\n setLayout(MEDIUM_SIZE_LAYOUT);\n return;\n }\n\n if (appFilterTogglerWidth + endWidth <= appWidth) {\n setLayout(SMALL_SIZE_LAYOUT);\n return;\n }\n }\n\n setLayout(SMALL_SIZE_LAYOUT);\n }, [componentsWidth, appWidth]);\n\n return layout;\n}\n\n// NOTE: Calculate the width of child components here\nexport function useComonentsWidth(components) {\n // const widthRef = useRef({});\n const hiddenElementsRef = useRef();\n const [widthDict, setWidthDict] = useState(null);\n const prevComponentsRef = useRef({});\n\n const validComponents = components.filter(component => !!component);\n const hiddenElements = (\n <div\n ref={hiddenElementsRef}\n style={{ position: 'absolute', width: 0, height: 0, overflow: 'hidden' }}\n >\n {validComponents.map((component, index) => {\n return (\n // eslint-disable-next-line react/no-array-index-key\n <div key={index} data-key={component?.key} style={{ position: 'absolute' }}>\n {component}\n </div>\n );\n })}\n </div>\n );\n\n // NOTE: Calcualte width of each components\n useEffect(() => {\n // NOTE: Don't calcuate width again\n if (isEqual(validComponents, prevComponentsRef.current)) {\n return;\n }\n\n const nodesArray = Array.from(hiddenElementsRef.current?.childNodes);\n const sizeMap = nodesArray.reduce((acc, node) => {\n const key = node?.getAttribute?.('data-key');\n const value = node?.getBoundingClientRect().width;\n\n return {\n ...acc,\n [key]: value,\n };\n }, {});\n\n if (Object.values(sizeMap).length === validComponents.length) {\n if (!isEqual(widthDict, sizeMap)) {\n setWidthDict(sizeMap);\n }\n }\n\n prevComponentsRef.current = validComponents;\n });\n\n return { componentsWidth: widthDict, hiddenElements };\n}\n\n// NOTE: Calculate the width of Toggler Component\nexport function useAppFilterTogglerWidth() {\n const [width, setWidth] = useState(null);\n\n useEffect(() => {\n const element = document.createElement('div');\n element.style.position = 'absolute';\n element.style.visibility = 'hidden';\n document.body.appendChild(element);\n\n ReactDOM.render(\n <MuiThemeProvider theme={theme.darkTheme}>\n <FiltersToggler />\n </MuiThemeProvider>,\n element,\n () => {\n const dims = element.getBoundingClientRect();\n element.remove();\n setWidth(dims.width);\n }\n );\n }, []);\n\n return width;\n}\n"],"names":["useFilterLayout","components","componentsWidth","appFilterTogglerWidth","appWidth","useState","_useState2","_slicedToArray","_useState","layout","setLayout","useEffect","filtersComponent","getStartComponent","goalComponent","getMiddleComponent","switchComponent","getEndComponents","hasFiltersAndGoals","hasFiltersAndSwitch","hasAll","filtersWidth","key","LARGE_SIZE_LAYOUT","MEDIUM_SIZE_LAYOUT","startWidth","endWidth","middleWidth","SMALL_SIZE_LAYOUT","useComonentsWidth","hiddenElementsRef","useRef","_useState4","_useState3","widthDict","setWidthDict","prevComponentsRef","validComponents","filter","component","hiddenElements","_jsx","ref","style","position","width","height","overflow","children","map","index","_hiddenElementsRef$cu","isEqual","current","sizeMap","Array","from","childNodes","reduce","acc","node","_node$getAttribute","getAttribute","call","value","getBoundingClientRect","_objectSpread","_defineProperty","Object","values","length","useAppFilterTogglerWidth","_useState6","_useState5","setWidth","element","document","createElement","visibility","body","appendChild","ReactDOM","render","MuiThemeProvider","theme","FiltersToggler","dims","remove"],"mappings":"8pFAYO,SAASA,EAAgBC,EAAYC,EAAiBC,EAAuBC,GAClF,IAA4BC,EAAAA,EAAS,MAAKC,EAAAC,EAAAC,EAAA,GAAnCC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GAmExB,OAjEAK,GAAU,WACR,GAAKP,GAAaF,EAAlB,CAIA,IAAMU,EAAmBC,EAAkBZ,GACrCa,EAAgBC,EAAmBd,GACnCe,EAAkBC,EAAiBhB,GAGnCiB,EAAqBN,GAAoBE,IAAkBE,EAC3DG,EAAsBP,IAAqBE,GAAiBE,EAC5DI,EAASR,GAAoBE,GAAiBE,EAEpD,GALuBJ,IAAqBE,IAAkBE,EAK1C,CAClB,IAAMK,EAAenB,EAAgBU,EAAiBU,KAEtD,GAAID,GAAgBjB,EAElB,YADAM,EAAUa,GAIZ,GAAIF,GAAgBjB,EAAW,EAE7B,YADAM,EAAUc,EAGd,MAAO,GAAIN,GAAsBC,EAAqB,CACpD,IAAMM,EAAavB,EAAgBU,EAAiBU,KAC9CI,EAAWR,EACbhB,EAAgBY,EAAcQ,KAC9BpB,EAAgBc,EAAgBM,KAEpC,GAAIG,EAAaC,GAAYtB,EAE3B,YADAM,EAAUa,GAIZ,GAAIpB,EAAwBuB,GAAYtB,EAEtC,YADAM,EAAUc,EAGb,MAAM,GAAIJ,EAAQ,CACjB,IAAMK,EAAavB,EAAgBU,EAAiBU,KAC9CK,EAAczB,EAAgBY,EAAcQ,KAC5CI,EAAWxB,EAAgBc,EAAgBM,KAEjD,GAAIG,EAAaE,EAAcD,GAAYtB,EAEzC,YADAM,EAAUa,GAIZ,GAAIpB,EAAwBwB,EAAcD,GAAYtB,EAEpD,YADAM,EAAUc,GAIZ,GAAIrB,EAAwBuB,GAAYtB,EAEtC,YADAM,EAAUkB,EAGd,CAEAlB,EAAUkB,EA3DV,CA4DF,GAAG,CAAC1B,EAAiBE,IAEdK,CACT,CAGO,SAASoB,EAAkB5B,GAEhC,IAAM6B,EAAoBC,IACQ1B,EAAAA,EAAS,MAAK2B,EAAAzB,EAAA0B,EAAA,GAAzCC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACxBI,EAAoBL,EAAO,CAAA,GAE3BM,EAAkBpC,EAAWqC,QAAO,SAAAC,GAAS,QAAMA,KACnDC,EACJC,EAAA,MAAA,CACEC,IAAKZ,EACLa,MAAO,CAAEC,SAAU,WAAYC,MAAO,EAAGC,OAAQ,EAAGC,SAAU,UAAWC,SAExEX,EAAgBY,KAAI,SAACV,EAAWW,GAC/B,OAEET,EAAA,MAAA,CAAiB,WAAUF,aAAAA,EAAAA,EAAWjB,IAAKqB,MAAO,CAAEC,SAAU,YAAaI,SACxET,GADOW,QAmClB,OA1BAvC,GAAU,WAAM,IAAAwC,EAEd,IAAIC,EAAQf,EAAiBD,EAAkBiB,SAA/C,CAIA,IACMC,EADaC,MAAMC,KAA8B,QAA1BL,EAACrB,EAAkBuB,eAAO,IAAAF,OAAA,EAAzBA,EAA2BM,YAC9BC,QAAO,SAACC,EAAKC,GAAS,IAAAC,EACzCvC,EAAMsC,SAAA,QAAAA,EAAAA,EAAME,oBAAN,IAAAD,OAAAD,EAAAC,EAAAE,KAAAH,EAAqB,YAC3BI,EAAQJ,aAAAA,EAAAA,EAAMK,wBAAwBpB,MAE5C,OAAAqB,EAAAA,EAAA,CAAA,EACKP,GAAG,GAAAQ,EAAA,CAAA,EACL7C,EAAM0C,GAEV,GAAE,CAAE,GAEDI,OAAOC,OAAOf,GAASgB,SAAWjC,EAAgBiC,SAC/ClB,EAAQlB,EAAWoB,IACtBnB,EAAamB,IAIjBlB,EAAkBiB,QAAUhB,CAnB5B,CAoBF,IAEO,CAAEnC,gBAAiBgC,EAAWM,eAAAA,EACvC,CAGO,SAAS+B,IACd,IAA0BlE,EAAAA,EAAS,MAAKmE,EAAAjE,EAAAkE,EAAA,GAAjC5B,EAAK2B,EAAA,GAAEE,EAAQF,EAAA,GAqBtB,OAnBA7D,GAAU,WACR,IAAMgE,EAAUC,SAASC,cAAc,OACvCF,EAAQhC,MAAMC,SAAW,WACzB+B,EAAQhC,MAAMmC,WAAa,SAC3BF,SAASG,KAAKC,YAAYL,GAE1BM,EAASC,OACPzC,EAAC0C,EAAgB,CAACC,MAAOA,EAAgBpC,SACvCP,EAAC4C,EAAc,MAEjBV,GACA,WACE,IAAMW,EAAOX,EAAQV,wBACrBU,EAAQY,SACRb,EAASY,EAAKzC,MAChB,GAEH,GAAE,IAEIA,CACT"}
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { Filters, MappedPad } from '../types';
3
3
  type Props = {
4
4
  pads: MappedPad[];
5
- selectedPadId: number;
5
+ selectedPadId?: number;
6
6
  filters: Filters;
7
7
  setFilters: React.Dispatch<React.SetStateAction<Filters>>;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"AssetFilters.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;AAIjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAO9C,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CAmF1B,CAAC;AAEH,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"AssetFilters.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/AssetFilters/AssetFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;AAIjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAO9C,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,QAAA,MAAM,YAAY,EAAE,EAAE,CAAC,KAAK,CAmF1B,CAAC;AAEH,eAAe,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { AutocompleteOption } from '../../Autocomplete/utils';
2
2
  import { MappedPad } from '../types';
3
- export declare const useOptions: (pads: MappedPad[], selectedPadId: number) => {
3
+ export declare const useOptions: (pads: MappedPad[], selectedPadId?: number) => {
4
4
  fracFleetOptions: {
5
5
  label: string;
6
6
  value: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useOptions.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/AssetFilters/useOptions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAWrC,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,EAAE,EAAE,eAAe,MAAM;;;;;;;;;;CA8BlE,CAAC"}
1
+ {"version":3,"file":"useOptions.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/AssetFilters/useOptions.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAWrC,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,EAAE,EAAE,gBAAgB,MAAM;;;;;;;;;;CA8BnE,CAAC"}
@@ -1,2 +1,2 @@
1
- import{useMemo as t}from"react";var n=function(t){return Array.from(t).map((function(t){return{label:t,value:t}})).sort((function(t,n){return t.label.localeCompare(n.label)}))},e=function(e,o){var i=t((function(){var t=new Set,i=new Set;return e.forEach((function(n){n.fleetName&&o.toString()!==n.id.toString()&&(t.add(n.fleetName),n.wells.forEach((function(t){t.formation&&i.add(t.formation)})))})),{fracFleetOptions:n(t),formationOptions:n(i),padOptions:[{title:"All",id:"all"},{title:"Active",id:"active"},{title:"Inactive",id:"inactive"}]}}),[e,o]);return{fracFleetOptions:i.fracFleetOptions,formationOptions:i.formationOptions,padOptions:i.padOptions}};export{e as useOptions};
1
+ import{useMemo as t}from"react";var n=function(t){return Array.from(t).map((function(t){return{label:t,value:t}})).sort((function(t,n){return t.label.localeCompare(n.label)}))},o=function(o,e){var i=t((function(){var t=new Set,i=new Set;return o.forEach((function(n){n.fleetName&&(null==e?void 0:e.toString())!==n.id.toString()&&(t.add(n.fleetName),n.wells.forEach((function(t){t.formation&&i.add(t.formation)})))})),{fracFleetOptions:n(t),formationOptions:n(i),padOptions:[{title:"All",id:"all"},{title:"Active",id:"active"},{title:"Inactive",id:"inactive"}]}}),[o,e]);return{fracFleetOptions:i.fracFleetOptions,formationOptions:i.formationOptions,padOptions:i.padOptions}};export{o as useOptions};
2
2
  //# sourceMappingURL=useOptions.js.map
@@ -1,2 +1,2 @@
1
- import s from"@babel/runtime/helpers/defineProperty";import o from"@babel/runtime/helpers/slicedToArray";import{jsxs as c,Fragment as i,jsx as t}from"react/jsx-runtime";import{memo as n,useState as e,useMemo as r}from"react";import l from"classnames";import{QueryClient as m,QueryClientProvider as a}from"@tanstack/react-query";import{Modal as p}from"../Modal/Modal.js";import{OffsetWellsButton as u}from"../OffsetWellsButton/OffsetWellsButton.js";import{Button as d}from"../Button/Button.js";import j from"./ModalTitle/ModalTitle.js";import I from"./AssetFilters/AssetFilters.js";import f from"./PadsTable/PadsTable.js";import{usePads as b}from"./hooks/usePads.js";import O from"./Map/Map.js";import{PadStatus as h}from"./types.js";import{useModalHandlers as C}from"./useModalHandlers.js";import{BASE_FILTERS as M}from"./constants.js";import{usePadsByRadius as P}from"./hooks/usePadsByRadius.js";import g from"./CompletionsOffsetWellPicker.scss.js";import"@babel/runtime/helpers/objectWithoutProperties";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{Global as y}from"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";function S(s,o){var c=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);o&&(i=i.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),c.push.apply(c,i)}return c}function F(o){for(var c=1;c<arguments.length;c++){var i=null!=arguments[c]?arguments[c]:{};c%2?S(Object(i),!0).forEach((function(c){s(o,c,i[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):S(Object(i)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(i,s))}))}return o}var W=n((function(s){var n=s.selectedPadId,m=s.selectedOffsetWellIds,a=s.onOffsetWellsSelect,S=s.companyId,W=s.maxRadiusInMiles,v=s.well,k=s.wells,A=s.isGlobalSelector,w=s.testId,D=s.buttonLabel,x=e(!0),B=o(x,2),R=B[0],T=B[1],L=e(!0),E=o(L,2),G=E[0],z=E[1],N=e((function(){return F(F({},M),{},{radiusMiles:W})})),U=o(N,2),V=U[0],q=U[1],H=e((function(){return F(F({},V),{},{padStatus:h.All})})),K=o(H,1)[0],Z=G?V:K,J=b({companyId:S,padStatus:Z.padStatus,well:v,wells:k,selectedOffsetWellIds:m}),Q=J.pads,X=J.isBackgroundDataLoading,Y=J.isSelectedPadsLoading,$=P({pads:Q,selectedPadId:n,radiusMiles:Z.radiusMiles}),_=C({pads:$,selectedOffsetWellIds:m,onOffsetWellsSelect:a}),ss=_.isModalOpen,os=_.handleOpenModal,cs=_.handleCloseModal,is=_.handleSaveSelectedWellIds,ts=_.handleCancelButtonClick,ns=_.handleResetSelection,es=_.localSelectedOffsetWellIds,rs=_.setLocalSelectedOffsetWellIds,ls=r((function(){return $?$.filter((function(s){return s.id.toString()!==n.toString()})).flatMap((function(s){return s.wells.map((function(s){return s.id}))})):[]}),[$,n]),ms=r((function(){return $?$.filter((function(s){return s.wells.some((function(s){return es.includes(s.id)}))})):[]}),[$,es]);return c(i,{children:[t(u,{wells:m.length,"data-testid":w,icon:A?t(y,{size:20,className:g.buttonIcon}):void 0,onClick:os,label:D}),t(p,{open:ss,size:"fullscreen",onClose:cs,primaryActionText:"Select Wells (".concat(es.length,")"),primaryActionHandler:is,secondaryActionText:"Cancel",secondaryActionHandler:ts,actions:[t(d,{type:"secondaryDestructive",onClick:ns,children:"Reset"},"clear-filters")],title:t(j,{total:$.length?$.length-1:0,selected:ms.length,isMapVisible:R,isFiltersVisible:G,toggleMapVisibility:function(){return T((function(s){return!s}))},toggleFiltersVisibility:function(){return z((function(s){return!s}))},onModalClose:cs,isBackgroundDataLoading:X}),children:c("div",{className:g.modalContent,children:[R&&t(O,{wells:k,well:v,pads:$,selectedOffsetWellsIds:es,onOffsetWellIdsSelect:rs,radiusMiles:Z.radiusMiles,setFilters:q,maxRadiusInMiles:W}),c("div",{className:l(g.tableContainer,R?g.tableContainerWithMap:g.tableContainerWithoutMap),children:[G&&t(I,{pads:$,selectedPadId:n,filters:Z,setFilters:q}),t(f,{allWellIds:ls,pads:$,selectedPadId:n,selectedOffsetWellIds:es,onOffsetWellIdsSelect:rs,filters:Z,isSelectedPadsLoading:Y})]})]})})]})})),v=function(s){var o=r((function(){return new m}),[]);return t(a,{client:o,children:t(W,F({},s))})};export{v as CompletionsOffsetWellPicker};
1
+ import s from"@babel/runtime/helpers/defineProperty";import o from"@babel/runtime/helpers/slicedToArray";import{jsxs as c,Fragment as i,jsx as t}from"react/jsx-runtime";import{memo as n,useState as e,useMemo as r}from"react";import l from"classnames";import{QueryClient as m,QueryClientProvider as a}from"@tanstack/react-query";import{Modal as p}from"../Modal/Modal.js";import{OffsetWellsButton as u}from"../OffsetWellsButton/OffsetWellsButton.js";import{Button as d}from"../Button/Button.js";import j from"./ModalTitle/ModalTitle.js";import I from"./AssetFilters/AssetFilters.js";import f from"./PadsTable/PadsTable.js";import{usePads as b}from"./hooks/usePads.js";import O from"./Map/Map.js";import{PadStatus as h}from"./types.js";import{useModalHandlers as C}from"./useModalHandlers.js";import{BASE_FILTERS as M}from"./constants.js";import{usePadsByRadius as P}from"./hooks/usePadsByRadius.js";import g from"./CompletionsOffsetWellPicker.scss.js";import"@babel/runtime/helpers/objectWithoutProperties";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{Global as y}from"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";function S(s,o){var c=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);o&&(i=i.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),c.push.apply(c,i)}return c}function v(o){for(var c=1;c<arguments.length;c++){var i=null!=arguments[c]?arguments[c]:{};c%2?S(Object(i),!0).forEach((function(c){s(o,c,i[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):S(Object(i)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(i,s))}))}return o}var F=n((function(s){var n=s.selectedPadId,m=s.selectedOffsetWellIds,a=s.onOffsetWellsSelect,S=s.companyId,F=s.maxRadiusInMiles,W=s.well,k=s.wells,A=s.isGlobalSelector,w=s.testId,D=s.buttonLabel,x=e(!0),B=o(x,2),R=B[0],T=B[1],L=e(!0),E=o(L,2),G=E[0],z=E[1],N=e((function(){return v(v({},M),{},{radiusMiles:F})})),U=o(N,2),V=U[0],q=U[1],H=e((function(){return v(v({},V),{},{padStatus:h.All})})),K=o(H,1)[0],Z=G?V:K,J=b({companyId:S,padStatus:Z.padStatus,well:W,wells:k,selectedOffsetWellIds:m}),Q=J.pads,X=J.isBackgroundDataLoading,Y=J.isSelectedPadsLoading,$=P({pads:Q,selectedPadId:n,radiusMiles:Z.radiusMiles}),_=C({pads:$,selectedOffsetWellIds:m,onOffsetWellsSelect:a}),ss=_.isModalOpen,os=_.handleOpenModal,cs=_.handleCloseModal,is=_.handleSaveSelectedWellIds,ts=_.handleCancelButtonClick,ns=_.handleResetSelection,es=_.localSelectedOffsetWellIds,rs=_.setLocalSelectedOffsetWellIds,ls=r((function(){return $?$.filter((function(s){return s.id.toString()!==(null==n?void 0:n.toString())})).flatMap((function(s){return s.wells.map((function(s){return s.id}))})):[]}),[$,n]),ms=r((function(){return $?$.filter((function(s){return s.wells.some((function(s){return es.includes(s.id)}))})):[]}),[$,es]);return c(i,{children:[t(u,{wells:m.length,"data-testid":w,icon:A?t(y,{size:20,className:g.buttonIcon}):void 0,onClick:os,label:D}),t(p,{open:ss,size:"fullscreen",onClose:cs,primaryActionText:"Select Wells (".concat(es.length,")"),primaryActionHandler:is,secondaryActionText:"Cancel",secondaryActionHandler:ts,actions:[t(d,{type:"secondaryDestructive",onClick:ns,children:"Reset"},"clear-filters")],title:t(j,{total:$.length?$.length-1:0,selected:ms.length,isMapVisible:R,isFiltersVisible:G,toggleMapVisibility:function(){return T((function(s){return!s}))},toggleFiltersVisibility:function(){return z((function(s){return!s}))},onModalClose:cs,isBackgroundDataLoading:X}),children:c("div",{className:g.modalContent,children:[R&&t(O,{wells:k,well:W,pads:$,selectedOffsetWellsIds:es,onOffsetWellIdsSelect:rs,radiusMiles:Z.radiusMiles,setFilters:q,maxRadiusInMiles:F}),c("div",{className:l(g.tableContainer,R?g.tableContainerWithMap:g.tableContainerWithoutMap),children:[G&&t(I,{pads:$,selectedPadId:n,filters:Z,setFilters:q}),t(f,{allWellIds:ls,pads:$,selectedPadId:n,selectedOffsetWellIds:es,onOffsetWellIdsSelect:rs,filters:Z,isSelectedPadsLoading:Y})]})]})})]})})),W=function(s){var o=r((function(){return new m}),[]);return t(a,{client:o,children:t(F,v({},s))})};export{W as CompletionsOffsetWellPicker};
2
2
  //# sourceMappingURL=CompletionsOffsetWellPicker.js.map
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/slicedToArray";import{jsx as r,jsxs as o}from"react/jsx-runtime";import{memo as n,useState as i,useCallback as l,useMemo as a,useEffect as s}from"react";import{Button as d}from"../../Button/Button.js";import{TableBody as c,TableRow as m}from"@material-ui/core";import{TableCell as f}from"../../../components/Table/TableCell/TableCell.js";import{LoaderLogo as u}from"../../LoaderLogo/LoaderLogo.js";import{MAX_TVD as p}from"../constants.js";import h from"./PadTableRow.js";import{useFilteredData as g}from"./helpers/useFilteredData.js";import S from"./PadsTableBody.scss.js";var b=n((function(n){var b,T=n.pads,j=n.selectedPadId,v=n.searchText,x=n.sortBy,I=n.sortDirection,P=n.selectedOffsetWellIds,L=n.filters,M=n.isSelectedPadsLoading,y=n.handleSelectPad,B=n.handleSelectWellId,C=i(50),W=t(C,2),F=W[0],D=W[1],A=l((function(){D((function(e){return e+50}))}),[]),O=a((function(){return T.filter((function(e){return e.id.toString()!==j.toString()}))}),[T,j]),k=a((function(){return T.find((function(e){return e.id.toString()===j.toString()}))}),[T,j]),w=a((function(){return!!(v||L.selectedFormations.length||L.selectedFracFleets.length||L.tvdMin||L.tvdMax!==p||L.radiusMiles)}),[v,L]),E=g({data:O,searchText:v,sortBy:x,sortDirection:I,selectedWellIds:P,filters:L,mainItem:k});s((function(){D(50)}),[v,L]);var N=a((function(){return E.slice(0,F)}),[E,F]);return!k||M?r(u,{}):o(c,{children:[null===(b=[k].concat(e(N)))||void 0===b?void 0:b.map((function(e){return r(h,{isMainPad:e.id.toString()===j.toString(),data:e,isExpanded:w,searchText:v,handleSelectPad:y,selectedOffsetWellIds:P,handleSelectWellId:B},e.id)})),E.length>50&&F<E.length&&r(m,{children:r(f,{colSpan:4,className:S.loadMoreCell,children:r(d,{onClick:A,children:"Load More"})})})]})}));export{b as PadsTableBody};
1
+ import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/slicedToArray";import{jsx as r,jsxs as o}from"react/jsx-runtime";import{memo as n,useState as l,useCallback as i,useMemo as a,useEffect as d}from"react";import{Button as s}from"../../Button/Button.js";import{TableBody as c,TableRow as m}from"@material-ui/core";import{TableCell as u}from"../../../components/Table/TableCell/TableCell.js";import{LoaderLogo as f}from"../../LoaderLogo/LoaderLogo.js";import{MAX_TVD as p}from"../constants.js";import h from"./PadTableRow.js";import{useFilteredData as g}from"./helpers/useFilteredData.js";import S from"./PadsTableBody.scss.js";var b=n((function(n){var b,v=n.pads,T=n.selectedPadId,j=n.searchText,x=n.sortBy,I=n.sortDirection,P=n.selectedOffsetWellIds,L=n.filters,M=n.isSelectedPadsLoading,y=n.handleSelectPad,B=n.handleSelectWellId,C=l(50),W=t(C,2),F=W[0],D=W[1],A=i((function(){D((function(e){return e+50}))}),[]),O=a((function(){return v.filter((function(e){return e.id.toString()!==(null==T?void 0:T.toString())}))}),[v,T]),k=a((function(){return v.find((function(e){return e.id.toString()===(null==T?void 0:T.toString())}))}),[v,T]),w=a((function(){return!!(j||L.selectedFormations.length||L.selectedFracFleets.length||L.tvdMin||L.tvdMax!==p||L.radiusMiles)}),[j,L]),E=g({data:O,searchText:j,sortBy:x,sortDirection:I,selectedWellIds:P,filters:L,mainItem:k});d((function(){D(50)}),[j,L]);var N=a((function(){return E.slice(0,F)}),[E,F]);return!k||M?r(f,{}):o(c,{children:[null===(b=[k].concat(e(N)))||void 0===b?void 0:b.map((function(e){return r(h,{isMainPad:e.id.toString()===(null==T?void 0:T.toString()),data:e,isExpanded:w,searchText:j,handleSelectPad:y,selectedOffsetWellIds:P,handleSelectWellId:B},e.id)})),E.length>50&&F<E.length&&r(m,{children:r(u,{colSpan:4,className:S.loadMoreCell,children:r(s,{onClick:A,children:"Load More"})})})]})}));export{b as PadsTableBody};
2
2
  //# sourceMappingURL=PadsTableBody.js.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=usePadsByRadius.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePadsByRadius.test.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/usePadsByRadius.test.ts"],"names":[],"mappings":""}
@@ -2,6 +2,6 @@ import { MappedPad } from '../types';
2
2
  export declare const usePadsByRadius: ({ radiusMiles, pads, selectedPadId, }: {
3
3
  radiusMiles?: number;
4
4
  pads: MappedPad[];
5
- selectedPadId: number;
5
+ selectedPadId?: number;
6
6
  }) => MappedPad[];
7
7
  //# sourceMappingURL=usePadsByRadius.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePadsByRadius.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAKrC,eAAO,MAAM,eAAe,GAAI,uCAI7B;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACvB,gBA8BA,CAAC"}
1
+ {"version":3,"file":"usePadsByRadius.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAKrC,eAAO,MAAM,eAAe,GAAI,uCAI7B;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,gBA8BA,CAAC"}
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/slicedToArray";import{useMemo as r}from"react";var n=function(t){return t*Math.PI/180},e=function(e){var i=e.radiusMiles,o=e.pads,a=e.selectedPadId,l=r((function(){return o.find((function(t){return t.id.toString()===a.toString()}))}),[o,a]);return r((function(){return o.filter((function(r){var e;if(!i||null==l||!l.wells.length)return!0;var o=t(l.wells[0].topHole.coordinates,2),a=o[0],s=o[1],u=(null===(e=r.wells[0])||void 0===e?void 0:e.topHole.coordinates)||[],c=t(u,2),d=c[0],f=c[1];if(!(d&&f&&a&&s))return!0;var h=n(d-a),M=n(f-s),p=Math.sin(h/2)*Math.sin(h/2)+Math.cos(n(a))*Math.cos(n(d))*Math.sin(M/2)*Math.sin(M/2);return 3958.8*(2*Math.atan2(Math.sqrt(p),Math.sqrt(1-p)))<=i}))}),[o,i,l])};export{e as usePadsByRadius};
1
+ import t from"@babel/runtime/helpers/slicedToArray";import{useMemo as r}from"react";var n=function(t){return t*Math.PI/180},e=function(e){var i=e.radiusMiles,o=e.pads,a=e.selectedPadId,l=r((function(){return o.find((function(t){return t.id.toString()===(null==a?void 0:a.toString())}))}),[o,a]);return r((function(){return o.filter((function(r){var e;if(!i||null==l||!l.wells.length)return!0;var o=t(l.wells[0].topHole.coordinates,2),a=o[0],s=o[1],u=(null===(e=r.wells[0])||void 0===e?void 0:e.topHole.coordinates)||[],c=t(u,2),d=c[0],f=c[1];if(!(d&&f&&a&&s))return!0;var h=n(d-a),M=n(f-s),v=Math.sin(h/2)*Math.sin(h/2)+Math.cos(n(a))*Math.cos(n(d))*Math.sin(M/2)*Math.sin(M/2);return 3958.8*(2*Math.atan2(Math.sqrt(v),Math.sqrt(1-v)))<=i}))}),[o,i,l])};export{e as usePadsByRadius};
2
2
  //# sourceMappingURL=usePadsByRadius.js.map
@@ -44,7 +44,7 @@ export type CompletionsOffsetWellPickerProps = {
44
44
  /**
45
45
  * The ID of the currently selected pad from app wrapper
46
46
  */
47
- selectedPadId: number;
47
+ selectedPadId?: number;
48
48
  /**
49
49
  * Array of well IDs selected as offset wells
50
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGjD,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC;AAEvD,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC;;OAEG;IACH,mBAAmB,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC/D;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AAGjD,oBAAY,SAAS;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC;AAEvD,MAAM,MAAM,gCAAgC,GAAG;IAC7C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC;;OAEG;IACH,mBAAmB,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC/D;;OAEG;IACH,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC;CACzB,CAAC"}
package/config/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as theme from './theme';
2
2
  import { initHighcharts } from './highcharts';
3
3
  import { MAP_BOX_ACCESS_TOKEN } from './mapbox';
4
+ import { initMapbox } from './mapboxLabelPolicy';
4
5
  import { initGlobalDependencies } from './initGlobalDependencies';
5
- export { theme, initHighcharts, MAP_BOX_ACCESS_TOKEN, initGlobalDependencies };
6
+ export { theme, initHighcharts, MAP_BOX_ACCESS_TOKEN, initMapbox, initGlobalDependencies };
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.js"],"names":[],"mappings":"uBAAuB,SAAS;+BACD,cAAc;qCACR,UAAU;uCACR,0BAA0B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.js"],"names":[],"mappings":"uBAAuB,SAAS;+BACD,cAAc;qCACR,UAAU;2BACpB,qBAAqB;uCACT,0BAA0B"}
package/config/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import*as e from"./theme/index.js";export{e as theme};export{initHighcharts}from"./highcharts/highcharts.js";export{MAP_BOX_ACCESS_TOKEN}from"./mapbox/index.js";export{initGlobalDependencies}from"./initGlobalDependencies.js";
1
+ import*as e from"./theme/index.js";export{e as theme};export{initHighcharts}from"./highcharts/highcharts.js";export{MAP_BOX_ACCESS_TOKEN}from"./mapbox/index.js";export{initMapbox}from"./mapboxLabelPolicy/index.js";export{initGlobalDependencies}from"./initGlobalDependencies.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/mapbox/index.js"],"names":[],"mappings":"AAGA,mCACE,4FAA4F,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/mapbox/index.js"],"names":[],"mappings":"AACA,mCACE,4FAA4F,CAAC"}
@@ -1,2 +1,2 @@
1
- import o from"mapbox.js";var m="pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw";o.mapbox.accessToken=m;export{m as MAP_BOX_ACCESS_TOKEN};
1
+ var j="pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw";export{j as MAP_BOX_ACCESS_TOKEN};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/config/mapbox/index.js"],"sourcesContent":["import L from 'mapbox.js';\n\n// NOTE: Access token from Jim Wang\nexport const MAP_BOX_ACCESS_TOKEN =\n 'pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw';\nL.mapbox.accessToken = MAP_BOX_ACCESS_TOKEN;\n"],"names":["MAP_BOX_ACCESS_TOKEN","L","mapbox","accessToken"],"mappings":"yBAGO,IAAMA,EACX,6FACFC,EAAEC,OAAOC,YAAcH"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/config/mapbox/index.js"],"sourcesContent":["// NOTE: Access token from Jim Wang\nexport const MAP_BOX_ACCESS_TOKEN =\n 'pk.eyJ1IjoiY29ydmEtYWkiLCJhIjoiY2tzeXg1Ym84Mm53NjJvbnZvZ3JxajVwayJ9.3B6ubssBj1UCqN5o25X6pw';\n"],"names":["MAP_BOX_ACCESS_TOKEN"],"mappings":"AACO,IAAMA,EACX"}
@@ -0,0 +1,3 @@
1
+ export default mapboxgl;
2
+ import mapboxgl from 'mapbox-gl';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/mapboxGl/index.js"],"names":[],"mappings":";qBAGqB,WAAW"}
@@ -0,0 +1,2 @@
1
+ import o from"mapbox-gl";export{default}from"mapbox-gl";import{MAP_BOX_ACCESS_TOKEN as m}from"../mapbox/index.js";import{initMapbox as e}from"../mapboxLabelPolicy/index.js";e(o),o.accessToken||(o.accessToken=m);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../src/config/mapboxGl/index.js"],"sourcesContent":["// The mapbox-gl runtime used by @corva/ui components, with the Corva label\n// policy applied and the access token set. Use this module (or pass it as\n// @vis.gl/react-mapbox `mapLib`) instead of importing 'mapbox-gl' directly.\nimport mapboxgl from 'mapbox-gl';\n\nimport { MAP_BOX_ACCESS_TOKEN } from '../mapbox';\nimport { initMapbox } from '../mapboxLabelPolicy';\n\ninitMapbox(mapboxgl);\n\nif (!mapboxgl.accessToken) {\n mapboxgl.accessToken = MAP_BOX_ACCESS_TOKEN;\n}\n\nexport default mapboxgl;\n"],"names":["initMapbox","mapboxgl","accessToken","MAP_BOX_ACCESS_TOKEN"],"mappings":"6KAQAA,EAAWC,GAENA,EAASC,cACZD,EAASC,YAAcC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/config/mapboxLabelPolicy/__tests__/index.test.js"],"names":[],"mappings":""}