@corva/ui 3.73.0-1 → 3.73.0-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/mcp-server/server.mjs +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/slicedToArray"),o=require("react"),i=require("classnames"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/slicedToArray"),o=require("react"),i=require("classnames"),n=require("@tanstack/react-query"),c=require("../Modal/Modal.js"),r=require("../OffsetWellsButton/OffsetWellsButton.js"),t=require("../Button/Button.js"),u=require("./ModalTitle/ModalTitle.js"),l=require("./AssetFilters/AssetFilters.js"),a=require("./PadsTable/PadsTable.js"),d=require("./hooks/usePads.js"),j=require("./Map/Map.js"),m=require("./types.js"),I=require("./useModalHandlers.js"),q=require("./constants.js"),f=require("./hooks/usePadsByRadius.js"),p=require("./CompletionsOffsetWellPicker.scss.js");require("@babel/runtime/helpers/objectWithoutProperties"),require("@icon-park/react/es/all");var O=require("react/jsx-runtime");require("../../icons/IconParkProvider.js"),require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/DragOne.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js");var b=require("../../icons/customIcons/icons/Global.js");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js"),require("../../icons/customIcons/icons/Pin.js"),require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js"),require("../../icons/customIcons/icons/ErrorOps.js"),require("../../icons/customIcons/icons/DataTypeOps.js"),require("../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../icons/customIcons/icons/CalibrationOps.js"),require("../../icons/customIcons/icons/CriticalOps.js"),require("../../icons/customIcons/icons/Company.js"),require("../../icons/customIcons/icons/ArchiveOne.js"),require("../../icons/customIcons/icons/ParseBotFusion.js"),require("../../icons/customIcons/icons/Connect.js"),require("../../icons/customIcons/icons/PuzzleOne.js"),require("../../icons/customIcons/icons/Feed.js"),require("../../icons/customIcons/icons/Prompt.js"),require("../../icons/customIcons/icons/Companies.js"),require("../../icons/customIcons/icons/ClipboardAi.js"),require("../../icons/customIcons/icons/Key.js"),require("../../icons/customIcons/icons/AtSignCrossed.js"),require("../../icons/customIcons/icons/MappingManual.js"),require("../../icons/customIcons/icons/Mapping.js"),require("../../icons/customIcons/icons/Metrics.js"),require("../../icons/customIcons/icons/Drops.js"),require("../../icons/customIcons/icons/ClipboardSearch.js"),require("../../icons/customIcons/icons/Template.js"),require("../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../icons/customIcons/icons/UnitConversion.js"),require("../../icons/customIcons/icons/NPT.js"),require("../../icons/customIcons/icons/GuidedFrac.js");var M=h(e),C=h(s),P=h(i);function S(e,s){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.push.apply(o,i)}return o}function y(e){for(var s=1;s<arguments.length;s++){var o=null!=arguments[s]?arguments[s]:{};s%2?S(Object(o),!0).forEach((function(s){M.default(e,s,o[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):S(Object(o)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(o,s))}))}return e}var g=o.memo((function(e){var s=e.selectedPadId,i=e.selectedOffsetWellIds,n=e.onOffsetWellsSelect,h=e.companyId,M=e.maxRadiusInMiles,S=e.well,g=e.wells,v=e.isGlobalSelector,F=e.testId,x=e.buttonLabel,W=o.useState(!0),A=C.default(W,2),k=A[0],D=A[1],w=o.useState(!0),B=C.default(w,2),R=B[0],L=B[1],T=o.useState((function(){return y(y({},q.BASE_FILTERS),{},{radiusMiles:void 0===M?q.DEFAULT_RADIUS_MILES:Math.min(q.DEFAULT_RADIUS_MILES,M)})})),E=C.default(T,2),U=E[0],_=E[1],G=o.useState((function(){return y(y({},U),{},{padStatus:m.PadStatus.All})})),z=C.default(G,1)[0],H=o.useMemo((function(){return R?U:y(y({},z),{},{radiusMiles:U.radiusMiles})}),[R,U,z]),N=d.usePads({companyId:h,padStatus:H.padStatus,well:S,wells:g,selectedOffsetWellIds:i}),V=N.pads,Q=N.isBackgroundDataLoading,K=N.isSelectedPadsLoading,Z=f.usePadsByRadius({pads:V,selectedPadId:s,radiusMiles:H.radiusMiles}),J=I.useModalHandlers({pads:V,selectedOffsetWellIds:i,onOffsetWellsSelect:n}),X=J.isModalOpen,Y=J.handleOpenModal,$=J.handleCloseModal,ee=J.handleSaveSelectedWellIds,se=J.handleCancelButtonClick,oe=J.handleResetSelection,ie=J.localSelectedOffsetWellIds,ne=J.setLocalSelectedOffsetWellIds,ce=o.useMemo((function(){return Z?Z.filter((function(e){return e.id.toString()!==(null==s?void 0:s.toString())})).flatMap((function(e){return e.wells.map((function(e){return e.id}))})):[]}),[Z,s]),re=o.useMemo((function(){return Z?Z.filter((function(e){return e.wells.some((function(e){return ie.includes(e.id)}))})):[]}),[Z,ie]);return O.jsxs(O.Fragment,{children:[O.jsx(r.OffsetWellsButton,{wells:i.length,"data-testid":F,icon:v?O.jsx(b.Global,{size:20,className:p.buttonIcon}):void 0,onClick:Y,label:x}),O.jsx(c.Modal,{open:X,size:"fullscreen",onClose:$,primaryActionText:"Select Wells (".concat(ie.length,")"),primaryActionHandler:ee,secondaryActionText:"Cancel",secondaryActionHandler:se,actions:[O.jsx(t.Button,{type:"secondaryDestructive",onClick:oe,children:"Reset"},"clear-filters")],title:O.jsx(u,{total:Z.length?Z.length-1:0,selected:re.length,isMapVisible:k,isFiltersVisible:R,toggleMapVisibility:function(){return D((function(e){return!e}))},toggleFiltersVisibility:function(){return L((function(e){return!e}))},onModalClose:$,isBackgroundDataLoading:Q}),children:O.jsxs("div",{className:p.modalContent,children:[k&&O.jsx(j,{wells:g,well:S,pads:Z,selectedOffsetWellsIds:ie,onOffsetWellIdsSelect:ne,radiusMiles:H.radiusMiles,setFilters:_,maxRadiusInMiles:M}),O.jsxs("div",{className:P.default(p.tableContainer,k?p.tableContainerWithMap:p.tableContainerWithoutMap),children:[R&&O.jsx(l,{pads:Z,selectedPadId:s,filters:H,setFilters:_}),O.jsx(a,{allWellIds:ce,pads:Z,selectedPadId:s,selectedOffsetWellIds:ie,onOffsetWellIdsSelect:ne,filters:H,isSelectedPadsLoading:K})]})]})})]})}));exports.CompletionsOffsetWellPicker=function(e){var s=o.useMemo((function(){return new n.QueryClient}),[]);return O.jsx(n.QueryClientProvider,{client:s,children:O.jsx(g,y({},e))})};
|
|
2
2
|
//# sourceMappingURL=CompletionsOffsetWellPicker.js.map
|
package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map
CHANGED
|
@@ -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","jsx","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","jsxs","modalContent","Map","selectedOffsetWellsIds","onOffsetWellIdsSelect","classnames","tableContainer","tableContainerWithMap","tableContainerWithoutMap","AssetFilters","PadsTable","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","jsx","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","jsxs","modalContent","Map","selectedOffsetWellsIds","onOffsetWellIdsSelect","classnames","tableContainer","tableContainerWithMap","tableContainerWithoutMap","AssetFilters","PadsTable","props","queryClient","QueryClient","QueryClientProvider","client"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var s=require("@babel/runtime/helpers/slicedToArray"),e=require("react");require("@babel/runtime/helpers/defineProperty");var o=require("@material-ui/core");require("@babel/runtime/helpers/objectWithoutProperties"),require("@icon-park/react/es/all");var c=require("react/jsx-runtime");require("../../../icons/IconParkProvider.js"),require("../../../icons/customIcons/icons/AddMessage.js"),require("../../../icons/customIcons/icons/DragOne.js"),require("../../../icons/customIcons/icons/Attention.js"),require("../../../icons/customIcons/icons/Collapse.js"),require("../../../icons/customIcons/icons/Dashboard.js"),require("../../../icons/customIcons/icons/Expand.js"),require("../../../icons/customIcons/icons/FolderClosed.js"),require("../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../icons/customIcons/icons/FolderOpened.js"),require("../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../icons/customIcons/icons/Search.js"),require("../../../icons/customIcons/icons/SearchOne.js"),require("../../../icons/customIcons/icons/Wellhub.js"),require("../../../icons/customIcons/icons/MultiRuler.js"),require("../../../icons/customIcons/icons/Checkbox.js"),require("../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../icons/customIcons/icons/Radio.js"),require("../../../icons/customIcons/icons/RadioChecked.js"),require("../../../icons/customIcons/icons/SimulFrac.js"),require("../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../icons/customIcons/icons/CautionFilled.js"),require("../../../icons/customIcons/icons/MoreApp.js"),require("../../../icons/customIcons/icons/Pad.js"),require("../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../icons/customIcons/icons/FracFleet.js"),require("../../../icons/customIcons/icons/Global.js"),require("../../../icons/customIcons/icons/Program.js"),require("../../../icons/customIcons/icons/Rig.js"),require("../../../icons/customIcons/icons/Well.js"),require("../../../icons/customIcons/icons/Gap.js"),require("../../../icons/customIcons/icons/Pin.js"),require("../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../icons/customIcons/icons/Archive.js"),require("../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../icons/customIcons/icons/Unarchive.js"),require("../../../icons/customIcons/icons/Archived.js"),require("../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../icons/customIcons/icons/CloudDelete.js"),require("../../../icons/customIcons/icons/Lasso.js"),require("../../../icons/customIcons/icons/Radius.js"),require("../../../icons/customIcons/icons/ErrorOps.js"),require("../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../icons/customIcons/icons/CriticalOps.js"),require("../../../icons/customIcons/icons/Company.js"),require("../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../icons/customIcons/icons/Connect.js"),require("../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../icons/customIcons/icons/Feed.js"),require("../../../icons/customIcons/icons/Prompt.js"),require("../../../icons/customIcons/icons/Companies.js"),require("../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../icons/customIcons/icons/Key.js"),require("../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../icons/customIcons/icons/MappingManual.js"),require("../../../icons/customIcons/icons/Mapping.js"),require("../../../icons/customIcons/icons/Metrics.js"),require("../../../icons/customIcons/icons/Drops.js"),require("../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../icons/customIcons/icons/Template.js"),require("../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../icons/customIcons/icons/UnitConversion.js"),require("../../../icons/customIcons/icons/NPT.js"),require("../../../icons/customIcons/icons/GuidedFrac.js"),require("../../../components/Table/TableToolbar/TableToolbar.js"),require("../../../components/Table/TableContainer/TableContainer.js"),require("../../../components/Table/TableCell/TableCell.js"),require("../../../components/Table/TablePagination/TablePagination.js"),require("../../../components/Table/TablePaginationActions/TablePaginationActions.js");var i=require("../../../components/Table/Table/Table.js"),n=require("../AssetSearchInput/AssetSearchInput.js"),r=require("./PadsTableHead.js"),u=require("./helpers/sortPads.js"),t=require("./helpers/usePadTableHandlers.js"),l=require("./PadsTableBody.js"),a=require("./helpers/useDebouncedValues.js"),d=require("./PadsTable.scss.js");function j(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var m=j(s),q=e.memo((function(s){var j=s.allWellIds,q=s.selectedOffsetWellIds,I=s.pads,b=s.selectedPadId,p=s.isSelectedPadsLoading,h=s.onOffsetWellIdsSelect,T=s.filters,P=e.useState(
|
|
1
|
+
"use strict";var s=require("@babel/runtime/helpers/slicedToArray"),e=require("react");require("@babel/runtime/helpers/defineProperty");var o=require("@material-ui/core");require("@babel/runtime/helpers/objectWithoutProperties"),require("@icon-park/react/es/all");var c=require("react/jsx-runtime");require("../../../icons/IconParkProvider.js"),require("../../../icons/customIcons/icons/AddMessage.js"),require("../../../icons/customIcons/icons/DragOne.js"),require("../../../icons/customIcons/icons/Attention.js"),require("../../../icons/customIcons/icons/Collapse.js"),require("../../../icons/customIcons/icons/Dashboard.js"),require("../../../icons/customIcons/icons/Expand.js"),require("../../../icons/customIcons/icons/FolderClosed.js"),require("../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../icons/customIcons/icons/FolderOpened.js"),require("../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../icons/customIcons/icons/Search.js"),require("../../../icons/customIcons/icons/SearchOne.js"),require("../../../icons/customIcons/icons/Wellhub.js"),require("../../../icons/customIcons/icons/MultiRuler.js"),require("../../../icons/customIcons/icons/Checkbox.js"),require("../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../icons/customIcons/icons/Radio.js"),require("../../../icons/customIcons/icons/RadioChecked.js"),require("../../../icons/customIcons/icons/SimulFrac.js"),require("../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../icons/customIcons/icons/CautionFilled.js"),require("../../../icons/customIcons/icons/MoreApp.js"),require("../../../icons/customIcons/icons/Pad.js"),require("../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../icons/customIcons/icons/FracFleet.js"),require("../../../icons/customIcons/icons/Global.js"),require("../../../icons/customIcons/icons/Program.js"),require("../../../icons/customIcons/icons/Rig.js"),require("../../../icons/customIcons/icons/Well.js"),require("../../../icons/customIcons/icons/Gap.js"),require("../../../icons/customIcons/icons/Pin.js"),require("../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../icons/customIcons/icons/Archive.js"),require("../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../icons/customIcons/icons/Unarchive.js"),require("../../../icons/customIcons/icons/Archived.js"),require("../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../icons/customIcons/icons/CloudDelete.js"),require("../../../icons/customIcons/icons/Lasso.js"),require("../../../icons/customIcons/icons/Radius.js"),require("../../../icons/customIcons/icons/ErrorOps.js"),require("../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../icons/customIcons/icons/CriticalOps.js"),require("../../../icons/customIcons/icons/Company.js"),require("../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../icons/customIcons/icons/Connect.js"),require("../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../icons/customIcons/icons/Feed.js"),require("../../../icons/customIcons/icons/Prompt.js"),require("../../../icons/customIcons/icons/Companies.js"),require("../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../icons/customIcons/icons/Key.js"),require("../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../icons/customIcons/icons/MappingManual.js"),require("../../../icons/customIcons/icons/Mapping.js"),require("../../../icons/customIcons/icons/Metrics.js"),require("../../../icons/customIcons/icons/Drops.js"),require("../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../icons/customIcons/icons/Template.js"),require("../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../icons/customIcons/icons/UnitConversion.js"),require("../../../icons/customIcons/icons/NPT.js"),require("../../../icons/customIcons/icons/GuidedFrac.js"),require("../../../components/Table/TableToolbar/TableToolbar.js"),require("../../../components/Table/TableContainer/TableContainer.js"),require("../../../components/Table/TableCell/TableCell.js"),require("../../../components/Table/TablePagination/TablePagination.js"),require("../../../components/Table/TablePaginationActions/TablePaginationActions.js");var i=require("../../../components/Table/Table/Table.js"),n=require("../AssetSearchInput/AssetSearchInput.js"),r=require("./PadsTableHead.js"),u=require("./helpers/sortPads.js"),t=require("./helpers/usePadTableHandlers.js"),l=require("./PadsTableBody.js"),a=require("./helpers/useDebouncedValues.js"),d=require("./PadsTable.scss.js");function j(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var m=j(s),q=e.memo((function(s){var j=s.allWellIds,q=s.selectedOffsetWellIds,I=s.pads,b=s.selectedPadId,p=s.isSelectedPadsLoading,h=s.onOffsetWellIdsSelect,T=s.filters,P=e.useState(u.DEFAULT_SORT_BY),C=m.default(P,2),S=C[0],f=C[1],O=e.useState(u.SortDirection.ASC),F=m.default(O,2),x=F[0],A=F[1],v=e.useState(""),g=m.default(v,2),W=g[0],D=g[1],y=a.useDebouncedValues({searchText:W,filters:T}),k=y.debouncedSearchText,B=y.debouncedFilters,M=t.usePadTableHandlers({pads:I,onOffsetWellIdsSelect:h,selectedOffsetWellIds:q,allWellIds:j}),R=M.handleSelectPad,E=M.handleSelectPads,L=M.handleSelectWellId;return c.jsxs(c.Fragment,{children:[c.jsx(n,{searchText:W,onChange:D}),c.jsx(i.Table,{children:c.jsx(o.TableHead,{children:c.jsx(r,{allWellIds:j,handleSelectPads:E,sortBy:S,sortDirection:x,selectedOffsetWellIds:q,setSortBy:f,setSortDirection:A})})}),c.jsx("div",{className:d.tableWrapper,children:c.jsx(i.Table,{className:d.table,children:c.jsx(l.PadsTableBody,{pads:I,selectedPadId:b,searchText:k,sortBy:S,sortDirection:x,selectedOffsetWellIds:q,isSelectedPadsLoading:p,filters:B,handleSelectPad:R,handleSelectWellId:L})})})]})}));module.exports=q;
|
|
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","jsx","className","styles","tableWrapper","table","PadsTableBody"],"mappings":"slKAuBMA,EAAuBC,EAAAA,MAC3B,SAQMC,GAAA,IAPJC,IAAAA,WACAC,IAAAA,sBACAC,IAAAA,KACAC,IAAAA,cACAC,IAAAA,sBACAC,IAAAA,sBACAC,IAAAA,QAE4BC,EAAAA,EAAQA,SAAgBC,mBAAgBC,EAAAC,EAAAA,QAAAC,EAAA,GAA7DC,EAAMH,EAAA,GAAEI,EAASJ,EAAA,GACxBK,EAA0CP,EAAAA,SAASQ,EAAaA,cAACC,KAAIC,EAAAP,EAAAA,QAAAI,EAAA,GAA9DI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GACFV,EAAAA,EAAQA,SAAC,IAAGa,EAAAV,EAAAA,QAAAW,EAAA,GAAzCC,EAAUF,EAAA,GAAEG,EAAaH,EAAA,GAEhCI,EAAkDC,EAAAA,mBAAmB,CACnEH,WAAAA,EACAhB,QAAAA,IAFMoB,IAAAA,oBAAqBC,IAAAA,iBAK7BC,EAAkEC,EAAAA,oBAAoB,CACpF3B,KAAAA,EACAG,sBAAAA,EACAJ,sBAAAA,EACAD,WAAAA,IAJM8B,IAAAA,gBAAiBC,IAAAA,iBAAkBC,IAAAA,mBAO3C,OACEC,EAAAA,KAAAC,EAAAA,SAAA,CAAAC,SAAA,CACEC,MAACC,EAAgB,CAACf,WAAYA,EAAYgB,SAAUf,IACpDa,MAACG,QAAK,CAAAJ,SACJC,MAACI,YAAS,CAAAL,SACRC,MAACK,EAAa,CACZzC,WAAYA,EACZ+B,iBAAkBA,EAClBnB,OAAQA,EACRM,cAAeA,EACfjB,sBAAuBA,EACvBY,UAAWA,EACXM,iBAAkBA,QAIxBiB,EAAAM,IAAA,MAAA,CAAKC,UAAWC,EAAOC,aAAaV,SAClCC,MAACG,QAAK,CAACI,UAAWC,EAAOE,MAAMX,SAC7BC,MAACW,gBAAa,CACZ7C,KAAMA,EACNC,cAAeA,EACfmB,WAAYI,EACZd,OAAQA,EACRM,cAAeA,EACfjB,sBAAuBA,EACvBG,sBAAuBA,EACvBE,QAASqB,EACTG,gBAAiBA,EACjBE,mBAAoBA,UAMhC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("react"),l=require("../../Button/Button.js"),n=require("@material-ui/core"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("react"),l=require("../../Button/Button.js"),n=require("@material-ui/core"),o=require("../../../components/Table/TableCell/TableCell.js"),s=require("../../LoaderLogo/LoaderLogo.js"),i=require("../constants.js"),a=require("./PadTableRow.js"),d=require("./helpers/columns.js"),u=require("./helpers/useFilteredData.js"),c=require("./PadsTableBody.scss.js"),f=require("react/jsx-runtime");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=h(e),b=h(t),j=r.memo((function(e){var t,h=e.pads,j=e.selectedPadId,g=e.searchText,x=e.sortBy,S=e.sortDirection,T=e.selectedOffsetWellIds,p=e.filters,q=e.isSelectedPadsLoading,v=e.handleSelectPad,M=e.handleSelectWellId,y=r.useState(50),L=b.default(y,2),P=L[0],B=L[1],C=r.useCallback((function(){B((function(e){return e+50}))}),[]),I=r.useMemo((function(){return h.filter((function(e){return e.id.toString()!==(null==j?void 0:j.toString())}))}),[h,j]),D=r.useMemo((function(){return h.find((function(e){return e.id.toString()===(null==j?void 0:j.toString())}))}),[h,j]),F=r.useMemo((function(){return!!(g||p.selectedFormations.length||p.selectedFracFleets.length||p.tvdMin||p.tvdMax!==i.MAX_TVD)}),[g,p]),W=u.useFilteredData({data:I,searchText:g,sortBy:x,sortDirection:S,selectedWellIds:T,filters:p,mainItem:D});r.useEffect((function(){B(50)}),[g,p]);var O=r.useMemo((function(){return W.slice(0,P)}),[W,P]);return!D||q?f.jsx(s.LoaderLogo,{}):f.jsxs(n.TableBody,{children:[null===(t=[D].concat(m.default(O)))||void 0===t?void 0:t.map((function(e){return f.jsx(a,{isMainPad:e.id.toString()===(null==j?void 0:j.toString()),data:e,isExpanded:F,searchText:g,handleSelectPad:v,selectedOffsetWellIds:T,handleSelectWellId:M},e.id)})),W.length>50&&P<W.length&&f.jsx(n.TableRow,{children:f.jsx(o.TableCell,{colSpan:d.COLUMNS.length,className:c.loadMoreCell,children:f.jsx(l.Button,{onClick:C,children:"Load More"})})})]})}));exports.PadsTableBody=j;
|
|
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","jsx","LoaderLogo","_jsxs","TableBody","children","map","PadTableRow","isMainPad","TableRow","TableCell","colSpan","COLUMNS","className","styles","loadMoreCell","Button","onClick"],"mappings":"qpBA+BaA,EAA2BC,EAAAA,MACtC,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,EAAQA,SA1BX,IA0B+BC,EAAAC,EAAAA,QAAAC,EAAA,GAA/CC,EAAKH,EAAA,GAAEI,EAAQJ,EAAA,GAEhBK,EAAgBC,EAAAA,aAAY,WAChCF,GAAS,SAAAG,GAAS,OAAIA,EA7BD,KA8BtB,GAAE,IAEGC,EAAsBC,EAAAA,SAC1B,WAAA,OAAMpB,EAAKqB,QAAO,SAAAC,GAAG,OAAIA,EAAIC,GAAGC,cAAevB,aAAa,EAAbA,EAAeuB,cAAW,GACzE,CAACxB,EAAMC,IAGHwB,EAAWL,EAAAA,SACf,WAAA,OAAMpB,EAAK0B,MAAK,SAAAJ,GAAG,OAAIA,EAAIC,GAAGC,cAAevB,aAAa,EAAbA,EAAeuB,cAAW,GACvE,CAACxB,EAAMC,IAKH0B,EAAaP,EAAAA,SACjB,WAAA,SACIlB,GACAI,EAAQsB,mBAAmBC,QAC3BvB,EAAQwB,mBAAmBD,QAC3BvB,EAAQyB,QACVzB,EAAQ0B,SAAWC,UAAO,GAC5B,CAAC/B,EAAYI,IAGT4B,EAAeC,EAAAA,gBAAgB,CACnCC,KAAMjB,EACNjB,WAAAA,EACAC,OAAAA,EACAC,cAAAA,EACAiC,gBAAiBhC,EACjBC,QAAAA,EACAmB,SAAAA,IAGFa,EAAAA,WAAU,WACRvB,EAjEqB,GAkEvB,GAAG,CAACb,EAAYI,IAEhB,IAAMiC,EAAqBnB,EAAAA,SAAQ,WAAA,OAAMc,EAAapB,MAAM,EAAGA,EAAM,GAAE,CAACoB,EAAcpB,IAEtF,OAAKW,GAAYlB,EACRiC,EAAAC,IAACC,aAAa,CAAA,GAIrBC,EAAAA,KAACC,EAAAA,UAAS,CAAAC,SACNpB,CAA+B,QAA/BA,EAAAA,CAAAA,oBAAac,WAAkB,IAAAxC,OAAA,EAAhCA,EAAmC+C,KAAI,SAAAxB,GAAG,OACzCkB,EAAAA,IAACO,EAAW,CACVC,UAAW1B,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,MAACS,WAAQ,CAAAJ,SACPL,MAACU,YAAS,CAACC,QAASC,EAAOA,QAACvB,OAAQwB,UAAWC,EAAOC,aAAaV,SACjEL,MAACgB,SAAM,CAACC,QAASzC,EAAc6B,SAAA,oBAM3C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("../../../Text/Text.js"),e=require("../../../Checkbox/Checkbox.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("../../../Text/Text.js"),e=require("../../../Checkbox/Checkbox.js"),i=require("../../../../components/TruncatedText/index.js"),o=require("./HighlightText.js"),c=require("./sortPads.js"),n=require("./columns.scss.js");require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/helpers/objectWithoutProperties"),require("react"),require("@icon-park/react/es/all");var r=require("react/jsx-runtime");require("../../../../icons/IconParkProvider.js"),require("../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../icons/customIcons/icons/DragOne.js"),require("../../../../icons/customIcons/icons/Attention.js"),require("../../../../icons/customIcons/icons/Collapse.js"),require("../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../icons/customIcons/icons/Expand.js"),require("../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../icons/customIcons/icons/Search.js"),require("../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../icons/customIcons/icons/Radio.js"),require("../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../icons/customIcons/icons/Pad.js"),require("../../../../icons/customIcons/icons/DrilloutUnit.js");var t=require("../../../../icons/customIcons/icons/FracFleet.js");require("../../../../icons/customIcons/icons/Global.js"),require("../../../../icons/customIcons/icons/Program.js"),require("../../../../icons/customIcons/icons/Rig.js"),require("../../../../icons/customIcons/icons/Well.js"),require("../../../../icons/customIcons/icons/Gap.js"),require("../../../../icons/customIcons/icons/Pin.js"),require("../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../icons/customIcons/icons/Archive.js"),require("../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../icons/customIcons/icons/Archived.js"),require("../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../icons/customIcons/icons/Lasso.js"),require("../../../../icons/customIcons/icons/Radius.js"),require("../../../../icons/customIcons/icons/ErrorOps.js"),require("../../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../../icons/customIcons/icons/CriticalOps.js"),require("../../../../icons/customIcons/icons/Company.js"),require("../../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../../icons/customIcons/icons/Connect.js"),require("../../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../../icons/customIcons/icons/Feed.js"),require("../../../../icons/customIcons/icons/Prompt.js"),require("../../../../icons/customIcons/icons/Companies.js"),require("../../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../../icons/customIcons/icons/Key.js"),require("../../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../../icons/customIcons/icons/MappingManual.js"),require("../../../../icons/customIcons/icons/Mapping.js"),require("../../../../icons/customIcons/icons/Metrics.js"),require("../../../../icons/customIcons/icons/Drops.js"),require("../../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../../icons/customIcons/icons/Template.js"),require("../../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../../icons/customIcons/icons/UnitConversion.js"),require("../../../../icons/customIcons/icons/NPT.js"),require("../../../../icons/customIcons/icons/GuidedFrac.js");var u=function(s){return"number"==typeof s&&Number.isFinite(s)?s.toFixed(2):"N/A"},a=[{width:"30%",title:"Pad / Frac Fleet Name",sortBy:c.SortBy.PAD,render:function(e){var i=e.data,c=e.searchText,u=e.isMainPad;return r.jsxs("div",{className:u?n.subjectCell:void 0,children:[u&&r.jsx("div",{className:n.subjectPad,children:"Subject Pad"}),r.jsx(s.Text,{children:r.jsx(o.HighlightText,{text:i.name||"",highlight:c})}),r.jsxs("div",{className:n.fleet,children:[r.jsx(t.FracFleet,{size:13,className:n.fleetIcon}),r.jsx(s.Text,{color:"T8",size:12,children:r.jsx(o.HighlightText,{text:i.fleetName,highlight:c})})]})]})}},{width:"30%",title:"Well Name",sortBy:c.SortBy.WELL,render:function(c){var t=c.data,u=c.isSelected,a=c.selectedOffsetWellIds,l=c.handleSelectWellId,m=c.isExpanded,d=c.isMainPad,j=c.searchText;return u||m||d?r.jsx(r.Fragment,{children:t.wells.map((function(s){return r.jsxs("div",{className:n.listItem,children:[!d&&r.jsx(e.Checkbox,{checked:a.includes(s.id),onChange:function(e){return l(s.id,e)}}),r.jsx(i,{maxLines:2,children:r.jsx(o.HighlightText,{text:s.name,highlight:j})})]},s.id)}))}):r.jsx(s.Text,{children:"Wells (".concat(t.wells.length,")")})}},{width:"20%",title:"Formation",sortBy:c.SortBy.FORMATION,render:function(e){var i=e.data,c=e.isSelected,t=e.isExpanded,u=e.isMainPad,a=e.searchText;return c||t||u?r.jsx(r.Fragment,{children:i.wells.map((function(e){return r.jsx("div",{className:n.listItem,children:r.jsx(s.Text,{className:n.breakWord,children:r.jsx(o.HighlightText,{text:e.formation||"N/A",highlight:a})})},e.id)}))}):r.jsx(s.Text,{children:"Formations (".concat(i.wells.length,")")})}},{width:"10%",title:"TVD (ft)",sortBy:c.SortBy.TVD,render:function(e){var i=e.data,o=e.isSelected,c=e.isExpanded,t=e.isMainPad;return o||c||t?r.jsx(r.Fragment,{children:i.wells.map((function(e){return r.jsx(s.Text,{className:n.listItem,children:e.totalDepth.toFixed(0)},e.id)}))}):null}},{width:"10%",title:"Distance (mi)",sortBy:c.SortBy.DISTANCE,render:function(e){var i=e.data;return r.jsx(s.Text,{children:u(i.distanceMiles)})}}];exports.COLUMNS=a,exports.formatDistanceMiles=u;
|
|
2
2
|
//# sourceMappingURL=columns.js.map
|
package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map
CHANGED
|
@@ -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","jsx","subjectPad","Text","HighlightText","text","name","highlight","jsxs","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","jsx","subjectPad","Text","HighlightText","text","name","highlight","jsxs","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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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}Object.defineProperty(exports,"__esModule",{value:!0});var e,o,r=t(require("@babel/runtime/helpers/toConsumableArray"));exports.SortDirection=void 0,(e=exports.SortDirection||(exports.SortDirection={})).ASC="asc",e.DESC="desc",exports.SortBy=void 0,(o=exports.SortBy||(exports.SortBy={})).PAD="name",o.WELL="wellName",o.TVD="tvd",o.FORMATION="formation";exports.sortPads=function(t,e){return function(o,i){var l="",
|
|
1
|
+
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}Object.defineProperty(exports,"__esModule",{value:!0});var e,o,r=t(require("@babel/runtime/helpers/toConsumableArray"));exports.SortDirection=void 0,(e=exports.SortDirection||(exports.SortDirection={})).ASC="asc",e.DESC="desc",exports.SortBy=void 0,(o=exports.SortBy||(exports.SortBy={})).PAD="name",o.WELL="wellName",o.TVD="tvd",o.FORMATION="formation",o.DISTANCE="distanceMiles";var i=exports.SortBy.DISTANCE,n=function(t){return"number"==typeof t&&Number.isFinite(t)?t:void 0};exports.DEFAULT_SORT_BY=i,exports.sortPads=function(t,e){return function(o,i){var l="",s="";if(t===exports.SortBy.DISTANCE){var a=n(o.distanceMiles),p=n(i.distanceMiles);return void 0===a&&void 0===p?0:void 0===a?1:void 0===p?-1:e===exports.SortDirection.ASC?a-p:p-a}if(t===exports.SortBy.TVD){var u=o.wells||[],d=i.wells||[];l=u.length?Math.min.apply(Math,r.default(u.map((function(t){return t.totalDepth})))):0,s=d.length?Math.min.apply(Math,r.default(d.map((function(t){return t.totalDepth})))):0}else if(t===exports.SortBy.FORMATION){var S,v,c=o.wells||[],f=i.wells||[];l=null===(S=c[0])||void 0===S?void 0:S.formation,s=null===(v=f[0])||void 0===v?void 0:v.formation}else if(t===exports.SortBy.WELL){var x,m,D=o.wells||[],y=i.wells||[];l=null===(x=D[0])||void 0===x?void 0:x.name,s=null===(m=y[0])||void 0===m?void 0:m.name}else l="string"==typeof o[t]?o[t]:"",s="string"==typeof i[t]?i[t]:"";return l=String(l),s=String(s),l||s?l?s?e===exports.SortDirection.ASC?l.localeCompare(s):s.localeCompare(l):e===exports.SortDirection.ASC?1:-1:e===exports.SortDirection.ASC?-1:1:0}};
|
|
2
2
|
//# sourceMappingURL=sortPads.js.map
|
package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js.map
CHANGED
|
@@ -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","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","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":"gJAEYA,EAKAC,2DALAD,QAAaA,mBAAA,GAAbA,EAAAA,wBAAAA,QAAAA,cAAa,CAAA,IAAA,IAAA,MAAbA,EAAa,KAAA,OAKbC,QAAMA,YAAA,GAANA,EAAAA,iBAAAA,QAAAA,OAAM,CAAA,IAAA,IAAA,OAANA,EAAM,KAAA,WAANA,EAAM,IAAA,MAANA,EAAM,UAAA,YAANA,EAAM,SAAA,gBAQLC,IAAAA,EAAkBD,QAAMA,OAACE,SAEhCC,EAAoB,SAACC,GAAsB,MACtB,iBAAlBA,GAA8BC,OAAOC,SAASF,GAAiBA,OAAgBG,CAAS,6CAG/F,SAACC,EAAgBC,GAA4B,OAC7C,SAACC,EAAcC,GACb,IAAIC,EAA0B,GAC1BC,EAA0B,GAG9B,GAAIL,IAAWR,QAAMA,OAACE,SAAU,CAC9B,IAAMY,EAAYX,EAAkBO,EAAEN,eAChCW,EAAYZ,EAAkBQ,EAAEP,eAEtC,YAAkBG,IAAdO,QAAyCP,IAAdQ,EAAgC,OAC7CR,IAAdO,EAAgC,OAClBP,IAAdQ,GAAiC,EAE9BN,IAAkBV,QAAAA,cAAciB,IAAMF,EAAYC,EAAYA,EAAYD,CACnF,CAAO,GAAIN,IAAWR,QAAMA,OAACiB,IAAK,CAEhC,IAAMC,EAASR,EAAES,OAAS,GACpBC,EAAST,EAAEQ,OAAS,GAC1BP,EAASM,EAAOG,OAASC,KAAKC,IAALD,MAAAA,eAAYJ,EAAOM,KAAI,SAAAC,GAAC,OAAIA,EAAEC,gBAAe,EACtEb,EAASO,EAAOC,OAASC,KAAKC,IAALD,MAAAA,eAAYF,EAAOI,KAAI,SAAAC,GAAC,OAAIA,EAAEC,gBAAe,CACxE,MAAO,GAAIlB,IAAWR,QAAMA,OAAC2B,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,IAAWR,QAAMA,OAAC+B,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,IAAkBV,QAAAA,cAAciB,IACnCJ,EAAOwB,cAAcvB,GACrBA,EAAOuB,cAAcxB,GAJLH,IAAkBV,QAAaA,cAACiB,IAAM,GAAK,EAD3CP,IAAkBV,QAAaA,cAACiB,KAAO,EAAI,EADhC,EAOhC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("jsona"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("jsona"),r={selectedFracFleets:[],selectedFormations:[],padStatus:require("./types.js").PadStatus.All,tvdMin:0,tvdMax:5e4},t=["VIEWER","- PD"],s=new e.Jsona;exports.BASE_FILTERS=r,exports.DEFAULT_RADIUS_MILES=10,exports.MAX_TVD=5e4,exports.PADS_URL="/v2/pads",exports.PAD_NAME_EXCLUSION_KEYWORDS=t,exports.baseQuery={fields:["pad.name","pad.pad_frac_fleets","pad.current_frac_fleet_id","pad.wells"],per_page:300,sort:"last_active_at",order:"desc"},exports.deserializePads=function(e,r){return s.deserialize({data:e,included:r})},exports.getQueryKey=function(e){for(var r=arguments.length,t=new Array(r>1?r-1:0),s=1;s<r;s++)t[s-1]=arguments[s];return[e,"CorvaUI","CompletionsOffsetWellPicker"].concat(t)},exports.removeViewerAndPDAssets=function(e){return e.filter((function(e){return!t.some((function(r){var t;return null===(t=e.attributes.name)||void 0===t?void 0:t.toUpperCase().includes(r)}))}))};
|
|
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":["BASE_FILTERS","selectedFracFleets","selectedFormations","padStatus","PadStatus","All","tvdMin","tvdMax","PAD_NAME_EXCLUSION_KEYWORDS","dataFormatter","Jsona","fields","per_page","sort","order","data","included","deserialize","name","_len","arguments","length","deps","Array","_key","arr","filter","item","some","keyWord","_item$attributes$name","attributes","toUpperCase","includes"],"mappings":"2FASaA,EAA6C,CACxDC,mBAAoB,GACpBC,mBAAoB,GACpBC,gCAAoBC,UAACC,IACrBC,OAAQ,EACRC,OARqB,KA2BVC,EAA8B,CAAC,SAAU,QAWhDC,EAAgB,IAAIC,EAAAA,0DArCU,mBADb,qBAWkB,mEAEG,CAC1CC,OAAQ,CAAC,WAAY,sBAAuB,4BAA6B,aACzEC,SAAU,IACVC,KAAM,iBACNC,MAAO,gCAuBsB,SAACC,EAAoBC,GAAuB,OACzEP,EAAcQ,YAAY,CACxBF,KAAAA,EACAC,SAAAA,GAC8D,sBAxBvC,SAACE,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,kCAM8B,SAACG,GAAiB,OACvDA,EAAIC,QACF,SAAAC,GAAI,OACDnB,EAA4BoB,MAAK,SAAAC,GAAO,IAAAC,EAAA,OACnB,QADmBA,EACvCH,EAAKI,WAAWb,YAAI,IAAAY,OAAA,EAApBA,EAAsBE,cAAcC,SAASJ,QAElD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.mapPad=function(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=function(e,t){if("number"==typeof e&&Number.isFinite(e)&&"number"==typeof t&&Number.isFinite(t)&&(0!==e||0!==t)&&!(Math.abs(e)>90||Math.abs(t)>180))return[e,t]};exports.mapPad=function(t){var o,n,i,l,a=null===(o=t.pad_frac_fleets)||void 0===o?void 0:o.find((function(e){var o;return"pad_frac_fleet"===e.type&&e.frac_fleet.id.toString()===(null===(o=t.current_frac_fleet_id)||void 0===o?void 0:o.toString())}));return{id:t.id,name:t.name,fleetName:(null==a?void 0:a.frac_fleet.name)||"N/A",wells:null===(n=t.wells)||void 0===n?void 0:n.map((function(t){var o,n,i;return{id:Number(t.id),assetId:t.asset_id,name:t.name,color:null===(o=t.custom_properties)||void 0===o?void 0:o.color,status:t.status,rigReleaseDate:t.stats.well_end,totalDepth:t.stats.total_depth,formation:t.target_formation||"N/A",topHole:{coordinates:e(null==t||null===(n=t.lon_lat)||void 0===n?void 0:n.latitude,null==t||null===(i=t.lon_lat)||void 0===i?void 0:i.longitude)}}})),wellsNamesCombined:null===(i=t.wells)||void 0===i?void 0:i.map((function(e){return e.name})).join(", "),formationsCombined:null===(l=t.wells)||void 0===l?void 0:l.map((function(e){return e.target_formation})).filter(Boolean).join(", ")}};
|
|
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","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":"oEAGA,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,iBAEsB,SAACK,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,GAAIhB,OAAOuB,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,YAAa3C,EAAe0B,SAAa,QAATE,EAAJF,EAAMkB,eAAO,IAAAhB,OAAT,EAAJA,EAAe3B,SAAUyB,SAAA,QAAIG,EAAJH,EAAMkB,eAAN,IAAAf,OAAI,EAAJA,EAAe3B,YAEvE,IACD2C,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,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("react"),r=require("../../../utils/index.js");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=n(e);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var c=r.mapbox.getDistanceByCoordinates,s=r.mapbox.isValidCoordinates,a=r.mapbox.isValidLatLng,l=function(e){var t,r,n,i=null==e||null===(t=e.wells)||void 0===t||null===(r=t[0])||void 0===r||null===(n=r.topHole)||void 0===n?void 0:n.coordinates;if(i&&a(i)&&s(i)&&(0!==i[0]||0!==i[1]))return i},d=function(e,t){var r=l(t);if(r)return c(e,r)};exports.usePadsByRadius=function(e){var r=e.radiusMiles,n=e.pads,i=e.selectedPadId,o=t.useMemo((function(){return n.find((function(e){return e.id.toString()===(null==i?void 0:i.toString())}))}),[n,i]),c=l(o),s=t.useMemo((function(){return c?n.map((function(e){return u(u({},e),{},{distanceMiles:d(c,e)})})):n}),[n,c]);return t.useMemo((function(){return void 0!==r&&c?s.filter((function(e){return void 0!==e.distanceMiles&&e.distanceMiles<=r})):s}),[s,r,c])};
|
|
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","_ref","radiusMiles","pads","selectedPadId","mainItem","useMemo","find","id","toString","padsWithDistance","map","item","_objectSpread","distanceMiles","undefined","filter"],"mappings":"60BAMA,IAAQA,EAAgEC,EAAMA,OAAtED,yBAA0BE,EAAsCD,EAAMA,OAA5CC,mBAAoBC,EAAkBF,EAAMA,OAAxBE,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,0BAE+B,SAQzBK,GAAA,IAPJC,IAAAA,YACAC,IAAAA,KACAC,IAAAA,cAMMC,EAAWC,EAAAA,SACf,WAAA,OAAMH,EAAKI,MAAK,SAAAf,GAAG,OAAIA,EAAIgB,GAAGC,cAAeL,aAAa,EAAbA,EAAeK,cAAW,GACvE,CAACN,EAAMC,IAGHJ,EAAkBT,EAAkBc,GAIpCK,EAAmBJ,EAAAA,SAAQ,WAC/B,OAAKN,EAEEG,EAAKQ,KAAI,SAAAC,GAAI,OAAAC,EAAAA,EAAA,CAAA,EAAUD,GAAI,CAAA,EAAA,CAAEE,cAAef,EAAiBC,EAAiBY,IAAK,IAF7DT,CAG/B,GAAG,CAACA,EAAMH,IAYV,OAVqBM,EAAAA,SAAQ,WAC3B,YAAoBS,IAAhBb,GAA8BF,EAI3BU,EAAiBM,QACtB,SAAAJ,GAAI,YAA2BG,IAAvBH,EAAKE,eAA+BF,EAAKE,eAAiBZ,KALVQ,CAO3D,GAAE,CAACA,EAAkBR,EAAaF,GAGrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/types.ts"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport { Well as GlobalWell } from '../../types';\n\n/* eslint-disable camelcase */\nexport enum PadStatus {\n All = 'all',\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport type MappedWell = {\n id: number;\n assetId: number;\n name: string;\n rigReleaseDate: number | undefined;\n totalDepth: number;\n formation: string;\n color?: string;\n status: string;\n topHole: {\n coordinates
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/componentsV2/CompletionsOffsetWellPicker/types.ts"],"sourcesContent":["import { ReactNode } from 'react';\n\nimport { Well as GlobalWell } from '../../types';\n\n/* eslint-disable camelcase */\nexport enum PadStatus {\n All = 'all',\n Active = 'active',\n Inactive = 'inactive',\n}\n\nexport type MappedWell = {\n id: number;\n assetId: number;\n name: string;\n rigReleaseDate: number | undefined;\n totalDepth: number;\n formation: string;\n color?: string;\n status: string;\n topHole: {\n coordinates?: [number, number];\n };\n};\n\nexport type MappedPad = {\n id: string;\n name: string;\n fleetName: string;\n distanceMiles?: number;\n wells: MappedWell[];\n wellsNamesCombined: string;\n formationsCombined: string;\n};\n\nexport type Filters = {\n selectedFracFleets: string[];\n selectedFormations: string[];\n padStatus: PadStatus;\n tvdMin: number | undefined;\n tvdMax: number | undefined;\n /** Optional radius (in miles) to limit pads relative to the main pad first well */\n radiusMiles?: number;\n};\n\nexport type Well = Pick<GlobalWell, 'id' | 'asset_id'>;\n\nexport type CompletionsOffsetWellPickerProps = {\n /**\n * The company ID to fetch pads and wells data for\n */\n companyId: string;\n /**\n * The ID of the currently selected pad from app wrapper\n */\n selectedPadId?: number;\n /**\n * Array of well IDs selected as offset wells\n */\n selectedOffsetWellIds: number[];\n /**\n * Callback when user selects/deselects offset wells\n */\n onOffsetWellsSelect: (offsetWells: MappedPad['wells']) => void;\n /**\n * Optional array of well objects with metadata from app wrapper\n */\n wells?: Well[];\n /**\n * Optional single well object for current well from app wrapper\n */\n well?: Well;\n /**\n * Maximum radius in miles a user can select (optional).\n * The picker starts at 10 miles, capped by this value when provided.\n */\n maxRadiusInMiles?: number;\n /**\n * Show global selector icon instead of well icon\n */\n isGlobalSelector?: boolean;\n /**\n * Optional test ID for testing purposes\n */\n testId?: string;\n /**\n * Label for <OffsetWellsButton/>\n */\n buttonLabel?: ReactNode;\n};\n"],"names":["PadStatus"],"mappings":"aASC,IAJWA,yDAAAA,QAASA,eAAA,GAATA,EAAAA,QAASA,YAATA,kBAAS,CAAA,IAAA,IAAA,MAATA,EAAS,OAAA,SAATA,EAAS,SAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CompletionsOffsetWellPicker.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA2B,MAAM,OAAO,CAAC;AAapD,OAAO,EAAE,gCAAgC,IAAI,KAAK,EAAsB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"CompletionsOffsetWellPicker.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA2B,MAAM,OAAO,CAAC;AAapD,OAAO,EAAE,gCAAgC,IAAI,KAAK,EAAsB,MAAM,SAAS,CAAC;AAiLxF,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,KAAK,CAQjD,CAAC"}
|