@corva/ui 3.31.0-4 → 3.31.0-6

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 (41) hide show
  1. package/LICENSE +5 -0
  2. package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
  3. package/cjs-bundle/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
  4. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.js +1 -1
  5. package/cjs-bundle/components/OffsetWellPickerV4/OffsetWellPickerV4.js.map +1 -1
  6. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js +1 -1
  7. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js.map +1 -1
  8. package/cjs-bundle/components/OffsetWellPickerV4/components/AppHeader/AppHeader.module.css.js +1 -1
  9. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  10. package/cjs-bundle/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  11. package/cjs-bundle/effects/index.js +1 -1
  12. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js +2 -0
  13. package/cjs-bundle/effects/useGlobalOffsetWellsSync.js.map +1 -0
  14. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.d.ts +4 -1
  15. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.d.ts.map +1 -1
  16. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js +1 -1
  17. package/components/OffsetWellPickerV2/OffsetWellPickerDialog.js.map +1 -1
  18. package/components/OffsetWellPickerV4/OffsetWellPickerV4.d.ts.map +1 -1
  19. package/components/OffsetWellPickerV4/OffsetWellPickerV4.js +1 -1
  20. package/components/OffsetWellPickerV4/OffsetWellPickerV4.js.map +1 -1
  21. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.d.ts.map +1 -1
  22. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js +1 -1
  23. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js.map +1 -1
  24. package/components/OffsetWellPickerV4/components/AppHeader/AppHeader.module.css.js +1 -1
  25. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js +1 -1
  26. package/components/OffsetWellPickerV4/components/OffsetWellsTable/AdvancedSearch/AutoCompleteAssetSearch.js.map +1 -1
  27. package/components/OffsetWellPickerV4/effects/index.d.ts +0 -1
  28. package/effects/index.d.ts +1 -0
  29. package/effects/index.d.ts.map +1 -1
  30. package/effects/index.js +1 -1
  31. package/effects/useGlobalOffsetWellsSync.d.ts +2 -0
  32. package/effects/useGlobalOffsetWellsSync.d.ts.map +1 -0
  33. package/effects/useGlobalOffsetWellsSync.js +2 -0
  34. package/effects/useGlobalOffsetWellsSync.js.map +1 -0
  35. package/package.json +2 -1
  36. package/cjs-bundle/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js +0 -2
  37. package/cjs-bundle/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js.map +0 -1
  38. package/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.d.ts +0 -2
  39. package/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.d.ts.map +0 -1
  40. package/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js +0 -2
  41. package/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"OffsetWellPickerV4.js","sources":["../../../src/components/OffsetWellPickerV4/OffsetWellPickerV4.js"],"sourcesContent":["import { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { InfoOutlined, Replay as ReplayIcon } from '@material-ui/icons';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n useGlobalOffsetWellsSync,\n} from './effects';\nimport { useFetchWells } from './effects/useFetchWells';\nimport { AppHeader } from './components/AppHeader';\nimport { Toolbar } from './components/Toolbar';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport {\n ALL_SECTION_KEY,\n ColumnType,\n COMPANY_PROVIDERS_FOR_IDAS,\n DEFAULT_BIC_OFFSET_SIZE,\n DEFAULT_LOCAL_OFFSET_SIZE,\n FilterType,\n IOS_DEVICE,\n LEAVE_TOUCH_DELAY,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n SMALL_SCREEN_HEIGHT,\n SMALL_SCREEN_WIDTH,\n TOP_GRADIENT_MAP,\n ViewType,\n RESYNC_STATUS,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells, getMobileOperatingSystem } from './utils';\n\nimport styles from './OffsetWellPickerV4.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { isMobileDetected, isNativeDetected } from '~/utils/mobileDetect';\nimport { typography } from '~/styles';\nimport { Regular12, Regular14 } from '~/components/Typography';\nimport { Button, Modal, LoadingIndicator, Tooltip } from '~/components';\n\nconst PAGE_NAME = 'OffsetWellPickerV4';\nconst GLOBAL_MODE_LIMIT_TEXT = 'No global limit. Each app may have its own offset limit.';\n\n/**\n * @type {React.FC<import('./OffsetWellPickerV4.types').OffsetWellPickerV4Props>}\n */\nconst OffsetWellPickerV4 = ({\n open,\n isWDUser,\n defaultSubjectWell,\n currentUser,\n offsetSettings,\n addWellsUsabilityInfo,\n isViewOnly,\n onClose,\n onSave,\n maxOffsetSize: offsetSize = DEFAULT_BIC_OFFSET_SIZE,\n localMaxOffsetSize = DEFAULT_LOCAL_OFFSET_SIZE,\n syncAutoEnabled,\n isManualWellsEnabled = false,\n isGlobalMode = false,\n}) => {\n const [activeWellId, setActiveWellId] = useState(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1, MAX_OFFSET_SIZE + 1);\n const maxOffsetWellNumber = Math.min(\n Math.max(maxOffsetSize, localMaxOffsetSize + 1),\n MAX_OFFSET_SIZE + 1\n );\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const [isFilterExpanded, setIsFilterExpanded] = useState(offsetSettings?.filterExpanded);\n const [isMapHidden, setIsMapHidden] = useState(offsetSettings?.mapHidden);\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const subjectWellId = defaultSubjectWell?.asset_id;\n const hasValidAssetId = subjectWellId > 0;\n const [filters, setFilters] = useState(offsetSettings?.filters || {});\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [selectedWells, setSelectedWells] = useState([]);\n const [subjectWell, setSubjectWell] = useState(null);\n const [isTableLoading, setIsTableLoading] = useState(true);\n const [isWellNameExpand, setIsWellNameExpand] = useState(false);\n const [isAdvancedSearchHidden, setIsAdvancedSearchHidden] = useState(false);\n const contentRef = useRef();\n const offsetWellsContainerRef = useRef();\n /** @type {ReturnType<typeof useState<string>>} */\n const [viewType, setViewType] = useState(ViewType.none);\n\n /** @type {ReturnType<typeof useRef<string>>} */\n const prevViewType = useRef();\n const [isTopGradientShow, setIsTopGradientShow] = useState(false);\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n const topGradientTop = TOP_GRADIENT_MAP[viewType];\n\n /** @type {ReturnType<typeof useRef<number[]>>} */\n const prevSelectedWellIds = useRef();\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n // NOTE: Refresh when the offset well changes externally\n if (!open) {\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n offsetSettings?.selectedWellIds?.every(id => prevSelectedWellIds.current?.includes(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n }, [isLimitedOffsetWells, open, offsetSettings]);\n\n useEffect(() => {\n function handleResize() {\n if (window.innerWidth <= SMALL_SCREEN_WIDTH || isMobileDetected || isNativeDetected) {\n setViewType(ViewType.mobile);\n } else if (window.innerHeight <= SMALL_SCREEN_HEIGHT) {\n setViewType(ViewType.small);\n } else {\n setViewType(ViewType.normal);\n }\n }\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [open]);\n\n useEffect(() => {\n if (prevViewType.current && viewType === prevViewType.current) return;\n prevViewType.current = viewType;\n if (viewType === ViewType.small || viewType === ViewType.mobile) {\n setIsMapHidden(true);\n setIsFilterExpanded(false);\n } else {\n setIsFilterExpanded(!isViewOnly && offsetSettings?.filterExpanded);\n setIsMapHidden(!isViewOnly && offsetSettings?.mapHidden);\n }\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n }, [offsetSettings, isViewOnly, viewType]);\n\n // NOTE: Fetch all wells\n const [rawWells, areWellsLoading] = useFetchWells(assetCompanyId, addWellsUsabilityInfo);\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n ] = useBicWells(isWDUser, currentUser, subjectWellId, rawWells, isManualWellsEnabled);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n }, [subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const wells = useAdvancedWells(\n assetCompanyId,\n rawWells,\n wellSections,\n bicWells,\n subjectWellId,\n metricsKeys,\n open\n );\n\n const isAllWellsLoaded = !areWellsLoading && wells?.length === rawWells?.length;\n\n useEffect(() => {\n if (!isAllWellsLoaded) return;\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n let offsetWellsChanged = true;\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIds.includes(wellId)\n );\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n let selectedWellIds = wellsByDistance.slice(0, maxOffsetSize + 1).map(well => well.id);\n selectedWellIds = wellsByDistance.slice(0, localMaxOffsetSize + 1).map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const offsetWells = wellsByDistance.filter(well => selectedWellIds.includes(well.id));\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n }, [offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled]);\n\n const filterOptions = useFilterOptions(wells);\n\n // NOTE: Subject well\n useEffect(() => {\n if (wells && wellSections) {\n const defaultSubjectWell = wells.find(well => well.id === subjectWellId);\n if (defaultSubjectWell) {\n const allSectionNames = wellSections\n .filter(item => item.value !== ALL_SECTION_KEY)\n .map(({ label }) => label);\n const subjectWellWithSection = {\n ...defaultSubjectWell,\n ...(allSectionNames.length > 0 && { [ColumnType.wellSection]: allSectionNames }),\n };\n setSubjectWell(subjectWellWithSection);\n } else {\n setSubjectWell(null);\n }\n }\n }, [wellSections, wells]);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(metricsKeys);\n\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) return;\n\n if (initLoading.current) {\n let data = wells.filter(well => (offsetSettings?.selectedWellIds || []).includes(well.id));\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n } else {\n setSelectedWells(prev => {\n let newSelectedWells = (filteredWells || []).filter(\n well => !!prev.find(({ id }) => well.id === id)\n );\n if (subjectWell) newSelectedWells = newSelectedWells.concat(subjectWell);\n return uniqBy(newSelectedWells, 'id');\n });\n }\n }, [wells, filteredWells, offsetSettings?.selectedWellIds, isAllWellsLoaded]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n filteredWells,\n selectedWells,\n setIsTableLoading\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n (isAdding, newAssets, assetType) => {\n let addingWellIds;\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n addingWellIds = newAssets.reduce((acc, assetId) => {\n const rigName = wells.find(well => well.id === assetId)?.rigName;\n const rigWellIds = wells.filter(well => well.rigName === rigName).map(well => well.id);\n return acc.concat(rigWellIds);\n }, []);\n }\n let addingWells = wells.filter(({ id }) => addingWellIds.includes(id));\n if (isAdding) {\n addingWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(addingWells), 'id'));\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n [wells, selectedWells]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, []);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n }, []);\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback((well, checked) => {\n if (checked) {\n setSelectedWells(prevWells => [...prevWells, well]);\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n }, []);\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = section => {\n if (bicWells) {\n const sectionWells = wells?.filter(well => bicWells[section]?.includes(well.id)) || [];\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n };\n\n const handleChangeWellSection = useCallback(\n section => {\n setSelectedWellSection(section);\n updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n let synced;\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n synced = false;\n } else {\n synced = selectedWellIds.every(id => owsWellIds.includes(id));\n }\n return synced;\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const handleSave = () => {\n onClose();\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedWells.map(({ id }) => id),\n filters,\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n };\n onSave(newOffsetSetting, selectedWells);\n };\n\n const handleCancel = () => {\n let data = (wells || []).filter(well =>\n (offsetSettings?.selectedWellIds || []).includes(well.id)\n );\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = () => {\n setFilters({});\n setSelectedWellSection(ALL_SECTION_KEY);\n updateSelectedWellsBySection(ALL_SECTION_KEY);\n };\n\n const isLoading = !wells || !wellSections || !sortedWells || viewType === ViewType.none;\n\n // NOTE: Well Name shadow\n const [isHScrollMoved, setIsHScrollMoved] = useState(false);\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n }, [bicWells]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n if (e.target.scrollTop <= 5 && isTopGradientShow) {\n setIsTopGradientShow(false);\n }\n if (e.target.scrollTop > 5 && !isTopGradientShow) {\n setIsTopGradientShow(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n const tooltipContainer = () => {\n return (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t1)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t1)}>{offsetLabel}</span>\n </div>\n );\n };\n\n return (\n <Modal\n open={open}\n onClose={handleCancel}\n title={\n <AppHeader\n isWDUser={isWDUser}\n viewType={viewType}\n totalCount={wells?.length ?? 0}\n selectedCount={selectedWellsCount}\n isViewOnly={isViewOnly}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isGlobalMode={isGlobalMode}\n />\n }\n isMobile={viewType === ViewType.mobile}\n contentContainerClassName={classNames(styles.offsetWellDialog)}\n contentClassName={classNames(styles.contentContainer, {\n [styles.smallContainer]: viewType === ViewType.small,\n [styles.contentContainerMobile]: viewType === ViewType.mobile,\n })}\n actionsClassName={styles.modalActions}\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={viewType !== ViewType.mobile && <ReplayIcon />}\n classes={viewType === ViewType.mobile && { root: styles.resetButtonMobile }}\n >\n {viewType !== ViewType.mobile ? 'Reset' : <ReplayIcon />}\n </Button>\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div className={viewType === ViewType.mobile && styles.infoIconContainer}>\n {viewType !== ViewType.mobile ? (\n <>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </>\n ) : (\n <Tooltip\n title={tooltipContainer()}\n enterTouchDelay={0}\n leaveTouchDelay={LEAVE_TOUCH_DELAY}\n >\n <InfoOutlined className={styles.infoIcon} />\n </Tooltip>\n )}\n </div>\n )\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n ref={contentRef}\n >\n {viewType === ViewType.mobile && (\n <div\n className={classNames(styles.countContainer, {\n [styles.countContainerMobile]: viewType === ViewType.mobile,\n })}\n >\n <Regular14 className={styles.totalLabel}>Total:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_totalWells`} className={styles.countValue}>\n {wells.length}\n </Regular14>\n <Regular14 className={styles.selectedLabel}>Selected:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_selected`} className={styles.countValue}>\n {selectedWellsCount}\n </Regular14>\n <Tooltip\n title={\n isGlobalMode\n ? GLOBAL_MODE_LIMIT_TEXT\n : `App can't process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n }\n placement=\"right\"\n >\n <Regular12\n data-testid={`${PAGE_NAME}_maxOffsetSize`}\n className={styles.maxOffsetSize}\n >\n {isGlobalMode ? '' : `/${maxOffsetWellNumber - 1}`}\n </Regular12>\n </Tooltip>\n </div>\n )}\n\n {viewType === ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n\n {isTopGradientShow && (\n <div className={styles.topGradient} style={{ top: topGradientTop }} />\n )}\n <div\n className={classNames(styles.content, {\n [styles.contentBlocked]: isTableFullLoading,\n [styles.contentMobile]: viewType === ViewType.mobile,\n [styles.contentiOSMobile]: getMobileOperatingSystem() === IOS_DEVICE,\n })}\n ref={offsetWellsContainerRef}\n onScroll={e => handleScroll(e)}\n >\n {viewType !== ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n {!isMapHidden && open && (\n <WellsMap\n isViewOnly={isViewOnly}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={filteredWells}\n radius={filters[FilterType.radius]}\n handleChangeOffsetWell={handleChangeOffsetWell}\n activeWellId={activeWellId}\n viewType={viewType}\n />\n )}\n <Filter\n isHidden={!isFilterExpanded}\n isWDUser={isWDUser}\n filterOptions={filterOptions}\n filters={filters}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n subjectWell={subjectWell}\n onChangeFilters={value => {\n setIsTableLoading(true);\n setTimeout(() => setFilters(value), 0);\n }}\n onChangeBicWells={handleChangeWellSection}\n />\n <OffsetWellsTable\n open={open}\n isTableLoading={isTableFullLoading}\n companyId={assetCompanyId}\n subjectWellId={subjectWellId}\n sortBy={sortBy}\n setSortBy={setSortBy}\n sortDirection={sortDirection}\n setSortDirection={setSortDirection}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n setMetricsKeys={handleChangeMetricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n handleAddRemoveAssets={handleAddRemoveAssets}\n isWellNameExpand={isWellNameExpand}\n setIsWellNameExpand={setIsWellNameExpand}\n isHScrollMoved={isHScrollMoved}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n isViewOnly={isViewOnly}\n isLastWell={sortedWells.length <= tableRowsCount}\n contentRef={contentRef}\n offsetWellsContainerRef={offsetWellsContainerRef}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n viewType={viewType}\n isWDUser={isWDUser}\n taScores={taScores}\n />\n </div>\n {isViewOnly && hasValidAssetId && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator fullscreen={false} />\n )}\n </Modal>\n );\n};\n\nexport default OffsetWellPickerV4;\n"],"names":["PAGE_NAME","OffsetWellPickerV4","_ref","_wells$length","_classNames","_classNames4","open","isWDUser","defaultSubjectWell","currentUser","offsetSettings","addWellsUsabilityInfo","isViewOnly","onClose","onSave","_ref$maxOffsetSize","maxOffsetSize","offsetSize","DEFAULT_BIC_OFFSET_SIZE","_ref$localMaxOffsetSi","localMaxOffsetSize","DEFAULT_LOCAL_OFFSET_SIZE","syncAutoEnabled","_ref$isManualWellsEna","isManualWellsEnabled","_ref$isGlobalMode","isGlobalMode","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","useGlobalOffsetWellsSync","filterExpanded","_useState4","_useState3","isFilterExpanded","setIsFilterExpanded","mapHidden","_useState6","_useState5","isMapHidden","setIsMapHidden","assetCompanyId","companyId","company_id","subjectWellId","asset_id","hasValidAssetId","_useState7","filters","_useState8","setFilters","_useState9","wellSection","ALL_SECTION_KEY","_useState10","selectedWellSection","setSelectedWellSection","initLoading","useRef","_useState12","_useState11","selectedWells","setSelectedWells","_useState14","_useState13","subjectWell","setSubjectWell","_useState16","_useState15","isTableLoading","setIsTableLoading","_useState18","_useState17","isWellNameExpand","setIsWellNameExpand","_useState20","_useState19","isAdvancedSearchHidden","setIsAdvancedSearchHidden","contentRef","offsetWellsContainerRef","_useState21","ViewType","none","_useState22","viewType","setViewType","prevViewType","_useState24","_useState23","isTopGradientShow","setIsTopGradientShow","isLimitedOffsetWells","length","topGradientTop","TOP_GRADIENT_MAP","prevSelectedWellIds","_useState26","_useState25","appLoading","setAppLoading","useEffect","_offsetSettings$selec","_prevSelectedWellIds$","_offsetSettings$selec2","showInfoNotification","selectedWellIds","current","every","id","_prevSelectedWellIds$2","includes","handleResize","window","innerWidth","SMALL_SCREEN_WIDTH","isMobileDetected","isNativeDetected","mobile","innerHeight","SMALL_SCREEN_HEIGHT","small","normal","addEventListener","removeEventListener","_useFetchWells","useFetchWells","_useFetchWells2","rawWells","areWellsLoading","useCompanyProvider","companyProvider","_useCompanyProvider","useBicWells","_useBicWells2","_useBicWells","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","wells","useAdvancedWells","isAllWellsLoaded","_ref2","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec3","bicWellIds","isMatched","wellsByDistance","newOffsetSetting","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","map","well","offsetWellsLimited","filter","stop","apply","this","arguments","filterOptions","useFilterOptions","find","allSectionNames","item","value","_ref3","label","subjectWellWithSection","_defineProperty","ColumnType","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","data","concat","uniqBy","newSelectedWells","_ref5","useSortedWells","_useSortedWells2","_useSortedWells","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","addingWellIds","SEARCH_CATEGORIES","name","reduce","acc","assetId","_wells$find","rigName","rigWellIds","addingWells","_ref6","uniq","_ref7","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleChangeOffsetWell","checked","prevWells","handleChangeAllOffsetWells","sortedData","sortArray","updateSelectedWellsBySection","section","sectionWells","_bicWells$section","limitedWells","handleChangeWellSection","selectedWellsCount","useMemo","_ref8","owsWellIds","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","handleCancel","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","isLoading","_useState28","_useState27","isHScrollMoved","setIsHScrollMoved","ROWS_PER_PAGE","_useState30","_useState29","tableRowsCount","setTableRowsCount","_useState32","_useState31","tableWells","setTableWells","RESYNC_STATUS","SUCCEEDED","_jsxs","Modal","title","_jsx","AppHeader","totalCount","selectedCount","isMobile","contentContainerClassName","classNames","styles","offsetWellDialog","contentClassName","contentContainer","smallContainer","contentContainerMobile","actionsClassName","modalActions","actions","className","actionsWrapper","children","Tooltip","placement","Button","onClick","color","startIcon","ReplayIcon","classes","root","resetButtonMobile","infoIconContainer","_Fragment","typography","regular12","colors","t6","medium12","t1","enterTouchDelay","leaveTouchDelay","LEAVE_TOUCH_DELAY","InfoOutlined","infoIcon","buttonGap","variant","_ref9","NotificationsContainer","LoadingIndicator","fullscreen","contentWrapper","contentBlocked","ref","countContainer","countContainerMobile","Regular14","totalLabel","countValue","selectedLabel","Regular12","Toolbar","topGradient","style","top","content","contentMobile","contentiOSMobile","getMobileOperatingSystem","IOS_DEVICE","onScroll","e","target","scrollLeft","scrollTop","scrollHeight","offsetHeight","round","count","handleScroll","WellsMap","offsetWellIds","_ref10","radius","Filter","isHidden","onChangeFilters","setTimeout","onChangeBicWells","OffsetWellsTable","onHideAdvancedSearch","isLastWell","viewOnlyInfoContainer"],"mappings":"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"}
1
+ {"version":3,"file":"OffsetWellPickerV4.js","sources":["../../../src/components/OffsetWellPickerV4/OffsetWellPickerV4.js"],"sourcesContent":["import { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { isEmpty, uniq, uniqBy, sortBy as sortArray } from 'lodash';\nimport { InfoOutlined, Replay as ReplayIcon } from '@material-ui/icons';\n\nimport {\n useAdvancedWells,\n useBicWells,\n useFilterOptions,\n useCompanyMetricKey,\n useFilteredWells,\n useSortedWells,\n useTableColumns,\n useCompanyProvider,\n} from './effects';\nimport { useFetchWells } from './effects/useFetchWells';\nimport { AppHeader } from './components/AppHeader';\nimport { Toolbar } from './components/Toolbar';\nimport { Filter } from './components/Filter';\nimport { WellsMap } from './components/Map';\nimport { OffsetWellsTable } from './components/OffsetWellsTable';\nimport {\n ALL_SECTION_KEY,\n ColumnType,\n COMPANY_PROVIDERS_FOR_IDAS,\n DEFAULT_BIC_OFFSET_SIZE,\n DEFAULT_LOCAL_OFFSET_SIZE,\n FilterType,\n IOS_DEVICE,\n LEAVE_TOUCH_DELAY,\n MAX_OFFSET_SIZE,\n ROWS_PER_PAGE,\n SMALL_SCREEN_HEIGHT,\n SMALL_SCREEN_WIDTH,\n TOP_GRADIENT_MAP,\n ViewType,\n RESYNC_STATUS,\n} from './constants';\nimport { SEARCH_CATEGORIES } from './components/OffsetWellsTable/AdvancedSearch/constants';\nimport { getCoordinatedWells, getMobileOperatingSystem } from './utils';\n\nimport styles from './OffsetWellPickerV4.module.css';\n\nimport { showInfoNotification } from '~/utils';\nimport { NotificationsContainer } from '~/components/Notifications';\nimport { isMobileDetected, isNativeDetected } from '~/utils/mobileDetect';\nimport { typography } from '~/styles';\nimport { Regular12, Regular14 } from '~/components/Typography';\nimport { Button, Modal, LoadingIndicator, Tooltip } from '~/components';\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\nconst PAGE_NAME = 'OffsetWellPickerV4';\nconst GLOBAL_MODE_LIMIT_TEXT = 'No global limit. Each app may have its own offset limit.';\n\n/**\n * @type {React.FC<import('./OffsetWellPickerV4.types').OffsetWellPickerV4Props>}\n */\nconst OffsetWellPickerV4 = ({\n open,\n isWDUser,\n defaultSubjectWell,\n currentUser,\n offsetSettings,\n addWellsUsabilityInfo,\n isViewOnly,\n onClose,\n onSave,\n maxOffsetSize: offsetSize = DEFAULT_BIC_OFFSET_SIZE,\n localMaxOffsetSize = DEFAULT_LOCAL_OFFSET_SIZE,\n syncAutoEnabled,\n isManualWellsEnabled = false,\n isGlobalMode = false,\n}) => {\n const [activeWellId, setActiveWellId] = useState(null);\n const maxOffsetSize = Math.min(offsetSize + 1, localMaxOffsetSize + 1, MAX_OFFSET_SIZE + 1);\n const maxOffsetWellNumber = Math.min(\n Math.max(maxOffsetSize, localMaxOffsetSize + 1),\n MAX_OFFSET_SIZE + 1\n );\n\n const subjectWellId = defaultSubjectWell?.asset_id;\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber - 1, subjectWellId);\n\n const [isFilterExpanded, setIsFilterExpanded] = useState(offsetSettings?.filterExpanded);\n const [isMapHidden, setIsMapHidden] = useState(offsetSettings?.mapHidden);\n const assetCompanyId = +defaultSubjectWell?.companyId || +currentUser?.company_id;\n const hasValidAssetId = subjectWellId > 0;\n const [filters, setFilters] = useState(offsetSettings?.filters || {});\n const [selectedWellSection, setSelectedWellSection] = useState(\n offsetSettings?.wellSection || ALL_SECTION_KEY\n );\n const initLoading = useRef(true);\n const [selectedWells, setSelectedWells] = useState([]);\n const [subjectWell, setSubjectWell] = useState(null);\n const [isTableLoading, setIsTableLoading] = useState(true);\n const [isWellNameExpand, setIsWellNameExpand] = useState(false);\n const [isAdvancedSearchHidden, setIsAdvancedSearchHidden] = useState(false);\n const contentRef = useRef();\n const offsetWellsContainerRef = useRef();\n /** @type {ReturnType<typeof useState<string>>} */\n const [viewType, setViewType] = useState(ViewType.none);\n\n /** @type {ReturnType<typeof useRef<string>>} */\n const prevViewType = useRef();\n const [isTopGradientShow, setIsTopGradientShow] = useState(false);\n const isLimitedOffsetWells = maxOffsetWellNumber <= selectedWells?.length;\n const topGradientTop = TOP_GRADIENT_MAP[viewType];\n\n /** @type {ReturnType<typeof useRef<number[]>>} */\n const prevSelectedWellIds = useRef();\n const [appLoading, setAppLoading] = useState(true);\n\n useEffect(() => {\n if (open && isLimitedOffsetWells) {\n showInfoNotification(\n `App can’t process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n );\n }\n // NOTE: Refresh when the offset well changes externally\n if (!open) {\n const isNotChanged =\n offsetSettings?.selectedWellIds?.length === prevSelectedWellIds.current?.length &&\n offsetSettings?.selectedWellIds?.every(id => prevSelectedWellIds.current?.includes(id));\n if (!isNotChanged) {\n initLoading.current = true;\n }\n prevSelectedWellIds.current = offsetSettings?.selectedWellIds;\n }\n }, [isLimitedOffsetWells, open, offsetSettings]);\n\n useEffect(() => {\n function handleResize() {\n if (window.innerWidth <= SMALL_SCREEN_WIDTH || isMobileDetected || isNativeDetected) {\n setViewType(ViewType.mobile);\n } else if (window.innerHeight <= SMALL_SCREEN_HEIGHT) {\n setViewType(ViewType.small);\n } else {\n setViewType(ViewType.normal);\n }\n }\n\n handleResize();\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [open]);\n\n useEffect(() => {\n if (prevViewType.current && viewType === prevViewType.current) return;\n prevViewType.current = viewType;\n if (viewType === ViewType.small || viewType === ViewType.mobile) {\n setIsMapHidden(true);\n setIsFilterExpanded(false);\n } else {\n setIsFilterExpanded(!isViewOnly && offsetSettings?.filterExpanded);\n setIsMapHidden(!isViewOnly && offsetSettings?.mapHidden);\n }\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n }, [offsetSettings, isViewOnly, viewType]);\n\n // NOTE: Fetch all wells\n const [rawWells, areWellsLoading] = useFetchWells(assetCompanyId, addWellsUsabilityInfo);\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n const [\n wellSections,\n setWellSections,\n bicWells,\n setBicWells,\n resyncStatus,\n setResyncStatus,\n taScores,\n ] = useBicWells(isWDUser, currentUser, subjectWellId, rawWells, isManualWellsEnabled);\n\n useEffect(() => {\n setAppLoading(true);\n setWellSections(null);\n setBicWells(null);\n }, [subjectWellId]);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId,\n offsetSettings?.metricsKeys\n );\n\n // NOTE: Calculate wells with coordinates, metrics and well section name\n const wells = useAdvancedWells(\n assetCompanyId,\n rawWells,\n wellSections,\n bicWells,\n subjectWellId,\n metricsKeys,\n open\n );\n\n const isAllWellsLoaded = !areWellsLoading && wells?.length === rawWells?.length;\n\n useEffect(() => {\n if (!isAllWellsLoaded) return;\n const syncOffsetWells = async () => {\n const isSynced = typeof offsetSettings?.isSynced === 'undefined' || offsetSettings?.isSynced;\n let offsetWellsChanged = true;\n if (isSynced) {\n const bicWellIds = bicWells[ALL_SECTION_KEY] || [];\n const isMatched = (offsetSettings?.selectedWellIds || []).every(wellId =>\n bicWellIds.includes(wellId)\n );\n // if well hub or offset selection app be changed\n if (bicWellIds.length !== offsetSettings?.selectedWellIds?.length || !isMatched) {\n const wellsByDistance = await getCoordinatedWells(bicWellIds, subjectWellId);\n let selectedWellIds = wellsByDistance.slice(0, maxOffsetSize + 1).map(well => well.id);\n selectedWellIds = wellsByDistance.slice(0, localMaxOffsetSize + 1).map(well => well.id);\n const newOffsetSetting = {\n ...offsetSettings,\n subjectWellId,\n selectedWellIds,\n offsetWellsLimited: maxOffsetWellNumber <= selectedWellIds.length,\n };\n const offsetWells = wellsByDistance.filter(well => selectedWellIds.includes(well.id));\n onSave(newOffsetSetting, offsetWells);\n } else {\n offsetWellsChanged = false;\n }\n } else {\n offsetWellsChanged = false;\n }\n\n if (!offsetWellsChanged) {\n const offsetWells = await getCoordinatedWells(\n offsetSettings?.selectedWellIds || [],\n subjectWellId\n );\n onSave(offsetSettings, offsetWells);\n }\n };\n\n if (syncAutoEnabled && appLoading && offsetSettings && bicWells) {\n syncOffsetWells();\n setAppLoading(false);\n }\n }, [offsetSettings, bicWells, subjectWellId, maxOffsetWellNumber, syncAutoEnabled]);\n\n const filterOptions = useFilterOptions(wells);\n\n // NOTE: Subject well\n useEffect(() => {\n if (wells && wellSections) {\n const defaultSubjectWell = wells.find(well => well.id === subjectWellId);\n if (defaultSubjectWell) {\n const allSectionNames = wellSections\n .filter(item => item.value !== ALL_SECTION_KEY)\n .map(({ label }) => label);\n const subjectWellWithSection = {\n ...defaultSubjectWell,\n ...(allSectionNames.length > 0 && { [ColumnType.wellSection]: allSectionNames }),\n };\n setSubjectWell(subjectWellWithSection);\n } else {\n setSubjectWell(null);\n }\n }\n }, [wellSections, wells]);\n\n // NOTE: Table columns with metrics\n const columnsWithDict = useTableColumns(metricsKeys);\n\n // NOTE: Filter wells\n const filteredWells = useFilteredWells(wells, filters);\n\n useEffect(() => {\n if (!filteredWells || !isAllWellsLoaded) return;\n\n if (initLoading.current) {\n let data = wells.filter(well => (offsetSettings?.selectedWellIds || []).includes(well.id));\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n initLoading.current = false;\n } else {\n setSelectedWells(prev => {\n let newSelectedWells = (filteredWells || []).filter(\n well => !!prev.find(({ id }) => well.id === id)\n );\n if (subjectWell) newSelectedWells = newSelectedWells.concat(subjectWell);\n return uniqBy(newSelectedWells, 'id');\n });\n }\n }, [wells, filteredWells, offsetSettings?.selectedWellIds, isAllWellsLoaded]);\n\n // NOTE: Sort wells\n const [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells] = useSortedWells(\n subjectWell,\n filteredWells,\n selectedWells,\n setIsTableLoading\n );\n\n // NOTE: Add advanced wells\n const handleAddRemoveAssets = useCallback(\n (isAdding, newAssets, assetType) => {\n let addingWellIds;\n if (assetType === SEARCH_CATEGORIES.well.name) {\n addingWellIds = newAssets;\n } else {\n addingWellIds = newAssets.reduce((acc, assetId) => {\n const rigName = wells.find(well => well.id === assetId)?.rigName;\n const rigWellIds = wells.filter(well => well.rigName === rigName).map(well => well.id);\n return acc.concat(rigWellIds);\n }, []);\n }\n let addingWells = wells.filter(({ id }) => addingWellIds.includes(id));\n if (isAdding) {\n addingWells = addingWells.slice(\n 0,\n Math.min(addingWells.length, maxOffsetWellNumber - selectedWells.length)\n );\n setSelectedWells(selectedWells => uniqBy(selectedWells.concat(addingWells), 'id'));\n } else {\n setSelectedWells(selectedWells =>\n uniq(selectedWells.filter(({ id }) => !addingWells.find(well => well.id === id)))\n );\n }\n },\n [wells, selectedWells]\n );\n\n const handleHideAdvancedSearch = useCallback(() => {\n setIsAdvancedSearchHidden(true);\n }, []);\n\n // NOTE: Change metrics keys\n const handleChangeMetricsKeys = useCallback(newMetricsKeys => {\n setMetricsKeys(newMetricsKeys);\n }, []);\n\n // NOTE: Check and Uncheck one offset well\n const handleChangeOffsetWell = useCallback((well, checked) => {\n if (checked) {\n setSelectedWells(prevWells => [...prevWells, well]);\n } else {\n setSelectedWells(prevWells => prevWells.filter(item => item.id !== well.id));\n }\n }, []);\n\n // NOTE: Select and Unselect All wells\n const handleChangeAllOffsetWells = useCallback(\n checked => {\n if (checked) {\n const data = subjectWell ? filteredWells.concat(subjectWell) : filteredWells;\n const sortedData = sortArray(uniqBy(data, 'id'), 'distance');\n setSelectedWells(sortedData.slice(0, maxOffsetWellNumber));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n },\n [filteredWells, subjectWell, maxOffsetWellNumber]\n );\n\n // NOTE: Well Section change filter\n const updateSelectedWellsBySection = section => {\n if (bicWells) {\n const sectionWells = wells?.filter(well => bicWells[section]?.includes(well.id)) || [];\n const limitedWells = sortArray(sectionWells, 'distance');\n setSelectedWells(limitedWells.slice(0, maxOffsetSize));\n } else {\n setSelectedWells(subjectWell ? [subjectWell] : []);\n }\n };\n\n const handleChangeWellSection = useCallback(\n section => {\n setSelectedWellSection(section);\n updateSelectedWellsBySection(section);\n },\n [updateSelectedWellsBySection]\n );\n\n // NOTE: Get Selected wells count\n const selectedWellsCount = useMemo(() => {\n if (selectedWells.find(well => well.id === subjectWellId)) {\n return selectedWells.length - 1;\n }\n return selectedWells.length;\n }, [selectedWells, subjectWellId]);\n\n // NOTE: Save offset setting\n const isSynced = useMemo(() => {\n if (!bicWells) return false;\n const selectedWellIds = selectedWells.map(({ id }) => id);\n let synced;\n const owsWellIds = bicWells[selectedWellSection] || [];\n const owsWellIdsLength = Math.min(owsWellIds.length, maxOffsetSize);\n\n if (owsWellIdsLength !== selectedWellIds.length) {\n synced = false;\n } else {\n synced = selectedWellIds.every(id => owsWellIds.includes(id));\n }\n return synced;\n }, [bicWells, selectedWells, selectedWellSection, maxOffsetSize]);\n\n const isXtoProvider = useMemo(() => {\n return companyProvider ? COMPANY_PROVIDERS_FOR_IDAS.includes(companyProvider) : false;\n }, [companyProvider]);\n\n const offsetLabel = useMemo(() => {\n if (isXtoProvider) {\n return 'IDAS generated offsets.';\n }\n\n return isWDUser ? 'Offset Selection App.' : 'WellHub.';\n }, [isXtoProvider, isWDUser]);\n\n const handleSave = () => {\n onClose();\n\n const newOffsetSetting = {\n ...offsetSettings,\n companyId: assetCompanyId,\n subjectWellId,\n selectedWellIds: selectedWells.map(({ id }) => id),\n filters,\n metricsKeys,\n wellSection: selectedWellSection,\n isSynced,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n offsetWellsLimited: isLimitedOffsetWells,\n };\n onSave(newOffsetSetting, selectedWells);\n };\n\n const handleCancel = () => {\n let data = (wells || []).filter(well =>\n (offsetSettings?.selectedWellIds || []).includes(well.id)\n );\n if (subjectWell) data = data.concat(subjectWell);\n setSelectedWells(uniqBy(data, 'id'));\n\n const newOffsetSetting = {\n ...offsetSettings,\n mapHidden: isMapHidden,\n filterExpanded: isFilterExpanded,\n };\n onSave(newOffsetSetting);\n setFilters(offsetSettings?.filters || {});\n setSelectedWellSection(offsetSettings?.wellSection || ALL_SECTION_KEY);\n onClose();\n };\n\n const isTableFullLoading = isTableLoading || areWellsLoading;\n\n // NOTE: Reset processing\n const isResetVisible = useMemo(() => {\n if (!hasValidAssetId) return false;\n if (isTableFullLoading) return false;\n if (!isSynced) return true;\n if (!isEmpty(filters) && filters[FilterType.sideTracks]) return true;\n if (selectedWellSection !== ALL_SECTION_KEY) return true;\n return false;\n }, [hasValidAssetId, isSynced, filters, selectedWellSection, isTableFullLoading]);\n\n const handleReset = () => {\n setFilters({});\n setSelectedWellSection(ALL_SECTION_KEY);\n updateSelectedWellsBySection(ALL_SECTION_KEY);\n };\n\n const isLoading = !wells || !wellSections || !sortedWells || viewType === ViewType.none;\n\n // NOTE: Well Name shadow\n const [isHScrollMoved, setIsHScrollMoved] = useState(false);\n const [tableRowsCount, setTableRowsCount] = useState(ROWS_PER_PAGE);\n const [tableWells, setTableWells] = useState([]);\n\n useEffect(() => {\n if (!sortedWells) return;\n\n const wells = sortedWells.slice(0, tableRowsCount);\n setTableWells(wells);\n }, [sortedWells, tableRowsCount, subjectWell]);\n\n useEffect(() => {\n if (resyncStatus === RESYNC_STATUS.SUCCEEDED) {\n handleReset();\n }\n }, [bicWells]);\n\n const handleScroll = e => {\n if (!e.target) return;\n\n if (isAdvancedSearchHidden) {\n e.target.scrollLeft = 0;\n setIsAdvancedSearchHidden(false);\n }\n\n // Check if H-Scroll is visible\n if (e.target.scrollLeft <= 5 && isHScrollMoved) {\n setIsHScrollMoved(false);\n }\n if (e.target.scrollLeft > 5 && !isHScrollMoved) {\n setIsHScrollMoved(true);\n }\n\n if (e.target.scrollTop <= 5 && isTopGradientShow) {\n setIsTopGradientShow(false);\n }\n if (e.target.scrollTop > 5 && !isTopGradientShow) {\n setIsTopGradientShow(true);\n }\n\n // Check if scroll has reached top or bottom\n if (e.target.scrollHeight === e.target.offsetHeight) return;\n\n const currentScrollBottom = Math.round(e.target.scrollTop + e.target.offsetHeight + 2);\n\n if (currentScrollBottom >= e.target.scrollHeight && tableRowsCount < sortedWells.length) {\n setTableRowsCount(count => count + ROWS_PER_PAGE);\n }\n };\n\n const tooltipContainer = () => {\n return (\n <div>\n <span className={classNames(typography.regular12, typography.colors.t1)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t1)}>{offsetLabel}</span>\n </div>\n );\n };\n\n return (\n <Modal\n open={open}\n onClose={handleCancel}\n title={\n <AppHeader\n isWDUser={isWDUser}\n viewType={viewType}\n totalCount={wells?.length ?? 0}\n selectedCount={selectedWellsCount}\n isViewOnly={isViewOnly}\n maxOffsetWellNumber={maxOffsetWellNumber}\n isGlobalMode={isGlobalMode}\n />\n }\n isMobile={viewType === ViewType.mobile}\n contentContainerClassName={classNames(styles.offsetWellDialog)}\n contentClassName={classNames(styles.contentContainer, {\n [styles.smallContainer]: viewType === ViewType.small,\n [styles.contentContainerMobile]: viewType === ViewType.mobile,\n })}\n actionsClassName={styles.modalActions}\n actions={\n !isViewOnly && (\n <div className={styles.actionsWrapper}>\n {!isLoading && isResetVisible ? (\n <Tooltip\n placement=\"bottom-start\"\n title={`Reset to Synced Offsets in ${isWDUser ? 'Offset App' : 'Wellhub'}`}\n >\n <div>\n <Button\n data-testid={`${PAGE_NAME}_reset`}\n onClick={handleReset}\n color=\"primary\"\n startIcon={viewType !== ViewType.mobile && <ReplayIcon />}\n classes={viewType === ViewType.mobile && { root: styles.resetButtonMobile }}\n >\n {viewType !== ViewType.mobile ? 'Reset' : <ReplayIcon />}\n </Button>\n </div>\n </Tooltip>\n ) : (\n hasValidAssetId && (\n <div className={viewType === ViewType.mobile && styles.infoIconContainer}>\n {viewType !== ViewType.mobile ? (\n <>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </>\n ) : (\n <Tooltip\n title={tooltipContainer()}\n enterTouchDelay={0}\n leaveTouchDelay={LEAVE_TOUCH_DELAY}\n >\n <InfoOutlined className={styles.infoIcon} />\n </Tooltip>\n )}\n </div>\n )\n )}\n <div className={styles.buttonGap}>\n <Button data-testid={`${PAGE_NAME}_cancel`} onClick={handleCancel} color=\"primary\">\n Cancel\n </Button>\n <Button\n data-testid={`${PAGE_NAME}_selectedWells`}\n variant=\"contained\"\n color=\"primary\"\n onClick={handleSave}\n >\n Select ({selectedWellsCount})\n </Button>\n </div>\n </div>\n )\n }\n >\n <NotificationsContainer />\n {!isLoading ? (\n <div\n className={classNames(styles.contentWrapper, {\n [styles.contentBlocked]: isTableFullLoading,\n })}\n ref={contentRef}\n >\n {viewType === ViewType.mobile && (\n <div\n className={classNames(styles.countContainer, {\n [styles.countContainerMobile]: viewType === ViewType.mobile,\n })}\n >\n <Regular14 className={styles.totalLabel}>Total:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_totalWells`} className={styles.countValue}>\n {wells.length}\n </Regular14>\n <Regular14 className={styles.selectedLabel}>Selected:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_selected`} className={styles.countValue}>\n {selectedWellsCount}\n </Regular14>\n <Tooltip\n title={\n isGlobalMode\n ? GLOBAL_MODE_LIMIT_TEXT\n : `App can't process more than (${maxOffsetWellNumber - 1}) Offset Wells.`\n }\n placement=\"right\"\n >\n <Regular12\n data-testid={`${PAGE_NAME}_maxOffsetSize`}\n className={styles.maxOffsetSize}\n >\n {isGlobalMode ? '' : `/${maxOffsetWellNumber - 1}`}\n </Regular12>\n </Tooltip>\n </div>\n )}\n\n {viewType === ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n\n {isTopGradientShow && (\n <div className={styles.topGradient} style={{ top: topGradientTop }} />\n )}\n <div\n className={classNames(styles.content, {\n [styles.contentBlocked]: isTableFullLoading,\n [styles.contentMobile]: viewType === ViewType.mobile,\n [styles.contentiOSMobile]: getMobileOperatingSystem() === IOS_DEVICE,\n })}\n ref={offsetWellsContainerRef}\n onScroll={e => handleScroll(e)}\n >\n {viewType !== ViewType.normal && (\n <Toolbar\n isViewOnly={isViewOnly}\n isXtoProvider={isXtoProvider}\n viewType={viewType}\n filters={filters}\n setFilters={setFilters}\n isFilterExpanded={isFilterExpanded}\n setIsFilterExpanded={setIsFilterExpanded}\n isMapHidden={isMapHidden}\n setIsMapHidden={setIsMapHidden}\n resyncStatus={resyncStatus}\n setResyncStatus={setResyncStatus}\n />\n )}\n {!isMapHidden && open && (\n <WellsMap\n isViewOnly={isViewOnly}\n mapHidden={isMapHidden}\n subjectWell={subjectWell}\n offsetWellIds={selectedWells.map(({ id }) => id)}\n wells={filteredWells}\n radius={filters[FilterType.radius]}\n handleChangeOffsetWell={handleChangeOffsetWell}\n activeWellId={activeWellId}\n viewType={viewType}\n />\n )}\n <Filter\n isHidden={!isFilterExpanded}\n isWDUser={isWDUser}\n filterOptions={filterOptions}\n filters={filters}\n wellSections={wellSections}\n selectedWellSection={selectedWellSection}\n subjectWell={subjectWell}\n onChangeFilters={value => {\n setIsTableLoading(true);\n setTimeout(() => setFilters(value), 0);\n }}\n onChangeBicWells={handleChangeWellSection}\n />\n <OffsetWellsTable\n open={open}\n isTableLoading={isTableFullLoading}\n companyId={assetCompanyId}\n subjectWellId={subjectWellId}\n sortBy={sortBy}\n setSortBy={setSortBy}\n sortDirection={sortDirection}\n setSortDirection={setSortDirection}\n columnsWithDict={columnsWithDict}\n wells={tableWells}\n metricsKeys={metricsKeys}\n setMetricsKeys={handleChangeMetricsKeys}\n handleChangeOffsetWell={handleChangeOffsetWell}\n handleChangeAllOffsetWells={handleChangeAllOffsetWells}\n handleAddRemoveAssets={handleAddRemoveAssets}\n isWellNameExpand={isWellNameExpand}\n setIsWellNameExpand={setIsWellNameExpand}\n isHScrollMoved={isHScrollMoved}\n onHideAdvancedSearch={handleHideAdvancedSearch}\n isViewOnly={isViewOnly}\n isLastWell={sortedWells.length <= tableRowsCount}\n contentRef={contentRef}\n offsetWellsContainerRef={offsetWellsContainerRef}\n isLimitedOffsetWells={isLimitedOffsetWells}\n maxOffsetWellNumber={maxOffsetWellNumber}\n wellSections={wellSections}\n setActiveWellId={setActiveWellId}\n viewType={viewType}\n isWDUser={isWDUser}\n taScores={taScores}\n />\n </div>\n {isViewOnly && hasValidAssetId && (\n <div className={styles.viewOnlyInfoContainer}>\n <span className={classNames(typography.regular12, typography.colors.t6)}>\n The offset list is being automatically populated by&nbsp;\n </span>\n <span className={classNames(typography.medium12, typography.colors.t6)}>\n {offsetLabel}\n </span>\n </div>\n )}\n </div>\n ) : (\n <LoadingIndicator fullscreen={false} />\n )}\n </Modal>\n );\n};\n\nexport default OffsetWellPickerV4;\n"],"names":["PAGE_NAME","OffsetWellPickerV4","_ref","_wells$length","_classNames","_classNames4","open","isWDUser","defaultSubjectWell","currentUser","offsetSettings","addWellsUsabilityInfo","isViewOnly","onClose","onSave","_ref$maxOffsetSize","maxOffsetSize","offsetSize","DEFAULT_BIC_OFFSET_SIZE","_ref$localMaxOffsetSi","localMaxOffsetSize","DEFAULT_LOCAL_OFFSET_SIZE","syncAutoEnabled","_ref$isManualWellsEna","isManualWellsEnabled","_ref$isGlobalMode","isGlobalMode","useState","_useState2","_slicedToArray","_useState","activeWellId","setActiveWellId","Math","min","MAX_OFFSET_SIZE","maxOffsetWellNumber","max","subjectWellId","asset_id","useGlobalOffsetWellsSync","filterExpanded","_useState4","_useState3","isFilterExpanded","setIsFilterExpanded","mapHidden","_useState6","_useState5","isMapHidden","setIsMapHidden","assetCompanyId","companyId","company_id","hasValidAssetId","_useState7","filters","_useState8","setFilters","_useState9","wellSection","ALL_SECTION_KEY","_useState10","selectedWellSection","setSelectedWellSection","initLoading","useRef","_useState12","_useState11","selectedWells","setSelectedWells","_useState14","_useState13","subjectWell","setSubjectWell","_useState16","_useState15","isTableLoading","setIsTableLoading","_useState18","_useState17","isWellNameExpand","setIsWellNameExpand","_useState20","_useState19","isAdvancedSearchHidden","setIsAdvancedSearchHidden","contentRef","offsetWellsContainerRef","_useState21","ViewType","none","_useState22","viewType","setViewType","prevViewType","_useState24","_useState23","isTopGradientShow","setIsTopGradientShow","isLimitedOffsetWells","length","topGradientTop","TOP_GRADIENT_MAP","prevSelectedWellIds","_useState26","_useState25","appLoading","setAppLoading","useEffect","_offsetSettings$selec","_prevSelectedWellIds$","_offsetSettings$selec2","showInfoNotification","selectedWellIds","current","every","id","_prevSelectedWellIds$2","includes","handleResize","window","innerWidth","SMALL_SCREEN_WIDTH","isMobileDetected","isNativeDetected","mobile","innerHeight","SMALL_SCREEN_HEIGHT","small","normal","addEventListener","removeEventListener","_useFetchWells","useFetchWells","_useFetchWells2","rawWells","areWellsLoading","useCompanyProvider","companyProvider","_useCompanyProvider","useBicWells","_useBicWells2","_useBicWells","wellSections","setWellSections","bicWells","setBicWells","resyncStatus","setResyncStatus","taScores","useCompanyMetricKey","metricsKeys","_useCompanyMetricKey2","_useCompanyMetricKey","setMetricsKeys","wells","useAdvancedWells","isAllWellsLoaded","_ref2","syncOffsetWells","_asyncToGenerator","_regeneratorRuntime","mark","_callee","isSynced","offsetWellsChanged","_offsetSettings$selec3","bicWellIds","isMatched","wellsByDistance","newOffsetSetting","offsetWells","_offsetWells","wrap","_context","prev","next","wellId","getCoordinatedWells","sent","slice","map","well","offsetWellsLimited","filter","stop","apply","this","arguments","filterOptions","useFilterOptions","find","allSectionNames","item","value","_ref3","label","subjectWellWithSection","_defineProperty","ColumnType","columnsWithDict","useTableColumns","filteredWells","useFilteredWells","data","concat","uniqBy","newSelectedWells","_ref5","useSortedWells","_useSortedWells2","_useSortedWells","sortBy","setSortBy","sortDirection","setSortDirection","sortedWells","handleAddRemoveAssets","useCallback","isAdding","newAssets","assetType","addingWellIds","SEARCH_CATEGORIES","name","reduce","acc","assetId","_wells$find","rigName","rigWellIds","addingWells","_ref6","uniq","_ref7","handleHideAdvancedSearch","handleChangeMetricsKeys","newMetricsKeys","handleChangeOffsetWell","checked","prevWells","handleChangeAllOffsetWells","sortedData","sortArray","updateSelectedWellsBySection","section","sectionWells","_bicWells$section","limitedWells","handleChangeWellSection","selectedWellsCount","useMemo","_ref8","owsWellIds","isXtoProvider","COMPANY_PROVIDERS_FOR_IDAS","offsetLabel","handleCancel","isTableFullLoading","isResetVisible","isEmpty","FilterType","sideTracks","handleReset","isLoading","_useState28","_useState27","isHScrollMoved","setIsHScrollMoved","ROWS_PER_PAGE","_useState30","_useState29","tableRowsCount","setTableRowsCount","_useState32","_useState31","tableWells","setTableWells","RESYNC_STATUS","SUCCEEDED","_jsxs","Modal","title","_jsx","AppHeader","totalCount","selectedCount","isMobile","contentContainerClassName","classNames","styles","offsetWellDialog","contentClassName","contentContainer","smallContainer","contentContainerMobile","actionsClassName","modalActions","actions","className","actionsWrapper","children","Tooltip","placement","Button","onClick","color","startIcon","ReplayIcon","classes","root","resetButtonMobile","infoIconContainer","_Fragment","typography","regular12","colors","t6","medium12","t1","enterTouchDelay","leaveTouchDelay","LEAVE_TOUCH_DELAY","InfoOutlined","infoIcon","buttonGap","variant","_ref9","NotificationsContainer","LoadingIndicator","fullscreen","contentWrapper","contentBlocked","ref","countContainer","countContainerMobile","Regular14","totalLabel","countValue","selectedLabel","Regular12","Toolbar","topGradient","style","top","content","contentMobile","contentiOSMobile","getMobileOperatingSystem","IOS_DEVICE","onScroll","e","target","scrollLeft","scrollTop","scrollHeight","offsetHeight","round","count","handleScroll","WellsMap","offsetWellIds","_ref10","radius","Filter","isHidden","onChangeFilters","setTimeout","onChangeBicWells","OffsetWellsTable","onHideAdvancedSearch","isLastWell","viewOnlyInfoContainer"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js"],"names":[],"mappings":"AAaO;;;;;;;;gBA4CN;;;;;;;;;sBAzDqB,YAAY"}
1
+ {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js"],"names":[],"mappings":"AAcO;;;;;;;;gBA8CN;;;;;;;;;sBA5DqB,YAAY"}
@@ -1,2 +1,2 @@
1
- import e from"prop-types";import{Divider as t,Tooltip as a}from"@material-ui/core";import{ViewType as s}from"../../constants.js";import{CustomInfoIcon as i}from"../CustomInfoIcon/CustomInfoIcon.js";import l from"./AppHeader.module.css.js";import{Regular20 as r,Regular14 as o,Regular12 as c}from"../../../Typography.js";import{jsx as n,jsxs as m}from"react/jsx-runtime";var d=function(e){var d=e.isWDUser,p=e.viewType,f=e.totalCount,u=e.selectedCount,h=e.isViewOnly,N=e.maxOffsetWellNumber,b=e.isGlobalMode,v=void 0!==b&&b;return p===s.mobile?n("div",{className:l.headerContainer,children:n(r,{children:"Select Offset Wells"})}):m("div",{className:l.headerContainer,children:[n(r,{children:"Select Offset Wells"}),n(t,{className:l.divideLine}),n(o,{className:l.totalLabel,children:"Total:"}),n(o,{"data-testid":"".concat("AppHeader","_totalWells"),className:l.countValue,children:f}),n(o,{className:l.selectedLabel,children:"Selected:"}),n(o,{"data-testid":"".concat("AppHeader","_selected"),className:l.countValue,children:u}),v?n(c,{className:l.maxOffsetSize,children:"No global limit. Each app may have its own offset limit."}):n(a,{title:"App can't process more than (".concat(N-1,") Offset Wells."),placement:"right",children:m(c,{"data-testid":"".concat("AppHeader","_maxOffsetSize"),className:l.maxOffsetSize,children:["/",N-1]})}),h&&n(i,{viewType:p,isWDUser:d})]})};d.propTypes={viewType:e.string.isRequired,totalCount:e.number.isRequired,selectedCount:e.number.isRequired,maxOffsetWellNumber:e.number.isRequired};export{d as AppHeader};
1
+ import e from"prop-types";import{Divider as t,Tooltip as a}from"@material-ui/core";import s from"classnames";import{ViewType as i}from"../../constants.js";import{CustomInfoIcon as l}from"../CustomInfoIcon/CustomInfoIcon.js";import r from"./AppHeader.module.css.js";import{Regular20 as o,Regular14 as c,Regular12 as m}from"../../../Typography.js";import{jsx as n,jsxs as d}from"react/jsx-runtime";var p=function(e){var p=e.isWDUser,f=e.viewType,u=e.totalCount,h=e.selectedCount,N=e.isViewOnly,b=e.maxOffsetWellNumber,v=e.isGlobalMode,O=void 0!==v&&v;return f===i.mobile?n("div",{className:r.headerContainer,children:n(o,{children:"Select Offset Wells"})}):d("div",{className:r.headerContainer,children:[n(o,{children:"Select Offset Wells"}),n(t,{className:r.divideLine}),n(c,{className:r.totalLabel,children:"Total:"}),n(c,{"data-testid":"".concat("AppHeader","_totalWells"),className:r.countValue,children:u}),n(c,{className:r.selectedLabel,children:"Selected:"}),n(c,{"data-testid":"".concat("AppHeader","_selected"),className:r.countValue,children:h}),O?n(m,{className:s(r.maxOffsetSize,r.maxOffsetSizeGlobal),children:"No global limit. Each app may have its own offset limit."}):n(a,{title:"App can't process more than (".concat(b-1,") Offset Wells."),placement:"right",children:d(m,{"data-testid":"".concat("AppHeader","_maxOffsetSize"),className:r.maxOffsetSize,children:["/",b-1]})}),N&&n(l,{viewType:f,isWDUser:p})]})};p.propTypes={viewType:e.string.isRequired,totalCount:e.number.isRequired,selectedCount:e.number.isRequired,maxOffsetWellNumber:e.number.isRequired};export{p as AppHeader};
2
2
  //# sourceMappingURL=AppHeader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.js","sources":["../../../../../src/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Divider, Tooltip } from '@material-ui/core';\n\nimport { ViewType } from '../../constants';\nimport { CustomInfoIcon } from '../CustomInfoIcon';\n\nimport styles from './AppHeader.module.css';\n\nimport { Regular12, Regular14, Regular20 } from '~/components/Typography';\n\nconst PAGE_NAME = 'AppHeader';\nconst GLOBAL_MODE_LIMIT_TEXT = 'No global limit. Each app may have its own offset limit.';\n\nexport const AppHeader = ({\n isWDUser,\n viewType,\n totalCount,\n selectedCount,\n isViewOnly,\n maxOffsetWellNumber,\n isGlobalMode = false,\n}) => {\n if (viewType === ViewType.mobile) {\n return (\n <div className={styles.headerContainer}>\n <Regular20>Select Offset Wells</Regular20>\n </div>\n );\n }\n\n return (\n <div className={styles.headerContainer}>\n <Regular20>Select Offset Wells</Regular20>\n <Divider className={styles.divideLine} />\n <Regular14 className={styles.totalLabel}>Total:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_totalWells`} className={styles.countValue}>\n {totalCount}\n </Regular14>\n <Regular14 className={styles.selectedLabel}>Selected:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_selected`} className={styles.countValue}>\n {selectedCount}\n </Regular14>\n {isGlobalMode ? (\n <Regular12 className={styles.maxOffsetSize}>{GLOBAL_MODE_LIMIT_TEXT}</Regular12>\n ) : (\n <Tooltip\n title={`App can't process more than (${maxOffsetWellNumber - 1}) Offset Wells.`}\n placement=\"right\"\n >\n <Regular12 data-testid={`${PAGE_NAME}_maxOffsetSize`} className={styles.maxOffsetSize}>\n /{maxOffsetWellNumber - 1}\n </Regular12>\n </Tooltip>\n )}\n {isViewOnly && <CustomInfoIcon viewType={viewType} isWDUser={isWDUser} />}\n </div>\n );\n};\n\nAppHeader.propTypes = {\n viewType: PropTypes.string.isRequired,\n totalCount: PropTypes.number.isRequired,\n selectedCount: PropTypes.number.isRequired,\n maxOffsetWellNumber: PropTypes.number.isRequired,\n};\n"],"names":["AppHeader","_ref","isWDUser","viewType","totalCount","selectedCount","isViewOnly","maxOffsetWellNumber","_ref$isGlobalMode","isGlobalMode","ViewType","mobile","_jsx","className","styles","headerContainer","children","Regular20","_jsxs","Divider","divideLine","Regular14","totalLabel","concat","countValue","selectedLabel","Regular12","maxOffsetSize","Tooltip","title","placement","CustomInfoIcon","propTypes","PropTypes","string","isRequired","number"],"mappings":"kXAUA,IAGaA,EAAY,SAQnBC,GAAA,IAPJC,IAAAA,SACAC,IAAAA,SACAC,IAAAA,WACAC,IAAAA,cACAC,IAAAA,WACAC,IAAAA,oBAAmBC,EAAAP,EACnBQ,aAAAA,cAAoBD,EAEpB,OAAIL,IAAaO,EAASC,OAEtBC,EAAA,MAAA,CAAKC,UAAWC,EAAOC,gBAAgBC,SACrCJ,EAACK,EAAS,CAAAD,SAAA,0BAMdE,EAAA,MAAA,CAAKL,UAAWC,EAAOC,gBAAgBC,SAAA,CACrCJ,EAACK,EAAS,CAAAD,SAAA,wBACVJ,EAACO,EAAO,CAACN,UAAWC,EAAOM,aAC3BR,EAACS,EAAS,CAACR,UAAWC,EAAOQ,WAAWN,SAAA,WACxCJ,EAACS,EAAS,CAAC,cAAA,GAAAE,OAzBC,YAyBsC,eAACV,UAAWC,EAAOU,WAAWR,SAC7EZ,IAEHQ,EAACS,EAAS,CAACR,UAAWC,EAAOW,cAAcT,SAAA,cAC3CJ,EAACS,EAAS,CAAC,cAAA,GAAAE,OA7BC,YA6BoC,aAACV,UAAWC,EAAOU,WAAWR,SAC3EX,IAEFI,EACCG,EAACc,EAAS,CAACb,UAAWC,EAAOa,cAAcX,SAhCpB,6DAkCvBJ,EAACgB,EAAO,CACNC,MAAuCtB,gCAAAA,OAAAA,EAAsB,EAAmB,mBAChFuB,UAAU,QAAOd,SAEjBE,EAACQ,EAAS,CAAC,cAAA,GAAAH,OAvCH,YAuC6C,kBAACV,UAAWC,EAAOa,cAAcX,SAClFT,CAAAA,IAAAA,EAAsB,OAI7BD,GAAcM,EAACmB,EAAc,CAAC5B,SAAUA,EAAUD,SAAUA,MAGnE,EAEAF,EAAUgC,UAAY,CACpB7B,SAAU8B,EAAUC,OAAOC,WAC3B/B,WAAY6B,EAAUG,OAAOD,WAC7B9B,cAAe4B,EAAUG,OAAOD,WAChC5B,oBAAqB0B,EAAUG,OAAOD"}
1
+ {"version":3,"file":"AppHeader.js","sources":["../../../../../src/components/OffsetWellPickerV4/components/AppHeader/AppHeader.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Divider, Tooltip } from '@material-ui/core';\nimport classNames from 'classnames';\n\nimport { ViewType } from '../../constants';\nimport { CustomInfoIcon } from '../CustomInfoIcon';\n\nimport styles from './AppHeader.module.css';\n\nimport { Regular12, Regular14, Regular20 } from '~/components/Typography';\n\nconst PAGE_NAME = 'AppHeader';\nconst GLOBAL_MODE_LIMIT_TEXT = 'No global limit. Each app may have its own offset limit.';\n\nexport const AppHeader = ({\n isWDUser,\n viewType,\n totalCount,\n selectedCount,\n isViewOnly,\n maxOffsetWellNumber,\n isGlobalMode = false,\n}) => {\n if (viewType === ViewType.mobile) {\n return (\n <div className={styles.headerContainer}>\n <Regular20>Select Offset Wells</Regular20>\n </div>\n );\n }\n\n return (\n <div className={styles.headerContainer}>\n <Regular20>Select Offset Wells</Regular20>\n <Divider className={styles.divideLine} />\n <Regular14 className={styles.totalLabel}>Total:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_totalWells`} className={styles.countValue}>\n {totalCount}\n </Regular14>\n <Regular14 className={styles.selectedLabel}>Selected:</Regular14>\n <Regular14 data-testid={`${PAGE_NAME}_selected`} className={styles.countValue}>\n {selectedCount}\n </Regular14>\n {isGlobalMode ? (\n <Regular12 className={classNames(styles.maxOffsetSize, styles.maxOffsetSizeGlobal)}>\n {GLOBAL_MODE_LIMIT_TEXT}\n </Regular12>\n ) : (\n <Tooltip\n title={`App can't process more than (${maxOffsetWellNumber - 1}) Offset Wells.`}\n placement=\"right\"\n >\n <Regular12 data-testid={`${PAGE_NAME}_maxOffsetSize`} className={styles.maxOffsetSize}>\n /{maxOffsetWellNumber - 1}\n </Regular12>\n </Tooltip>\n )}\n {isViewOnly && <CustomInfoIcon viewType={viewType} isWDUser={isWDUser} />}\n </div>\n );\n};\n\nAppHeader.propTypes = {\n viewType: PropTypes.string.isRequired,\n totalCount: PropTypes.number.isRequired,\n selectedCount: PropTypes.number.isRequired,\n maxOffsetWellNumber: PropTypes.number.isRequired,\n};\n"],"names":["AppHeader","_ref","isWDUser","viewType","totalCount","selectedCount","isViewOnly","maxOffsetWellNumber","_ref$isGlobalMode","isGlobalMode","ViewType","mobile","_jsx","className","styles","headerContainer","children","Regular20","_jsxs","Divider","divideLine","Regular14","totalLabel","concat","countValue","selectedLabel","Regular12","classNames","maxOffsetSize","maxOffsetSizeGlobal","Tooltip","title","placement","CustomInfoIcon","propTypes","PropTypes","string","isRequired","number"],"mappings":"4YAWA,IAGaA,EAAY,SAQnBC,GAAA,IAPJC,IAAAA,SACAC,IAAAA,SACAC,IAAAA,WACAC,IAAAA,cACAC,IAAAA,WACAC,IAAAA,oBAAmBC,EAAAP,EACnBQ,aAAAA,cAAoBD,EAEpB,OAAIL,IAAaO,EAASC,OAEtBC,EAAA,MAAA,CAAKC,UAAWC,EAAOC,gBAAgBC,SACrCJ,EAACK,EAAS,CAAAD,SAAA,0BAMdE,EAAA,MAAA,CAAKL,UAAWC,EAAOC,gBAAgBC,SAAA,CACrCJ,EAACK,EAAS,CAAAD,SAAA,wBACVJ,EAACO,EAAO,CAACN,UAAWC,EAAOM,aAC3BR,EAACS,EAAS,CAACR,UAAWC,EAAOQ,WAAWN,SAAA,WACxCJ,EAACS,EAAS,CAAC,cAAA,GAAAE,OAzBC,YAyBsC,eAACV,UAAWC,EAAOU,WAAWR,SAC7EZ,IAEHQ,EAACS,EAAS,CAACR,UAAWC,EAAOW,cAAcT,SAAA,cAC3CJ,EAACS,EAAS,CAAC,cAAA,GAAAE,OA7BC,YA6BoC,aAACV,UAAWC,EAAOU,WAAWR,SAC3EX,IAEFI,EACCG,EAACc,EAAS,CAACb,UAAWc,EAAWb,EAAOc,cAAed,EAAOe,qBAAqBb,SAhC5D,6DAoCvBJ,EAACkB,EAAO,CACNC,MAAuCxB,gCAAAA,OAAAA,EAAsB,EAAmB,mBAChFyB,UAAU,QAAOhB,SAEjBE,EAACQ,EAAS,CAAC,cAAA,GAAAH,OAzCH,YAyC6C,kBAACV,UAAWC,EAAOc,cAAcZ,SAClFT,CAAAA,IAAAA,EAAsB,OAI7BD,GAAcM,EAACqB,EAAc,CAAC9B,SAAUA,EAAUD,SAAUA,MAGnE,EAEAF,EAAUkC,UAAY,CACpB/B,SAAUgC,EAAUC,OAAOC,WAC3BjC,WAAY+B,EAAUG,OAAOD,WAC7BhC,cAAe8B,EAAUG,OAAOD,WAChC9B,oBAAqB4B,EAAUG,OAAOD"}
@@ -1,2 +1,2 @@
1
- import e from'./../../../../ext-esm/style-inject/dist/style-inject.es.js';var t={headerContainer:"AppHeader-module_headerContainer__U12-A",divideLine:"AppHeader-module_divideLine__Ug9rR",totalLabel:"AppHeader-module_totalLabel__ML9sB",selectedLabel:"AppHeader-module_selectedLabel__m24nY",countValue:"AppHeader-module_countValue__m4GWf",maxOffsetSize:"AppHeader-module_maxOffsetSize__D4TGt"};e(".AppHeader-module_headerContainer__U12-A{align-items:center;display:flex;flex-direction:row}.AppHeader-module_divideLine__Ug9rR{height:12px!important;margin-left:16px!important;margin-right:16px!important;width:1px}.AppHeader-module_totalLabel__ML9sB{color:var(--palette-primary-text-6)}.AppHeader-module_selectedLabel__m24nY{color:var(--palette-primary-text-6);padding-left:16px}.AppHeader-module_countValue__m4GWf{color:var(--palette-primary-text-1);padding-left:4px}.AppHeader-module_maxOffsetSize__D4TGt{color:var(--palette-primary-text-6);cursor:default;margin-left:4px!important;padding-left:4px}");export{t as default};
1
+ import e from'./../../../../ext-esm/style-inject/dist/style-inject.es.js';var a={headerContainer:"AppHeader-module_headerContainer__U12-A",divideLine:"AppHeader-module_divideLine__Ug9rR",totalLabel:"AppHeader-module_totalLabel__ML9sB",selectedLabel:"AppHeader-module_selectedLabel__m24nY",countValue:"AppHeader-module_countValue__m4GWf",maxOffsetSize:"AppHeader-module_maxOffsetSize__D4TGt",maxOffsetSizeGlobal:"AppHeader-module_maxOffsetSizeGlobal__XVn6o"};e(".AppHeader-module_headerContainer__U12-A{align-items:center;display:flex;flex-direction:row}.AppHeader-module_divideLine__Ug9rR{height:12px!important;margin-left:16px!important;margin-right:16px!important;width:1px}.AppHeader-module_totalLabel__ML9sB{color:var(--palette-primary-text-6)}.AppHeader-module_selectedLabel__m24nY{color:var(--palette-primary-text-6);padding-left:16px}.AppHeader-module_countValue__m4GWf{color:var(--palette-primary-text-1);padding-left:4px}.AppHeader-module_maxOffsetSize__D4TGt{color:var(--palette-primary-text-6);cursor:default;padding-left:4px}.AppHeader-module_maxOffsetSizeGlobal__XVn6o{margin-left:4px!important}");export{a as default};
2
2
  //# sourceMappingURL=AppHeader.module.css.js.map
@@ -1,2 +1,2 @@
1
- import t from"@babel/runtime/helpers/slicedToArray";import{useState as e,useMemo as o,useRef as r,useEffect as n}from"react";import i from"prop-types";import{get as s}from"lodash";import{withStyles as a,Tooltip as p,makeStyles as l,Chip as c,Input as m}from"@material-ui/core";import u from"@material-ui/icons/Close";import"../../../utils/apiCalls.js";import"../../../effects/useAdvancedWells.js";import"@babel/runtime/helpers/toConsumableArray";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../constants.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"@babel/runtime/helpers/typeof";import"moment";import"react-virtualized";import{useAssetsData as d}from"../../../effects/useAssetsData.js";import"../../../../../clients/subscriptions/constants.js";import"querystring";import"uuid/v1";import"../../../../../clients/subscriptions.v1.js";import"../../../../../clients/jsonApi/index.js";import"../../../../../clients/subscriptions/subscriptions-client.factory.js";import"uuid";import"jsona";import"../../../../../utils/env.js";import"../../../../StatusBadge/constants.js";import"lodash/set";import"lodash/get";import"lodash/unset";import"../../../../../clients/api/apiCore.js";import"../../../../../clients/constants.js";import"../../../../../clients/sso/auth0.js";import"../../../../../clients/sso/oauth2.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../../constants/streamSourceType.js";import"../../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import{jsxs as f,jsx as h,Fragment as x}from"react/jsx-runtime";import"../../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import g from"./AssetTypesSection.js";import j 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),v=l((function(t){return{wrapper:{width:function(t){return t.searchWidth},maxWidth:"996px",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:t.palette.primary.text6,"&:hover":{color:t.palette.primary.text1}},selectedLabel:{fontWeight:400,fontSize:"16px",lineHeight:"22px",color:t.palette.primary.text1,whiteSpace:"nowrap",paddingLeft:"4px",paddingRight:"8px"},disabledIcon:{width:"16px",height:"16px",color:t.palette.primary.text6,opacity:.4},closeIconButton:{padding:0,"&:hover $closeIcon":{color:t.palette.primary.text1}},searchInput:{width:"100%",display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",borderBottom:"2px solid #03BCD4"},closeIcon:{color:t.palette.primary.text6,fontSize:"18px"}}})),I=function(i){var a=i.company,p=i.subjectWellId,l=i.value,I=i.selectedWellIds,A=i.onChange,w=e(null),W=t(w,2),S=W[0],D=W[1],R=e(null),k=t(R,2),T=k[0],q=k[1],z=e(1),B=t(z,2),N=B[0],L=B[1],P=o((function(){return window.innerWidth-32}),[]),G=v({searchWidth:P}),H=r();n((function(){q(l)}),[l]);var K=d(T,S,N,a,I),O=t(K,2),U=O[0],E=O[1],F=o((function(){return S&&E&&0!==E.length?E[0][1].filter((function(t){return t.checked})).length:0}),[S,E]);return f("div",{className:G.wrapper,children:[h("div",{className:G.inputWrapper,children:f("div",{className:G.searchInput,children:[S&&f(x,{children:[h(c,{"data-not-migrated-muichip":!0,classes:{root:G.selectedChip,deleteIcon:G.selectedChipDeleteIcon},label:s(b,[S,"labelPlural"],"Assets"),deleteIcon:h(u,{}),onDelete:function(){D(null)}}),F>0&&f("span",{className:G.selectedLabel,children:[F," Selected"]})]}),h(m,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:H,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:T||"",placeholder:"Add Offset ...",onChange:function(t){var e=t.target.value;H.current.focus(),q(e),L(1)},onKeyUp:function(e){var o=e.target.value,r=e.keyCode,n=C.find((function(e){var r=t(e,2);return r[0],r[1].autoCategorizedKey===o.trim().toLowerCase()}));if(n&&(13===r||32===r))return q(""),D(n[0]),void L(1);""===o&&8===r&&(D(null),L(1))}}),h(y,{title:"Clear",children:h(u,{className:S||T?G.selectedChipDeleteIcon:G.disabledIcon,onClick:function(){H.current.focus(),q(""),D(null),L(1)}})})]})}),!S&&!T&&h(g,{onClickAssetType:function(t){H.current.focus(),D(t),L(1)}}),(S||T)&&h(j,{subjectWellId:p,page:N,assetType:S,loading:U,groupedAssets:E,onClickAsset:function(t,e){A(!t.checked,[t.redirectAssetId],e)},onClickAllAsset:function(t,e){var o=E[0][1];A(t,o.map((function(t){return t.redirectAssetId})),e)},onScrollReached:function(t){"top"===t&&N>1&&L((function(t){return t-1})),"bottom"===t&&L((function(t){return t+1}))}})]})};I.propTypes={subjectWellId:i.number.isRequired,company:i.number.isRequired,value:i.string.isRequired,selectedWellIds:i.arrayOf(i.number).isRequired,onChange:i.func.isRequired};export{I as default};
1
+ import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useMemo as r,useRef as n,useEffect as o}from"react";import i from"prop-types";import{get as s}from"lodash";import{withStyles as a,Tooltip as l,makeStyles as c,Chip as p,Input as d}from"@material-ui/core";import u from"@material-ui/icons/Close";import"../../../utils/apiCalls.js";import"../../../effects/useAdvancedWells.js";import"@babel/runtime/helpers/toConsumableArray";import"@babel/runtime/helpers/defineProperty";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"../../../constants.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"@babel/runtime/helpers/typeof";import"moment";import"react-virtualized";import{useAssetsData as m}from"../../../effects/useAssetsData.js";import f from"./AssetTypesSection.js";import h from"./AssetResultSection.js";import{SEARCH_CATEGORIES as x,CATEGORY_KEY_VALUES as g}from"./constants.js";import{jsxs as b,jsx as y,Fragment as j}from"react/jsx-runtime";var C=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"}}}))(l),I=c((function(e){return{wrapper:{width:function(e){return e.searchWidth},maxWidth:"996px",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.company,l=i.subjectWellId,c=i.value,v=i.selectedWellIds,w=i.onChange,A=t(null),W=e(A,2),R=W[0],S=W[1],k=t(null),D=e(k,2),T=D[0],q=D[1],z=t(1),N=e(z,2),L=N[0],B=N[1],P=r((function(){return window.innerWidth-32}),[]),G=I({searchWidth:P}),H=n();o((function(){q(c)}),[c]);var K=m(T,R,L,a,v),O=e(K,2),U=O[0],F=O[1],M=r((function(){return R&&F&&0!==F.length?F[0][1].filter((function(e){return e.checked})).length:0}),[R,F]);return b("div",{className:G.wrapper,children:[y("div",{className:G.inputWrapper,children:b("div",{className:G.searchInput,children:[R&&b(j,{children:[y(p,{"data-not-migrated-muichip":!0,classes:{root:G.selectedChip,deleteIcon:G.selectedChipDeleteIcon},label:s(x,[R,"labelPlural"],"Assets"),deleteIcon:y(u,{}),onDelete:function(){S(null)}}),M>0&&b("span",{className:G.selectedLabel,children:[M," Selected"]})]}),y(d,{"data-testid":"".concat("AutoCompleteAssetSearch","_searchInput"),inputRef:H,autoFocus:!0,disableUnderline:!0,fullWidth:!0,value:T||"",placeholder:"Add Offset ...",onChange:function(e){var t=e.target.value;H.current.focus(),q(t),B(1)},onKeyUp:function(t){var r=t.target.value,n=t.keyCode,o=g.find((function(t){var n=e(t,2);return n[0],n[1].autoCategorizedKey===r.trim().toLowerCase()}));if(o&&(13===n||32===n))return q(""),S(o[0]),void B(1);""===r&&8===n&&(S(null),B(1))}}),y(C,{title:"Clear",children:y(u,{className:R||T?G.selectedChipDeleteIcon:G.disabledIcon,onClick:function(){H.current.focus(),q(""),S(null),B(1)}})})]})}),!R&&!T&&y(f,{onClickAssetType:function(e){H.current.focus(),S(e),B(1)}}),(R||T)&&y(h,{subjectWellId:l,page:L,assetType:R,loading:U,groupedAssets:F,onClickAsset:function(e,t){w(!e.checked,[e.redirectAssetId],t)},onClickAllAsset:function(e,t){var r=F[0][1];w(e,r.map((function(e){return e.redirectAssetId})),t)},onScrollReached:function(e){"top"===e&&L>1&&B((function(e){return e-1})),"bottom"===e&&B((function(e){return e+1}))}})]})};v.propTypes={subjectWellId:i.number.isRequired,company:i.number.isRequired,value:i.string.isRequired,selectedWellIds:i.arrayOf(i.number).isRequired,onChange:i.func.isRequired};export{v as default};
2
2
  //# sourceMappingURL=AutoCompleteAssetSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoCompleteAssetSearch.js","sources":["../../../../../../src/components/OffsetWellPickerV4/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,\n maxWidth: '996px',\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\nconst AutoCompleteAssetSearch = ({ company, subjectWellId, value, selectedWellIds, onChange }) => {\n const [assetType, setAssetType] = useState(null);\n const [searchKey, setSearchKey] = useState(null);\n const [page, setPage] = useState(1);\n const searchWidth = useMemo(() => window.innerWidth - 32, []);\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 company,\n selectedWellIds\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 searchInputRef.current.focus();\n setSearchKey('');\n setAssetType(null);\n setPage(1);\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 onChange(!asset.checked, [asset.redirectAssetId], assetType);\n };\n\n const handleChangeAllAssets = (isAllAdding, assetType) => {\n const assets = groupedAssets[0][1];\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType\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=\"Add Offset ...\"\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 />\n )}\n </div>\n );\n};\n\nAutoCompleteAssetSearch.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n company: PropTypes.number.isRequired,\n value: PropTypes.string.isRequired,\n selectedWellIds: PropTypes.arrayOf(PropTypes.number).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default AutoCompleteAssetSearch;\n"],"names":["StyledTooltip","withStyles","tooltip","backgroundColor","color","fontSize","lineHeight","borderRadius","boxShadow","padding","Tooltip","useStyles","makeStyles","theme","wrapper","width","_ref","searchWidth","maxWidth","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","company","subjectWellId","value","selectedWellIds","onChange","useState","_useState2","_slicedToArray","_useState","assetType","setAssetType","_useState4","_useState3","searchKey","setSearchKey","_useState6","_useState5","page","setPage","useMemo","window","innerWidth","classes","searchInputRef","useRef","useEffect","useAssetsData","_useAssetsData2","_useAssetsData","loading","groupedAssets","selectedCount","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","redirectAssetId","onClickAllAsset","isAllAdding","assets","map","onScrollReached","position","prev","propTypes","PropTypes","number","isRequired","string","arrayOf","func"],"mappings":"w5EAYA,IAEMA,EAAgBC,GAAW,WAAA,MAAO,CACtCC,QAAS,CACPC,gBAAiB,UACjBC,MAAO,UACPC,SAAU,OACVC,WAAY,OACZC,aAAc,MACdC,UAAW,kCACXC,QAAS,OAEZ,GAVqBR,CAUlBS,GAEEC,EAAYC,GAAW,SAAAC,GAAK,MAAK,CACrCC,QAAS,CACPC,MAAO,SAAAC,GAAc,SAAXC,WAA6B,EACvCC,SAAU,QACVC,QAAS,OACTC,cAAe,SACfX,QAAS,IAEXY,aAAc,CACZF,QAAS,OACTJ,MAAO,OACPO,OAAQ,YACRC,WAAY,SACZC,SAAU,SACVC,eAAgB,iBAElBC,aAAc,CACZC,OAAQ,OACRL,OAAQ,OAEVM,uBAAwB,CACtBb,MAAO,OACPY,OAAQ,OACRvB,MAAOS,EAAMgB,QAAQC,QAAQC,MAC7B,UAAW,CACT3B,MAAOS,EAAMgB,QAAQC,QAAQE,QAGjCC,cAAe,CACbC,WAAY,IACZ7B,SAAU,OACVC,WAAY,OACZF,MAAOS,EAAMgB,QAAQC,QAAQE,MAC7BG,WAAY,SACZC,YAAa,MACbC,aAAc,OAEhBC,aAAc,CACZvB,MAAO,OACPY,OAAQ,OACRvB,MAAOS,EAAMgB,QAAQC,QAAQC,MAC7BQ,QAAS,IAEXC,gBAAiB,CACf/B,QAAS,EACT,qBAAsB,CACpBL,MAAOS,EAAMgB,QAAQC,QAAQE,QAGjCS,YAAa,CACX1B,MAAO,OACPI,QAAS,OACTC,cAAe,MACfK,eAAgB,gBAChBF,WAAY,SACZmB,aAAc,qBAEhBC,UAAW,CACTvC,MAAOS,EAAMgB,QAAQC,QAAQC,MAC7B1B,SAAU,QAEb,IAEKuC,EAA0B,SAAkEC,GAAA,IAA/DC,IAAAA,QAASC,IAAAA,cAAeC,IAAAA,MAAOC,IAAAA,gBAAiBC,IAAAA,SAC/CC,EAAAA,EAAS,MAAKC,EAAAC,EAAAC,EAAA,GAAzCC,EAASH,EAAA,GAAEI,EAAYJ,EAAA,GACID,EAAAA,EAAS,MAAKM,EAAAJ,EAAAK,EAAA,GAAzCC,EAASF,EAAA,GAAEG,EAAYH,EAAA,GACNN,EAAAA,EAAS,GAAEU,EAAAR,EAAAS,EAAA,GAA5BC,EAAIF,EAAA,GAAEG,EAAOH,EAAA,GACd5C,EAAcgD,GAAQ,WAAA,OAAMC,OAAOC,WAAa,EAAE,GAAE,IACpDC,EAAUzD,EAAU,CAAEM,YAAAA,IACtBoD,EAAiBC,IAEvBC,GAAU,WACRX,EAAaZ,EACf,GAAG,CAACA,IAEJ,IAAiCwB,EAAAA,EAC/Bb,EACAJ,EACAQ,EACAjB,EACAG,GACDwB,EAAApB,EAAAqB,EAAA,GANMC,EAAOF,EAAA,GAAEG,EAAaH,EAAA,GAQvBI,EAAgBZ,GAAQ,WAC5B,OAAKV,GAAcqB,GAA0C,IAAzBA,EAAcE,OAC3CF,EAAc,GAAG,GAAGG,QAAO,SAAAC,GAAK,OAAIA,EAAMC,OAAO,IAAEH,OADa,CAEzE,GAAG,CAACvB,EAAWqB,IAwEf,OACEM,EAAA,MAAA,CAAKC,UAAWf,EAAQtD,QAAQsE,SAC9B,CAAAC,EAAA,MAAA,CAAKF,UAAWf,EAAQ/C,aAAa+D,SACnCF,EAAA,MAAA,CAAKC,UAAWf,EAAQ3B,YAAY2C,SAAA,CACjC7B,GACC2B,EAAAI,EAAA,CAAAF,SAAA,CACEC,EAACE,EAAI,CACH,6BAAyB,EACzBnB,QAAS,CAAEoB,KAAMpB,EAAQ1C,aAAc+D,WAAYrB,EAAQxC,wBAC3D8D,MAAOC,EAAIC,EAAmB,CAACrC,EAAW,eAAgB,UAC1DkC,WAAYJ,EAACQ,EAAa,IAC1BC,SAjFgB,WAC5BtC,EAAa,SAkFFqB,EAAgB,GACfK,EAAA,OAAA,CAAMC,UAAWf,EAAQnC,cAAcmD,SAAA,CAAEP,EAAa,kBAI5DQ,EAACU,EAAK,CACJ,cAAA,GAAAC,OA/LM,0BA+LkC,gBACxCC,SAAU5B,EACV6B,WAAS,EACTC,kBAAgB,EAChBC,WAAS,EACTpD,MAAOW,GAAa,GACpB0C,YAAY,iBACZnD,SAtFoB,SAA2BoD,GAAA,IAAdtD,EAAKsD,EAAfC,OAAUvD,MACzCqB,EAAemC,QAAQC,QACvB7C,EAAaZ,GACbgB,EAAQ,IAoFA0C,QAjFa,SAAAC,GACrB,IAAQ3D,EAAU2D,EAAEJ,OAAZvD,MACA4D,EAAYD,EAAZC,QAEFC,EAAoBC,EAAoBC,MAC5C,SAAAC,GAAA,IAAAC,EAAA5D,EAAA2D,EAAA,GAAS,OAANC,EAAA,GAAMA,EAAA,GAAWC,qBAAuBlE,EAAMmE,OAAOC,iBAK1D,GAAIP,IAAkC,KAAZD,GAA8B,KAAZA,GAI1C,OAHAhD,EAAa,IACbJ,EAAaqD,EAAkB,SAC/B7C,EAAQ,GAMI,KAAVhB,GAA4B,IAAZ4D,IAClBpD,EAAa,MACbQ,EAAQ,OA8DJqB,EAACrF,EAAa,CAACqH,MAAM,QAAOjC,SAC1BC,EAACQ,EAAS,CACRV,UACE5B,GAAaI,EAAYS,EAAQxC,uBAAyBwC,EAAQ9B,aAEpEgF,QA/Dc,WACxBjD,EAAemC,QAAQC,QACvB7C,EAAa,IACbJ,EAAa,MACbQ,EAAQ,cAiEJT,IAAcI,GAAa0B,EAACkC,EAAiB,CAACC,iBA1GtB,SAAAC,GAC5BpD,EAAemC,QAAQC,QACvBjD,EAAaiE,GACbzD,EAAQ,OAwGJT,GAAaI,IACb0B,EAACqC,EAAkB,CACjB3E,cAAeA,EACfgB,KAAMA,EACNR,UAAWA,EACXoB,QAASA,EACTC,cAAeA,EACf+C,aA7DkB,SAAC3C,EAAOzB,GAChCL,GAAU8B,EAAMC,QAAS,CAACD,EAAM4C,iBAAkBrE,IA6D5CsE,gBA1DsB,SAACC,EAAavE,GAC1C,IAAMwE,EAASnD,EAAc,GAAG,GAChC1B,EACE4E,EACAC,EAAOC,KAAI,SAAAhD,GAAK,OAAIA,EAAM4C,mBAC1BrE,IAsDI0E,gBAxEoB,SAAAC,GACT,QAAbA,GAAsBnE,EAAO,GAC/BC,GAAQ,SAAAmE,GAAI,OAAIA,EAAO,KAER,WAAbD,GACFlE,GAAQ,SAAAmE,GAAI,OAAIA,EAAO,UAwE7B,EAEAvF,EAAwBwF,UAAY,CAClCrF,cAAesF,EAAUC,OAAOC,WAChCzF,QAASuF,EAAUC,OAAOC,WAC1BvF,MAAOqF,EAAUG,OAAOD,WACxBtF,gBAAiBoF,EAAUI,QAAQJ,EAAUC,QAAQC,WACrDrF,SAAUmF,EAAUK,KAAKH"}
1
+ {"version":3,"file":"AutoCompleteAssetSearch.js","sources":["../../../../../../src/components/OffsetWellPickerV4/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,\n maxWidth: '996px',\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\nconst AutoCompleteAssetSearch = ({ company, subjectWellId, value, selectedWellIds, onChange }) => {\n const [assetType, setAssetType] = useState(null);\n const [searchKey, setSearchKey] = useState(null);\n const [page, setPage] = useState(1);\n const searchWidth = useMemo(() => window.innerWidth - 32, []);\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 company,\n selectedWellIds\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 searchInputRef.current.focus();\n setSearchKey('');\n setAssetType(null);\n setPage(1);\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 onChange(!asset.checked, [asset.redirectAssetId], assetType);\n };\n\n const handleChangeAllAssets = (isAllAdding, assetType) => {\n const assets = groupedAssets[0][1];\n onChange(\n isAllAdding,\n assets.map(asset => asset.redirectAssetId),\n assetType\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=\"Add Offset ...\"\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 />\n )}\n </div>\n );\n};\n\nAutoCompleteAssetSearch.propTypes = {\n subjectWellId: PropTypes.number.isRequired,\n company: PropTypes.number.isRequired,\n value: PropTypes.string.isRequired,\n selectedWellIds: PropTypes.arrayOf(PropTypes.number).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n\nexport default AutoCompleteAssetSearch;\n"],"names":["StyledTooltip","withStyles","tooltip","backgroundColor","color","fontSize","lineHeight","borderRadius","boxShadow","padding","Tooltip","useStyles","makeStyles","theme","wrapper","width","_ref","searchWidth","maxWidth","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","company","subjectWellId","value","selectedWellIds","onChange","useState","_useState2","_slicedToArray","_useState","assetType","setAssetType","_useState4","_useState3","searchKey","setSearchKey","_useState6","_useState5","page","setPage","useMemo","window","innerWidth","classes","searchInputRef","useRef","useEffect","useAssetsData","_useAssetsData2","_useAssetsData","loading","groupedAssets","selectedCount","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","redirectAssetId","onClickAllAsset","isAllAdding","assets","map","onScrollReached","position","prev","propTypes","PropTypes","number","isRequired","string","arrayOf","func"],"mappings":"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"}
@@ -9,5 +9,4 @@ export * from "./useRadiusWells";
9
9
  export * from "./useAssetsData";
10
10
  export * from "./useTableColumns";
11
11
  export * from "./useCompanyProvider";
12
- export * from "./useGlobalOffsetWellsSync";
13
12
  //# sourceMappingURL=index.d.ts.map
@@ -11,5 +11,6 @@ import useLoadedData from './useLoadedData';
11
11
  import usePadSelectorSelectedWells from './usePadSelectorSelectedWells';
12
12
  export { useAppCommentsMode, useSetAppCommentsMode, } from '../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext';
13
13
  export { useAppCommons } from '../componentsV2/AppCommonsProvider';
14
+ export { useGlobalOffsetWellsSync } from './useGlobalOffsetWellsSync';
14
15
  export { useDevCenterApp, useEscPress, useIsAssetViewer, useOutsideClick, useResizeObserver, useSharedDCStore, useSignedURL, useSubscriptions, useWellnessAlerts, useLoadedData, usePadSelectorSelectedWells, };
15
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AAExE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+FAA+F,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EACL,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,2BAA2B,GAC5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/effects/index.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,2BAA2B,MAAM,+BAA+B,CAAC;AAExE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,+FAA+F,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,EACL,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,2BAA2B,GAC5B,CAAC"}
package/effects/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export{default as useSubscriptions}from"./useSubscriptions.js";export{default as useOutsideClick}from"./useOutsideClick.js";export{default as useEscPress}from"./useEscPress.js";export{default as useDevCenterApp}from"./useDevCenterApp.js";export{default as useSignedURL}from"./useSignedURL.js";export{default as useSharedDCStore}from"./useSharedDCStore.js";export{default as useResizeObserver}from"./useResizeObserver.js";export{default as useIsAssetViewer}from"./useIsAssetViewer.js";export{useWellnessAlerts}from"./useWellnessAlerts.js";export{default as useLoadedData}from"./useLoadedData.js";export{default as usePadSelectorSelectedWells}from"./usePadSelectorSelectedWells.js";export{useAppCommentsMode,useSetAppCommentsMode}from"../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"react/jsx-runtime";import"react";export{useAppCommons}from"../componentsV2/AppCommonsProvider/AppCommonsContext.js";
1
+ export{default as useSubscriptions}from"./useSubscriptions.js";export{default as useOutsideClick}from"./useOutsideClick.js";export{default as useEscPress}from"./useEscPress.js";export{default as useDevCenterApp}from"./useDevCenterApp.js";export{default as useSignedURL}from"./useSignedURL.js";export{default as useSharedDCStore}from"./useSharedDCStore.js";export{default as useResizeObserver}from"./useResizeObserver.js";export{default as useIsAssetViewer}from"./useIsAssetViewer.js";export{useWellnessAlerts}from"./useWellnessAlerts.js";export{default as useLoadedData}from"./useLoadedData.js";export{default as usePadSelectorSelectedWells}from"./usePadSelectorSelectedWells.js";export{useAppCommentsMode,useSetAppCommentsMode}from"../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"react/jsx-runtime";import"react";export{useAppCommons}from"../componentsV2/AppCommonsProvider/AppCommonsContext.js";export{useGlobalOffsetWellsSync}from"./useGlobalOffsetWellsSync.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export function useGlobalOffsetWellsSync(offsetSettings: any, onChange: any, maxOffsetWellNumber: any, subjectWellAssetId: any): void;
2
+ //# sourceMappingURL=useGlobalOffsetWellsSync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGlobalOffsetWellsSync.d.ts","sourceRoot":"","sources":["../../src/effects/useGlobalOffsetWellsSync.js"],"names":[],"mappings":"AAIO,sIA8BN"}
@@ -0,0 +1,2 @@
1
+ import t from"@babel/runtime/helpers/defineProperty";import{useRef as r,useEffect as o}from"react";import"../clients/subscriptions/constants.js";import"@babel/runtime/helpers/slicedToArray";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"lodash";import"../clients/subscriptions.v1.js";import"../clients/jsonApi/index.js";import"../clients/subscriptions/subscriptions-client.factory.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"../components/GradientManager/configuration/constants.js";import"../utils/index.js";import"uuid";import"jsona";import"../utils/env.js";import"../components/StatusBadge/constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../clients/api/apiCore.js";import"../clients/constants.js";import"../clients/sso/auth0.js";import"../clients/sso/oauth2.js";import"lodash/isEmpty";import"lodash/sortBy";import"../constants/streamSourceType.js";import"../components/DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"react/jsx-runtime";import{useAppCommons as s}from"../componentsV2/AppCommonsProvider/AppCommonsContext.js";function e(t,r){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);r&&(s=s.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),o.push.apply(o,s)}return o}function n(r){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?e(Object(s),!0).forEach((function(o){t(r,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(s)):e(Object(s)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(s,t))}))}return r}var i=function(t,e,i,p){var c=s(),m=null==c?void 0:c.globalOffsetWells,a=null==c?void 0:c.globalOffsetWellsVersion,l=r();o((function(){if(m&&Array.isArray(m)&&void 0!==a)if(void 0!==l.current){if(l.current!==a){l.current=a;var r=m.filter((function(t){return t.id!==p})).slice(0,i),o=r.map((function(t){return t.id}));e(n(n({},t),{},{selectedWellIds:o}),r)}}else l.current=a}),[a,m])};export{i as useGlobalOffsetWellsSync};
2
+ //# sourceMappingURL=useGlobalOffsetWellsSync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGlobalOffsetWellsSync.js","sources":["../../src/effects/useGlobalOffsetWellsSync.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useAppCommons } from '~/effects';\n\nexport const useGlobalOffsetWellsSync = (\n offsetSettings,\n onChange,\n maxOffsetWellNumber,\n subjectWellAssetId\n) => {\n const appCommons = useAppCommons();\n const globalOffsetWells = appCommons?.globalOffsetWells;\n const globalOffsetWellsVersion = appCommons?.globalOffsetWellsVersion;\n const prevVersionRef = useRef();\n\n useEffect(() => {\n if (!globalOffsetWells || !Array.isArray(globalOffsetWells)) return;\n if (globalOffsetWellsVersion === undefined) return;\n\n if (prevVersionRef.current === undefined) {\n prevVersionRef.current = globalOffsetWellsVersion;\n return;\n }\n\n if (prevVersionRef.current === globalOffsetWellsVersion) return;\n prevVersionRef.current = globalOffsetWellsVersion;\n const globalOffsetWellsTrimmed = globalOffsetWells\n .filter(well => well.id !== subjectWellAssetId)\n .slice(0, maxOffsetWellNumber);\n\n const currentIds = globalOffsetWellsTrimmed.map(w => w.id);\n\n onChange({ ...offsetSettings, selectedWellIds: currentIds }, globalOffsetWellsTrimmed);\n }, [globalOffsetWellsVersion, globalOffsetWells]);\n};\n"],"names":["useGlobalOffsetWellsSync","offsetSettings","onChange","maxOffsetWellNumber","subjectWellAssetId","appCommons","useAppCommons","globalOffsetWells","globalOffsetWellsVersion","prevVersionRef","useRef","useEffect","Array","isArray","undefined","current","globalOffsetWellsTrimmed","filter","well","id","slice","currentIds","map","w","selectedWellIds"],"mappings":"smEAIaA,IAAAA,EAA2B,SACtCC,EACAC,EACAC,EACAC,GAEA,IAAMC,EAAaC,IACbC,EAAoBF,aAAAA,EAAAA,EAAYE,kBAChCC,EAA2BH,aAAAA,EAAAA,EAAYG,yBACvCC,EAAiBC,IAEvBC,GAAU,WACR,GAAKJ,GAAsBK,MAAMC,QAAQN,SACRO,IAA7BN,EAEJ,QAA+BM,IAA3BL,EAAeM,SAKnB,GAAIN,EAAeM,UAAYP,EAA/B,CACAC,EAAeM,QAAUP,EACzB,IAAMQ,EAA2BT,EAC9BU,QAAO,SAAAC,GAAI,OAAIA,EAAKC,KAAOf,CAAkB,IAC7CgB,MAAM,EAAGjB,GAENkB,EAAaL,EAAyBM,KAAI,SAAAC,GAAC,OAAIA,EAAEJ,MAEvDjB,SAAcD,GAAc,CAAA,EAAA,CAAEuB,gBAAiBH,IAAcL,EARJ,OAJvDP,EAAeM,QAAUP,CAa7B,GAAG,CAACA,EAA0BD,GAChC"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.31.0-4",
3
+ "version": "3.31.0-6",
4
+ "license": "SEE LICENSE IN LICENSE",
4
5
  "description": "Shared components/utils for Corva ui projects",
5
6
  "keywords": [
6
7
  "corva-ui"
@@ -1,2 +0,0 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),r=require("react");require("../../../clients/subscriptions/constants.js"),require("@babel/runtime/helpers/slicedToArray"),require("@babel/runtime/helpers/asyncToGenerator"),require("@babel/runtime/regenerator"),require("querystring"),require("uuid/v1"),require("lodash"),require("../../../clients/subscriptions.v1.js"),require("../../../clients/jsonApi/index.js"),require("../../../clients/subscriptions/subscriptions-client.factory.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("../../../utils/index.js"),require("uuid"),require("jsona"),require("../../../utils/env.js"),require("../../StatusBadge/constants.js"),require("@babel/runtime/helpers/toConsumableArray"),require("lodash/set"),require("lodash/get"),require("lodash/unset"),require("moment"),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("../../../constants/streamSourceType.js"),require("../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js"),require("react/jsx-runtime");var t=require("../../../componentsV2/AppCommonsProvider/AppCommonsContext.js");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var n=s(e);function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);r&&(s=s.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,s)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){n.default(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}exports.useGlobalOffsetWellsSync=function(e,s,n){var i=t.useAppCommons(),u=null==i?void 0:i.globalOffsetWells,a=null==i?void 0:i.globalOffsetWellsVersion,c=r.useRef();r.useEffect((function(){if(u&&Array.isArray(u)&&void 0!==a)if(void 0!==c.current){if(c.current!==a){c.current=a;var r=u.slice(0,n),t=r.map((function(e){return e.id}));s(o(o({},e),{},{selectedWellIds:t}),r)}}else c.current=a}),[a,u])};
2
- //# sourceMappingURL=useGlobalOffsetWellsSync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGlobalOffsetWellsSync.js","sources":["../../../../../src/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useAppCommons } from '~/effects';\n\nexport const useGlobalOffsetWellsSync = (offsetSettings, onChange, maxOffsetWellNumber) => {\n const appCommons = useAppCommons();\n const globalOffsetWells = appCommons?.globalOffsetWells;\n const globalOffsetWellsVersion = appCommons?.globalOffsetWellsVersion;\n const prevVersionRef = useRef();\n\n useEffect(() => {\n if (!globalOffsetWells || !Array.isArray(globalOffsetWells)) return;\n if (globalOffsetWellsVersion === undefined) return;\n\n if (prevVersionRef.current === undefined) {\n prevVersionRef.current = globalOffsetWellsVersion;\n return;\n }\n\n if (prevVersionRef.current === globalOffsetWellsVersion) return;\n prevVersionRef.current = globalOffsetWellsVersion;\n const globalOffsetWellsTrimmed = globalOffsetWells.slice(0, maxOffsetWellNumber);\n const currentIds = globalOffsetWellsTrimmed.map(w => w.id);\n onChange({ ...offsetSettings, selectedWellIds: currentIds }, globalOffsetWellsTrimmed);\n }, [globalOffsetWellsVersion, globalOffsetWells]);\n};\n"],"names":["offsetSettings","onChange","maxOffsetWellNumber","appCommons","useAppCommons","globalOffsetWells","globalOffsetWellsVersion","prevVersionRef","useRef","useEffect","Array","isArray","undefined","current","globalOffsetWellsTrimmed","slice","currentIds","map","w","id","selectedWellIds"],"mappings":"2+EAIwC,SAACA,EAAgBC,EAAUC,GACjE,IAAMC,EAAaC,EAAAA,gBACbC,EAAoBF,aAAAA,EAAAA,EAAYE,kBAChCC,EAA2BH,aAAAA,EAAAA,EAAYG,yBACvCC,EAAiBC,EAAAA,SAEvBC,EAAAA,WAAU,WACR,GAAKJ,GAAsBK,MAAMC,QAAQN,SACRO,IAA7BN,EAEJ,QAA+BM,IAA3BL,EAAeM,SAKnB,GAAIN,EAAeM,UAAYP,EAA/B,CACAC,EAAeM,QAAUP,EACzB,IAAMQ,EAA2BT,EAAkBU,MAAM,EAAGb,GACtDc,EAAaF,EAAyBG,KAAI,SAAAC,GAAC,OAAIA,EAAEC,MACvDlB,SAAcD,GAAc,CAAA,EAAA,CAAEoB,gBAAiBJ,IAAcF,EAJJ,OAJvDP,EAAeM,QAAUP,CAS7B,GAAG,CAACA,EAA0BD,GAChC"}
@@ -1,2 +0,0 @@
1
- export function useGlobalOffsetWellsSync(offsetSettings: any, onChange: any, maxOffsetWellNumber: any): void;
2
- //# sourceMappingURL=useGlobalOffsetWellsSync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGlobalOffsetWellsSync.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js"],"names":[],"mappings":"AAIO,6GAqBN"}
@@ -1,2 +0,0 @@
1
- import t from"@babel/runtime/helpers/defineProperty";import{useRef as r,useEffect as o}from"react";import"../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/slicedToArray";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"lodash";import"../../../clients/subscriptions.v1.js";import"../../../clients/jsonApi/index.js";import"../../../clients/subscriptions/subscriptions-client.factory.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"../../../utils/index.js";import"uuid";import"jsona";import"../../../utils/env.js";import"../../StatusBadge/constants.js";import"@babel/runtime/helpers/toConsumableArray";import"lodash/set";import"lodash/get";import"lodash/unset";import"moment";import"../../../clients/api/apiCore.js";import"../../../clients/constants.js";import"../../../clients/sso/auth0.js";import"../../../clients/sso/oauth2.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../constants/streamSourceType.js";import"../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"react/jsx-runtime";import{useAppCommons as s}from"../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";function e(t,r){var o=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);r&&(s=s.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),o.push.apply(o,s)}return o}function n(r){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?e(Object(s),!0).forEach((function(o){t(r,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(s)):e(Object(s)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(s,t))}))}return r}var i=function(t,e,i){var p=s(),a=null==p?void 0:p.globalOffsetWells,c=null==p?void 0:p.globalOffsetWellsVersion,m=r();o((function(){if(a&&Array.isArray(a)&&void 0!==c)if(void 0!==m.current){if(m.current!==c){m.current=c;var r=a.slice(0,i),o=r.map((function(t){return t.id}));e(n(n({},t),{},{selectedWellIds:o}),r)}}else m.current=c}),[c,a])};export{i as useGlobalOffsetWellsSync};
2
- //# sourceMappingURL=useGlobalOffsetWellsSync.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGlobalOffsetWellsSync.js","sources":["../../../../src/components/OffsetWellPickerV4/effects/useGlobalOffsetWellsSync.js"],"sourcesContent":["import { useEffect, useRef } from 'react';\n\nimport { useAppCommons } from '~/effects';\n\nexport const useGlobalOffsetWellsSync = (offsetSettings, onChange, maxOffsetWellNumber) => {\n const appCommons = useAppCommons();\n const globalOffsetWells = appCommons?.globalOffsetWells;\n const globalOffsetWellsVersion = appCommons?.globalOffsetWellsVersion;\n const prevVersionRef = useRef();\n\n useEffect(() => {\n if (!globalOffsetWells || !Array.isArray(globalOffsetWells)) return;\n if (globalOffsetWellsVersion === undefined) return;\n\n if (prevVersionRef.current === undefined) {\n prevVersionRef.current = globalOffsetWellsVersion;\n return;\n }\n\n if (prevVersionRef.current === globalOffsetWellsVersion) return;\n prevVersionRef.current = globalOffsetWellsVersion;\n const globalOffsetWellsTrimmed = globalOffsetWells.slice(0, maxOffsetWellNumber);\n const currentIds = globalOffsetWellsTrimmed.map(w => w.id);\n onChange({ ...offsetSettings, selectedWellIds: currentIds }, globalOffsetWellsTrimmed);\n }, [globalOffsetWellsVersion, globalOffsetWells]);\n};\n"],"names":["useGlobalOffsetWellsSync","offsetSettings","onChange","maxOffsetWellNumber","appCommons","useAppCommons","globalOffsetWells","globalOffsetWellsVersion","prevVersionRef","useRef","useEffect","Array","isArray","undefined","current","globalOffsetWellsTrimmed","slice","currentIds","map","w","id","selectedWellIds"],"mappings":"wtEAIO,IAAMA,EAA2B,SAACC,EAAgBC,EAAUC,GACjE,IAAMC,EAAaC,IACbC,EAAoBF,aAAAA,EAAAA,EAAYE,kBAChCC,EAA2BH,aAAAA,EAAAA,EAAYG,yBACvCC,EAAiBC,IAEvBC,GAAU,WACR,GAAKJ,GAAsBK,MAAMC,QAAQN,SACRO,IAA7BN,EAEJ,QAA+BM,IAA3BL,EAAeM,SAKnB,GAAIN,EAAeM,UAAYP,EAA/B,CACAC,EAAeM,QAAUP,EACzB,IAAMQ,EAA2BT,EAAkBU,MAAM,EAAGb,GACtDc,EAAaF,EAAyBG,KAAI,SAAAC,GAAC,OAAIA,EAAEC,MACvDlB,SAAcD,GAAc,CAAA,EAAA,CAAEoB,gBAAiBJ,IAAcF,EAJJ,OAJvDP,EAAeM,QAAUP,CAS7B,GAAG,CAACA,EAA0BD,GAChC"}