@corva/ui 3.50.0-0 → 3.50.0-2

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 (33) hide show
  1. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  2. package/cjs-bundle/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  3. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js +1 -1
  4. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js.map +1 -1
  5. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  6. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  7. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  8. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  9. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAssetsData.js +1 -1
  10. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAssetsData.js.map +1 -1
  11. package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
  12. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  13. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  14. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.d.ts +5 -1
  15. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.d.ts.map +1 -1
  16. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js +1 -1
  17. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AdvancedSearch.js.map +1 -1
  18. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.d.ts +7 -3
  19. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.d.ts.map +1 -1
  20. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  21. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  22. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts +5 -1
  23. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts.map +1 -1
  24. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  25. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  26. package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts +1 -1
  27. package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts.map +1 -1
  28. package/components/OffsetWellPickerV5/effects/useAssetsData.js +1 -1
  29. package/components/OffsetWellPickerV5/effects/useAssetsData.js.map +1 -1
  30. package/mcp-server/server.mjs +723 -34
  31. package/mcp-server/server.mjs.map +1 -1
  32. package/package.json +9 -1
  33. package/tsconfig.tsbuildinfo +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),s=require("react"),r=require("classnames"),o=require("prop-types"),t=require("lodash"),n=require("@material-ui/core"),i=require("../../../constants.js"),c=require("./constants.js");require("../../../../../componentsV2/Text/Text.js"),require("../../../../../componentsV2/Grid/Grid.js"),require("../../../../../componentsV2/Grid/Cell.js"),require("@babel/runtime/helpers/defineProperty");var u=require("react/jsx-runtime");require("../../../../../componentsV2/Header/Header.scss.js"),require("../../../../../componentsV2/Button/Button.js"),require("../../../../../componentsV2/ButtonIcon/ButtonIcon.js");var a=require("../../../../../componentsV2/Tooltip/Tooltip.js");require("../../../../../componentsV2/Popover/Popover.js"),require("../../../../../componentsV2/Radio/Radio.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("../../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../../componentsV2/Checkbox/Checkbox.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../../componentsV2/TextInput/TextInput.js"),require("../../../../../componentsV2/Label/Label.js"),require("../../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js");var p=require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.js");require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../../componentsV2/TextLink/TextLink.js");var l=require("../../../../../componentsV2/LoaderCircular/LoaderCircular.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../../../componentsV2/Chip/Chip.js"),require("../../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../../componentsV2/Avatar/Avatar.js"),require("../../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../../componentsV2/Paper/Paper.js"),require("../../../../../componentsV2/ModalWindow/ModalWindow.js"),require("uuid"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),require("../../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../../componentsV2/Menu/Menu.js"),require("@icon-park/react/es/all"),require("../../../../../icons/IconParkProvider.js"),require("../../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../../icons/customIcons/icons/Attention.js"),require("../../../../../icons/customIcons/icons/Collapse.js"),require("../../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../../icons/customIcons/icons/Expand.js"),require("../../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../../icons/customIcons/icons/Search.js"),require("../../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../../icons/customIcons/icons/Radio.js"),require("../../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../../icons/customIcons/icons/Pad.js"),require("../../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../../icons/customIcons/icons/Global.js"),require("../../../../../icons/customIcons/icons/Program.js"),require("../../../../../icons/customIcons/icons/Rig.js"),require("../../../../../icons/customIcons/icons/Well.js"),require("../../../../../icons/customIcons/icons/Gap.js"),require("../../../../../icons/customIcons/icons/Pin.js"),require("../../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../../icons/customIcons/icons/Archive.js"),require("../../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../../icons/customIcons/icons/Archived.js"),require("../../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../../icons/customIcons/icons/Lasso.js"),require("../../../../../icons/customIcons/icons/Radius.js"),require("../../../../../componentsV2/utils.js"),require("../../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../../componentsV2/Counter/Counter.js"),require("../../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../../componentsV2/TemplatesControl/Store/utils.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../../componentsV2/TemplatesControl/types.js"),require("../../../../../utils/index.js"),require("../../../../../clients/jsonApi/index.js"),require("../../../../../permissions/PermissionsContext.js"),require("../../../../../permissions/constants/index.js"),require("../../../../../permissions/withPermissionsHOC.js"),require("../../../../../permissions/ProvidePermissions.js"),require("../../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../../componentsV2/Switch/Switch.js"),require("../../../../../componentsV2/Tabs/Tabs.js"),require("../../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../../utils/main.js"),require("../../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../../componentsV2/AppFooter/AppFooter.js"),require("immutable"),require("../../../../../constants/goals.js"),require("../../../../../constants/segment.js"),require("../../../../../constants/alerts.js"),require("../../../../../constants/apps.js"),require("../../../../../constants/drillstring.js"),require("../../../../../constants/completion.js"),require("../../../../../constants/appPackages.js"),require("../../../../../constants/notifications.js"),require("../../../../../constants/feed.js"),require("../../../../../constants/bha.js"),require("../../../../../constants/corvaCompanyId.js"),require("../../../../GradientManager/configuration/constants.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router"),require("../../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../../PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../../constants/streamSourceType.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("moment"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../../AppIcon/AppIcon.js"),require("../../../../../utils/getSingleAsset.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../../clients/subscriptions/constants.js"),require("querystring"),require("uuid/v1"),require("../../../../../clients/subscriptions.v1.js"),require("../../../../../clients/subscriptions/subscriptions-client.factory.js"),require("jsona"),require("../../../../../utils/env.js"),require("../../../../StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../../clients/api/apiCore.js"),require("../../../../../clients/constants.js"),require("../../../../../clients/sso/auth0.js"),require("../../../../../clients/sso/oauth2.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../../componentsV2/AppContainer/headerCommon.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../../componentsV2/Autocomplete/Autocomplete.scss.js"),require("../../../../../componentsV2/Menu/MenuItem/MenuItem.js"),require("../../../../../componentsV2/Autocomplete/AutocompleteListBox.js"),require("../../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../../componentsV2/Slider/constants.js"),require("../../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../../componentsV2/Slider/Slider.scss.js");var m=d(e),q=d(r),j=d(o),A=n.makeStyles((function(e){return{assetListWrapper:{margin:"8px 0",flex:1},assetListContainer:{maxHeight:"350px",backgroundColor:e.palette.background.paper,position:"relative",overflow:"auto"},listSection:{backgroundColor:"inherit"},ul:{backgroundColor:"inherit",padding:0},listGutters:{padding:"2px 8px"},assetTypeSubheaderChip:{height:"24px",color:e.palette.primary.text6},assetItemTextRoot:{minWidth:"300px"},assetItemTextPrimary:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},loadingInfo:{textAlign:"center",fontSize:"12px",lineHeight:"17px",color:e.palette.primary.text8},empty:{color:e.palette.primary.text6,fontSize:"12px",fontStyle:"italic",marginLeft:"8px"},menuItem:{display:"flex",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"},allMenuItem:{boxShadow:"inset 0px -1px 0px rgba(255, 255, 255, 0.25)"},statusWrapper:{display:"flex",alignItems:"center",width:"102px",flexShrink:0},status:{width:"8px",height:"8px",marginRight:"8px",borderRadius:"50%",cursor:"default"},controlWrapper:{width:40,height:40,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},assetNameWrapper:{flexGrow:1,overflow:"hidden"}}})),V=function(e){var r=e.subjectWellId,o=e.assetType,d=e.loading,j=e.groupedAssets,V=e.hasMore,h=e.onClickAsset,C=e.onClickAllAsset,I=e.onScrollReached,x=e.loadingAssetIds,g=A(),v=s.useRef(null),S=s.useMemo((function(){if(1===j.length){var e=j[0][1].filter((function(e){return!e.disabledReason})),s=e.filter((function(e){return e.checked})).length;return[s>0&&e.length!==s,e.length>0&&s===e.length]}return[!1,!1]}),[j]),f=m.default(S,2),b=f[0],T=f[1];return u.jsxs("div",{className:g.assetListWrapper,children:[u.jsxs(n.List,{className:g.assetListContainer,subheader:u.jsx("li",{}),onScroll:function(e){var s=e.target,r=s.scrollHeight,o=s.scrollTop,t=s.offsetHeight;r!==t&&(Math.abs(r-(o+t))<1&&V&&I("bottom"))},ref:v,children:[j.map((function(e){var s=m.default(e,2),d=s[0],j=s[1];return u.jsx("li",{className:g.listSection,children:u.jsxs("ul",{className:g.ul,children:[!o&&u.jsx(n.ListSubheader,{classes:{gutters:g.listGutters},children:u.jsx(n.Chip,{className:g.assetTypeSubheaderChip,variant:"outlined",label:c.SEARCH_CATEGORIES[d].labelPlural},d)}),o&&u.jsx(n.ListItem,{button:!0,classes:{gutters:g.listGutters},onClick:function(){return C(!T,d)},children:u.jsx("div",{className:q.default(g.menuItem,g.allMenuItem),children:u.jsxs("div",{children:[u.jsx(n.Checkbox,{checked:T,indeterminate:b,style:{marginRight:8}}),"All"]})})}),j.map((function(e){var s,o=e.type===c.SEARCH_CATEGORIES.well.name?!e.visibility.includes("visible")||!e.redirectAssetId||e.redirectAssetId===r:!!e.disabledReason,m="item-".concat(d,"-").concat(e.asset_id||e.id),q=u.jsx(n.ListItem,{"data-testid":"".concat("AssetResultSection","_item_").concat(e.name,"MenuItem"),button:!0,classes:{gutters:g.listGutters},disabled:o,onClick:function(){return h(e,d)},children:u.jsxs("div",{className:g.menuItem,children:[u.jsx("div",{className:g.controlWrapper,children:null!=x&&x.includes(e.redirectAssetId)?u.jsx(l.LoaderCircular,{size:"small"}):u.jsx(n.Checkbox,{checked:e.checked,indeterminate:e.indeterminate})}),u.jsx("div",{className:g.assetNameWrapper,children:u.jsx(p.TextMiddleTruncated,{children:e.name})}),u.jsxs("div",{className:g.statusWrapper,children:[u.jsx("div",{className:g.status,style:{background:null===(s=i.StatusOptions.find((function(s){return s.value===e.status})))||void 0===s?void 0:s.color}}),t.startCase(e.status)]})]})},m);return e.disabledReason?u.jsx(a.Tooltip,{title:e.disabledReason,children:u.jsx("span",{children:q})},m):q}))]})},"section-".concat(d))})),!d&&t.isEmpty(j)&&u.jsx("div",{className:g.empty,children:"Your search did not match any Asset Name"})]}),d&&u.jsx(n.Typography,{"data-testid":"".concat("AssetResultSection","_loading"),className:g.loadingInfo,children:"Loading..."})]})};V.propTypes={subjectWellId:j.default.number.isRequired,assetType:j.default.string.isRequired,loading:j.default.bool.isRequired,groupedAssets:j.default.arrayOf(j.default.shape({})).isRequired,hasMore:j.default.bool.isRequired,onClickAsset:j.default.func.isRequired,onClickAllAsset:j.default.func.isRequired,onScrollReached:j.default.func.isRequired,loadingAssetIds:j.default.arrayOf(j.default.number)},V.defaultProps={loadingAssetIds:[]},exports.AssetResultSection=V;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),s=require("react"),r=require("classnames"),o=require("prop-types"),t=require("lodash"),n=require("@material-ui/core"),i=require("../../../constants.js"),c=require("./constants.js");require("../../../../../componentsV2/Text/Text.js"),require("../../../../../componentsV2/Grid/Grid.js"),require("../../../../../componentsV2/Grid/Cell.js"),require("@babel/runtime/helpers/defineProperty");var u=require("react/jsx-runtime");require("../../../../../componentsV2/Header/Header.scss.js"),require("../../../../../componentsV2/Button/Button.js"),require("../../../../../componentsV2/ButtonIcon/ButtonIcon.js");var a=require("../../../../../componentsV2/Tooltip/Tooltip.js");require("../../../../../componentsV2/Popover/Popover.js"),require("../../../../../componentsV2/Radio/Radio.js"),require("@babel/runtime/helpers/objectWithoutProperties"),require("../../../../../componentsV2/RadioAndCheckboxGroup/RadioAndCheckboxGroup.scss.js"),require("../../../../../componentsV2/Checkbox/Checkbox.js"),require("@babel/runtime/helpers/toConsumableArray"),require("../../../../../componentsV2/TextInput/TextInput.js"),require("../../../../../componentsV2/Label/Label.js"),require("../../../../../componentsV2/TextEndTruncated/TextEndTruncated.scss.js");var p=require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.js");require("../../../../../componentsV2/TextMiddleTruncated/TextMiddleTruncated.constants.js"),require("../../../../../componentsV2/TextLink/TextLink.js");var l=require("../../../../../componentsV2/LoaderCircular/LoaderCircular.js");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../../../../componentsV2/Chip/Chip.js"),require("../../../../../componentsV2/ChipAlert/ChipAlert.js"),require("../../../../../componentsV2/ChipIndicator/ChipIndicator.js"),require("../../../../../componentsV2/Avatar/Avatar.js"),require("../../../../../componentsV2/AvatarGroup/AvatarGroup.js"),require("@material-ui/lab"),require("../../../../../componentsV2/ToggleButtons/ToggleButtons.scss.js"),require("../../../../../componentsV2/Paper/Paper.js"),require("../../../../../componentsV2/ModalWindow/ModalWindow.js"),require("uuid"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/DcFullscreenElemsCoordinatorProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/DcFullscreenElemsCoordinatorProvider/IsInsideDcFullscreenElemProvider.js"),require("../../../../DevCenter/DevCenterAppContainer/components/IsInsideIsolatedDcAppProvider/IsInsideIsolatedDcAppProvider.js"),require("../../../../../componentsV2/Modal/Modal.scss.js"),require("../../../../../componentsV2/Menu/Menu.js"),require("@icon-park/react/es/all"),require("../../../../../icons/IconParkProvider.js"),require("../../../../../icons/customIcons/icons/AddMessage.js"),require("../../../../../icons/customIcons/icons/Attention.js"),require("../../../../../icons/customIcons/icons/Collapse.js"),require("../../../../../icons/customIcons/icons/Dashboard.js"),require("../../../../../icons/customIcons/icons/Expand.js"),require("../../../../../icons/customIcons/icons/FolderClosed.js"),require("../../../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../../../icons/customIcons/icons/FolderOpened.js"),require("../../../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../../../icons/customIcons/icons/Search.js"),require("../../../../../icons/customIcons/icons/SearchOne.js"),require("../../../../../icons/customIcons/icons/Wellhub.js"),require("../../../../../icons/customIcons/icons/MultiRuler.js"),require("../../../../../icons/customIcons/icons/Checkbox.js"),require("../../../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../../../icons/customIcons/icons/Radio.js"),require("../../../../../icons/customIcons/icons/RadioChecked.js"),require("../../../../../icons/customIcons/icons/SimulFrac.js"),require("../../../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../../../icons/customIcons/icons/CautionFilled.js"),require("../../../../../icons/customIcons/icons/MoreApp.js"),require("../../../../../icons/customIcons/icons/Pad.js"),require("../../../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../../../icons/customIcons/icons/FracFleet.js"),require("../../../../../icons/customIcons/icons/Global.js"),require("../../../../../icons/customIcons/icons/Program.js"),require("../../../../../icons/customIcons/icons/Rig.js"),require("../../../../../icons/customIcons/icons/Well.js"),require("../../../../../icons/customIcons/icons/Gap.js"),require("../../../../../icons/customIcons/icons/Pin.js"),require("../../../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../../../icons/customIcons/icons/Archive.js"),require("../../../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../../../icons/customIcons/icons/Unarchive.js"),require("../../../../../icons/customIcons/icons/Archived.js"),require("../../../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../../../icons/customIcons/icons/CloudDelete.js"),require("../../../../../icons/customIcons/icons/Lasso.js"),require("../../../../../icons/customIcons/icons/Radius.js"),require("../../../../../componentsV2/utils.js"),require("../../../../../componentsV2/Hint/Hint.scss.js"),require("../../../../../componentsV2/Counter/Counter.js"),require("../../../../../componentsV2/BadgeBase/BadgeBase.scss.js"),require("../../../../../componentsV2/TemplatesControl/TemplatesControl.js"),require("zustand"),require("../../../../../componentsV2/TemplatesControl/utils.js"),require("../../../../../componentsV2/TemplatesControl/icons/folder/index.js"),require("../../../../../componentsV2/TemplatesControl/Store/utils.js"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("../../../../../componentsV2/TemplatesControl/types.js"),require("../../../../../utils/index.js"),require("../../../../../clients/jsonApi/index.js"),require("../../../../../permissions/PermissionsContext.js"),require("../../../../../permissions/constants/index.js"),require("../../../../../permissions/withPermissionsHOC.js"),require("../../../../../permissions/ProvidePermissions.js"),require("../../../../../componentsV2/BadgeDot/BadgeDot.scss.js"),require("../../../../../componentsV2/LoaderLinear/LoaderLinear.scss.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.constants.js"),require("../../../../../componentsV2/LoaderLogo/LoaderLogo.scss.js"),require("../../../../../componentsV2/Switch/Switch.js"),require("../../../../../componentsV2/Tabs/Tabs.js"),require("../../../../../componentsV2/EmptyState/EmptyState.scss.js"),require("../../../../../componentsV2/FileIcon/FileIcon.js"),require("../../../../../componentsV2/Tag/Tag.js"),require("react-dropzone"),require("../../../../../componentsV2/FilesDropzone/FilesDropzone.scss.js"),require("../../../../../componentsV2/FilesLoader/FilesLoader.scss.js"),require("../../../../../componentsV2/FilesProcessor/FilesProcessor.scss.js"),require("../../../../../componentsV2/Skeleton/Skeleton.scss.js"),require("../../../../../utils/main.js"),require("../../../../../componentsV2/CopyToClipboard/CopyToClipboard.scss.js"),require("../../../../../componentsV2/Stepper/Step/Step.scss.js"),require("../../../../../componentsV2/Stepper/Stepper.scss.js"),require("../../../../../componentsV2/ButtonLive/ButtonLive.js"),require("../../../../../componentsV2/ButtonText/ButtonText.js"),require("../../../../../componentsV2/IndicatorLive/IndicatorLive.js"),require("../../../../../componentsV2/Accordion/Accordion.scss.js"),require("../../../../../componentsV2/Breadcrumbs/Breadcrumbs.scss.js"),require("../../../../../componentsV2/BadgeComment/BadgeComment.js"),require("../../../../../componentsV2/AppContainer/AppContainer.js"),require("../../../../../componentsV2/AppContainer/AppContainer.constants.js"),require("../../../../../componentsV2/AppFooter/AppFooter.js"),require("immutable"),require("../../../../../constants/goals.js"),require("../../../../../constants/segment.js"),require("../../../../../constants/alerts.js"),require("../../../../../constants/apps.js"),require("../../../../../constants/drillstring.js"),require("../../../../../constants/completion.js"),require("../../../../../constants/appPackages.js"),require("../../../../../constants/notifications.js"),require("../../../../../constants/feed.js"),require("../../../../../constants/bha.js"),require("../../../../../constants/corvaCompanyId.js"),require("../../../../GradientManager/configuration/constants.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js"),require("../../../../../componentsV2/AppHeader/AppHeader.constants.js"),require("../../../../../componentsV2/AppHeader/AppBadge/AppBadge.scss.js"),require("../../../../DevCenter/DevCenterRouterContext/DevCenterRouterContext.js"),require("../../../../DevCenter/DevCenterRouterContext/UniversalLink/UniversalLink.js"),require("react-router"),require("../../../../../componentsV2/AppHeader/AppAssets/utils.js"),require("../../../../../componentsV2/AppHeader/AppAssets/AppAssets.scss.js"),require("../../../../PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/AppHeader/PadMode/PadMode.scss.js"),require("../../../../../constants/streamSourceType.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.js"),require("../../../../../componentsV2/PadModeSelect/PadModeSelect.constants.js"),require("../../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js"),require("../../../../../componentsV2/AppHeader/V3/VersionSelect/VersionSelect.js"),require("../../../../../componentsV2/UniversalLink/UniversalLink.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AssetChips/AssetChips.scss.js"),require("moment"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppHeader/V3/DqStatusIcon/DqStatusIcon.constants.js"),require("../../../../../componentsV2/AppFooter/DqPopover/DqStatusIcon/DqStatusIcon.js"),require("../../../../../componentsV2/AppDqPopover/DqAlertTooltip/DqAlertTooltip.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAlert/DqAlert.scss.js"),require("../../../../../componentsV2/AppDqPopover/DqAsset/DqAsset.scss.js"),require("../../../../../componentsV2/AppDqPopover/AppDqPopover.scss.js"),require("../../../../AppIcon/AppIcon.js"),require("../../../../../utils/getSingleAsset.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorChip/AssetSelectorChip.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/constants.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/AssetSelectorSelect.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelectorSelect/loadAssets.js"),require("../../../../../componentsV2/AppHeader/V3/AssetSelector/AssetSelector.scss.js"),require("../../../../../clients/subscriptions/constants.js"),require("querystring"),require("uuid/v1"),require("../../../../../clients/subscriptions.v1.js"),require("../../../../../clients/subscriptions/subscriptions-client.factory.js"),require("jsona"),require("../../../../../utils/env.js"),require("../../../../StatusBadge/constants.js"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("../../../../../clients/api/apiCore.js"),require("../../../../../clients/constants.js"),require("../../../../../clients/sso/auth0.js"),require("../../../../../clients/sso/oauth2.js"),require("lodash/isEmpty"),require("lodash/sortBy"),require("../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.constants.js"),require("../../../../../componentsV2/AppContainer/headerCommon.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AppTitle/AppTitle.scss.js"),require("../../../../../componentsV2/AppHeader/V3/constants.scss.js"),require("@babel/runtime/helpers/typeof"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.js"),require("../../../../../componentsV2/AppHeader/V3/SettingsButton/SettingsButton.constants.js"),require("../../../../../componentsV2/AppSettings/AppSettings.js"),require("../../../../../componentsV2/AppSettings/AppSettings.constants.js"),require("../../../../../componentsV2/AppSettings/AppSettingsPinningContext.js"),require("../../../../../componentsV2/AppSizeProvider/AppSizeProvider.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.constants.js"),require("../../../../../componentsV2/AppHeader/V3/Actions/Actions.scss.js"),require("../../../../../componentsV2/AppHeader/V3/AppHeaderV3.scss.js"),require("../../../../../componentsV2/AppHeader/AppHeader.scss.js"),require("../../../../../componentsV2/OffsetWellsButton/OffsetWellsButton.js"),require("../../../../../componentsV2/Autocomplete/Autocomplete.scss.js"),require("../../../../../componentsV2/Menu/MenuItem/MenuItem.js"),require("../../../../../componentsV2/Autocomplete/AutocompleteListBox.js"),require("../../../../../componentsV2/AppSettingsDivider/AppSettingsDivider.scss.js"),require("../../../../../componentsV2/WellArchivedMessage/WellArchivedMessage.js"),require("../../../../../componentsV2/DatePicker/DatePicker.js"),require("../../../../../componentsV2/DragHandle/DragHandle.js"),require("../../../../../componentsV2/CompletionsOffsetWellPicker/CompletionsOffsetWellPicker.js"),require("../../../../../componentsV2/Slider/constants.js"),require("../../../../../componentsV2/Slider/components/SliderThumb.js"),require("../../../../../componentsV2/Slider/Slider.scss.js");var m=d(e),q=d(r),j=d(o),A=n.makeStyles((function(e){return{assetListWrapper:{margin:"8px 0",flex:1},assetListContainer:{maxHeight:"350px",backgroundColor:e.palette.background.paper,position:"relative",overflow:"auto"},listSection:{backgroundColor:"inherit"},ul:{backgroundColor:"inherit",padding:0},listGutters:{padding:"2px 8px"},assetTypeSubheaderChip:{height:"24px",color:e.palette.primary.text6},assetItemTextRoot:{minWidth:"300px"},assetItemTextPrimary:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},loadingInfo:{textAlign:"center",fontSize:"12px",lineHeight:"17px",color:e.palette.primary.text8},empty:{color:e.palette.primary.text6,fontSize:"12px",fontStyle:"italic",marginLeft:"8px"},menuItem:{display:"flex",alignItems:"center",justifyContent:"flex-start",width:"100%",gap:"8px"},allMenuItem:{boxShadow:"inset 0px -1px 0px rgba(255, 255, 255, 0.25)"},statusWrapper:{display:"flex",alignItems:"center",width:"102px",flexShrink:0},status:{width:"8px",height:"8px",marginRight:"8px",borderRadius:"50%",cursor:"default"},controlWrapper:{width:40,height:40,display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},assetNameWrapper:{flexGrow:1,overflow:"hidden"}}})),V=function(e){var r=e.subjectWellId,o=e.assetType,d=e.loading,j=e.groupedAssets,V=e.hasMore,h=e.onClickAsset,C=e.onClickAllAsset,I=e.onLoadMore,x=e.loadingAssetIds,g=e.isLimitedOffsetWells,v=A(),S=s.useRef(null),f=s.useMemo((function(){if(1===j.length){var e=j[0][1].filter((function(e){return!e.disabledReason})),s=e.filter((function(e){return e.checked})).length,r=e.length>0&&s===e.length,o=g&&s>0;return[s>0&&s<e.length&&!o,r||o]}return[!1,!1]}),[j,g]),b=m.default(f,2),T=b[0],P=b[1];return u.jsxs("div",{className:v.assetListWrapper,children:[u.jsxs(n.List,{className:v.assetListContainer,subheader:u.jsx("li",{}),onScroll:function(e){var s=e.target,r=s.scrollHeight,o=s.scrollTop,t=s.offsetHeight;r!==t&&(Math.abs(r-(o+t))<1&&V&&!d&&I())},ref:S,children:[j.map((function(e){var s=m.default(e,2),d=s[0],j=s[1];return u.jsx("li",{className:v.listSection,children:u.jsxs("ul",{className:v.ul,children:[!o&&u.jsx(n.ListSubheader,{classes:{gutters:v.listGutters},children:u.jsx(n.Chip,{className:v.assetTypeSubheaderChip,variant:"outlined",label:c.SEARCH_CATEGORIES[d].labelPlural},d)}),o&&u.jsx(n.ListItem,{button:!0,classes:{gutters:v.listGutters},onClick:function(){return C(!P,d)},children:u.jsx("div",{className:q.default(v.menuItem,v.allMenuItem),children:u.jsxs("div",{children:[u.jsx(n.Checkbox,{checked:P,indeterminate:T,style:{marginRight:8}}),"All"]})})}),j.map((function(e){var s,o=e.type===c.SEARCH_CATEGORIES.well.name?!e.visibility.includes("visible")||!e.redirectAssetId||e.redirectAssetId===r:!!e.disabledReason,m="item-".concat(d,"-").concat(e.asset_id||e.id),q=u.jsx(n.ListItem,{"data-testid":"".concat("AssetResultSection","_item_").concat(e.name,"MenuItem"),button:!0,classes:{gutters:v.listGutters},disabled:o,onClick:function(){return h(e,d)},children:u.jsxs("div",{className:v.menuItem,children:[u.jsx("div",{className:v.controlWrapper,children:null!=x&&x.includes(e.redirectAssetId)?u.jsx(l.LoaderCircular,{size:"small"}):u.jsx(n.Checkbox,{checked:e.checked,indeterminate:e.indeterminate})}),u.jsx("div",{className:v.assetNameWrapper,children:u.jsx(p.TextMiddleTruncated,{children:e.name})}),u.jsxs("div",{className:v.statusWrapper,children:[u.jsx("div",{className:v.status,style:{background:null===(s=i.StatusOptions.find((function(s){return s.value===e.status})))||void 0===s?void 0:s.color}}),t.startCase(e.status)]})]})},m);return e.disabledReason?u.jsx(a.Tooltip,{title:e.disabledReason,children:u.jsx("span",{children:q})},m):q}))]})},"section-".concat(d))})),!d&&t.isEmpty(j)&&u.jsx("div",{className:v.empty,children:"Your search did not match any Asset Name"})]}),d&&u.jsx(n.Typography,{"data-testid":"".concat("AssetResultSection","_loading"),className:v.loadingInfo,children:"Loading..."})]})};V.propTypes={subjectWellId:j.default.number.isRequired,assetType:j.default.string.isRequired,loading:j.default.bool.isRequired,groupedAssets:j.default.arrayOf(j.default.shape({})).isRequired,hasMore:j.default.bool.isRequired,onClickAsset:j.default.func.isRequired,onClickAllAsset:j.default.func.isRequired,onLoadMore:j.default.func.isRequired,loadingAssetIds:j.default.arrayOf(j.default.number),isLimitedOffsetWells:j.default.bool},V.defaultProps={loadingAssetIds:[],isLimitedOffsetWells:!1},exports.AssetResultSection=V;
2
2
  //# sourceMappingURL=AssetResultSection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AssetResultSection.js","sources":["../../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js"],"sourcesContent":["import { useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { isEmpty, startCase } from 'lodash';\nimport {\n makeStyles,\n List,\n ListSubheader,\n Chip,\n ListItem,\n Checkbox,\n Typography,\n} from '@material-ui/core';\n\nimport { StatusOptions } from '../../../constants';\n\nimport { SEARCH_CATEGORIES } from './constants';\n\nimport { LoaderCircular, TextMiddleTruncated, Tooltip } from '~/componentsV2';\n\nconst PAGE_NAME = 'AssetResultSection';\nconst useStyles = makeStyles(theme => ({\n assetListWrapper: {\n margin: '8px 0',\n flex: 1,\n },\n assetListContainer: {\n maxHeight: '350px',\n backgroundColor: theme.palette.background.paper,\n position: 'relative',\n overflow: 'auto',\n },\n listSection: {\n backgroundColor: 'inherit',\n },\n ul: {\n backgroundColor: 'inherit',\n padding: 0,\n },\n listGutters: {\n padding: '2px 8px',\n },\n assetTypeSubheaderChip: {\n height: '24px',\n color: theme.palette.primary.text6,\n },\n assetItemTextRoot: {\n minWidth: '300px',\n },\n assetItemTextPrimary: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n loadingInfo: {\n textAlign: 'center',\n fontSize: '12px',\n lineHeight: '17px',\n color: theme.palette.primary.text8,\n },\n empty: {\n color: theme.palette.primary.text6,\n fontSize: '12px',\n fontStyle: 'italic',\n marginLeft: '8px',\n },\n menuItem: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: '100%',\n gap: '8px',\n },\n allMenuItem: {\n boxShadow: 'inset 0px -1px 0px rgba(255, 255, 255, 0.25)',\n },\n statusWrapper: {\n display: 'flex',\n alignItems: 'center',\n width: '102px',\n flexShrink: 0,\n },\n status: {\n width: '8px',\n height: '8px',\n marginRight: '8px',\n borderRadius: '50%',\n cursor: 'default',\n },\n controlWrapper: {\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n assetNameWrapper: {\n flexGrow: 1,\n overflow: 'hidden',\n },\n}));\n\nexport const AssetResultSection = ({\n subjectWellId,\n assetType,\n loading,\n groupedAssets,\n hasMore,\n onClickAsset,\n onClickAllAsset,\n onScrollReached,\n loadingAssetIds,\n}) => {\n const classes = useStyles();\n const listRef = useRef(null);\n\n const [indeterminate, isAllWellsSelected] = useMemo(() => {\n if (groupedAssets.length === 1) {\n const assets = groupedAssets[0][1];\n const selectableAssets = assets.filter(asset => !asset.disabledReason);\n const selectedCount = selectableAssets.filter(asset => asset.checked).length;\n const indeterminate = selectedCount > 0 && selectableAssets.length !== selectedCount;\n const isAllWellsSelected =\n selectableAssets.length > 0 && selectedCount === selectableAssets.length;\n return [indeterminate, isAllWellsSelected];\n }\n return [false, false];\n }, [groupedAssets]);\n\n const handleScrollList = e => {\n const { scrollHeight, scrollTop, offsetHeight } = e.target;\n\n if (scrollHeight === offsetHeight) return;\n\n const isAtBottom = Math.abs(scrollHeight - (scrollTop + offsetHeight)) < 1;\n\n if (isAtBottom && hasMore) {\n onScrollReached('bottom');\n }\n };\n\n return (\n <div className={classes.assetListWrapper}>\n <List\n className={classes.assetListContainer}\n subheader={<li />}\n onScroll={handleScrollList}\n ref={listRef}\n >\n {groupedAssets.map(([assetTypeKey, assets]) => (\n <li key={`section-${assetTypeKey}`} className={classes.listSection}>\n <ul className={classes.ul}>\n {!assetType && (\n <ListSubheader classes={{ gutters: classes.listGutters }}>\n <Chip\n key={assetTypeKey}\n className={classes.assetTypeSubheaderChip}\n variant=\"outlined\"\n label={SEARCH_CATEGORIES[assetTypeKey].labelPlural}\n />\n </ListSubheader>\n )}\n {assetType && (\n <ListItem\n button\n classes={{ gutters: classes.listGutters }}\n onClick={() => onClickAllAsset(!isAllWellsSelected, assetTypeKey)}\n >\n <div className={classNames(classes.menuItem, classes.allMenuItem)}>\n <div>\n <Checkbox\n checked={isAllWellsSelected}\n indeterminate={indeterminate}\n style={{ marginRight: 8 }}\n />\n All\n </div>\n </div>\n </ListItem>\n )}\n {assets.map(asset => {\n const isWell = asset.type === SEARCH_CATEGORIES.well.name;\n const isDisabled = isWell\n ? !asset.visibility.includes('visible') ||\n !asset.redirectAssetId ||\n asset.redirectAssetId === subjectWellId\n : !!asset.disabledReason;\n\n const assetKey = `item-${assetTypeKey}-${asset.asset_id || asset.id}`;\n\n const listItem = (\n <ListItem\n data-testid={`${PAGE_NAME}_item_${asset.name}MenuItem`}\n button\n classes={{ gutters: classes.listGutters }}\n key={assetKey}\n disabled={isDisabled}\n onClick={() => onClickAsset(asset, assetTypeKey)}\n >\n <div className={classes.menuItem}>\n <div className={classes.controlWrapper}>\n {loadingAssetIds?.includes(asset.redirectAssetId) ? (\n <LoaderCircular size=\"small\" />\n ) : (\n <Checkbox checked={asset.checked} indeterminate={asset.indeterminate} />\n )}\n </div>\n <div className={classes.assetNameWrapper}>\n <TextMiddleTruncated>{asset.name}</TextMiddleTruncated>\n </div>\n <div className={classes.statusWrapper}>\n <div\n className={classes.status}\n style={{\n background: StatusOptions.find(item => item.value === asset.status)\n ?.color,\n }}\n />\n {startCase(asset.status)}\n </div>\n </div>\n </ListItem>\n );\n\n if (asset.disabledReason) {\n return (\n <Tooltip title={asset.disabledReason} key={assetKey}>\n <span>{listItem}</span>\n </Tooltip>\n );\n }\n\n return listItem;\n })}\n </ul>\n </li>\n ))}\n {!loading && isEmpty(groupedAssets) && (\n <div className={classes.empty}>Your search did not match any Asset Name</div>\n )}\n </List>\n {loading && (\n <Typography data-testid={`${PAGE_NAME}_loading`} className={classes.loadingInfo}>\n Loading...\n </Typography>\n )}\n </div>\n );\n};\n\nAssetResultSection.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n assetType: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n groupedAssets: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n hasMore: PropTypes.bool.isRequired,\n onClickAsset: PropTypes.func.isRequired,\n onClickAllAsset: PropTypes.func.isRequired,\n onScrollReached: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n};\n\nAssetResultSection.defaultProps = {\n loadingAssetIds: [],\n};\n"],"names":["useStyles","makeStyles","theme","assetListWrapper","margin","flex","assetListContainer","maxHeight","backgroundColor","palette","background","paper","position","overflow","listSection","ul","padding","listGutters","assetTypeSubheaderChip","height","color","primary","text6","assetItemTextRoot","minWidth","assetItemTextPrimary","whiteSpace","textOverflow","loadingInfo","textAlign","fontSize","lineHeight","text8","empty","fontStyle","marginLeft","menuItem","display","alignItems","justifyContent","width","gap","allMenuItem","boxShadow","statusWrapper","flexShrink","status","marginRight","borderRadius","cursor","controlWrapper","assetNameWrapper","flexGrow","AssetResultSection","_ref","subjectWellId","assetType","loading","groupedAssets","hasMore","onClickAsset","onClickAllAsset","onScrollReached","loadingAssetIds","classes","listRef","useRef","useMemo","length","selectableAssets","filter","asset","disabledReason","selectedCount","checked","_useMemo2","_slicedToArray","_useMemo","indeterminate","isAllWellsSelected","_jsxs","className","children","List","subheader","_jsx","onScroll","e","target","scrollHeight","scrollTop","offsetHeight","Math","abs","ref","map","_ref2","_ref3","assetTypeKey","assets","jsxs","ListSubheader","gutters","Chip","variant","label","SEARCH_CATEGORIES","labelPlural","jsx","ListItem","button","onClick","classNames","Checkbox","style","_StatusOptions$find","isDisabled","type","well","name","visibility","includes","redirectAssetId","assetKey","asset_id","id","listItem","concat","disabled","LoaderCircular","size","TextMiddleTruncated","StatusOptions","find","item","value","startCase","Tooltip","title","isEmpty","Typography","propTypes","PropTypes","number","isRequired","string","bool","arrayOf","shape","func","defaultProps"],"mappings":"81bAqBMA,EAAYC,EAAAA,YAAW,SAAAC,GAAK,MAAK,CACrCC,iBAAkB,CAChBC,OAAQ,QACRC,KAAM,GAERC,mBAAoB,CAClBC,UAAW,QACXC,gBAAiBN,EAAMO,QAAQC,WAAWC,MAC1CC,SAAU,WACVC,SAAU,QAEZC,YAAa,CACXN,gBAAiB,WAEnBO,GAAI,CACFP,gBAAiB,UACjBQ,QAAS,GAEXC,YAAa,CACXD,QAAS,WAEXE,uBAAwB,CACtBC,OAAQ,OACRC,MAAOlB,EAAMO,QAAQY,QAAQC,OAE/BC,kBAAmB,CACjBC,SAAU,SAEZC,qBAAsB,CACpBZ,SAAU,SACVa,WAAY,SACZC,aAAc,YAEhBC,YAAa,CACXC,UAAW,SACXC,SAAU,OACVC,WAAY,OACZX,MAAOlB,EAAMO,QAAQY,QAAQW,OAE/BC,MAAO,CACLb,MAAOlB,EAAMO,QAAQY,QAAQC,MAC7BQ,SAAU,OACVI,UAAW,SACXC,WAAY,OAEdC,SAAU,CACRC,QAAS,OACTC,WAAY,SACZC,eAAgB,aAChBC,MAAO,OACPC,IAAK,OAEPC,YAAa,CACXC,UAAW,gDAEbC,cAAe,CACbP,QAAS,OACTC,WAAY,SACZE,MAAO,QACPK,WAAY,GAEdC,OAAQ,CACNN,MAAO,MACPrB,OAAQ,MACR4B,YAAa,MACbC,aAAc,MACdC,OAAQ,WAEVC,eAAgB,CACdV,MAAO,GACPrB,OAAQ,GACRkB,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBM,WAAY,GAEdM,iBAAkB,CAChBC,SAAU,EACVvC,SAAU,UAEb,IAEYwC,EAAqB,SAU5BC,GAAA,IATJC,IAAAA,cACAC,IAAAA,UACAC,IAAAA,QACAC,IAAAA,cACAC,IAAAA,QACAC,IAAAA,aACAC,IAAAA,gBACAC,IAAAA,gBACAC,IAAAA,gBAEMC,EAAUhE,IACViE,EAAUC,SAAO,MAEqBC,EAAAA,EAAAA,SAAQ,WAClD,GAA6B,IAAzBT,EAAcU,OAAc,CAC9B,IACMC,EADSX,EAAc,GAAG,GACAY,QAAO,SAAAC,GAAK,OAAKA,EAAMC,kBACjDC,EAAgBJ,EAAiBC,QAAO,SAAAC,GAAK,OAAIA,EAAMG,OAAO,IAAEN,OAItE,MAAO,CAHeK,EAAgB,GAAKJ,EAAiBD,SAAWK,EAErEJ,EAAiBD,OAAS,GAAKK,IAAkBJ,EAAiBD,OAEtE,CACA,MAAO,EAAC,GAAO,EACjB,GAAG,CAACV,IAAeiB,EAAAC,EAAAA,QAAAC,EAAA,GAXZC,EAAaH,EAAA,GAAEI,EAAkBJ,EAAA,GAyBxC,OACEK,EAAAA,KAAA,MAAA,CAAKC,UAAWjB,EAAQ7D,iBAAiB+E,SAAA,CACvCF,OAACG,OAAI,CACHF,UAAWjB,EAAQ1D,mBACnB8E,UAAWC,EAAAA,IAAO,KAAA,IAClBC,SAjBmB,SAAAC,GACvB,IAAkDA,EAAAA,EAAEC,OAA5CC,IAAAA,aAAcC,IAAAA,UAAWC,IAAAA,aAE7BF,IAAiBE,IAEFC,KAAKC,IAAIJ,GAAgBC,EAAYC,IAAiB,GAEvDhC,GAChBG,EAAgB,YAUdgC,IAAK7B,EAAQiB,SAEZxB,CAAAA,EAAcqC,KAAI,SAAAC,GAAA,IAAAC,EAAArB,EAAAA,QAAAoB,EAAA,GAAEE,EAAYD,EAAA,GAAEE,EAAMF,EAAA,GAAA,OACvCZ,EAAAA,IAAA,KAAA,CAAoCJ,UAAWjB,EAAQlD,YAAYoE,SACjEF,EAAAoB,KAAA,KAAA,CAAInB,UAAWjB,EAAQjD,GAAGmE,SAAA,EACtB1B,GACA6B,EAAAA,IAACgB,EAAAA,cAAa,CAACrC,QAAS,CAAEsC,QAAStC,EAAQ/C,aAAciE,SACvDG,MAACkB,OAAI,CAEHtB,UAAWjB,EAAQ9C,uBACnBsF,QAAQ,WACRC,MAAOC,EAAAA,kBAAkBR,GAAcS,aAHlCT,KAOV1C,GACC6B,EAAAuB,IAACC,WAAQ,CACPC,QAAM,EACN9C,QAAS,CAAEsC,QAAStC,EAAQ/C,aAC5B8F,QAAS,WAAA,OAAMlD,GAAiBkB,EAAoBmB,EAAc,EAAAhB,SAElEG,EAAAuB,IAAA,MAAA,CAAK3B,UAAW+B,EAAAA,QAAWhD,EAAQ5B,SAAU4B,EAAQtB,aAAawC,SAChEF,EAAAoB,KAAA,MAAA,CAAAlB,SAAA,CACEG,MAAC4B,WAAQ,CACPvC,QAASK,EACTD,cAAeA,EACfoC,MAAO,CAAEnE,YAAa,KACtB,aAMToD,EAAOJ,KAAI,SAAAxB,GAAS,IAAA4C,EAEbC,EADS7C,EAAM8C,OAASX,EAAAA,kBAAkBY,KAAKC,MAEhDhD,EAAMiD,WAAWC,SAAS,aAC1BlD,EAAMmD,iBACPnD,EAAMmD,kBAAoBnE,IACxBgB,EAAMC,eAENmD,EAAmBzB,QAAAA,OAAAA,EAAgB3B,KAAAA,OAAAA,EAAMqD,UAAYrD,EAAMsD,IAE3DC,EACJzC,EAAAuB,IAACC,WAAQ,CACP,cAAA,GAAAkB,OA7KF,qBA6K2B,UAAAA,OAASxD,EAAMgD,KAAe,YACvDT,QAAM,EACN9C,QAAS,CAAEsC,QAAStC,EAAQ/C,aAE5B+G,SAAUZ,EACVL,QAAS,WAAA,OAAMnD,EAAaW,EAAO2B,EAAc,EAAAhB,SAEjDF,EAAAoB,KAAA,MAAA,CAAKnB,UAAWjB,EAAQ5B,SAAS8C,SAC/B,CAAAG,EAAAuB,IAAA,MAAA,CAAK3B,UAAWjB,EAAQd,eAAegC,SACpCnB,SAAAA,EAAiB0D,SAASlD,EAAMmD,iBAC/BrC,EAAAA,IAAC4C,EAAAA,eAAc,CAACC,KAAK,UAErB7C,MAAC4B,WAAQ,CAACvC,QAASH,EAAMG,QAASI,cAAeP,EAAMO,kBAG3DO,EAAAuB,IAAA,MAAA,CAAK3B,UAAWjB,EAAQb,iBAAiB+B,SACvCG,MAAC8C,sBAAmB,CAAAjD,SAAEX,EAAMgD,SAE9BvC,EAAAoB,KAAA,MAAA,CAAKnB,UAAWjB,EAAQpB,cAAcsC,SACpC,CAAAG,EAAAuB,IAAA,MAAA,CACE3B,UAAWjB,EAAQlB,OACnBoE,MAAO,CACLxG,qBAAY0H,EAAaA,cAACC,MAAK,SAAAC,GAAI,OAAIA,EAAKC,QAAUhE,EAAMzB,MAAM,wBAAtDqE,EACR/F,SAGPoH,EAASA,UAACjE,EAAMzB,eAvBhB6E,GA6BT,OAAIpD,EAAMC,eAENa,EAAAA,IAACoD,EAAAA,QAAO,CAACC,MAAOnE,EAAMC,eAAeU,SACnCG,EAAAuB,IAAA,OAAA,CAAA1B,SAAO4C,KADkCH,GAMxCG,CACT,QACG,WAAAC,OApFa7B,QAuFpBzC,GAAWkF,EAAAA,QAAQjF,IACnB2B,EAAAuB,IAAA,MAAA,CAAK3B,UAAWjB,EAAQ/B,MAAMiD,SAAA,gDAGjCzB,GACC4B,EAAAuB,IAACgC,aAAU,CAAC,cAAA,GAAAb,OA/NF,qBA+NsC,YAAC9C,UAAWjB,EAAQpC,YAAYsD,SAAA,iBAMxF,EAEA7B,EAAmBwF,UAAY,CAC7BtF,cAAeuF,EAAAA,QAAUC,OAAOC,WAChCxF,UAAWsF,EAAAA,QAAUG,OAAOD,WAC5BvF,QAASqF,EAAAA,QAAUI,KAAKF,WACxBtF,cAAeoF,EAAS,QAACK,QAAQL,EAAAA,QAAUM,MAAM,CAAA,IAAKJ,WACtDrF,QAASmF,EAAAA,QAAUI,KAAKF,WACxBpF,aAAckF,EAAAA,QAAUO,KAAKL,WAC7BnF,gBAAiBiF,EAAAA,QAAUO,KAAKL,WAChClF,gBAAiBgF,EAAAA,QAAUO,KAAKL,WAChCjF,gBAAiB+E,EAAS,QAACK,QAAQL,EAAAA,QAAUC,SAG/C1F,EAAmBiG,aAAe,CAChCvF,gBAAiB"}
1
+ {"version":3,"file":"AssetResultSection.js","sources":["../../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js"],"sourcesContent":["import { useMemo, useRef } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { isEmpty, startCase } from 'lodash';\nimport {\n makeStyles,\n List,\n ListSubheader,\n Chip,\n ListItem,\n Checkbox,\n Typography,\n} from '@material-ui/core';\n\nimport { StatusOptions } from '../../../constants';\n\nimport { SEARCH_CATEGORIES } from './constants';\n\nimport { LoaderCircular, TextMiddleTruncated, Tooltip } from '~/componentsV2';\n\nconst PAGE_NAME = 'AssetResultSection';\nconst useStyles = makeStyles(theme => ({\n assetListWrapper: {\n margin: '8px 0',\n flex: 1,\n },\n assetListContainer: {\n maxHeight: '350px',\n backgroundColor: theme.palette.background.paper,\n position: 'relative',\n overflow: 'auto',\n },\n listSection: {\n backgroundColor: 'inherit',\n },\n ul: {\n backgroundColor: 'inherit',\n padding: 0,\n },\n listGutters: {\n padding: '2px 8px',\n },\n assetTypeSubheaderChip: {\n height: '24px',\n color: theme.palette.primary.text6,\n },\n assetItemTextRoot: {\n minWidth: '300px',\n },\n assetItemTextPrimary: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n },\n loadingInfo: {\n textAlign: 'center',\n fontSize: '12px',\n lineHeight: '17px',\n color: theme.palette.primary.text8,\n },\n empty: {\n color: theme.palette.primary.text6,\n fontSize: '12px',\n fontStyle: 'italic',\n marginLeft: '8px',\n },\n menuItem: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: '100%',\n gap: '8px',\n },\n allMenuItem: {\n boxShadow: 'inset 0px -1px 0px rgba(255, 255, 255, 0.25)',\n },\n statusWrapper: {\n display: 'flex',\n alignItems: 'center',\n width: '102px',\n flexShrink: 0,\n },\n status: {\n width: '8px',\n height: '8px',\n marginRight: '8px',\n borderRadius: '50%',\n cursor: 'default',\n },\n controlWrapper: {\n width: 40,\n height: 40,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n assetNameWrapper: {\n flexGrow: 1,\n overflow: 'hidden',\n },\n}));\n\nexport const AssetResultSection = ({\n subjectWellId,\n assetType,\n loading,\n groupedAssets,\n hasMore,\n onClickAsset,\n onClickAllAsset,\n onLoadMore,\n loadingAssetIds,\n isLimitedOffsetWells,\n}) => {\n const classes = useStyles();\n const listRef = useRef(null);\n\n const [indeterminate, isAllWellsSelected] = useMemo(() => {\n if (groupedAssets.length === 1) {\n const assets = groupedAssets[0][1];\n const selectableAssets = assets.filter(asset => !asset.disabledReason);\n const selectedCount = selectableAssets.filter(asset => asset.checked).length;\n const allSelected = selectableAssets.length > 0 && selectedCount === selectableAssets.length;\n const limitReached = isLimitedOffsetWells && selectedCount > 0;\n return [\n selectedCount > 0 && selectedCount < selectableAssets.length && !limitReached,\n allSelected || limitReached,\n ];\n }\n return [false, false];\n }, [groupedAssets, isLimitedOffsetWells]);\n\n const handleScrollList = e => {\n const { scrollHeight, scrollTop, offsetHeight } = e.target;\n\n if (scrollHeight === offsetHeight) return;\n\n const isAtBottom = Math.abs(scrollHeight - (scrollTop + offsetHeight)) < 1;\n\n if (isAtBottom && hasMore && !loading) {\n onLoadMore();\n }\n };\n\n return (\n <div className={classes.assetListWrapper}>\n <List\n className={classes.assetListContainer}\n subheader={<li />}\n onScroll={handleScrollList}\n ref={listRef}\n >\n {groupedAssets.map(([assetTypeKey, assets]) => (\n <li key={`section-${assetTypeKey}`} className={classes.listSection}>\n <ul className={classes.ul}>\n {!assetType && (\n <ListSubheader classes={{ gutters: classes.listGutters }}>\n <Chip\n key={assetTypeKey}\n className={classes.assetTypeSubheaderChip}\n variant=\"outlined\"\n label={SEARCH_CATEGORIES[assetTypeKey].labelPlural}\n />\n </ListSubheader>\n )}\n {assetType && (\n <ListItem\n button\n classes={{ gutters: classes.listGutters }}\n onClick={() => onClickAllAsset(!isAllWellsSelected, assetTypeKey)}\n >\n <div className={classNames(classes.menuItem, classes.allMenuItem)}>\n <div>\n <Checkbox\n checked={isAllWellsSelected}\n indeterminate={indeterminate}\n style={{ marginRight: 8 }}\n />\n All\n </div>\n </div>\n </ListItem>\n )}\n {assets.map(asset => {\n const isWell = asset.type === SEARCH_CATEGORIES.well.name;\n const isDisabled = isWell\n ? !asset.visibility.includes('visible') ||\n !asset.redirectAssetId ||\n asset.redirectAssetId === subjectWellId\n : !!asset.disabledReason;\n\n const assetKey = `item-${assetTypeKey}-${asset.asset_id || asset.id}`;\n\n const listItem = (\n <ListItem\n data-testid={`${PAGE_NAME}_item_${asset.name}MenuItem`}\n button\n classes={{ gutters: classes.listGutters }}\n key={assetKey}\n disabled={isDisabled}\n onClick={() => onClickAsset(asset, assetTypeKey)}\n >\n <div className={classes.menuItem}>\n <div className={classes.controlWrapper}>\n {loadingAssetIds?.includes(asset.redirectAssetId) ? (\n <LoaderCircular size=\"small\" />\n ) : (\n <Checkbox checked={asset.checked} indeterminate={asset.indeterminate} />\n )}\n </div>\n <div className={classes.assetNameWrapper}>\n <TextMiddleTruncated>{asset.name}</TextMiddleTruncated>\n </div>\n <div className={classes.statusWrapper}>\n <div\n className={classes.status}\n style={{\n background: StatusOptions.find(item => item.value === asset.status)\n ?.color,\n }}\n />\n {startCase(asset.status)}\n </div>\n </div>\n </ListItem>\n );\n\n if (asset.disabledReason) {\n return (\n <Tooltip title={asset.disabledReason} key={assetKey}>\n <span>{listItem}</span>\n </Tooltip>\n );\n }\n\n return listItem;\n })}\n </ul>\n </li>\n ))}\n {!loading && isEmpty(groupedAssets) && (\n <div className={classes.empty}>Your search did not match any Asset Name</div>\n )}\n </List>\n {loading && (\n <Typography data-testid={`${PAGE_NAME}_loading`} className={classes.loadingInfo}>\n Loading...\n </Typography>\n )}\n </div>\n );\n};\n\nAssetResultSection.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n assetType: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n groupedAssets: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n hasMore: PropTypes.bool.isRequired,\n onClickAsset: PropTypes.func.isRequired,\n onClickAllAsset: PropTypes.func.isRequired,\n onLoadMore: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n isLimitedOffsetWells: PropTypes.bool,\n};\n\nAssetResultSection.defaultProps = {\n loadingAssetIds: [],\n isLimitedOffsetWells: false,\n};\n"],"names":["useStyles","makeStyles","theme","assetListWrapper","margin","flex","assetListContainer","maxHeight","backgroundColor","palette","background","paper","position","overflow","listSection","ul","padding","listGutters","assetTypeSubheaderChip","height","color","primary","text6","assetItemTextRoot","minWidth","assetItemTextPrimary","whiteSpace","textOverflow","loadingInfo","textAlign","fontSize","lineHeight","text8","empty","fontStyle","marginLeft","menuItem","display","alignItems","justifyContent","width","gap","allMenuItem","boxShadow","statusWrapper","flexShrink","status","marginRight","borderRadius","cursor","controlWrapper","assetNameWrapper","flexGrow","AssetResultSection","_ref","subjectWellId","assetType","loading","groupedAssets","hasMore","onClickAsset","onClickAllAsset","onLoadMore","loadingAssetIds","isLimitedOffsetWells","classes","listRef","useRef","useMemo","length","selectableAssets","filter","asset","disabledReason","selectedCount","checked","allSelected","limitReached","_useMemo2","_slicedToArray","_useMemo","indeterminate","isAllWellsSelected","_jsxs","className","children","List","subheader","_jsx","onScroll","e","target","scrollHeight","scrollTop","offsetHeight","Math","abs","ref","map","_ref2","_ref3","assetTypeKey","assets","jsxs","ListSubheader","gutters","Chip","variant","label","SEARCH_CATEGORIES","labelPlural","jsx","ListItem","button","onClick","classNames","Checkbox","style","_StatusOptions$find","isDisabled","type","well","name","visibility","includes","redirectAssetId","assetKey","asset_id","id","listItem","concat","disabled","LoaderCircular","size","TextMiddleTruncated","StatusOptions","find","item","value","startCase","Tooltip","title","isEmpty","Typography","propTypes","PropTypes","number","isRequired","string","bool","arrayOf","shape","func","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),r=require("react"),t=require("prop-types"),s=require("@material-ui/core"),i=require("@material-ui/icons/Close");require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/regenerator"),require("lodash"),require("@babel/runtime/helpers/toConsumableArray"),require("uuid"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),require("../../../../../clients/jsonApi/index.js"),require("../../../../../clients/subscriptions/constants.js"),require("../../../../../clients/subscriptions.v1.js"),require("../../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../../../clients/api/apiCore.js"),require("../../../../../clients/constants.js"),require("../../../../../clients/sso/auth0.js"),require("../../../../../clients/sso/oauth2.js"),require("../../../constants.js"),require("../../../api/shared/dataFormatter.js"),require("../../../utils/wellTransformations.js"),require("zustand"),require("../../../stores/picker-props-store/PickerPropsStoreContext.js"),require("@babel/runtime/helpers/objectWithoutProperties");var n=require("react/jsx-runtime");require("../../../viewport/ViewportProvider.js"),require("../../../viewport/ViewportContext.js"),require("../../../../../utils/index.js"),require("../../../../../constants/goals.js"),require("../../../../../constants/segment.js"),require("../../../../../constants/alerts.js"),require("../../../../../constants/apps.js"),require("../../../../../constants/drillstring.js"),require("../../../../../constants/completion.js"),require("../../../../../constants/appPackages.js"),require("../../../../../constants/notifications.js"),require("../../../../../constants/feed.js"),require("../../../../../constants/bha.js"),require("../../../../../constants/corvaCompanyId.js"),require("../../../../GradientManager/configuration/constants.js"),require("react-virtualized");var o=require("../../../effects/useAssetsData.js");require("../../../../../permissions/PermissionsContext.js"),require("../../../../../permissions/constants/index.js"),require("../../../../../permissions/withPermissionsHOC.js"),require("../../../../../permissions/ProvidePermissions.js"),require("lodash/debounce"),require("lodash/isEqual"),require("@mapbox/tilebelt"),require("../../Map/OffsetWellMap/constants.js"),require("../../../stores/viewport-store/ViewportStoreContext.js"),require("../../../stores/filter-store/FilterStoreContext.js"),require("../../../stores/company-safeguard/CompanySafeguardContext.js"),require("lz-string"),require("../../../stores/viewport-store/ViewportStoreProvider.js"),require("@turf/bbox"),require("@turf/circle");var a=require("./AssetTypesSection.js"),u=require("./AssetResultSection.js"),l=require("./constants.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=c(e),p=c(t),f=c(i),h=s.withStyles((function(){return{tooltip:{backgroundColor:"#414141",color:"#ffffff",fontSize:"11px",lineHeight:"16px",borderRadius:"4px",boxShadow:"0px 4px 4px rgba(0, 0, 0, 0.12)",padding:"4px"}}}))(s.Tooltip),q=s.makeStyles((function(e){return{wrapper:{width:function(e){return e.searchWidth||"auto"},display:"flex",flexDirection:"column",padding:16},inputWrapper:{display:"flex",width:"auto",margin:"0 8px 8px",alignItems:"center",flexWrap:"nowrap",justifyContent:"space-between"},selectedChip:{height:"24px",margin:"4px"},selectedChipDeleteIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,"&:hover":{color:e.palette.primary.text1}},selectedLabel:{fontWeight:400,fontSize:"16px",lineHeight:"22px",color:e.palette.primary.text1,whiteSpace:"nowrap",paddingLeft:"4px",paddingRight:"8px"},disabledIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,opacity:.4},closeIconButton:{padding:0,"&:hover $closeIcon":{color:e.palette.primary.text1}},searchInput:{width:"100%",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",borderBottom:"2px solid #03BCD4"},closeIcon:{color:e.palette.primary.text6,fontSize:"18px"}}})),m=function(e){var t,i,c=e.companyIds,p=e.subjectWellId,m=e.value,j=e.selectedWellIds,x=e.onChange,b=e.searchWidth,g=e.onClose,C=e.loadingAssetIds,y=e.filters,v=r.useState(null),I=d.default(v,2),A=I[0],S=I[1],w=r.useState(null),R=d.default(w,2),W=R[0],E=R[1],P=r.useState(1),k=d.default(P,2),T=k[0],O=k[1],_=q({searchWidth:b}),D=r.useRef();r.useEffect((function(){E(m)}),[m]);var z=o.useAssetsData(W,A,T,c,j,y),G=d.default(z,3),H=G[0],M=G[1],L=G[2],N=r.useMemo((function(){return A&&M&&0!==M.length?M[0][1].filter((function(e){return e.checked})).length:0}),[A,M]);return n.jsxs("div",{className:_.wrapper,children:[n.jsx("div",{className:_.inputWrapper,children:n.jsxs("div",{className:_.searchInput,children:[A&&n.jsxs(n.Fragment,{children:[n.jsx(s.Chip,{"data-not-migrated-muichip":!0,classes:{root:_.selectedChip,deleteIcon:_.selectedChipDeleteIcon},label:null!==(t=null===(i=l.SEARCH_CATEGORIES[A])||void 0===i?void 0:i.labelPlural)&&void 0!==t?t:"Assets",deleteIcon:n.jsx(f.default,{}),onDelete:function(){S(null)}}),N>0&&n.jsxs("span",{className:_.selectedLabel,children:[N," Selected"]})]}),n.jsx(s.Input,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:D,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:W||"",placeholder:"Search for Wells ...",onChange:function(e){var r=e.target.value;D.current.focus(),E(r),O(1)},onKeyUp:function(e){var r=e.target.value,t=e.keyCode,s=l.CATEGORY_KEY_VALUES.find((function(e){var t=d.default(e,2);return t[0],t[1].autoCategorizedKey===r.trim().toLowerCase()}));if(s&&(13===t||32===t))return E(""),S(s[0]),void O(1);""===r&&8===t&&(S(null),O(1))}}),n.jsx(h,{title:"Clear",children:n.jsx(f.default,{className:A||W?_.selectedChipDeleteIcon:_.disabledIcon,onClick:function(){E(""),S(null),O(1),g()}})})]})}),!A&&!W&&n.jsx(a.AssetTypesSection,{onClickAssetType:function(e){D.current.focus(),S(e),O(1)}}),(A||W)&&n.jsx(u.AssetResultSection,{subjectWellId:p,assetType:A,loading:H,groupedAssets:M,hasMore:L,onClickAsset:function(e,r){r===l.SEARCH_CATEGORIES.rig.name?x(!e.checked,[],r,[e.asset_id]):x(!e.checked,[e.redirectAssetId],r)},onClickAllAsset:function(e,r){var t=M[0][1].filter((function(e){return!e.disabledReason}));r===l.SEARCH_CATEGORIES.rig.name?x(e,[],r,t.map((function(e){return e.asset_id}))):x(e,t.map((function(e){return e.redirectAssetId})),r)},onScrollReached:function(e){"top"===e&&T>1&&O((function(e){return e-1})),"bottom"===e&&O((function(e){return e+1}))},loadingAssetIds:C})]})};m.propTypes={subjectWellId:p.default.number.isRequired,companyIds:p.default.arrayOf(p.default.number),value:p.default.string.isRequired,selectedWellIds:p.default.arrayOf(p.default.number).isRequired,onChange:p.default.func.isRequired,searchWidth:p.default.number,onClose:p.default.func.isRequired,loadingAssetIds:p.default.arrayOf(p.default.number),filters:p.default.object},m.defaultProps={companyIds:null,searchWidth:null,loadingAssetIds:[],filters:null},exports.AutoCompleteAssetSearch=m;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/slicedToArray"),r=require("react"),t=require("prop-types"),s=require("@material-ui/core"),i=require("@material-ui/icons/Close");require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/helpers/defineProperty"),require("@babel/runtime/regenerator"),require("lodash"),require("@babel/runtime/helpers/toConsumableArray"),require("uuid"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),require("../../../../../clients/jsonApi/index.js"),require("../../../../../clients/subscriptions/constants.js"),require("../../../../../clients/subscriptions.v1.js"),require("../../../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../../../clients/api/apiCore.js"),require("../../../../../clients/constants.js"),require("../../../../../clients/sso/auth0.js"),require("../../../../../clients/sso/oauth2.js"),require("../../../constants.js"),require("../../../api/shared/dataFormatter.js"),require("../../../utils/wellTransformations.js"),require("zustand"),require("../../../stores/picker-props-store/PickerPropsStoreContext.js"),require("@babel/runtime/helpers/objectWithoutProperties");var n=require("react/jsx-runtime");require("../../../viewport/ViewportProvider.js"),require("../../../viewport/ViewportContext.js"),require("../../../../../utils/index.js"),require("../../../../../constants/goals.js"),require("../../../../../constants/segment.js"),require("../../../../../constants/alerts.js"),require("../../../../../constants/apps.js"),require("../../../../../constants/drillstring.js"),require("../../../../../constants/completion.js"),require("../../../../../constants/appPackages.js"),require("../../../../../constants/notifications.js"),require("../../../../../constants/feed.js"),require("../../../../../constants/bha.js"),require("../../../../../constants/corvaCompanyId.js"),require("../../../../GradientManager/configuration/constants.js"),require("react-virtualized");var o=require("../../../effects/useAssetsData.js");require("../../../../../permissions/PermissionsContext.js"),require("../../../../../permissions/constants/index.js"),require("../../../../../permissions/withPermissionsHOC.js"),require("../../../../../permissions/ProvidePermissions.js"),require("lodash/debounce"),require("lodash/isEqual"),require("@mapbox/tilebelt"),require("../../Map/OffsetWellMap/constants.js"),require("../../../stores/viewport-store/ViewportStoreContext.js"),require("../../../stores/filter-store/FilterStoreContext.js"),require("../../../stores/company-safeguard/CompanySafeguardContext.js"),require("lz-string"),require("../../../stores/viewport-store/ViewportStoreProvider.js"),require("@turf/bbox"),require("@turf/circle");var a=require("./AssetTypesSection.js"),l=require("./AssetResultSection.js"),u=require("./constants.js");function c(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=c(e),p=c(t),f=c(i),h=s.withStyles((function(){return{tooltip:{backgroundColor:"#414141",color:"#ffffff",fontSize:"11px",lineHeight:"16px",borderRadius:"4px",boxShadow:"0px 4px 4px rgba(0, 0, 0, 0.12)",padding:"4px"}}}))(s.Tooltip),q=s.makeStyles((function(e){return{wrapper:{width:function(e){return e.searchWidth||"auto"},display:"flex",flexDirection:"column",padding:16},inputWrapper:{display:"flex",width:"auto",margin:"0 8px 8px",alignItems:"center",flexWrap:"nowrap",justifyContent:"space-between"},selectedChip:{height:"24px",margin:"4px"},selectedChipDeleteIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,"&:hover":{color:e.palette.primary.text1}},selectedLabel:{fontWeight:400,fontSize:"16px",lineHeight:"22px",color:e.palette.primary.text1,whiteSpace:"nowrap",paddingLeft:"4px",paddingRight:"8px"},disabledIcon:{width:"16px",height:"16px",color:e.palette.primary.text6,opacity:.4},closeIconButton:{padding:0,"&:hover $closeIcon":{color:e.palette.primary.text1}},searchInput:{width:"100%",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",borderBottom:"2px solid #03BCD4"},closeIcon:{color:e.palette.primary.text6,fontSize:"18px"}}})),m=function(e){var t,i,c=e.companyIds,p=e.subjectWellId,m=e.value,j=e.selectedWellIds,x=e.onChange,b=e.searchWidth,g=e.onClose,C=e.loadingAssetIds,y=e.filters,v=e.isLimitedOffsetWells,I=r.useState(null),A=d.default(I,2),S=A[0],w=A[1],W=r.useState(null),R=d.default(W,2),E=R[0],O=R[1],P=q({searchWidth:b}),k=r.useRef();r.useEffect((function(){O(m)}),[m]);var T=o.useAssetsData(E,S,c,j,y),L=d.default(T,4),_=L[0],D=L[1],z=L[2],M=L[3],G=r.useMemo((function(){return S&&D&&0!==D.length?D[0][1].filter((function(e){return e.checked})).length:0}),[S,D]);return n.jsxs("div",{className:P.wrapper,children:[n.jsx("div",{className:P.inputWrapper,children:n.jsxs("div",{className:P.searchInput,children:[S&&n.jsxs(n.Fragment,{children:[n.jsx(s.Chip,{"data-not-migrated-muichip":!0,classes:{root:P.selectedChip,deleteIcon:P.selectedChipDeleteIcon},label:null!==(t=null===(i=u.SEARCH_CATEGORIES[S])||void 0===i?void 0:i.labelPlural)&&void 0!==t?t:"Assets",deleteIcon:n.jsx(f.default,{}),onDelete:function(){w(null)}}),G>0&&n.jsxs("span",{className:P.selectedLabel,children:[G," Selected"]})]}),n.jsx(s.Input,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:k,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:E||"",placeholder:"Search for Wells ...",onChange:function(e){var r=e.target.value;k.current.focus(),O(r)},onKeyUp:function(e){var r=e.target.value,t=e.keyCode,s=u.CATEGORY_KEY_VALUES.find((function(e){var t=d.default(e,2);return t[0],t[1].autoCategorizedKey===r.trim().toLowerCase()}));if(s&&(13===t||32===t))return O(""),void w(s[0]);""===r&&8===t&&w(null)}}),n.jsx(h,{title:"Clear",children:n.jsx(f.default,{className:S||E?P.selectedChipDeleteIcon:P.disabledIcon,onClick:function(){O(""),w(null),g()}})})]})}),!S&&!E&&n.jsx(a.AssetTypesSection,{onClickAssetType:function(e){k.current.focus(),w(e)}}),(S||E)&&n.jsx(l.AssetResultSection,{subjectWellId:p,assetType:S,loading:_,groupedAssets:D,hasMore:z,onClickAsset:function(e,r){r===u.SEARCH_CATEGORIES.rig.name?x(!e.checked,[],r,[e.asset_id]):x(!e.checked,[e.redirectAssetId],r)},onClickAllAsset:function(e,r){var t=D[0][1].filter((function(e){return!e.disabledReason}));r===u.SEARCH_CATEGORIES.rig.name?x(e,[],r,t.map((function(e){return e.asset_id}))):x(e,t.map((function(e){return e.redirectAssetId})),r)},onLoadMore:M,loadingAssetIds:C,isLimitedOffsetWells:v})]})};m.propTypes={subjectWellId:p.default.number.isRequired,companyIds:p.default.arrayOf(p.default.number),value:p.default.string.isRequired,selectedWellIds:p.default.arrayOf(p.default.number).isRequired,onChange:p.default.func.isRequired,searchWidth:p.default.number,onClose:p.default.func.isRequired,loadingAssetIds:p.default.arrayOf(p.default.number),filters:p.default.object,isLimitedOffsetWells:p.default.bool},m.defaultProps={companyIds:null,searchWidth:null,loadingAssetIds:[],filters:null,isLimitedOffsetWells:!1},exports.AutoCompleteAssetSearch=m;
2
2
  //# sourceMappingURL=AutoCompleteAssetSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteAssetSearch.js","sources":["../../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"sourcesContent":["import { useState, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles, Chip, Input, Tooltip, withStyles } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { useAssetsData } from '../../../effects';\n\nimport { AssetTypesSection } from './AssetTypesSection';\nimport { AssetResultSection } from './AssetResultSection';\nimport { SEARCH_CATEGORIES, CATEGORY_KEY_VALUES } from './constants';\n\nconst PAGE_NAME = 'AutoCompleteAssetSearch';\n\nconst StyledTooltip = withStyles(() => ({\n tooltip: {\n backgroundColor: '#414141',\n color: '#ffffff',\n fontSize: '11px',\n lineHeight: '16px',\n borderRadius: '4px',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.12)',\n padding: '4px',\n },\n}))(Tooltip);\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n width: ({ searchWidth }) => searchWidth || 'auto',\n display: 'flex',\n flexDirection: 'column',\n padding: 16,\n },\n inputWrapper: {\n display: 'flex',\n width: 'auto',\n margin: '0 8px 8px',\n alignItems: 'center',\n flexWrap: 'nowrap',\n justifyContent: 'space-between',\n },\n selectedChip: {\n height: '24px',\n margin: '4px',\n },\n selectedChipDeleteIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n '&:hover': {\n color: theme.palette.primary.text1,\n },\n },\n selectedLabel: {\n fontWeight: 400,\n fontSize: '16px',\n lineHeight: '22px',\n color: theme.palette.primary.text1,\n whiteSpace: 'nowrap',\n paddingLeft: '4px',\n paddingRight: '8px',\n },\n disabledIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n opacity: 0.4,\n },\n closeIconButton: {\n padding: 0,\n '&:hover $closeIcon': {\n color: theme.palette.primary.text1,\n },\n },\n searchInput: {\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n borderBottom: '2px solid #03BCD4',\n },\n closeIcon: {\n color: theme.palette.primary.text6,\n fontSize: '18px',\n },\n}));\n\nexport const AutoCompleteAssetSearch = ({\n companyIds,\n subjectWellId,\n value,\n selectedWellIds,\n onChange,\n searchWidth,\n onClose,\n loadingAssetIds,\n filters,\n}) => {\n const [assetType, setAssetType] = useState(null);\n const [searchKey, setSearchKey] = useState(null);\n const [page, setPage] = useState(1);\n const classes = useStyles({ searchWidth });\n const searchInputRef = useRef();\n\n useEffect(() => {\n setSearchKey(value);\n }, [value]);\n\n const [loading, groupedAssets, hasMore] = useAssetsData(\n searchKey,\n assetType,\n page,\n companyIds,\n selectedWellIds,\n filters\n );\n\n const selectedCount = useMemo(() => {\n if (!assetType || !groupedAssets || groupedAssets.length === 0) return 0;\n return groupedAssets[0][1].filter(asset => asset.checked).length;\n }, [assetType, groupedAssets]);\n\n const handleDeleteAssetType = () => {\n setAssetType(null);\n };\n\n const handleChangeAssetType = key => {\n searchInputRef.current.focus();\n setAssetType(key);\n setPage(1);\n };\n\n const handleChangeSearchKey = ({ target: { value } }) => {\n searchInputRef.current.focus();\n setSearchKey(value);\n setPage(1);\n };\n\n const handleKeyPress = e => {\n const { value } = e.target;\n const { keyCode } = e;\n\n const availableCategory = CATEGORY_KEY_VALUES.find(\n ([_, item]) => item.autoCategorizedKey === value.trim().toLowerCase()\n );\n\n // Auto-select asset type on Enter or Space when input matches a category\n if (availableCategory && (keyCode === 13 || keyCode === 32)) {\n setSearchKey('');\n setAssetType(availableCategory[0]);\n setPage(1);\n return;\n }\n\n // Backspace on empty input clears the asset type\n if (value === '' && keyCode === 8) {\n setAssetType(null);\n setPage(1);\n }\n };\n\n const handleSearchClear = () => {\n setSearchKey('');\n setAssetType(null);\n setPage(1);\n onClose();\n };\n\n const handleScrollReached = position => {\n if (position === 'top' && page > 1) {\n setPage(prev => prev - 1);\n }\n if (position === 'bottom') {\n setPage(prev => prev + 1);\n }\n };\n\n const handleChangeAsset = (asset, assetType) => {\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(!asset.checked, [], assetType, [asset.asset_id]);\n } else {\n onChange(!asset.checked, [asset.redirectAssetId], assetType);\n }\n };\n\n const handleChangeAllAssets = (isAllAdding, assetType) => {\n const assets = groupedAssets[0][1].filter(asset => !asset.disabledReason);\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(\n isAllAdding,\n [],\n assetType,\n assets.map(asset => asset.asset_id)\n );\n } else {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType\n );\n }\n };\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.inputWrapper}>\n <div className={classes.searchInput}>\n {assetType && (\n <>\n <Chip\n data-not-migrated-muichip\n classes={{ root: classes.selectedChip, deleteIcon: classes.selectedChipDeleteIcon }}\n label={SEARCH_CATEGORIES[assetType]?.labelPlural ?? 'Assets'}\n deleteIcon={<CloseIcon />}\n onDelete={handleDeleteAssetType}\n />\n {selectedCount > 0 && (\n <span className={classes.selectedLabel}>{selectedCount} Selected</span>\n )}\n </>\n )}\n <Input\n data-testid={`${PAGE_NAME}_searchInput`}\n inputRef={searchInputRef}\n autoFocus\n disableUnderline\n fullWidth\n value={searchKey || ''}\n placeholder=\"Search for Wells ...\"\n onChange={handleChangeSearchKey}\n onKeyUp={handleKeyPress}\n />\n <StyledTooltip title=\"Clear\">\n <CloseIcon\n className={\n assetType || searchKey ? classes.selectedChipDeleteIcon : classes.disabledIcon\n }\n onClick={handleSearchClear}\n />\n </StyledTooltip>\n </div>\n </div>\n\n {!assetType && !searchKey && <AssetTypesSection onClickAssetType={handleChangeAssetType} />}\n {(assetType || searchKey) && (\n <AssetResultSection\n subjectWellId={subjectWellId}\n assetType={assetType}\n loading={loading}\n groupedAssets={groupedAssets}\n hasMore={hasMore}\n onClickAsset={handleChangeAsset}\n onClickAllAsset={handleChangeAllAssets}\n onScrollReached={handleScrollReached}\n loadingAssetIds={loadingAssetIds}\n />\n )}\n </div>\n );\n};\n\nAutoCompleteAssetSearch.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n companyIds: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.string.isRequired,\n selectedWellIds: PropTypes.arrayOf(PropTypes.number).isRequired,\n onChange: PropTypes.func.isRequired,\n searchWidth: PropTypes.number,\n onClose: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n filters: PropTypes.object,\n};\n\nAutoCompleteAssetSearch.defaultProps = {\n companyIds: null,\n searchWidth: null,\n loadingAssetIds: [],\n filters: null,\n};\n"],"names":["StyledTooltip","withStyles","tooltip","backgroundColor","color","fontSize","lineHeight","borderRadius","boxShadow","padding","Tooltip","useStyles","makeStyles","theme","wrapper","width","_ref","searchWidth","display","flexDirection","inputWrapper","margin","alignItems","flexWrap","justifyContent","selectedChip","height","selectedChipDeleteIcon","palette","primary","text6","text1","selectedLabel","fontWeight","whiteSpace","paddingLeft","paddingRight","disabledIcon","opacity","closeIconButton","searchInput","borderBottom","closeIcon","AutoCompleteAssetSearch","_ref2","_SEARCH_CATEGORIES$as","_SEARCH_CATEGORIES$as2","companyIds","subjectWellId","value","selectedWellIds","onChange","onClose","loadingAssetIds","filters","useState","_useState2","_slicedToArray","_useState","assetType","setAssetType","_useState4","_useState3","searchKey","setSearchKey","_useState6","_useState5","page","setPage","classes","searchInputRef","useRef","useEffect","_useAssetsData","useAssetsData","_useAssetsData2","loading","groupedAssets","hasMore","selectedCount","useMemo","length","filter","asset","checked","_jsxs","className","children","_jsx","jsx","jsxs","_Fragment","Chip","root","deleteIcon","label","SEARCH_CATEGORIES","labelPlural","CloseIcon","onDelete","Input","concat","inputRef","autoFocus","disableUnderline","fullWidth","placeholder","_ref3","target","current","focus","onKeyUp","e","keyCode","availableCategory","CATEGORY_KEY_VALUES","find","_ref4","_ref5","autoCategorizedKey","trim","toLowerCase","title","onClick","AssetTypesSection","onClickAssetType","key","AssetResultSection","onClickAsset","rig","name","asset_id","redirectAssetId","onClickAllAsset","isAllAdding","assets","disabledReason","map","onScrollReached","position","prev","propTypes","PropTypes","number","isRequired","arrayOf","string","func","object","defaultProps"],"mappings":"k8FAaMA,EAAgBC,EAAUA,YAAC,WAAA,MAAO,CACtCC,QAAS,CACPC,gBAAiB,UACjBC,MAAO,UACPC,SAAU,OACVC,WAAY,OACZC,aAAc,MACdC,UAAW,kCACXC,QAAS,OAEZ,GAVqBR,CAUlBS,EAAOA,SAELC,EAAYC,EAAAA,YAAW,SAAAC,GAAK,MAAK,CACrCC,QAAS,CACPC,MAAO,SAAAC,GAAc,SAAXC,aAAiC,MAAM,EACjDC,QAAS,OACTC,cAAe,SACfV,QAAS,IAEXW,aAAc,CACZF,QAAS,OACTH,MAAO,OACPM,OAAQ,YACRC,WAAY,SACZC,SAAU,SACVC,eAAgB,iBAElBC,aAAc,CACZC,OAAQ,OACRL,OAAQ,OAEVM,uBAAwB,CACtBZ,MAAO,OACPW,OAAQ,OACRtB,MAAOS,EAAMe,QAAQC,QAAQC,MAC7B,UAAW,CACT1B,MAAOS,EAAMe,QAAQC,QAAQE,QAGjCC,cAAe,CACbC,WAAY,IACZ5B,SAAU,OACVC,WAAY,OACZF,MAAOS,EAAMe,QAAQC,QAAQE,MAC7BG,WAAY,SACZC,YAAa,MACbC,aAAc,OAEhBC,aAAc,CACZtB,MAAO,OACPW,OAAQ,OACRtB,MAAOS,EAAMe,QAAQC,QAAQC,MAC7BQ,QAAS,IAEXC,gBAAiB,CACf9B,QAAS,EACT,qBAAsB,CACpBL,MAAOS,EAAMe,QAAQC,QAAQE,QAGjCS,YAAa,CACXzB,MAAO,OACPG,QAAS,OACTC,cAAe,MACfK,eAAgB,gBAChBF,WAAY,SACZmB,aAAc,qBAEhBC,UAAW,CACTtC,MAAOS,EAAMe,QAAQC,QAAQC,MAC7BzB,SAAU,QAEb,IAEYsC,EAA0B,SAUjCC,GAAA,IAAAC,EAAAC,EATJC,IAAAA,WACAC,IAAAA,cACAC,IAAAA,MACAC,IAAAA,gBACAC,IAAAA,SACAlC,IAAAA,YACAmC,IAAAA,QACAC,IAAAA,gBACAC,IAAAA,QAEkCC,EAAAA,EAAQA,SAAC,MAAKC,EAAAC,EAAAA,QAAAC,EAAA,GAAzCC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GACID,EAAAA,EAAQA,SAAC,MAAKM,EAAAJ,EAAAA,QAAAK,EAAA,GAAzCC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACNN,EAAAA,EAAQA,SAAC,GAAEU,EAAAR,EAAAA,QAAAS,EAAA,GAA5BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACdI,EAAU1D,EAAU,CAAEM,YAAAA,IACtBqD,EAAiBC,EAAAA,SAEvBC,EAAAA,WAAU,WACRR,EAAaf,EACf,GAAG,CAACA,IAEJ,IAAAwB,EAA0CC,EAAaA,cACrDX,EACAJ,EACAQ,EACApB,EACAG,EACAI,GACDqB,EAAAlB,EAAAA,QAAAgB,EAAA,GAPMG,EAAOD,EAAA,GAAEE,EAAaF,EAAA,GAAEG,EAAOH,EAAA,GAShCI,EAAgBC,EAAAA,SAAQ,WAC5B,OAAKrB,GAAckB,GAA0C,IAAzBA,EAAcI,OAC3CJ,EAAc,GAAG,GAAGK,QAAO,SAAAC,GAAK,OAAIA,EAAMC,OAAO,IAAEH,OADa,CAEzE,GAAG,CAACtB,EAAWkB,IAmFf,OACEQ,EAAAA,KAAA,MAAA,CAAKC,UAAWjB,EAAQvD,QAAQyE,SAC9B,CAAAC,EAAAC,IAAA,MAAA,CAAKH,UAAWjB,EAAQjD,aAAamE,SACnCF,EAAAK,KAAA,MAAA,CAAKJ,UAAWjB,EAAQ7B,YAAY+C,SAAA,CACjC5B,GACC0B,EAAAK,KAAAC,WAAA,CAAAJ,SAAA,CACEC,MAACI,OAAI,CACH,6BAAyB,EACzBvB,QAAS,CAAEwB,KAAMxB,EAAQ5C,aAAcqE,WAAYzB,EAAQ1C,wBAC3DoE,MAAgD,QAA3ClD,EAAE,QAAFC,EAAEkD,EAAiBA,kBAACrC,UAAlB,IAAAb,OAAA,EAAAA,EAA8BmD,mBAAW,IAAApD,EAAAA,EAAI,SACpDiD,WAAYN,EAAAA,IAACU,EAAS,QAAI,IAC1BC,SA5FgB,WAC5BvC,EAAa,SA6FFmB,EAAgB,GACfM,EAAAA,KAAA,OAAA,CAAMC,UAAWjB,EAAQrC,cAAcuD,SAAA,CAAER,EAAa,kBAI5DS,MAACY,QAAK,CACJ,cAAA,GAAAC,OAnNM,0BAmNkC,gBACxCC,SAAUhC,EACViC,WAAS,EACTC,kBAAgB,EAChBC,WAAS,EACTxD,MAAOc,GAAa,GACpB2C,YAAY,uBACZvD,SAjGoB,SAA2BwD,GAAA,IAAd1D,EAAK0D,EAAfC,OAAU3D,MACzCqB,EAAeuC,QAAQC,QACvB9C,EAAaf,GACbmB,EAAQ,IA+FA2C,QA5Fa,SAAAC,GACrB,IAAQ/D,EAAU+D,EAAEJ,OAAZ3D,MACAgE,EAAYD,EAAZC,QAEFC,EAAoBC,EAAAA,oBAAoBC,MAC5C,SAAAC,GAAA,IAAAC,EAAA7D,EAAAA,QAAA4D,EAAA,GAAS,OAANC,EAAA,GAAMA,EAAA,GAAWC,qBAAuBtE,EAAMuE,OAAOC,iBAI1D,GAAIP,IAAkC,KAAZD,GAA8B,KAAZA,GAI1C,OAHAjD,EAAa,IACbJ,EAAasD,EAAkB,SAC/B9C,EAAQ,GAKI,KAAVnB,GAA4B,IAAZgE,IAClBrD,EAAa,MACbQ,EAAQ,OA2EJoB,MAACxF,EAAa,CAAC0H,MAAM,QAAOnC,SAC1BC,MAACU,UAAS,CACRZ,UACE3B,GAAaI,EAAYM,EAAQ1C,uBAAyB0C,EAAQhC,aAEpEsF,QA5Ec,WACxB3D,EAAa,IACbJ,EAAa,MACbQ,EAAQ,GACRhB,eA8EIO,IAAcI,GAAayB,EAAAA,IAACoC,EAAAA,kBAAiB,CAACC,iBArHtB,SAAAC,GAC5BxD,EAAeuC,QAAQC,QACvBlD,EAAakE,GACb1D,EAAQ,OAmHJT,GAAaI,IACbyB,EAAAA,IAACuC,EAAAA,mBAAkB,CACjB/E,cAAeA,EACfW,UAAWA,EACXiB,QAASA,EACTC,cAAeA,EACfC,QAASA,EACTkD,aA1EkB,SAAC7C,EAAOxB,GAC5BA,IAAcqC,EAAAA,kBAAkBiC,IAAIC,KACtC/E,GAAUgC,EAAMC,QAAS,GAAIzB,EAAW,CAACwB,EAAMgD,WAE/ChF,GAAUgC,EAAMC,QAAS,CAACD,EAAMiD,iBAAkBzE,IAuE9C0E,gBAnEsB,SAACC,EAAa3E,GAC1C,IAAM4E,EAAS1D,EAAc,GAAG,GAAGK,QAAO,SAAAC,GAAK,OAAKA,EAAMqD,kBACtD7E,IAAcqC,EAAAA,kBAAkBiC,IAAIC,KACtC/E,EACEmF,EACA,GACA3E,EACA4E,EAAOE,KAAI,SAAAtD,GAAK,OAAIA,EAAMgD,QAAQ,KAGpChF,EACEmF,EACAC,EAAOE,KAAI,SAAAtD,GAAK,OAAIA,EAAMiD,mBAC1BzE,IAuDE+E,gBArFoB,SAAAC,GACT,QAAbA,GAAsBxE,EAAO,GAC/BC,GAAQ,SAAAwE,GAAI,OAAIA,EAAO,KAER,WAAbD,GACFvE,GAAQ,SAAAwE,GAAI,OAAIA,EAAO,MAiFnBvF,gBAAiBA,MAK3B,EAEAV,EAAwBkG,UAAY,CAClC7F,cAAe8F,EAAAA,QAAUC,OAAOC,WAChCjG,WAAY+F,EAAS,QAACG,QAAQH,EAAAA,QAAUC,QACxC9F,MAAO6F,EAAAA,QAAUI,OAAOF,WACxB9F,gBAAiB4F,EAAAA,QAAUG,QAAQH,EAAAA,QAAUC,QAAQC,WACrD7F,SAAU2F,EAAAA,QAAUK,KAAKH,WACzB/H,YAAa6H,EAAS,QAACC,OACvB3F,QAAS0F,EAAAA,QAAUK,KAAKH,WACxB3F,gBAAiByF,EAAS,QAACG,QAAQH,EAAAA,QAAUC,QAC7CzF,QAASwF,EAAS,QAACM,QAGrBzG,EAAwB0G,aAAe,CACrCtG,WAAY,KACZ9B,YAAa,KACboC,gBAAiB,GACjBC,QAAS"}
1
+ {"version":3,"file":"AutoCompleteAssetSearch.js","sources":["../../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"sourcesContent":["import { useState, useRef, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles, Chip, Input, Tooltip, withStyles } from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\n\nimport { useAssetsData } from '../../../effects';\n\nimport { AssetTypesSection } from './AssetTypesSection';\nimport { AssetResultSection } from './AssetResultSection';\nimport { SEARCH_CATEGORIES, CATEGORY_KEY_VALUES } from './constants';\n\nconst PAGE_NAME = 'AutoCompleteAssetSearch';\n\nconst StyledTooltip = withStyles(() => ({\n tooltip: {\n backgroundColor: '#414141',\n color: '#ffffff',\n fontSize: '11px',\n lineHeight: '16px',\n borderRadius: '4px',\n boxShadow: '0px 4px 4px rgba(0, 0, 0, 0.12)',\n padding: '4px',\n },\n}))(Tooltip);\n\nconst useStyles = makeStyles(theme => ({\n wrapper: {\n width: ({ searchWidth }) => searchWidth || 'auto',\n display: 'flex',\n flexDirection: 'column',\n padding: 16,\n },\n inputWrapper: {\n display: 'flex',\n width: 'auto',\n margin: '0 8px 8px',\n alignItems: 'center',\n flexWrap: 'nowrap',\n justifyContent: 'space-between',\n },\n selectedChip: {\n height: '24px',\n margin: '4px',\n },\n selectedChipDeleteIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n '&:hover': {\n color: theme.palette.primary.text1,\n },\n },\n selectedLabel: {\n fontWeight: 400,\n fontSize: '16px',\n lineHeight: '22px',\n color: theme.palette.primary.text1,\n whiteSpace: 'nowrap',\n paddingLeft: '4px',\n paddingRight: '8px',\n },\n disabledIcon: {\n width: '16px',\n height: '16px',\n color: theme.palette.primary.text6,\n opacity: 0.4,\n },\n closeIconButton: {\n padding: 0,\n '&:hover $closeIcon': {\n color: theme.palette.primary.text1,\n },\n },\n searchInput: {\n width: '100%',\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n borderBottom: '2px solid #03BCD4',\n },\n closeIcon: {\n color: theme.palette.primary.text6,\n fontSize: '18px',\n },\n}));\n\nexport const AutoCompleteAssetSearch = ({\n companyIds,\n subjectWellId,\n value,\n selectedWellIds,\n onChange,\n searchWidth,\n onClose,\n loadingAssetIds,\n filters,\n isLimitedOffsetWells,\n}) => {\n const [assetType, setAssetType] = useState(null);\n const [searchKey, setSearchKey] = useState(null);\n const classes = useStyles({ searchWidth });\n const searchInputRef = useRef();\n\n useEffect(() => {\n setSearchKey(value);\n }, [value]);\n\n const [loading, groupedAssets, hasMore, loadMore] = useAssetsData(\n searchKey,\n assetType,\n companyIds,\n selectedWellIds,\n filters\n );\n\n const selectedCount = useMemo(() => {\n if (!assetType || !groupedAssets || groupedAssets.length === 0) return 0;\n return groupedAssets[0][1].filter(asset => asset.checked).length;\n }, [assetType, groupedAssets]);\n\n const handleDeleteAssetType = () => {\n setAssetType(null);\n };\n\n const handleChangeAssetType = key => {\n searchInputRef.current.focus();\n setAssetType(key);\n };\n\n const handleChangeSearchKey = ({ target: { value } }) => {\n searchInputRef.current.focus();\n setSearchKey(value);\n };\n\n const handleKeyPress = e => {\n const { value } = e.target;\n const { keyCode } = e;\n\n const availableCategory = CATEGORY_KEY_VALUES.find(\n ([_, item]) => item.autoCategorizedKey === value.trim().toLowerCase()\n );\n\n // Auto-select asset type on Enter or Space when input matches a category\n if (availableCategory && (keyCode === 13 || keyCode === 32)) {\n setSearchKey('');\n setAssetType(availableCategory[0]);\n return;\n }\n\n // Backspace on empty input clears the asset type\n if (value === '' && keyCode === 8) {\n setAssetType(null);\n }\n };\n\n const handleSearchClear = () => {\n setSearchKey('');\n setAssetType(null);\n onClose();\n };\n\n const handleChangeAsset = (asset, assetType) => {\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(!asset.checked, [], assetType, [asset.asset_id]);\n } else {\n onChange(!asset.checked, [asset.redirectAssetId], assetType);\n }\n };\n\n const handleChangeAllAssets = (isAllAdding, assetType) => {\n const assets = groupedAssets[0][1].filter(asset => !asset.disabledReason);\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(\n isAllAdding,\n [],\n assetType,\n assets.map(asset => asset.asset_id)\n );\n } else {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType\n );\n }\n };\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.inputWrapper}>\n <div className={classes.searchInput}>\n {assetType && (\n <>\n <Chip\n data-not-migrated-muichip\n classes={{ root: classes.selectedChip, deleteIcon: classes.selectedChipDeleteIcon }}\n label={SEARCH_CATEGORIES[assetType]?.labelPlural ?? 'Assets'}\n deleteIcon={<CloseIcon />}\n onDelete={handleDeleteAssetType}\n />\n {selectedCount > 0 && (\n <span className={classes.selectedLabel}>{selectedCount} Selected</span>\n )}\n </>\n )}\n <Input\n data-testid={`${PAGE_NAME}_searchInput`}\n inputRef={searchInputRef}\n autoFocus\n disableUnderline\n fullWidth\n value={searchKey || ''}\n placeholder=\"Search for Wells ...\"\n onChange={handleChangeSearchKey}\n onKeyUp={handleKeyPress}\n />\n <StyledTooltip title=\"Clear\">\n <CloseIcon\n className={\n assetType || searchKey ? classes.selectedChipDeleteIcon : classes.disabledIcon\n }\n onClick={handleSearchClear}\n />\n </StyledTooltip>\n </div>\n </div>\n\n {!assetType && !searchKey && <AssetTypesSection onClickAssetType={handleChangeAssetType} />}\n {(assetType || searchKey) && (\n <AssetResultSection\n subjectWellId={subjectWellId}\n assetType={assetType}\n loading={loading}\n groupedAssets={groupedAssets}\n hasMore={hasMore}\n onClickAsset={handleChangeAsset}\n onClickAllAsset={handleChangeAllAssets}\n onLoadMore={loadMore}\n loadingAssetIds={loadingAssetIds}\n isLimitedOffsetWells={isLimitedOffsetWells}\n />\n )}\n </div>\n );\n};\n\nAutoCompleteAssetSearch.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n companyIds: PropTypes.arrayOf(PropTypes.number),\n value: PropTypes.string.isRequired,\n selectedWellIds: PropTypes.arrayOf(PropTypes.number).isRequired,\n onChange: PropTypes.func.isRequired,\n searchWidth: PropTypes.number,\n onClose: PropTypes.func.isRequired,\n loadingAssetIds: PropTypes.arrayOf(PropTypes.number),\n filters: PropTypes.object,\n isLimitedOffsetWells: PropTypes.bool,\n};\n\nAutoCompleteAssetSearch.defaultProps = {\n companyIds: null,\n searchWidth: null,\n loadingAssetIds: [],\n filters: null,\n isLimitedOffsetWells: false,\n};\n"],"names":["StyledTooltip","withStyles","tooltip","backgroundColor","color","fontSize","lineHeight","borderRadius","boxShadow","padding","Tooltip","useStyles","makeStyles","theme","wrapper","width","_ref","searchWidth","display","flexDirection","inputWrapper","margin","alignItems","flexWrap","justifyContent","selectedChip","height","selectedChipDeleteIcon","palette","primary","text6","text1","selectedLabel","fontWeight","whiteSpace","paddingLeft","paddingRight","disabledIcon","opacity","closeIconButton","searchInput","borderBottom","closeIcon","AutoCompleteAssetSearch","_ref2","_SEARCH_CATEGORIES$as","_SEARCH_CATEGORIES$as2","companyIds","subjectWellId","value","selectedWellIds","onChange","onClose","loadingAssetIds","filters","isLimitedOffsetWells","useState","_useState2","_slicedToArray","_useState","assetType","setAssetType","_useState4","_useState3","searchKey","setSearchKey","classes","searchInputRef","useRef","useEffect","useAssetsData","_useAssetsData2","_useAssetsData","loading","groupedAssets","hasMore","loadMore","selectedCount","useMemo","length","filter","asset","checked","_jsxs","className","children","_jsx","jsx","jsxs","_Fragment","Chip","root","deleteIcon","label","SEARCH_CATEGORIES","labelPlural","CloseIcon","onDelete","Input","concat","inputRef","autoFocus","disableUnderline","fullWidth","placeholder","_ref3","target","current","focus","onKeyUp","e","keyCode","availableCategory","CATEGORY_KEY_VALUES","find","_ref4","_ref5","autoCategorizedKey","trim","toLowerCase","title","onClick","AssetTypesSection","onClickAssetType","key","AssetResultSection","onClickAsset","rig","name","asset_id","redirectAssetId","onClickAllAsset","isAllAdding","assets","disabledReason","map","onLoadMore","propTypes","PropTypes","number","isRequired","arrayOf","string","func","object","bool","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/asyncToGenerator"),u=require("@babel/runtime/regenerator"),i=require("react"),s=require("lodash"),a=require("../api/wells/fetchWellsByIds.js");require("uuid"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),require("../../../clients/jsonApi/index.js"),require("../../../clients/subscriptions/constants.js"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../clients/api/apiCore.js"),require("../../../clients/constants.js"),require("../../../clients/sso/auth0.js"),require("../../../clients/sso/oauth2.js");var c=require("../api/wells/fetchWellsByRigIds.js"),l=require("../api/assets/fetchAllAssets.js"),o=require("../constants.js"),f=require("../utils/doesWellPassFilters.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=p(e),b=p(r),h=p(t),m=p(n),g=p(u);function y(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function v(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?y(Object(t),!0).forEach((function(r){h.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):y(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var j,q,w=["status","companyId","rigName","programName","basin","county","area","formation","stringDesign"],x=function(e){return Number.isFinite(Number(e))},O=function(e){return Object.entries(s.groupBy(e,"type"))},k=function(e){return!!e&&(!!w.some((function(r){return Array.isArray(e[r])&&e[r].length>0}))||(!!e.sideTracks||(!(!e.period||"all"===e.period)||(Number.isFinite(e.timeRangeFrom)||Number.isFinite(e.timeRangeTo)))))},A=(j=m.default(g.default.mark((function e(r,t){var n,u;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==r.length){e.next=2;break}return e.abrupt("return",new Map);case 2:return e.next=4,c.fetchWellsByRigIds(r,t);case 4:return n=e.sent,u=s.groupBy(n.filter((function(e){return x(null==e?void 0:e.rigId)})),(function(e){return Number(e.rigId)})),e.abrupt("return",new Map(r.map((function(e){return[e,u[e]||[]]}))));case 7:case"end":return e.stop()}}),e)}))),function(e,r){return j.apply(this,arguments)}),E=(q=m.default(g.default.mark((function e(r){var t;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==r.length){e.next=2;break}return e.abrupt("return",new Map);case 2:return e.next=4,a.fetchWellsByIds(r);case 4:return t=e.sent,e.abrupt("return",new Map(t.filter((function(e){return x(null==e?void 0:e.id)})).map((function(e){return[Number(e.id),e]}))));case 6:case"end":return e.stop()}}),e)}))),function(e){return q.apply(this,arguments)}),P=function(e,r,t){if(0===r.length)return v(v({},e),{},{checked:!1,disabledReason:"This rig has no wells"});var n=r.filter((function(e){return t.includes(e.id)})).length,u=n===r.length,i=n>0;return v(v({},e),{},{checked:i,indeterminate:i&&!u})};exports.useAssetsData=function(e,r,t,n,u,a){var c,p=i.useState([]),h=b.default(p,2),y=h[0],j=h[1],q=i.useState([]),w=b.default(q,2),I=w[0],N=w[1],_=i.useState(!1),R=b.default(_,2),S=R[0],F=R[1],W=i.useState(!1),D=b.default(W,2),T=D[0],B=D[1],M=i.useState(!1),G=b.default(M,2),C=G[0],L=G[1],U=i.useRef(s.debounce((function(e){return e()}),500)),X=(null==a||null===(c=a.companyId)||void 0===c?void 0:c.length)>0?a.companyId:n;return i.useEffect((function(){var e=U.current;return function(){return e.cancel()}}),[]),i.useEffect((function(){j([]),N([]),L(!1)}),[e,r]),i.useEffect((function(){var n,u=!1,i=(n=m.default(g.default.mark((function n(){var i,a;return g.default.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,l.fetchAllAssets(e,r,t,X);case 3:if(i=n.sent,!u){n.next=6;break}return n.abrupt("return");case 6:a=r?i.length>=o.ROWS_PER_PAGE:Object.values(s.groupBy(i,"type")).some((function(e){return e.length>=o.ROWS_PER_PAGE})),L(a),j((function(e){return 1===t?i:[].concat(d.default(e),d.default(i))})),F(!1),n.next=16;break;case 12:n.prev=12,n.t0=n.catch(0),console.error(n.t0),u||F(!1);case 16:case"end":return n.stop()}}),n,null,[[0,12]])}))),function(){return n.apply(this,arguments)});return F(!0),U.current(i),function(){u=!0}}),[e,r,t,X]),i.useEffect((function(){var e,t=!1,n=(e=m.default(g.default.mark((function e(){var n,i,c,l,o,p,d,b,h,m,j,q,w,I;return g.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=y.map((function(e){return v(v({},e),{},{checked:"rig"!==e.type&&u.includes(e.redirectAssetId)})})),i=null==a?void 0:a.rigName,c=Array.isArray(i)&&i.length>0,0!==(l=n.filter((function(e){return!(r&&e.type!==r||"rig"===e.type&&c&&!i.includes(e.name))}))).length){e.next=7;break}return t||(N([]),B(!1)),e.abrupt("return");case 7:if(0!==(o=l.filter((function(e){return"rig"===e.type&&x(e.asset_id)}))).length||k(a)){e.next=11;break}return t||(N(O(l)),B(!1)),e.abrupt("return");case 11:return B(!0),e.prev=12,p=l.filter((function(e){return"well"===e.type&&x(e.redirectAssetId)})),d=s.uniq(o.map((function(e){return Number(e.asset_id)}))),e.next=17,A(d,X);case 17:if(b=e.sent,!t){e.next=20;break}return e.abrupt("return");case 20:if(h=l.map((function(e){if("rig"!==e.type)return e;var r=b.get(Number(e.asset_id))||[];return P(e,r,u)})),k(a)){e.next=24;break}return t||N(O(h)),e.abrupt("return");case 24:return m=s.uniq(p.map((function(e){return Number(e.redirectAssetId)}))),e.next=27,E(m);case 27:if(j=e.sent,!t){e.next=30;break}return e.abrupt("return");case 30:q=new Set(m.filter((function(e){var r=j.get(e);return r&&f.doesWellPassFilters(r,a)}))),w=new Set(d.filter((function(e){return(b.get(e)||[]).some((function(e){return f.doesWellPassFilters(e,a,f.EXCLUDE_RIG_NAME_FILTER)}))}))),I=l.filter((function(e){return"well"!==e.type||q.has(Number(e.redirectAssetId))})).map((function(e){if("rig"!==e.type)return e;var r=Number(e.asset_id),t=b.get(r)||[];if(!w.has(r)){var n=0===t.length?"This rig has no wells":"No wells match current filters";return v(v({},e),{},{checked:!1,disabledReason:n})}var i=t.filter((function(e){return f.doesWellPassFilters(e,a,f.EXCLUDE_RIG_NAME_FILTER)}));return P(e,i,u)})),t||N(O(I)),e.next=40;break;case 36:e.prev=36,e.t0=e.catch(12),console.error(e.t0),t||N([]);case 40:return e.prev=40,t||B(!1),e.finish(40);case 43:case"end":return e.stop()}}),e,null,[[12,36,40,43]])}))),function(){return e.apply(this,arguments)});return n(),function(){t=!0}}),[y,r,u,a,X]),[S||T,I,C]};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),r=require("@babel/runtime/helpers/slicedToArray"),t=require("@babel/runtime/helpers/defineProperty"),n=require("@babel/runtime/helpers/asyncToGenerator"),u=require("@babel/runtime/regenerator"),i=require("react"),s=require("lodash"),a=require("../api/wells/fetchWellsByIds.js");require("uuid"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),require("../../../clients/jsonApi/index.js"),require("../../../clients/subscriptions/constants.js"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/subscriptions/subscriptions-client.factory.js"),require("../../../clients/api/apiCore.js"),require("../../../clients/constants.js"),require("../../../clients/sso/auth0.js"),require("../../../clients/sso/oauth2.js");var c=require("../api/wells/fetchWellsByRigIds.js"),l=require("../api/assets/fetchAllAssets.js"),o=require("../constants.js"),f=require("../utils/doesWellPassFilters.js");function p(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=p(e),b=p(r),h=p(t),g=p(n),m=p(u);function y(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function v(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?y(Object(t),!0).forEach((function(r){h.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):y(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}var j,q,w=["status","companyId","rigName","programName","basin","county","area","formation","stringDesign"],k=function(e){return Number.isFinite(Number(e))},x=function(e){return Object.entries(s.groupBy(e,"type"))},O=function(e){return!!e&&(!!w.some((function(r){return Array.isArray(e[r])&&e[r].length>0}))||(!!e.sideTracks||(!(!e.period||"all"===e.period)||(Number.isFinite(e.timeRangeFrom)||Number.isFinite(e.timeRangeTo)))))},A=(j=g.default(m.default.mark((function e(r,t){var n,u;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==r.length){e.next=2;break}return e.abrupt("return",new Map);case 2:return e.next=4,c.fetchWellsByRigIds(r,t);case 4:return n=e.sent,u=s.groupBy(n.filter((function(e){return k(null==e?void 0:e.rigId)})),(function(e){return Number(e.rigId)})),e.abrupt("return",new Map(r.map((function(e){return[e,u[e]||[]]}))));case 7:case"end":return e.stop()}}),e)}))),function(e,r){return j.apply(this,arguments)}),R=(q=g.default(m.default.mark((function e(r){var t;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(0!==r.length){e.next=2;break}return e.abrupt("return",new Map);case 2:return e.next=4,a.fetchWellsByIds(r);case 4:return t=e.sent,e.abrupt("return",new Map(t.filter((function(e){return k(null==e?void 0:e.id)})).map((function(e){return[Number(e.id),e]}))));case 6:case"end":return e.stop()}}),e)}))),function(e){return q.apply(this,arguments)}),E=function(e,r,t){if(0===r.length)return v(v({},e),{},{checked:!1,disabledReason:"This rig has no wells"});var n=r.filter((function(e){return t.includes(e.id)})).length,u=n===r.length,i=n>0;return v(v({},e),{},{checked:i,indeterminate:i&&!u})},P=function(e){return e.reduce((function(e,r){return e+b.default(r,2)[1].length}),0)};exports.useAssetsData=function(e,r,t,n,u){var a,c=i.useState(1),p=b.default(c,2),h=p[0],y=p[1],j=i.useState([]),q=b.default(j,2),w=q[0],I=q[1],N=i.useState([]),_=b.default(N,2),S=_[0],F=_[1],W=i.useState(!1),D=b.default(W,2),T=D[0],B=D[1],M=i.useState(!1),C=b.default(M,2),G=C[0],L=C[1],U=i.useState(!1),X=b.default(U,2),z=X[0],H=X[1],J=i.useRef(s.debounce((function(e){return e()}),500)),K=i.useRef(!1),Q=i.useRef(0),V=i.useRef(0),Y=i.useRef(0),Z=i.useRef(!1),$=function(e){H(e),K.current=e},ee=function(){Z.current=!0,y((function(e){return e+1}))},re=(null==u||null===(a=u.companyId)||void 0===a?void 0:a.length)>0?u.companyId:t;i.useEffect((function(){var e=J.current;return function(){return e.cancel()}}),[]),i.useEffect((function(){I([]),F([]),$(!1),y(1),Q.current=0,V.current=0,Y.current=0,Z.current=!1}),[e,r]),i.useEffect((function(){var t,n=!1,u=(t=g.default(m.default.mark((function t(){var u,i;return m.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,l.fetchAllAssets(e,r,h,re);case 3:if(u=t.sent,!n){t.next=6;break}return t.abrupt("return");case 6:i=r?u.length>=o.ROWS_PER_PAGE:Object.values(s.groupBy(u,"type")).some((function(e){return e.length>=o.ROWS_PER_PAGE})),$(i),I((function(e){return 1===h?u:[].concat(d.default(e),d.default(u))})),B(!1),t.next=16;break;case 12:t.prev=12,t.t0=t.catch(0),console.error(t.t0),n||B(!1);case 16:case"end":return t.stop()}}),t,null,[[0,12]])}))),function(){return t.apply(this,arguments)});return B(!0),Z.current?(Z.current=!1,J.current.cancel(),u()):J.current(u),function(){n=!0}}),[e,r,h,re]);var te=i.useCallback((function(e){var r=w.length!==Q.current;if(Q.current=w.length,r){if(e>V.current)return V.current=e,void(Y.current=0);V.current=e,Y.current>=5||K.current&&(Y.current+=1,ee())}}),[w.length]);i.useEffect((function(){var e,t=!1,i=(e=g.default(m.default.mark((function e(){var i,a,c,l,o,p,d,b,h,g,y,j,q,I,N,_,S;return m.default.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=w.map((function(e){return v(v({},e),{},{checked:"rig"!==e.type&&n.includes(e.redirectAssetId)})})),a=null==u?void 0:u.rigName,c=Array.isArray(a)&&a.length>0,0!==(l=i.filter((function(e){return!(r&&e.type!==r||"rig"===e.type&&c&&!a.includes(e.name))}))).length){e.next=7;break}return t||(F([]),L(!1),te(0)),e.abrupt("return");case 7:if(0!==(o=l.filter((function(e){return"rig"===e.type&&k(e.asset_id)}))).length||O(u)){e.next=11;break}return t||(p=x(l),F(p),L(!1),te(P(p))),e.abrupt("return");case 11:return L(!0),e.prev=12,d=l.filter((function(e){return"well"===e.type&&k(e.redirectAssetId)})),b=s.uniq(o.map((function(e){return Number(e.asset_id)}))),e.next=17,A(b,re);case 17:if(h=e.sent,!t){e.next=20;break}return e.abrupt("return");case 20:if(g=l.map((function(e){if("rig"!==e.type)return e;var r=h.get(Number(e.asset_id))||[];return E(e,r,n)})),O(u)){e.next=24;break}return t||(y=x(g),F(y),te(P(y))),e.abrupt("return");case 24:return j=s.uniq(d.map((function(e){return Number(e.redirectAssetId)}))),e.next=27,R(j);case 27:if(q=e.sent,!t){e.next=30;break}return e.abrupt("return");case 30:I=new Set(j.filter((function(e){var r=q.get(e);return r&&f.doesWellPassFilters(r,u)}))),N=new Set(b.filter((function(e){return(h.get(e)||[]).some((function(e){return f.doesWellPassFilters(e,u,f.EXCLUDE_RIG_NAME_FILTER)}))}))),_=l.filter((function(e){return"well"!==e.type||I.has(Number(e.redirectAssetId))})).map((function(e){if("rig"!==e.type)return e;var r=Number(e.asset_id),t=h.get(r)||[];if(!N.has(r)){var i=0===t.length?"This rig has no wells":"No wells match current filters";return v(v({},e),{},{checked:!1,disabledReason:i})}var s=t.filter((function(e){return f.doesWellPassFilters(e,u,f.EXCLUDE_RIG_NAME_FILTER)}));return E(e,s,n)})),t||(S=x(_),F(S),te(P(S))),e.next=40;break;case 36:e.prev=36,e.t0=e.catch(12),console.error(e.t0),t||F([]);case 40:return e.prev=40,t||L(!1),e.finish(40);case 43:case"end":return e.stop()}}),e,null,[[12,36,40,43]])}))),function(){return e.apply(this,arguments)});return i(),function(){t=!0}}),[w,r,n,u,re,te]);var ne=i.useCallback((function(){!z||T||G||(Y.current=0,ee())}),[z,T,G]);return[T||G,S,z,ne]};
2
2
  //# sourceMappingURL=useAssetsData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsData.js","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"sourcesContent":["import { useState, useEffect, useRef } from 'react';\nimport { debounce, groupBy, uniq } from 'lodash';\n\nimport { fetchAllAssets, fetchWellsByIds, fetchWellsByRigIds } from '../api';\nimport { ROWS_PER_PAGE } from '../constants';\nimport { doesWellPassFilters, EXCLUDE_RIG_NAME_FILTER } from '../utils/doesWellPassFilters';\n\n// Mirrors WELL_PROPERTY_FILTER_KEYS in doesWellPassFilters.ts.\n// Used here to detect whether any well-level filters are active.\nconst WELL_FILTER_KEYS = [\n 'status',\n 'companyId',\n 'rigName',\n 'programName',\n 'basin',\n 'county',\n 'area',\n 'formation',\n 'stringDesign',\n];\n\nconst isFiniteNumber = value => Number.isFinite(Number(value));\n\nconst groupByType = assets => Object.entries(groupBy(assets, 'type'));\n\nconst hasActiveWellFilters = filters => {\n if (!filters) return false;\n\n if (WELL_FILTER_KEYS.some(key => Array.isArray(filters[key]) && filters[key].length > 0)) {\n return true;\n }\n\n if (filters.sideTracks) return true;\n if (filters.period && filters.period !== 'all') return true;\n\n return Number.isFinite(filters.timeRangeFrom) || Number.isFinite(filters.timeRangeTo);\n};\n\nconst fetchRigWellsMap = async (rigIds, companyIds) => {\n if (rigIds.length === 0) return new Map();\n\n const fetchedRigWells = await fetchWellsByRigIds(rigIds, companyIds);\n const grouped = groupBy(\n fetchedRigWells.filter(well => isFiniteNumber(well?.rigId)),\n well => Number(well.rigId)\n );\n\n return new Map(rigIds.map(rigId => [rigId, grouped[rigId] || []]));\n};\n\nconst fetchWellDataMap = async wellIds => {\n if (wellIds.length === 0) return new Map();\n\n const fetchedWells = await fetchWellsByIds(wellIds);\n\n return new Map(\n fetchedWells.filter(well => isFiniteNumber(well?.id)).map(well => [Number(well.id), well])\n );\n};\n\n// Compute rig checked/indeterminate state based on how many of its wells are selected.\n// Rigs with zero wells are marked as disabled.\nconst computeRigCheckedState = (asset, wells, selectedWellIds) => {\n if (wells.length === 0) {\n return { ...asset, checked: false, disabledReason: 'This rig has no wells' };\n }\n\n const selectedCount = wells.filter(well => selectedWellIds.includes(well.id)).length;\n const allSelected = selectedCount === wells.length;\n const someSelected = selectedCount > 0;\n\n return { ...asset, checked: someSelected, indeterminate: someSelected && !allSelected };\n};\n\nexport const useAssetsData = (searchKey, assetType, page, companyIds, selectedWellIds, filters) => {\n const [assetsData, setAssetsData] = useState([]);\n const [searchResult, setSearchResult] = useState([]);\n const [isFetching, setIsFetching] = useState(false);\n const [isFiltering, setIsFiltering] = useState(false);\n const [hasMore, setHasMore] = useState(false);\n const debouncedFetchRef = useRef(debounce(cb => cb(), 500));\n\n const activeCompanyIds = filters?.companyId?.length > 0 ? filters.companyId : companyIds;\n\n useEffect(() => {\n const debouncedFetch = debouncedFetchRef.current;\n return () => debouncedFetch.cancel();\n }, []);\n\n // Reset accumulated data when search key or asset type changes\n useEffect(() => {\n setAssetsData([]);\n setSearchResult([]);\n setHasMore(false);\n }, [searchKey, assetType]);\n\n useEffect(() => {\n let isCancelled = false;\n\n const fetchAssets = async () => {\n try {\n const assets = await fetchAllAssets(searchKey, assetType, page, activeCompanyIds);\n\n if (isCancelled) return;\n\n const hasMorePages = assetType\n ? assets.length >= ROWS_PER_PAGE\n : Object.values(groupBy(assets, 'type')).some(group => group.length >= ROWS_PER_PAGE);\n\n setHasMore(hasMorePages);\n setAssetsData(prev => (page === 1 ? assets : [...prev, ...assets]));\n setIsFetching(false);\n } catch (e) {\n console.error(e);\n if (!isCancelled) {\n setIsFetching(false);\n }\n }\n };\n\n setIsFetching(true);\n debouncedFetchRef.current(fetchAssets);\n\n return () => {\n isCancelled = true;\n };\n }, [searchKey, assetType, page, activeCompanyIds]);\n\n useEffect(() => {\n let isCancelled = false;\n\n const filterAssets = async () => {\n // Wells: checked directly against selectedWellIds.\n // Rigs: placeholder false, resolved after rig-wells are fetched.\n const checkedAssets = assetsData.map(asset => ({\n ...asset,\n checked: asset.type === 'rig' ? false : selectedWellIds.includes(asset.redirectAssetId),\n }));\n\n const rigNameFilter = filters?.rigName;\n const hasRigNameFilter = Array.isArray(rigNameFilter) && rigNameFilter.length > 0;\n\n const matchedAssets = checkedAssets.filter(asset => {\n if (assetType && asset.type !== assetType) return false;\n if (asset.type === 'rig' && hasRigNameFilter && !rigNameFilter.includes(asset.name)) {\n return false;\n }\n return true;\n });\n\n if (matchedAssets.length === 0) {\n if (!isCancelled) {\n setSearchResult([]);\n setIsFiltering(false);\n }\n return;\n }\n\n const rigAssets = matchedAssets.filter(\n asset => asset.type === 'rig' && isFiniteNumber(asset.asset_id)\n );\n\n // Fast path: no rigs and no active filters -- no async work needed\n if (rigAssets.length === 0 && !hasActiveWellFilters(filters)) {\n if (!isCancelled) {\n setSearchResult(groupByType(matchedAssets));\n setIsFiltering(false);\n }\n return;\n }\n\n setIsFiltering(true);\n\n try {\n const wellAssets = matchedAssets.filter(\n asset => asset.type === 'well' && isFiniteNumber(asset.redirectAssetId)\n );\n\n const uniqueRigIds = uniq(rigAssets.map(asset => Number(asset.asset_id)));\n const rigWellsMap = await fetchRigWellsMap(uniqueRigIds, activeCompanyIds);\n\n if (isCancelled) return;\n\n const assetsWithRigChecked = matchedAssets.map(asset => {\n if (asset.type !== 'rig') return asset;\n\n const rigWells = rigWellsMap.get(Number(asset.asset_id)) || [];\n return computeRigCheckedState(asset, rigWells, selectedWellIds);\n });\n\n // No active well filters -- return with correct checked state only\n if (!hasActiveWellFilters(filters)) {\n if (!isCancelled) {\n setSearchResult(groupByType(assetsWithRigChecked));\n }\n return;\n }\n\n const uniqueWellIds = uniq(wellAssets.map(asset => Number(asset.redirectAssetId)));\n const wellDataMap = await fetchWellDataMap(uniqueWellIds);\n\n if (isCancelled) return;\n\n const passingWellIds = new Set(\n uniqueWellIds.filter(id => {\n const well = wellDataMap.get(id);\n return well && doesWellPassFilters(well, filters);\n })\n );\n\n const passingRigIds = new Set(\n uniqueRigIds.filter(rigId => {\n const rigWells = rigWellsMap.get(rigId) || [];\n return rigWells.some(well =>\n doesWellPassFilters(well, filters, EXCLUDE_RIG_NAME_FILTER)\n );\n })\n );\n\n const filteredAssets = matchedAssets\n .filter(asset => {\n if (asset.type === 'well') return passingWellIds.has(Number(asset.redirectAssetId));\n return true;\n })\n .map(asset => {\n if (asset.type !== 'rig') return asset;\n\n const rigId = Number(asset.asset_id);\n const rigWells = rigWellsMap.get(rigId) || [];\n\n if (!passingRigIds.has(rigId)) {\n const reason =\n rigWells.length === 0 ? 'This rig has no wells' : 'No wells match current filters';\n return { ...asset, checked: false, disabledReason: reason };\n }\n\n const passingWells = rigWells.filter(well =>\n doesWellPassFilters(well, filters, EXCLUDE_RIG_NAME_FILTER)\n );\n\n return computeRigCheckedState(asset, passingWells, selectedWellIds);\n });\n\n if (!isCancelled) {\n setSearchResult(groupByType(filteredAssets));\n }\n } catch (e) {\n console.error(e);\n if (!isCancelled) {\n setSearchResult([]);\n }\n } finally {\n if (!isCancelled) {\n setIsFiltering(false);\n }\n }\n };\n\n filterAssets();\n\n return () => {\n isCancelled = true;\n };\n }, [assetsData, assetType, selectedWellIds, filters, activeCompanyIds]);\n\n return [isFetching || isFiltering, searchResult, hasMore];\n};\n"],"names":["_ref","_ref2","WELL_FILTER_KEYS","isFiniteNumber","value","Number","isFinite","groupByType","assets","Object","entries","groupBy","hasActiveWellFilters","filters","some","key","Array","isArray","length","sideTracks","period","timeRangeFrom","timeRangeTo","fetchRigWellsMap","_asyncToGenerator","_regeneratorRuntime","mark","_callee","rigIds","companyIds","fetchedRigWells","grouped","wrap","_context","prev","next","abrupt","Map","fetchWellsByRigIds","sent","filter","well","rigId","map","stop","_x","_x2","apply","this","arguments","fetchWellDataMap","wellIds","fetchedWells","_context2","fetchWellsByIds","id","_callee2","_x3","computeRigCheckedState","asset","wells","selectedWellIds","_objectSpread","checked","disabledReason","selectedCount","includes","allSelected","someSelected","indeterminate","searchKey","assetType","page","_filters$companyId","useState","_useState2","_slicedToArray","_useState","assetsData","setAssetsData","_useState4","_useState3","searchResult","setSearchResult","_useState6","_useState5","isFetching","setIsFetching","_useState8","_useState7","isFiltering","setIsFiltering","_useState10","_useState9","hasMore","setHasMore","debouncedFetchRef","useRef","debounce","cb","activeCompanyIds","companyId","useEffect","debouncedFetch","current","cancel","_ref3","isCancelled","fetchAssets","_callee3","hasMorePages","_context3","fetchAllAssets","ROWS_PER_PAGE","values","group","t0","console","error","_ref4","filterAssets","_callee4","checkedAssets","rigNameFilter","hasRigNameFilter","matchedAssets","rigAssets","wellAssets","uniqueRigIds","rigWellsMap","assetsWithRigChecked","uniqueWellIds","wellDataMap","passingWellIds","passingRigIds","filteredAssets","_context4","type","redirectAssetId","rigName","name","asset_id","uniq","rigWells","get","Set","doesWellPassFilters","EXCLUDE_RIG_NAME_FILTER","has","reason","passingWells","finish"],"mappings":"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"}
1
+ {"version":3,"file":"useAssetsData.js","sources":["../../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"sourcesContent":["import { useState, useEffect, useRef, useCallback } from 'react';\nimport { debounce, groupBy, uniq } from 'lodash';\n\nimport { fetchAllAssets, fetchWellsByIds, fetchWellsByRigIds } from '../api';\nimport { ROWS_PER_PAGE } from '../constants';\nimport { doesWellPassFilters, EXCLUDE_RIG_NAME_FILTER } from '../utils/doesWellPassFilters';\n\n// Mirrors WELL_PROPERTY_FILTER_KEYS in doesWellPassFilters.ts.\n// Used here to detect whether any well-level filters are active.\nconst WELL_FILTER_KEYS = [\n 'status',\n 'companyId',\n 'rigName',\n 'programName',\n 'basin',\n 'county',\n 'area',\n 'formation',\n 'stringDesign',\n];\n\nconst MAX_EMPTY_PAGES = 5;\n\nconst isFiniteNumber = value => Number.isFinite(Number(value));\n\nconst groupByType = assets => Object.entries(groupBy(assets, 'type'));\n\nconst hasActiveWellFilters = filters => {\n if (!filters) return false;\n\n if (WELL_FILTER_KEYS.some(key => Array.isArray(filters[key]) && filters[key].length > 0)) {\n return true;\n }\n\n if (filters.sideTracks) return true;\n if (filters.period && filters.period !== 'all') return true;\n\n return Number.isFinite(filters.timeRangeFrom) || Number.isFinite(filters.timeRangeTo);\n};\n\nconst fetchRigWellsMap = async (rigIds, companyIds) => {\n if (rigIds.length === 0) return new Map();\n\n const fetchedRigWells = await fetchWellsByRigIds(rigIds, companyIds);\n const grouped = groupBy(\n fetchedRigWells.filter(well => isFiniteNumber(well?.rigId)),\n well => Number(well.rigId)\n );\n\n return new Map(rigIds.map(rigId => [rigId, grouped[rigId] || []]));\n};\n\nconst fetchWellDataMap = async wellIds => {\n if (wellIds.length === 0) return new Map();\n\n const fetchedWells = await fetchWellsByIds(wellIds);\n\n return new Map(\n fetchedWells.filter(well => isFiniteNumber(well?.id)).map(well => [Number(well.id), well])\n );\n};\n\n// Compute rig checked/indeterminate state based on how many of its wells are selected.\n// Rigs with zero wells are marked as disabled.\nconst computeRigCheckedState = (asset, wells, selectedWellIds) => {\n if (wells.length === 0) {\n return { ...asset, checked: false, disabledReason: 'This rig has no wells' };\n }\n\n const selectedCount = wells.filter(well => selectedWellIds.includes(well.id)).length;\n const allSelected = selectedCount === wells.length;\n const someSelected = selectedCount > 0;\n\n return { ...asset, checked: someSelected, indeterminate: someSelected && !allSelected };\n};\n\nconst countFilteredItems = grouped => grouped.reduce((sum, [, assets]) => sum + assets.length, 0);\n\nexport const useAssetsData = (searchKey, assetType, companyIds, selectedWellIds, filters) => {\n const [page, setPage] = useState(1);\n const [assetsData, setAssetsData] = useState([]);\n const [searchResult, setSearchResult] = useState([]);\n const [isFetching, setIsFetching] = useState(false);\n const [isFiltering, setIsFiltering] = useState(false);\n const [hasMore, setHasMore] = useState(false);\n const debouncedFetchRef = useRef(debounce(cb => cb(), 500));\n\n const hasMoreRef = useRef(false);\n const prevAssetsDataLengthRef = useRef(0);\n const prevFilteredCountRef = useRef(0);\n const consecutiveEmptyPagesRef = useRef(0);\n const isPageOnlyChangeRef = useRef(false);\n\n const updateHasMore = value => {\n setHasMore(value);\n hasMoreRef.current = value;\n };\n\n const advancePage = () => {\n isPageOnlyChangeRef.current = true;\n setPage(p => p + 1);\n };\n\n const activeCompanyIds = filters?.companyId?.length > 0 ? filters.companyId : companyIds;\n\n useEffect(() => {\n const debouncedFetch = debouncedFetchRef.current;\n return () => debouncedFetch.cancel();\n }, []);\n\n // Reset accumulated data when search key or asset type changes\n useEffect(() => {\n setAssetsData([]);\n setSearchResult([]);\n updateHasMore(false);\n setPage(1);\n prevAssetsDataLengthRef.current = 0;\n prevFilteredCountRef.current = 0;\n consecutiveEmptyPagesRef.current = 0;\n isPageOnlyChangeRef.current = false;\n }, [searchKey, assetType]);\n\n useEffect(() => {\n let isCancelled = false;\n\n const fetchAssets = async () => {\n try {\n const assets = await fetchAllAssets(searchKey, assetType, page, activeCompanyIds);\n\n if (isCancelled) return;\n\n const hasMorePages = assetType\n ? assets.length >= ROWS_PER_PAGE\n : Object.values(groupBy(assets, 'type')).some(group => group.length >= ROWS_PER_PAGE);\n\n updateHasMore(hasMorePages);\n setAssetsData(prev => (page === 1 ? assets : [...prev, ...assets]));\n setIsFetching(false);\n } catch (e) {\n console.error(e);\n if (!isCancelled) {\n setIsFetching(false);\n }\n }\n };\n\n setIsFetching(true);\n\n if (isPageOnlyChangeRef.current) {\n isPageOnlyChangeRef.current = false;\n debouncedFetchRef.current.cancel();\n fetchAssets();\n } else {\n debouncedFetchRef.current(fetchAssets);\n }\n\n return () => {\n isCancelled = true;\n };\n }, [searchKey, assetType, page, activeCompanyIds]);\n\n const maybeAutoFetch = useCallback(\n filteredCount => {\n const dataGrew = assetsData.length !== prevAssetsDataLengthRef.current;\n prevAssetsDataLengthRef.current = assetsData.length;\n\n // Only auto-fetch when new data arrived (not on selection/filter re-runs)\n if (!dataGrew) return;\n\n if (filteredCount > prevFilteredCountRef.current) {\n prevFilteredCountRef.current = filteredCount;\n consecutiveEmptyPagesRef.current = 0;\n return;\n }\n\n prevFilteredCountRef.current = filteredCount;\n\n if (consecutiveEmptyPagesRef.current >= MAX_EMPTY_PAGES) return;\n if (!hasMoreRef.current) return;\n\n consecutiveEmptyPagesRef.current += 1;\n advancePage();\n },\n [assetsData.length]\n );\n\n useEffect(() => {\n let isCancelled = false;\n\n const filterAssets = async () => {\n // Wells: checked directly against selectedWellIds.\n // Rigs: placeholder false, resolved after rig-wells are fetched.\n const checkedAssets = assetsData.map(asset => ({\n ...asset,\n checked: asset.type === 'rig' ? false : selectedWellIds.includes(asset.redirectAssetId),\n }));\n\n const rigNameFilter = filters?.rigName;\n const hasRigNameFilter = Array.isArray(rigNameFilter) && rigNameFilter.length > 0;\n\n const matchedAssets = checkedAssets.filter(asset => {\n if (assetType && asset.type !== assetType) return false;\n if (asset.type === 'rig' && hasRigNameFilter && !rigNameFilter.includes(asset.name)) {\n return false;\n }\n return true;\n });\n\n if (matchedAssets.length === 0) {\n if (!isCancelled) {\n const grouped = [];\n setSearchResult(grouped);\n setIsFiltering(false);\n maybeAutoFetch(0);\n }\n return;\n }\n\n const rigAssets = matchedAssets.filter(\n asset => asset.type === 'rig' && isFiniteNumber(asset.asset_id)\n );\n\n // Fast path: no rigs and no active filters -- no async work needed\n if (rigAssets.length === 0 && !hasActiveWellFilters(filters)) {\n if (!isCancelled) {\n const grouped = groupByType(matchedAssets);\n setSearchResult(grouped);\n setIsFiltering(false);\n maybeAutoFetch(countFilteredItems(grouped));\n }\n return;\n }\n\n setIsFiltering(true);\n\n try {\n const wellAssets = matchedAssets.filter(\n asset => asset.type === 'well' && isFiniteNumber(asset.redirectAssetId)\n );\n\n const uniqueRigIds = uniq(rigAssets.map(asset => Number(asset.asset_id)));\n const rigWellsMap = await fetchRigWellsMap(uniqueRigIds, activeCompanyIds);\n\n if (isCancelled) return;\n\n const assetsWithRigChecked = matchedAssets.map(asset => {\n if (asset.type !== 'rig') return asset;\n\n const rigWells = rigWellsMap.get(Number(asset.asset_id)) || [];\n return computeRigCheckedState(asset, rigWells, selectedWellIds);\n });\n\n // No active well filters -- return with correct checked state only\n if (!hasActiveWellFilters(filters)) {\n if (!isCancelled) {\n const grouped = groupByType(assetsWithRigChecked);\n setSearchResult(grouped);\n maybeAutoFetch(countFilteredItems(grouped));\n }\n return;\n }\n\n const uniqueWellIds = uniq(wellAssets.map(asset => Number(asset.redirectAssetId)));\n const wellDataMap = await fetchWellDataMap(uniqueWellIds);\n\n if (isCancelled) return;\n\n const passingWellIds = new Set(\n uniqueWellIds.filter(id => {\n const well = wellDataMap.get(id);\n return well && doesWellPassFilters(well, filters);\n })\n );\n\n const passingRigIds = new Set(\n uniqueRigIds.filter(rigId => {\n const rigWells = rigWellsMap.get(rigId) || [];\n return rigWells.some(well =>\n doesWellPassFilters(well, filters, EXCLUDE_RIG_NAME_FILTER)\n );\n })\n );\n\n const filteredAssets = matchedAssets\n .filter(asset => {\n if (asset.type === 'well') return passingWellIds.has(Number(asset.redirectAssetId));\n return true;\n })\n .map(asset => {\n if (asset.type !== 'rig') return asset;\n\n const rigId = Number(asset.asset_id);\n const rigWells = rigWellsMap.get(rigId) || [];\n\n if (!passingRigIds.has(rigId)) {\n const reason =\n rigWells.length === 0 ? 'This rig has no wells' : 'No wells match current filters';\n return { ...asset, checked: false, disabledReason: reason };\n }\n\n const passingWells = rigWells.filter(well =>\n doesWellPassFilters(well, filters, EXCLUDE_RIG_NAME_FILTER)\n );\n\n return computeRigCheckedState(asset, passingWells, selectedWellIds);\n });\n\n if (!isCancelled) {\n const grouped = groupByType(filteredAssets);\n setSearchResult(grouped);\n maybeAutoFetch(countFilteredItems(grouped));\n }\n } catch (e) {\n console.error(e);\n if (!isCancelled) {\n setSearchResult([]);\n }\n } finally {\n if (!isCancelled) {\n setIsFiltering(false);\n }\n }\n };\n\n filterAssets();\n\n return () => {\n isCancelled = true;\n };\n }, [assetsData, assetType, selectedWellIds, filters, activeCompanyIds, maybeAutoFetch]);\n\n const loadMore = useCallback(() => {\n if (!hasMore || isFetching || isFiltering) return;\n consecutiveEmptyPagesRef.current = 0;\n advancePage();\n }, [hasMore, isFetching, isFiltering]);\n\n return [isFetching || isFiltering, searchResult, hasMore, loadMore];\n};\n"],"names":["_ref","_ref2","WELL_FILTER_KEYS","isFiniteNumber","value","Number","isFinite","groupByType","assets","Object","entries","groupBy","hasActiveWellFilters","filters","some","key","Array","isArray","length","sideTracks","period","timeRangeFrom","timeRangeTo","fetchRigWellsMap","_asyncToGenerator","_regeneratorRuntime","mark","_callee","rigIds","companyIds","fetchedRigWells","grouped","wrap","_context","prev","next","abrupt","Map","fetchWellsByRigIds","sent","filter","well","rigId","map","stop","_x","_x2","apply","this","arguments","fetchWellDataMap","wellIds","fetchedWells","_context2","fetchWellsByIds","id","_callee2","_x3","computeRigCheckedState","asset","wells","selectedWellIds","_objectSpread","checked","disabledReason","selectedCount","includes","allSelected","someSelected","indeterminate","countFilteredItems","reduce","sum","_ref3","_slicedToArray","searchKey","assetType","_filters$companyId","useState","_useState2","_useState","page","setPage","_useState4","_useState3","assetsData","setAssetsData","_useState6","_useState5","searchResult","setSearchResult","_useState8","_useState7","isFetching","setIsFetching","_useState10","_useState9","isFiltering","setIsFiltering","_useState12","_useState11","hasMore","setHasMore","debouncedFetchRef","useRef","debounce","cb","hasMoreRef","prevAssetsDataLengthRef","prevFilteredCountRef","consecutiveEmptyPagesRef","isPageOnlyChangeRef","updateHasMore","current","advancePage","p","activeCompanyIds","companyId","useEffect","debouncedFetch","cancel","_ref5","isCancelled","fetchAssets","_callee3","hasMorePages","_context3","fetchAllAssets","ROWS_PER_PAGE","values","group","t0","console","error","maybeAutoFetch","useCallback","filteredCount","dataGrew","_ref6","filterAssets","_callee4","checkedAssets","rigNameFilter","hasRigNameFilter","matchedAssets","rigAssets","_grouped","wellAssets","uniqueRigIds","rigWellsMap","assetsWithRigChecked","_grouped2","uniqueWellIds","wellDataMap","passingWellIds","passingRigIds","filteredAssets","_grouped3","_context4","type","redirectAssetId","rigName","name","asset_id","uniq","rigWells","get","Set","doesWellPassFilters","EXCLUDE_RIG_NAME_FILTER","has","reason","passingWells","finish","loadMore"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV5.d.ts","sourceRoot":"","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"names":[],"mappings":"AAuEO,kDA+zCN"}
1
+ {"version":3,"file":"OffsetWellPickerV5.d.ts","sourceRoot":"","sources":["../../../src/components/OffsetWellPickerV5/OffsetWellPickerV5.js"],"names":[],"mappings":"AAuEO,kDAo0CN"}