@corva/ui 3.48.0-9 → 3.48.0-rc.1

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 (27) 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/AssetResultSection.js +1 -1
  4. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  5. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  6. package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  7. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAssetsData.js +1 -1
  8. package/cjs-bundle/components/OffsetWellPickerV5/effects/useAssetsData.js.map +1 -1
  9. package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +1 -1
  10. package/components/OffsetWellPickerV5/OffsetWellPickerV5.d.ts.map +1 -1
  11. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js +1 -1
  12. package/components/OffsetWellPickerV5/OffsetWellPickerV5.js.map +1 -1
  13. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.d.ts +3 -3
  14. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.d.ts.map +1 -1
  15. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js +1 -1
  16. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AssetResultSection.js.map +1 -1
  17. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.d.ts.map +1 -1
  18. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  19. package/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  20. package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts +1 -1
  21. package/components/OffsetWellPickerV5/effects/useAssetsData.d.ts.map +1 -1
  22. package/components/OffsetWellPickerV5/effects/useAssetsData.js +1 -1
  23. package/components/OffsetWellPickerV5/effects/useAssetsData.js.map +1 -1
  24. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts +5 -1
  25. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts.map +1 -1
  26. package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +1 -1
  27. package/package.json +1 -1
@@ -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 { get, 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, ROWS_PER_PAGE } from '../../../constants';\n\nimport { SEARCH_CATEGORIES } from './constants';\n\nimport { LoaderCircular, TextMiddleTruncated } 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\nconst isLastPage = (data, page) => {\n return !data.find(([_, value]) => value.length === ROWS_PER_PAGE * page);\n};\n\nexport const AssetResultSection = ({\n subjectWellId,\n page,\n assetType,\n loading,\n groupedAssets,\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 selectedCount = assets.filter(asset => asset.checked).length;\n const indeterminate = selectedCount > 0 && assets.length !== selectedCount;\n const isAllWellsSelected = selectedCount === assets.length;\n return [indeterminate, isAllWellsSelected];\n }\n return [false, false];\n }, [groupedAssets]);\n\n const handleScrollList = e => {\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n const currentScrollBottom = e.target.scrollTop + e.target.offsetHeight;\n\n // NOTE: if scroll is near 1px from the bottom, then load new data.\n if (\n Math.abs(e.target.scrollHeight - currentScrollBottom) < 1 &&\n !isLastPage(groupedAssets, page)\n ) {\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, asstes]) => (\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 {asstes.map(asset => (\n <ListItem\n data-testid={`${PAGE_NAME}_item_${asset.name}MenuItem`}\n button\n classes={{ gutters: classes.listGutters }}\n key={`item-${assetTypeKey}-${\n get(asset, 'asset_id') ? get(asset, 'asset_id') : get(asset, 'id')\n }`}\n disabled={\n (asset.type === SEARCH_CATEGORIES.well.name &&\n !asset.visibility.includes('visible')) ||\n !asset.redirectAssetId ||\n asset.redirectAssetId === subjectWellId\n }\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} />\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 </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 page: PropTypes.number.isRequired,\n assetType: PropTypes.string.isRequired,\n loading: PropTypes.bool.isRequired,\n groupedAssets: PropTypes.arrayOf(PropTypes.shape({})).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","_ref3","subjectWellId","page","assetType","loading","groupedAssets","onClickAsset","onClickAllAsset","onScrollReached","loadingAssetIds","classes","listRef","useRef","useMemo","length","assets","selectedCount","filter","asset","checked","_useMemo2","_slicedToArray","_useMemo","indeterminate","isAllWellsSelected","_jsxs","className","children","List","subheader","_jsx","onScroll","e","target","scrollHeight","offsetHeight","currentScrollBottom","scrollTop","Math","abs","data","find","_ref","_ref2","ROWS_PER_PAGE","isLastPage","ref","map","_ref4","_ref5","assetTypeKey","asstes","ListSubheader","gutters","Chip","variant","label","SEARCH_CATEGORIES","labelPlural","ListItem","button","onClick","classNames","Checkbox","style","_StatusOptions$find","concat","name","disabled","type","well","visibility","includes","redirectAssetId","LoaderCircular","size","TextMiddleTruncated","StatusOptions","item","value","startCase","get","isEmpty","Typography","propTypes","PropTypes","number","isRequired","string","bool","arrayOf","shape","func","defaultProps"],"mappings":"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"}
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","ListSubheader","gutters","Chip","variant","label","SEARCH_CATEGORIES","labelPlural","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 +1 @@
1
- {"version":3,"file":"AutoCompleteAssetSearch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"names":[],"mappings":"AAwFO;;;;;;;;;;gBA8KN;;;;;;;;;;;;;;;;;;;;;;;;sBArQqB,YAAY"}
1
+ {"version":3,"file":"AutoCompleteAssetSearch.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js"],"names":[],"mappings":"AAuFO;;;;;;;;;;gBA4KN;;;;;;;;;;;;;;;;;;;;;;;;sBAlQqB,YAAY"}
@@ -1,2 +1,2 @@
1
- import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useRef as r,useEffect as o,useMemo as s}from"react";import i from"prop-types";import{get as n}from"lodash";import{withStyles as a,Tooltip as p,makeStyles as l,Chip as c,Input as m}from"@material-ui/core";import d from"@material-ui/icons/Close";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/regenerator";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../../clients/jsonApi/index.js";import"../../../../../clients/subscriptions/constants.js";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"../../../constants.js";import"../../../api/shared/dataFormatter.js";import"../../../utils/wellTransformations.js";import"zustand";import"../../../stores/picker-props-store/PickerPropsStoreContext.js";import{jsxs as u,jsx as f,Fragment as h}from"react/jsx-runtime";import"../../../viewport/ViewportProvider.js";import"../../../viewport/ViewportContext.js";import"../../../../../utils/index.js";import"../../../../../constants/goals.js";import"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import"react-virtualized";import{useAssetsData as g}from"../../../effects/useAssetsData.js";import"../../../../../permissions/PermissionsContext.js";import"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"lodash/debounce";import"lodash/isEqual";import"@mapbox/tilebelt";import"../../Map/OffsetWellMap/constants.js";import"../../../stores/viewport-store/ViewportStoreContext.js";import"../../../stores/filter-store/FilterStoreContext.js";import"../../../stores/company-safeguard/CompanySafeguardContext.js";import"lz-string";import"../../../stores/viewport-store/ViewportStoreProvider.js";import"@turf/bbox";import"@turf/circle";import{AssetTypesSection as j}from"./AssetTypesSection.js";import{AssetResultSection as x}from"./AssetResultSection.js";import{SEARCH_CATEGORIES as b,CATEGORY_KEY_VALUES as C}from"./constants.js";var y=a((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"}}}))(p),I=l((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"}}})),v=function(i){var a=i.companyIds,p=i.subjectWellId,l=i.value,v=i.selectedWellIds,w=i.onChange,A=i.searchWidth,W=i.onClose,S=i.loadingAssetIds,k=i.filters,P=t(null),R=e(P,2),D=R[0],z=R[1],T=t(null),q=e(T,2),N=q[0],O=q[1],L=t(1),V=e(L,2),B=V[0],F=V[1],H=I({searchWidth:A}),M=r();o((function(){O(l)}),[l]);var _=g(N,D,B,a,v,k),G=e(_,2),K=G[0],U=G[1],E=s((function(){return D&&U&&0!==U.length?U[0][1].filter((function(e){return e.checked})).length:0}),[D,U]);return u("div",{className:H.wrapper,children:[f("div",{className:H.inputWrapper,children:u("div",{className:H.searchInput,children:[D&&u(h,{children:[f(c,{"data-not-migrated-muichip":!0,classes:{root:H.selectedChip,deleteIcon:H.selectedChipDeleteIcon},label:n(b,[D,"labelPlural"],"Assets"),deleteIcon:f(d,{}),onDelete:function(){z(null)}}),E>0&&u("span",{className:H.selectedLabel,children:[E," Selected"]})]}),f(m,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:M,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:N||"",placeholder:"Search for Wells ...",onChange:function(e){var t=e.target.value;M.current.focus(),O(t),F(1)},onKeyUp:function(t){var r=t.target.value,o=t.keyCode,s=C.find((function(t){var o=e(t,2);return o[0],o[1].autoCategorizedKey===r.trim().toLowerCase()}));if(s&&(13===o||32===o))return O(""),z(s[0]),void F(1);""===r&&8===o&&(z(null),F(1))}}),f(y,{title:"Clear",children:f(d,{className:D||N?H.selectedChipDeleteIcon:H.disabledIcon,onClick:function(){O(""),z(null),F(1),W()}})})]})}),!D&&!N&&f(j,{onClickAssetType:function(e){M.current.focus(),z(e),F(1)}}),(D||N)&&f(x,{subjectWellId:p,page:B,assetType:D,loading:K,groupedAssets:U,onClickAsset:function(e,t){t===b.rig.name?w(!e.checked,[e.redirectAssetId],t,[e.asset_id]):w(!e.checked,[e.redirectAssetId],t)},onClickAllAsset:function(e,t){var r=U[0][1];t===b.rig.name?w(e,r.map((function(e){return e.redirectAssetId})),t,r.map((function(e){return e.asset_id}))):w(e,r.map((function(e){return e.redirectAssetId})),t)},onScrollReached:function(e){"top"===e&&B>1&&F((function(e){return e-1})),"bottom"===e&&F((function(e){return e+1}))},loadingAssetIds:S})]})};v.propTypes={subjectWellId:i.number.isRequired,companyIds:i.arrayOf(i.number),value:i.string.isRequired,selectedWellIds:i.arrayOf(i.number).isRequired,onChange:i.func.isRequired,searchWidth:i.number,onClose:i.func.isRequired,loadingAssetIds:i.arrayOf(i.number),filters:i.object},v.defaultProps={companyIds:null,searchWidth:null,loadingAssetIds:[],filters:null};export{v as AutoCompleteAssetSearch};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useRef as r,useEffect as o,useMemo as s}from"react";import i from"prop-types";import{withStyles as n,Tooltip as a,makeStyles as p,Chip as l,Input as c}from"@material-ui/core";import m from"@material-ui/icons/Close";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/regenerator";import"lodash";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../../../clients/jsonApi/index.js";import"../../../../../clients/subscriptions/constants.js";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"../../../constants.js";import"../../../api/shared/dataFormatter.js";import"../../../utils/wellTransformations.js";import"zustand";import"../../../stores/picker-props-store/PickerPropsStoreContext.js";import{jsxs as d,jsx as u,Fragment as f}from"react/jsx-runtime";import"../../../viewport/ViewportProvider.js";import"../../../viewport/ViewportContext.js";import"../../../../../utils/index.js";import"../../../../../constants/goals.js";import"../../../../../constants/segment.js";import"../../../../../constants/alerts.js";import"../../../../../constants/apps.js";import"../../../../../constants/drillstring.js";import"../../../../../constants/completion.js";import"../../../../../constants/appPackages.js";import"../../../../../constants/notifications.js";import"../../../../../constants/feed.js";import"../../../../../constants/bha.js";import"../../../../../constants/corvaCompanyId.js";import"../../../../GradientManager/configuration/constants.js";import"react-virtualized";import{useAssetsData as h}from"../../../effects/useAssetsData.js";import"../../../../../permissions/PermissionsContext.js";import"../../../../../permissions/constants/index.js";import"../../../../../permissions/withPermissionsHOC.js";import"../../../../../permissions/ProvidePermissions.js";import"lodash/debounce";import"lodash/isEqual";import"@mapbox/tilebelt";import"../../Map/OffsetWellMap/constants.js";import"../../../stores/viewport-store/ViewportStoreContext.js";import"../../../stores/filter-store/FilterStoreContext.js";import"../../../stores/company-safeguard/CompanySafeguardContext.js";import"lz-string";import"../../../stores/viewport-store/ViewportStoreProvider.js";import"@turf/bbox";import"@turf/circle";import{AssetTypesSection as j}from"./AssetTypesSection.js";import{AssetResultSection as g}from"./AssetResultSection.js";import{SEARCH_CATEGORIES as x,CATEGORY_KEY_VALUES as b}from"./constants.js";var C=n((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"}}}))(a),y=p((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"}}})),v=function(i){var n,a,p=i.companyIds,v=i.subjectWellId,I=i.value,w=i.selectedWellIds,A=i.onChange,W=i.searchWidth,S=i.onClose,k=i.loadingAssetIds,P=i.filters,R=t(null),D=e(R,2),z=D[0],T=D[1],q=t(null),N=e(q,2),O=N[0],L=N[1],M=t(1),V=e(M,2),B=V[0],F=V[1],H=y({searchWidth:W}),_=r();o((function(){L(I)}),[I]);var G=h(O,z,B,p,w,P),K=e(G,3),U=K[0],E=K[1],$=K[2],J=s((function(){return z&&E&&0!==E.length?E[0][1].filter((function(e){return e.checked})).length:0}),[z,E]);return d("div",{className:H.wrapper,children:[u("div",{className:H.inputWrapper,children:d("div",{className:H.searchInput,children:[z&&d(f,{children:[u(l,{"data-not-migrated-muichip":!0,classes:{root:H.selectedChip,deleteIcon:H.selectedChipDeleteIcon},label:null!==(n=null===(a=x[z])||void 0===a?void 0:a.labelPlural)&&void 0!==n?n:"Assets",deleteIcon:u(m,{}),onDelete:function(){T(null)}}),J>0&&d("span",{className:H.selectedLabel,children:[J," Selected"]})]}),u(c,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:_,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:O||"",placeholder:"Search for Wells ...",onChange:function(e){var t=e.target.value;_.current.focus(),L(t),F(1)},onKeyUp:function(t){var r=t.target.value,o=t.keyCode,s=b.find((function(t){var o=e(t,2);return o[0],o[1].autoCategorizedKey===r.trim().toLowerCase()}));if(s&&(13===o||32===o))return L(""),T(s[0]),void F(1);""===r&&8===o&&(T(null),F(1))}}),u(C,{title:"Clear",children:u(m,{className:z||O?H.selectedChipDeleteIcon:H.disabledIcon,onClick:function(){L(""),T(null),F(1),S()}})})]})}),!z&&!O&&u(j,{onClickAssetType:function(e){_.current.focus(),T(e),F(1)}}),(z||O)&&u(g,{subjectWellId:v,assetType:z,loading:U,groupedAssets:E,hasMore:$,onClickAsset:function(e,t){t===x.rig.name?A(!e.checked,[],t,[e.asset_id]):A(!e.checked,[e.redirectAssetId],t)},onClickAllAsset:function(e,t){var r=E[0][1].filter((function(e){return!e.disabledReason}));t===x.rig.name?A(e,[],t,r.map((function(e){return e.asset_id}))):A(e,r.map((function(e){return e.redirectAssetId})),t)},onScrollReached:function(e){"top"===e&&B>1&&F((function(e){return e-1})),"bottom"===e&&F((function(e){return e+1}))},loadingAssetIds:k})]})};v.propTypes={subjectWellId:i.number.isRequired,companyIds:i.arrayOf(i.number),value:i.string.isRequired,selectedWellIds:i.arrayOf(i.number).isRequired,onChange:i.func.isRequired,searchWidth:i.number,onClose:i.func.isRequired,loadingAssetIds:i.arrayOf(i.number),filters:i.object},v.defaultProps={companyIds:null,searchWidth:null,loadingAssetIds:[],filters:null};export{v as AutoCompleteAssetSearch};
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 { get } from 'lodash';\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] = 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 // NOTE: when type one of categories defined and press enter key or space key\n // then asset type will be auto selected and clear input field\n if (availableCategory && (keyCode === 13 || keyCode === 32)) {\n setSearchKey('');\n setAssetType(availableCategory[0]);\n setPage(1);\n return;\n }\n\n // NOTE: when there is no value in input field and press back space key,\n // then clear asset type as well.\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, [asset.redirectAssetId], 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];\n if (assetType === SEARCH_CATEGORIES.rig.name) {\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\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={get(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 page={page}\n assetType={assetType}\n loading={loading}\n groupedAssets={groupedAssets}\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","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","selectedCount","useMemo","length","filter","asset","checked","_jsxs","className","children","_jsx","_Fragment","Chip","root","deleteIcon","label","get","SEARCH_CATEGORIES","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","redirectAssetId","asset_id","onClickAllAsset","isAllAdding","assets","map","onScrollReached","position","prev","propTypes","PropTypes","number","isRequired","arrayOf","string","func","object","defaultProps"],"mappings":"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"}
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","_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":"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"}
@@ -1,2 +1,2 @@
1
- export function useAssetsData(searchKey: any, assetType: any, page: any, companyIds: any, selectedWellIds: any, filters: any): (boolean | [string, any[]][])[];
1
+ export function useAssetsData(searchKey: any, assetType: any, page: any, companyIds: any, selectedWellIds: any, filters: any): (boolean | any[])[];
2
2
  //# sourceMappingURL=useAssetsData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsData.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"names":[],"mappings":"AAeO,+JAwDN"}
1
+ {"version":3,"file":"useAssetsData.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"names":[],"mappings":"AA0EO,mJAgMN"}
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/slicedToArray";import n from"@babel/runtime/regenerator";import{useState as o,useEffect as i,useMemo as s}from"react";import{debounce as c,groupBy as u,every as a,flatten as p,toPairs as l}from"lodash";import"uuid";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import{fetchAllAssets as m}from"../api/assets/fetchAllAssets.js";function f(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function b(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?f(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var d=c((function(t){t()}),500),h=function(c,f,h,y,j,v){var O,g=o([]),w=r(g,2),P=w[0],A=w[1],k=o(!1),x=r(k,2),T=x[0],C=x[1],D=o({}),N=r(D,2)[1],I=(null==v||null===(O=v.companyId)||void 0===O?void 0:O.length)>0?v.companyId:y;return i((function(){function r(){return(r=e(n.mark((function e(){var r;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,m(c,f,h,I);case 3:r=e.sent,N((function(e){var n=p(l(e).filter((function(t){return+t[0]<+h})).map((function(t){return t[1]}))).concat(r);return A(n),b(b({},e),{},t({searchKey:c,assetType:f},h,r))})),C(!1),e.next=12;break;case 8:e.prev=8,e.t0=e.catch(0),console.error(e.t0),C(!1);case 12:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}C(!0),d((function(){return r.apply(this,arguments)}))}),[c,f,h,I]),[T,s((function(){var t=P.map((function(t){return b(b({},t),{},{checked:j.includes(t.redirectAssetId)})})).filter((function(t){return(!f||t.type===f)&&function(t,e){var r=(e||"").split(" ");return a(r,(function(e){return t.toLowerCase().includes(e||"")}))}(t.name,(c||"").toLowerCase())}));return t=t.filter((function(t){var e,r;return"well"!==t.type||!((null==v||null===(e=v.status)||void 0===e?void 0:e.length)>0&&!v.status.includes(t.status))&&(!((null==v||null===(r=v.rigName)||void 0===r?void 0:r.length)>0&&t.rigName&&!v.rigName.includes(t.rigName))&&(null==v||!v.sideTracks||!t.name.match(/\sST0/g)))})),Object.entries(u(t,"type"))}),[c,P,f,j,v])]};export{h as useAssetsData};
1
+ import r from"@babel/runtime/helpers/toConsumableArray";import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/defineProperty";import n from"@babel/runtime/helpers/asyncToGenerator";import i from"@babel/runtime/regenerator";import{useState as u,useRef as s,useEffect as o}from"react";import{groupBy as a,debounce as c,uniq as p}from"lodash";import{fetchWellsByIds as l}from"../api/wells/fetchWellsByIds.js";import"uuid";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/constants.js";import"../../../clients/subscriptions.v1.js";import"../../../clients/subscriptions/subscriptions-client.factory.js";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import{fetchWellsByRigIds as f}from"../api/wells/fetchWellsByRigIds.js";import{fetchAllAssets as m}from"../api/assets/fetchAllAssets.js";import{ROWS_PER_PAGE as b}from"../constants.js";import{doesWellPassFilters as d,EXCLUDE_RIG_NAME_FILTER as h}from"../utils/doesWellPassFilters.js";function g(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function y(r){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?g(Object(n),!0).forEach((function(e){t(r,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(n,e))}))}return r}var v,j,w=["status","companyId","rigName","programName","basin","county","area","formation","stringDesign"],x=function(r){return Number.isFinite(Number(r))},k=function(r){return Object.entries(a(r,"type"))},O=function(r){return!!r&&(!!w.some((function(e){return Array.isArray(r[e])&&r[e].length>0}))||(!!r.sideTracks||(!(!r.period||"all"===r.period)||(Number.isFinite(r.timeRangeFrom)||Number.isFinite(r.timeRangeTo)))))},N=(v=n(i.mark((function r(e,t){var n,u;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(0!==e.length){r.next=2;break}return r.abrupt("return",new Map);case 2:return r.next=4,f(e,t);case 4:return n=r.sent,u=a(n.filter((function(r){return x(null==r?void 0:r.rigId)})),(function(r){return Number(r.rigId)})),r.abrupt("return",new Map(e.map((function(r){return[r,u[r]||[]]}))));case 7:case"end":return r.stop()}}),r)}))),function(r,e){return v.apply(this,arguments)}),A=(j=n(i.mark((function r(e){var t;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(0!==e.length){r.next=2;break}return r.abrupt("return",new Map);case 2:return r.next=4,l(e);case 4:return t=r.sent,r.abrupt("return",new Map(t.filter((function(r){return x(null==r?void 0:r.id)})).map((function(r){return[Number(r.id),r]}))));case 6:case"end":return r.stop()}}),r)}))),function(r){return j.apply(this,arguments)}),I=function(r,e,t){if(0===e.length)return y(y({},r),{},{checked:!1,disabledReason:"This rig has no wells"});var n=e.filter((function(r){return t.includes(r.id)})).length,i=n===e.length,u=n>0;return y(y({},r),{},{checked:u,indeterminate:u&&!i})},P=function(t,l,f,g,v,j){var w,P=u([]),T=e(P,2),D=T[0],F=T[1],R=u([]),M=e(R,2),S=M[0],_=M[1],W=u(!1),B=e(W,2),C=B[0],E=B[1],G=u(!1),q=e(G,2),z=q[0],H=q[1],J=u(!1),K=e(J,2),L=K[0],Q=K[1],U=s(c((function(r){return r()}),500)),V=(null==j||null===(w=j.companyId)||void 0===w?void 0:w.length)>0?j.companyId:g;return o((function(){var r=U.current;return function(){return r.cancel()}}),[]),o((function(){F([]),_([]),Q(!1)}),[t,l]),o((function(){var e,u=!1,s=(e=n(i.mark((function e(){var n,s;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,m(t,l,f,V);case 3:if(n=e.sent,!u){e.next=6;break}return e.abrupt("return");case 6:s=l?n.length>=b:Object.values(a(n,"type")).some((function(r){return r.length>=b})),Q(s),F((function(e){return 1===f?n:[].concat(r(e),r(n))})),E(!1),e.next=16;break;case 12:e.prev=12,e.t0=e.catch(0),console.error(e.t0),u||E(!1);case 16:case"end":return e.stop()}}),e,null,[[0,12]])}))),function(){return e.apply(this,arguments)});return E(!0),U.current(s),function(){u=!0}}),[t,l,f,V]),o((function(){var r,e=!1,t=(r=n(i.mark((function r(){var t,n,u,s,o,a,c,f,m,b,g,w,P,T;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(t=D.map((function(r){return y(y({},r),{},{checked:"rig"!==r.type&&v.includes(r.redirectAssetId)})})),n=null==j?void 0:j.rigName,u=Array.isArray(n)&&n.length>0,0!==(s=t.filter((function(r){return!(l&&r.type!==l||"rig"===r.type&&u&&!n.includes(r.name))}))).length){r.next=7;break}return e||(_([]),H(!1)),r.abrupt("return");case 7:if(0!==(o=s.filter((function(r){return"rig"===r.type&&x(r.asset_id)}))).length||O(j)){r.next=11;break}return e||(_(k(s)),H(!1)),r.abrupt("return");case 11:return H(!0),r.prev=12,a=s.filter((function(r){return"well"===r.type&&x(r.redirectAssetId)})),c=p(o.map((function(r){return Number(r.asset_id)}))),r.next=17,N(c,V);case 17:if(f=r.sent,!e){r.next=20;break}return r.abrupt("return");case 20:if(m=s.map((function(r){if("rig"!==r.type)return r;var e=f.get(Number(r.asset_id))||[];return I(r,e,v)})),O(j)){r.next=24;break}return e||_(k(m)),r.abrupt("return");case 24:return b=p(a.map((function(r){return Number(r.redirectAssetId)}))),r.next=27,A(b);case 27:if(g=r.sent,!e){r.next=30;break}return r.abrupt("return");case 30:w=new Set(b.filter((function(r){var e=g.get(r);return e&&d(e,j)}))),P=new Set(c.filter((function(r){return(f.get(r)||[]).some((function(r){return d(r,j,h)}))}))),T=s.filter((function(r){return"well"!==r.type||w.has(Number(r.redirectAssetId))})).map((function(r){if("rig"!==r.type)return r;var e=Number(r.asset_id),t=f.get(e)||[];if(!P.has(e)){var n=0===t.length?"This rig has no wells":"No wells match current filters";return y(y({},r),{},{checked:!1,disabledReason:n})}var i=t.filter((function(r){return d(r,j,h)}));return I(r,i,v)})),e||_(k(T)),r.next=40;break;case 36:r.prev=36,r.t0=r.catch(12),console.error(r.t0),e||_([]);case 40:return r.prev=40,e||H(!1),r.finish(40);case 43:case"end":return r.stop()}}),r,null,[[12,36,40,43]])}))),function(){return r.apply(this,arguments)});return t(),function(){e=!0}}),[D,l,v,j,V]),[C||z,S,L]};export{P as useAssetsData};
2
2
  //# sourceMappingURL=useAssetsData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAssetsData.js","sources":["../../../../src/components/OffsetWellPickerV5/effects/useAssetsData.js"],"sourcesContent":["import { useState, useMemo, useEffect } from 'react';\nimport { debounce, groupBy, every, flatten, toPairs } from 'lodash';\n\nimport { fetchAllAssets } from '../api';\n\nconst debouncedFunc = debounce(callback => {\n callback();\n}, 500);\n\nconst isMatchedAsset = (assetName, searchKey) => {\n const searchKeys = (searchKey || '').split(' ');\n\n return every(searchKeys, key => assetName.toLowerCase().includes(key || ''));\n};\n\nexport const useAssetsData = (searchKey, assetType, page, companyIds, selectedWellIds, filters) => {\n const [assetsData, setAssetsData] = useState([]);\n const [loading, setLoading] = useState(false);\n const [, setMultiPageData] = useState({});\n\n const activeCompanyIds = filters?.companyId?.length > 0 ? filters.companyId : companyIds;\n\n useEffect(() => {\n async function fetchAssets() {\n try {\n const assets = await fetchAllAssets(searchKey, assetType, page, activeCompanyIds);\n setMultiPageData(prev => {\n const multiPageAssets = flatten(\n toPairs(prev)\n .filter(item => +item[0] < +page)\n .map(data => data[1])\n ).concat(assets);\n setAssetsData(multiPageAssets);\n return { ...prev, searchKey, assetType, [page]: assets };\n });\n setLoading(false);\n } catch (e) {\n console.error(e);\n setLoading(false);\n }\n }\n setLoading(true);\n debouncedFunc(fetchAssets);\n }, [searchKey, assetType, page, activeCompanyIds]);\n\n const searchResult = useMemo(() => {\n const checkedAssets = assetsData.map(asset => ({\n ...asset,\n checked: selectedWellIds.includes(asset.redirectAssetId),\n }));\n let filteredData = checkedAssets.filter(\n asset =>\n (!assetType || asset.type === assetType) &&\n isMatchedAsset(asset.name, (searchKey || '').toLowerCase())\n );\n\n // Apply well-specific filters (rig assets don't have these fields)\n filteredData = filteredData.filter(asset => {\n if (asset.type !== 'well') return true;\n if (filters?.status?.length > 0 && !filters.status.includes(asset.status)) return false;\n if (filters?.rigName?.length > 0 && asset.rigName && !filters.rigName.includes(asset.rigName))\n return false;\n if (filters?.sideTracks && asset.name.match(/\\sST0/g)) return false;\n return true;\n });\n\n const groupData = Object.entries(groupBy(filteredData, 'type'));\n return groupData;\n }, [searchKey, assetsData, assetType, selectedWellIds, filters]);\n\n return [loading, searchResult];\n};\n"],"names":["debouncedFunc","debounce","callback","useAssetsData","searchKey","assetType","page","companyIds","selectedWellIds","filters","_filters$companyId","useState","_useState2","_slicedToArray","_useState","assetsData","setAssetsData","_useState4","_useState3","loading","setLoading","_useState5","setMultiPageData","activeCompanyIds","companyId","length","useEffect","_fetchAssets","_asyncToGenerator","_regeneratorRuntime","mark","_callee","assets","wrap","_context","prev","next","fetchAllAssets","sent","multiPageAssets","flatten","toPairs","filter","item","map","data","concat","_objectSpread","_defineProperty","t0","console","error","stop","apply","this","arguments","useMemo","filteredData","asset","checked","includes","redirectAssetId","type","assetName","searchKeys","split","every","key","toLowerCase","isMatchedAsset","name","_filters$status","_filters$rigName","status","rigName","sideTracks","match","Object","entries","groupBy"],"mappings":"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"}
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","useAssetsData","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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"}
@@ -12,5 +12,9 @@ export type FilterableWell = {
12
12
  formation?: string;
13
13
  stringDesign?: string;
14
14
  };
15
- export declare const doesWellPassFilters: (well: FilterableWell, filters: FilterState | null) => boolean;
15
+ export type DoesWellPassFiltersOptions = {
16
+ excludeKeys?: (keyof FilterState)[];
17
+ };
18
+ export declare const EXCLUDE_RIG_NAME_FILTER: DoesWellPassFiltersOptions;
19
+ export declare const doesWellPassFilters: (well: FilterableWell, filters: FilterState | null, options?: DoesWellPassFiltersOptions) => boolean;
16
20
  //# sourceMappingURL=doesWellPassFilters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doesWellPassFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/utils/doesWellPassFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAkBhE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,cAAc,EAAE,SAAS,WAAW,GAAG,IAAI,KAAG,OAiCvF,CAAC"}
1
+ {"version":3,"file":"doesWellPassFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/utils/doesWellPassFilters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAkBhE,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,WAAW,CAAC,EAAE,CAAC,MAAM,WAAW,CAAC,EAAE,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,0BAErC,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,MAAM,cAAc,EACpB,SAAS,WAAW,GAAG,IAAI,EAC3B,UAAU,0BAA0B,KACnC,OAqCF,CAAC"}
@@ -1,2 +1,2 @@
1
- import{getTimestampByPeriod as r}from"./getTimestampByPeriod.js";var e=/\sST0/,i=["status","companyId","rigName","programName","basin","county","area","formation","stringDesign"],t=function(t,n){var a;if(!n)return!0;if(!i.every((function(r){var e=n[r];return!(Array.isArray(e)&&e.length>0)||e.includes(t[r])})))return!1;if(n.sideTracks&&e.test(null!==(a=t.name)&&void 0!==a?a:""))return!1;var o=n.period,s=n.timeRangeFrom,m=n.timeRangeTo,u=r(o,s,m),f=u[0],v=u[1];if(Number.isFinite(f)&&Number.isFinite(v)){var g=t.lastActive;if(void 0===g||!(g>=f&&g<=v))return!1}return!0};export{t as doesWellPassFilters};
1
+ import{getTimestampByPeriod as r}from"./getTimestampByPeriod.js";var e=/\sST0/,i=["status","companyId","rigName","programName","basin","county","area","formation","stringDesign"],n={excludeKeys:["rigName"]},t=function(n,t,a){var u;if(!t)return!0;var s=null==a?void 0:a.excludeKeys;if(!i.every((function(r){if(null==s?void 0:s.includes(r))return!0;var e=t[r];return!(Array.isArray(e)&&e.length>0)||e.includes(n[r])})))return!1;if(t.sideTracks&&e.test(null!==(u=n.name)&&void 0!==u?u:""))return!1;var o=t.period,m=t.timeRangeFrom,d=t.timeRangeTo,l=r(o,m,d),v=l[0],c=l[1];if(Number.isFinite(v)&&Number.isFinite(c)){var f=n.lastActive;if(void 0===f||!(f>=v&&f<=c))return!1}return!0};export{n as EXCLUDE_RIG_NAME_FILTER,t as doesWellPassFilters};
2
2
  //# sourceMappingURL=doesWellPassFilters.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.48.0-9",
3
+ "version": "3.48.0-rc.1",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "keywords": [