@corva/ui 3.73.0-2 → 3.73.0-4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  2. package/cjs-bundle/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  3. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  4. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  5. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js +1 -1
  6. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js.map +1 -1
  7. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js +1 -1
  8. package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js.map +1 -1
  9. package/cjs-bundle/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  10. package/cjs-bundle/componentsV2/AppCommonsProvider/utils.js +1 -1
  11. package/cjs-bundle/componentsV2/AppCommonsProvider/utils.js.map +1 -1
  12. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
  13. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
  14. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
  15. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
  16. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
  17. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
  18. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
  19. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
  20. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js +1 -1
  21. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js.map +1 -1
  22. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/constants.js +1 -1
  23. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/constants.js.map +1 -1
  24. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js +1 -1
  25. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js.map +1 -1
  26. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
  27. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
  28. package/cjs-bundle/componentsV2/CompletionsOffsetWellPicker/types.js.map +1 -1
  29. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +1 -1
  30. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -1
  31. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.d.ts.map +1 -1
  32. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js +1 -1
  33. package/components/DevCenter/DevCenterAppContainer/DevCenterAppContainer.js.map +1 -1
  34. package/components/OffsetWellPickerV4/OffsetWellPickerV4.d.ts.map +1 -1
  35. package/components/OffsetWellPickerV4/effects/index.d.ts +1 -0
  36. package/components/OffsetWellPickerV4/effects/index.d.ts.map +1 -1
  37. package/components/OffsetWellPickerV4/effects/useBootstrapSelectedWells.d.ts +15 -0
  38. package/components/OffsetWellPickerV4/effects/useBootstrapSelectedWells.d.ts.map +1 -0
  39. package/components/OffsetWellPickerV4/utils/mergeInitSelectedWells.d.ts +103 -0
  40. package/components/OffsetWellPickerV4/utils/mergeInitSelectedWells.d.ts.map +1 -0
  41. package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
  42. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  43. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  44. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.d.ts +3 -3
  45. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.d.ts.map +1 -1
  46. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js +1 -1
  47. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.js.map +1 -1
  48. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.d.ts.map +1 -1
  49. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js +1 -1
  50. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.js.map +1 -1
  51. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.types.d.ts +0 -1
  52. package/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.types.d.ts.map +1 -1
  53. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts +2 -0
  54. package/componentsV2/AppCommonsProvider/AppCommonsContext.d.ts.map +1 -1
  55. package/componentsV2/AppCommonsProvider/AppCommonsContext.js.map +1 -1
  56. package/componentsV2/AppCommonsProvider/utils.d.ts +1 -1
  57. package/componentsV2/AppCommonsProvider/utils.d.ts.map +1 -1
  58. package/componentsV2/AppCommonsProvider/utils.js +1 -1
  59. package/componentsV2/AppCommonsProvider/utils.js.map +1 -1
  60. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.d.ts.map +1 -1
  61. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js +1 -1
  62. package/componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js.map +1 -1
  63. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js +1 -1
  64. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTable.js.map +1 -1
  65. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.d.ts.map +1 -1
  66. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js +1 -1
  67. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/PadsTableBody.js.map +1 -1
  68. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/columns.test.d.ts +2 -0
  69. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/columns.test.d.ts.map +1 -0
  70. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/sortPads.test.d.ts +2 -0
  71. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/__tests__/sortPads.test.d.ts.map +1 -0
  72. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts +1 -0
  73. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.d.ts.map +1 -1
  74. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js +1 -1
  75. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/columns.js.map +1 -1
  76. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.d.ts +3 -1
  77. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.d.ts.map +1 -1
  78. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js +1 -1
  79. package/componentsV2/CompletionsOffsetWellPicker/PadsTable/helpers/sortPads.js.map +1 -1
  80. package/componentsV2/CompletionsOffsetWellPicker/constants.d.ts +1 -0
  81. package/componentsV2/CompletionsOffsetWellPicker/constants.d.ts.map +1 -1
  82. package/componentsV2/CompletionsOffsetWellPicker/constants.js +1 -1
  83. package/componentsV2/CompletionsOffsetWellPicker/constants.js.map +1 -1
  84. package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/defaults.test.d.ts +2 -0
  85. package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/defaults.test.d.ts.map +1 -0
  86. package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/mapPad.test.d.ts +2 -0
  87. package/componentsV2/CompletionsOffsetWellPicker/hooks/__tests__/mapPad.test.d.ts.map +1 -0
  88. package/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.d.ts.map +1 -1
  89. package/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js +1 -1
  90. package/componentsV2/CompletionsOffsetWellPicker/hooks/mapPad.js.map +1 -1
  91. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.d.ts.map +1 -1
  92. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js +1 -1
  93. package/componentsV2/CompletionsOffsetWellPicker/hooks/usePadsByRadius.js.map +1 -1
  94. package/componentsV2/CompletionsOffsetWellPicker/types.d.ts +4 -3
  95. package/componentsV2/CompletionsOffsetWellPicker/types.d.ts.map +1 -1
  96. package/componentsV2/CompletionsOffsetWellPicker/types.js.map +1 -1
  97. package/effects/useGlobalOffsetWellsSync.d.ts.map +1 -1
  98. package/effects/useGlobalOffsetWellsSync.js +1 -1
  99. package/effects/useGlobalOffsetWellsSync.js.map +1 -1
  100. package/mcp-server/server.mjs +1 -1
  101. package/package.json +1 -1
  102. package/tsconfig.tsbuildinfo +1 -1
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/slicedToArray";import{useState as s,useRef as l,useMemo as t,useCallback as o,useEffect as i}from"react";import"@babel/runtime/helpers/toConsumableArray";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"lodash";import"uuid";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../clients/jsonApi/index.js";import"../../clients/subscriptions/constants.js";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"./constants.js";import"./api/shared/dataFormatter.js";import"zustand";import"./stores/picker-props-store/PickerPropsStoreContext.js";import"@babel/runtime/helpers/objectWithoutProperties";import"./viewport/ViewportProvider.js";import{useViewType as r}from"./viewport/useViewType.js";import{jsxs as n,Fragment as a,jsx as d}from"react/jsx-runtime";import{usePickerPropsStore as c}from"./stores/picker-props-store/usePickerPropsStore.js";import{useIsAdmin as m}from"./hooks/useIsAdmin.js";import{useFilterOptions as u}from"./hooks/useFilterOptions.js";import{useFilteredWells as f}from"./hooks/useFilteredWells.js";import{useSortedWells as p}from"./hooks/useSortedWells.js";import"../../permissions/PermissionsContext.js";import"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"../../permissions/ProvidePermissions.js";import"lodash/debounce";import"./stores/viewport-store/ViewportStoreContext.js";import"lz-string";import"@mapbox/tilebelt";import"./components/Map/OffsetWellMap/constants.js";import"./stores/filter-store/FilterStoreContext.js";import"lodash/isEqual";import"./stores/company-safeguard/CompanySafeguardContext.js";import"./stores/viewport-store/ViewportStoreProvider.js";import{useWellSelection as W}from"./hooks/use-well-selection/useWellSelection.js";import{useSaveReset as S}from"./hooks/use-save-reset/useSaveReset.js";import{useAutoSyncOffsetWells as h}from"./hooks/useAutoSyncOffsetWells.js";import{useFilterValidation as b}from"./hooks/useFilterValidation.js";import{useWellDataPipeline as j}from"./hooks/use-well-data-pipeline/useWellDataPipeline.js";import"./stores/idas-resync-store/IdasResyncStoreContext.js";import"./stores/idas-resync-store/IdasResyncStoreProvider.js";import{IdasResyncStatus as v}from"./stores/idas-resync-store/idas-resync.types.js";import{useIdasResyncStore as y}from"./stores/idas-resync-store/useIdasResyncStore.js";import"../../utils/index.js";import{useSyncFilterDataSources as C}from"./stores/filter-store/utils/useSyncFilterDataSources.js";import{useAllWells as I}from"./hooks/useAllWells/useAllWells.js";import{usePickerStoreSelectors as O}from"./hooks/usePickerStoreSelectors.js";import{useWellsToDisplay as A}from"./hooks/useWellsToDisplay.js";import{useLimitNotification as g}from"./hooks/useLimitNotification.js";import{useTableColumns as w}from"./components/OffsetWellsTable/hooks/useTableColumns.js";import{useTablePagination as k}from"./components/OffsetWellsTable/hooks/useTablePagination.js";import{useHScrollShadowReconcile as x}from"./components/OffsetWellsTable/hooks/useHScrollShadowReconcile.js";import{useAdvancedSearchHandler as R}from"./components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js";import{useInitialBounds as L}from"./components/Map/OffsetWellMap/hooks/useInitialBounds.js";import{OffsetWellPickerContent as M}from"./components/OffsetWellPickerContent/OffsetWellPickerContent.js";import{isXtoIdasPicker as P}from"./utils/isXtoIdasPicker.js";var H=function(){return I(),null},E=function(){var I,E,F,T,D=r().isMobile,V=O(),Z=V.open,U=V.isWDUser,z=V.isManualWellsEnabled,B=V.defaultSubjectWell,K=V.currentUser,N=V.offsetSettings,X=V.isViewOnly,q=V.onClose,G=V.onSave,_=V.offsetSize,J=V.localMaxOffsetSize,Q=V.syncAutoEnabled,Y=V.isLoadAllWells,$=V.resetIsLoadAllWells,ee=V.shouldRecenter,se=V.setShouldRecenter,le=V.isFilterExpanded,te=V.isMapHidden,oe=V.isHScrollMoved,ie=V.setIsHScrollMoved,re=V.isAdvancedSearchHidden,ne=V.setIsAdvancedSearchHidden,ae=V.filters,de=V.lastFilterMutationSource,ce=V.filterMutationSeq,me=V.setFilters,ue=V.resetFilters,fe=V.resetSelectionTool,pe=!!Z,We=c((function(e){return e.segment})),Se=s(null),he=e(Se,2),be=he[0],je=he[1],ve=l(null),ye=s(!0),Ce=e(ye,2),Ie=Ce[0],Oe=Ce[1],Ae=Math.min(_+1,J+1),ge=Math.max(Ae,J+1),we=null!==(I=null==B?void 0:B.asset_id)&&void 0!==I?I:null,ke=+(null!==(E=null==B?void 0:B.companyId)&&void 0!==E?E:0)||+(null!==(F=null==K?void 0:K.company_id)&&void 0!==F?F:0),xe=null!=we&&we>0,Re=j({subjectWellId:we,assetCompanyId:ke,offsetSettings:N,maxOffsetWellNumber:ge,isLoadAllWells:Y,open:Z,onSave:G}),Le=Re.wells,Me=Re.subjectWell,Pe=Re.subjectWellCoords,He=Re.rawWellsWithSubject,Ee=Re.wellSections,Fe=Re.externalOffsets,Te=Re.taScores,De=Re.idasWellIds,Ve=Re.owsWellIds,Ze=Re.wellhubWellIds,Ue=Re.loadedAssetId,ze=Re.isWellSectionColumnVisible,Be=Re.metricsKeys,Ke=Re.setMetricsKeys,Ne=Re.loadingWellIds,Xe=Re.isAllWellsLoaded,qe=Re.areRawWellsLoading,Ge=Re.companies,_e=Re.canViewCompanies,Je=Re.companyProvider,Qe=Re.pinnedWells,Ye=Re.fetchSearchedWells,$e=Re.resetSafeguard,es=m()&&null!==(T=ae.showHiddenWells)&&void 0!==T&&T,ss=f(Le,ae,es),ls=W({subjectWellId:null!=we?we:void 0,subjectWell:Me,wells:Le,filteredWells:ss,externalOffsets:Fe,rawWellsWithSubject:He,offsetSettings:N,maxOffsetWellNumber:ge,maxOffsetSize:Ae,open:!!Z,isAllWellsLoaded:Xe,fetchSearchedWells:Ye,filters:ae,filterMutationSeq:ce,lastFilterMutationSource:de,includeHidden:es}),ts=ls.selectedWells,os=ls.setSelectedWells,is=ls.selectedWellsCount,rs=ls.selectedWellIds,ns=ls.currentSelectionZone,as=ls.setCurrentSelectionZone,ds=ls.selectedWellSection,cs=ls.setSelectedWellSection,ms=ls.loadingAssetIds,us=ls.setLoadingAssetIds,fs=ls.searchGenerationRef,ps=ls.markUserEdit,Ws=ls.abandonPendingSearch,Ss=ls.handleChangeOffsetWell,hs=ls.handleChangeAllOffsetWells,bs=ls.handleBatchSelectWells,js=ls.handleSelectionZoneConfirm,vs=ls.handleChangeWellSection,ys=ls.updateSelectedWellsBySection,Cs=ge<=(null==ts?void 0:ts.length);L({subjectWellCoords:Pe,hasSubjectWell:null!=we,open:!!Z,ghostZone:ns}),g(pe,Cs,ge),C(null!=Le?Le:null,Ge,_e,Xe,Y,We);var Is=u();b({open:Z,isAllWellsLoaded:Xe,filters:ae,filterOptions:Is,isLoadAllWells:Y,setFilters:me});var Os=w(Be,_e,ze,xe),As=A(ss,ts,Le,Fe,ds,es),gs=p(Me,As,ts,Oe,null==N?void 0:N.selectedWellIds),ws=e(gs,5),ks=ws[0],xs=ws[1],Rs=ws[2],Ls=ws[3],Ms=ws[4],Ps=R({filters:ae,wells:Le,maxOffsetWellNumber:ge,includeHidden:es,fetchSearchedWells:Ye,setIsTableLoading:Oe,setSelectedWells:os,setLoadingAssetIds:us,setCurrentSelectionZone:as,markUserEdit:ps,searchGenerationRef:fs}),Hs=P({isWDUser:U,isManualWellsEnabled:z,companyProvider:Je}),Es=t((function(){return Hs?Te:[]}),[Hs,Te]);h({isAllWellsLoaded:Xe,syncAutoEnabled:Q,isXtoIdas:Hs,offsetSettings:N,externalOffsets:Fe,subjectWellId:we,maxOffsetWellNumber:ge,localMaxOffsetSize:J,idasWellIds:De,owsWellIds:Ve,wellhubWellIds:Ze,onSave:null!=G?G:function(){}});var Fs=Ie||qe,Ts=S({selectedWells:ts,selectedWellsCount:is,setSelectedWells:os,selectedWellSection:ds,setSelectedWellSection:cs,currentSelectionZone:ns,setCurrentSelectionZone:as,abandonPendingSearch:Ws,externalOffsets:Fe,maxOffsetSize:Ae,offsetSettings:N,assetCompanyId:ke,subjectWellId:null!=we?we:void 0,subjectWell:Me,filters:ae,metricsKeys:Be,isMapHidden:te,isFilterExpanded:le,isLimitedOffsetWells:Cs,isLoadAllWells:Y,companyProvider:Je,isWDUser:U,isManualWellsEnabled:z,hasValidAssetId:xe,isAllWellsLoaded:Xe,idasWellIds:De,owsWellIds:Ve,wellhubWellIds:Ze,wells:Le,rawWellsWithSubject:He,pinnedWells:Qe,onClose:q,onSave:G,setFilters:me,resetFilters:ue,resetSelectionTool:fe,resetIsLoadAllWells:$,resetSafeguard:$e,updateSelectedWellsBySection:ys}),Ds=Ts.isXtoProvider,Vs=Ts.syncedOffsetLabel,Zs=Ts.savedOffsetLabel,Us=Ts.resetTooltipLabel,zs=Ts.isResetVisible,Bs=Ts.isSynced,Ks=Ts.hasOffsetSource,Ns=Ts.hasSavedHandpicked,Xs=Ts.handleSave,qs=Ts.handleCancel,Gs=Ts.handleReset,_s=Ts.applyResetFromExternalOffsets,Js=k({sortedWells:Ms,subjectWell:Me,isLimitedOffsetWells:Cs,isHScrollMoved:oe,setIsHScrollMoved:ie,isAdvancedSearchHidden:re,setIsAdvancedSearchHidden:ne}),Qs=Js.tableWells,Ys=Js.tableRowsCount,$s=Js.rightColumnRef,el=Js.isAnimatingRef,sl=Js.indeterminate,ll=Js.isAllWellsSelected,tl=Js.handleScroll,ol=x(),il=ol.containerRef,rl=ol.contentRef,nl=o((function(e){$s.current=e,il(e)}),[$s,il]),al=y((function(e){return e.status})),dl=l(al);i((function(){var e=dl.current;dl.current=al,al===v.SUCCEEDED&&e!==v.SUCCEEDED&&_s()}),[al,_s]);var cl=!Le||!Ee||!Ms,ml=s(null),ul=e(ml,2),fl=ul[0],pl=ul[1];i((function(){null!==we&&Ue===we&&Fe&&pl(we)}),[we,Ue,Fe]);var Wl=null!==fl&&fl===we;return n(a,{children:[Y&&d(H,{}),d(M,{open:pe,isMobile:D,isViewOnly:X,isMapHidden:te,isFilterExpanded:le,isHScrollMoved:oe,isLoading:cl,isTableFullLoading:Fs,isResetVisible:zs,isOffsetSourceKnown:Wl,hasOffsetSource:Ks,hasSavedHandpicked:Ns,isSynced:Bs,isLimitedOffsetWells:Cs,isWellSectionColumnVisible:ze,isAllWellsSelected:ll,indeterminate:sl,isXtoProvider:Ds,hasValidAssetId:xe,syncedOffsetLabel:Vs,savedOffsetLabel:Zs,resetTooltipLabel:Us,maxOffsetWellNumber:ge,subjectWell:Me,subjectWellId:null!=we?we:void 0,selectedWells:ts,selectedWellIds:rs,selectedWellsCount:is,selectedWellSection:ds,filteredWells:ss,wellsToDisplay:As,sortedWells:Ms,tableWells:Qs,tableRowsCount:Ys,wellSections:Ee,metricsKeys:Be,setMetricsKeys:Ke,columnsWithDict:Os,taScores:Es,filterOptions:Is,loadingWellIds:Ne,loadingAssetIds:ms,filters:ae,currentSelectionZone:ns,activeWellId:be,sortBy:ks,setSortBy:xs,sortDirection:Rs,setSortDirection:Ls,shouldRecenter:ee,wells:Le,handleCancel:qs,handleSave:Xs,handleReset:Gs,handleChangeOffsetWell:Ss,handleBatchSelectWells:bs,handleChangeAllOffsetWells:hs,handleSelectionZoneConfirm:js,handleChangeWellSection:vs,handleAddRemoveAssets:Ps,handleScroll:tl,setActiveWellId:je,setShouldRecenter:se,setIsAdvancedSearchHidden:ne,wellsMapRef:ve,contentRef:rl,rightColumnRef:$s,containerRef:nl,isAnimatingRef:el})]})};export{E as OffsetWellPickerV5};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import{useState as s,useRef as l,useMemo as t,useCallback as o,useEffect as i}from"react";import"@babel/runtime/helpers/toConsumableArray";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"lodash";import"uuid";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../clients/jsonApi/index.js";import"../../clients/subscriptions/constants.js";import"../../clients/subscriptions.v1.js";import"../../clients/subscriptions/subscriptions-client.factory.js";import"../../clients/api/apiCore.js";import"../../clients/constants.js";import"../../clients/sso/auth0.js";import"../../clients/sso/oauth2.js";import"../../clients/api/rateLimiter.js";import"./constants.js";import"./api/shared/dataFormatter.js";import"zustand";import"./stores/picker-props-store/PickerPropsStoreContext.js";import"@babel/runtime/helpers/objectWithoutProperties";import"./viewport/ViewportProvider.js";import{useViewType as r}from"./viewport/useViewType.js";import{jsxs as n,Fragment as a,jsx as d}from"react/jsx-runtime";import{usePickerPropsStore as c}from"./stores/picker-props-store/usePickerPropsStore.js";import{useIsAdmin as m}from"./hooks/useIsAdmin.js";import{useFilterOptions as u}from"./hooks/useFilterOptions.js";import{useFilteredWells as f}from"./hooks/useFilteredWells.js";import{useSortedWells as p}from"./hooks/useSortedWells.js";import"../../permissions/PermissionsContext.js";import"../../permissions/constants/index.js";import"../../permissions/withPermissionsHOC.js";import"../../permissions/ProvidePermissions.js";import"lodash/debounce";import"./stores/viewport-store/ViewportStoreContext.js";import"lz-string";import"@mapbox/tilebelt";import"./components/Map/OffsetWellMap/constants.js";import"./stores/filter-store/FilterStoreContext.js";import"lodash/isEqual";import"./stores/company-safeguard/CompanySafeguardContext.js";import"./stores/viewport-store/ViewportStoreProvider.js";import{useWellSelection as W}from"./hooks/use-well-selection/useWellSelection.js";import{useSaveReset as S}from"./hooks/use-save-reset/useSaveReset.js";import{useAutoSyncOffsetWells as h}from"./hooks/useAutoSyncOffsetWells.js";import{useFilterValidation as b}from"./hooks/useFilterValidation.js";import{useWellDataPipeline as j}from"./hooks/use-well-data-pipeline/useWellDataPipeline.js";import"./stores/idas-resync-store/IdasResyncStoreContext.js";import"./stores/idas-resync-store/IdasResyncStoreProvider.js";import{IdasResyncStatus as v}from"./stores/idas-resync-store/idas-resync.types.js";import{useIdasResyncStore as y}from"./stores/idas-resync-store/useIdasResyncStore.js";import"../../utils/index.js";import{useSyncFilterDataSources as C}from"./stores/filter-store/utils/useSyncFilterDataSources.js";import{useAllWells as I}from"./hooks/useAllWells/useAllWells.js";import{usePickerStoreSelectors as O}from"./hooks/usePickerStoreSelectors.js";import{useWellsToDisplay as A}from"./hooks/useWellsToDisplay.js";import{useLimitNotification as g}from"./hooks/useLimitNotification.js";import{useTableColumns as w}from"./components/OffsetWellsTable/hooks/useTableColumns.js";import{useTablePagination as k}from"./components/OffsetWellsTable/hooks/useTablePagination.js";import{useHScrollShadowReconcile as x}from"./components/OffsetWellsTable/hooks/useHScrollShadowReconcile.js";import{useAdvancedSearchHandler as R}from"./components/OffsetWellsTable/hooks/useAdvancedSearchHandler.js";import{useInitialBounds as M}from"./components/Map/OffsetWellMap/hooks/useInitialBounds.js";import{OffsetWellPickerContent as L}from"./components/OffsetWellPickerContent/OffsetWellPickerContent.js";import{isXtoIdasPicker as P}from"./utils/isXtoIdasPicker.js";var H=function(){return I(),null},E=function(){var I,E,F,T,D=r().isMobile,V=O(),Z=V.open,U=V.isWDUser,z=V.isManualWellsEnabled,B=V.defaultSubjectWell,K=V.currentUser,N=V.offsetSettings,X=V.isViewOnly,q=V.onClose,G=V.onSave,_=V.offsetSize,J=V.localMaxOffsetSize,Q=V.syncAutoEnabled,Y=V.isLoadAllWells,$=V.resetIsLoadAllWells,ee=V.shouldRecenter,se=V.setShouldRecenter,le=V.isFilterExpanded,te=V.isMapHidden,oe=V.isHScrollMoved,ie=V.setIsHScrollMoved,re=V.isAdvancedSearchHidden,ne=V.setIsAdvancedSearchHidden,ae=V.filters,de=V.lastFilterMutationSource,ce=V.filterMutationSeq,me=V.setFilters,ue=V.resetFilters,fe=V.resetSelectionTool,pe=!!Z,We=c((function(e){return e.segment})),Se=s(null),he=e(Se,2),be=he[0],je=he[1],ve=l(null),ye=s(!0),Ce=e(ye,2),Ie=Ce[0],Oe=Ce[1],Ae=Math.min(_+1,J+1),ge=Math.max(Ae,J+1),we=null!==(I=null==B?void 0:B.asset_id)&&void 0!==I?I:null,ke=+(null!==(E=null==B?void 0:B.companyId)&&void 0!==E?E:0)||+(null!==(F=null==K?void 0:K.company_id)&&void 0!==F?F:0),xe=null!=we&&we>0,Re=j({subjectWellId:we,assetCompanyId:ke,offsetSettings:N,maxOffsetWellNumber:ge,isLoadAllWells:Y,open:Z,onSave:G}),Me=Re.wells,Le=Re.subjectWell,Pe=Re.subjectWellCoords,He=Re.rawWellsWithSubject,Ee=Re.wellSections,Fe=Re.externalOffsets,Te=Re.taScores,De=Re.idasWellIds,Ve=Re.owsWellIds,Ze=Re.wellhubWellIds,Ue=Re.loadedAssetId,ze=Re.isWellSectionColumnVisible,Be=Re.metricsKeys,Ke=Re.setMetricsKeys,Ne=Re.loadingWellIds,Xe=Re.isAllWellsLoaded,qe=Re.areRawWellsLoading,Ge=Re.companies,_e=Re.canViewCompanies,Je=Re.companyProvider,Qe=Re.pinnedWells,Ye=Re.fetchSearchedWells,$e=Re.resetSafeguard,es=m()&&null!==(T=ae.showHiddenWells)&&void 0!==T&&T,ss=f(Me,ae,es),ls=W({subjectWellId:null!=we?we:void 0,subjectWell:Le,wells:Me,filteredWells:ss,externalOffsets:Fe,rawWellsWithSubject:He,offsetSettings:N,maxOffsetWellNumber:ge,maxOffsetSize:Ae,open:!!Z,fetchSearchedWells:Ye,filters:ae,filterMutationSeq:ce,lastFilterMutationSource:de,includeHidden:es}),ts=ls.selectedWells,os=ls.setSelectedWells,is=ls.selectedWellsCount,rs=ls.selectedWellIds,ns=ls.currentSelectionZone,as=ls.setCurrentSelectionZone,ds=ls.selectedWellSection,cs=ls.setSelectedWellSection,ms=ls.loadingAssetIds,us=ls.setLoadingAssetIds,fs=ls.searchGenerationRef,ps=ls.markUserEdit,Ws=ls.abandonPendingSearch,Ss=ls.handleChangeOffsetWell,hs=ls.handleChangeAllOffsetWells,bs=ls.handleBatchSelectWells,js=ls.handleSelectionZoneConfirm,vs=ls.handleChangeWellSection,ys=ls.updateSelectedWellsBySection,Cs=ge<=(null==ts?void 0:ts.length);M({subjectWellCoords:Pe,hasSubjectWell:null!=we,open:!!Z,ghostZone:ns}),g(pe,Cs,ge),C(null!=Me?Me:null,Ge,_e,Xe,Y,We);var Is=u();b({open:Z,isAllWellsLoaded:Xe,filters:ae,filterOptions:Is,isLoadAllWells:Y,setFilters:me});var Os=w(Be,_e,ze,xe),As=A(ss,ts,Me,Fe,ds,es),gs=p(Le,As,ts,Oe,null==N?void 0:N.selectedWellIds),ws=e(gs,5),ks=ws[0],xs=ws[1],Rs=ws[2],Ms=ws[3],Ls=ws[4],Ps=R({filters:ae,wells:Me,maxOffsetWellNumber:ge,includeHidden:es,fetchSearchedWells:Ye,setIsTableLoading:Oe,setSelectedWells:os,setLoadingAssetIds:us,setCurrentSelectionZone:as,markUserEdit:ps,searchGenerationRef:fs}),Hs=P({isWDUser:U,isManualWellsEnabled:z,companyProvider:Je}),Es=t((function(){return Hs?Te:[]}),[Hs,Te]);h({isAllWellsLoaded:Xe,syncAutoEnabled:Q,isXtoIdas:Hs,offsetSettings:N,externalOffsets:Fe,subjectWellId:we,maxOffsetWellNumber:ge,localMaxOffsetSize:J,idasWellIds:De,owsWellIds:Ve,wellhubWellIds:Ze,onSave:null!=G?G:function(){}});var Fs=Ie||qe,Ts=S({selectedWells:ts,selectedWellsCount:is,setSelectedWells:os,selectedWellSection:ds,setSelectedWellSection:cs,currentSelectionZone:ns,setCurrentSelectionZone:as,abandonPendingSearch:Ws,externalOffsets:Fe,maxOffsetSize:Ae,offsetSettings:N,assetCompanyId:ke,subjectWellId:null!=we?we:void 0,subjectWell:Le,filters:ae,metricsKeys:Be,isMapHidden:te,isFilterExpanded:le,isLimitedOffsetWells:Cs,isLoadAllWells:Y,companyProvider:Je,isWDUser:U,isManualWellsEnabled:z,hasValidAssetId:xe,isAllWellsLoaded:Xe,idasWellIds:De,owsWellIds:Ve,wellhubWellIds:Ze,wells:Me,rawWellsWithSubject:He,pinnedWells:Qe,onClose:q,onSave:G,setFilters:me,resetFilters:ue,resetSelectionTool:fe,resetIsLoadAllWells:$,resetSafeguard:$e,updateSelectedWellsBySection:ys}),Ds=Ts.isXtoProvider,Vs=Ts.syncedOffsetLabel,Zs=Ts.savedOffsetLabel,Us=Ts.resetTooltipLabel,zs=Ts.isResetVisible,Bs=Ts.isSynced,Ks=Ts.hasOffsetSource,Ns=Ts.hasSavedHandpicked,Xs=Ts.handleSave,qs=Ts.handleCancel,Gs=Ts.handleReset,_s=Ts.applyResetFromExternalOffsets,Js=k({sortedWells:Ls,subjectWell:Le,isLimitedOffsetWells:Cs,isHScrollMoved:oe,setIsHScrollMoved:ie,isAdvancedSearchHidden:re,setIsAdvancedSearchHidden:ne}),Qs=Js.tableWells,Ys=Js.tableRowsCount,$s=Js.rightColumnRef,el=Js.isAnimatingRef,sl=Js.indeterminate,ll=Js.isAllWellsSelected,tl=Js.handleScroll,ol=x(),il=ol.containerRef,rl=ol.contentRef,nl=o((function(e){$s.current=e,il(e)}),[$s,il]),al=y((function(e){return e.status})),dl=l(al);i((function(){var e=dl.current;dl.current=al,al===v.SUCCEEDED&&e!==v.SUCCEEDED&&_s()}),[al,_s]);var cl=!Me||!Ee||!Ls,ml=s(null),ul=e(ml,2),fl=ul[0],pl=ul[1];i((function(){null!==we&&Ue===we&&Fe&&pl(we)}),[we,Ue,Fe]);var Wl=null!==fl&&fl===we;return n(a,{children:[Y&&d(H,{}),d(L,{open:pe,isMobile:D,isViewOnly:X,isMapHidden:te,isFilterExpanded:le,isHScrollMoved:oe,isLoading:cl,isTableFullLoading:Fs,isResetVisible:zs,isOffsetSourceKnown:Wl,hasOffsetSource:Ks,hasSavedHandpicked:Ns,isSynced:Bs,isLimitedOffsetWells:Cs,isWellSectionColumnVisible:ze,isAllWellsSelected:ll,indeterminate:sl,isXtoProvider:Ds,hasValidAssetId:xe,syncedOffsetLabel:Vs,savedOffsetLabel:Zs,resetTooltipLabel:Us,maxOffsetWellNumber:ge,subjectWell:Le,subjectWellId:null!=we?we:void 0,selectedWells:ts,selectedWellIds:rs,selectedWellsCount:is,selectedWellSection:ds,filteredWells:ss,wellsToDisplay:As,sortedWells:Ls,tableWells:Qs,tableRowsCount:Ys,wellSections:Ee,metricsKeys:Be,setMetricsKeys:Ke,columnsWithDict:Os,taScores:Es,filterOptions:Is,loadingWellIds:Ne,loadingAssetIds:ms,filters:ae,currentSelectionZone:ns,activeWellId:be,sortBy:ks,setSortBy:xs,sortDirection:Rs,setSortDirection:Ms,shouldRecenter:ee,wells:Me,handleCancel:qs,handleSave:Xs,handleReset:Gs,handleChangeOffsetWell:Ss,handleBatchSelectWells:bs,handleChangeAllOffsetWells:hs,handleSelectionZoneConfirm:js,handleChangeWellSection:vs,handleAddRemoveAssets:Ps,handleScroll:tl,setActiveWellId:je,setShouldRecenter:se,setIsAdvancedSearchHidden:ne,wellsMapRef:ve,contentRef:rl,rightColumnRef:$s,containerRef:nl,isAnimatingRef:el})]})};export{E as OffsetWellPickerV5};
2
2
  //# sourceMappingURL=OffsetWellPickerV5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useMemo, useCallback } from 'react';\n\nimport {\n useWellSelection,\n useSaveReset,\n useAutoSyncOffsetWells,\n useFilterValidation,\n useFilteredWells,\n useFilterOptions,\n useSortedWells,\n useWellDataPipeline,\n useIsAdmin,\n} from './hooks';\nimport { IdasResyncStatus, useIdasResyncStore } from './stores/idas-resync-store';\nimport { usePickerPropsStore } from './stores/picker-props-store';\nimport { useSyncFilterDataSources } from './stores/filter-store/utils/useSyncFilterDataSources';\nimport { useAllWells } from './hooks/useAllWells';\nimport { usePickerStoreSelectors } from './hooks/usePickerStoreSelectors';\nimport { useWellsToDisplay } from './hooks/useWellsToDisplay';\nimport { useLimitNotification } from './hooks/useLimitNotification';\nimport { useTableColumns } from './components/OffsetWellsTable/hooks/useTableColumns';\nimport { useTablePagination } from './components/OffsetWellsTable/hooks/useTablePagination';\nimport { useHScrollShadowReconcile } from './components/OffsetWellsTable/hooks/useHScrollShadowReconcile';\nimport { useAdvancedSearchHandler } from './components/OffsetWellsTable/hooks/useAdvancedSearchHandler';\nimport { useInitialBounds } from './components/Map/OffsetWellMap/hooks/useInitialBounds';\nimport { useViewType } from './viewport';\nimport { OffsetWellPickerContent } from './components/OffsetWellPickerContent';\nimport { isXtoIdasPicker } from './utils/isXtoIdasPicker';\nimport type { OffsetWellMapHandle } from './components/Map/OffsetWellMap/OffsetWellMap';\n\nconst AllWellsEffect = (): null => {\n useAllWells();\n return null;\n};\n\nexport const OffsetWellPickerV5 = () => {\n const { isMobile } = useViewType();\n const {\n open,\n isWDUser,\n isManualWellsEnabled,\n defaultSubjectWell,\n currentUser,\n offsetSettings,\n isViewOnly,\n onClose,\n onSave,\n offsetSize,\n localMaxOffsetSize,\n syncAutoEnabled,\n isLoadAllWells,\n resetIsLoadAllWells,\n shouldRecenter,\n setShouldRecenter,\n isFilterExpanded,\n isMapHidden,\n isHScrollMoved,\n setIsHScrollMoved,\n isAdvancedSearchHidden,\n setIsAdvancedSearchHidden,\n filters,\n lastFilterMutationSource,\n filterMutationSeq,\n setFilters,\n resetFilters,\n resetSelectionTool,\n } = usePickerStoreSelectors();\n\n const isOpen = !!open;\n\n const segment = usePickerPropsStore(state => state.segment);\n\n const [activeWellId, setActiveWellId] = useState<number | null>(null);\n const wellsMapRef = useRef<OffsetWellMapHandle | null>(null);\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1);\n const maxOffsetWellNumber = Math.max(maxOffsetSize, localMaxOffsetSize + 1);\n const subjectWellId = defaultSubjectWell?.asset_id ?? null;\n const assetCompanyId = +(defaultSubjectWell?.companyId ?? 0) || +(currentUser?.company_id ?? 0);\n const hasValidAssetId = subjectWellId != null && subjectWellId > 0;\n\n // --- Data pipeline ---\n const {\n wells,\n subjectWell,\n subjectWellCoords,\n rawWellsWithSubject,\n wellSections,\n externalOffsets,\n taScores,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n loadedAssetId,\n isWellSectionColumnVisible,\n metricsKeys,\n setMetricsKeys,\n loadingWellIds,\n isAllWellsLoaded,\n areRawWellsLoading,\n companies,\n canViewCompanies,\n companyProvider,\n pinnedWells,\n fetchSearchedWells,\n resetSafeguard,\n } = useWellDataPipeline({\n subjectWellId,\n assetCompanyId,\n offsetSettings,\n maxOffsetWellNumber,\n isLoadAllWells,\n open,\n onSave,\n });\n\n const isAdmin = useIsAdmin();\n const includeHidden = isAdmin && (filters.showHiddenWells ?? false);\n\n const filteredWells = useFilteredWells(wells, filters, includeHidden);\n\n // --- Well selection ---\n const {\n selectedWells,\n setSelectedWells,\n selectedWellsCount,\n selectedWellIds,\n currentSelectionZone,\n setCurrentSelectionZone,\n selectedWellSection,\n setSelectedWellSection,\n loadingAssetIds,\n setLoadingAssetIds,\n searchGenerationRef,\n markUserEdit,\n abandonPendingSearch,\n handleChangeOffsetWell,\n handleChangeAllOffsetWells,\n handleBatchSelectWells,\n handleSelectionZoneConfirm,\n handleChangeWellSection,\n updateSelectedWellsBySection,\n } = useWellSelection({\n subjectWellId: subjectWellId ?? undefined,\n subjectWell,\n wells,\n filteredWells,\n externalOffsets,\n rawWellsWithSubject,\n offsetSettings,\n maxOffsetWellNumber,\n maxOffsetSize,\n open: !!open,\n isAllWellsLoaded,\n fetchSearchedWells,\n filters,\n filterMutationSeq,\n lastFilterMutationSource,\n includeHidden,\n });\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open: !!open,\n ghostZone: currentSelectionZone,\n });\n\n useLimitNotification(isOpen, isLimitedOffsetWells, maxOffsetWellNumber);\n\n // --- Filter validation ---\n useSyncFilterDataSources(\n wells ?? null,\n companies,\n canViewCompanies,\n isAllWellsLoaded,\n isLoadAllWells,\n segment\n );\n const filterOptions = useFilterOptions();\n useFilterValidation({\n open,\n isAllWellsLoaded,\n filters,\n filterOptions,\n isLoadAllWells,\n setFilters,\n });\n\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible,\n hasValidAssetId\n );\n\n // --- Derived display data ---\n const wellsToDisplay = useWellsToDisplay(\n filteredWells,\n selectedWells,\n wells,\n externalOffsets,\n selectedWellSection,\n includeHidden\n );\n\n // --- Sorting ---\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // --- Advanced search ---\n const handleAddRemoveAssets = useAdvancedSearchHandler({\n filters,\n wells,\n maxOffsetWellNumber,\n includeHidden,\n fetchSearchedWells,\n setIsTableLoading,\n setSelectedWells,\n setLoadingAssetIds,\n setCurrentSelectionZone,\n markUserEdit,\n searchGenerationRef,\n });\n\n // --- Auto-sync ---\n // XTO IDAS users own a separate \"Sync with IDAS\" backend recompute path; auto-saving\n // the initial BIC snapshot on mount would silently pin pre-resync state.\n const isXtoIdas = isXtoIdasPicker({ isWDUser, isManualWellsEnabled, companyProvider });\n\n const tableTaScores = useMemo(() => (isXtoIdas ? taScores : []), [isXtoIdas, taScores]);\n\n useAutoSyncOffsetWells({\n isAllWellsLoaded,\n syncAutoEnabled,\n isXtoIdas,\n offsetSettings,\n externalOffsets,\n subjectWellId,\n maxOffsetWellNumber,\n localMaxOffsetSize,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n onSave: onSave ?? (() => {}),\n });\n\n // --- Save/Reset ---\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n const {\n isXtoProvider,\n syncedOffsetLabel,\n savedOffsetLabel,\n resetTooltipLabel,\n isResetVisible,\n isSynced,\n hasOffsetSource,\n hasSavedHandpicked,\n handleSave,\n handleCancel,\n handleReset,\n applyResetFromExternalOffsets,\n } = useSaveReset({\n selectedWells,\n selectedWellsCount,\n setSelectedWells,\n selectedWellSection,\n setSelectedWellSection,\n currentSelectionZone,\n setCurrentSelectionZone,\n abandonPendingSearch,\n externalOffsets,\n maxOffsetSize,\n offsetSettings,\n assetCompanyId,\n subjectWellId: subjectWellId ?? undefined,\n subjectWell,\n filters,\n metricsKeys,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n isLoadAllWells,\n companyProvider,\n isWDUser,\n isManualWellsEnabled,\n hasValidAssetId,\n isAllWellsLoaded,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n wells,\n rawWellsWithSubject,\n pinnedWells,\n onClose,\n onSave,\n setFilters,\n resetFilters,\n resetSelectionTool,\n resetIsLoadAllWells,\n resetSafeguard,\n updateSelectedWellsBySection,\n });\n\n // --- Table pagination ---\n const {\n tableWells,\n tableRowsCount,\n rightColumnRef,\n isAnimatingRef,\n indeterminate,\n isAllWellsSelected,\n handleScroll,\n } = useTablePagination({\n sortedWells,\n subjectWell,\n isLimitedOffsetWells,\n isHScrollMoved,\n setIsHScrollMoved,\n isAdvancedSearchHidden,\n setIsAdvancedSearchHidden,\n });\n\n // Keeps the well-name column shadow honest about real horizontal scrollability\n // (the stored flag otherwise outlives the modal and goes stale on reopen/resize).\n // `containerRef` observes container width + reconciles on attach; `contentRef`\n // observes the head table's width (the content extent) for column/expand changes.\n const { containerRef: reconcileContainerRef, contentRef: reconcileContentRef } =\n useHScrollShadowReconcile();\n\n // Fork the scroll-container ref: keep `rightColumnRef` populated for scroll\n // restore / row animation, and let the reconcile hook observe the same node.\n const containerRef = useCallback(\n (node: HTMLDivElement | null) => {\n rightColumnRef.current = node;\n reconcileContainerRef(node);\n },\n [rightColumnRef, reconcileContainerRef]\n );\n\n // Apply a reset against the freshly-refreshed BIC snapshot whenever the\n // standalone \"Re-Sync With IDAS\" button completes. Gated on the transition\n // into SUCCEEDED so the effect doesn't re-fire on every render. Safe because\n // `handleReset` does not trigger a resync — only the explicit Re-Sync\n // button does, so no recursion.\n const resyncStatus = useIdasResyncStore(state => state.status);\n const prevResyncStatusRef = useRef(resyncStatus);\n useEffect(() => {\n const prev = prevResyncStatusRef.current;\n prevResyncStatusRef.current = resyncStatus;\n if (resyncStatus === IdasResyncStatus.SUCCEEDED && prev !== IdasResyncStatus.SUCCEEDED) {\n applyResetFromExternalOffsets();\n }\n }, [resyncStatus, applyResetFromExternalOffsets]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n const [readyAssetId, setReadyAssetId] = useState<number | null>(null);\n\n // \"Offset source known\" means the external offsets for this asset have loaded\n // — independent of whether the saved selection has been reconciled (which is\n // already reflected by `isSynced` / `isResetVisible`). Coupling this to\n // `isReconciled` (and thus to full all-wells loading) would let any\n // reconciliation/load stall permanently hide the reset button and source\n // label. See DRA-5654.\n useEffect(() => {\n if (subjectWellId !== null && loadedAssetId === subjectWellId && !!externalOffsets) {\n setReadyAssetId(subjectWellId);\n }\n }, [subjectWellId, loadedAssetId, externalOffsets]);\n\n const isOffsetSourceKnown = readyAssetId !== null && readyAssetId === subjectWellId;\n\n return (\n <>\n {isLoadAllWells && <AllWellsEffect />}\n <OffsetWellPickerContent\n open={isOpen}\n isMobile={isMobile}\n isViewOnly={isViewOnly}\n isMapHidden={isMapHidden}\n isFilterExpanded={isFilterExpanded}\n isHScrollMoved={isHScrollMoved}\n isLoading={isLoading}\n isTableFullLoading={isTableFullLoading}\n isResetVisible={isResetVisible}\n isOffsetSourceKnown={isOffsetSourceKnown}\n hasOffsetSource={hasOffsetSource}\n hasSavedHandpicked={hasSavedHandpicked}\n isSynced={isSynced}\n isLimitedOffsetWells={isLimitedOffsetWells}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n isAllWellsSelected={isAllWellsSelected}\n indeterminate={indeterminate}\n isXtoProvider={isXtoProvider}\n hasValidAssetId={hasValidAssetId}\n syncedOffsetLabel={syncedOffsetLabel}\n savedOffsetLabel={savedOffsetLabel}\n resetTooltipLabel={resetTooltipLabel}\n maxOffsetWellNumber={maxOffsetWellNumber}\n subjectWell={subjectWell}\n subjectWellId={subjectWellId ?? undefined}\n selectedWells={selectedWells}\n selectedWellIds={selectedWellIds}\n selectedWellsCount={selectedWellsCount}\n selectedWellSection={selectedWellSection}\n filteredWells={filteredWells}\n wellsToDisplay={wellsToDisplay}\n sortedWells={sortedWells}\n tableWells={tableWells}\n tableRowsCount={tableRowsCount}\n wellSections={wellSections}\n metricsKeys={metricsKeys}\n setMetricsKeys={setMetricsKeys}\n columnsWithDict={columnsWithDict}\n taScores={tableTaScores}\n filterOptions={filterOptions}\n loadingWellIds={loadingWellIds}\n loadingAssetIds={loadingAssetIds}\n filters={filters}\n currentSelectionZone={currentSelectionZone}\n activeWellId={activeWellId}\n sortBy={sortBy}\n setSortBy={setSortBy}\n sortDirection={sortDirection}\n setSortDirection={setSortDirection}\n shouldRecenter={shouldRecenter}\n wells={wells}\n handleCancel={handleCancel}\n handleSave={handleSave}\n handleReset={handleReset}\n handleChangeOffsetWell={handleChangeOffsetWell}\n handleBatchSelectWells={handleBatchSelectWells}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n handleSelectionZoneConfirm={handleSelectionZoneConfirm}\n handleChangeWellSection={handleChangeWellSection}\n handleAddRemoveAssets={handleAddRemoveAssets}\n handleScroll={handleScroll}\n setActiveWellId={setActiveWellId}\n setShouldRecenter={setShouldRecenter}\n setIsAdvancedSearchHidden={setIsAdvancedSearchHidden}\n wellsMapRef={wellsMapRef}\n contentRef={reconcileContentRef}\n rightColumnRef={rightColumnRef}\n containerRef={containerRef}\n isAnimatingRef={isAnimatingRef}\n />\n </>\n );\n};\n"],"names":["AllWellsEffect","useAllWells","OffsetWellPickerV5","_defaultSubjectWell$a","_defaultSubjectWell$c","_currentUser$company_","_filters$showHiddenWe","isMobile","useViewType","_usePickerStoreSelect","usePickerStoreSelectors","open","isWDUser","isManualWellsEnabled","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","localMaxOffsetSize","syncAutoEnabled","isLoadAllWells","resetIsLoadAllWells","shouldRecenter","setShouldRecenter","isFilterExpanded","isMapHidden","isHScrollMoved","setIsHScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","filters","lastFilterMutationSource","filterMutationSeq","setFilters","resetFilters","resetSelectionTool","isOpen","segment","usePickerPropsStore","state","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","_useState4","_useState3","isTableLoading","setIsTableLoading","maxOffsetSize","Math","min","maxOffsetWellNumber","max","subjectWellId","asset_id","assetCompanyId","companyId","company_id","hasValidAssetId","_useWellDataPipeline","useWellDataPipeline","wells","subjectWell","subjectWellCoords","rawWellsWithSubject","wellSections","externalOffsets","taScores","idasWellIds","owsWellIds","wellhubWellIds","loadedAssetId","isWellSectionColumnVisible","metricsKeys","setMetricsKeys","loadingWellIds","isAllWellsLoaded","areRawWellsLoading","companies","canViewCompanies","companyProvider","pinnedWells","fetchSearchedWells","resetSafeguard","includeHidden","useIsAdmin","showHiddenWells","filteredWells","useFilteredWells","_useWellSelection","useWellSelection","undefined","selectedWells","setSelectedWells","selectedWellsCount","selectedWellIds","currentSelectionZone","setCurrentSelectionZone","selectedWellSection","setSelectedWellSection","loadingAssetIds","setLoadingAssetIds","searchGenerationRef","markUserEdit","abandonPendingSearch","handleChangeOffsetWell","handleChangeAllOffsetWells","handleBatchSelectWells","handleSelectionZoneConfirm","handleChangeWellSection","updateSelectedWellsBySection","isLimitedOffsetWells","length","useInitialBounds","hasSubjectWell","ghostZone","useLimitNotification","useSyncFilterDataSources","filterOptions","useFilterOptions","useFilterValidation","columnsWithDict","useTableColumns","wellsToDisplay","useWellsToDisplay","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useAdvancedSearchHandler","isXtoIdas","isXtoIdasPicker","tableTaScores","useMemo","useAutoSyncOffsetWells","isTableFullLoading","_useSaveReset","useSaveReset","isXtoProvider","syncedOffsetLabel","savedOffsetLabel","resetTooltipLabel","isResetVisible","isSynced","hasOffsetSource","hasSavedHandpicked","handleSave","handleCancel","handleReset","applyResetFromExternalOffsets","_useTablePagination","useTablePagination","tableWells","tableRowsCount","rightColumnRef","isAnimatingRef","indeterminate","isAllWellsSelected","handleScroll","_useHScrollShadowReco","useHScrollShadowReconcile","reconcileContainerRef","containerRef","reconcileContentRef","contentRef","useCallback","node","current","resyncStatus","useIdasResyncStore","status","prevResyncStatusRef","useEffect","prev","IdasResyncStatus","SUCCEEDED","isLoading","_useState6","_useState5","readyAssetId","setReadyAssetId","isOffsetSourceKnown","_jsxs","_Fragment","children","_jsx","OffsetWellPickerContent"],"mappings":"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"}
1
+ {"version":3,"file":"OffsetWellPickerV5.js","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.tsx"],"sourcesContent":["import { useState, useEffect, useRef, useMemo, useCallback } from 'react';\n\nimport {\n useWellSelection,\n useSaveReset,\n useAutoSyncOffsetWells,\n useFilterValidation,\n useFilteredWells,\n useFilterOptions,\n useSortedWells,\n useWellDataPipeline,\n useIsAdmin,\n} from './hooks';\nimport { IdasResyncStatus, useIdasResyncStore } from './stores/idas-resync-store';\nimport { usePickerPropsStore } from './stores/picker-props-store';\nimport { useSyncFilterDataSources } from './stores/filter-store/utils/useSyncFilterDataSources';\nimport { useAllWells } from './hooks/useAllWells';\nimport { usePickerStoreSelectors } from './hooks/usePickerStoreSelectors';\nimport { useWellsToDisplay } from './hooks/useWellsToDisplay';\nimport { useLimitNotification } from './hooks/useLimitNotification';\nimport { useTableColumns } from './components/OffsetWellsTable/hooks/useTableColumns';\nimport { useTablePagination } from './components/OffsetWellsTable/hooks/useTablePagination';\nimport { useHScrollShadowReconcile } from './components/OffsetWellsTable/hooks/useHScrollShadowReconcile';\nimport { useAdvancedSearchHandler } from './components/OffsetWellsTable/hooks/useAdvancedSearchHandler';\nimport { useInitialBounds } from './components/Map/OffsetWellMap/hooks/useInitialBounds';\nimport { useViewType } from './viewport';\nimport { OffsetWellPickerContent } from './components/OffsetWellPickerContent';\nimport { isXtoIdasPicker } from './utils/isXtoIdasPicker';\nimport type { OffsetWellMapHandle } from './components/Map/OffsetWellMap/OffsetWellMap';\n\nconst AllWellsEffect = (): null => {\n useAllWells();\n return null;\n};\n\nexport const OffsetWellPickerV5 = () => {\n const { isMobile } = useViewType();\n const {\n open,\n isWDUser,\n isManualWellsEnabled,\n defaultSubjectWell,\n currentUser,\n offsetSettings,\n isViewOnly,\n onClose,\n onSave,\n offsetSize,\n localMaxOffsetSize,\n syncAutoEnabled,\n isLoadAllWells,\n resetIsLoadAllWells,\n shouldRecenter,\n setShouldRecenter,\n isFilterExpanded,\n isMapHidden,\n isHScrollMoved,\n setIsHScrollMoved,\n isAdvancedSearchHidden,\n setIsAdvancedSearchHidden,\n filters,\n lastFilterMutationSource,\n filterMutationSeq,\n setFilters,\n resetFilters,\n resetSelectionTool,\n } = usePickerStoreSelectors();\n\n const isOpen = !!open;\n\n const segment = usePickerPropsStore(state => state.segment);\n\n const [activeWellId, setActiveWellId] = useState<number | null>(null);\n const wellsMapRef = useRef<OffsetWellMapHandle | null>(null);\n const [isTableLoading, setIsTableLoading] = useState(true);\n\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1);\n const maxOffsetWellNumber = Math.max(maxOffsetSize, localMaxOffsetSize + 1);\n const subjectWellId = defaultSubjectWell?.asset_id ?? null;\n const assetCompanyId = +(defaultSubjectWell?.companyId ?? 0) || +(currentUser?.company_id ?? 0);\n const hasValidAssetId = subjectWellId != null && subjectWellId > 0;\n\n // --- Data pipeline ---\n const {\n wells,\n subjectWell,\n subjectWellCoords,\n rawWellsWithSubject,\n wellSections,\n externalOffsets,\n taScores,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n loadedAssetId,\n isWellSectionColumnVisible,\n metricsKeys,\n setMetricsKeys,\n loadingWellIds,\n isAllWellsLoaded,\n areRawWellsLoading,\n companies,\n canViewCompanies,\n companyProvider,\n pinnedWells,\n fetchSearchedWells,\n resetSafeguard,\n } = useWellDataPipeline({\n subjectWellId,\n assetCompanyId,\n offsetSettings,\n maxOffsetWellNumber,\n isLoadAllWells,\n open,\n onSave,\n });\n\n const isAdmin = useIsAdmin();\n const includeHidden = isAdmin && (filters.showHiddenWells ?? false);\n\n const filteredWells = useFilteredWells(wells, filters, includeHidden);\n\n // --- Well selection ---\n const {\n selectedWells,\n setSelectedWells,\n selectedWellsCount,\n selectedWellIds,\n currentSelectionZone,\n setCurrentSelectionZone,\n selectedWellSection,\n setSelectedWellSection,\n loadingAssetIds,\n setLoadingAssetIds,\n searchGenerationRef,\n markUserEdit,\n abandonPendingSearch,\n handleChangeOffsetWell,\n handleChangeAllOffsetWells,\n handleBatchSelectWells,\n handleSelectionZoneConfirm,\n handleChangeWellSection,\n updateSelectedWellsBySection,\n } = useWellSelection({\n subjectWellId: subjectWellId ?? undefined,\n subjectWell,\n wells,\n filteredWells,\n externalOffsets,\n rawWellsWithSubject,\n offsetSettings,\n maxOffsetWellNumber,\n maxOffsetSize,\n open: !!open,\n fetchSearchedWells,\n filters,\n filterMutationSeq,\n lastFilterMutationSource,\n includeHidden,\n });\n\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n\n useInitialBounds({\n subjectWellCoords,\n hasSubjectWell: subjectWellId != null,\n open: !!open,\n ghostZone: currentSelectionZone,\n });\n\n useLimitNotification(isOpen, isLimitedOffsetWells, maxOffsetWellNumber);\n\n // --- Filter validation ---\n useSyncFilterDataSources(\n wells ?? null,\n companies,\n canViewCompanies,\n isAllWellsLoaded,\n isLoadAllWells,\n segment\n );\n const filterOptions = useFilterOptions();\n useFilterValidation({\n open,\n isAllWellsLoaded,\n filters,\n filterOptions,\n isLoadAllWells,\n setFilters,\n });\n\n const columnsWithDict = useTableColumns(\n metricsKeys,\n canViewCompanies,\n isWellSectionColumnVisible,\n hasValidAssetId\n );\n\n // --- Derived display data ---\n const wellsToDisplay = useWellsToDisplay(\n filteredWells,\n selectedWells,\n wells,\n externalOffsets,\n selectedWellSection,\n includeHidden\n );\n\n // --- Sorting ---\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n wellsToDisplay,\n selectedWells,\n setIsTableLoading,\n offsetSettings?.selectedWellIds\n );\n\n // --- Advanced search ---\n const handleAddRemoveAssets = useAdvancedSearchHandler({\n filters,\n wells,\n maxOffsetWellNumber,\n includeHidden,\n fetchSearchedWells,\n setIsTableLoading,\n setSelectedWells,\n setLoadingAssetIds,\n setCurrentSelectionZone,\n markUserEdit,\n searchGenerationRef,\n });\n\n // --- Auto-sync ---\n // XTO IDAS users own a separate \"Sync with IDAS\" backend recompute path; auto-saving\n // the initial BIC snapshot on mount would silently pin pre-resync state.\n const isXtoIdas = isXtoIdasPicker({ isWDUser, isManualWellsEnabled, companyProvider });\n\n const tableTaScores = useMemo(() => (isXtoIdas ? taScores : []), [isXtoIdas, taScores]);\n\n useAutoSyncOffsetWells({\n isAllWellsLoaded,\n syncAutoEnabled,\n isXtoIdas,\n offsetSettings,\n externalOffsets,\n subjectWellId,\n maxOffsetWellNumber,\n localMaxOffsetSize,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n onSave: onSave ?? (() => {}),\n });\n\n // --- Save/Reset ---\n const isTableFullLoading = isTableLoading || areRawWellsLoading;\n\n const {\n isXtoProvider,\n syncedOffsetLabel,\n savedOffsetLabel,\n resetTooltipLabel,\n isResetVisible,\n isSynced,\n hasOffsetSource,\n hasSavedHandpicked,\n handleSave,\n handleCancel,\n handleReset,\n applyResetFromExternalOffsets,\n } = useSaveReset({\n selectedWells,\n selectedWellsCount,\n setSelectedWells,\n selectedWellSection,\n setSelectedWellSection,\n currentSelectionZone,\n setCurrentSelectionZone,\n abandonPendingSearch,\n externalOffsets,\n maxOffsetSize,\n offsetSettings,\n assetCompanyId,\n subjectWellId: subjectWellId ?? undefined,\n subjectWell,\n filters,\n metricsKeys,\n isMapHidden,\n isFilterExpanded,\n isLimitedOffsetWells,\n isLoadAllWells,\n companyProvider,\n isWDUser,\n isManualWellsEnabled,\n hasValidAssetId,\n isAllWellsLoaded,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n wells,\n rawWellsWithSubject,\n pinnedWells,\n onClose,\n onSave,\n setFilters,\n resetFilters,\n resetSelectionTool,\n resetIsLoadAllWells,\n resetSafeguard,\n updateSelectedWellsBySection,\n });\n\n // --- Table pagination ---\n const {\n tableWells,\n tableRowsCount,\n rightColumnRef,\n isAnimatingRef,\n indeterminate,\n isAllWellsSelected,\n handleScroll,\n } = useTablePagination({\n sortedWells,\n subjectWell,\n isLimitedOffsetWells,\n isHScrollMoved,\n setIsHScrollMoved,\n isAdvancedSearchHidden,\n setIsAdvancedSearchHidden,\n });\n\n // Keeps the well-name column shadow honest about real horizontal scrollability\n // (the stored flag otherwise outlives the modal and goes stale on reopen/resize).\n // `containerRef` observes container width + reconciles on attach; `contentRef`\n // observes the head table's width (the content extent) for column/expand changes.\n const { containerRef: reconcileContainerRef, contentRef: reconcileContentRef } =\n useHScrollShadowReconcile();\n\n // Fork the scroll-container ref: keep `rightColumnRef` populated for scroll\n // restore / row animation, and let the reconcile hook observe the same node.\n const containerRef = useCallback(\n (node: HTMLDivElement | null) => {\n rightColumnRef.current = node;\n reconcileContainerRef(node);\n },\n [rightColumnRef, reconcileContainerRef]\n );\n\n // Apply a reset against the freshly-refreshed BIC snapshot whenever the\n // standalone \"Re-Sync With IDAS\" button completes. Gated on the transition\n // into SUCCEEDED so the effect doesn't re-fire on every render. Safe because\n // `handleReset` does not trigger a resync — only the explicit Re-Sync\n // button does, so no recursion.\n const resyncStatus = useIdasResyncStore(state => state.status);\n const prevResyncStatusRef = useRef(resyncStatus);\n useEffect(() => {\n const prev = prevResyncStatusRef.current;\n prevResyncStatusRef.current = resyncStatus;\n if (resyncStatus === IdasResyncStatus.SUCCEEDED && prev !== IdasResyncStatus.SUCCEEDED) {\n applyResetFromExternalOffsets();\n }\n }, [resyncStatus, applyResetFromExternalOffsets]);\n\n const isLoading = !wells || !wellSections || !sortedWells;\n\n const [readyAssetId, setReadyAssetId] = useState<number | null>(null);\n\n // \"Offset source known\" means the external offsets for this asset have loaded\n // — independent of whether the saved selection has been reconciled (which is\n // already reflected by `isSynced` / `isResetVisible`). Coupling this to\n // `isReconciled` (and thus to full all-wells loading) would let any\n // reconciliation/load stall permanently hide the reset button and source\n // label. See DRA-5654.\n useEffect(() => {\n if (subjectWellId !== null && loadedAssetId === subjectWellId && !!externalOffsets) {\n setReadyAssetId(subjectWellId);\n }\n }, [subjectWellId, loadedAssetId, externalOffsets]);\n\n const isOffsetSourceKnown = readyAssetId !== null && readyAssetId === subjectWellId;\n\n return (\n <>\n {isLoadAllWells && <AllWellsEffect />}\n <OffsetWellPickerContent\n open={isOpen}\n isMobile={isMobile}\n isViewOnly={isViewOnly}\n isMapHidden={isMapHidden}\n isFilterExpanded={isFilterExpanded}\n isHScrollMoved={isHScrollMoved}\n isLoading={isLoading}\n isTableFullLoading={isTableFullLoading}\n isResetVisible={isResetVisible}\n isOffsetSourceKnown={isOffsetSourceKnown}\n hasOffsetSource={hasOffsetSource}\n hasSavedHandpicked={hasSavedHandpicked}\n isSynced={isSynced}\n isLimitedOffsetWells={isLimitedOffsetWells}\n isWellSectionColumnVisible={isWellSectionColumnVisible}\n isAllWellsSelected={isAllWellsSelected}\n indeterminate={indeterminate}\n isXtoProvider={isXtoProvider}\n hasValidAssetId={hasValidAssetId}\n syncedOffsetLabel={syncedOffsetLabel}\n savedOffsetLabel={savedOffsetLabel}\n resetTooltipLabel={resetTooltipLabel}\n maxOffsetWellNumber={maxOffsetWellNumber}\n subjectWell={subjectWell}\n subjectWellId={subjectWellId ?? undefined}\n selectedWells={selectedWells}\n selectedWellIds={selectedWellIds}\n selectedWellsCount={selectedWellsCount}\n selectedWellSection={selectedWellSection}\n filteredWells={filteredWells}\n wellsToDisplay={wellsToDisplay}\n sortedWells={sortedWells}\n tableWells={tableWells}\n tableRowsCount={tableRowsCount}\n wellSections={wellSections}\n metricsKeys={metricsKeys}\n setMetricsKeys={setMetricsKeys}\n columnsWithDict={columnsWithDict}\n taScores={tableTaScores}\n filterOptions={filterOptions}\n loadingWellIds={loadingWellIds}\n loadingAssetIds={loadingAssetIds}\n filters={filters}\n currentSelectionZone={currentSelectionZone}\n activeWellId={activeWellId}\n sortBy={sortBy}\n setSortBy={setSortBy}\n sortDirection={sortDirection}\n setSortDirection={setSortDirection}\n shouldRecenter={shouldRecenter}\n wells={wells}\n handleCancel={handleCancel}\n handleSave={handleSave}\n handleReset={handleReset}\n handleChangeOffsetWell={handleChangeOffsetWell}\n handleBatchSelectWells={handleBatchSelectWells}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n handleSelectionZoneConfirm={handleSelectionZoneConfirm}\n handleChangeWellSection={handleChangeWellSection}\n handleAddRemoveAssets={handleAddRemoveAssets}\n handleScroll={handleScroll}\n setActiveWellId={setActiveWellId}\n setShouldRecenter={setShouldRecenter}\n setIsAdvancedSearchHidden={setIsAdvancedSearchHidden}\n wellsMapRef={wellsMapRef}\n contentRef={reconcileContentRef}\n rightColumnRef={rightColumnRef}\n containerRef={containerRef}\n isAnimatingRef={isAnimatingRef}\n />\n </>\n );\n};\n"],"names":["AllWellsEffect","useAllWells","OffsetWellPickerV5","_defaultSubjectWell$a","_defaultSubjectWell$c","_currentUser$company_","_filters$showHiddenWe","isMobile","useViewType","_usePickerStoreSelect","usePickerStoreSelectors","open","isWDUser","isManualWellsEnabled","defaultSubjectWell","currentUser","offsetSettings","isViewOnly","onClose","onSave","offsetSize","localMaxOffsetSize","syncAutoEnabled","isLoadAllWells","resetIsLoadAllWells","shouldRecenter","setShouldRecenter","isFilterExpanded","isMapHidden","isHScrollMoved","setIsHScrollMoved","isAdvancedSearchHidden","setIsAdvancedSearchHidden","filters","lastFilterMutationSource","filterMutationSeq","setFilters","resetFilters","resetSelectionTool","isOpen","segment","usePickerPropsStore","state","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","wellsMapRef","useRef","_useState4","_useState3","isTableLoading","setIsTableLoading","maxOffsetSize","Math","min","maxOffsetWellNumber","max","subjectWellId","asset_id","assetCompanyId","companyId","company_id","hasValidAssetId","_useWellDataPipeline","useWellDataPipeline","wells","subjectWell","subjectWellCoords","rawWellsWithSubject","wellSections","externalOffsets","taScores","idasWellIds","owsWellIds","wellhubWellIds","loadedAssetId","isWellSectionColumnVisible","metricsKeys","setMetricsKeys","loadingWellIds","isAllWellsLoaded","areRawWellsLoading","companies","canViewCompanies","companyProvider","pinnedWells","fetchSearchedWells","resetSafeguard","includeHidden","useIsAdmin","showHiddenWells","filteredWells","useFilteredWells","_useWellSelection","useWellSelection","undefined","selectedWells","setSelectedWells","selectedWellsCount","selectedWellIds","currentSelectionZone","setCurrentSelectionZone","selectedWellSection","setSelectedWellSection","loadingAssetIds","setLoadingAssetIds","searchGenerationRef","markUserEdit","abandonPendingSearch","handleChangeOffsetWell","handleChangeAllOffsetWells","handleBatchSelectWells","handleSelectionZoneConfirm","handleChangeWellSection","updateSelectedWellsBySection","isLimitedOffsetWells","length","useInitialBounds","hasSubjectWell","ghostZone","useLimitNotification","useSyncFilterDataSources","filterOptions","useFilterOptions","useFilterValidation","columnsWithDict","useTableColumns","wellsToDisplay","useWellsToDisplay","_useSortedWells","useSortedWells","_useSortedWells2","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useAdvancedSearchHandler","isXtoIdas","isXtoIdasPicker","tableTaScores","useMemo","useAutoSyncOffsetWells","isTableFullLoading","_useSaveReset","useSaveReset","isXtoProvider","syncedOffsetLabel","savedOffsetLabel","resetTooltipLabel","isResetVisible","isSynced","hasOffsetSource","hasSavedHandpicked","handleSave","handleCancel","handleReset","applyResetFromExternalOffsets","_useTablePagination","useTablePagination","tableWells","tableRowsCount","rightColumnRef","isAnimatingRef","indeterminate","isAllWellsSelected","handleScroll","_useHScrollShadowReco","useHScrollShadowReconcile","reconcileContainerRef","containerRef","reconcileContentRef","contentRef","useCallback","node","current","resyncStatus","useIdasResyncStore","status","prevResyncStatusRef","useEffect","prev","IdasResyncStatus","SUCCEEDED","isLoading","_useState6","_useState5","readyAssetId","setReadyAssetId","isOffsetSourceKnown","_jsxs","_Fragment","children","_jsx","OffsetWellPickerContent"],"mappings":"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"}
@@ -5,7 +5,6 @@ type UseWellReconciliationParams = {
5
5
  wells: OffsetWell[] | null;
6
6
  offsetSettings: OffsetSettingsInput | undefined;
7
7
  open: boolean;
8
- isAllWellsLoaded: boolean;
9
8
  fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;
10
9
  setSelectedWells: Dispatch<SetStateAction<OffsetWell[]>>;
11
10
  hasUserSelectionEditsRef: MutableRefObject<boolean>;
@@ -13,9 +12,10 @@ type UseWellReconciliationParams = {
13
12
  /**
14
13
  * Reconciles selected wells with external offset settings.
15
14
  * When the picker opens, resolves any missing wells by fetching them,
16
- * then updates the selection to match external settings.
15
+ * then updates the selection to match external settings. Does not wait for
16
+ * full tile/load-all readiness — selected IDs are fetched directly.
17
17
  */
18
- export declare const useWellReconciliation: ({ subjectWell, wells, offsetSettings, open, isAllWellsLoaded, fetchSearchedWells, setSelectedWells, hasUserSelectionEditsRef, }: UseWellReconciliationParams) => {
18
+ export declare const useWellReconciliation: ({ subjectWell, wells, offsetSettings, open, fetchSearchedWells, setSelectedWells, hasUserSelectionEditsRef, }: UseWellReconciliationParams) => {
19
19
  isReconciled: boolean;
20
20
  };
21
21
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useWellReconciliation.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAItF,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzD,wBAAwB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,oIAS/B,2BAA2B,KAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CAkIvD,CAAC"}
1
+ {"version":3,"file":"useWellReconciliation.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAItF,KAAK,2BAA2B,GAAG;IACjC,WAAW,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC3B,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,gBAAgB,EAAE,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACzD,wBAAwB,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CACrD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,kHAQ/B,2BAA2B,KAAG;IAAE,YAAY,EAAE,OAAO,CAAA;CA6IvD,CAAC"}
@@ -1,2 +1,2 @@
1
- import r from"@babel/runtime/helpers/asyncToGenerator";import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/regenerator";import{useRef as n,useState as u,useMemo as c,useCallback as i,useEffect as a}from"react";import{uniqBy as o}from"lodash";import{getSortedIdsSignature as s}from"./getSortedIdsSignature.js";var l=function(l){var f=l.subjectWell,p=l.wells,d=l.offsetSettings,m=l.open,h=l.isAllWellsLoaded,v=l.fetchSearchedWells,b=l.setSelectedWells,x=l.hasUserSelectionEditsRef,w=n(null),g=n(null),S=n(0),k=u(!1),W=e(k,2),y=W[0],I=W[1],j=c((function(){return(null==d?void 0:d.selectedWellIds)||[]}),[null==d?void 0:d.selectedWellIds]),A=c((function(){return s(j)}),[j]),E=i(function(){var e=r(t.mark((function r(e){var n,u,c,i,a,l;return t.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(e===S.current&&!x.current){r.next=2;break}return r.abrupt("return",!1);case 2:if(n=new Map((null==p?void 0:p.map((function(r){return[r.id,r]})))||[]),!((u=j.filter((function(r){return!n.has(r)}))).length>0)){r.next=13;break}if(c="".concat(A,"|").concat(s(u)),g.current===c){r.next=12;break}return g.current=c,r.next=10,v(u);case 10:r.sent.forEach((function(r){return n.set(r.id,r)}));case 12:u=j.filter((function(r){return!n.has(r)}));case 13:if(e===S.current&&!x.current){r.next=15;break}return r.abrupt("return",!1);case 15:return i=new Set(j),a=j.map((function(r){return n.get(r)})).filter((function(r){return void 0!==r})),l=new Set(a.map((function(r){return r.id}))),b((function(r){var e=r.filter((function(r){return i.has(r.id)&&!l.has(r.id)})),t=a.concat(e);f&&(t=t.concat(f));var n=o(t,"id"),u=new Set(n.map((function(r){return r.id})));return r.length===u.size&&r.every((function(r){return u.has(r.id)}))?r:n})),r.abrupt("return",0===u.length);case 20:case"end":return r.stop()}}),r)})));return function(r){return e.apply(this,arguments)}}(),[j,A,v,f,p,x,b]);return a((function(){if(!m)return x.current=!1,w.current=null,g.current=null,S.current+=1,void I(!1);if(h&&!x.current&&w.current!==A){I(!1);var e=S.current+1;S.current=e;var n=!1,u=function(){var u=r(t.mark((function r(){var u;return t.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,E(e);case 3:if(u=r.sent,!n&&S.current===e){r.next=6;break}return r.abrupt("return");case 6:u&&(w.current=A),r.next=12;break;case 9:r.prev=9,r.t0=r.catch(0),console.error("Failed to reconcile selected wells from offset settings:",r.t0);case 12:return r.prev=12,n||S.current!==e||I(!0),r.finish(12);case 15:case"end":return r.stop()}}),r,null,[[0,9,12,15]])})));return function(){return u.apply(this,arguments)}}();return u(),function(){n=!0}}}),[m,h,A,E,x]),{isReconciled:y}};export{l as useWellReconciliation};
1
+ import r from"@babel/runtime/helpers/asyncToGenerator";import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/regenerator";import{useRef as n,useState as u,useMemo as c,useCallback as i,useEffect as o}from"react";import{uniqBy as a}from"lodash";import{getSortedIdsSignature as l}from"./getSortedIdsSignature.js";var s=function(s){var f=s.subjectWell,p=s.wells,d=s.offsetSettings,v=s.open,m=s.fetchSearchedWells,h=s.setSelectedWells,b=s.hasUserSelectionEditsRef,k=n(null),w=n(null),x=n(0),g=u(!1),S=e(g,2),y=S[0],W=S[1],I=c((function(){return(null==d?void 0:d.selectedWellIds)||[]}),[null==d?void 0:d.selectedWellIds]),j=c((function(){return l(I)}),[I]),E=i(function(){var e=r(t.mark((function r(e){var n,u,c,i,o,s,d,v;return t.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(e===x.current&&!b.current){r.next=2;break}return r.abrupt("return",!1);case 2:if(n=new Map((null==p?void 0:p.map((function(r){return[r.id,r]})))||[]),!((u=I.filter((function(r){return!n.has(r)}))).length>0)){r.next=19;break}return i="".concat(j,"|").concat(l(u)),(null===(c=w.current)||void 0===c?void 0:c.key)!==i&&(w.current={key:i,promise:m(u)}),r.prev=7,r.next=10,w.current.promise;case 10:r.sent.forEach((function(r){return n.set(r.id,r)})),r.next=18;break;case 14:throw r.prev=14,r.t0=r.catch(7),(null===(o=w.current)||void 0===o?void 0:o.key)===i&&(w.current=null),r.t0;case 18:u=I.filter((function(r){return!n.has(r)}));case 19:if(e===x.current&&!b.current){r.next=21;break}return r.abrupt("return",!1);case 21:return s=new Set(I),d=I.map((function(r){return n.get(r)})).filter((function(r){return void 0!==r})),v=new Set(d.map((function(r){return r.id}))),h((function(r){var e=r.filter((function(r){return s.has(r.id)&&!v.has(r.id)})),t=d.concat(e);f&&(t=t.concat(f));var n=a(t,"id"),u=new Set(n.map((function(r){return r.id})));return r.length===u.size&&r.every((function(r){return u.has(r.id)}))?r:n})),r.abrupt("return",0===u.length);case 26:case"end":return r.stop()}}),r,null,[[7,14]])})));return function(r){return e.apply(this,arguments)}}(),[I,j,m,f,p,b,h]);return o((function(){if(!v)return b.current=!1,k.current=null,w.current=null,x.current+=1,void W(!1);if(!b.current&&k.current!==j){W(!1);var e=x.current+1;x.current=e;var n=!1,u=function(){var u=r(t.mark((function r(){var u;return t.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,E(e);case 3:if(u=r.sent,!n&&x.current===e){r.next=6;break}return r.abrupt("return");case 6:u&&(k.current=j),r.next=12;break;case 9:r.prev=9,r.t0=r.catch(0),console.error("Failed to reconcile selected wells from offset settings:",r.t0);case 12:return r.prev=12,n||x.current!==e||W(!0),r.finish(12);case 15:case"end":return r.stop()}}),r,null,[[0,9,12,15]])})));return function(){return u.apply(this,arguments)}}();return u(),function(){n=!0}}}),[v,j,E,b]),{isReconciled:y}};export{s as useWellReconciliation};
2
2
  //# sourceMappingURL=useWellReconciliation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWellReconciliation.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.ts"],"sourcesContent":["import { useEffect, useCallback, useMemo, useRef, useState } from 'react';\nimport { uniqBy } from 'lodash';\nimport type { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { OffsetWell, OffsetSettingsInput } from '../../OffsetWellPickerV5.types';\n\nimport { getSortedIdsSignature } from './getSortedIdsSignature';\n\ntype UseWellReconciliationParams = {\n subjectWell: OffsetWell | null;\n wells: OffsetWell[] | null;\n offsetSettings: OffsetSettingsInput | undefined;\n open: boolean;\n isAllWellsLoaded: boolean;\n fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;\n setSelectedWells: Dispatch<SetStateAction<OffsetWell[]>>;\n hasUserSelectionEditsRef: MutableRefObject<boolean>;\n};\n\n/**\n * Reconciles selected wells with external offset settings.\n * When the picker opens, resolves any missing wells by fetching them,\n * then updates the selection to match external settings.\n */\nexport const useWellReconciliation = ({\n subjectWell,\n wells,\n offsetSettings,\n open,\n isAllWellsLoaded,\n fetchSearchedWells,\n setSelectedWells,\n hasUserSelectionEditsRef,\n}: UseWellReconciliationParams): { isReconciled: boolean } => {\n const lastAppliedExternalSelectionSignatureRef = useRef<string | null>(null);\n const lastMissingFetchAttemptKeyRef = useRef<string | null>(null);\n const reconcileRunIdRef = useRef(0);\n const [isReconciled, setIsReconciled] = useState(false);\n\n const externalSelectedWellIds = useMemo(\n () => offsetSettings?.selectedWellIds || [],\n [offsetSettings?.selectedWellIds]\n );\n const externalSelectedWellIdsSignature = useMemo(\n () => getSortedIdsSignature(externalSelectedWellIds),\n [externalSelectedWellIds]\n );\n\n const reconcileSelectedWellsFromSettings = useCallback(\n async (runId: number) => {\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) return false;\n\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n let missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n\n if (missingIds.length > 0) {\n const fetchAttemptKey = `${externalSelectedWellIdsSignature}|${getSortedIdsSignature(\n missingIds\n )}`;\n\n if (lastMissingFetchAttemptKeyRef.current !== fetchAttemptKey) {\n lastMissingFetchAttemptKeyRef.current = fetchAttemptKey;\n const fetchedWells = await fetchSearchedWells(missingIds);\n fetchedWells.forEach(well => wellsMap.set(well.id, well));\n }\n\n missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n }\n\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) return false;\n\n const selectedIdsSet = new Set(externalSelectedWellIds);\n const resolvedWells = externalSelectedWellIds\n .map(id => wellsMap.get(id))\n .filter((well): well is OffsetWell => well !== undefined);\n\n const resolvedIdsSet = new Set(resolvedWells.map(well => well.id));\n\n setSelectedWells(prev => {\n const preserved = prev.filter(\n well => selectedIdsSet.has(well.id) && !resolvedIdsSet.has(well.id)\n );\n\n let nextWells = resolvedWells.concat(preserved);\n if (subjectWell) nextWells = nextWells.concat(subjectWell);\n\n const deduped = uniqBy(nextWells, 'id');\n const dedupedIdsSet = new Set(deduped.map(well => well.id));\n const isSameSelection =\n prev.length === dedupedIdsSet.size && prev.every(well => dedupedIdsSet.has(well.id));\n\n return isSameSelection ? prev : deduped;\n });\n\n return missingIds.length === 0;\n },\n [\n externalSelectedWellIds,\n externalSelectedWellIdsSignature,\n fetchSearchedWells,\n subjectWell,\n wells,\n hasUserSelectionEditsRef,\n setSelectedWells,\n ]\n );\n\n useEffect(() => {\n if (!open) {\n // eslint-disable-next-line no-param-reassign\n hasUserSelectionEditsRef.current = false;\n lastAppliedExternalSelectionSignatureRef.current = null;\n lastMissingFetchAttemptKeyRef.current = null;\n reconcileRunIdRef.current += 1;\n setIsReconciled(false);\n return undefined;\n }\n\n if (\n !isAllWellsLoaded ||\n hasUserSelectionEditsRef.current ||\n lastAppliedExternalSelectionSignatureRef.current === externalSelectedWellIdsSignature\n ) {\n return undefined;\n }\n\n setIsReconciled(false);\n const runId = reconcileRunIdRef.current + 1;\n reconcileRunIdRef.current = runId;\n let isCancelled = false;\n\n const runReconciliation = async () => {\n try {\n const isResolved = await reconcileSelectedWellsFromSettings(runId);\n\n if (isCancelled || reconcileRunIdRef.current !== runId) return;\n\n if (isResolved) {\n lastAppliedExternalSelectionSignatureRef.current = externalSelectedWellIdsSignature;\n }\n } catch (error) {\n console.error('Failed to reconcile selected wells from offset settings:', error);\n } finally {\n if (!isCancelled && reconcileRunIdRef.current === runId) {\n setIsReconciled(true);\n }\n }\n };\n\n runReconciliation();\n\n return () => {\n isCancelled = true;\n };\n }, [\n open,\n isAllWellsLoaded,\n externalSelectedWellIdsSignature,\n reconcileSelectedWellsFromSettings,\n hasUserSelectionEditsRef,\n ]);\n\n return { isReconciled };\n};\n"],"names":["useWellReconciliation","_ref","subjectWell","wells","offsetSettings","open","isAllWellsLoaded","fetchSearchedWells","setSelectedWells","hasUserSelectionEditsRef","lastAppliedExternalSelectionSignatureRef","useRef","lastMissingFetchAttemptKeyRef","reconcileRunIdRef","useState","_useState2","_slicedToArray","_useState","isReconciled","setIsReconciled","externalSelectedWellIds","useMemo","selectedWellIds","externalSelectedWellIdsSignature","getSortedIdsSignature","reconcileSelectedWellsFromSettings","useCallback","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","runId","wellsMap","missingIds","fetchAttemptKey","selectedIdsSet","resolvedWells","resolvedIdsSet","wrap","_context","prev","next","current","abrupt","Map","map","w","id","filter","has","length","concat","sent","forEach","well","set","Set","get","undefined","preserved","nextWells","deduped","uniqBy","dedupedIdsSet","size","every","stop","_callee","_x","apply","this","arguments","useEffect","isCancelled","runReconciliation","_ref3","_callee2","isResolved","_context2","t0","console","error","finish"],"mappings":"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"}
1
+ {"version":3,"file":"useWellReconciliation.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellReconciliation.ts"],"sourcesContent":["import { useEffect, useCallback, useMemo, useRef, useState } from 'react';\nimport { uniqBy } from 'lodash';\nimport type { Dispatch, MutableRefObject, SetStateAction } from 'react';\n\nimport type { OffsetWell, OffsetSettingsInput } from '../../OffsetWellPickerV5.types';\n\nimport { getSortedIdsSignature } from './getSortedIdsSignature';\n\ntype UseWellReconciliationParams = {\n subjectWell: OffsetWell | null;\n wells: OffsetWell[] | null;\n offsetSettings: OffsetSettingsInput | undefined;\n open: boolean;\n fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;\n setSelectedWells: Dispatch<SetStateAction<OffsetWell[]>>;\n hasUserSelectionEditsRef: MutableRefObject<boolean>;\n};\n\n/**\n * Reconciles selected wells with external offset settings.\n * When the picker opens, resolves any missing wells by fetching them,\n * then updates the selection to match external settings. Does not wait for\n * full tile/load-all readiness — selected IDs are fetched directly.\n */\nexport const useWellReconciliation = ({\n subjectWell,\n wells,\n offsetSettings,\n open,\n fetchSearchedWells,\n setSelectedWells,\n hasUserSelectionEditsRef,\n}: UseWellReconciliationParams): { isReconciled: boolean } => {\n const lastAppliedExternalSelectionSignatureRef = useRef<string | null>(null);\n const missingFetchRef = useRef<{ key: string; promise: Promise<OffsetWell[]> } | null>(null);\n const reconcileRunIdRef = useRef(0);\n const [isReconciled, setIsReconciled] = useState(false);\n\n const externalSelectedWellIds = useMemo(\n () => offsetSettings?.selectedWellIds || [],\n [offsetSettings?.selectedWellIds]\n );\n const externalSelectedWellIdsSignature = useMemo(\n () => getSortedIdsSignature(externalSelectedWellIds),\n [externalSelectedWellIds]\n );\n\n const reconcileSelectedWellsFromSettings = useCallback(\n async (runId: number) => {\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) return false;\n\n const wellsMap = new Map(wells?.map(w => [w.id, w]) || []);\n let missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n\n if (missingIds.length > 0) {\n const fetchAttemptKey = `${externalSelectedWellIdsSignature}|${getSortedIdsSignature(\n missingIds\n )}`;\n\n // Share the in-flight promise across runs: a run cancelled mid-fetch must not\n // leave the attempt marked done, or the replacing run would skip the fetch\n if (missingFetchRef.current?.key !== fetchAttemptKey) {\n missingFetchRef.current = {\n key: fetchAttemptKey,\n promise: fetchSearchedWells(missingIds),\n };\n }\n\n try {\n const fetchedWells = await missingFetchRef.current.promise;\n fetchedWells.forEach(well => wellsMap.set(well.id, well));\n } catch (error) {\n if (missingFetchRef.current?.key === fetchAttemptKey) {\n missingFetchRef.current = null;\n }\n throw error;\n }\n\n missingIds = externalSelectedWellIds.filter(id => !wellsMap.has(id));\n }\n\n if (runId !== reconcileRunIdRef.current || hasUserSelectionEditsRef.current) return false;\n\n const selectedIdsSet = new Set(externalSelectedWellIds);\n const resolvedWells = externalSelectedWellIds\n .map(id => wellsMap.get(id))\n .filter((well): well is OffsetWell => well !== undefined);\n\n const resolvedIdsSet = new Set(resolvedWells.map(well => well.id));\n\n setSelectedWells(prev => {\n const preserved = prev.filter(\n well => selectedIdsSet.has(well.id) && !resolvedIdsSet.has(well.id)\n );\n\n let nextWells = resolvedWells.concat(preserved);\n if (subjectWell) nextWells = nextWells.concat(subjectWell);\n\n const deduped = uniqBy(nextWells, 'id');\n const dedupedIdsSet = new Set(deduped.map(well => well.id));\n const isSameSelection =\n prev.length === dedupedIdsSet.size && prev.every(well => dedupedIdsSet.has(well.id));\n\n return isSameSelection ? prev : deduped;\n });\n\n return missingIds.length === 0;\n },\n [\n externalSelectedWellIds,\n externalSelectedWellIdsSignature,\n fetchSearchedWells,\n subjectWell,\n wells,\n hasUserSelectionEditsRef,\n setSelectedWells,\n ]\n );\n\n useEffect(() => {\n if (!open) {\n // eslint-disable-next-line no-param-reassign\n hasUserSelectionEditsRef.current = false;\n lastAppliedExternalSelectionSignatureRef.current = null;\n missingFetchRef.current = null;\n reconcileRunIdRef.current += 1;\n setIsReconciled(false);\n return undefined;\n }\n\n if (\n hasUserSelectionEditsRef.current ||\n lastAppliedExternalSelectionSignatureRef.current === externalSelectedWellIdsSignature\n ) {\n return undefined;\n }\n\n setIsReconciled(false);\n const runId = reconcileRunIdRef.current + 1;\n reconcileRunIdRef.current = runId;\n let isCancelled = false;\n\n const runReconciliation = async () => {\n try {\n const isResolved = await reconcileSelectedWellsFromSettings(runId);\n\n if (isCancelled || reconcileRunIdRef.current !== runId) return;\n\n if (isResolved) {\n lastAppliedExternalSelectionSignatureRef.current = externalSelectedWellIdsSignature;\n }\n } catch (error) {\n console.error('Failed to reconcile selected wells from offset settings:', error);\n } finally {\n if (!isCancelled && reconcileRunIdRef.current === runId) {\n setIsReconciled(true);\n }\n }\n };\n\n runReconciliation();\n\n return () => {\n isCancelled = true;\n };\n }, [\n open,\n externalSelectedWellIdsSignature,\n reconcileSelectedWellsFromSettings,\n hasUserSelectionEditsRef,\n ]);\n\n return { isReconciled };\n};\n"],"names":["useWellReconciliation","_ref","subjectWell","wells","offsetSettings","open","fetchSearchedWells","setSelectedWells","hasUserSelectionEditsRef","lastAppliedExternalSelectionSignatureRef","useRef","missingFetchRef","reconcileRunIdRef","useState","_useState2","_slicedToArray","_useState","isReconciled","setIsReconciled","externalSelectedWellIds","useMemo","selectedWellIds","externalSelectedWellIdsSignature","getSortedIdsSignature","reconcileSelectedWellsFromSettings","useCallback","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","runId","wellsMap","missingIds","_missingFetchRef$curr","fetchAttemptKey","_missingFetchRef$curr2","selectedIdsSet","resolvedWells","resolvedIdsSet","wrap","_context","prev","next","current","abrupt","Map","map","w","id","filter","has","length","concat","key","promise","sent","forEach","well","set","t0","Set","get","undefined","preserved","nextWells","deduped","uniqBy","dedupedIdsSet","size","every","stop","_callee","_x","apply","this","arguments","useEffect","isCancelled","runReconciliation","_ref3","_callee2","isResolved","_context2","console","error","finish"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWellSelection.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAK/F;;;GAGG;AACH,eAAO,MAAM,gBAAgB,WAAY,sBAAsB,KAAG,sBAyGjE,CAAC"}
1
+ {"version":3,"file":"useWellSelection.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAK/F;;;GAGG;AACH,eAAO,MAAM,gBAAgB,WAAY,sBAAsB,KAAG,sBAuGjE,CAAC"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as l,useRef as r,useCallback as n,useMemo as s}from"react";import{ALL_SECTION_KEY as i}from"../../constants.js";import{useFilterPruneEffect as o}from"./useFilterPruneEffect.js";import{useWellReconciliation as c}from"./useWellReconciliation.js";import{useSelectionHandlers as f}from"./useSelectionHandlers.js";function u(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,r)}return l}var a=function(a){var d=a.subjectWellId,S=a.subjectWell,p=a.wells,W=a.filteredWells,b=a.externalOffsets,m=a.rawWellsWithSubject,O=a.offsetSettings,h=a.maxOffsetWellNumber,j=a.maxOffsetSize,g=a.open,y=a.isAllWellsLoaded,w=a.fetchSearchedWells,v=a.filters,P=a.filterMutationSeq,E=a.lastFilterMutationSource,R=a.includeHidden,x=l([]),A=t(x,2),I=A[0],U=A[1],Z=r(!1),C=r(0),D=l((function(){var e;return null!==(e=null==O?void 0:O.lastSelectionZone)&&void 0!==e?e:null})),M=t(D,2),F=M[0],H=M[1],L=l((null==O?void 0:O.wellSection)||i),k=t(L,2),q=k[0],z=k[1],N=l([]),G=t(N,2),T=G[0],B=G[1];o({filterMutationSeq:P,lastFilterMutationSource:E,open:g,filters:v,includeHidden:R,subjectWellId:d,setSelectedWells:U,setCurrentSelectionZone:H,hasUserSelectionEditsRef:Z});var J=c({subjectWell:S,wells:p,offsetSettings:O,open:g,isAllWellsLoaded:y,fetchSearchedWells:w,setSelectedWells:U,hasUserSelectionEditsRef:Z}).isReconciled,K=f({subjectWell:S,wells:p,filteredWells:W,externalOffsets:b,rawWellsWithSubject:m,maxOffsetWellNumber:h,maxOffsetSize:j,fetchSearchedWells:w,setSelectedWells:U,setCurrentSelectionZone:H,setSelectedWellSection:z,hasUserSelectionEditsRef:Z}),Q=n((function(){Z.current=!0}),[]),V=n((function(){C.current+=1}),[]),X=s((function(){return I.find((function(e){return e.id===d}))?I.length-1:I.length}),[I,d]),Y=s((function(){return I.map((function(e){return e.id}))}),[I]);return function(t){for(var l=1;l<arguments.length;l++){var r=null!=arguments[l]?arguments[l]:{};l%2?u(Object(r),!0).forEach((function(l){e(t,l,r[l])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({selectedWells:I,setSelectedWells:U,selectedWellsCount:X,selectedWellIds:Y,isReconciled:J,currentSelectionZone:F,setCurrentSelectionZone:H,selectedWellSection:q,setSelectedWellSection:z,loadingAssetIds:T,setLoadingAssetIds:B,searchGenerationRef:C,hasUserSelectionEditsRef:Z,markUserEdit:Q,abandonPendingSearch:V},K)};export{a as useWellSelection};
1
+ import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as l,useRef as r,useCallback as n,useMemo as s}from"react";import{ALL_SECTION_KEY as i}from"../../constants.js";import{useFilterPruneEffect as o}from"./useFilterPruneEffect.js";import{useWellReconciliation as c}from"./useWellReconciliation.js";import{useSelectionHandlers as f}from"./useSelectionHandlers.js";function u(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,r)}return l}var a=function(a){var d=a.subjectWellId,S=a.subjectWell,p=a.wells,b=a.filteredWells,m=a.externalOffsets,W=a.rawWellsWithSubject,O=a.offsetSettings,h=a.maxOffsetWellNumber,j=a.maxOffsetSize,g=a.open,y=a.fetchSearchedWells,w=a.filters,v=a.filterMutationSeq,P=a.lastFilterMutationSource,E=a.includeHidden,R=l([]),x=t(R,2),I=x[0],U=x[1],Z=r(!1),C=r(0),D=l((function(){var e;return null!==(e=null==O?void 0:O.lastSelectionZone)&&void 0!==e?e:null})),M=t(D,2),A=M[0],F=M[1],H=l((null==O?void 0:O.wellSection)||i),k=t(H,2),q=k[0],z=k[1],N=l([]),G=t(N,2),L=G[0],T=G[1];o({filterMutationSeq:v,lastFilterMutationSource:P,open:g,filters:w,includeHidden:E,subjectWellId:d,setSelectedWells:U,setCurrentSelectionZone:F,hasUserSelectionEditsRef:Z});var B=c({subjectWell:S,wells:p,offsetSettings:O,open:g,fetchSearchedWells:y,setSelectedWells:U,hasUserSelectionEditsRef:Z}).isReconciled,J=f({subjectWell:S,wells:p,filteredWells:b,externalOffsets:m,rawWellsWithSubject:W,maxOffsetWellNumber:h,maxOffsetSize:j,fetchSearchedWells:y,setSelectedWells:U,setCurrentSelectionZone:F,setSelectedWellSection:z,hasUserSelectionEditsRef:Z}),K=n((function(){Z.current=!0}),[]),Q=n((function(){C.current+=1}),[]),V=s((function(){return I.find((function(e){return e.id===d}))?I.length-1:I.length}),[I,d]),X=s((function(){return I.map((function(e){return e.id}))}),[I]);return function(t){for(var l=1;l<arguments.length;l++){var r=null!=arguments[l]?arguments[l]:{};l%2?u(Object(r),!0).forEach((function(l){e(t,l,r[l])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):u(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({selectedWells:I,setSelectedWells:U,selectedWellsCount:V,selectedWellIds:X,isReconciled:B,currentSelectionZone:A,setCurrentSelectionZone:F,selectedWellSection:q,setSelectedWellSection:z,loadingAssetIds:L,setLoadingAssetIds:T,searchGenerationRef:C,hasUserSelectionEditsRef:Z,markUserEdit:K,abandonPendingSearch:Q},J)};export{a as useWellSelection};
2
2
  //# sourceMappingURL=useWellSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useWellSelection.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.ts"],"sourcesContent":["import { useState, useRef, useCallback, useMemo } from 'react';\n\nimport { ALL_SECTION_KEY } from '../../constants';\nimport type { OffsetWell } from '../../OffsetWellPickerV5.types';\nimport type { SelectionZone } from '../../types/SelectionZone';\n\nimport type { UseWellSelectionParams, UseWellSelectionReturn } from './useWellSelection.types';\nimport { useFilterPruneEffect } from './useFilterPruneEffect';\nimport { useWellReconciliation } from './useWellReconciliation';\nimport { useSelectionHandlers } from './useSelectionHandlers';\n\n/**\n * Manages well selection state, reconciliation with external settings,\n * and all selection handlers (single, all, batch, section, zone).\n */\nexport const useWellSelection = (params: UseWellSelectionParams): UseWellSelectionReturn => {\n const {\n subjectWellId,\n subjectWell,\n wells,\n filteredWells,\n externalOffsets,\n rawWellsWithSubject,\n offsetSettings,\n maxOffsetWellNumber,\n maxOffsetSize,\n open,\n isAllWellsLoaded,\n fetchSearchedWells,\n filters,\n filterMutationSeq,\n lastFilterMutationSource,\n includeHidden,\n } = params;\n\n const [selectedWells, setSelectedWells] = useState<OffsetWell[]>([]);\n const hasUserSelectionEditsRef = useRef(false);\n const searchGenerationRef = useRef(0);\n\n const [currentSelectionZone, setCurrentSelectionZone] = useState<SelectionZone | null>(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const [loadingAssetIds, setLoadingAssetIds] = useState<number[]>([]);\n\n useFilterPruneEffect({\n filterMutationSeq,\n lastFilterMutationSource,\n open,\n filters,\n includeHidden,\n subjectWellId,\n setSelectedWells,\n setCurrentSelectionZone,\n hasUserSelectionEditsRef,\n });\n\n const { isReconciled } = useWellReconciliation({\n subjectWell,\n wells,\n offsetSettings,\n open,\n isAllWellsLoaded,\n fetchSearchedWells,\n setSelectedWells,\n hasUserSelectionEditsRef,\n });\n\n const handlers = useSelectionHandlers({\n subjectWell,\n wells,\n filteredWells,\n externalOffsets,\n rawWellsWithSubject,\n maxOffsetWellNumber,\n maxOffsetSize,\n fetchSearchedWells,\n setSelectedWells,\n setCurrentSelectionZone,\n setSelectedWellSection,\n hasUserSelectionEditsRef,\n });\n\n const markUserEdit = useCallback(() => {\n hasUserSelectionEditsRef.current = true;\n }, []);\n\n // Bumps a generation counter so any in-flight `useAdvancedSearchHandler` work\n // resolving after this call can detect the abandon and skip its state writes.\n const abandonPendingSearch = useCallback(() => {\n searchGenerationRef.current += 1;\n }, []);\n\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) return selectedWells.length - 1;\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n const selectedWellIds = useMemo(() => selectedWells.map(({ id }) => id), [selectedWells]);\n\n return {\n selectedWells,\n setSelectedWells,\n selectedWellsCount,\n selectedWellIds,\n isReconciled,\n currentSelectionZone,\n setCurrentSelectionZone,\n selectedWellSection,\n setSelectedWellSection,\n loadingAssetIds,\n setLoadingAssetIds,\n searchGenerationRef,\n hasUserSelectionEditsRef,\n markUserEdit,\n abandonPendingSearch,\n ...handlers,\n };\n};\n"],"names":["useWellSelection","params","subjectWellId","subjectWell","wells","filteredWells","externalOffsets","rawWellsWithSubject","offsetSettings","maxOffsetWellNumber","maxOffsetSize","open","isAllWellsLoaded","fetchSearchedWells","filters","filterMutationSeq","lastFilterMutationSource","includeHidden","useState","_useState2","_slicedToArray","_useState","selectedWells","setSelectedWells","hasUserSelectionEditsRef","useRef","searchGenerationRef","_useState3","_offsetSettings$lastS","lastSelectionZone","_useState4","currentSelectionZone","setCurrentSelectionZone","_useState5","wellSection","ALL_SECTION_KEY","_useState6","selectedWellSection","setSelectedWellSection","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","useFilterPruneEffect","isReconciled","useWellReconciliation","handlers","useSelectionHandlers","markUserEdit","useCallback","current","abandonPendingSearch","selectedWellsCount","useMemo","find","well","id","length","selectedWellIds","map","_ref","_objectSpread"],"mappings":"gpBAeaA,EAAmB,SAACC,GAC/B,IACEC,EAgBED,EAhBFC,cACAC,EAeEF,EAfFE,YACAC,EAcEH,EAdFG,MACAC,EAaEJ,EAbFI,cACAC,EAYEL,EAZFK,gBACAC,EAWEN,EAXFM,oBACAC,EAUEP,EAVFO,eACAC,EASER,EATFQ,oBACAC,EAQET,EARFS,cACAC,EAOEV,EAPFU,KACAC,EAMEX,EANFW,iBACAC,EAKEZ,EALFY,mBACAC,EAIEb,EAJFa,QACAC,EAGEd,EAHFc,kBACAC,EAEEf,EAFFe,yBACAC,EACEhB,EADFgB,cAGwCC,EAAAA,EAAuB,IAAGC,EAAAC,EAAAC,EAAA,GAA7DC,EAAaH,EAAA,GAAEI,EAAgBJ,EAAA,GAChCK,EAA2BC,GAAO,GAClCC,EAAsBD,EAAO,GAEnCE,EAAwDT,GACtD,WAAA,IAAAU,EAAA,eAAMpB,EAAAA,aAAc,EAAdA,EAAgBqB,iCAAqB,QAC5CC,EAAAV,EAAAO,EAAA,GAFMI,EAAoBD,EAAA,GAAEE,EAAuBF,EAAA,GAGpDG,EAAsDf,GACpDV,aAAAA,EAAAA,EAAgB0B,cAAeC,GAChCC,EAAAhB,EAAAa,EAAA,GAFMI,EAAmBD,EAAA,GAAEE,EAAsBF,EAAA,GAGJlB,EAAAA,EAAmB,IAAGqB,EAAAnB,EAAAoB,EAAA,GAA7DC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAE1CI,EAAqB,CACnB5B,kBAAAA,EACAC,yBAAAA,EACAL,KAAAA,EACAG,QAAAA,EACAG,cAAAA,EACAf,cAAAA,EACAqB,iBAAAA,EACAS,wBAAAA,EACAR,yBAAAA,IAGF,IAAQoB,EAAiBC,EAAsB,CAC7C1C,YAAAA,EACAC,MAAAA,EACAI,eAAAA,EACAG,KAAAA,EACAC,iBAAAA,EACAC,mBAAAA,EACAU,iBAAAA,EACAC,yBAAAA,IARMoB,aAWFE,EAAWC,EAAqB,CACpC5C,YAAAA,EACAC,MAAAA,EACAC,cAAAA,EACAC,gBAAAA,EACAC,oBAAAA,EACAE,oBAAAA,EACAC,cAAAA,EACAG,mBAAAA,EACAU,iBAAAA,EACAS,wBAAAA,EACAM,uBAAAA,EACAd,yBAAAA,IAGIwB,EAAeC,GAAY,WAC/BzB,EAAyB0B,SAAU,CACpC,GAAE,IAIGC,EAAuBF,GAAY,WACvCvB,EAAoBwB,SAAW,CAChC,GAAE,IAEGE,EAAqBC,GAAQ,WACjC,OAAI/B,EAAcgC,MAAK,SAAAC,GAAI,OAAIA,EAAKC,KAAOtD,CAAa,IAAUoB,EAAcmC,OAAS,EAClFnC,EAAcmC,MACvB,GAAG,CAACnC,EAAepB,IAEbwD,EAAkBL,GAAQ,WAAA,OAAM/B,EAAcqC,KAAI,SAAAC,GAAK,SAAFJ,QAAc,CAAClC,IAE1E,sWAAAuC,CAAA,CACEvC,cAAAA,EACAC,iBAAAA,EACA6B,mBAAAA,EACAM,gBAAAA,EACAd,aAAAA,EACAb,qBAAAA,EACAC,wBAAAA,EACAK,oBAAAA,EACAC,uBAAAA,EACAG,gBAAAA,EACAC,mBAAAA,EACAhB,oBAAAA,EACAF,yBAAAA,EACAwB,aAAAA,EACAG,qBAAAA,GACGL,EAEP"}
1
+ {"version":3,"file":"useWellSelection.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.ts"],"sourcesContent":["import { useState, useRef, useCallback, useMemo } from 'react';\n\nimport { ALL_SECTION_KEY } from '../../constants';\nimport type { OffsetWell } from '../../OffsetWellPickerV5.types';\nimport type { SelectionZone } from '../../types/SelectionZone';\n\nimport type { UseWellSelectionParams, UseWellSelectionReturn } from './useWellSelection.types';\nimport { useFilterPruneEffect } from './useFilterPruneEffect';\nimport { useWellReconciliation } from './useWellReconciliation';\nimport { useSelectionHandlers } from './useSelectionHandlers';\n\n/**\n * Manages well selection state, reconciliation with external settings,\n * and all selection handlers (single, all, batch, section, zone).\n */\nexport const useWellSelection = (params: UseWellSelectionParams): UseWellSelectionReturn => {\n const {\n subjectWellId,\n subjectWell,\n wells,\n filteredWells,\n externalOffsets,\n rawWellsWithSubject,\n offsetSettings,\n maxOffsetWellNumber,\n maxOffsetSize,\n open,\n fetchSearchedWells,\n filters,\n filterMutationSeq,\n lastFilterMutationSource,\n includeHidden,\n } = params;\n\n const [selectedWells, setSelectedWells] = useState<OffsetWell[]>([]);\n const hasUserSelectionEditsRef = useRef(false);\n const searchGenerationRef = useRef(0);\n\n const [currentSelectionZone, setCurrentSelectionZone] = useState<SelectionZone | null>(\n () => offsetSettings?.lastSelectionZone ?? null\n );\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const [loadingAssetIds, setLoadingAssetIds] = useState<number[]>([]);\n\n useFilterPruneEffect({\n filterMutationSeq,\n lastFilterMutationSource,\n open,\n filters,\n includeHidden,\n subjectWellId,\n setSelectedWells,\n setCurrentSelectionZone,\n hasUserSelectionEditsRef,\n });\n\n const { isReconciled } = useWellReconciliation({\n subjectWell,\n wells,\n offsetSettings,\n open,\n fetchSearchedWells,\n setSelectedWells,\n hasUserSelectionEditsRef,\n });\n\n const handlers = useSelectionHandlers({\n subjectWell,\n wells,\n filteredWells,\n externalOffsets,\n rawWellsWithSubject,\n maxOffsetWellNumber,\n maxOffsetSize,\n fetchSearchedWells,\n setSelectedWells,\n setCurrentSelectionZone,\n setSelectedWellSection,\n hasUserSelectionEditsRef,\n });\n\n const markUserEdit = useCallback(() => {\n hasUserSelectionEditsRef.current = true;\n }, []);\n\n // Bumps a generation counter so any in-flight `useAdvancedSearchHandler` work\n // resolving after this call can detect the abandon and skip its state writes.\n const abandonPendingSearch = useCallback(() => {\n searchGenerationRef.current += 1;\n }, []);\n\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) return selectedWells.length - 1;\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n const selectedWellIds = useMemo(() => selectedWells.map(({ id }) => id), [selectedWells]);\n\n return {\n selectedWells,\n setSelectedWells,\n selectedWellsCount,\n selectedWellIds,\n isReconciled,\n currentSelectionZone,\n setCurrentSelectionZone,\n selectedWellSection,\n setSelectedWellSection,\n loadingAssetIds,\n setLoadingAssetIds,\n searchGenerationRef,\n hasUserSelectionEditsRef,\n markUserEdit,\n abandonPendingSearch,\n ...handlers,\n };\n};\n"],"names":["useWellSelection","params","subjectWellId","subjectWell","wells","filteredWells","externalOffsets","rawWellsWithSubject","offsetSettings","maxOffsetWellNumber","maxOffsetSize","open","fetchSearchedWells","filters","filterMutationSeq","lastFilterMutationSource","includeHidden","useState","_useState2","_slicedToArray","_useState","selectedWells","setSelectedWells","hasUserSelectionEditsRef","useRef","searchGenerationRef","_useState3","_offsetSettings$lastS","lastSelectionZone","_useState4","currentSelectionZone","setCurrentSelectionZone","_useState5","wellSection","ALL_SECTION_KEY","_useState6","selectedWellSection","setSelectedWellSection","_useState8","_useState7","loadingAssetIds","setLoadingAssetIds","useFilterPruneEffect","isReconciled","useWellReconciliation","handlers","useSelectionHandlers","markUserEdit","useCallback","current","abandonPendingSearch","selectedWellsCount","useMemo","find","well","id","length","selectedWellIds","map","_ref","_objectSpread"],"mappings":"gpBAeaA,EAAmB,SAACC,GAC/B,IACEC,EAeED,EAfFC,cACAC,EAcEF,EAdFE,YACAC,EAaEH,EAbFG,MACAC,EAYEJ,EAZFI,cACAC,EAWEL,EAXFK,gBACAC,EAUEN,EAVFM,oBACAC,EASEP,EATFO,eACAC,EAQER,EARFQ,oBACAC,EAOET,EAPFS,cACAC,EAMEV,EANFU,KACAC,EAKEX,EALFW,mBACAC,EAIEZ,EAJFY,QACAC,EAGEb,EAHFa,kBACAC,EAEEd,EAFFc,yBACAC,EACEf,EADFe,cAGwCC,EAAAA,EAAuB,IAAGC,EAAAC,EAAAC,EAAA,GAA7DC,EAAaH,EAAA,GAAEI,EAAgBJ,EAAA,GAChCK,EAA2BC,GAAO,GAClCC,EAAsBD,EAAO,GAEnCE,EAAwDT,GACtD,WAAA,IAAAU,EAAA,eAAMnB,EAAAA,aAAc,EAAdA,EAAgBoB,iCAAqB,QAC5CC,EAAAV,EAAAO,EAAA,GAFMI,EAAoBD,EAAA,GAAEE,EAAuBF,EAAA,GAGpDG,EAAsDf,GACpDT,aAAAA,EAAAA,EAAgByB,cAAeC,GAChCC,EAAAhB,EAAAa,EAAA,GAFMI,EAAmBD,EAAA,GAAEE,EAAsBF,EAAA,GAGJlB,EAAAA,EAAmB,IAAGqB,EAAAnB,EAAAoB,EAAA,GAA7DC,EAAeF,EAAA,GAAEG,EAAkBH,EAAA,GAE1CI,EAAqB,CACnB5B,kBAAAA,EACAC,yBAAAA,EACAJ,KAAAA,EACAE,QAAAA,EACAG,cAAAA,EACAd,cAAAA,EACAoB,iBAAAA,EACAS,wBAAAA,EACAR,yBAAAA,IAGF,IAAQoB,EAAiBC,EAAsB,CAC7CzC,YAAAA,EACAC,MAAAA,EACAI,eAAAA,EACAG,KAAAA,EACAC,mBAAAA,EACAU,iBAAAA,EACAC,yBAAAA,IAPMoB,aAUFE,EAAWC,EAAqB,CACpC3C,YAAAA,EACAC,MAAAA,EACAC,cAAAA,EACAC,gBAAAA,EACAC,oBAAAA,EACAE,oBAAAA,EACAC,cAAAA,EACAE,mBAAAA,EACAU,iBAAAA,EACAS,wBAAAA,EACAM,uBAAAA,EACAd,yBAAAA,IAGIwB,EAAeC,GAAY,WAC/BzB,EAAyB0B,SAAU,CACpC,GAAE,IAIGC,EAAuBF,GAAY,WACvCvB,EAAoBwB,SAAW,CAChC,GAAE,IAEGE,EAAqBC,GAAQ,WACjC,OAAI/B,EAAcgC,MAAK,SAAAC,GAAI,OAAIA,EAAKC,KAAOrD,CAAa,IAAUmB,EAAcmC,OAAS,EAClFnC,EAAcmC,MACvB,GAAG,CAACnC,EAAenB,IAEbuD,EAAkBL,GAAQ,WAAA,OAAM/B,EAAcqC,KAAI,SAAAC,GAAK,SAAFJ,QAAc,CAAClC,IAE1E,sWAAAuC,CAAA,CACEvC,cAAAA,EACAC,iBAAAA,EACA6B,mBAAAA,EACAM,gBAAAA,EACAd,aAAAA,EACAb,qBAAAA,EACAC,wBAAAA,EACAK,oBAAAA,EACAC,uBAAAA,EACAG,gBAAAA,EACAC,mBAAAA,EACAhB,oBAAAA,EACAF,yBAAAA,EACAwB,aAAAA,EACAG,qBAAAA,GACGL,EAEP"}
@@ -18,7 +18,6 @@ export type UseWellSelectionParams = {
18
18
  maxOffsetWellNumber: number;
19
19
  maxOffsetSize: number;
20
20
  open: boolean;
21
- isAllWellsLoaded: boolean;
22
21
  fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;
23
22
  filters: FilterState | null;
24
23
  filterMutationSeq: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useWellSelection.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useWellSelection.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-selection/useWellSelection.types.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ export type AppCommonsContextType = {
22
22
  isMultiAsset?: boolean;
23
23
  isMultiWell?: boolean;
24
24
  isChiplessDashboard?: boolean;
25
+ globalOffsetWellsToken?: number;
25
26
  };
26
27
  appHeadersV3Enabled?: boolean;
27
28
  isNonIsolatedApp?: boolean;
@@ -30,6 +31,7 @@ export type AppCommonsContextType = {
30
31
  currentUser?: User;
31
32
  globalOffsetWells?: GlobalOffsetWell[];
32
33
  globalOffsetWellsVersion?: number;
34
+ globalOffsetWellsToken?: number;
33
35
  removeApp?: () => void;
34
36
  };
35
37
  export type AppCommonsContextTypeInternal = AppCommonsContextType & {
@@ -1 +1 @@
1
- {"version":3,"file":"AppCommonsContext.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/AppCommonsProvider/AppCommonsContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE/F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAIF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAGf,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAG9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,qBAAqB,GAAG;IAClE,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtC,oBAAoB,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IACpF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,wDAG7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,qCAAsC,CAAC;AAEzE,eAAO,MAAM,aAAa,QAA0C,qBAAqB,CAAC"}
1
+ {"version":3,"file":"AppCommonsContext.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/AppCommonsProvider/AppCommonsContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,SAAS,EAAc,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAE/F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAIF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,GAAG,CAAC;IACT,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,gBAAgB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAE3C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IAGf,aAAa,CAAC,EAAE;QACd,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAG9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,qBAAqB,GAAG;IAClE,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtC,oBAAoB,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC;IAC1C,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IACpF,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,wDAG7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,qCAAsC,CAAC;AAEzE,eAAO,MAAM,aAAa,QAA0C,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppCommonsContext.js","sources":["../../../src/componentsV2/AppCommonsProvider/AppCommonsContext.ts"],"sourcesContent":["import { ComponentType, createContext, ReactNode, useContext } from 'react';\n\nimport { App, AppSettings, Asset, FracFleet, InterventionUnit, User, Well } from '../../types';\n\nexport type GlobalOffsetWell = {\n id: number;\n [key: string]: unknown;\n};\n\n// ⚠️⚠️⚠️ Mentioned in storybook, please update when editing this type\n// Used in AppTestWrapper\nexport type AppCommonsContextType = {\n maximized: boolean;\n appId: number;\n app: App;\n appKey: string;\n appName: string;\n appSettings?: AppSettings;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n\n well?: Well;\n rig?: Asset;\n fracFleet?: FracFleet;\n interventionUnit?: InterventionUnit;\n wells?: Well[];\n\n // Passed down from corva-web-frontend. May not exist, so everything must be optional\n dashboardMeta?: {\n isMultiAsset?: boolean;\n isMultiWell?: boolean;\n isChiplessDashboard?: boolean;\n };\n appHeadersV3Enabled?: boolean;\n // [REACT-18-MIGRATION-TAG] PLT-3099: true when the app renders in-process on the host\n // (the platform isolation decision from DevCenterIsolatedApp); iframe realms leave it unset.\n isNonIsolatedApp?: boolean;\n disableAppAssetSelection?: boolean;\n isMultiRig?: boolean;\n currentUser?: User;\n globalOffsetWells?: GlobalOffsetWell[];\n globalOffsetWellsVersion?: number;\n removeApp?: () => void;\n};\n\nexport type AppCommonsContextTypeInternal = AppCommonsContextType & {\n setMaximized: (maximized: boolean) => void;\n appData?: unknown;\n layoutEnvironment?: { type?: string };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appSettingsComponent?: ComponentType<any>;\n toggleAnnotationsList?: () => void;\n onHelpCenterClick?: () => void;\n secondaryMenuItems?: { title: ReactNode; onClick?: () => void; icon?: ReactNode }[];\n isInsideNewMobileApp?: boolean;\n reloadApp?: () => void;\n};\n\nexport const AppCommonsContext = createContext<AppCommonsContextTypeInternal>(\n // TODO provide defaults\n null as unknown as AppCommonsContextTypeInternal\n);\n\nexport const useAppCommonsInternal = () => useContext(AppCommonsContext);\n\nexport const useAppCommons = () => useContext(AppCommonsContext) as AppCommonsContextType;\n"],"names":["AppCommonsContext","createContext","useAppCommonsInternal","useContext","useAppCommons"],"mappings":"sDA0DO,IAAMA,EAAoBC,EAE/B,MAGWC,EAAwB,WAAH,OAASC,EAAWH,EAAkB,EAE3DI,EAAgB,WAAH,OAASD,EAAWH,EAAkB"}
1
+ {"version":3,"file":"AppCommonsContext.js","sources":["../../../src/componentsV2/AppCommonsProvider/AppCommonsContext.ts"],"sourcesContent":["import { ComponentType, createContext, ReactNode, useContext } from 'react';\n\nimport { App, AppSettings, Asset, FracFleet, InterventionUnit, User, Well } from '../../types';\n\nexport type GlobalOffsetWell = {\n id: number;\n [key: string]: unknown;\n};\n\n// ⚠️⚠️⚠️ Mentioned in storybook, please update when editing this type\n// Used in AppTestWrapper\nexport type AppCommonsContextType = {\n maximized: boolean;\n appId: number;\n app: App;\n appKey: string;\n appName: string;\n appSettings?: AppSettings;\n onSettingChange: (key: string, value: unknown) => void;\n onSettingsChange: (value: unknown) => void;\n\n well?: Well;\n rig?: Asset;\n fracFleet?: FracFleet;\n interventionUnit?: InterventionUnit;\n wells?: Well[];\n\n // Passed down from corva-web-frontend. May not exist, so everything must be optional\n dashboardMeta?: {\n isMultiAsset?: boolean;\n isMultiWell?: boolean;\n isChiplessDashboard?: boolean;\n globalOffsetWellsToken?: number;\n };\n appHeadersV3Enabled?: boolean;\n // [REACT-18-MIGRATION-TAG] PLT-3099: true when the app renders in-process on the host\n // (the platform isolation decision from DevCenterIsolatedApp); iframe realms leave it unset.\n isNonIsolatedApp?: boolean;\n disableAppAssetSelection?: boolean;\n isMultiRig?: boolean;\n currentUser?: User;\n globalOffsetWells?: GlobalOffsetWell[];\n globalOffsetWellsVersion?: number;\n globalOffsetWellsToken?: number;\n removeApp?: () => void;\n};\n\nexport type AppCommonsContextTypeInternal = AppCommonsContextType & {\n setMaximized: (maximized: boolean) => void;\n appData?: unknown;\n layoutEnvironment?: { type?: string };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n appSettingsComponent?: ComponentType<any>;\n toggleAnnotationsList?: () => void;\n onHelpCenterClick?: () => void;\n secondaryMenuItems?: { title: ReactNode; onClick?: () => void; icon?: ReactNode }[];\n isInsideNewMobileApp?: boolean;\n reloadApp?: () => void;\n};\n\nexport const AppCommonsContext = createContext<AppCommonsContextTypeInternal>(\n // TODO provide defaults\n null as unknown as AppCommonsContextTypeInternal\n);\n\nexport const useAppCommonsInternal = () => useContext(AppCommonsContext);\n\nexport const useAppCommons = () => useContext(AppCommonsContext) as AppCommonsContextType;\n"],"names":["AppCommonsContext","createContext","useAppCommonsInternal","useContext","useAppCommons"],"mappings":"sDA4DO,IAAMA,EAAoBC,EAE/B,MAGWC,EAAwB,WAAH,OAASC,EAAWH,EAAkB,EAE3DI,EAAgB,WAAH,OAASD,EAAWH,EAAkB"}
@@ -6,6 +6,6 @@ type UseAppCommonsValueParam = OwnAppCommonsContextType & {
6
6
  appKey: string;
7
7
  appName: string;
8
8
  };
9
- export declare const useAppCommonsValue: ({ app, onAppRemove, onHelpCenterClick, appId, appSettings, appSettingsComponent, appData, isInsideNewMobileApp, onSettingChange, onSettingsChange, appHeadersV3Enabled, isNonIsolatedApp, disableAppAssetSelection, isMultiRig, rig, maximized, setMaximized, fracFleet, dashboardMeta, well, wells, toggleAnnotationsList, layoutEnvironment, secondaryMenuItems, currentUser, appKey, appName, interventionUnit, globalOffsetWells, globalOffsetWellsVersion, reloadApp, }: UseAppCommonsValueParam) => AppCommonsContextTypeInternal;
9
+ export declare const useAppCommonsValue: ({ app, onAppRemove, onHelpCenterClick, appId, appSettings, appSettingsComponent, appData, isInsideNewMobileApp, onSettingChange, onSettingsChange, appHeadersV3Enabled, isNonIsolatedApp, disableAppAssetSelection, isMultiRig, rig, maximized, setMaximized, fracFleet, dashboardMeta, well, wells, toggleAnnotationsList, layoutEnvironment, secondaryMenuItems, currentUser, appKey, appName, interventionUnit, globalOffsetWells, globalOffsetWellsVersion, globalOffsetWellsToken, reloadApp, }: UseAppCommonsValueParam) => AppCommonsContextTypeInternal;
10
10
  export {};
11
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/AppCommonsProvider/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,6BAA6B,EAC7B,QAAQ,GAAG,SAAS,GAAG,WAAW,CACnC,GAAG;IAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAEjE,KAAK,uBAAuB,GAAG,wBAAwB,GAAG;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,kBAAkB,idAgC5B,uBAAuB,kCAqEzB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/AppCommonsProvider/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,6BAA6B,EAAE,MAAM,qBAAqB,CAAC;AAEpE,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,6BAA6B,EAC7B,QAAQ,GAAG,SAAS,GAAG,WAAW,CACnC,GAAG;IAAE,WAAW,CAAC,EAAE,6BAA6B,CAAC,WAAW,CAAC,CAAA;CAAE,CAAC;AAEjE,KAAK,uBAAuB,GAAG,wBAAwB,GAAG;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,kBAAkB,yeAiC5B,uBAAuB,kCAuEzB,CAAC"}
@@ -1,2 +1,2 @@
1
- import{useMemo as e}from"react";var t=function(t){var n=t.app,a=t.onAppRemove,p=t.onHelpCenterClick,i=t.appId,o=t.appSettings,s=t.appSettingsComponent,l=t.appData,r=t.isInsideNewMobileApp,d=t.onSettingChange,g=t.onSettingsChange,m=t.appHeadersV3Enabled,A=t.isNonIsolatedApp,c=t.disableAppAssetSelection,f=t.isMultiRig,b=void 0!==f&&f,u=t.rig,C=t.maximized,M=t.setMaximized,S=t.fracFleet,v=t.dashboardMeta,I=t.well,h=t.wells,w=t.toggleAnnotationsList,y=t.layoutEnvironment,N=t.secondaryMenuItems,x=t.currentUser,z=t.appKey,E=t.appName,H=t.interventionUnit,O=t.globalOffsetWells,U=t.globalOffsetWellsVersion,V=t.reloadApp;return e((function(){return{app:n,appKey:z,appName:E,onHelpCenterClick:p,removeApp:a,appId:i,appSettings:o,appSettingsComponent:s,appData:l,isInsideNewMobileApp:r,onSettingChange:d,onSettingsChange:g,appHeadersV3Enabled:m,isNonIsolatedApp:A,disableAppAssetSelection:c,isMultiRig:b,rig:u,maximized:C,setMaximized:M,fracFleet:S,dashboardMeta:v,well:I,wells:h,toggleAnnotationsList:w,layoutEnvironment:y,secondaryMenuItems:N,currentUser:x,interventionUnit:H,globalOffsetWells:O,globalOffsetWellsVersion:U,reloadApp:V}}),[n,z,E,p,a,i,o,s,l,r,d,g,m,A,c,b,u,C,M,S,v,I,h,w,y,N,x,H,O,U,V])};export{t as useAppCommonsValue};
1
+ import{useMemo as e}from"react";var t=function(t){var n=t.app,a=t.onAppRemove,p=t.onHelpCenterClick,i=t.appId,l=t.appSettings,o=t.appSettingsComponent,s=t.appData,r=t.isInsideNewMobileApp,g=t.onSettingChange,d=t.onSettingsChange,m=t.appHeadersV3Enabled,f=t.isNonIsolatedApp,b=t.disableAppAssetSelection,A=t.isMultiRig,c=void 0!==A&&A,u=t.rig,C=t.maximized,M=t.setMaximized,S=t.fracFleet,v=t.dashboardMeta,I=t.well,h=t.wells,w=t.toggleAnnotationsList,y=t.layoutEnvironment,N=t.secondaryMenuItems,O=t.currentUser,W=t.appKey,x=t.appName,k=t.interventionUnit,z=t.globalOffsetWells,E=t.globalOffsetWellsVersion,H=t.globalOffsetWellsToken,U=t.reloadApp;return e((function(){return{app:n,appKey:W,appName:x,onHelpCenterClick:p,removeApp:a,appId:i,appSettings:l,appSettingsComponent:o,appData:s,isInsideNewMobileApp:r,onSettingChange:g,onSettingsChange:d,appHeadersV3Enabled:m,isNonIsolatedApp:f,disableAppAssetSelection:b,isMultiRig:c,rig:u,maximized:C,setMaximized:M,fracFleet:S,dashboardMeta:v,well:I,wells:h,toggleAnnotationsList:w,layoutEnvironment:y,secondaryMenuItems:N,currentUser:O,interventionUnit:k,globalOffsetWells:z,globalOffsetWellsVersion:E,globalOffsetWellsToken:H,reloadApp:U}}),[n,W,x,p,a,i,l,o,s,r,g,d,m,f,b,c,u,C,M,S,v,I,h,w,y,N,O,k,z,E,H,U])};export{t as useAppCommonsValue};
2
2
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/componentsV2/AppCommonsProvider/utils.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { AppCommonsContextTypeInternal } from './AppCommonsContext';\n\nexport type OwnAppCommonsContextType = Omit<\n AppCommonsContextTypeInternal,\n 'appKey' | 'appName' | 'removeApp'\n> & { onAppRemove?: AppCommonsContextTypeInternal['removeApp'] };\n\ntype UseAppCommonsValueParam = OwnAppCommonsContextType & {\n appKey: string;\n appName: string;\n};\n\nexport const useAppCommonsValue = ({\n app,\n onAppRemove,\n onHelpCenterClick,\n appId,\n appSettings,\n appSettingsComponent,\n appData,\n isInsideNewMobileApp,\n onSettingChange,\n onSettingsChange,\n appHeadersV3Enabled,\n isNonIsolatedApp,\n disableAppAssetSelection,\n isMultiRig = false,\n rig,\n maximized,\n setMaximized,\n fracFleet,\n dashboardMeta,\n well,\n wells,\n toggleAnnotationsList,\n layoutEnvironment,\n secondaryMenuItems,\n currentUser,\n appKey,\n appName,\n interventionUnit,\n globalOffsetWells,\n globalOffsetWellsVersion,\n reloadApp,\n}: UseAppCommonsValueParam) => {\n return useMemo(\n (): AppCommonsContextTypeInternal => ({\n app,\n appKey,\n appName,\n onHelpCenterClick,\n removeApp: onAppRemove,\n appId,\n appSettings,\n appSettingsComponent,\n appData,\n isInsideNewMobileApp,\n onSettingChange,\n onSettingsChange,\n appHeadersV3Enabled,\n isNonIsolatedApp,\n disableAppAssetSelection,\n isMultiRig,\n rig,\n maximized,\n setMaximized,\n fracFleet,\n dashboardMeta,\n well,\n wells,\n toggleAnnotationsList,\n layoutEnvironment,\n secondaryMenuItems,\n currentUser,\n interventionUnit,\n globalOffsetWells,\n globalOffsetWellsVersion,\n reloadApp,\n }),\n [\n app,\n appKey,\n appName,\n onHelpCenterClick,\n onAppRemove,\n appId,\n appSettings,\n appSettingsComponent,\n appData,\n isInsideNewMobileApp,\n onSettingChange,\n onSettingsChange,\n appHeadersV3Enabled,\n isNonIsolatedApp,\n disableAppAssetSelection,\n isMultiRig,\n rig,\n maximized,\n setMaximized,\n fracFleet,\n dashboardMeta,\n well,\n wells,\n toggleAnnotationsList,\n layoutEnvironment,\n secondaryMenuItems,\n currentUser,\n interventionUnit,\n globalOffsetWells,\n globalOffsetWellsVersion,\n reloadApp,\n ]\n );\n};\n"],"names":["useAppCommonsValue","_ref","app","onAppRemove","onHelpCenterClick","appId","appSettings","appSettingsComponent","appData","isInsideNewMobileApp","onSettingChange","onSettingsChange","appHeadersV3Enabled","isNonIsolatedApp","disableAppAssetSelection","_ref$isMultiRig","isMultiRig","rig","maximized","setMaximized","fracFleet","dashboardMeta","well","wells","toggleAnnotationsList","layoutEnvironment","secondaryMenuItems","currentUser","appKey","appName","interventionUnit","globalOffsetWells","globalOffsetWellsVersion","reloadApp","useMemo","removeApp"],"mappings":"gCAcaA,IAAAA,EAAqB,SAgCHC,GAAA,IA/B7BC,IAAAA,IACAC,IAAAA,YACAC,IAAAA,kBACAC,IAAAA,MACAC,IAAAA,YACAC,IAAAA,qBACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,oBACAC,IAAAA,iBACAC,IAAAA,yBAAwBC,EAAAd,EACxBe,WAAAA,cAAkBD,EAClBE,IAAAA,IACAC,IAAAA,UACAC,IAAAA,aACAC,IAAAA,UACAC,IAAAA,cACAC,IAAAA,KACAC,IAAAA,MACAC,IAAAA,sBACAC,IAAAA,kBACAC,IAAAA,mBACAC,IAAAA,YACAC,IAAAA,OACAC,IAAAA,QACAC,IAAAA,iBACAC,IAAAA,kBACAC,IAAAA,yBACAC,IAAAA,UAEA,OAAOC,GACL,WAAA,MAAsC,CACpChC,IAAAA,EACA0B,OAAAA,EACAC,QAAAA,EACAzB,kBAAAA,EACA+B,UAAWhC,EACXE,MAAAA,EACAC,YAAAA,EACAC,qBAAAA,EACAC,QAAAA,EACAC,qBAAAA,EACAC,gBAAAA,EACAC,iBAAAA,EACAC,oBAAAA,EACAC,iBAAAA,EACAC,yBAAAA,EACAE,WAAAA,EACAC,IAAAA,EACAC,UAAAA,EACAC,aAAAA,EACAC,UAAAA,EACAC,cAAAA,EACAC,KAAAA,EACAC,MAAAA,EACAC,sBAAAA,EACAC,kBAAAA,EACAC,mBAAAA,EACAC,YAAAA,EACAG,iBAAAA,EACAC,kBAAAA,EACAC,yBAAAA,EACAC,UAAAA,EACD,GACD,CACE/B,EACA0B,EACAC,EACAzB,EACAD,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAG,EACAC,EACAC,EACAC,GAGN"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/componentsV2/AppCommonsProvider/utils.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { AppCommonsContextTypeInternal } from './AppCommonsContext';\n\nexport type OwnAppCommonsContextType = Omit<\n AppCommonsContextTypeInternal,\n 'appKey' | 'appName' | 'removeApp'\n> & { onAppRemove?: AppCommonsContextTypeInternal['removeApp'] };\n\ntype UseAppCommonsValueParam = OwnAppCommonsContextType & {\n appKey: string;\n appName: string;\n};\n\nexport const useAppCommonsValue = ({\n app,\n onAppRemove,\n onHelpCenterClick,\n appId,\n appSettings,\n appSettingsComponent,\n appData,\n isInsideNewMobileApp,\n onSettingChange,\n onSettingsChange,\n appHeadersV3Enabled,\n isNonIsolatedApp,\n disableAppAssetSelection,\n isMultiRig = false,\n rig,\n maximized,\n setMaximized,\n fracFleet,\n dashboardMeta,\n well,\n wells,\n toggleAnnotationsList,\n layoutEnvironment,\n secondaryMenuItems,\n currentUser,\n appKey,\n appName,\n interventionUnit,\n globalOffsetWells,\n globalOffsetWellsVersion,\n globalOffsetWellsToken,\n reloadApp,\n}: UseAppCommonsValueParam) => {\n return useMemo(\n (): AppCommonsContextTypeInternal => ({\n app,\n appKey,\n appName,\n onHelpCenterClick,\n removeApp: onAppRemove,\n appId,\n appSettings,\n appSettingsComponent,\n appData,\n isInsideNewMobileApp,\n onSettingChange,\n onSettingsChange,\n appHeadersV3Enabled,\n isNonIsolatedApp,\n disableAppAssetSelection,\n isMultiRig,\n rig,\n maximized,\n setMaximized,\n fracFleet,\n dashboardMeta,\n well,\n wells,\n toggleAnnotationsList,\n layoutEnvironment,\n secondaryMenuItems,\n currentUser,\n interventionUnit,\n globalOffsetWells,\n globalOffsetWellsVersion,\n globalOffsetWellsToken,\n reloadApp,\n }),\n [\n app,\n appKey,\n appName,\n onHelpCenterClick,\n onAppRemove,\n appId,\n appSettings,\n appSettingsComponent,\n appData,\n isInsideNewMobileApp,\n onSettingChange,\n onSettingsChange,\n appHeadersV3Enabled,\n isNonIsolatedApp,\n disableAppAssetSelection,\n isMultiRig,\n rig,\n maximized,\n setMaximized,\n fracFleet,\n dashboardMeta,\n well,\n wells,\n toggleAnnotationsList,\n layoutEnvironment,\n secondaryMenuItems,\n currentUser,\n interventionUnit,\n globalOffsetWells,\n globalOffsetWellsVersion,\n globalOffsetWellsToken,\n reloadApp,\n ]\n );\n};\n"],"names":["useAppCommonsValue","_ref","app","onAppRemove","onHelpCenterClick","appId","appSettings","appSettingsComponent","appData","isInsideNewMobileApp","onSettingChange","onSettingsChange","appHeadersV3Enabled","isNonIsolatedApp","disableAppAssetSelection","_ref$isMultiRig","isMultiRig","rig","maximized","setMaximized","fracFleet","dashboardMeta","well","wells","toggleAnnotationsList","layoutEnvironment","secondaryMenuItems","currentUser","appKey","appName","interventionUnit","globalOffsetWells","globalOffsetWellsVersion","globalOffsetWellsToken","reloadApp","useMemo","removeApp"],"mappings":"gCAcaA,IAAAA,EAAqB,SAiCHC,GAAA,IAhC7BC,IAAAA,IACAC,IAAAA,YACAC,IAAAA,kBACAC,IAAAA,MACAC,IAAAA,YACAC,IAAAA,qBACAC,IAAAA,QACAC,IAAAA,qBACAC,IAAAA,gBACAC,IAAAA,iBACAC,IAAAA,oBACAC,IAAAA,iBACAC,IAAAA,yBAAwBC,EAAAd,EACxBe,WAAAA,cAAkBD,EAClBE,IAAAA,IACAC,IAAAA,UACAC,IAAAA,aACAC,IAAAA,UACAC,IAAAA,cACAC,IAAAA,KACAC,IAAAA,MACAC,IAAAA,sBACAC,IAAAA,kBACAC,IAAAA,mBACAC,IAAAA,YACAC,IAAAA,OACAC,IAAAA,QACAC,IAAAA,iBACAC,IAAAA,kBACAC,IAAAA,yBACAC,IAAAA,uBACAC,IAAAA,UAEA,OAAOC,GACL,WAAA,MAAsC,CACpCjC,IAAAA,EACA0B,OAAAA,EACAC,QAAAA,EACAzB,kBAAAA,EACAgC,UAAWjC,EACXE,MAAAA,EACAC,YAAAA,EACAC,qBAAAA,EACAC,QAAAA,EACAC,qBAAAA,EACAC,gBAAAA,EACAC,iBAAAA,EACAC,oBAAAA,EACAC,iBAAAA,EACAC,yBAAAA,EACAE,WAAAA,EACAC,IAAAA,EACAC,UAAAA,EACAC,aAAAA,EACAC,UAAAA,EACAC,cAAAA,EACAC,KAAAA,EACAC,MAAAA,EACAC,sBAAAA,EACAC,kBAAAA,EACAC,mBAAAA,EACAC,YAAAA,EACAG,iBAAAA,EACAC,kBAAAA,EACAC,yBAAAA,EACAC,uBAAAA,EACAC,UAAAA,EACD,GACD,CACEhC,EACA0B,EACAC,EACAzB,EACAD,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAE,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAG,EACAC,EACAC,EACAC,EACAC,GAGN"}
@@ -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;AAqKxF,eAAO,MAAM,2BAA2B,EAAE,EAAE,CAAC,KAAK,CAQjD,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"}
@@ -1,2 +1,2 @@
1
- import s from"@babel/runtime/helpers/defineProperty";import o from"@babel/runtime/helpers/slicedToArray";import{memo as c,useState as i,useMemo as n}from"react";import t from"classnames";import{QueryClient as e,QueryClientProvider as r}from"@tanstack/react-query";import{Modal as l}from"../Modal/Modal.js";import{OffsetWellsButton as m}from"../OffsetWellsButton/OffsetWellsButton.js";import{Button as a}from"../Button/Button.js";import p from"./ModalTitle/ModalTitle.js";import u from"./AssetFilters/AssetFilters.js";import d from"./PadsTable/PadsTable.js";import{usePads as j}from"./hooks/usePads.js";import I from"./Map/Map.js";import{PadStatus as f}from"./types.js";import{useModalHandlers as O}from"./useModalHandlers.js";import{BASE_FILTERS as b}from"./constants.js";import{usePadsByRadius as h}from"./hooks/usePadsByRadius.js";import C from"./CompletionsOffsetWellPicker.scss.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@icon-park/react/es/all";import{jsxs as g,Fragment as M,jsx as P}from"react/jsx-runtime";import"../../icons/IconParkProvider.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import{Global as y}from"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";function S(s,o){var c=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);o&&(i=i.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),c.push.apply(c,i)}return c}function v(o){for(var c=1;c<arguments.length;c++){var i=null!=arguments[c]?arguments[c]:{};c%2?S(Object(i),!0).forEach((function(c){s(o,c,i[c])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(i)):S(Object(i)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(i,s))}))}return o}var F=c((function(s){var c=s.selectedPadId,e=s.selectedOffsetWellIds,r=s.onOffsetWellsSelect,S=s.companyId,F=s.maxRadiusInMiles,W=s.well,k=s.wells,A=s.isGlobalSelector,w=s.testId,D=s.buttonLabel,x=i(!0),B=o(x,2),R=B[0],T=B[1],L=i(!0),E=o(L,2),G=E[0],z=E[1],N=i((function(){return v(v({},b),{},{radiusMiles:F})})),U=o(N,2),V=U[0],q=U[1],H=i((function(){return v(v({},V),{},{padStatus:f.All})})),K=o(H,1)[0],Z=G?V:K,J=j({companyId:S,padStatus:Z.padStatus,well:W,wells:k,selectedOffsetWellIds:e}),Q=J.pads,X=J.isBackgroundDataLoading,Y=J.isSelectedPadsLoading,$=h({pads:Q,selectedPadId:c,radiusMiles:Z.radiusMiles}),_=O({pads:$,selectedOffsetWellIds:e,onOffsetWellsSelect:r}),ss=_.isModalOpen,os=_.handleOpenModal,cs=_.handleCloseModal,is=_.handleSaveSelectedWellIds,ns=_.handleCancelButtonClick,ts=_.handleResetSelection,es=_.localSelectedOffsetWellIds,rs=_.setLocalSelectedOffsetWellIds,ls=n((function(){return $?$.filter((function(s){return s.id.toString()!==(null==c?void 0:c.toString())})).flatMap((function(s){return s.wells.map((function(s){return s.id}))})):[]}),[$,c]),ms=n((function(){return $?$.filter((function(s){return s.wells.some((function(s){return es.includes(s.id)}))})):[]}),[$,es]);return g(M,{children:[P(m,{wells:e.length,"data-testid":w,icon:A?P(y,{size:20,className:C.buttonIcon}):void 0,onClick:os,label:D}),P(l,{open:ss,size:"fullscreen",onClose:cs,primaryActionText:"Select Wells (".concat(es.length,")"),primaryActionHandler:is,secondaryActionText:"Cancel",secondaryActionHandler:ns,actions:[P(a,{type:"secondaryDestructive",onClick:ts,children:"Reset"},"clear-filters")],title:P(p,{total:$.length?$.length-1:0,selected:ms.length,isMapVisible:R,isFiltersVisible:G,toggleMapVisibility:function(){return T((function(s){return!s}))},toggleFiltersVisibility:function(){return z((function(s){return!s}))},onModalClose:cs,isBackgroundDataLoading:X}),children:g("div",{className:C.modalContent,children:[R&&P(I,{wells:k,well:W,pads:$,selectedOffsetWellsIds:es,onOffsetWellIdsSelect:rs,radiusMiles:Z.radiusMiles,setFilters:q,maxRadiusInMiles:F}),g("div",{className:t(C.tableContainer,R?C.tableContainerWithMap:C.tableContainerWithoutMap),children:[G&&P(u,{pads:$,selectedPadId:c,filters:Z,setFilters:q}),P(d,{allWellIds:ls,pads:$,selectedPadId:c,selectedOffsetWellIds:es,onOffsetWellIdsSelect:rs,filters:Z,isSelectedPadsLoading:Y})]})]})})]})})),W=function(s){var o=n((function(){return new e}),[]);return P(r,{client:o,children:P(F,v({},s))})};export{W as CompletionsOffsetWellPicker};
1
+ import s from"@babel/runtime/helpers/defineProperty";import o from"@babel/runtime/helpers/slicedToArray";import{memo as i,useState as c,useMemo as n}from"react";import t from"classnames";import{QueryClient as e,QueryClientProvider as r}from"@tanstack/react-query";import{Modal as l}from"../Modal/Modal.js";import{OffsetWellsButton as m}from"../OffsetWellsButton/OffsetWellsButton.js";import{Button as a}from"../Button/Button.js";import p from"./ModalTitle/ModalTitle.js";import u from"./AssetFilters/AssetFilters.js";import d from"./PadsTable/PadsTable.js";import{usePads as j}from"./hooks/usePads.js";import I from"./Map/Map.js";import{PadStatus as f}from"./types.js";import{useModalHandlers as O}from"./useModalHandlers.js";import{BASE_FILTERS as b,DEFAULT_RADIUS_MILES as h}from"./constants.js";import{usePadsByRadius as C}from"./hooks/usePadsByRadius.js";import M from"./CompletionsOffsetWellPicker.scss.js";import"@babel/runtime/helpers/objectWithoutProperties";import"@icon-park/react/es/all";import{jsxs as g,Fragment as P,jsx as y}from"react/jsx-runtime";import"../../icons/IconParkProvider.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import{Global as S}from"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";function v(s,o){var i=Object.keys(s);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(s);o&&(c=c.filter((function(o){return Object.getOwnPropertyDescriptor(s,o).enumerable}))),i.push.apply(i,c)}return i}function F(o){for(var i=1;i<arguments.length;i++){var c=null!=arguments[i]?arguments[i]:{};i%2?v(Object(c),!0).forEach((function(i){s(o,i,c[i])})):Object.getOwnPropertyDescriptors?Object.defineProperties(o,Object.getOwnPropertyDescriptors(c)):v(Object(c)).forEach((function(s){Object.defineProperty(o,s,Object.getOwnPropertyDescriptor(c,s))}))}return o}var W=i((function(s){var i=s.selectedPadId,e=s.selectedOffsetWellIds,r=s.onOffsetWellsSelect,v=s.companyId,W=s.maxRadiusInMiles,k=s.well,A=s.wells,w=s.isGlobalSelector,D=s.testId,x=s.buttonLabel,B=c(!0),R=o(B,2),T=R[0],L=R[1],E=c(!0),G=o(E,2),z=G[0],N=G[1],U=c((function(){return F(F({},b),{},{radiusMiles:void 0===W?h:Math.min(h,W)})})),V=o(U,2),q=V[0],H=V[1],K=c((function(){return F(F({},q),{},{padStatus:f.All})})),Z=o(K,1)[0],J=n((function(){return z?q:F(F({},Z),{},{radiusMiles:q.radiusMiles})}),[z,q,Z]),Q=j({companyId:v,padStatus:J.padStatus,well:k,wells:A,selectedOffsetWellIds:e}),X=Q.pads,Y=Q.isBackgroundDataLoading,$=Q.isSelectedPadsLoading,_=C({pads:X,selectedPadId:i,radiusMiles:J.radiusMiles}),ss=O({pads:X,selectedOffsetWellIds:e,onOffsetWellsSelect:r}),os=ss.isModalOpen,is=ss.handleOpenModal,cs=ss.handleCloseModal,ns=ss.handleSaveSelectedWellIds,ts=ss.handleCancelButtonClick,es=ss.handleResetSelection,rs=ss.localSelectedOffsetWellIds,ls=ss.setLocalSelectedOffsetWellIds,ms=n((function(){return _?_.filter((function(s){return s.id.toString()!==(null==i?void 0:i.toString())})).flatMap((function(s){return s.wells.map((function(s){return s.id}))})):[]}),[_,i]),as=n((function(){return _?_.filter((function(s){return s.wells.some((function(s){return rs.includes(s.id)}))})):[]}),[_,rs]);return g(P,{children:[y(m,{wells:e.length,"data-testid":D,icon:w?y(S,{size:20,className:M.buttonIcon}):void 0,onClick:is,label:x}),y(l,{open:os,size:"fullscreen",onClose:cs,primaryActionText:"Select Wells (".concat(rs.length,")"),primaryActionHandler:ns,secondaryActionText:"Cancel",secondaryActionHandler:ts,actions:[y(a,{type:"secondaryDestructive",onClick:es,children:"Reset"},"clear-filters")],title:y(p,{total:_.length?_.length-1:0,selected:as.length,isMapVisible:T,isFiltersVisible:z,toggleMapVisibility:function(){return L((function(s){return!s}))},toggleFiltersVisibility:function(){return N((function(s){return!s}))},onModalClose:cs,isBackgroundDataLoading:Y}),children:g("div",{className:M.modalContent,children:[T&&y(I,{wells:A,well:k,pads:_,selectedOffsetWellsIds:rs,onOffsetWellIdsSelect:ls,radiusMiles:J.radiusMiles,setFilters:H,maxRadiusInMiles:W}),g("div",{className:t(M.tableContainer,T?M.tableContainerWithMap:M.tableContainerWithoutMap),children:[z&&y(u,{pads:_,selectedPadId:i,filters:J,setFilters:H}),y(d,{allWellIds:ms,pads:_,selectedPadId:i,selectedOffsetWellIds:rs,onOffsetWellIdsSelect:ls,filters:J,isSelectedPadsLoading:$})]})]})})]})})),k=function(s){var o=n((function(){return new e}),[]);return y(r,{client:o,children:y(W,F({},s))})};export{k as CompletionsOffsetWellPicker};
2
2
  //# sourceMappingURL=CompletionsOffsetWellPicker.js.map