@corva/ui 3.73.0-2 → 3.73.0-4
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.
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js.map +1 -1
- package/cjs-bundle/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
- package/cjs-bundle/componentsV2/AppCommonsProvider/utils.js +1 -1
- package/cjs-bundle/componentsV2/AppCommonsProvider/utils.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/constants.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/constants.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
- package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/types.js.map +1 -1
- package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
- package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
- package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
- package/components/OffsetWellPickerV4/OffsetWellPickerV4.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/index.d.ts +1 -0
- package/components/OffsetWellPickerV4/effects/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV4/effects/useBootstrapSelectedWells.d.ts +15 -0
- package/components/OffsetWellPickerV4/effects/useBootstrapSelectedWells.d.ts.map +1 -0
- package/components/OffsetWellPickerV4/utils/mergeInitSelectedWells.d.ts +103 -0
- package/components/OffsetWellPickerV4/utils/mergeInitSelectedWells.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
- package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.d.ts +3 -3
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.types.d.ts +0 -1
- package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.types.d.ts.map +1 -1
- package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts +2 -0
- package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts.map +1 -1
- package/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
- package/componentsV2/AppCommonsProvider/utils.d.ts +1 -1
- package/componentsV2/AppCommonsProvider/utils.d.ts.map +1 -1
- package/componentsV2/AppCommonsProvider/utils.js +1 -1
- package/componentsV2/AppCommonsProvider/utils.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/columns.test.d.ts +2 -0
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/columns.test.d.ts.map +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/sortPads.test.d.ts +2 -0
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/sortPads.test.d.ts.map +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.d.ts +3 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/constants.d.ts +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/constants.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/constants.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/constants.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/defaults.test.d.ts +2 -0
- package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/defaults.test.d.ts.map +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/mapPad.test.d.ts +2 -0
- package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/mapPad.test.d.ts.map +1 -0
- package/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/types.d.ts +4 -3
- package/componentsV2/CompletionsOffsetWellPicker/types.d.ts.map +1 -1
- package/componentsV2/CompletionsOffsetWellPicker/types.js.map +1 -1
- package/effects/useGlobalOffsetWellsSync.d.ts.map +1 -1
- package/effects/useGlobalOffsetWellsSync.js +1 -1
- package/effects/useGlobalOffsetWellsSync.js.map +1 -1
- package/mcp-server/server.mjs +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionsOffsetWellPicker.js","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.tsx"],"sourcesContent":["import { FC, memo, useMemo, useState } from 'react';\nimport classnames from 'classnames';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\n\nimport { Modal } from '../Modal';\nimport { OffsetWellsButton } from '../OffsetWellsButton';\nimport { Button } from '../Button';\n\nimport ModalTitle from './ModalTitle/ModalTitle';\nimport AssetFilters from './AssetFilters/AssetFilters';\nimport PadsTable from './PadsTable/PadsTable';\nimport { usePads } from './hooks/usePads';\nimport Map from './Map/Map';\nimport { CompletionsOffsetWellPickerProps as Props, Filters, PadStatus } from './types';\nimport { useModalHandlers } from './useModalHandlers';\nimport { BASE_FILTERS } from './constants';\nimport { usePadsByRadius } from './hooks/usePadsByRadius';\n\nimport styles from './CompletionsOffsetWellPicker.scss';\n\nimport { Global } from '~/icons';\n\nconst CompletionsOffsetWellPickerInner: FC<Props> = memo(\n ({\n selectedPadId,\n selectedOffsetWellIds,\n onOffsetWellsSelect,\n companyId,\n maxRadiusInMiles,\n well,\n wells,\n isGlobalSelector,\n testId,\n buttonLabel,\n }) => {\n // state\n const [isMapVisible, setIsMapVisible] = useState(true);\n const [isFiltersVisible, setIsFiltersVisible] = useState(true);\n\n const [currentFilters, setFilters] = useState<Filters>(() => ({\n ...BASE_FILTERS,\n radiusMiles: maxRadiusInMiles,\n }));\n\n const [defaultFilters] = useState<Filters>(() => ({\n ...currentFilters,\n padStatus: PadStatus.All,\n }));\n\n const filters = isFiltersVisible ? currentFilters : defaultFilters;\n\n // data\n const { pads, isBackgroundDataLoading, isSelectedPadsLoading } = usePads({\n companyId,\n padStatus: filters.padStatus,\n well,\n wells,\n selectedOffsetWellIds,\n });\n\n const padsByRadius = usePadsByRadius({\n pads,\n selectedPadId,\n radiusMiles: filters.radiusMiles,\n });\n\n // handlers\n const {\n isModalOpen,\n handleOpenModal,\n handleCloseModal,\n handleSaveSelectedWellIds,\n handleCancelButtonClick,\n handleResetSelection,\n localSelectedOffsetWellIds,\n setLocalSelectedOffsetWellIds,\n } = useModalHandlers({\n pads: padsByRadius,\n selectedOffsetWellIds,\n onOffsetWellsSelect,\n });\n\n // memo\n const allWellIds = useMemo(() => {\n if (!padsByRadius) return [];\n\n return padsByRadius\n .filter(pad => pad.id.toString() !== selectedPadId?.toString())\n .flatMap(pad => pad.wells.map(well => well.id));\n }, [padsByRadius, selectedPadId]);\n\n const selectedPads = useMemo(() => {\n if (!padsByRadius) return [];\n\n return padsByRadius.filter(pad =>\n pad.wells.some(well => localSelectedOffsetWellIds.includes(well.id))\n );\n }, [padsByRadius, localSelectedOffsetWellIds]);\n\n return (\n <>\n <OffsetWellsButton\n wells={selectedOffsetWellIds.length}\n data-testid={testId}\n icon={isGlobalSelector ? <Global size={20} className={styles.buttonIcon} /> : undefined}\n onClick={handleOpenModal}\n label={buttonLabel}\n />\n <Modal\n open={isModalOpen}\n size=\"fullscreen\"\n onClose={handleCloseModal}\n primaryActionText={`Select Wells (${localSelectedOffsetWellIds.length})`}\n primaryActionHandler={handleSaveSelectedWellIds}\n secondaryActionText=\"Cancel\"\n secondaryActionHandler={handleCancelButtonClick}\n actions={[\n <Button key=\"clear-filters\" type=\"secondaryDestructive\" onClick={handleResetSelection}>\n Reset\n </Button>,\n ]}\n title={\n <ModalTitle\n total={padsByRadius.length ? padsByRadius.length - 1 : 0} // excluding main pad\n selected={selectedPads.length}\n isMapVisible={isMapVisible}\n isFiltersVisible={isFiltersVisible}\n toggleMapVisibility={() => setIsMapVisible(prev => !prev)}\n toggleFiltersVisibility={() => setIsFiltersVisible(prev => !prev)}\n onModalClose={handleCloseModal}\n isBackgroundDataLoading={isBackgroundDataLoading}\n />\n }\n >\n <div className={styles.modalContent}>\n {isMapVisible && (\n <Map\n wells={wells}\n well={well}\n pads={padsByRadius}\n selectedOffsetWellsIds={localSelectedOffsetWellIds}\n onOffsetWellIdsSelect={setLocalSelectedOffsetWellIds}\n radiusMiles={filters.radiusMiles}\n setFilters={setFilters}\n maxRadiusInMiles={maxRadiusInMiles}\n />\n )}\n <div\n className={classnames(\n styles.tableContainer,\n isMapVisible ? styles.tableContainerWithMap : styles.tableContainerWithoutMap\n )}\n >\n {isFiltersVisible && (\n <AssetFilters\n pads={padsByRadius}\n selectedPadId={selectedPadId}\n filters={filters}\n setFilters={setFilters}\n />\n )}\n <PadsTable\n allWellIds={allWellIds}\n pads={padsByRadius}\n selectedPadId={selectedPadId}\n selectedOffsetWellIds={localSelectedOffsetWellIds}\n onOffsetWellIdsSelect={setLocalSelectedOffsetWellIds}\n filters={filters}\n isSelectedPadsLoading={isSelectedPadsLoading}\n />\n </div>\n </div>\n </Modal>\n </>\n );\n }\n);\n\nexport const CompletionsOffsetWellPicker: FC<Props> = props => {\n const queryClient = useMemo(() => new QueryClient(), []);\n\n return (\n <QueryClientProvider client={queryClient}>\n <CompletionsOffsetWellPickerInner {...props} />\n </QueryClientProvider>\n );\n};\n"],"names":["CompletionsOffsetWellPickerInner","memo","_ref","selectedPadId","selectedOffsetWellIds","onOffsetWellsSelect","companyId","maxRadiusInMiles","well","wells","isGlobalSelector","testId","buttonLabel","useState","_useState2","_slicedToArray","_useState","isMapVisible","setIsMapVisible","_useState4","_useState3","isFiltersVisible","setIsFiltersVisible","_useState5","_objectSpread","BASE_FILTERS","radiusMiles","_useState6","currentFilters","setFilters","_useState7","padStatus","PadStatus","All","defaultFilters","filters","_usePads","usePads","pads","isBackgroundDataLoading","isSelectedPadsLoading","padsByRadius","usePadsByRadius","_useModalHandlers","useModalHandlers","isModalOpen","handleOpenModal","handleCloseModal","handleSaveSelectedWellIds","handleCancelButtonClick","handleResetSelection","localSelectedOffsetWellIds","setLocalSelectedOffsetWellIds","allWellIds","useMemo","filter","pad","id","toString","flatMap","map","selectedPads","some","includes","_jsxs","_Fragment","children","_jsx","OffsetWellsButton","length","icon","Global","size","className","styles","buttonIcon","undefined","onClick","label","Modal","open","onClose","primaryActionText","primaryActionHandler","secondaryActionText","secondaryActionHandler","actions","Button","type","title","ModalTitle","total","selected","toggleMapVisibility","prev","toggleFiltersVisibility","onModalClose","modalContent","Map","selectedOffsetWellsIds","onOffsetWellIdsSelect","classnames","tableContainer","tableContainerWithMap","tableContainerWithoutMap","AssetFilters","PadsTable","CompletionsOffsetWellPicker","props","queryClient","QueryClient","QueryClientProvider","client"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CompletionsOffsetWellPicker.js","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.tsx"],"sourcesContent":["import { FC, memo, useMemo, useState } from 'react';\nimport classnames from 'classnames';\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query';\n\nimport { Modal } from '../Modal';\nimport { OffsetWellsButton } from '../OffsetWellsButton';\nimport { Button } from '../Button';\n\nimport ModalTitle from './ModalTitle/ModalTitle';\nimport AssetFilters from './AssetFilters/AssetFilters';\nimport PadsTable from './PadsTable/PadsTable';\nimport { usePads } from './hooks/usePads';\nimport Map from './Map/Map';\nimport { CompletionsOffsetWellPickerProps as Props, Filters, PadStatus } from './types';\nimport { useModalHandlers } from './useModalHandlers';\nimport { BASE_FILTERS, DEFAULT_RADIUS_MILES } from './constants';\nimport { usePadsByRadius } from './hooks/usePadsByRadius';\n\nimport styles from './CompletionsOffsetWellPicker.scss';\n\nimport { Global } from '~/icons';\n\nconst CompletionsOffsetWellPickerInner: FC<Props> = memo(\n ({\n selectedPadId,\n selectedOffsetWellIds,\n onOffsetWellsSelect,\n companyId,\n maxRadiusInMiles,\n well,\n wells,\n isGlobalSelector,\n testId,\n buttonLabel,\n }) => {\n // state\n const [isMapVisible, setIsMapVisible] = useState(true);\n const [isFiltersVisible, setIsFiltersVisible] = useState(true);\n\n const [currentFilters, setFilters] = useState<Filters>(() => ({\n ...BASE_FILTERS,\n radiusMiles:\n maxRadiusInMiles === undefined\n ? DEFAULT_RADIUS_MILES\n : Math.min(DEFAULT_RADIUS_MILES, maxRadiusInMiles),\n }));\n\n const [defaultFilters] = useState<Filters>(() => ({\n ...currentFilters,\n padStatus: PadStatus.All,\n }));\n\n // Hiding the filters panel resets only the panel's filters; the radius input\n // lives on the map, which stays visible, so it must keep tracking user edits\n const filters = useMemo(\n () =>\n isFiltersVisible\n ? currentFilters\n : { ...defaultFilters, radiusMiles: currentFilters.radiusMiles },\n [isFiltersVisible, currentFilters, defaultFilters]\n );\n\n // data\n const { pads, isBackgroundDataLoading, isSelectedPadsLoading } = usePads({\n companyId,\n padStatus: filters.padStatus,\n well,\n wells,\n selectedOffsetWellIds,\n });\n\n const padsByRadius = usePadsByRadius({\n pads,\n selectedPadId,\n radiusMiles: filters.radiusMiles,\n });\n\n // handlers\n const {\n isModalOpen,\n handleOpenModal,\n handleCloseModal,\n handleSaveSelectedWellIds,\n handleCancelButtonClick,\n handleResetSelection,\n localSelectedOffsetWellIds,\n setLocalSelectedOffsetWellIds,\n } = useModalHandlers({\n // Unfiltered pads: saving must not drop selected wells outside the current radius\n pads,\n selectedOffsetWellIds,\n onOffsetWellsSelect,\n });\n\n // memo\n const allWellIds = useMemo(() => {\n if (!padsByRadius) return [];\n\n return padsByRadius\n .filter(pad => pad.id.toString() !== selectedPadId?.toString())\n .flatMap(pad => pad.wells.map(well => well.id));\n }, [padsByRadius, selectedPadId]);\n\n const selectedPads = useMemo(() => {\n if (!padsByRadius) return [];\n\n return padsByRadius.filter(pad =>\n pad.wells.some(well => localSelectedOffsetWellIds.includes(well.id))\n );\n }, [padsByRadius, localSelectedOffsetWellIds]);\n\n return (\n <>\n <OffsetWellsButton\n wells={selectedOffsetWellIds.length}\n data-testid={testId}\n icon={isGlobalSelector ? <Global size={20} className={styles.buttonIcon} /> : undefined}\n onClick={handleOpenModal}\n label={buttonLabel}\n />\n <Modal\n open={isModalOpen}\n size=\"fullscreen\"\n onClose={handleCloseModal}\n primaryActionText={`Select Wells (${localSelectedOffsetWellIds.length})`}\n primaryActionHandler={handleSaveSelectedWellIds}\n secondaryActionText=\"Cancel\"\n secondaryActionHandler={handleCancelButtonClick}\n actions={[\n <Button key=\"clear-filters\" type=\"secondaryDestructive\" onClick={handleResetSelection}>\n Reset\n </Button>,\n ]}\n title={\n <ModalTitle\n total={padsByRadius.length ? padsByRadius.length - 1 : 0} // excluding main pad\n selected={selectedPads.length}\n isMapVisible={isMapVisible}\n isFiltersVisible={isFiltersVisible}\n toggleMapVisibility={() => setIsMapVisible(prev => !prev)}\n toggleFiltersVisibility={() => setIsFiltersVisible(prev => !prev)}\n onModalClose={handleCloseModal}\n isBackgroundDataLoading={isBackgroundDataLoading}\n />\n }\n >\n <div className={styles.modalContent}>\n {isMapVisible && (\n <Map\n wells={wells}\n well={well}\n pads={padsByRadius}\n selectedOffsetWellsIds={localSelectedOffsetWellIds}\n onOffsetWellIdsSelect={setLocalSelectedOffsetWellIds}\n radiusMiles={filters.radiusMiles}\n setFilters={setFilters}\n maxRadiusInMiles={maxRadiusInMiles}\n />\n )}\n <div\n className={classnames(\n styles.tableContainer,\n isMapVisible ? styles.tableContainerWithMap : styles.tableContainerWithoutMap\n )}\n >\n {isFiltersVisible && (\n <AssetFilters\n pads={padsByRadius}\n selectedPadId={selectedPadId}\n filters={filters}\n setFilters={setFilters}\n />\n )}\n <PadsTable\n allWellIds={allWellIds}\n pads={padsByRadius}\n selectedPadId={selectedPadId}\n selectedOffsetWellIds={localSelectedOffsetWellIds}\n onOffsetWellIdsSelect={setLocalSelectedOffsetWellIds}\n filters={filters}\n isSelectedPadsLoading={isSelectedPadsLoading}\n />\n </div>\n </div>\n </Modal>\n </>\n );\n }\n);\n\nexport const CompletionsOffsetWellPicker: FC<Props> = props => {\n const queryClient = useMemo(() => new QueryClient(), []);\n\n return (\n <QueryClientProvider client={queryClient}>\n <CompletionsOffsetWellPickerInner {...props} />\n </QueryClientProvider>\n );\n};\n"],"names":["CompletionsOffsetWellPickerInner","memo","_ref","selectedPadId","selectedOffsetWellIds","onOffsetWellsSelect","companyId","maxRadiusInMiles","well","wells","isGlobalSelector","testId","buttonLabel","useState","_useState2","_slicedToArray","_useState","isMapVisible","setIsMapVisible","_useState4","_useState3","isFiltersVisible","setIsFiltersVisible","_useState5","_objectSpread","BASE_FILTERS","radiusMiles","undefined","DEFAULT_RADIUS_MILES","Math","min","_useState6","currentFilters","setFilters","_useState7","padStatus","PadStatus","All","defaultFilters","filters","useMemo","_usePads","usePads","pads","isBackgroundDataLoading","isSelectedPadsLoading","padsByRadius","usePadsByRadius","_useModalHandlers","useModalHandlers","isModalOpen","handleOpenModal","handleCloseModal","handleSaveSelectedWellIds","handleCancelButtonClick","handleResetSelection","localSelectedOffsetWellIds","setLocalSelectedOffsetWellIds","allWellIds","filter","pad","id","toString","flatMap","map","selectedPads","some","includes","_jsxs","_Fragment","children","_jsx","OffsetWellsButton","length","icon","Global","size","className","styles","buttonIcon","onClick","label","Modal","open","onClose","primaryActionText","primaryActionHandler","secondaryActionText","secondaryActionHandler","actions","Button","type","title","ModalTitle","total","selected","toggleMapVisibility","prev","toggleFiltersVisibility","onModalClose","modalContent","Map","selectedOffsetWellsIds","onOffsetWellIdsSelect","classnames","tableContainer","tableContainerWithMap","tableContainerWithoutMap","AssetFilters","PadsTable","CompletionsOffsetWellPicker","props","queryClient","QueryClient","QueryClientProvider","client"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from"@babel/runtime/helpers/slicedToArray";import{memo as s,useState as c}from"react";import"@babel/runtime/helpers/defineProperty";import{TableHead as i}from"@material-ui/core";import"@babel/runtime/helpers/objectWithoutProperties";import"@icon-park/react/es/all";import{jsxs as n,Fragment as t,jsx as e}from"react/jsx-runtime";import"../../../icons/IconParkProvider.js";import"../../../icons/customIcons/icons/AddMessage.js";import"../../../icons/customIcons/icons/DragOne.js";import"../../../icons/customIcons/icons/Attention.js";import"../../../icons/customIcons/icons/Collapse.js";import"../../../icons/customIcons/icons/Dashboard.js";import"../../../icons/customIcons/icons/Expand.js";import"../../../icons/customIcons/icons/FolderClosed.js";import"../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../icons/customIcons/icons/FolderOpened.js";import"../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../icons/customIcons/icons/LessOrEqual.js";import"../../../icons/customIcons/icons/Search.js";import"../../../icons/customIcons/icons/SearchOne.js";import"../../../icons/customIcons/icons/Wellhub.js";import"../../../icons/customIcons/icons/MultiRuler.js";import"../../../icons/customIcons/icons/Checkbox.js";import"../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../icons/customIcons/icons/Radio.js";import"../../../icons/customIcons/icons/RadioChecked.js";import"../../../icons/customIcons/icons/SimulFrac.js";import"../../../icons/customIcons/icons/ZipperFrac.js";import"../../../icons/customIcons/icons/CautionFilled.js";import"../../../icons/customIcons/icons/MoreApp.js";import"../../../icons/customIcons/icons/Pad.js";import"../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../icons/customIcons/icons/FracFleet.js";import"../../../icons/customIcons/icons/Global.js";import"../../../icons/customIcons/icons/Program.js";import"../../../icons/customIcons/icons/Rig.js";import"../../../icons/customIcons/icons/Well.js";import"../../../icons/customIcons/icons/Gap.js";import"../../../icons/customIcons/icons/Pin.js";import"../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../icons/customIcons/icons/AttentionFilled.js";import"../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../icons/customIcons/icons/Archive.js";import"../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../icons/customIcons/icons/Unarchive.js";import"../../../icons/customIcons/icons/Archived.js";import"../../../icons/customIcons/icons/InterventionUnit.js";import"../../../icons/customIcons/icons/CloudDelete.js";import"../../../icons/customIcons/icons/Lasso.js";import"../../../icons/customIcons/icons/Radius.js";import"../../../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";import"../../../components/Table/TableToolbar/TableToolbar.js";import"../../../components/Table/TableContainer/TableContainer.js";import"../../../components/Table/TableCell/TableCell.js";import"../../../components/Table/TablePagination/TablePagination.js";import"../../../components/Table/TablePaginationActions/TablePaginationActions.js";import{Table as r}from"../../../components/Table/Table/Table.js";import m from"../AssetSearchInput/AssetSearchInput.js";import l from"./PadsTableHead.js";import{SortDirection as
|
|
1
|
+
import o from"@babel/runtime/helpers/slicedToArray";import{memo as s,useState as c}from"react";import"@babel/runtime/helpers/defineProperty";import{TableHead as i}from"@material-ui/core";import"@babel/runtime/helpers/objectWithoutProperties";import"@icon-park/react/es/all";import{jsxs as n,Fragment as t,jsx as e}from"react/jsx-runtime";import"../../../icons/IconParkProvider.js";import"../../../icons/customIcons/icons/AddMessage.js";import"../../../icons/customIcons/icons/DragOne.js";import"../../../icons/customIcons/icons/Attention.js";import"../../../icons/customIcons/icons/Collapse.js";import"../../../icons/customIcons/icons/Dashboard.js";import"../../../icons/customIcons/icons/Expand.js";import"../../../icons/customIcons/icons/FolderClosed.js";import"../../../icons/customIcons/icons/FolderClosedFilled.js";import"../../../icons/customIcons/icons/FolderOpened.js";import"../../../icons/customIcons/icons/GreaterOrEqual.js";import"../../../icons/customIcons/icons/LessOrEqual.js";import"../../../icons/customIcons/icons/Search.js";import"../../../icons/customIcons/icons/SearchOne.js";import"../../../icons/customIcons/icons/Wellhub.js";import"../../../icons/customIcons/icons/MultiRuler.js";import"../../../icons/customIcons/icons/Checkbox.js";import"../../../icons/customIcons/icons/CheckboxChecked.js";import"../../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../../icons/customIcons/icons/Radio.js";import"../../../icons/customIcons/icons/RadioChecked.js";import"../../../icons/customIcons/icons/SimulFrac.js";import"../../../icons/customIcons/icons/ZipperFrac.js";import"../../../icons/customIcons/icons/CautionFilled.js";import"../../../icons/customIcons/icons/MoreApp.js";import"../../../icons/customIcons/icons/Pad.js";import"../../../icons/customIcons/icons/DrilloutUnit.js";import"../../../icons/customIcons/icons/FracFleet.js";import"../../../icons/customIcons/icons/Global.js";import"../../../icons/customIcons/icons/Program.js";import"../../../icons/customIcons/icons/Rig.js";import"../../../icons/customIcons/icons/Well.js";import"../../../icons/customIcons/icons/Gap.js";import"../../../icons/customIcons/icons/Pin.js";import"../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../icons/customIcons/icons/AttentionFilled.js";import"../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../icons/customIcons/icons/Archive.js";import"../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../icons/customIcons/icons/Unarchive.js";import"../../../icons/customIcons/icons/Archived.js";import"../../../icons/customIcons/icons/InterventionUnit.js";import"../../../icons/customIcons/icons/CloudDelete.js";import"../../../icons/customIcons/icons/Lasso.js";import"../../../icons/customIcons/icons/Radius.js";import"../../../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";import"../../../components/Table/TableToolbar/TableToolbar.js";import"../../../components/Table/TableContainer/TableContainer.js";import"../../../components/Table/TableCell/TableCell.js";import"../../../components/Table/TablePagination/TablePagination.js";import"../../../components/Table/TablePaginationActions/TablePaginationActions.js";import{Table as r}from"../../../components/Table/Table/Table.js";import m from"../AssetSearchInput/AssetSearchInput.js";import l from"./PadsTableHead.js";import{DEFAULT_SORT_BY as p,SortDirection as a}from"./helpers/sortPads.js";import{usePadTableHandlers as u}from"./helpers/usePadTableHandlers.js";import{PadsTableBody as d}from"./PadsTableBody.js";import{useDebouncedValues as I}from"./helpers/useDebouncedValues.js";import j from"./PadsTable.scss.js";var b=s((function(s){var b=s.allWellIds,h=s.selectedOffsetWellIds,T=s.pads,f=s.selectedPadId,C=s.isSelectedPadsLoading,P=s.onOffsetWellIdsSelect,S=s.filters,O=c(p),F=o(O,2),A=F[0],W=F[1],g=c(a.ASC),v=o(g,2),x=v[0],D=v[1],y=c(""),k=o(y,2),M=k[0],B=k[1],R=I({searchText:M,filters:S}),E=R.debouncedSearchText,G=R.debouncedFilters,L=u({pads:T,onOffsetWellIdsSelect:P,selectedOffsetWellIds:h,allWellIds:b}),U=L.handleSelectPad,N=L.handleSelectPads,q=L.handleSelectWellId;return n(t,{children:[e(m,{searchText:M,onChange:B}),e(r,{children:e(i,{children:e(l,{allWellIds:b,handleSelectPads:N,sortBy:A,sortDirection:x,selectedOffsetWellIds:h,setSortBy:W,setSortDirection:D})})}),e("div",{className:j.tableWrapper,children:e(r,{className:j.table,children:e(d,{pads:T,selectedPadId:f,searchText:E,sortBy:A,sortDirection:x,selectedOffsetWellIds:h,isSelectedPadsLoading:C,filters:G,handleSelectPad:U,handleSelectWellId:q})})})]})}));export{b as default};
|
|
2
2
|
//# sourceMappingURL=PadsTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PadsTable.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.tsx"],"sourcesContent":["import { FC, memo, useState } from 'react';\n\nimport { Table } from '../../../components/Table';\nimport { TableHead } from '../../../components/Table/TableHead';\nimport AssetSearchInput from '../AssetSearchInput/AssetSearchInput';\nimport { CompletionsOffsetWellPickerProps, Filters, MappedPad } from '../types';\n\nimport PadsTableHead from './PadsTableHead';\nimport { SortBy, SortDirection } from './helpers/sortPads';\nimport { usePadTableHandlers } from './helpers/usePadTableHandlers';\nimport { PadsTableBody } from './PadsTableBody';\nimport { useDebouncedValues } from './helpers/useDebouncedValues';\n\nimport styles from './PadsTable.scss';\n\ntype Props = {\n allWellIds: number[];\n pads: MappedPad[];\n onOffsetWellIdsSelect: (offsetWellIds: number[]) => void;\n filters: Filters;\n isSelectedPadsLoading: boolean;\n} & Pick<CompletionsOffsetWellPickerProps, 'selectedOffsetWellIds' | 'selectedPadId'>;\n\nconst PadsTable: FC<Props> = memo(\n ({\n allWellIds,\n selectedOffsetWellIds,\n pads,\n selectedPadId,\n isSelectedPadsLoading,\n onOffsetWellIdsSelect,\n filters,\n }) => {\n const [sortBy, setSortBy] = useState<SortBy | null>(
|
|
1
|
+
{"version":3,"file":"PadsTable.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.tsx"],"sourcesContent":["import { FC, memo, useState } from 'react';\n\nimport { Table } from '../../../components/Table';\nimport { TableHead } from '../../../components/Table/TableHead';\nimport AssetSearchInput from '../AssetSearchInput/AssetSearchInput';\nimport { CompletionsOffsetWellPickerProps, Filters, MappedPad } from '../types';\n\nimport PadsTableHead from './PadsTableHead';\nimport { DEFAULT_SORT_BY, SortBy, SortDirection } from './helpers/sortPads';\nimport { usePadTableHandlers } from './helpers/usePadTableHandlers';\nimport { PadsTableBody } from './PadsTableBody';\nimport { useDebouncedValues } from './helpers/useDebouncedValues';\n\nimport styles from './PadsTable.scss';\n\ntype Props = {\n allWellIds: number[];\n pads: MappedPad[];\n onOffsetWellIdsSelect: (offsetWellIds: number[]) => void;\n filters: Filters;\n isSelectedPadsLoading: boolean;\n} & Pick<CompletionsOffsetWellPickerProps, 'selectedOffsetWellIds' | 'selectedPadId'>;\n\nconst PadsTable: FC<Props> = memo(\n ({\n allWellIds,\n selectedOffsetWellIds,\n pads,\n selectedPadId,\n isSelectedPadsLoading,\n onOffsetWellIdsSelect,\n filters,\n }) => {\n const [sortBy, setSortBy] = useState<SortBy | null>(DEFAULT_SORT_BY);\n const [sortDirection, setSortDirection] = useState(SortDirection.ASC);\n const [searchText, setSearchText] = useState('');\n\n const { debouncedSearchText, debouncedFilters } = useDebouncedValues({\n searchText,\n filters,\n });\n\n const { handleSelectPad, handleSelectPads, handleSelectWellId } = usePadTableHandlers({\n pads,\n onOffsetWellIdsSelect,\n selectedOffsetWellIds,\n allWellIds,\n });\n\n return (\n <>\n <AssetSearchInput searchText={searchText} onChange={setSearchText} />\n <Table>\n <TableHead>\n <PadsTableHead\n allWellIds={allWellIds}\n handleSelectPads={handleSelectPads}\n sortBy={sortBy}\n sortDirection={sortDirection}\n selectedOffsetWellIds={selectedOffsetWellIds}\n setSortBy={setSortBy}\n setSortDirection={setSortDirection}\n />\n </TableHead>\n </Table>\n <div className={styles.tableWrapper}>\n <Table className={styles.table}>\n <PadsTableBody\n pads={pads}\n selectedPadId={selectedPadId}\n searchText={debouncedSearchText}\n sortBy={sortBy}\n sortDirection={sortDirection}\n selectedOffsetWellIds={selectedOffsetWellIds}\n isSelectedPadsLoading={isSelectedPadsLoading}\n filters={debouncedFilters}\n handleSelectPad={handleSelectPad}\n handleSelectWellId={handleSelectWellId}\n />\n </Table>\n </div>\n </>\n );\n }\n);\n\nexport default PadsTable;\n"],"names":["PadsTable","memo","_ref","allWellIds","selectedOffsetWellIds","pads","selectedPadId","isSelectedPadsLoading","onOffsetWellIdsSelect","filters","useState","DEFAULT_SORT_BY","_useState2","_slicedToArray","_useState","sortBy","setSortBy","_useState3","SortDirection","ASC","_useState4","sortDirection","setSortDirection","_useState6","_useState5","searchText","setSearchText","_useDebouncedValues","useDebouncedValues","debouncedSearchText","debouncedFilters","_usePadTableHandlers","usePadTableHandlers","handleSelectPad","handleSelectPads","handleSelectWellId","_jsxs","_Fragment","children","_jsx","AssetSearchInput","onChange","Table","TableHead","PadsTableHead","className","styles","tableWrapper","table","PadsTableBody"],"mappings":"67JAuBA,IAAMA,EAAuBC,GAC3B,SAQMC,GAAA,IAPJC,IAAAA,WACAC,IAAAA,sBACAC,IAAAA,KACAC,IAAAA,cACAC,IAAAA,sBACAC,IAAAA,sBACAC,IAAAA,QAE4BC,EAAAA,EAAwBC,GAAgBC,EAAAC,EAAAC,EAAA,GAA7DC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GACxBK,EAA0CP,EAASQ,EAAcC,KAAIC,EAAAP,EAAAI,EAAA,GAA9DI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GACFV,EAAAA,EAAS,IAAGa,EAAAV,EAAAW,EAAA,GAAzCC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAEhCI,EAAkDC,EAAmB,CACnEH,WAAAA,EACAhB,QAAAA,IAFMoB,IAAAA,oBAAqBC,IAAAA,iBAK7BC,EAAkEC,EAAoB,CACpF3B,KAAAA,EACAG,sBAAAA,EACAJ,sBAAAA,EACAD,WAAAA,IAJM8B,IAAAA,gBAAiBC,IAAAA,iBAAkBC,IAAAA,mBAO3C,OACEC,EAAAC,EAAA,CAAAC,SAAA,CACEC,EAACC,EAAgB,CAACf,WAAYA,EAAYgB,SAAUf,IACpDa,EAACG,EAAK,CAAAJ,SACJC,EAACI,EAAS,CAAAL,SACRC,EAACK,EAAa,CACZzC,WAAYA,EACZ+B,iBAAkBA,EAClBnB,OAAQA,EACRM,cAAeA,EACfjB,sBAAuBA,EACvBY,UAAWA,EACXM,iBAAkBA,QAIxBiB,EAAA,MAAA,CAAKM,UAAWC,EAAOC,aAAaT,SAClCC,EAACG,EAAK,CAACG,UAAWC,EAAOE,MAAMV,SAC7BC,EAACU,EAAa,CACZ5C,KAAMA,EACNC,cAAeA,EACfmB,WAAYI,EACZd,OAAQA,EACRM,cAAeA,EACfjB,sBAAuBA,EACvBG,sBAAuBA,EACvBE,QAASqB,EACTG,gBAAiBA,EACjBE,mBAAoBA,UAMhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PadsTableBody.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAmD,MAAM,OAAO,CAAC;AAO5E,OAAO,EAAE,gCAAgC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"PadsTableBody.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAmD,MAAM,OAAO,CAAC;AAO5E,OAAO,EAAE,gCAAgC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAMhF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAMpE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3E,kBAAkB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC;CAClF,GAAG,IAAI,CAAC,gCAAgC,EAAE,uBAAuB,GAAG,eAAe,CAAC,CAAC;AAEtF,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,KAAK,CAqFnC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/slicedToArray";import{memo as r,useState as o,useCallback as n,useMemo as l,useEffect as i}from"react";import{Button as a}from"../../Button/Button.js";import{TableBody as
|
|
1
|
+
import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/slicedToArray";import{memo as r,useState as o,useCallback as n,useMemo as l,useEffect as i}from"react";import{Button as a}from"../../Button/Button.js";import{TableBody as s,TableRow as d}from"@material-ui/core";import{TableCell as c}from"../../../components/Table/TableCell/TableCell.js";import{LoaderLogo as m}from"../../LoaderLogo/LoaderLogo.js";import{MAX_TVD as u}from"../constants.js";import f from"./PadTableRow.js";import{COLUMNS as p}from"./helpers/columns.js";import{useFilteredData as h}from"./helpers/useFilteredData.js";import g from"./PadsTableBody.scss.js";import{jsx as S,jsxs as b}from"react/jsx-runtime";var v=r((function(r){var v,j=r.pads,T=r.selectedPadId,x=r.searchText,I=r.sortBy,P=r.sortDirection,L=r.selectedOffsetWellIds,y=r.filters,B=r.isSelectedPadsLoading,C=r.handleSelectPad,M=r.handleSelectWellId,W=o(50),F=t(W,2),D=F[0],A=F[1],O=n((function(){A((function(e){return e+50}))}),[]),k=l((function(){return j.filter((function(e){return e.id.toString()!==(null==T?void 0:T.toString())}))}),[j,T]),w=l((function(){return j.find((function(e){return e.id.toString()===(null==T?void 0:T.toString())}))}),[j,T]),E=l((function(){return!!(x||y.selectedFormations.length||y.selectedFracFleets.length||y.tvdMin||y.tvdMax!==u)}),[x,y]),N=h({data:k,searchText:x,sortBy:I,sortDirection:P,selectedWellIds:L,filters:y,mainItem:w});i((function(){A(50)}),[x,y]);var R=l((function(){return N.slice(0,D)}),[N,D]);return!w||B?S(m,{}):b(s,{children:[null===(v=[w].concat(e(R)))||void 0===v?void 0:v.map((function(e){return S(f,{isMainPad:e.id.toString()===(null==T?void 0:T.toString()),data:e,isExpanded:E,searchText:x,handleSelectPad:C,selectedOffsetWellIds:L,handleSelectWellId:M},e.id)})),N.length>50&&D<N.length&&S(d,{children:S(c,{colSpan:p.length,className:g.loadMoreCell,children:S(a,{onClick:O,children:"Load More"})})})]})}));export{v as PadsTableBody};
|
|
2
2
|
//# sourceMappingURL=PadsTableBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PadsTableBody.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.tsx"],"sourcesContent":["import { FC, memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { Button } from '../../Button';\nimport { TableBody } from '../../../components/Table/TableBody';\nimport { TableCell } from '../../../components/Table/TableCell/TableCell';\nimport { TableRow } from '../../../components/Table/TableRow';\nimport { LoaderLogo } from '../../../componentsV2/LoaderLogo';\nimport { CompletionsOffsetWellPickerProps, Filters, MappedPad } from '../types';\nimport { MAX_TVD } from '../constants';\n\nimport PadTableRow from './PadTableRow';\nimport { useFilteredData } from './helpers/useFilteredData';\nimport { SortBy, SortDirection } from './helpers/sortPads';\nimport { usePadTableHandlers } from './helpers/usePadTableHandlers';\n\nimport styles from './PadsTableBody.scss';\n\nconst DEFAULT_SLICE_SIZE = 50;\n\ntype Props = {\n pads: MappedPad[];\n searchText: string;\n sortBy: SortBy | null;\n sortDirection: SortDirection;\n filters: Omit<Filters, 'padStatus'>;\n isSelectedPadsLoading: boolean;\n handleSelectPad: ReturnType<typeof usePadTableHandlers>['handleSelectPad'];\n handleSelectWellId: ReturnType<typeof usePadTableHandlers>['handleSelectWellId'];\n} & Pick<CompletionsOffsetWellPickerProps, 'selectedOffsetWellIds' | 'selectedPadId'>;\n\nexport const PadsTableBody: FC<Props> = memo(\n ({\n pads,\n selectedPadId,\n searchText,\n sortBy,\n sortDirection,\n selectedOffsetWellIds,\n filters,\n isSelectedPadsLoading,\n handleSelectPad,\n handleSelectWellId,\n }) => {\n const [slice, setSlice] = useState(DEFAULT_SLICE_SIZE);\n\n const increaseSlice = useCallback(() => {\n setSlice(prevSlice => prevSlice + DEFAULT_SLICE_SIZE);\n }, []);\n\n const padsWithoutMainItem = useMemo(\n () => pads.filter(pad => pad.id.toString() !== selectedPadId?.toString()),\n [pads, selectedPadId]\n );\n\n const mainItem = useMemo(\n () => pads.find(pad => pad.id.toString() === selectedPadId?.toString()),\n [pads, selectedPadId]\n );\n\n const isExpanded = useMemo(\n () =>\n !!searchText ||\n !!filters.selectedFormations.length ||\n !!filters.selectedFracFleets.length ||\n !!filters.tvdMin ||\n filters.tvdMax !== MAX_TVD
|
|
1
|
+
{"version":3,"file":"PadsTableBody.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.tsx"],"sourcesContent":["import { FC, memo, useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { Button } from '../../Button';\nimport { TableBody } from '../../../components/Table/TableBody';\nimport { TableCell } from '../../../components/Table/TableCell/TableCell';\nimport { TableRow } from '../../../components/Table/TableRow';\nimport { LoaderLogo } from '../../../componentsV2/LoaderLogo';\nimport { CompletionsOffsetWellPickerProps, Filters, MappedPad } from '../types';\nimport { MAX_TVD } from '../constants';\n\nimport PadTableRow from './PadTableRow';\nimport { COLUMNS } from './helpers/columns';\nimport { useFilteredData } from './helpers/useFilteredData';\nimport { SortBy, SortDirection } from './helpers/sortPads';\nimport { usePadTableHandlers } from './helpers/usePadTableHandlers';\n\nimport styles from './PadsTableBody.scss';\n\nconst DEFAULT_SLICE_SIZE = 50;\n\ntype Props = {\n pads: MappedPad[];\n searchText: string;\n sortBy: SortBy | null;\n sortDirection: SortDirection;\n filters: Omit<Filters, 'padStatus'>;\n isSelectedPadsLoading: boolean;\n handleSelectPad: ReturnType<typeof usePadTableHandlers>['handleSelectPad'];\n handleSelectWellId: ReturnType<typeof usePadTableHandlers>['handleSelectWellId'];\n} & Pick<CompletionsOffsetWellPickerProps, 'selectedOffsetWellIds' | 'selectedPadId'>;\n\nexport const PadsTableBody: FC<Props> = memo(\n ({\n pads,\n selectedPadId,\n searchText,\n sortBy,\n sortDirection,\n selectedOffsetWellIds,\n filters,\n isSelectedPadsLoading,\n handleSelectPad,\n handleSelectWellId,\n }) => {\n const [slice, setSlice] = useState(DEFAULT_SLICE_SIZE);\n\n const increaseSlice = useCallback(() => {\n setSlice(prevSlice => prevSlice + DEFAULT_SLICE_SIZE);\n }, []);\n\n const padsWithoutMainItem = useMemo(\n () => pads.filter(pad => pad.id.toString() !== selectedPadId?.toString()),\n [pads, selectedPadId]\n );\n\n const mainItem = useMemo(\n () => pads.find(pad => pad.id.toString() === selectedPadId?.toString()),\n [pads, selectedPadId]\n );\n\n // Radius is a pad-level filter and always has a default value, so it doesn't\n // expand rows — only well-level narrowing (search, formation, fleet, TVD) does\n const isExpanded = useMemo(\n () =>\n !!searchText ||\n !!filters.selectedFormations.length ||\n !!filters.selectedFracFleets.length ||\n !!filters.tvdMin ||\n filters.tvdMax !== MAX_TVD,\n [searchText, filters]\n );\n\n const filteredData = useFilteredData({\n data: padsWithoutMainItem,\n searchText,\n sortBy,\n sortDirection,\n selectedWellIds: selectedOffsetWellIds,\n filters,\n mainItem,\n });\n\n useEffect(() => {\n setSlice(DEFAULT_SLICE_SIZE);\n }, [searchText, filters]);\n\n const slicedFilteredData = useMemo(() => filteredData.slice(0, slice), [filteredData, slice]);\n\n if (!mainItem || isSelectedPadsLoading) {\n return <LoaderLogo />;\n }\n\n return (\n <TableBody>\n {[mainItem, ...slicedFilteredData]?.map(pad => (\n <PadTableRow\n isMainPad={pad.id.toString() === selectedPadId?.toString()}\n key={pad.id}\n data={pad}\n isExpanded={isExpanded}\n searchText={searchText}\n handleSelectPad={handleSelectPad}\n selectedOffsetWellIds={selectedOffsetWellIds}\n handleSelectWellId={handleSelectWellId}\n />\n ))}\n {filteredData.length > DEFAULT_SLICE_SIZE && slice < filteredData.length && (\n <TableRow>\n <TableCell colSpan={COLUMNS.length} className={styles.loadMoreCell}>\n <Button onClick={increaseSlice}>Load More</Button>\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n );\n }\n);\n"],"names":["PadsTableBody","memo","_ref","_ref2","pads","selectedPadId","searchText","sortBy","sortDirection","selectedOffsetWellIds","filters","isSelectedPadsLoading","handleSelectPad","handleSelectWellId","useState","_useState2","_slicedToArray","_useState","slice","setSlice","increaseSlice","useCallback","prevSlice","padsWithoutMainItem","useMemo","filter","pad","id","toString","mainItem","find","isExpanded","selectedFormations","length","selectedFracFleets","tvdMin","tvdMax","MAX_TVD","filteredData","useFilteredData","data","selectedWellIds","useEffect","slicedFilteredData","_jsx","LoaderLogo","_jsxs","TableBody","children","map","PadTableRow","isMainPad","TableRow","TableCell","colSpan","COLUMNS","className","styles","loadMoreCell","Button","onClick"],"mappings":"0sBAkBA,IAaaA,EAA2BC,GACtC,SAWMC,GAAA,IAAAC,EAVJC,IAAAA,KACAC,IAAAA,cACAC,IAAAA,WACAC,IAAAA,OACAC,IAAAA,cACAC,IAAAA,sBACAC,IAAAA,QACAC,IAAAA,sBACAC,IAAAA,gBACAC,IAAAA,mBAE0BC,EAAAA,EA1BH,IA0B+BC,EAAAC,EAAAC,EAAA,GAA/CC,EAAKH,EAAA,GAAEI,EAAQJ,EAAA,GAEhBK,EAAgBC,GAAY,WAChCF,GAAS,SAAAG,GAAS,OAAIA,EA7BD,KA8BtB,GAAE,IAEGC,EAAsBC,GAC1B,WAAA,OAAMpB,EAAKqB,QAAO,SAAAC,GAAG,OAAIA,EAAIC,GAAGC,cAAevB,aAAa,EAAbA,EAAeuB,cAAW,GACzE,CAACxB,EAAMC,IAGHwB,EAAWL,GACf,WAAA,OAAMpB,EAAK0B,MAAK,SAAAJ,GAAG,OAAIA,EAAIC,GAAGC,cAAevB,aAAa,EAAbA,EAAeuB,cAAW,GACvE,CAACxB,EAAMC,IAKH0B,EAAaP,GACjB,WAAA,SACIlB,GACAI,EAAQsB,mBAAmBC,QAC3BvB,EAAQwB,mBAAmBD,QAC3BvB,EAAQyB,QACVzB,EAAQ0B,SAAWC,EAAO,GAC5B,CAAC/B,EAAYI,IAGT4B,EAAeC,EAAgB,CACnCC,KAAMjB,EACNjB,WAAAA,EACAC,OAAAA,EACAC,cAAAA,EACAiC,gBAAiBhC,EACjBC,QAAAA,EACAmB,SAAAA,IAGFa,GAAU,WACRvB,EAjEqB,GAkEvB,GAAG,CAACb,EAAYI,IAEhB,IAAMiC,EAAqBnB,GAAQ,WAAA,OAAMc,EAAapB,MAAM,EAAGA,EAAM,GAAE,CAACoB,EAAcpB,IAEtF,OAAKW,GAAYlB,EACRiC,EAACC,EAAa,CAAA,GAIrBC,EAACC,EAAS,CAAAC,SACNnB,CAA+B,QAA/BA,EAAAA,CAAAA,YAAac,WAAkB,IAAAxC,OAAA,EAAhCA,EAAmC8C,KAAI,SAAAvB,GAAG,OACzCkB,EAACM,EAAW,CACVC,UAAWzB,EAAIC,GAAGC,cAAevB,aAAAA,EAAAA,EAAeuB,YAEhDY,KAAMd,EACNK,WAAYA,EACZzB,WAAYA,EACZM,gBAAiBA,EACjBH,sBAAuBA,EACvBI,mBAAoBA,GANfa,EAAIC,GAOT,IAEHW,EAAaL,OAxFK,IAwF0Bf,EAAQoB,EAAaL,QAChEW,EAACQ,EAAQ,CAAAJ,SACPJ,EAACS,EAAS,CAACC,QAASC,EAAQtB,OAAQuB,UAAWC,EAAOC,aAAaV,SACjEJ,EAACe,EAAM,CAACC,QAASxC,EAAc4B,SAAA,oBAM3C"}
|
package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/columns.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columns.test.d.ts","sourceRoot":"","sources":["../../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/columns.test.ts"],"names":[],"mappings":""}
|
package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/sortPads.test.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sortPads.test.d.ts","sourceRoot":"","sources":["../../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/sortPads.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CompletionsOffsetWellPickerProps, MappedPad } from '../../types';
|
|
2
2
|
import { usePadTableHandlers } from './usePadTableHandlers';
|
|
3
3
|
import { SortBy } from './sortPads';
|
|
4
|
+
export declare const formatDistanceMiles: (distanceMiles?: number) => string;
|
|
4
5
|
export declare const COLUMNS: Array<{
|
|
5
6
|
title: string;
|
|
6
7
|
sortBy: SortBy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMpC,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CACN,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC;KAClF,GAAG,IAAI,CAAC,gCAAgC,EAAE,uBAAuB,CAAC,KAChE,KAAK,CAAC,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,
|
|
1
|
+
{"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAMpC,eAAO,MAAM,mBAAmB,mBAAoB,MAAM,KAAG,MAGlD,CAAC;AAEZ,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,CACN,OAAO,EAAE;QACP,IAAI,EAAE,SAAS,CAAC;QAChB,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,kBAAkB,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC,oBAAoB,CAAC,CAAC;KAClF,GAAG,IAAI,CAAC,gCAAgC,EAAE,uBAAuB,CAAC,KAChE,KAAK,CAAC,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf,CAwGA,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Text as o}from"../../../Text/Text.js";import{Checkbox as s}from"../../../Checkbox/Checkbox.js";import c from"../../../../components/TruncatedText/index.js";import{HighlightText as i}from"./HighlightText.js";import{SortBy as n}from"./sortPads.js";import t from"./columns.scss.js";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/objectWithoutProperties";import"react";import"@icon-park/react/es/all";import{jsxs as e,jsx as r,Fragment as m}from"react/jsx-runtime";import"../../../../icons/IconParkProvider.js";import"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.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{FracFleet as l}from"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../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";var p=[{width:"30%",title:"Pad / Frac Fleet Name",sortBy:n.PAD,render:function(s){var c=s.data,n=s.searchText,m=s.isMainPad;return e("div",{className:m?t.subjectCell:void 0,children:[m&&r("div",{className:t.subjectPad,children:"Subject Pad"}),r(o,{children:r(i,{text:c.name||"",highlight:n})}),e("div",{className:t.fleet,children:[r(l,{size:13,className:t.fleetIcon}),r(o,{color:"T8",size:12,children:r(i,{text:c.fleetName,highlight:n})})]})]})}},{width:"30%",title:"Well Name",sortBy:n.WELL,render:function(n){var l=n.data,
|
|
1
|
+
import{Text as o}from"../../../Text/Text.js";import{Checkbox as s}from"../../../Checkbox/Checkbox.js";import c from"../../../../components/TruncatedText/index.js";import{HighlightText as i}from"./HighlightText.js";import{SortBy as n}from"./sortPads.js";import t from"./columns.scss.js";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/objectWithoutProperties";import"react";import"@icon-park/react/es/all";import{jsxs as e,jsx as r,Fragment as m}from"react/jsx-runtime";import"../../../../icons/IconParkProvider.js";import"../../../../icons/customIcons/icons/AddMessage.js";import"../../../../icons/customIcons/icons/DragOne.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{FracFleet as l}from"../../../../icons/customIcons/icons/FracFleet.js";import"../../../../icons/customIcons/icons/Global.js";import"../../../../icons/customIcons/icons/Program.js";import"../../../../icons/customIcons/icons/Rig.js";import"../../../../icons/customIcons/icons/Well.js";import"../../../../icons/customIcons/icons/Gap.js";import"../../../../icons/customIcons/icons/Pin.js";import"../../../../icons/customIcons/icons/CloseOneFilled.js";import"../../../../icons/customIcons/icons/AttentionFilled.js";import"../../../../icons/customIcons/icons/CheckOneFilled.js";import"../../../../icons/customIcons/icons/Archive.js";import"../../../../icons/customIcons/icons/ArchiveCancel.js";import"../../../../icons/customIcons/icons/Unarchive.js";import"../../../../icons/customIcons/icons/Archived.js";import"../../../../icons/customIcons/icons/InterventionUnit.js";import"../../../../icons/customIcons/icons/CloudDelete.js";import"../../../../icons/customIcons/icons/Lasso.js";import"../../../../icons/customIcons/icons/Radius.js";import"../../../../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";var a=function(o){return"number"==typeof o&&Number.isFinite(o)?o.toFixed(2):"N/A"},p=[{width:"30%",title:"Pad / Frac Fleet Name",sortBy:n.PAD,render:function(s){var c=s.data,n=s.searchText,m=s.isMainPad;return e("div",{className:m?t.subjectCell:void 0,children:[m&&r("div",{className:t.subjectPad,children:"Subject Pad"}),r(o,{children:r(i,{text:c.name||"",highlight:n})}),e("div",{className:t.fleet,children:[r(l,{size:13,className:t.fleetIcon}),r(o,{color:"T8",size:12,children:r(i,{text:c.fleetName,highlight:n})})]})]})}},{width:"30%",title:"Well Name",sortBy:n.WELL,render:function(n){var l=n.data,a=n.isSelected,p=n.selectedOffsetWellIds,u=n.handleSelectWellId,d=n.isExpanded,j=n.isMainPad,I=n.searchText;return a||d||j?r(m,{children:l.wells.map((function(o){return e("div",{className:t.listItem,children:[!j&&r(s,{checked:p.includes(o.id),onChange:function(s){return u(o.id,s)}}),r(c,{maxLines:2,children:r(i,{text:o.name,highlight:I})})]},o.id)}))}):r(o,{children:"Wells (".concat(l.wells.length,")")})}},{width:"20%",title:"Formation",sortBy:n.FORMATION,render:function(s){var c=s.data,n=s.isSelected,e=s.isExpanded,l=s.isMainPad,a=s.searchText;return n||e||l?r(m,{children:c.wells.map((function(s){return r("div",{className:t.listItem,children:r(o,{className:t.breakWord,children:r(i,{text:s.formation||"N/A",highlight:a})})},s.id)}))}):r(o,{children:"Formations (".concat(c.wells.length,")")})}},{width:"10%",title:"TVD (ft)",sortBy:n.TVD,render:function(s){var c=s.data,i=s.isSelected,n=s.isExpanded,e=s.isMainPad;return i||n||e?r(m,{children:c.wells.map((function(s){return r(o,{className:t.listItem,children:s.totalDepth.toFixed(0)},s.id)}))}):null}},{width:"10%",title:"Distance (mi)",sortBy:n.DISTANCE,render:function(s){var c=s.data;return r(o,{children:a(c.distanceMiles)})}}];export{p as COLUMNS,a as formatDistanceMiles};
|
|
2
2
|
//# sourceMappingURL=columns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columns.js","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.tsx"],"sourcesContent":["import { Text } from '../../../Text';\nimport { Checkbox } from '../../../Checkbox';\nimport TruncatedText from '../../../../components/TruncatedText';\nimport { CompletionsOffsetWellPickerProps, MappedPad } from '../../types';\n\nimport { usePadTableHandlers } from './usePadTableHandlers';\nimport { HighlightText } from './HighlightText';\nimport { SortBy } from './sortPads';\n\nimport styles from './columns.scss';\n\nimport { FracFleet } from '~/icons';\n\nexport const COLUMNS: Array<{\n title: string;\n sortBy: SortBy;\n render: (\n _params: {\n data: MappedPad;\n isSelected: boolean;\n isExpanded: boolean;\n isMainPad: boolean;\n searchText: string;\n handleSelectWellId: ReturnType<typeof usePadTableHandlers>['handleSelectWellId'];\n } & Pick<CompletionsOffsetWellPickerProps, 'selectedOffsetWellIds'>\n ) => React.ReactNode;\n width: string;\n}> = [\n {\n width: '30%',\n title: 'Pad / Frac Fleet Name',\n sortBy: SortBy.PAD,\n render: ({ data, searchText, isMainPad }) => (\n <div className={isMainPad ? styles.subjectCell : undefined}>\n {isMainPad && <div className={styles.subjectPad}>Subject Pad</div>}\n <Text>\n <HighlightText text={data.name || ''} highlight={searchText} />\n </Text>\n <div className={styles.fleet}>\n <FracFleet size={13} className={styles.fleetIcon} />\n <Text color=\"T8\" size={12}>\n <HighlightText text={data.fleetName} highlight={searchText} />\n </Text>\n </div>\n </div>\n ),\n },\n {\n width: '30%',\n title: 'Well Name',\n sortBy: SortBy.WELL,\n render: ({\n data,\n isSelected,\n selectedOffsetWellIds,\n handleSelectWellId,\n isExpanded,\n isMainPad,\n searchText,\n }) => {\n if (isSelected || isExpanded || isMainPad) {\n return (\n <>\n {data.wells.map(well => (\n <div key={well.id} className={styles.listItem}>\n {!isMainPad && (\n <Checkbox\n checked={selectedOffsetWellIds.includes(well.id)}\n onChange={checked => handleSelectWellId(well.id, checked)}\n />\n )}\n <TruncatedText maxLines={2}>\n <HighlightText text={well.name} highlight={searchText} />\n </TruncatedText>\n </div>\n ))}\n </>\n );\n }\n\n return <Text>{`Wells (${data.wells.length})`}</Text>;\n },\n },\n {\n width: '20%',\n title: 'Formation',\n sortBy: SortBy.FORMATION,\n render: ({ data, isSelected, isExpanded, isMainPad, searchText }) => {\n if (isSelected || isExpanded || isMainPad) {\n return (\n <>\n {data.wells.map(well => (\n <div key={well.id} className={styles.listItem}>\n <Text className={styles.breakWord}>\n <HighlightText text={well.formation || 'N/A'} highlight={searchText} />\n </Text>\n </div>\n ))}\n </>\n );\n }\n\n return <Text>{`Formations (${data.wells.length})`}</Text>;\n },\n },\n {\n width: '10%',\n title: 'TVD (ft)',\n sortBy: SortBy.TVD,\n render: ({ data, isSelected, isExpanded, isMainPad }) => {\n if (isSelected || isExpanded || isMainPad) {\n return (\n <>\n {data.wells.map(well => (\n <Text key={well.id} className={styles.listItem}>\n {well.totalDepth.toFixed(0)}\n </Text>\n ))}\n </>\n );\n }\n\n return null;\n },\n },\n];\n"],"names":["COLUMNS","width","title","sortBy","SortBy","PAD","render","_ref","data","searchText","isMainPad","_jsxs","className","styles","subjectCell","undefined","children","_jsx","subjectPad","Text","HighlightText","text","name","highlight","fleet","FracFleet","size","fleetIcon","color","fleetName","WELL","_ref2","isSelected","selectedOffsetWellIds","handleSelectWellId","isExpanded","_Fragment","wells","map","well","listItem","Checkbox","checked","includes","id","onChange","TruncatedText","maxLines","concat","length","FORMATION","_ref3","breakWord","formation","TVD","_ref4","totalDepth","
|
|
1
|
+
{"version":3,"file":"columns.js","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.tsx"],"sourcesContent":["import { Text } from '../../../Text';\nimport { Checkbox } from '../../../Checkbox';\nimport TruncatedText from '../../../../components/TruncatedText';\nimport { CompletionsOffsetWellPickerProps, MappedPad } from '../../types';\n\nimport { usePadTableHandlers } from './usePadTableHandlers';\nimport { HighlightText } from './HighlightText';\nimport { SortBy } from './sortPads';\n\nimport styles from './columns.scss';\n\nimport { FracFleet } from '~/icons';\n\nexport const formatDistanceMiles = (distanceMiles?: number): string =>\n typeof distanceMiles === 'number' && Number.isFinite(distanceMiles)\n ? distanceMiles.toFixed(2)\n : 'N/A';\n\nexport const COLUMNS: Array<{\n title: string;\n sortBy: SortBy;\n render: (\n _params: {\n data: MappedPad;\n isSelected: boolean;\n isExpanded: boolean;\n isMainPad: boolean;\n searchText: string;\n handleSelectWellId: ReturnType<typeof usePadTableHandlers>['handleSelectWellId'];\n } & Pick<CompletionsOffsetWellPickerProps, 'selectedOffsetWellIds'>\n ) => React.ReactNode;\n width: string;\n}> = [\n {\n width: '30%',\n title: 'Pad / Frac Fleet Name',\n sortBy: SortBy.PAD,\n render: ({ data, searchText, isMainPad }) => (\n <div className={isMainPad ? styles.subjectCell : undefined}>\n {isMainPad && <div className={styles.subjectPad}>Subject Pad</div>}\n <Text>\n <HighlightText text={data.name || ''} highlight={searchText} />\n </Text>\n <div className={styles.fleet}>\n <FracFleet size={13} className={styles.fleetIcon} />\n <Text color=\"T8\" size={12}>\n <HighlightText text={data.fleetName} highlight={searchText} />\n </Text>\n </div>\n </div>\n ),\n },\n {\n width: '30%',\n title: 'Well Name',\n sortBy: SortBy.WELL,\n render: ({\n data,\n isSelected,\n selectedOffsetWellIds,\n handleSelectWellId,\n isExpanded,\n isMainPad,\n searchText,\n }) => {\n if (isSelected || isExpanded || isMainPad) {\n return (\n <>\n {data.wells.map(well => (\n <div key={well.id} className={styles.listItem}>\n {!isMainPad && (\n <Checkbox\n checked={selectedOffsetWellIds.includes(well.id)}\n onChange={checked => handleSelectWellId(well.id, checked)}\n />\n )}\n <TruncatedText maxLines={2}>\n <HighlightText text={well.name} highlight={searchText} />\n </TruncatedText>\n </div>\n ))}\n </>\n );\n }\n\n return <Text>{`Wells (${data.wells.length})`}</Text>;\n },\n },\n {\n width: '20%',\n title: 'Formation',\n sortBy: SortBy.FORMATION,\n render: ({ data, isSelected, isExpanded, isMainPad, searchText }) => {\n if (isSelected || isExpanded || isMainPad) {\n return (\n <>\n {data.wells.map(well => (\n <div key={well.id} className={styles.listItem}>\n <Text className={styles.breakWord}>\n <HighlightText text={well.formation || 'N/A'} highlight={searchText} />\n </Text>\n </div>\n ))}\n </>\n );\n }\n\n return <Text>{`Formations (${data.wells.length})`}</Text>;\n },\n },\n {\n width: '10%',\n title: 'TVD (ft)',\n sortBy: SortBy.TVD,\n render: ({ data, isSelected, isExpanded, isMainPad }) => {\n if (isSelected || isExpanded || isMainPad) {\n return (\n <>\n {data.wells.map(well => (\n <Text key={well.id} className={styles.listItem}>\n {well.totalDepth.toFixed(0)}\n </Text>\n ))}\n </>\n );\n }\n\n return null;\n },\n },\n {\n width: '10%',\n title: 'Distance (mi)',\n sortBy: SortBy.DISTANCE,\n render: ({ data }) => <Text>{formatDistanceMiles(data.distanceMiles)}</Text>,\n },\n];\n"],"names":["formatDistanceMiles","distanceMiles","Number","isFinite","toFixed","COLUMNS","width","title","sortBy","SortBy","PAD","render","_ref","data","searchText","isMainPad","_jsxs","className","styles","subjectCell","undefined","children","_jsx","subjectPad","Text","HighlightText","text","name","highlight","fleet","FracFleet","size","fleetIcon","color","fleetName","WELL","_ref2","isSelected","selectedOffsetWellIds","handleSelectWellId","isExpanded","_Fragment","wells","map","well","listItem","Checkbox","checked","includes","id","onChange","TruncatedText","maxLines","concat","length","FORMATION","_ref3","breakWord","formation","TVD","_ref4","totalDepth","DISTANCE","_ref5"],"mappings":"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"}
|
|
@@ -7,7 +7,9 @@ export declare enum SortBy {
|
|
|
7
7
|
PAD = "name",
|
|
8
8
|
WELL = "wellName",
|
|
9
9
|
TVD = "tvd",
|
|
10
|
-
FORMATION = "formation"
|
|
10
|
+
FORMATION = "formation",
|
|
11
|
+
DISTANCE = "distanceMiles"
|
|
11
12
|
}
|
|
13
|
+
export declare const DEFAULT_SORT_BY = SortBy.DISTANCE;
|
|
12
14
|
export declare const sortPads: (sortBy: SortBy, sortDirection: SortDirection) => (a: MappedPad, b: MappedPad) => number;
|
|
13
15
|
//# sourceMappingURL=sortPads.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortPads.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,oBAAY,MAAM;IAChB,GAAG,SAAS;IACZ,IAAI,aAAa;IACjB,GAAG,QAAQ;IACX,SAAS,cAAc;
|
|
1
|
+
{"version":3,"file":"sortPads.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,oBAAY,aAAa;IACvB,GAAG,QAAQ;IACX,IAAI,SAAS;CACd;AAED,oBAAY,MAAM;IAChB,GAAG,SAAS;IACZ,IAAI,aAAa;IACjB,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,QAAQ,kBAAkB;CAC3B;AAED,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAK/C,eAAO,MAAM,QAAQ,WACV,MAAM,iBAAiB,aAAa,SACzC,SAAS,KAAK,SAAS,KAAG,MAiD7B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/toConsumableArray";var
|
|
1
|
+
import e from"@babel/runtime/helpers/toConsumableArray";var n,i;!function(e){e.ASC="asc",e.DESC="desc"}(n||(n={})),function(e){e.PAD="name",e.WELL="wellName",e.TVD="tvd",e.FORMATION="formation",e.DISTANCE="distanceMiles"}(i||(i={}));var t=i.DISTANCE,l=function(e){return"number"==typeof e&&Number.isFinite(e)?e:void 0},o=function(t,o){return function(r,a){var s="",u="";if(t===i.DISTANCE){var v=l(r.distanceMiles),m=l(a.distanceMiles);return void 0===v&&void 0===m?0:void 0===v?1:void 0===m?-1:o===n.ASC?v-m:m-v}if(t===i.TVD){var d=r.wells||[],f=a.wells||[];s=d.length?Math.min.apply(Math,e(d.map((function(e){return e.totalDepth})))):0,u=f.length?Math.min.apply(Math,e(f.map((function(e){return e.totalDepth})))):0}else if(t===i.FORMATION){var p,c,A=r.wells||[],C=a.wells||[];s=null===(p=A[0])||void 0===p?void 0:p.formation,u=null===(c=C[0])||void 0===c?void 0:c.formation}else if(t===i.WELL){var S,h,D=r.wells||[],M=a.wells||[];s=null===(S=D[0])||void 0===S?void 0:S.name,u=null===(h=M[0])||void 0===h?void 0:h.name}else s="string"==typeof r[t]?r[t]:"",u="string"==typeof a[t]?a[t]:"";return s=String(s),u=String(u),s||u?s?u?o===n.ASC?s.localeCompare(u):u.localeCompare(s):o===n.ASC?1:-1:o===n.ASC?-1:1:0}};export{t as DEFAULT_SORT_BY,i as SortBy,n as SortDirection,o as sortPads};
|
|
2
2
|
//# sourceMappingURL=sortPads.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sortPads.js","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.ts"],"sourcesContent":["import { MappedPad } from '../../types';\n\nexport enum SortDirection {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport enum SortBy {\n PAD = 'name',\n WELL = 'wellName',\n TVD = 'tvd',\n FORMATION = 'formation',\n}\n\nexport const sortPads =\n (sortBy: SortBy, sortDirection: SortDirection) =>\n (a: MappedPad, b: MappedPad): number => {\n let aValue: string | number = '';\n let bValue: string | number = '';\n\n // Handle special cases for nested sorting\n if (sortBy === SortBy.TVD) {\n // For TVD, get the minimum TVD from wells\n const aWells = a.wells || [];\n const bWells = b.wells || [];\n aValue = aWells.length ? Math.min(...aWells.map(w => w.totalDepth)) : 0;\n bValue = bWells.length ? Math.min(...bWells.map(w => w.totalDepth)) : 0;\n } else if (sortBy === SortBy.FORMATION) {\n // For formations, get the first formation from wells\n const aWells = a.wells || [];\n const bWells = b.wells || [];\n aValue = aWells[0]?.formation;\n bValue = bWells[0]?.formation;\n } else if (sortBy === SortBy.WELL) {\n // For well names, get the first well name from wells\n const aWells = a.wells || [];\n const bWells = b.wells || [];\n aValue = aWells[0]?.name;\n bValue = bWells[0]?.name;\n } else {\n // Default string comparison for other fields\n aValue = typeof a[sortBy] === 'string' ? a[sortBy] : '';\n bValue = typeof b[sortBy] === 'string' ? b[sortBy] : '';\n }\n\n // String comparison\n aValue = String(aValue);\n bValue = String(bValue);\n\n if (!aValue && !bValue) return 0;\n if (!aValue) return sortDirection === SortDirection.ASC ? -1 : 1;\n if (!bValue) return sortDirection === SortDirection.ASC ? 1 : -1;\n\n return sortDirection === SortDirection.ASC\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n };\n"],"names":["SortDirection","SortBy","sortPads","sortBy","sortDirection","a","b","aValue","bValue","TVD","aWells","wells","bWells","length","Math","min","map","w","totalDepth","FORMATION","_aWells$","_bWells$","formation","WELL","_aWells2$","_bWells2$","name","String","
|
|
1
|
+
{"version":3,"file":"sortPads.js","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.ts"],"sourcesContent":["import { MappedPad } from '../../types';\n\nexport enum SortDirection {\n ASC = 'asc',\n DESC = 'desc',\n}\n\nexport enum SortBy {\n PAD = 'name',\n WELL = 'wellName',\n TVD = 'tvd',\n FORMATION = 'formation',\n DISTANCE = 'distanceMiles',\n}\n\nexport const DEFAULT_SORT_BY = SortBy.DISTANCE;\n\nconst getFiniteDistance = (distanceMiles?: number): number | undefined =>\n typeof distanceMiles === 'number' && Number.isFinite(distanceMiles) ? distanceMiles : undefined;\n\nexport const sortPads =\n (sortBy: SortBy, sortDirection: SortDirection) =>\n (a: MappedPad, b: MappedPad): number => {\n let aValue: string | number = '';\n let bValue: string | number = '';\n\n // Handle special cases for nested sorting\n if (sortBy === SortBy.DISTANCE) {\n const aDistance = getFiniteDistance(a.distanceMiles);\n const bDistance = getFiniteDistance(b.distanceMiles);\n\n if (aDistance === undefined && bDistance === undefined) return 0;\n if (aDistance === undefined) return 1;\n if (bDistance === undefined) return -1;\n\n return sortDirection === SortDirection.ASC ? aDistance - bDistance : bDistance - aDistance;\n } else if (sortBy === SortBy.TVD) {\n // For TVD, get the minimum TVD from wells\n const aWells = a.wells || [];\n const bWells = b.wells || [];\n aValue = aWells.length ? Math.min(...aWells.map(w => w.totalDepth)) : 0;\n bValue = bWells.length ? Math.min(...bWells.map(w => w.totalDepth)) : 0;\n } else if (sortBy === SortBy.FORMATION) {\n // For formations, get the first formation from wells\n const aWells = a.wells || [];\n const bWells = b.wells || [];\n aValue = aWells[0]?.formation;\n bValue = bWells[0]?.formation;\n } else if (sortBy === SortBy.WELL) {\n // For well names, get the first well name from wells\n const aWells = a.wells || [];\n const bWells = b.wells || [];\n aValue = aWells[0]?.name;\n bValue = bWells[0]?.name;\n } else {\n // Default string comparison for other fields\n aValue = typeof a[sortBy] === 'string' ? a[sortBy] : '';\n bValue = typeof b[sortBy] === 'string' ? b[sortBy] : '';\n }\n\n // String comparison\n aValue = String(aValue);\n bValue = String(bValue);\n\n if (!aValue && !bValue) return 0;\n if (!aValue) return sortDirection === SortDirection.ASC ? -1 : 1;\n if (!bValue) return sortDirection === SortDirection.ASC ? 1 : -1;\n\n return sortDirection === SortDirection.ASC\n ? aValue.localeCompare(bValue)\n : bValue.localeCompare(aValue);\n };\n"],"names":["SortDirection","SortBy","DEFAULT_SORT_BY","DISTANCE","getFiniteDistance","distanceMiles","Number","isFinite","undefined","sortPads","sortBy","sortDirection","a","b","aValue","bValue","aDistance","bDistance","ASC","TVD","aWells","wells","bWells","length","Math","min","map","w","totalDepth","FORMATION","_aWells$","_bWells$","formation","WELL","_aWells2$","_bWells2$","name","String","localeCompare"],"mappings":"wDAEA,IAAYA,EAKAC,GAFX,SAHWD,GAAAA,EAAa,IAAA,MAAbA,EAAa,KAAA,MAAbA,CAGX,CAHWA,IAAAA,EAAa,CAAA,IAWxB,SANWC,GAAAA,EAAM,IAAA,OAANA,EAAM,KAAA,WAANA,EAAM,IAAA,MAANA,EAAM,UAAA,YAANA,EAAM,SAAA,eAANA,CAMX,CANWA,IAAAA,EAAM,CAAA,IAQLC,IAAAA,EAAkBD,EAAOE,SAEhCC,EAAoB,SAACC,GAAsB,MACtB,iBAAlBA,GAA8BC,OAAOC,SAASF,GAAiBA,OAAgBG,CAAS,EAEpFC,EACX,SAACC,EAAgBC,GAA4B,OAC7C,SAACC,EAAcC,GACb,IAAIC,EAA0B,GAC1BC,EAA0B,GAG9B,GAAIL,IAAWT,EAAOE,SAAU,CAC9B,IAAMa,EAAYZ,EAAkBQ,EAAEP,eAChCY,EAAYb,EAAkBS,EAAER,eAEtC,YAAkBG,IAAdQ,QAAyCR,IAAdS,EAAgC,OAC7CT,IAAdQ,EAAgC,OAClBR,IAAdS,GAAiC,EAE9BN,IAAkBX,EAAckB,IAAMF,EAAYC,EAAYA,EAAYD,CACnF,CAAO,GAAIN,IAAWT,EAAOkB,IAAK,CAEhC,IAAMC,EAASR,EAAES,OAAS,GACpBC,EAAST,EAAEQ,OAAS,GAC1BP,EAASM,EAAOG,OAASC,KAAKC,IAALD,MAAAA,OAAYJ,EAAOM,KAAI,SAAAC,GAAC,OAAIA,EAAEC,gBAAe,EACtEb,EAASO,EAAOC,OAASC,KAAKC,IAALD,MAAAA,OAAYF,EAAOI,KAAI,SAAAC,GAAC,OAAIA,EAAEC,gBAAe,CACxE,MAAO,GAAIlB,IAAWT,EAAO4B,UAAW,CAAA,IAAAC,EAAAC,EAEhCX,EAASR,EAAES,OAAS,GACpBC,EAAST,EAAEQ,OAAS,GAC1BP,EAAkB,UAATM,EAAO,UAAE,IAAAU,OAAA,EAATA,EAAWE,UACpBjB,EAAkB,UAATO,EAAO,UAAE,IAAAS,OAAA,EAATA,EAAWC,SACtB,MAAO,GAAItB,IAAWT,EAAOgC,KAAM,CAAA,IAAAC,EAAAC,EAE3Bf,EAASR,EAAES,OAAS,GACpBC,EAAST,EAAEQ,OAAS,GAC1BP,EAAkB,UAATM,EAAO,UAAE,IAAAc,OAAA,EAATA,EAAWE,KACpBrB,EAAkB,UAATO,EAAO,UAAE,IAAAa,OAAA,EAATA,EAAWC,IACtB,MAEEtB,EAA8B,iBAAdF,EAAEF,GAAuBE,EAAEF,GAAU,GACrDK,EAA8B,iBAAdF,EAAEH,GAAuBG,EAAEH,GAAU,GAOvD,OAHAI,EAASuB,OAAOvB,GAChBC,EAASsB,OAAOtB,GAEXD,GAAWC,EACXD,EACAC,EAEEJ,IAAkBX,EAAckB,IACnCJ,EAAOwB,cAAcvB,GACrBA,EAAOuB,cAAcxB,GAJLH,IAAkBX,EAAckB,IAAM,GAAK,EAD3CP,IAAkBX,EAAckB,KAAO,EAAI,EADhC,EAOhC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { DeserializedPad, PadFromApi, PadIncluded, PadsData } from '../../types/shared';
|
|
2
2
|
import { Filters } from './types';
|
|
3
3
|
export declare const MAX_TVD = 50000;
|
|
4
|
+
export declare const DEFAULT_RADIUS_MILES = 10;
|
|
4
5
|
export declare const BASE_FILTERS: Omit<Filters, 'radiusMiles'>;
|
|
5
6
|
export declare const PADS_URL: PadsData['url'];
|
|
6
7
|
export declare const baseQuery: PadsData['query'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAE,OAAO,EAAa,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,OAAO,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/constants.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAExF,OAAO,EAAE,OAAO,EAAa,MAAM,SAAS,CAAC;AAE7C,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,YAAY,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAMrD,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAc,CAAC;AAEpD,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,OAAO,CAKvC,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,MAAM,WAAW,OAAO,EAAE,cAK3D,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAAqB,CAAC;AAG9D,eAAO,MAAM,uBAAuB,QAAS,UAAU,EAAE,KAAG,UAAU,EAMnE,CAAC;AAIJ,eAAO,MAAM,eAAe,SAAU,UAAU,EAAE,YAAY,WAAW,EAAE,KAAG,eAAe,EAIN,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Jsona as e}from"jsona";import{PadStatus as t}from"./types.js";var r=5e4,a={selectedFracFleets:[],selectedFormations:[],padStatus:t.
|
|
1
|
+
import{Jsona as e}from"jsona";import{PadStatus as t}from"./types.js";var r=5e4,a=10,n={selectedFracFleets:[],selectedFormations:[],padStatus:t.All,tvdMin:0,tvdMax:5e4},o="/v2/pads",d={fields:["pad.name","pad.pad_frac_fleets","pad.current_frac_fleet_id","pad.wells"],per_page:300,sort:"last_active_at",order:"desc"},i=function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),a=1;a<t;a++)r[a-1]=arguments[a];return[e,"CorvaUI","CompletionsOffsetWellPicker"].concat(r)},s=["VIEWER","- PD"],l=function(e){return e.filter((function(e){return!s.some((function(t){var r;return null===(r=e.attributes.name)||void 0===r?void 0:r.toUpperCase().includes(t)}))}))},c=new e,f=function(e,t){return c.deserialize({data:e,included:t})};export{n as BASE_FILTERS,a as DEFAULT_RADIUS_MILES,r as MAX_TVD,o as PADS_URL,s as PAD_NAME_EXCLUSION_KEYWORDS,d as baseQuery,f as deserializePads,i as getQueryKey,l as removeViewerAndPDAssets};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/constants.ts"],"sourcesContent":["import { Jsona } from 'jsona';\n\nimport { DeserializedPad, PadFromApi, PadIncluded, PadsData } from '../../types/shared';\n\nimport { Filters, PadStatus } from './types';\n\nexport const MAX_TVD = 50000;\n\nexport const BASE_FILTERS: Omit<Filters, 'radiusMiles'> = {\n selectedFracFleets: [],\n selectedFormations: [],\n padStatus: PadStatus.
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/constants.ts"],"sourcesContent":["import { Jsona } from 'jsona';\n\nimport { DeserializedPad, PadFromApi, PadIncluded, PadsData } from '../../types/shared';\n\nimport { Filters, PadStatus } from './types';\n\nexport const MAX_TVD = 50000;\nexport const DEFAULT_RADIUS_MILES = 10;\n\nexport const BASE_FILTERS: Omit<Filters, 'radiusMiles'> = {\n selectedFracFleets: [],\n selectedFormations: [],\n padStatus: PadStatus.All,\n tvdMin: 0,\n tvdMax: MAX_TVD,\n};\n\nexport const PADS_URL: PadsData['url'] = '/v2/pads';\n\nexport const baseQuery: PadsData['query'] = {\n fields: ['pad.name', 'pad.pad_frac_fleets', 'pad.current_frac_fleet_id', 'pad.wells'],\n per_page: 300,\n sort: 'last_active_at',\n order: 'desc',\n};\n\nexport const getQueryKey = (name: string, ...deps: unknown[]) => [\n name,\n 'CorvaUI',\n 'CompletionsOffsetWellPicker',\n ...deps,\n];\n\nexport const PAD_NAME_EXCLUSION_KEYWORDS = ['VIEWER', '- PD'];\n\n// https://corvaqa.atlassian.net/browse/DEVC-2034 can be replaced with a boolean prop in a future or added to query params\nexport const removeViewerAndPDAssets = (arr: PadFromApi[]): PadFromApi[] =>\n arr.filter(\n item =>\n !PAD_NAME_EXCLUSION_KEYWORDS.some(keyWord =>\n item.attributes.name?.toUpperCase().includes(keyWord)\n )\n );\n\nconst dataFormatter = new Jsona();\n\nexport const deserializePads = (data: PadFromApi[], included: PadIncluded[]): DeserializedPad[] =>\n dataFormatter.deserialize({\n data,\n included,\n } as unknown as Parameters<typeof dataFormatter.deserialize>[0]) as DeserializedPad[];\n"],"names":["MAX_TVD","DEFAULT_RADIUS_MILES","BASE_FILTERS","selectedFracFleets","selectedFormations","padStatus","PadStatus","All","tvdMin","tvdMax","PADS_URL","baseQuery","fields","per_page","sort","order","getQueryKey","name","_len","arguments","length","deps","Array","_key","PAD_NAME_EXCLUSION_KEYWORDS","removeViewerAndPDAssets","arr","filter","item","some","keyWord","_item$attributes$name","attributes","toUpperCase","includes","dataFormatter","Jsona","deserializePads","data","included","deserialize"],"mappings":"qEAMO,IAAMA,EAAU,IACVC,EAAuB,GAEvBC,EAA6C,CACxDC,mBAAoB,GACpBC,mBAAoB,GACpBC,UAAWC,EAAUC,IACrBC,OAAQ,EACRC,OARqB,KAWVC,EAA4B,WAE5BC,EAA+B,CAC1CC,OAAQ,CAAC,WAAY,sBAAuB,4BAA6B,aACzEC,SAAU,IACVC,KAAM,iBACNC,MAAO,QAGIC,EAAc,SAACC,GAAY,IAAA,IAAAC,EAAAC,UAAAC,OAAKC,EAAI,IAAAC,MAAAJ,EAAA,EAAAA,EAAA,EAAA,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,EAAA,GAAAJ,UAAAI,GAAA,MAAA,CAC/CN,EACA,UACA,sCACGI,EAAI,EAGIG,EAA8B,CAAC,SAAU,QAGzCC,EAA0B,SAACC,GAAiB,OACvDA,EAAIC,QACF,SAAAC,GAAI,OACDJ,EAA4BK,MAAK,SAAAC,GAAO,IAAAC,EAAA,OACnB,QADmBA,EACvCH,EAAKI,WAAWf,YAAI,IAAAc,OAAA,EAApBA,EAAsBE,cAAcC,SAASJ,QAElD,EAEGK,EAAgB,IAAIC,EAEbC,EAAkB,SAACC,EAAoBC,GAAuB,OACzEJ,EAAcK,YAAY,CACxBF,KAAAA,EACAC,SAAAA,GAC8D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaults.test.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/defaults.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapPad.test.d.ts","sourceRoot":"","sources":["../../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/mapPad.test.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapPad.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAc,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"mapPad.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAc,MAAM,UAAU,CAAC;AAcjD,eAAO,MAAM,MAAM,QAAS,eAAe,KAAG,SA8B7C,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=function(t){
|
|
1
|
+
var t=function(t,e){if("number"==typeof t&&Number.isFinite(t)&&"number"==typeof e&&Number.isFinite(e)&&(0!==t||0!==e)&&!(Math.abs(t)>90||Math.abs(e)>180))return[t,e]},e=function(e){var n,o,i,l,a=null===(n=e.pad_frac_fleets)||void 0===n?void 0:n.find((function(t){var n;return"pad_frac_fleet"===t.type&&t.frac_fleet.id.toString()===(null===(n=e.current_frac_fleet_id)||void 0===n?void 0:n.toString())}));return{id:e.id,name:e.name,fleetName:(null==a?void 0:a.frac_fleet.name)||"N/A",wells:null===(o=e.wells)||void 0===o?void 0:o.map((function(e){var n,o,i;return{id:Number(e.id),assetId:e.asset_id,name:e.name,color:null===(n=e.custom_properties)||void 0===n?void 0:n.color,status:e.status,rigReleaseDate:e.stats.well_end,totalDepth:e.stats.total_depth,formation:e.target_formation||"N/A",topHole:{coordinates:t(null==e||null===(o=e.lon_lat)||void 0===o?void 0:o.latitude,null==e||null===(i=e.lon_lat)||void 0===i?void 0:i.longitude)}}})),wellsNamesCombined:null===(i=e.wells)||void 0===i?void 0:i.map((function(t){return t.name})).join(", "),formationsCombined:null===(l=e.wells)||void 0===l?void 0:l.map((function(t){return t.target_formation})).filter(Boolean).join(", ")}};export{e as mapPad};
|
|
2
2
|
//# sourceMappingURL=mapPad.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapPad.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.ts"],"sourcesContent":["import { DeserializedPad } from '../../../types/shared';\nimport { MappedPad, MappedWell } from '../types';\n\nexport const mapPad = (pad: DeserializedPad): MappedPad => {\n const fleet = pad.pad_frac_fleets?.find(\n item =>\n item.type === 'pad_frac_fleet' &&\n item.frac_fleet.id.toString() === pad.current_frac_fleet_id?.toString()\n );\n\n return {\n id: pad.id,\n name: pad.name,\n fleetName: fleet?.frac_fleet.name || 'N/A',\n wells: pad.wells?.map(well => ({\n id: Number(well.id),\n assetId: well.asset_id,\n name: well.name,\n color: well.custom_properties?.color,\n status: well.status,\n rigReleaseDate: well.stats.well_end,\n totalDepth: well.stats.total_depth,\n formation: well.target_formation || 'N/A',\n topHole: {\n coordinates:
|
|
1
|
+
{"version":3,"file":"mapPad.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.ts"],"sourcesContent":["import { DeserializedPad } from '../../../types/shared';\nimport { MappedPad, MappedWell } from '../types';\n\nconst getCoordinates = (\n latitude: number | undefined,\n longitude: number | undefined\n): [number, number] | undefined => {\n if (typeof latitude !== 'number' || !Number.isFinite(latitude)) return undefined;\n if (typeof longitude !== 'number' || !Number.isFinite(longitude)) return undefined;\n if (latitude === 0 && longitude === 0) return undefined;\n if (Math.abs(latitude) > 90 || Math.abs(longitude) > 180) return undefined;\n\n return [latitude, longitude];\n};\n\nexport const mapPad = (pad: DeserializedPad): MappedPad => {\n const fleet = pad.pad_frac_fleets?.find(\n item =>\n item.type === 'pad_frac_fleet' &&\n item.frac_fleet.id.toString() === pad.current_frac_fleet_id?.toString()\n );\n\n return {\n id: pad.id,\n name: pad.name,\n fleetName: fleet?.frac_fleet.name || 'N/A',\n wells: pad.wells?.map(well => ({\n id: Number(well.id),\n assetId: well.asset_id,\n name: well.name,\n color: well.custom_properties?.color,\n status: well.status,\n rigReleaseDate: well.stats.well_end,\n totalDepth: well.stats.total_depth,\n formation: well.target_formation || 'N/A',\n topHole: {\n coordinates: getCoordinates(well?.lon_lat?.latitude, well?.lon_lat?.longitude),\n },\n })) as MappedWell[],\n wellsNamesCombined: pad.wells?.map(well => well.name).join(', ') as string, // needed for search functionality\n formationsCombined: pad.wells\n ?.map(well => well.target_formation)\n .filter(Boolean)\n .join(', ') as string,\n };\n};\n"],"names":["getCoordinates","latitude","longitude","Number","isFinite","Math","abs","mapPad","pad","_pad$pad_frac_fleets","_pad$wells","_pad$wells2","_pad$wells3","fleet","pad_frac_fleets","find","item","_pad$current_frac_fle","type","frac_fleet","id","toString","current_frac_fleet_id","name","fleetName","wells","map","well","_well$custom_properti","_well$lon_lat","_well$lon_lat2","assetId","asset_id","color","custom_properties","status","rigReleaseDate","stats","well_end","totalDepth","total_depth","formation","target_formation","topHole","coordinates","lon_lat","wellsNamesCombined","join","formationsCombined","filter","Boolean"],"mappings":"AAGA,IAAMA,EAAiB,SACrBC,EACAC,GAEA,GAAwB,iBAAbD,GAA0BE,OAAOC,SAASH,IAC5B,iBAAdC,GAA2BC,OAAOC,SAASF,KACrC,IAAbD,GAAgC,IAAdC,MAClBG,KAAKC,IAAIL,GAAY,IAAMI,KAAKC,IAAIJ,GAAa,KAErD,MAAO,CAACD,EAAUC,EACpB,EAEaK,EAAS,SAACC,GAAoC,IAAAC,EAAAC,EAAAC,EAAAC,EACnDC,UAAQL,EAAAA,EAAIM,oCAAJL,EAAqBM,MACjC,SAAAC,GAAI,IAAAC,EAAA,MACY,mBAAdD,EAAKE,MACLF,EAAKG,WAAWC,GAAGC,cAAwC,QAAzBb,EAAAA,EAAIc,6BAAqB,IAAAL,OAAA,EAAzBA,EAA2BI,eAGjE,MAAO,CACLD,GAAIZ,EAAIY,GACRG,KAAMf,EAAIe,KACVC,WAAWX,aAAK,EAALA,EAAOM,WAAWI,OAAQ,MACrCE,cAAKf,EAAEF,EAAIiB,0BAAJf,EAAWgB,KAAI,SAAAC,GAAI,IAAAC,EAAAC,EAAAC,EAAA,MAAK,CAC7BV,GAAIjB,OAAOwB,EAAKP,IAChBW,QAASJ,EAAKK,SACdT,KAAMI,EAAKJ,KACXU,MAA6B,UAAtBN,EAAKO,yBAAiB,IAAAN,OAAA,EAAtBA,EAAwBK,MAC/BE,OAAQR,EAAKQ,OACbC,eAAgBT,EAAKU,MAAMC,SAC3BC,WAAYZ,EAAKU,MAAMG,YACvBC,UAAWd,EAAKe,kBAAoB,MACpCC,QAAS,CACPC,YAAa5C,EAAe2B,SAAa,QAATE,EAAJF,EAAMkB,eAAO,IAAAhB,OAAT,EAAJA,EAAe5B,SAAU0B,SAAA,QAAIG,EAAJH,EAAMkB,eAAN,IAAAf,OAAI,EAAJA,EAAe5B,YAEvE,IACD4C,2BAAkBnC,EAAEH,EAAIiB,0BAAJd,EAAWe,KAAI,SAAAC,GAAI,OAAIA,EAAKJ,IAAI,IAAEwB,KAAK,MAC3DC,2BAAkBpC,EAAEJ,EAAIiB,0BAAJb,EAChBc,KAAI,SAAAC,GAAI,OAAIA,EAAKe,gBAAiB,IACnCO,OAAOC,SACPH,KAAK,MAEZ"}
|
|
@@ -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;
|
|
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;AA4BrC,eAAO,MAAM,eAAe,0CAIzB;IACD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,gBA2BA,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"@babel/runtime/helpers/
|
|
1
|
+
import t from"@babel/runtime/helpers/defineProperty";import{useMemo as e}from"react";import{mapbox as r}from"../../../utils/index.js";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?n(Object(i),!0).forEach((function(r){t(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):n(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var o=r.getDistanceByCoordinates,c=r.isValidCoordinates,u=r.isValidLatLng,l=function(t){var e,r,n,i=null==t||null===(e=t.wells)||void 0===e||null===(r=e[0])||void 0===r||null===(n=r.topHole)||void 0===n?void 0:n.coordinates;if(i&&u(i)&&c(i)&&(0!==i[0]||0!==i[1]))return i},s=function(t,e){var r=l(e);if(r)return o(t,r)},f=function(t){var r=t.radiusMiles,n=t.pads,o=t.selectedPadId,c=e((function(){return n.find((function(t){return t.id.toString()===(null==o?void 0:o.toString())}))}),[n,o]),u=l(c),f=e((function(){return u?n.map((function(t){return i(i({},t),{},{distanceMiles:s(u,t)})})):n}),[n,u]);return e((function(){return void 0!==r&&u?f.filter((function(t){return void 0!==t.distanceMiles&&t.distanceMiles<=r})):f}),[f,r,u])};export{f as usePadsByRadius};
|
|
2
2
|
//# sourceMappingURL=usePadsByRadius.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePadsByRadius.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { MappedPad } from '../types';\n\nconst
|
|
1
|
+
{"version":3,"file":"usePadsByRadius.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { MappedPad } from '../types';\n\nimport { mapbox } from '~/utils';\n\nconst { getDistanceByCoordinates, isValidCoordinates, isValidLatLng } = mapbox;\n\nconst getPadCoordinates = (pad?: MappedPad): [number, number] | undefined => {\n const coordinates = pad?.wells?.[0]?.topHole?.coordinates;\n\n if (!coordinates) return undefined;\n if (!isValidLatLng(coordinates)) return undefined;\n if (!isValidCoordinates(coordinates)) return undefined;\n if (coordinates[0] === 0 && coordinates[1] === 0) return undefined;\n\n return coordinates;\n};\n\nconst getDistanceMiles = (\n mainCoordinates: [number, number],\n pad: MappedPad\n): number | undefined => {\n const coordinates = getPadCoordinates(pad);\n\n if (!coordinates) return undefined;\n\n return getDistanceByCoordinates(mainCoordinates, coordinates);\n};\n\nexport const usePadsByRadius = ({\n radiusMiles,\n pads,\n selectedPadId,\n}: {\n radiusMiles?: number;\n pads: MappedPad[];\n selectedPadId?: number;\n}) => {\n const mainItem = useMemo(\n () => pads.find(pad => pad.id.toString() === selectedPadId?.toString()),\n [pads, selectedPadId]\n );\n\n const mainCoordinates = getPadCoordinates(mainItem);\n\n // Distances depend only on the pads and the main pad, not on the radius,\n // so radius changes don't recompute them\n const padsWithDistance = useMemo(() => {\n if (!mainCoordinates) return pads;\n\n return pads.map(item => ({ ...item, distanceMiles: getDistanceMiles(mainCoordinates, item) }));\n }, [pads, mainCoordinates]);\n\n const padsByRadius = useMemo(() => {\n if (radiusMiles === undefined || !mainCoordinates) return padsWithDistance;\n\n // Pads with unknown coordinates are excluded from a radius-limited list,\n // matching the sort's \"unknown distance is farthest\" policy\n return padsWithDistance.filter(\n item => item.distanceMiles !== undefined && item.distanceMiles <= radiusMiles\n );\n }, [padsWithDistance, radiusMiles, mainCoordinates]);\n\n return padsByRadius;\n};\n"],"names":["getDistanceByCoordinates","mapbox","isValidCoordinates","isValidLatLng","getPadCoordinates","pad","_pad$wells","_pad$wells$","_pad$wells$$topHole","coordinates","wells","topHole","getDistanceMiles","mainCoordinates","usePadsByRadius","_ref","radiusMiles","pads","selectedPadId","mainItem","useMemo","find","id","toString","padsWithDistance","map","item","_objectSpread","distanceMiles","undefined","filter"],"mappings":"qsBAMA,IAAQA,EAAgEC,EAAhED,yBAA0BE,EAAsCD,EAAtCC,mBAAoBC,EAAkBF,EAAlBE,cAEhDC,EAAoB,SAACC,GAAkD,IAAAC,EAAAC,EAAAC,EACrEC,EAAcJ,SAAA,QAAGC,EAAHD,EAAKK,aAAL,IAAAJ,GAAe,QAAfC,EAAAD,EAAa,UAAE,IAAAC,GAAS,QAATC,EAAfD,EAAiBI,eAAO,IAAAH,OAArB,EAAHA,EAA0BC,YAE9C,GAAKA,GACAN,EAAcM,IACdP,EAAmBO,KACD,IAAnBA,EAAY,IAA+B,IAAnBA,EAAY,IAExC,OAAOA,CACT,EAEMG,EAAmB,SACvBC,EACAR,GAEA,IAAMI,EAAcL,EAAkBC,GAEtC,GAAKI,EAEL,OAAOT,EAAyBa,EAAiBJ,EACnD,EAEaK,EAAkB,SAQzBC,GAAA,IAPJC,IAAAA,YACAC,IAAAA,KACAC,IAAAA,cAMMC,EAAWC,GACf,WAAA,OAAMH,EAAKI,MAAK,SAAAhB,GAAG,OAAIA,EAAIiB,GAAGC,cAAeL,aAAa,EAAbA,EAAeK,cAAW,GACvE,CAACN,EAAMC,IAGHL,EAAkBT,EAAkBe,GAIpCK,EAAmBJ,GAAQ,WAC/B,OAAKP,EAEEI,EAAKQ,KAAI,SAAAC,GAAI,OAAAC,EAAAA,EAAA,CAAA,EAAUD,GAAI,CAAA,EAAA,CAAEE,cAAehB,EAAiBC,EAAiBa,IAAK,IAF7DT,CAG/B,GAAG,CAACA,EAAMJ,IAYV,OAVqBO,GAAQ,WAC3B,YAAoBS,IAAhBb,GAA8BH,EAI3BW,EAAiBM,QACtB,SAAAJ,GAAI,YAA2BG,IAAvBH,EAAKE,eAA+BF,EAAKE,eAAiBZ,KALVQ,CAO3D,GAAE,CAACA,EAAkBR,EAAaH,GAGrC"}
|