@corva/ui 3.75.0-7 → 3.75.0-9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js.map +1 -0
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/constants.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/constants.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useSortedWells.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/hooks/useSortedWells.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/doesWellPassFilters.js.map +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/utils/sortWellsBy.js +2 -0
- package/cjs-bundle/components/OffsetWellPickerV5/utils/sortWellsBy.js.map +1 -0
- package/cjs-bundle/permissions/useProvidePermissions.js +1 -1
- package/cjs-bundle/permissions/useProvidePermissions.js.map +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js +1 -1
- package/components/OffsetWellPickerV5/components/Filter/Filter.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.d.ts +12 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js +2 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/DateCell.js.map +1 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/DateCell/index.d.ts +2 -0
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/{LastActiveCell → DateCell}/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/index.d.ts +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/index.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableHead/OffsetWellsTableHead.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/OffsetWellsTableRow/OffsetWellsTableRow.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts +2 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js +1 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.js.map +1 -1
- package/components/OffsetWellPickerV5/constants.d.ts +10 -3
- package/components/OffsetWellPickerV5/constants.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/constants.js +1 -1
- package/components/OffsetWellPickerV5/constants.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js +1 -1
- package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useSortedWells.d.ts +1 -4
- package/components/OffsetWellPickerV5/hooks/useSortedWells.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/hooks/useSortedWells.js +1 -1
- package/components/OffsetWellPickerV5/hooks/useSortedWells.js.map +1 -1
- package/components/OffsetWellPickerV5/utils/__tests__/sortWellsBy.test.d.ts +2 -0
- package/components/OffsetWellPickerV5/utils/__tests__/sortWellsBy.test.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts +0 -1
- package/components/OffsetWellPickerV5/utils/doesWellPassFilters.d.ts.map +1 -1
- package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js +1 -1
- package/components/OffsetWellPickerV5/utils/doesWellPassFilters.js.map +1 -1
- package/components/OffsetWellPickerV5/utils/sortWellsBy.d.ts +22 -0
- package/components/OffsetWellPickerV5/utils/sortWellsBy.d.ts.map +1 -0
- package/components/OffsetWellPickerV5/utils/sortWellsBy.js +2 -0
- package/components/OffsetWellPickerV5/utils/sortWellsBy.js.map +1 -0
- package/mcp-server/server.mjs +1 -1
- package/package.json +1 -1
- package/permissions/useProvidePermissions.d.ts.map +1 -1
- package/permissions/useProvidePermissions.js +1 -1
- package/permissions/useProvidePermissions.js.map +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js +0 -2
- package/cjs-bundle/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js.map +0 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.d.ts +0 -10
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.d.ts.map +0 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js +0 -2
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/LastActiveCell.js.map +0 -1
- package/components/OffsetWellPickerV5/components/OffsetWellsTable/cells/LastActiveCell/index.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonTableRow.js","sources":["../../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.tsx"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableCell, TableRow } from '@material-ui/core';\n\nimport { ColumnType, EXPANDED_WELL_NAME_WIDTH } from '../../../../constants';\nimport { useViewStore } from '../../../../stores/view-store/useViewStore';\nimport { useViewType } from '../../../../viewport';\n\nimport styles from './SkeletonTableRow.module.css';\n\nimport { Skeleton } from '~/componentsV2/Skeleton';\n\ntype ColumnConfig = {\n key: string;\n flex: number;\n minWidth: number;\n};\n\ntype SkeletonTableRowProps = {\n columnsWithDict: ColumnConfig[];\n metricsKeys: string[];\n hasCompanyColumn: boolean;\n hasTaColumn: boolean;\n isWellSectionColumnVisible: boolean;\n wellNameStyle: string;\n};\n\nconst SkeletonTableRowComponent = ({\n columnsWithDict,\n metricsKeys,\n hasCompanyColumn,\n hasTaColumn,\n isWellSectionColumnVisible,\n wellNameStyle,\n}: SkeletonTableRowProps) => {\n const isWellNameExpand = useViewStore(state => state.isWellNameExpand);\n const dense = useViewStore(state => state.dense);\n const { isMobile } = useViewType();\n const isDense = dense && !isMobile;\n\n const columnsMap = useMemo(\n () => new Map(columnsWithDict?.map(col => [col.key, col]) || []),\n [columnsWithDict]\n );\n\n const hasRigColumn = columnsMap.has(ColumnType.rig);\n const hasDistanceColumn = columnsMap.has(ColumnType.distance);\n const hasInterventionAssetColumn = columnsMap.has(ColumnType.interventionAsset);\n const hasPadNameColumn = columnsMap.has(ColumnType.padName);\n const hasFormationColumn = columnsMap.has(ColumnType.formation);\n\n const lastCellColumn = useMemo(() => {\n if (isWellSectionColumnVisible) return 'wellSection';\n if (metricsKeys.length > 0) return 'lastMetric';\n return 'lastActive';\n }, [isWellSectionColumnVisible, metricsKeys.length]);\n\n return (\n <TableRow className={classNames(styles.skeletonRow, { [styles.dense]: isDense })}>\n {/* Well Name Cell */}\n <TableCell\n data-expanded={isWellNameExpand || undefined}\n className={classNames(styles.skeletonCell, styles.wellNameCell, wellNameStyle)}\n style={\n isWellNameExpand\n ? { minWidth: EXPANDED_WELL_NAME_WIDTH, flex: 0 }\n : {\n minWidth: columnsMap.get(ColumnType.name)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.name)?.flex || 0,\n }\n }\n >\n <div className={styles.checkboxSkeleton}>\n <Skeleton type=\"block\" width={13} height={13} className={styles.checkboxBlock} />\n </div>\n <div className={styles.wellNameTextWrapper}>\n <Skeleton type=\"text\" width=\"70%\" height={16} />\n </div>\n </TableCell>\n\n {/* Status Cell */}\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.status)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.status)?.flex || 0,\n }}\n >\n <div className={styles.statusSkeleton}>\n <Skeleton type=\"circle\" width={8} height={8} />\n </div>\n </TableCell>\n\n {/* Company Cell (optional) */}\n {hasCompanyColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.company)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.company)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"60%\" height={16} />\n </TableCell>\n )}\n\n {hasInterventionAssetColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.interventionAsset)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.interventionAsset)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"55%\" height={16} />\n </TableCell>\n )}\n\n {hasPadNameColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.padName)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.padName)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"50%\" height={16} />\n </TableCell>\n )}\n\n {hasFormationColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.formation)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.formation)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"55%\" height={16} />\n </TableCell>\n )}\n\n {hasRigColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.rig)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.rig)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"50%\" height={16} />\n </TableCell>\n )}\n\n {hasDistanceColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.distance)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.distance)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={40} height={16} />\n </TableCell>\n )}\n\n {/* TA Score Cell (optional) */}\n {hasTaColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.taScore)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.taScore)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={30} height={16} />\n </TableCell>\n )}\n\n {/* Last Active Cell */}\n <TableCell\n className={classNames(styles.skeletonCell, {\n [styles.lastCell]: lastCellColumn === 'lastActive',\n })}\n style={{\n minWidth: columnsMap.get(ColumnType.lastActive)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.lastActive)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={70} height={16} />\n </TableCell>\n\n {/* Metrics Cells */}\n {metricsKeys.map((metricKey, index) => (\n <TableCell\n key={metricKey}\n className={classNames(styles.skeletonCell, {\n [styles.lastCell]: lastCellColumn === 'lastMetric' && index === metricsKeys.length - 1,\n })}\n style={{\n minWidth: columnsMap.get(metricKey)?.minWidth || 0,\n flex: columnsMap.get(metricKey)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={50} height={16} />\n </TableCell>\n ))}\n\n {/* Well Section Cell (optional) */}\n {isWellSectionColumnVisible && (\n <TableCell\n className={classNames(styles.skeletonCell, styles.lastCell)}\n style={{\n minWidth: columnsMap.get(ColumnType.wellSection)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.wellSection)?.flex || 0,\n }}\n >\n <Skeleton type=\"block\" width={20} height={16} className={styles.wellSectionChip} />\n </TableCell>\n )}\n </TableRow>\n );\n};\n\nexport const SkeletonTableRow = memo(SkeletonTableRowComponent);\n"],"names":["SkeletonTableRow","memo","_ref","_columnsMap$get","_columnsMap$get2","_columnsMap$get3","_columnsMap$get4","_columnsMap$get5","_columnsMap$get6","_columnsMap$get7","_columnsMap$get8","_columnsMap$get9","_columnsMap$get10","_columnsMap$get11","_columnsMap$get12","_columnsMap$get13","_columnsMap$get14","_columnsMap$get15","_columnsMap$get16","_columnsMap$get17","_columnsMap$get18","_columnsMap$get19","_columnsMap$get20","_columnsMap$get23","_columnsMap$get24","columnsWithDict","metricsKeys","hasCompanyColumn","hasTaColumn","isWellSectionColumnVisible","wellNameStyle","isWellNameExpand","useViewStore","state","dense","isMobile","useViewType","isDense","columnsMap","useMemo","Map","map","col","key","hasRigColumn","has","ColumnType","rig","hasDistanceColumn","distance","hasInterventionAssetColumn","interventionAsset","hasPadNameColumn","padName","hasFormationColumn","formation","lastCellColumn","length","_jsxs","TableRow","className","classNames","styles","skeletonRow","children","TableCell","undefined","skeletonCell","wellNameCell","style","minWidth","EXPANDED_WELL_NAME_WIDTH","flex","get","name","_jsx","checkboxSkeleton","Skeleton","type","width","height","checkboxBlock","wellNameTextWrapper","status","statusSkeleton","company","taScore","_defineProperty","lastCell","lastActive","metricKey","index","_columnsMap$get21","_columnsMap$get22","wellSection","wellSectionChip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SkeletonTableRow.js","sources":["../../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/components/SkeletonTableRow/SkeletonTableRow.tsx"],"sourcesContent":["import { memo, useMemo } from 'react';\nimport classNames from 'classnames';\nimport { TableCell, TableRow } from '@material-ui/core';\n\nimport { ColumnType, EXPANDED_WELL_NAME_WIDTH } from '../../../../constants';\nimport { useViewStore } from '../../../../stores/view-store/useViewStore';\nimport { useViewType } from '../../../../viewport';\n\nimport styles from './SkeletonTableRow.module.css';\n\nimport { Skeleton } from '~/componentsV2/Skeleton';\n\ntype ColumnConfig = {\n key: string;\n flex: number;\n minWidth: number;\n};\n\ntype SkeletonTableRowProps = {\n columnsWithDict: ColumnConfig[];\n metricsKeys: string[];\n hasCompanyColumn: boolean;\n hasTaColumn: boolean;\n isWellSectionColumnVisible: boolean;\n wellNameStyle: string;\n};\n\nconst SkeletonTableRowComponent = ({\n columnsWithDict,\n metricsKeys,\n hasCompanyColumn,\n hasTaColumn,\n isWellSectionColumnVisible,\n wellNameStyle,\n}: SkeletonTableRowProps) => {\n const isWellNameExpand = useViewStore(state => state.isWellNameExpand);\n const dense = useViewStore(state => state.dense);\n const { isMobile } = useViewType();\n const isDense = dense && !isMobile;\n\n const columnsMap = useMemo(\n () => new Map(columnsWithDict?.map(col => [col.key, col]) || []),\n [columnsWithDict]\n );\n\n const hasRigColumn = columnsMap.has(ColumnType.rig);\n const hasDistanceColumn = columnsMap.has(ColumnType.distance);\n const hasInterventionAssetColumn = columnsMap.has(ColumnType.interventionAsset);\n const hasPadNameColumn = columnsMap.has(ColumnType.padName);\n const hasFormationColumn = columnsMap.has(ColumnType.formation);\n const hasLastInterventionAtColumn = columnsMap.has(ColumnType.lastInterventionAt);\n\n const lastCellColumn = useMemo(() => {\n if (isWellSectionColumnVisible) return 'wellSection';\n if (metricsKeys.length > 0) return 'lastMetric';\n return hasLastInterventionAtColumn ? 'lastInterventionAt' : 'lastDrillingAt';\n }, [isWellSectionColumnVisible, metricsKeys.length, hasLastInterventionAtColumn]);\n\n return (\n <TableRow className={classNames(styles.skeletonRow, { [styles.dense]: isDense })}>\n {/* Well Name Cell */}\n <TableCell\n data-expanded={isWellNameExpand || undefined}\n className={classNames(styles.skeletonCell, styles.wellNameCell, wellNameStyle)}\n style={\n isWellNameExpand\n ? { minWidth: EXPANDED_WELL_NAME_WIDTH, flex: 0 }\n : {\n minWidth: columnsMap.get(ColumnType.name)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.name)?.flex || 0,\n }\n }\n >\n <div className={styles.checkboxSkeleton}>\n <Skeleton type=\"block\" width={13} height={13} className={styles.checkboxBlock} />\n </div>\n <div className={styles.wellNameTextWrapper}>\n <Skeleton type=\"text\" width=\"70%\" height={16} />\n </div>\n </TableCell>\n\n {/* Status Cell */}\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.status)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.status)?.flex || 0,\n }}\n >\n <div className={styles.statusSkeleton}>\n <Skeleton type=\"circle\" width={8} height={8} />\n </div>\n </TableCell>\n\n {/* Company Cell (optional) */}\n {hasCompanyColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.company)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.company)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"60%\" height={16} />\n </TableCell>\n )}\n\n {hasInterventionAssetColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.interventionAsset)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.interventionAsset)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"55%\" height={16} />\n </TableCell>\n )}\n\n {hasPadNameColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.padName)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.padName)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"50%\" height={16} />\n </TableCell>\n )}\n\n {hasFormationColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.formation)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.formation)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"55%\" height={16} />\n </TableCell>\n )}\n\n {hasRigColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.rig)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.rig)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width=\"50%\" height={16} />\n </TableCell>\n )}\n\n {hasDistanceColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.distance)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.distance)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={40} height={16} />\n </TableCell>\n )}\n\n {/* TA Score Cell (optional) */}\n {hasTaColumn && (\n <TableCell\n className={styles.skeletonCell}\n style={{\n minWidth: columnsMap.get(ColumnType.taScore)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.taScore)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={30} height={16} />\n </TableCell>\n )}\n\n {/* Last Drilling At Cell */}\n <TableCell\n className={classNames(styles.skeletonCell, {\n [styles.lastCell]: lastCellColumn === 'lastDrillingAt',\n })}\n style={{\n minWidth: columnsMap.get(ColumnType.lastDrillingAt)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.lastDrillingAt)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={70} height={16} />\n </TableCell>\n\n {/* Last Intervention At Cell */}\n {hasLastInterventionAtColumn && (\n <TableCell\n className={classNames(styles.skeletonCell, {\n [styles.lastCell]: lastCellColumn === 'lastInterventionAt',\n })}\n style={{\n minWidth: columnsMap.get(ColumnType.lastInterventionAt)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.lastInterventionAt)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={70} height={16} />\n </TableCell>\n )}\n\n {/* Metrics Cells */}\n {metricsKeys.map((metricKey, index) => (\n <TableCell\n key={metricKey}\n className={classNames(styles.skeletonCell, {\n [styles.lastCell]: lastCellColumn === 'lastMetric' && index === metricsKeys.length - 1,\n })}\n style={{\n minWidth: columnsMap.get(metricKey)?.minWidth || 0,\n flex: columnsMap.get(metricKey)?.flex || 0,\n }}\n >\n <Skeleton type=\"text\" width={50} height={16} />\n </TableCell>\n ))}\n\n {/* Well Section Cell (optional) */}\n {isWellSectionColumnVisible && (\n <TableCell\n className={classNames(styles.skeletonCell, styles.lastCell)}\n style={{\n minWidth: columnsMap.get(ColumnType.wellSection)?.minWidth || 0,\n flex: columnsMap.get(ColumnType.wellSection)?.flex || 0,\n }}\n >\n <Skeleton type=\"block\" width={20} height={16} className={styles.wellSectionChip} />\n </TableCell>\n )}\n </TableRow>\n );\n};\n\nexport const SkeletonTableRow = memo(SkeletonTableRowComponent);\n"],"names":["SkeletonTableRow","memo","_ref","_columnsMap$get","_columnsMap$get2","_columnsMap$get3","_columnsMap$get4","_columnsMap$get5","_columnsMap$get6","_columnsMap$get7","_columnsMap$get8","_columnsMap$get9","_columnsMap$get10","_columnsMap$get11","_columnsMap$get12","_columnsMap$get13","_columnsMap$get14","_columnsMap$get15","_columnsMap$get16","_columnsMap$get17","_columnsMap$get18","_columnsMap$get19","_columnsMap$get20","_columnsMap$get21","_columnsMap$get22","_columnsMap$get25","_columnsMap$get26","columnsWithDict","metricsKeys","hasCompanyColumn","hasTaColumn","isWellSectionColumnVisible","wellNameStyle","isWellNameExpand","useViewStore","state","dense","isMobile","useViewType","isDense","columnsMap","useMemo","Map","map","col","key","hasRigColumn","has","ColumnType","rig","hasDistanceColumn","distance","hasInterventionAssetColumn","interventionAsset","hasPadNameColumn","padName","hasFormationColumn","formation","hasLastInterventionAtColumn","lastInterventionAt","lastCellColumn","length","_jsxs","TableRow","className","classNames","styles","skeletonRow","children","TableCell","undefined","skeletonCell","wellNameCell","style","minWidth","EXPANDED_WELL_NAME_WIDTH","flex","get","name","_jsx","checkboxSkeleton","Skeleton","type","width","height","checkboxBlock","wellNameTextWrapper","status","statusSkeleton","company","taScore","_defineProperty","lastCell","lastDrillingAt","metricKey","index","_columnsMap$get23","_columnsMap$get24","wellSection","wellSectionChip"],"mappings":"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"}
|
package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableColumns.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.ts"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;
|
|
1
|
+
{"version":3,"file":"useTableColumns.d.ts","sourceRoot":"","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.ts"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAeF,eAAO,MAAM,eAAe,gBACb,MAAM,EAAE,GAAG,SAAS,0GAIhC,cAAc,EAAE,GAAG,IA4CrB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/toConsumableArray";import{useMemo as r}from"react";import{TableColumns as n,ColumnType as o}from"../../../constants.js";import{usePickerPropsStore as i}from"../../../stores/picker-props-store/usePickerPropsStore.js";function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?c(Object(n),!0).forEach((function(r){e(t,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var u=new Set([o.rig,o.distance,o.taScore]),p=new Set([o.interventionAsset,o.padName,o.formation]),s=function(e){var c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],l=i((function(e){return e.segment}));return r((function(){if(!e)return null;var r=Math.min(e.length,3),i="intervention"===l,m=c?n:n.filter((function(e){return e.type!==o.company}));return s||(m=m.filter((function(e){return e.type!==o.wellSection}))),a||(m=m.filter((function(e){return e.type!==o.distance}))),(m=i?m.filter((function(e){return!u.has(e.type)})):m.filter((function(e){return!p.has(e.type)}))).reduce((function(n,i){return i.type===o.metrics?[].concat(t(n),t(e.map((function(e){return f(f({},i),{},{key:e,minWidth:i.minWidth[r],flex:i.flex})})))):[].concat(t(n),[f(f({},i),{},{minWidth:i.minWidth[r],flex:i.flex})])}),[])}),[e,c,s,a,l])};export{s as useTableColumns};
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/toConsumableArray";import{useMemo as r}from"react";import{TableColumns as n,ColumnType as o}from"../../../constants.js";import{usePickerPropsStore as i}from"../../../stores/picker-props-store/usePickerPropsStore.js";function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function f(t){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?c(Object(n),!0).forEach((function(r){e(t,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):c(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}var u=new Set([o.rig,o.distance,o.taScore]),p=new Set([o.interventionAsset,o.padName,o.formation,o.lastInterventionAt]),s=function(e){var c=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],l=i((function(e){return e.segment}));return r((function(){if(!e)return null;var r=Math.min(e.length,3),i="intervention"===l,m=c?n:n.filter((function(e){return e.type!==o.company}));return s||(m=m.filter((function(e){return e.type!==o.wellSection}))),a||(m=m.filter((function(e){return e.type!==o.distance}))),(m=i?m.filter((function(e){return!u.has(e.type)})):m.filter((function(e){return!p.has(e.type)}))).reduce((function(n,i){return i.type===o.metrics?[].concat(t(n),t(e.map((function(e){return f(f({},i),{},{key:e,minWidth:i.minWidth[r],flex:i.flex})})))):[].concat(t(n),[f(f({},i),{},{minWidth:i.minWidth[r],flex:i.flex})])}),[])}),[e,c,s,a,l])};export{s as useTableColumns};
|
|
2
2
|
//# sourceMappingURL=useTableColumns.js.map
|
package/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTableColumns.js","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { ColumnType, TableColumns } from '../../../constants';\nimport { usePickerPropsStore } from '../../../stores/picker-props-store/usePickerPropsStore';\n\ntype ResolvedColumn = {\n type: string;\n label: string;\n key: string;\n minWidth: number;\n flex: number;\n};\n\nconst DRILLING_ONLY_COLUMNS: Set<string> = new Set([\n ColumnType.rig,\n ColumnType.distance,\n ColumnType.taScore,\n]);\n\nconst INTERVENTION_ONLY_COLUMNS: Set<string> = new Set([\n ColumnType.interventionAsset,\n ColumnType.padName,\n ColumnType.formation,\n]);\n\nexport const useTableColumns = (\n metricsKeys: string[] | undefined,\n canViewCompanies = true,\n isWellSectionColumnVisible = true,\n isDistanceColumnVisible = true\n): ResolvedColumn[] | null => {\n const segment = usePickerPropsStore(state => state.segment);\n\n return useMemo(() => {\n if (!metricsKeys) return null;\n\n const wIndex = Math.min(metricsKeys.length, 3);\n const isIntervention = segment === 'intervention';\n\n let availableColumns = canViewCompanies\n ? TableColumns\n : TableColumns.filter(column => column.type !== ColumnType.company);\n\n if (!isWellSectionColumnVisible) {\n availableColumns = availableColumns.filter(column => column.type !== ColumnType.wellSection);\n }\n\n if (!isDistanceColumnVisible) {\n availableColumns = availableColumns.filter(column => column.type !== ColumnType.distance);\n }\n\n if (isIntervention) {\n availableColumns = availableColumns.filter(column => !DRILLING_ONLY_COLUMNS.has(column.type));\n } else {\n availableColumns = availableColumns.filter(\n column => !INTERVENTION_ONLY_COLUMNS.has(column.type)\n );\n }\n\n return availableColumns.reduce<ResolvedColumn[]>((acc, column) => {\n if (column.type === ColumnType.metrics) {\n return [\n ...acc,\n ...metricsKeys.map(key => ({\n ...column,\n key,\n minWidth: column.minWidth[wIndex],\n flex: column.flex,\n })),\n ];\n }\n return [...acc, { ...column, minWidth: column.minWidth[wIndex], flex: column.flex }];\n }, []);\n }, [metricsKeys, canViewCompanies, isWellSectionColumnVisible, isDistanceColumnVisible, segment]);\n};\n"],"names":["DRILLING_ONLY_COLUMNS","Set","ColumnType","rig","distance","taScore","INTERVENTION_ONLY_COLUMNS","interventionAsset","padName","formation","useTableColumns","metricsKeys","canViewCompanies","isWellSectionColumnVisible","isDistanceColumnVisible","segment","usePickerPropsStore","state","useMemo","wIndex","Math","min","length","isIntervention","availableColumns","TableColumns","filter","column","type","company","wellSection","has","reduce","acc","metrics","concat","_toConsumableArray","map","key","_objectSpread","minWidth","flex"],"mappings":"i3BAaA,IAAMA,EAAqC,IAAIC,IAAI,CACjDC,EAAWC,IACXD,EAAWE,SACXF,EAAWG,UAGPC,EAAyC,IAAIL,IAAI,CACrDC,EAAWK,kBACXL,EAAWM,QACXN,EAAWO,
|
|
1
|
+
{"version":3,"file":"useTableColumns.js","sources":["../../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/hooks/useTableColumns.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { ColumnType, TableColumns } from '../../../constants';\nimport { usePickerPropsStore } from '../../../stores/picker-props-store/usePickerPropsStore';\n\ntype ResolvedColumn = {\n type: string;\n label: string;\n key: string;\n minWidth: number;\n flex: number;\n};\n\nconst DRILLING_ONLY_COLUMNS: Set<string> = new Set([\n ColumnType.rig,\n ColumnType.distance,\n ColumnType.taScore,\n]);\n\nconst INTERVENTION_ONLY_COLUMNS: Set<string> = new Set([\n ColumnType.interventionAsset,\n ColumnType.padName,\n ColumnType.formation,\n ColumnType.lastInterventionAt,\n]);\n\nexport const useTableColumns = (\n metricsKeys: string[] | undefined,\n canViewCompanies = true,\n isWellSectionColumnVisible = true,\n isDistanceColumnVisible = true\n): ResolvedColumn[] | null => {\n const segment = usePickerPropsStore(state => state.segment);\n\n return useMemo(() => {\n if (!metricsKeys) return null;\n\n const wIndex = Math.min(metricsKeys.length, 3);\n const isIntervention = segment === 'intervention';\n\n let availableColumns = canViewCompanies\n ? TableColumns\n : TableColumns.filter(column => column.type !== ColumnType.company);\n\n if (!isWellSectionColumnVisible) {\n availableColumns = availableColumns.filter(column => column.type !== ColumnType.wellSection);\n }\n\n if (!isDistanceColumnVisible) {\n availableColumns = availableColumns.filter(column => column.type !== ColumnType.distance);\n }\n\n if (isIntervention) {\n availableColumns = availableColumns.filter(column => !DRILLING_ONLY_COLUMNS.has(column.type));\n } else {\n availableColumns = availableColumns.filter(\n column => !INTERVENTION_ONLY_COLUMNS.has(column.type)\n );\n }\n\n return availableColumns.reduce<ResolvedColumn[]>((acc, column) => {\n if (column.type === ColumnType.metrics) {\n return [\n ...acc,\n ...metricsKeys.map(key => ({\n ...column,\n key,\n minWidth: column.minWidth[wIndex],\n flex: column.flex,\n })),\n ];\n }\n return [...acc, { ...column, minWidth: column.minWidth[wIndex], flex: column.flex }];\n }, []);\n }, [metricsKeys, canViewCompanies, isWellSectionColumnVisible, isDistanceColumnVisible, segment]);\n};\n"],"names":["DRILLING_ONLY_COLUMNS","Set","ColumnType","rig","distance","taScore","INTERVENTION_ONLY_COLUMNS","interventionAsset","padName","formation","lastInterventionAt","useTableColumns","metricsKeys","canViewCompanies","isWellSectionColumnVisible","isDistanceColumnVisible","segment","usePickerPropsStore","state","useMemo","wIndex","Math","min","length","isIntervention","availableColumns","TableColumns","filter","column","type","company","wellSection","has","reduce","acc","metrics","concat","_toConsumableArray","map","key","_objectSpread","minWidth","flex"],"mappings":"i3BAaA,IAAMA,EAAqC,IAAIC,IAAI,CACjDC,EAAWC,IACXD,EAAWE,SACXF,EAAWG,UAGPC,EAAyC,IAAIL,IAAI,CACrDC,EAAWK,kBACXL,EAAWM,QACXN,EAAWO,UACXP,EAAWQ,qBAGAC,EAAkB,SAC7BC,GAI4B,IAH5BC,6DACAC,6DACAC,6DAEMC,EAAUC,GAAoB,SAAAC,GAAK,OAAIA,EAAMF,WAEnD,OAAOG,GAAQ,WACb,IAAKP,EAAa,OAAO,KAEzB,IAAMQ,EAASC,KAAKC,IAAIV,EAAYW,OAAQ,GACtCC,EAA6B,iBAAZR,EAEnBS,EAAmBZ,EACnBa,EACAA,EAAaC,QAAO,SAAAC,GAAM,OAAIA,EAAOC,OAAS3B,EAAW4B,WAkB7D,OAhBKhB,IACHW,EAAmBA,EAAiBE,QAAO,SAAAC,GAAM,OAAIA,EAAOC,OAAS3B,EAAW6B,gBAG7EhB,IACHU,EAAmBA,EAAiBE,QAAO,SAAAC,GAAM,OAAIA,EAAOC,OAAS3B,EAAWE,cAIhFqB,EADED,EACiBC,EAAiBE,QAAO,SAAAC,GAAM,OAAK5B,EAAsBgC,IAAIJ,EAAOC,SAEpEJ,EAAiBE,QAClC,SAAAC,GAAM,OAAKtB,EAA0B0B,IAAIJ,EAAOC,UAI5BI,QAAyB,SAACC,EAAKN,GACrD,OAAIA,EAAOC,OAAS3B,EAAWiC,QAC7B,GAAAC,OAAAC,EACKH,GACAtB,EAAAA,EAAY0B,KAAI,SAAAC,GAAG,OAAAC,EAAAA,EAAA,CAAA,EACjBZ,GAAM,CAAA,EAAA,CACTW,IAAAA,EACAE,SAAUb,EAAOa,SAASrB,GAC1BsB,KAAMd,EAAOc,MACb,MAGKR,GAAAA,OAAAA,EAAAA,WAAUN,GAAM,CAAA,EAAA,CAAEa,SAAUb,EAAOa,SAASrB,GAASsB,KAAMd,EAAOc,QAC9E,GAAE,GACL,GAAG,CAAC9B,EAAaC,EAAkBC,EAA4BC,EAAyBC,GAC1F"}
|
|
@@ -11,12 +11,13 @@ type UseRowInteractionsParams = {
|
|
|
11
11
|
maxOffsetWellNumber: number;
|
|
12
12
|
metricsKeys: string[];
|
|
13
13
|
isWellSectionColumnVisible: boolean;
|
|
14
|
+
hasLastInterventionAtColumn: boolean;
|
|
14
15
|
handleChangeOffsetWell: (well: WellData, checked: boolean) => void;
|
|
15
16
|
setActiveWellId: (id: number | null) => void;
|
|
16
17
|
onRowClick: (id: number) => void;
|
|
17
18
|
registerRow: (wellId: number, node: HTMLElement | null) => void;
|
|
18
19
|
};
|
|
19
|
-
export declare const useRowInteractions: ({ data, isLimitedOffsetWells, maxOffsetWellNumber, metricsKeys, isWellSectionColumnVisible, handleChangeOffsetWell, setActiveWellId, onRowClick, registerRow, }: UseRowInteractionsParams) => {
|
|
20
|
+
export declare const useRowInteractions: ({ data, isLimitedOffsetWells, maxOffsetWellNumber, metricsKeys, isWellSectionColumnVisible, hasLastInterventionAtColumn, handleChangeOffsetWell, setActiveWellId, onRowClick, registerRow, }: UseRowInteractionsParams) => {
|
|
20
21
|
isViewOnly: boolean;
|
|
21
22
|
isMapHidden: boolean;
|
|
22
23
|
isChecked: boolean | undefined;
|
package/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowInteractions.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,0BAA0B,EAAE,OAAO,CAAC;IACpC,sBAAsB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"useRowInteractions.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,EAAE,QAAQ,CAAC;IACf,oBAAoB,EAAE,OAAO,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,0BAA0B,EAAE,OAAO,CAAC;IACpC,2BAA2B,EAAE,OAAO,CAAC;IACrC,sBAAsB,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,eAAe,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,eAAO,MAAM,kBAAkB,iMAW5B,wBAAwB;;;;mBAOhB,WAAW,GAAG,IAAI;oCAMY,OAAO;;;;;;CA2D/C,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useCallback as n,useEffect as i,useMemo as o}from"react";import{usePickerPropsStore as r}from"../../stores/picker-props-store/usePickerPropsStore.js";import{useViewStore as l}from"../../stores/view-store/useViewStore.js";var
|
|
1
|
+
import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useCallback as n,useEffect as i,useMemo as o}from"react";import{usePickerPropsStore as r}from"../../stores/picker-props-store/usePickerPropsStore.js";import{useViewStore as l}from"../../stores/view-store/useViewStore.js";var s=function(s){var c=s.data,u=s.isLimitedOffsetWells,a=s.maxOffsetWellNumber,f=s.metricsKeys,d=s.isWellSectionColumnVisible,h=s.hasLastInterventionAtColumn,m=s.handleChangeOffsetWell,p=s.setActiveWellId,k=s.onRowClick,w=s.registerRow,C=r((function(e){return e.isWDUser})),W=r((function(e){return e.isViewOnly})),v=l((function(e){return e.isMapHidden})),b=t(c.checked),O=e(b,2),g=O[0],A=O[1],x=n((function(e){w(c.id,e)}),[w,c.id]);i((function(){A(c.checked)}),[c.checked]);var y=o((function(){return W?"View only mode. To edit offsets, use ".concat(C?"Offset Well Selection app":"WellHub","."):u&&!c.checked?"App can't process more than (".concat(a-1,") Offset Wells."):""}),[W,u,c.checked,C,a]),M=o((function(){return d?"wellSection":f.length>0?"lastMetric":h?"lastInterventionAt":"lastDrillingAt"}),[d,f.length,h]);return{isViewOnly:W,isMapHidden:v,isChecked:g,rowRef:x,handleChangeCheckbox:function(e){m(c,e),A(e)},checkboxTooltipText:y,lastCellColumn:M,handleMouseEnter:function(){p(c.id)},handleMouseLeave:function(){p(null)},handleRowClick:function(){v||null==k||k(c.id)}}};export{s as useRowInteractions};
|
|
2
2
|
//# sourceMappingURL=useRowInteractions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRowInteractions.js","sources":["../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.ts"],"sourcesContent":["import { useCallback, useEffect, useState, useMemo } from 'react';\n\nimport { usePickerPropsStore } from '../../stores/picker-props-store/usePickerPropsStore';\nimport { useViewStore } from '../../stores/view-store/useViewStore';\n\ntype WellData = {\n id: number;\n checked?: boolean;\n name?: string;\n status?: string;\n [key: string]: unknown;\n};\n\ntype UseRowInteractionsParams = {\n data: WellData;\n isLimitedOffsetWells: boolean;\n maxOffsetWellNumber: number;\n metricsKeys: string[];\n isWellSectionColumnVisible: boolean;\n handleChangeOffsetWell: (well: WellData, checked: boolean) => void;\n setActiveWellId: (id: number | null) => void;\n onRowClick: (id: number) => void;\n registerRow: (wellId: number, node: HTMLElement | null) => void;\n};\n\nexport const useRowInteractions = ({\n data,\n isLimitedOffsetWells,\n maxOffsetWellNumber,\n metricsKeys,\n isWellSectionColumnVisible,\n handleChangeOffsetWell,\n setActiveWellId,\n onRowClick,\n registerRow,\n}: UseRowInteractionsParams) => {\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const [isChecked, setIsChecked] = useState(data.checked);\n\n const rowRef = useCallback(\n (node: HTMLElement | null) => {\n registerRow(data.id, node);\n },\n [registerRow, data.id]\n );\n\n const handleChangeCheckbox = (checked: boolean) => {\n handleChangeOffsetWell(data, checked);\n setIsChecked(checked);\n };\n\n useEffect(() => {\n setIsChecked(data.checked);\n }, [data.checked]);\n\n const checkboxTooltipText = useMemo(() => {\n if (isViewOnly) {\n return `View only mode. To edit offsets, use ${\n isWDUser ? 'Offset Well Selection app' : 'WellHub'\n }.`;\n } else if (isLimitedOffsetWells && !data.checked) {\n return `App can't process more than (${maxOffsetWellNumber - 1}) Offset Wells.`;\n } else {\n return '';\n }\n }, [isViewOnly, isLimitedOffsetWells, data.checked, isWDUser, maxOffsetWellNumber]);\n\n const lastCellColumn = useMemo(() => {\n if (isWellSectionColumnVisible) {\n return 'wellSection';\n }\n\n if (metricsKeys.length > 0) {\n return 'lastMetric';\n }\n\n return '
|
|
1
|
+
{"version":3,"file":"useRowInteractions.js","sources":["../../../../../src/components/OffsetWellPickerV5/components/OffsetWellsTable/useRowInteractions.ts"],"sourcesContent":["import { useCallback, useEffect, useState, useMemo } from 'react';\n\nimport { usePickerPropsStore } from '../../stores/picker-props-store/usePickerPropsStore';\nimport { useViewStore } from '../../stores/view-store/useViewStore';\n\ntype WellData = {\n id: number;\n checked?: boolean;\n name?: string;\n status?: string;\n [key: string]: unknown;\n};\n\ntype UseRowInteractionsParams = {\n data: WellData;\n isLimitedOffsetWells: boolean;\n maxOffsetWellNumber: number;\n metricsKeys: string[];\n isWellSectionColumnVisible: boolean;\n hasLastInterventionAtColumn: boolean;\n handleChangeOffsetWell: (well: WellData, checked: boolean) => void;\n setActiveWellId: (id: number | null) => void;\n onRowClick: (id: number) => void;\n registerRow: (wellId: number, node: HTMLElement | null) => void;\n};\n\nexport const useRowInteractions = ({\n data,\n isLimitedOffsetWells,\n maxOffsetWellNumber,\n metricsKeys,\n isWellSectionColumnVisible,\n hasLastInterventionAtColumn,\n handleChangeOffsetWell,\n setActiveWellId,\n onRowClick,\n registerRow,\n}: UseRowInteractionsParams) => {\n const isWDUser = usePickerPropsStore(state => state.isWDUser);\n const isViewOnly = usePickerPropsStore(state => state.isViewOnly);\n const isMapHidden = useViewStore(state => state.isMapHidden);\n const [isChecked, setIsChecked] = useState(data.checked);\n\n const rowRef = useCallback(\n (node: HTMLElement | null) => {\n registerRow(data.id, node);\n },\n [registerRow, data.id]\n );\n\n const handleChangeCheckbox = (checked: boolean) => {\n handleChangeOffsetWell(data, checked);\n setIsChecked(checked);\n };\n\n useEffect(() => {\n setIsChecked(data.checked);\n }, [data.checked]);\n\n const checkboxTooltipText = useMemo(() => {\n if (isViewOnly) {\n return `View only mode. To edit offsets, use ${\n isWDUser ? 'Offset Well Selection app' : 'WellHub'\n }.`;\n } else if (isLimitedOffsetWells && !data.checked) {\n return `App can't process more than (${maxOffsetWellNumber - 1}) Offset Wells.`;\n } else {\n return '';\n }\n }, [isViewOnly, isLimitedOffsetWells, data.checked, isWDUser, maxOffsetWellNumber]);\n\n const lastCellColumn = useMemo(() => {\n if (isWellSectionColumnVisible) {\n return 'wellSection';\n }\n\n if (metricsKeys.length > 0) {\n return 'lastMetric';\n }\n\n return hasLastInterventionAtColumn ? 'lastInterventionAt' : 'lastDrillingAt';\n }, [isWellSectionColumnVisible, metricsKeys.length, hasLastInterventionAtColumn]);\n\n const handleMouseEnter = () => {\n setActiveWellId(data.id);\n };\n\n const handleMouseLeave = () => {\n setActiveWellId(null);\n };\n\n const handleRowClick = () => {\n if (!isMapHidden) {\n onRowClick?.(data.id);\n }\n };\n\n return {\n isViewOnly,\n isMapHidden,\n isChecked,\n rowRef,\n handleChangeCheckbox,\n checkboxTooltipText,\n lastCellColumn,\n handleMouseEnter,\n handleMouseLeave,\n handleRowClick,\n };\n};\n"],"names":["useRowInteractions","_ref","data","isLimitedOffsetWells","maxOffsetWellNumber","metricsKeys","isWellSectionColumnVisible","hasLastInterventionAtColumn","handleChangeOffsetWell","setActiveWellId","onRowClick","registerRow","isWDUser","usePickerPropsStore","state","isViewOnly","isMapHidden","useViewStore","_useState","useState","checked","_useState2","_slicedToArray","isChecked","setIsChecked","rowRef","useCallback","node","id","useEffect","checkboxTooltipText","useMemo","concat","lastCellColumn","length","handleChangeCheckbox","handleMouseEnter","handleMouseLeave","handleRowClick"],"mappings":"sSA0BaA,IAAAA,EAAqB,SAWFC,GAAA,IAV9BC,IAAAA,KACAC,IAAAA,qBACAC,IAAAA,oBACAC,IAAAA,YACAC,IAAAA,2BACAC,IAAAA,4BACAC,IAAAA,uBACAC,IAAAA,gBACAC,IAAAA,WACAC,IAAAA,YAEMC,EAAWC,GAAoB,SAAAC,GAAK,OAAIA,EAAMF,YAC9CG,EAAaF,GAAoB,SAAAC,GAAK,OAAIA,EAAMC,cAChDC,EAAcC,GAAa,SAAAH,GAAK,OAAIA,EAAME,eAChDE,EAAkCC,EAASjB,EAAKkB,SAAQC,EAAAC,EAAAJ,EAAA,GAAjDK,EAASF,EAAA,GAAEG,EAAYH,EAAA,GAExBI,EAASC,GACb,SAACC,GACChB,EAAYT,EAAK0B,GAAID,EACtB,GACD,CAAChB,EAAaT,EAAK0B,KAQrBC,GAAU,WACRL,EAAatB,EAAKkB,QACpB,GAAG,CAAClB,EAAKkB,UAET,IAAMU,EAAsBC,GAAQ,WAClC,OAAIhB,EACF,wCAAAiB,OACEpB,EAAW,4BAA8B,UAAS,KAE3CT,IAAyBD,EAAKkB,QACAhB,gCAAAA,OAAAA,EAAsB,EAAC,mBAEvD,EAEX,GAAG,CAACW,EAAYZ,EAAsBD,EAAKkB,QAASR,EAAUR,IAExD6B,EAAiBF,GAAQ,WAC7B,OAAIzB,EACK,cAGLD,EAAY6B,OAAS,EAChB,aAGF3B,EAA8B,qBAAuB,gBAC7D,GAAE,CAACD,EAA4BD,EAAY6B,OAAQ3B,IAgBpD,MAAO,CACLQ,WAAAA,EACAC,YAAAA,EACAO,UAAAA,EACAE,OAAAA,EACAU,qBApD2B,SAACf,GAC5BZ,EAAuBN,EAAMkB,GAC7BI,EAAaJ,IAmDbU,oBAAAA,EACAG,eAAAA,EACAG,iBAtBuB,WACvB3B,EAAgBP,EAAK0B,KAsBrBS,iBAnBuB,WACvB5B,EAAgB,OAmBhB6B,eAhBqB,WAChBtB,GACHN,SAAAA,EAAaR,EAAK0B,KAgBxB"}
|
|
@@ -95,7 +95,8 @@ export declare const ColumnType: {
|
|
|
95
95
|
readonly formation: 'formation';
|
|
96
96
|
readonly distance: 'distance';
|
|
97
97
|
readonly taScore: 'TA';
|
|
98
|
-
readonly
|
|
98
|
+
readonly lastDrillingAt: 'lastDrillingAt';
|
|
99
|
+
readonly lastInterventionAt: 'lastInterventionAt';
|
|
99
100
|
readonly metrics: 'metrics';
|
|
100
101
|
readonly wellSection: 'wellSection';
|
|
101
102
|
};
|
|
@@ -154,11 +155,17 @@ export declare const TableColumns: ({
|
|
|
154
155
|
minWidth: readonly [90, 90, 75, 70];
|
|
155
156
|
flex: number;
|
|
156
157
|
} | {
|
|
157
|
-
type: "
|
|
158
|
+
type: "lastDrillingAt";
|
|
158
159
|
label: string;
|
|
159
|
-
key: "
|
|
160
|
+
key: "lastDrillingAt";
|
|
160
161
|
minWidth: readonly [140, 140, 108, 98];
|
|
161
162
|
flex: number;
|
|
163
|
+
} | {
|
|
164
|
+
type: "lastInterventionAt";
|
|
165
|
+
label: string;
|
|
166
|
+
key: "lastInterventionAt";
|
|
167
|
+
minWidth: readonly [180, 160, 128, 108];
|
|
168
|
+
flex: number;
|
|
162
169
|
} | {
|
|
163
170
|
type: "metrics";
|
|
164
171
|
label: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/OffsetWellPickerV5/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AAEpC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,0BAA0B,YAAI,KAAK,CAAU,CAAC;AAG3D,eAAO,MAAM,qBAAqB,mBAAkC,CAAC;AAErE,eAAO,MAAM,UAAU;aACrB,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,WAAW;aACpB,GAAG,EAAE,SAAS;aACd,OAAO,EAAE,aAAa;aACtB,KAAK,EAAE,OAAO;aACd,MAAM,EAAE,QAAQ;aAChB,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,WAAW;aACtB,YAAY,EAAE,cAAc;aAC5B,iBAAiB,EAAE,mBAAmB;aACtC,OAAO,EAAE,SAAS;aAClB,MAAM,EAAE,QAAQ;aAChB,MAAM,EAAE,QAAQ;aAChB,UAAU,EAAE,YAAY;aACxB,aAAa,EAAE,eAAe;aAC9B,uBAAuB,EAAE,yBAAyB;aAClD,aAAa,EAAE,eAAe;aAC9B,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX,eAAO,MAAM,aAAa;aAEtB,KAAK;aACL,KAAK,EAAE,SAAS;;aAGhB,KAAK;aACL,KAAK,EAAE,YAAY;;aAGnB,KAAK;aACL,KAAK,EAAE,KAAK;;aAGZ,KAAK;aACL,KAAK,EAAE,OAAO;;aAGd,KAAK;aACL,KAAK,EAAE,QAAQ;;aAGf,KAAK;aACL,KAAK,EAAE,MAAM;;aAGb,KAAK;aACL,KAAK,EAAE,kBAAkB;;aAGzB,KAAK;aACL,KAAK,EAAE,eAAe;;aAGtB,KAAK;aACL,KAAK,EAAE,oBAAoB;;aAG3B,KAAK;aACL,KAAK,EAAE,KAAK;;aAGZ,KAAK;aACL,KAAK,EAAE,QAAQ;EAET,CAAC;AAEX,eAAO,MAAM,UAAU;aACrB,OAAO,EAAE,SAAS;aAClB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,QAAQ;aAChB,MAAM,EAAE,QAAQ;aAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAEX,eAAO,MAAM,aAAa;aACtB,KAAK;aAAsB,KAAK,EAAE,SAAS;;aAC3C,KAAK;aAAmB,KAAK,EAAE,SAAS;;aACxC,KAAK;aAAqB,KAAK,EAAE,SAAS;;aAC1C,KAAK;aAAqB,KAAK,EAAE,SAAS;;aAC1C,KAAK;aAAuB,KAAK,EAAE,SAAS;EACtC,CAAC;AAEX,eAAO,MAAM,UAAU;aACrB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,QAAQ;aAChB,OAAO,EAAE,aAAa;aACtB,GAAG,EAAE,SAAS;aACd,iBAAiB,EAAE,mBAAmB;aACtC,OAAO,EAAE,SAAS;aAClB,SAAS,EAAE,WAAW;aACtB,QAAQ,EAAE,UAAU;aACpB,OAAO,EAAE,IAAI;aACb,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/OffsetWellPickerV5/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/toConsumableArray";import{sortBy as t}from"lodash";import"../../utils/index.js";import*as a from"../../utils/metrics/metricsConfig.js";var l=25,i=40,n="all",o="All",r=450,s=50,m=5,d=1e4,p=["xto"],c=a,u=[c.mud_type.key],y={status:"status",company:"companyId",rig:"rigName",program:"programName",basin:"basin",county:"county",area:"area",formation:"formation",stringDesign:"stringDesign",interventionAsset:"interventionAsset",padName:"padName",radius:"radius",period:"period",sideTracks:"sideTracks",drillingWells:"drillingWells",activeInterventionWells:"activeInterventionWells",timeRangeFrom:"timeRangeFrom",timeRangeTo:"timeRangeTo"},v=[{value:y.company,label:"Company"},{value:y.program,label:"Program/BU"},{value:y.rig,label:"Rig"},{value:y.basin,label:"Basin"},{value:y.county,label:"County"},{value:y.area,label:"Area"},{value:y.formation,label:"Target Formation"},{value:y.stringDesign,label:"String Design"},{value:y.interventionAsset,label:"Intervention Asset"},{value:y.padName,label:"Pad"},{value:y.status,label:"Status"}],_={unknown:"unknown",idle:"idle",active:"active",paused:"paused",complete:"complete"},g=[{value:_.unknown,color:"#FFFFFF"},{value:_.idle,color:"#ADADFF"},{value:_.active,color:"#A8FF3D"},{value:_.paused,color:"#FFF66C"},{value:_.complete,color:"#76C2FF"}],b={name:"name",status:"status",company:"companyName",rig:"rigName",interventionAsset:"interventionAsset",padName:"padName",formation:"formation",distance:"distance",taScore:"TA",
|
|
1
|
+
import e from"@babel/runtime/helpers/toConsumableArray";import{sortBy as t}from"lodash";import"../../utils/index.js";import*as a from"../../utils/metrics/metricsConfig.js";var l=25,i=40,n="all",o="All",r=450,s=50,m=5,d=1e4,p=["xto"],c=a,u=[c.mud_type.key],y={status:"status",company:"companyId",rig:"rigName",program:"programName",basin:"basin",county:"county",area:"area",formation:"formation",stringDesign:"stringDesign",interventionAsset:"interventionAsset",padName:"padName",radius:"radius",period:"period",sideTracks:"sideTracks",drillingWells:"drillingWells",activeInterventionWells:"activeInterventionWells",timeRangeFrom:"timeRangeFrom",timeRangeTo:"timeRangeTo"},v=[{value:y.company,label:"Company"},{value:y.program,label:"Program/BU"},{value:y.rig,label:"Rig"},{value:y.basin,label:"Basin"},{value:y.county,label:"County"},{value:y.area,label:"Area"},{value:y.formation,label:"Target Formation"},{value:y.stringDesign,label:"String Design"},{value:y.interventionAsset,label:"Intervention Asset"},{value:y.padName,label:"Pad"},{value:y.status,label:"Status"}],_={unknown:"unknown",idle:"idle",active:"active",paused:"paused",complete:"complete"},g=[{value:_.unknown,color:"#FFFFFF"},{value:_.idle,color:"#ADADFF"},{value:_.active,color:"#A8FF3D"},{value:_.paused,color:"#FFF66C"},{value:_.complete,color:"#76C2FF"}],b={name:"name",status:"status",company:"companyName",rig:"rigName",interventionAsset:"interventionAsset",padName:"padName",formation:"formation",distance:"distance",taScore:"TA",lastDrillingAt:"lastDrillingAt",lastInterventionAt:"lastInterventionAt",metrics:"metrics",wellSection:"wellSection"},h=[{type:b.name,label:"Well Name",key:b.name,minWidth:[280,197,197,186],flex:3},{type:b.status,label:"",key:b.status,minWidth:[40,40,40,30],flex:0},{type:b.company,label:"Company",key:b.company,minWidth:[180,140,140,93],flex:2},{type:b.interventionAsset,label:"Intervention Asset",key:b.interventionAsset,minWidth:[200,150,150,100],flex:2},{type:b.padName,label:"Pad",key:b.padName,minWidth:[160,130,130,90],flex:1.5},{type:b.formation,label:"Formation",key:b.formation,minWidth:[160,130,130,90],flex:1.5},{type:b.rig,label:"Rig",key:b.rig,minWidth:[220,140,140,93],flex:2},{type:b.distance,label:"Distance",key:b.distance,minWidth:[160,160,122,93],flex:1},{type:b.taScore,label:"TA",key:b.taScore,minWidth:[90,90,75,70],flex:1},{type:b.lastDrillingAt,label:"Date",key:b.lastDrillingAt,minWidth:[140,140,108,98],flex:1.5},{type:b.lastInterventionAt,label:"Last Intervention At",key:b.lastInterventionAt,minWidth:[180,160,128,108],flex:1.5},{type:b.metrics,label:"",key:"",minWidth:[0,212,141,141],flex:2},{type:b.wellSection,label:"Well Section",key:b.wellSection,minWidth:[180,131,131,97],flex:1.5}],A=[{value:"all",label:"All"},{value:"last12h",label:"Last 12 hrs"},{value:"last24h",label:"Last 24 hrs"},{value:"last7d",label:"Last 7 days"},{value:"lastMonth",label:"Last Month"},{value:"custom",label:"Custom"}],f=2,F=t([c.hole_depth,c.hole_depth_change,c.hole_depth_change_lateral,c.drilled_feet_rotary,c.drilled_feet_slide,c.rop_gross,c.rop,c.rop_rotary,c.rop_slide,c.drilled_feet_rotary_percentage,c.drilled_feet_slide_percentage,c.on_bottom_percentage,c.cost_per_ft,c.cost_per_lat_ft,c.feet_per_day,c.target_formation,c.mud_type,c.total_time].concat(e("production"!==process.env.REACT_APP_ENVIRONMENT?[c.npt,c.circulating_time,c.spud_to_rig_release_time,c.spud_to_total_depth_time]:[])),"label"),k=["#6EACFF","#69B919","#E95DAF","#A77DFF","#77FFC1","#018EFE","#FF5D7E","#B9E310","#FFD111","#24BB8E","#C426F3"],W={width:{default:600,min:314,max:900},minContentWidth:400,columnsGap:16,hintsStashBreakpoint:480},D={ASC:"ASC",DESC:"DESC"};export{n as ALL_SECTION_KEY,o as ALL_SECTION_LABEL,p as COMPANY_PROVIDERS_FOR_IDAS,b as ColumnType,i as DEFAULT_RADIUS_KM,l as DEFAULT_RADIUS_MILES,r as EXPANDED_WELL_NAME_WIDTH,v as FilterOptions,y as FilterType,m as H_SCROLL_THRESHOLD,d as LEAVE_TOUCH_DELAY,f as MAX_MANUAL_METRICS_COUNT,F as METRICS_LIST,W as MapLayout,u as NonConvertableMetrics,A as OBJECTIVE_PERIOD_LIST,s as ROWS_PER_PAGE,D as SortDirection,g as StatusOptions,h as TableColumns,k as WellSectionColors,_ as WellStatus};
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sources":["../../../src/components/OffsetWellPickerV5/constants.ts"],"sourcesContent":["import { sortBy } from 'lodash';\n\nimport { metricsUtils } from '~/utils';\n\nexport const DEFAULT_RADIUS_MILES = 25;\nexport const DEFAULT_RADIUS_KM = 40;\n\nexport const ALL_SECTION_KEY = 'all';\nexport const ALL_SECTION_LABEL = 'All';\nexport const EXPANDED_WELL_NAME_WIDTH = 450;\nexport const ROWS_PER_PAGE = 50;\n// Horizontal scroll (px) past which the sticky well-name column casts its shadow.\nexport const H_SCROLL_THRESHOLD = 5;\nexport const LEAVE_TOUCH_DELAY = 10000;\nexport const COMPANY_PROVIDERS_FOR_IDAS = ['xto'] as const;\nconst metrics = metricsUtils.default;\n\nexport const NonConvertableMetrics = [metrics.mud_type.key] as const;\n\nexport const FilterType = {\n status: 'status',\n company: 'companyId',\n rig: 'rigName',\n program: 'programName',\n basin: 'basin',\n county: 'county',\n area: 'area',\n formation: 'formation',\n stringDesign: 'stringDesign',\n interventionAsset: 'interventionAsset',\n padName: 'padName',\n radius: 'radius',\n period: 'period',\n sideTracks: 'sideTracks',\n drillingWells: 'drillingWells',\n activeInterventionWells: 'activeInterventionWells',\n timeRangeFrom: 'timeRangeFrom',\n timeRangeTo: 'timeRangeTo',\n} as const;\n\nexport const FilterOptions = [\n {\n value: FilterType.company,\n label: 'Company',\n },\n {\n value: FilterType.program,\n label: 'Program/BU',\n },\n {\n value: FilterType.rig,\n label: 'Rig',\n },\n {\n value: FilterType.basin,\n label: 'Basin',\n },\n {\n value: FilterType.county,\n label: 'County',\n },\n {\n value: FilterType.area,\n label: 'Area',\n },\n {\n value: FilterType.formation,\n label: 'Target Formation',\n },\n {\n value: FilterType.stringDesign,\n label: 'String Design',\n },\n {\n value: FilterType.interventionAsset,\n label: 'Intervention Asset',\n },\n {\n value: FilterType.padName,\n label: 'Pad',\n },\n {\n value: FilterType.status,\n label: 'Status',\n },\n] as const;\n\nexport const WellStatus = {\n unknown: 'unknown',\n idle: 'idle',\n active: 'active',\n paused: 'paused',\n complete: 'complete',\n} as const;\n\nexport const StatusOptions = [\n { value: WellStatus.unknown, color: '#FFFFFF' },\n { value: WellStatus.idle, color: '#ADADFF' },\n { value: WellStatus.active, color: '#A8FF3D' },\n { value: WellStatus.paused, color: '#FFF66C' },\n { value: WellStatus.complete, color: '#76C2FF' },\n] as const;\n\nexport const ColumnType = {\n name: 'name',\n status: 'status',\n company: 'companyName',\n rig: 'rigName',\n interventionAsset: 'interventionAsset',\n padName: 'padName',\n formation: 'formation',\n distance: 'distance',\n taScore: 'TA',\n lastActive: 'lastActive',\n metrics: 'metrics',\n wellSection: 'wellSection',\n} as const;\n\nexport const TableColumns = [\n {\n type: ColumnType.name,\n label: 'Well Name',\n key: ColumnType.name,\n minWidth: [280, 197, 197, 186] as const,\n flex: 3,\n },\n {\n type: ColumnType.status,\n label: '',\n key: ColumnType.status,\n minWidth: [40, 40, 40, 30] as const,\n flex: 0,\n },\n {\n type: ColumnType.company,\n label: 'Company',\n key: ColumnType.company,\n minWidth: [180, 140, 140, 93] as const,\n flex: 2,\n },\n {\n type: ColumnType.interventionAsset,\n label: 'Intervention Asset',\n key: ColumnType.interventionAsset,\n minWidth: [200, 150, 150, 100] as const,\n flex: 2,\n },\n {\n type: ColumnType.padName,\n label: 'Pad',\n key: ColumnType.padName,\n minWidth: [160, 130, 130, 90] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.formation,\n label: 'Formation',\n key: ColumnType.formation,\n minWidth: [160, 130, 130, 90] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.rig,\n label: 'Rig',\n key: ColumnType.rig,\n minWidth: [220, 140, 140, 93] as const,\n flex: 2,\n },\n {\n type: ColumnType.distance,\n label: 'Distance',\n key: ColumnType.distance,\n minWidth: [160, 160, 122, 93] as const,\n flex: 1,\n },\n {\n type: ColumnType.taScore,\n label: 'TA',\n key: ColumnType.taScore,\n minWidth: [90, 90, 75, 70] as const,\n flex: 1,\n },\n {\n type: ColumnType.lastActive,\n label: 'Last Active',\n key: ColumnType.lastActive,\n minWidth: [140, 140, 108, 98] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.metrics,\n label: '',\n key: '',\n minWidth: [0, 212, 141, 141] as const,\n flex: 2,\n },\n {\n type: ColumnType.wellSection,\n label: 'Well Section',\n key: ColumnType.wellSection,\n minWidth: [180, 131, 131, 97] as const,\n flex: 1.5,\n },\n];\n\nexport const OBJECTIVE_PERIOD_LIST = [\n { value: 'all', label: 'All' },\n { value: 'last12h', label: 'Last 12 hrs' },\n { value: 'last24h', label: 'Last 24 hrs' },\n { value: 'last7d', label: 'Last 7 days' },\n { value: 'lastMonth', label: 'Last Month' },\n { value: 'custom', label: 'Custom' },\n] as const;\n\n/**\n * Max metrics a user can manually pick in the Settings checklist.\n * Excludes the segment's always-present default metric, so the total number of\n * metric columns is `MAX_MANUAL_METRICS_COUNT + 1` when a default exists.\n */\nexport const MAX_MANUAL_METRICS_COUNT = 2;\n\nexport const METRICS_LIST = sortBy(\n [\n metrics.hole_depth,\n metrics.hole_depth_change,\n metrics.hole_depth_change_lateral,\n metrics.drilled_feet_rotary,\n metrics.drilled_feet_slide,\n metrics.rop_gross,\n metrics.rop,\n metrics.rop_rotary,\n metrics.rop_slide,\n metrics.drilled_feet_rotary_percentage,\n metrics.drilled_feet_slide_percentage,\n metrics.on_bottom_percentage,\n metrics.cost_per_ft,\n metrics.cost_per_lat_ft,\n metrics.feet_per_day,\n metrics.target_formation,\n metrics.mud_type,\n metrics.total_time,\n ...(process.env.REACT_APP_ENVIRONMENT !== 'production'\n ? [\n metrics.npt,\n metrics.circulating_time,\n metrics.spud_to_rig_release_time,\n metrics.spud_to_total_depth_time,\n ]\n : []),\n ],\n 'label'\n);\n\nexport const WellSectionColors = [\n '#6EACFF',\n '#69B919',\n '#E95DAF',\n '#A77DFF',\n '#77FFC1',\n '#018EFE',\n '#FF5D7E',\n '#B9E310',\n '#FFD111',\n '#24BB8E',\n '#C426F3',\n] as const;\n\n// --- Resizable map ---\n// Layout for the draggable map/content split (px). Width bounds are configurable; tune\n// min/max on large monitors. `mapWidth` is persisted per user (see view-store /\n// user-settings-store).\n//\n// `minContentWidth` and `columnsGap` mirror values authored in\n// `OffsetWellPickerV5.module.css` (`.rightColumn { min-width: 400px }` and\n// `.columnsContainer { gap: 16px }`); they exist here only for the effective-max clamp\n// math and must stay in sync with the CSS. `hintsStashBreakpoint` is the map width at/below\n// which the top-right hints collapse into an icon + dropdown stash — but only while the top-left\n// radius input is also visible (they compete for the same horizontal band). With the radius input\n// hidden the hints stay expanded down to the map's min width.\nexport const MapLayout = {\n width: {\n default: 600,\n min: 314,\n max: 900, // ~1.5× default — largest the map should grow on a big modal\n },\n minContentWidth: 400,\n columnsGap: 16,\n hintsStashBreakpoint: 480,\n} as const;\n\nexport const DEFAULT_METRICS_KEY = 'hole_depth_change';\n\nexport type SortDirectionType = 'ASC' | 'DESC';\n\nexport type SortDirectionStatic = {\n ASC: 'ASC';\n DESC: 'DESC';\n};\n\nexport const SortDirection: SortDirectionStatic = { ASC: 'ASC', DESC: 'DESC' };\n"],"names":["DEFAULT_RADIUS_MILES","DEFAULT_RADIUS_KM","ALL_SECTION_KEY","ALL_SECTION_LABEL","EXPANDED_WELL_NAME_WIDTH","ROWS_PER_PAGE","H_SCROLL_THRESHOLD","LEAVE_TOUCH_DELAY","COMPANY_PROVIDERS_FOR_IDAS","metrics","metricsUtils","NonConvertableMetrics","mud_type","key","FilterType","status","company","rig","program","basin","county","area","formation","stringDesign","interventionAsset","padName","radius","period","sideTracks","drillingWells","activeInterventionWells","timeRangeFrom","timeRangeTo","FilterOptions","value","label","WellStatus","unknown","idle","active","paused","complete","StatusOptions","color","ColumnType","name","distance","taScore","lastActive","wellSection","TableColumns","type","minWidth","flex","OBJECTIVE_PERIOD_LIST","MAX_MANUAL_METRICS_COUNT","METRICS_LIST","sortBy","hole_depth","hole_depth_change","hole_depth_change_lateral","drilled_feet_rotary","drilled_feet_slide","rop_gross","rop","rop_rotary","rop_slide","drilled_feet_rotary_percentage","drilled_feet_slide_percentage","on_bottom_percentage","cost_per_ft","cost_per_lat_ft","feet_per_day","target_formation","total_time","process","env","REACT_APP_ENVIRONMENT","npt","circulating_time","spud_to_rig_release_time","spud_to_total_depth_time","WellSectionColors","MapLayout","width","default","min","max","minContentWidth","columnsGap","hintsStashBreakpoint","SortDirection","ASC","DESC"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/components/OffsetWellPickerV5/constants.ts"],"sourcesContent":["import { sortBy } from 'lodash';\n\nimport { metricsUtils } from '~/utils';\n\nexport const DEFAULT_RADIUS_MILES = 25;\nexport const DEFAULT_RADIUS_KM = 40;\n\nexport const ALL_SECTION_KEY = 'all';\nexport const ALL_SECTION_LABEL = 'All';\nexport const EXPANDED_WELL_NAME_WIDTH = 450;\nexport const ROWS_PER_PAGE = 50;\n// Horizontal scroll (px) past which the sticky well-name column casts its shadow.\nexport const H_SCROLL_THRESHOLD = 5;\nexport const LEAVE_TOUCH_DELAY = 10000;\nexport const COMPANY_PROVIDERS_FOR_IDAS = ['xto'] as const;\nconst metrics = metricsUtils.default;\n\nexport const NonConvertableMetrics = [metrics.mud_type.key] as const;\n\nexport const FilterType = {\n status: 'status',\n company: 'companyId',\n rig: 'rigName',\n program: 'programName',\n basin: 'basin',\n county: 'county',\n area: 'area',\n formation: 'formation',\n stringDesign: 'stringDesign',\n interventionAsset: 'interventionAsset',\n padName: 'padName',\n radius: 'radius',\n period: 'period',\n sideTracks: 'sideTracks',\n drillingWells: 'drillingWells',\n activeInterventionWells: 'activeInterventionWells',\n timeRangeFrom: 'timeRangeFrom',\n timeRangeTo: 'timeRangeTo',\n} as const;\n\nexport const FilterOptions = [\n {\n value: FilterType.company,\n label: 'Company',\n },\n {\n value: FilterType.program,\n label: 'Program/BU',\n },\n {\n value: FilterType.rig,\n label: 'Rig',\n },\n {\n value: FilterType.basin,\n label: 'Basin',\n },\n {\n value: FilterType.county,\n label: 'County',\n },\n {\n value: FilterType.area,\n label: 'Area',\n },\n {\n value: FilterType.formation,\n label: 'Target Formation',\n },\n {\n value: FilterType.stringDesign,\n label: 'String Design',\n },\n {\n value: FilterType.interventionAsset,\n label: 'Intervention Asset',\n },\n {\n value: FilterType.padName,\n label: 'Pad',\n },\n {\n value: FilterType.status,\n label: 'Status',\n },\n] as const;\n\nexport const WellStatus = {\n unknown: 'unknown',\n idle: 'idle',\n active: 'active',\n paused: 'paused',\n complete: 'complete',\n} as const;\n\nexport const StatusOptions = [\n { value: WellStatus.unknown, color: '#FFFFFF' },\n { value: WellStatus.idle, color: '#ADADFF' },\n { value: WellStatus.active, color: '#A8FF3D' },\n { value: WellStatus.paused, color: '#FFF66C' },\n { value: WellStatus.complete, color: '#76C2FF' },\n] as const;\n\nexport const ColumnType = {\n name: 'name',\n status: 'status',\n company: 'companyName',\n rig: 'rigName',\n interventionAsset: 'interventionAsset',\n padName: 'padName',\n formation: 'formation',\n distance: 'distance',\n taScore: 'TA',\n lastDrillingAt: 'lastDrillingAt',\n lastInterventionAt: 'lastInterventionAt',\n metrics: 'metrics',\n wellSection: 'wellSection',\n} as const;\n\nexport const TableColumns = [\n {\n type: ColumnType.name,\n label: 'Well Name',\n key: ColumnType.name,\n minWidth: [280, 197, 197, 186] as const,\n flex: 3,\n },\n {\n type: ColumnType.status,\n label: '',\n key: ColumnType.status,\n minWidth: [40, 40, 40, 30] as const,\n flex: 0,\n },\n {\n type: ColumnType.company,\n label: 'Company',\n key: ColumnType.company,\n minWidth: [180, 140, 140, 93] as const,\n flex: 2,\n },\n {\n type: ColumnType.interventionAsset,\n label: 'Intervention Asset',\n key: ColumnType.interventionAsset,\n minWidth: [200, 150, 150, 100] as const,\n flex: 2,\n },\n {\n type: ColumnType.padName,\n label: 'Pad',\n key: ColumnType.padName,\n minWidth: [160, 130, 130, 90] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.formation,\n label: 'Formation',\n key: ColumnType.formation,\n minWidth: [160, 130, 130, 90] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.rig,\n label: 'Rig',\n key: ColumnType.rig,\n minWidth: [220, 140, 140, 93] as const,\n flex: 2,\n },\n {\n type: ColumnType.distance,\n label: 'Distance',\n key: ColumnType.distance,\n minWidth: [160, 160, 122, 93] as const,\n flex: 1,\n },\n {\n type: ColumnType.taScore,\n label: 'TA',\n key: ColumnType.taScore,\n minWidth: [90, 90, 75, 70] as const,\n flex: 1,\n },\n {\n type: ColumnType.lastDrillingAt,\n label: 'Date',\n key: ColumnType.lastDrillingAt,\n minWidth: [140, 140, 108, 98] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.lastInterventionAt,\n label: 'Last Intervention At',\n key: ColumnType.lastInterventionAt,\n minWidth: [180, 160, 128, 108] as const,\n flex: 1.5,\n },\n {\n type: ColumnType.metrics,\n label: '',\n key: '',\n minWidth: [0, 212, 141, 141] as const,\n flex: 2,\n },\n {\n type: ColumnType.wellSection,\n label: 'Well Section',\n key: ColumnType.wellSection,\n minWidth: [180, 131, 131, 97] as const,\n flex: 1.5,\n },\n];\n\nexport const OBJECTIVE_PERIOD_LIST = [\n { value: 'all', label: 'All' },\n { value: 'last12h', label: 'Last 12 hrs' },\n { value: 'last24h', label: 'Last 24 hrs' },\n { value: 'last7d', label: 'Last 7 days' },\n { value: 'lastMonth', label: 'Last Month' },\n { value: 'custom', label: 'Custom' },\n] as const;\n\n/**\n * Max metrics a user can manually pick in the Settings checklist.\n * Excludes the segment's always-present default metric, so the total number of\n * metric columns is `MAX_MANUAL_METRICS_COUNT + 1` when a default exists.\n */\nexport const MAX_MANUAL_METRICS_COUNT = 2;\n\nexport const METRICS_LIST = sortBy(\n [\n metrics.hole_depth,\n metrics.hole_depth_change,\n metrics.hole_depth_change_lateral,\n metrics.drilled_feet_rotary,\n metrics.drilled_feet_slide,\n metrics.rop_gross,\n metrics.rop,\n metrics.rop_rotary,\n metrics.rop_slide,\n metrics.drilled_feet_rotary_percentage,\n metrics.drilled_feet_slide_percentage,\n metrics.on_bottom_percentage,\n metrics.cost_per_ft,\n metrics.cost_per_lat_ft,\n metrics.feet_per_day,\n metrics.target_formation,\n metrics.mud_type,\n metrics.total_time,\n ...(process.env.REACT_APP_ENVIRONMENT !== 'production'\n ? [\n metrics.npt,\n metrics.circulating_time,\n metrics.spud_to_rig_release_time,\n metrics.spud_to_total_depth_time,\n ]\n : []),\n ],\n 'label'\n);\n\nexport const WellSectionColors = [\n '#6EACFF',\n '#69B919',\n '#E95DAF',\n '#A77DFF',\n '#77FFC1',\n '#018EFE',\n '#FF5D7E',\n '#B9E310',\n '#FFD111',\n '#24BB8E',\n '#C426F3',\n] as const;\n\n// --- Resizable map ---\n// Layout for the draggable map/content split (px). Width bounds are configurable; tune\n// min/max on large monitors. `mapWidth` is persisted per user (see view-store /\n// user-settings-store).\n//\n// `minContentWidth` and `columnsGap` mirror values authored in\n// `OffsetWellPickerV5.module.css` (`.rightColumn { min-width: 400px }` and\n// `.columnsContainer { gap: 16px }`); they exist here only for the effective-max clamp\n// math and must stay in sync with the CSS. `hintsStashBreakpoint` is the map width at/below\n// which the top-right hints collapse into an icon + dropdown stash — but only while the top-left\n// radius input is also visible (they compete for the same horizontal band). With the radius input\n// hidden the hints stay expanded down to the map's min width.\nexport const MapLayout = {\n width: {\n default: 600,\n min: 314,\n max: 900, // ~1.5× default — largest the map should grow on a big modal\n },\n minContentWidth: 400,\n columnsGap: 16,\n hintsStashBreakpoint: 480,\n} as const;\n\nexport const DEFAULT_METRICS_KEY = 'hole_depth_change';\n\nexport type SortDirectionType = 'ASC' | 'DESC';\n\nexport type SortDirectionStatic = {\n ASC: 'ASC';\n DESC: 'DESC';\n};\n\nexport const SortDirection: SortDirectionStatic = { ASC: 'ASC', DESC: 'DESC' };\n"],"names":["DEFAULT_RADIUS_MILES","DEFAULT_RADIUS_KM","ALL_SECTION_KEY","ALL_SECTION_LABEL","EXPANDED_WELL_NAME_WIDTH","ROWS_PER_PAGE","H_SCROLL_THRESHOLD","LEAVE_TOUCH_DELAY","COMPANY_PROVIDERS_FOR_IDAS","metrics","metricsUtils","NonConvertableMetrics","mud_type","key","FilterType","status","company","rig","program","basin","county","area","formation","stringDesign","interventionAsset","padName","radius","period","sideTracks","drillingWells","activeInterventionWells","timeRangeFrom","timeRangeTo","FilterOptions","value","label","WellStatus","unknown","idle","active","paused","complete","StatusOptions","color","ColumnType","name","distance","taScore","lastDrillingAt","lastInterventionAt","wellSection","TableColumns","type","minWidth","flex","OBJECTIVE_PERIOD_LIST","MAX_MANUAL_METRICS_COUNT","METRICS_LIST","sortBy","hole_depth","hole_depth_change","hole_depth_change_lateral","drilled_feet_rotary","drilled_feet_slide","rop_gross","rop","rop_rotary","rop_slide","drilled_feet_rotary_percentage","drilled_feet_slide_percentage","on_bottom_percentage","cost_per_ft","cost_per_lat_ft","feet_per_day","target_formation","total_time","process","env","REACT_APP_ENVIRONMENT","npt","circulating_time","spud_to_rig_release_time","spud_to_total_depth_time","WellSectionColors","MapLayout","width","default","min","max","minContentWidth","columnsGap","hintsStashBreakpoint","SortDirection","ASC","DESC"],"mappings":"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"}
|
package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWellDataPipeline.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAK/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AAOtF,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACb,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAU5E,KAAK,yBAAyB,GAAG;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,EACF,CAAC,CAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC,GAC9E,SAAS,CAAC;CACf,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAC;IACxD,iBAAiB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAChD,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,0GAQ7B,yBAAyB,KAAG,
|
|
1
|
+
{"version":3,"file":"useWellDataPipeline.d.ts","sourceRoot":"","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAK/E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wDAAwD,CAAC;AAOtF,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,OAAO,EACb,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAU5E,KAAK,yBAAyB,GAAG;IAC/B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,cAAc,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,MAAM,EACF,CAAC,CAAC,cAAc,EAAE,oBAAoB,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC,GAC9E,SAAS,CAAC;CACf,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,KAAK,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CAAC;IACxD,iBAAiB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,mBAAmB,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC;IAChD,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACnC,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC7C,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,0BAA0B,EAAE,OAAO,CAAC;IACpC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IACjC,kBAAkB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACjE,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,yBAAyB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,mBAAmB,0GAQ7B,yBAAyB,KAAG,yBAkO9B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useMemo as r,useEffect as o}from"react";import"../../stores/viewport-store/ViewportStoreContext.js";import"../../stores/viewport-store/ViewportStoreProvider.js";import"zustand";import"lodash/isEqual";import{useViewportStore as s}from"../../stores/viewport-store/useViewportStore.js";import{areWellMapsEqual as n}from"../../stores/viewport-store/utils/areWellMapsEqual.js";import"../../stores/company-safeguard/CompanySafeguardContext.js";import{useCompanySafeguard as i}from"../../stores/company-safeguard/useCompanySafeguard.js";import{useFilterStore as l}from"../../stores/filter-store/useFilterStore.js";import"lodash";import"../../stores/picker-props-store/PickerPropsStoreContext.js";import"@babel/runtime/helpers/objectWithoutProperties";import"../../viewport/ViewportProvider.js";import"../../viewport/ViewportContext.js";import"react/jsx-runtime";import{usePickerPropsStore as a}from"../../stores/picker-props-store/usePickerPropsStore.js";import{ALL_SECTION_KEY as p}from"../../constants.js";import{isDrillingOnlyWell as m}from"../../utils/isDrillingOnlyWell.js";import{isInterventionOnlyWell as u}from"../../utils/isInterventionOnlyWell.js";import{useViewportWells as c}from"../useViewportWells/useViewportWells.js";import{useTileLoading as d}from"../useTileLoading.js";import{usePinnedWells as f}from"../usePinnedWells.js";import{useExternalOffsets as j}from"../useExternalOffsets.js";import"../../stores/idas-resync-store/IdasResyncStoreContext.js";import"../../stores/idas-resync-store/IdasResyncStoreProvider.js";import{useIdasResyncSync as v}from"../../stores/idas-resync-store/useIdasResyncSync.js";import{getSegmentConfig as g}from"../../segment-config/index.js";import{useSearchedWells as y}from"./useSearchedWells.js";import{useCompanyProvider as b}from"./useCompanyProvider.js";import{useFetchSubjectWell as W}from"./useFetchSubjectWell.js";import{useCompanyMetricKey as h}from"./useCompanyMetricKey.js";import{useAdvancedWells as w}from"./useAdvancedWells.js";import{computeIsAllWellsLoaded as S}from"./utils/computeIsAllWellsLoaded.js";import{useInterventionEnrichment as C,enrichWellsWithInterventionData as P}from"./useInterventionEnrichment.js";import{usePadEnrichment as I,enrichWellsWithPadData as O}from"./usePadEnrichment.js";import"../../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/jsonApi/index.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"immutable";import"query-string";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"../../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../constants/streamSourceType.js";import"../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import{useGlobalOffsetWellsSync as A}from"../../../../effects/useGlobalOffsetWellsSync.js";function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function L(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?x(Object(o),!0).forEach((function(r){e(t,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):x(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var E=function(e){var x,E,V=e.subjectWellId,D=e.assetCompanyId,k=e.offsetSettings,N=e.maxOffsetWellNumber,T=e.isLoadAllWells,K=e.open,M=e.onSave,R=a((function(e){return e.segment})),q="intervention"===R,B=s((function(e){return e.wells}),n),G=s((function(e){return e.bounds})),z=l((function(e){var t;return null===(t=e.filters.drillingWells)||void 0===t||t})),F=l((function(e){var t;return null===(t=e.filters.interventionWells)||void 0===t||t})),H=W(V),J=t(H,1)[0],Q=r((function(){var e,r=null==J||null===(e=J.topHole)||void 0===e?void 0:e.coordinates;if(!r)return null;var o=t(r,2);return{latitude:o[0],longitude:o[1]}}),[J]);A(k,M,N);var U=i(),X=U.companies,Y=U.canViewCompanies,Z=U.resetSafeguard;c(!T);var $=d(),_=r((function(){return Array.from(B.values())}),[B]),ee=$||0===_.length&&null===G,te=f(null==k?void 0:k.selectedWellIds),re=t(te,2),oe=re[0],se=re[1],ne=y(),ie=t(ne,3),le=ie[0],ae=ie[1],pe=ie[2],me=r((function(){if(!_)return null;var e=function(e,t){if(null==t||!t.length)return e;var r=new Set(e.map((function(e){return e.id}))),o=t.filter((function(e){return!r.has(e.id)}));return o.length>0?e.concat(o):e},t=_;return t=e(t,oe),t=e(t,le),"drilling"===R&&z&&(t=t.filter((function(e){return m(e)}))),"intervention"===R&&F&&(t=t.filter((function(e){return u(e)}))),J&&!t.some((function(e){return e.id===J.id}))&&(t=[J].concat(t)),t}),[_,J,oe,le,z,F,R]),ue=b(D),ce=t(ue,1)[0],de=j(V,me),fe=de.offsets,je=de.setOffsets,ve=de.loadExternalOffsets;v({assetId:V,loadExternalOffsets:ve});var ge=fe.wellSections,ye=fe.offsetWellsBySection,be=fe.taScores,We=fe.idasWellIds,he=fe.owsWellIds,we=fe.wellhubWellIds,Se=fe.loadedAssetId,Ce=r((function(){return!!ge&&ge.some((function(e){return e.value!==p}))}),[ge]);o((function(){je((function(e){return L(L({},e),{},{wellSections:null,offsetWellsBySection:null})}))}),[je,V]),o((function(){var e;if(ye){var t=new Set(null!==(e=null==me?void 0:me.map((function(e){return e.id})))&&void 0!==e?e:[]),r=new Set;Object.values(ye).forEach((function(e){(null!=e?e:[]).forEach((function(e){null==e||e===V||t.has(e)||r.add(e)}))})),r.size>0&&pe(Array.from(r))}}),[ye,me,V,pe]);var Pe=g(R).defaultMetricKey,Ie=h(D,null==k?void 0:k.metricsKeys,Pe),Oe=t(Ie,2),Ae=Oe[0],xe=Oe[1],Le=w(me,ge,ye,V,Ae,K),Ee=t(Le,4),Ve=Ee[0],De=Ee[1],ke=Ee[2],Ne=Ee[3],Te=C(q),Ke=Te.wellIdToInterventionNames,Me=Te.activeInterventionWellIds,Re=Te.isLoading,qe=I(q),Be=qe.assetIdToPadName,Ge=qe.isLoading,ze=Ve||ke,Fe=r((function(){if(!ze||null==X||!X.length)return ze;var e={};X.forEach((function(t){e[t.id]=t.name}));var t=ze.map((function(t){return L(L({},t),{},{companyName:e[Number(t.companyId)]||"Null"})}));return q&&(t=P(t,Ke),t=
|
|
1
|
+
import e from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useMemo as r,useEffect as o}from"react";import"../../stores/viewport-store/ViewportStoreContext.js";import"../../stores/viewport-store/ViewportStoreProvider.js";import"zustand";import"lodash/isEqual";import{useViewportStore as s}from"../../stores/viewport-store/useViewportStore.js";import{areWellMapsEqual as n}from"../../stores/viewport-store/utils/areWellMapsEqual.js";import"../../stores/company-safeguard/CompanySafeguardContext.js";import{useCompanySafeguard as i}from"../../stores/company-safeguard/useCompanySafeguard.js";import{useFilterStore as l}from"../../stores/filter-store/useFilterStore.js";import"lodash";import"../../stores/picker-props-store/PickerPropsStoreContext.js";import"@babel/runtime/helpers/objectWithoutProperties";import"../../viewport/ViewportProvider.js";import"../../viewport/ViewportContext.js";import"react/jsx-runtime";import{usePickerPropsStore as a}from"../../stores/picker-props-store/usePickerPropsStore.js";import{ALL_SECTION_KEY as p}from"../../constants.js";import{isDrillingOnlyWell as m}from"../../utils/isDrillingOnlyWell.js";import{isInterventionOnlyWell as u}from"../../utils/isInterventionOnlyWell.js";import{useViewportWells as c}from"../useViewportWells/useViewportWells.js";import{useTileLoading as d}from"../useTileLoading.js";import{usePinnedWells as f}from"../usePinnedWells.js";import{useExternalOffsets as j}from"../useExternalOffsets.js";import"../../stores/idas-resync-store/IdasResyncStoreContext.js";import"../../stores/idas-resync-store/IdasResyncStoreProvider.js";import{useIdasResyncSync as v}from"../../stores/idas-resync-store/useIdasResyncSync.js";import{getSegmentConfig as g}from"../../segment-config/index.js";import{useSearchedWells as y}from"./useSearchedWells.js";import{useCompanyProvider as b}from"./useCompanyProvider.js";import{useFetchSubjectWell as W}from"./useFetchSubjectWell.js";import{useCompanyMetricKey as h}from"./useCompanyMetricKey.js";import{useAdvancedWells as w}from"./useAdvancedWells.js";import{computeIsAllWellsLoaded as S}from"./utils/computeIsAllWellsLoaded.js";import{useInterventionEnrichment as C,enrichWellsWithInterventionData as P}from"./useInterventionEnrichment.js";import{usePadEnrichment as I,enrichWellsWithPadData as O}from"./usePadEnrichment.js";import"../../../../clients/subscriptions/constants.js";import"@babel/runtime/helpers/asyncToGenerator";import"@babel/runtime/regenerator";import"querystring";import"uuid/v1";import"../../../../clients/subscriptions.v1.js";import"../../../../clients/jsonApi/index.js";import"../../../../clients/subscriptions/subscriptions-client.factory.js";import"immutable";import"query-string";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"../../../../clients/api/rateLimiter.js";import"lodash/isEmpty";import"lodash/sortBy";import"../../../../constants/streamSourceType.js";import"../../../DevCenter/DevCenterAppContainer/components/CommentsSwitch/CommentsSwitchContext.js";import"../../../../componentsV2/AppCommonsProvider/AppCommonsProvider.js";import"../../../../componentsV2/AppCommonsProvider/AppCommonsContext.js";import"../../../../componentsV2/AppSettings/AppSettingsPinningContext.js";import{useGlobalOffsetWellsSync as A}from"../../../../effects/useGlobalOffsetWellsSync.js";function x(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function L(t){for(var r=1;r<arguments.length;r++){var o=null!=arguments[r]?arguments[r]:{};r%2?x(Object(o),!0).forEach((function(r){e(t,r,o[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):x(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var E=function(e){var x,E,V=e.subjectWellId,D=e.assetCompanyId,k=e.offsetSettings,N=e.maxOffsetWellNumber,T=e.isLoadAllWells,K=e.open,M=e.onSave,R=a((function(e){return e.segment})),q="intervention"===R,B=s((function(e){return e.wells}),n),G=s((function(e){return e.bounds})),z=l((function(e){var t;return null===(t=e.filters.drillingWells)||void 0===t||t})),F=l((function(e){var t;return null===(t=e.filters.interventionWells)||void 0===t||t})),H=W(V),J=t(H,1)[0],Q=r((function(){var e,r=null==J||null===(e=J.topHole)||void 0===e?void 0:e.coordinates;if(!r)return null;var o=t(r,2);return{latitude:o[0],longitude:o[1]}}),[J]);A(k,M,N);var U=i(),X=U.companies,Y=U.canViewCompanies,Z=U.resetSafeguard;c(!T);var $=d(),_=r((function(){return Array.from(B.values())}),[B]),ee=$||0===_.length&&null===G,te=f(null==k?void 0:k.selectedWellIds),re=t(te,2),oe=re[0],se=re[1],ne=y(),ie=t(ne,3),le=ie[0],ae=ie[1],pe=ie[2],me=r((function(){if(!_)return null;var e=function(e,t){if(null==t||!t.length)return e;var r=new Set(e.map((function(e){return e.id}))),o=t.filter((function(e){return!r.has(e.id)}));return o.length>0?e.concat(o):e},t=_;return t=e(t,oe),t=e(t,le),"drilling"===R&&z&&(t=t.filter((function(e){return m(e)}))),"intervention"===R&&F&&(t=t.filter((function(e){return u(e)}))),J&&!t.some((function(e){return e.id===J.id}))&&(t=[J].concat(t)),t}),[_,J,oe,le,z,F,R]),ue=b(D),ce=t(ue,1)[0],de=j(V,me),fe=de.offsets,je=de.setOffsets,ve=de.loadExternalOffsets;v({assetId:V,loadExternalOffsets:ve});var ge=fe.wellSections,ye=fe.offsetWellsBySection,be=fe.taScores,We=fe.idasWellIds,he=fe.owsWellIds,we=fe.wellhubWellIds,Se=fe.loadedAssetId,Ce=r((function(){return!!ge&&ge.some((function(e){return e.value!==p}))}),[ge]);o((function(){je((function(e){return L(L({},e),{},{wellSections:null,offsetWellsBySection:null})}))}),[je,V]),o((function(){var e;if(ye){var t=new Set(null!==(e=null==me?void 0:me.map((function(e){return e.id})))&&void 0!==e?e:[]),r=new Set;Object.values(ye).forEach((function(e){(null!=e?e:[]).forEach((function(e){null==e||e===V||t.has(e)||r.add(e)}))})),r.size>0&&pe(Array.from(r))}}),[ye,me,V,pe]);var Pe=g(R).defaultMetricKey,Ie=h(D,null==k?void 0:k.metricsKeys,Pe),Oe=t(Ie,2),Ae=Oe[0],xe=Oe[1],Le=w(me,ge,ye,V,Ae,K),Ee=t(Le,4),Ve=Ee[0],De=Ee[1],ke=Ee[2],Ne=Ee[3],Te=C(q),Ke=Te.wellIdToInterventionNames,Me=Te.activeInterventionWellIds,Re=Te.isLoading,qe=I(q),Be=qe.assetIdToPadName,Ge=qe.isLoading,ze=Ve||ke,Fe=r((function(){if(!ze||null==X||!X.length)return ze;var e={};X.forEach((function(t){e[t.id]=t.name}));var t=ze.map((function(t){return L(L({},t),{},{companyName:e[Number(t.companyId)]||"Null"})}));return q&&(t=P(t,Ke),t=O(t,Be)),t}),[ze,X,q,Ke,Be]),He=r((function(){return J?Fe&&Fe.find((function(e){return e.id===J.id}))||J:null}),[J,Fe]),Je=a((function(e){return e.allWellsLoadProgress})),Qe=S({isLoadAllWells:T,allWellsLoadProgress:Je,wellsLength:null!==(x=null==Fe?void 0:Fe.length)&&void 0!==x?x:0,rawWellsCount:null!==(E=null==me?void 0:me.length)&&void 0!==E?E:0,areRawWellsLoading:ee,areAdvancedWellsLoading:De||Re||Ge,arePinnedWellsLoading:se,areSearchedWellsLoading:ae});return{wells:Fe,subjectWell:He,subjectWellCoords:Q,rawWellsWithSubject:me,wellSections:ge,externalOffsets:ye,taScores:be,idasWellIds:We,owsWellIds:he,wellhubWellIds:we,loadedAssetId:Se,isWellSectionColumnVisible:Ce,metricsKeys:Ae,setMetricsKeys:xe,loadingWellIds:Ne,isAllWellsLoaded:Qe,areRawWellsLoading:ee,companies:X,canViewCompanies:Y,companyProvider:ce,pinnedWells:oe,fetchSearchedWells:pe,resetSafeguard:Z,activeInterventionWellIds:Me}};export{E as useWellDataPipeline};
|
|
2
2
|
//# sourceMappingURL=useWellDataPipeline.js.map
|
package/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWellDataPipeline.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.ts"],"sourcesContent":["import { useEffect, useMemo, type Dispatch, type SetStateAction } from 'react';\n\nimport { useViewportStore } from '../../stores/viewport-store';\nimport { areWellMapsEqual } from '../../stores/viewport-store/utils/areWellMapsEqual';\nimport { useCompanySafeguard } from '../../stores/company-safeguard';\nimport type { Company } from '../../stores/company-safeguard/CompanySafeguardContext';\nimport { useFilterStore } from '../../stores/filter-store/useFilterStore';\nimport { usePickerPropsStore } from '../../stores/picker-props-store';\nimport { ALL_SECTION_KEY } from '../../constants';\nimport { isDrillingOnlyWell } from '../../utils/isDrillingOnlyWell';\nimport { isInterventionOnlyWell } from '../../utils/isInterventionOnlyWell';\nimport type { FilterableWell } from '../../utils/doesWellPassFilters';\nimport type {\n OffsetWell,\n OffsetSettingsInput,\n OffsetSettingsOutput,\n} from '../../OffsetWellPickerV5.types';\nimport type { FetchedOffsetWell } from '../../api/shared/types';\nimport { useViewportWells } from '../useViewportWells';\nimport { useTileLoading } from '../useTileLoading';\nimport { usePinnedWells } from '../usePinnedWells';\nimport {\n useExternalOffsets,\n type WellSection,\n type OffsetWellsBySection,\n type TaScore,\n} from '../useExternalOffsets';\nimport { useIdasResyncSync } from '../../stores/idas-resync-store';\nimport { getSegmentConfig } from '../../segment-config';\n\nimport { useSearchedWells } from './useSearchedWells';\nimport { useCompanyProvider } from './useCompanyProvider';\nimport { useFetchSubjectWell } from './useFetchSubjectWell';\nimport { useCompanyMetricKey } from './useCompanyMetricKey';\nimport { useAdvancedWells, type TransformedWell } from './useAdvancedWells';\nimport { computeIsAllWellsLoaded } from './utils/computeIsAllWellsLoaded';\nimport {\n useInterventionEnrichment,\n enrichWellsWithInterventionData,\n} from './useInterventionEnrichment';\nimport { usePadEnrichment, enrichWellsWithPadData } from './usePadEnrichment';\n\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\ntype UseWellDataPipelineParams = {\n subjectWellId: number | null;\n assetCompanyId: number | undefined;\n offsetSettings: OffsetSettingsInput | undefined;\n maxOffsetWellNumber: number;\n isLoadAllWells: boolean;\n open: boolean | undefined;\n onSave:\n | ((offsetSettings: OffsetSettingsOutput, selectedWells?: OffsetWell[]) => void)\n | undefined;\n};\n\ntype UseWellDataPipelineReturn = {\n wells: TransformedWell[] | null;\n subjectWell: TransformedWell | FetchedOffsetWell | null;\n subjectWellCoords: { latitude: number; longitude: number } | null;\n rawWellsWithSubject: FetchedOffsetWell[] | null;\n wellSections: WellSection[] | null;\n externalOffsets: OffsetWellsBySection | null;\n taScores: TaScore[];\n idasWellIds: number[];\n owsWellIds: number[];\n wellhubWellIds: number[];\n loadedAssetId: number | null;\n isWellSectionColumnVisible: boolean;\n metricsKeys: string[];\n setMetricsKeys: Dispatch<SetStateAction<string[]>>;\n loadingWellIds: Set<number>;\n isAllWellsLoaded: boolean;\n areRawWellsLoading: boolean;\n companies: Company[];\n canViewCompanies: boolean;\n companyProvider: string | null;\n pinnedWells: OffsetWell[] | null;\n fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;\n resetSafeguard: () => void;\n activeInterventionWellIds: Set<number>;\n};\n\nexport const useWellDataPipeline = ({\n subjectWellId,\n assetCompanyId,\n offsetSettings,\n maxOffsetWellNumber,\n isLoadAllWells,\n open,\n onSave,\n}: UseWellDataPipelineParams): UseWellDataPipelineReturn => {\n const segment = usePickerPropsStore(state => state.segment);\n const isIntervention = segment === 'intervention';\n const viewportWells = useViewportStore(state => state.wells, areWellMapsEqual);\n const viewportBounds = useViewportStore(state => state.bounds);\n const drillingWells = useFilterStore(state => state.filters.drillingWells ?? true);\n const interventionWells = useFilterStore(state => state.filters.interventionWells ?? true);\n\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n if (!coords) return null;\n const [latitude, longitude] = coords;\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const { companies, canViewCompanies, resetSafeguard } = useCompanySafeguard();\n\n useViewportWells(!isLoadAllWells);\n const isTileLoading = useTileLoading();\n\n const rawWells = useMemo(\n () => Array.from(viewportWells.values()) as FetchedOffsetWell[],\n [viewportWells]\n );\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n\n const rawWellsWithSubject = useMemo((): FetchedOffsetWell[] | null => {\n if (!rawWells) return null;\n\n const mergeUniqueById = (\n target: FetchedOffsetWell[],\n extras: OffsetWell[] | null\n ): FetchedOffsetWell[] => {\n if (!extras?.length) {\n return target;\n }\n\n const existingIds = new Set(target.map(w => w.id));\n const missing = (extras as unknown as FetchedOffsetWell[]).filter(\n w => !existingIds.has(w.id)\n );\n\n return missing.length > 0 ? target.concat(missing) : target;\n };\n\n let result: FetchedOffsetWell[] = rawWells;\n result = mergeUniqueById(result, pinnedWells);\n result = mergeUniqueById(result, searchedWells);\n\n if (segment === 'drilling' && drillingWells) {\n result = result.filter(w => isDrillingOnlyWell(w as unknown as FilterableWell));\n }\n\n if (segment === 'intervention' && interventionWells) {\n result = result.filter(w => isInterventionOnlyWell(w as unknown as FilterableWell));\n }\n\n // Subject well is prepended AFTER filtering so its full data (BIC, advanced\n // metrics, distance) always loads even when it is not a drilling well.\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [\n rawWells,\n fetchedSubjectWell,\n pinnedWells,\n searchedWells,\n drillingWells,\n interventionWells,\n segment,\n ]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const { offsets, setOffsets, loadExternalOffsets } = useExternalOffsets(\n subjectWellId,\n rawWellsWithSubject\n );\n useIdasResyncSync({ assetId: subjectWellId, loadExternalOffsets });\n const {\n wellSections,\n offsetWellsBySection: externalOffsets,\n taScores,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n loadedAssetId,\n } = offsets;\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) return false;\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setOffsets(prev => ({ ...prev, wellSections: null, offsetWellsBySection: null }));\n }, [setOffsets, subjectWellId]);\n\n // Pre-fetch synced offset wells that aren't in the local pool yet, so the Reset\n // button visibility (`useSaveResetDerivedState`) can synchronously distinguish\n // \"real well outside map radius\" from \"stale/unresolvable IDAS ID\". Results land\n // in `searchedWells` via `useSearchedWells.wellsCacheRef` and flow into\n // `rawWellsWithSubject` through `mergeUniqueById` above.\n useEffect(() => {\n if (!externalOffsets) return;\n const loaded = new Set(rawWellsWithSubject?.map(w => w.id) ?? []);\n const missing = new Set<number>();\n Object.values(externalOffsets).forEach(sectionIds => {\n (sectionIds ?? []).forEach(id => {\n if (id != null && id !== subjectWellId && !loaded.has(id)) missing.add(id);\n });\n });\n if (missing.size > 0) {\n fetchSearchedWells(Array.from(missing));\n }\n }, [externalOffsets, rawWellsWithSubject, subjectWellId, fetchSearchedWells]);\n\n const { defaultMetricKey } = getSegmentConfig(segment);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId as number,\n offsetSettings?.metricsKeys,\n defaultMetricKey\n ) as [string[], Dispatch<SetStateAction<string[]>>];\n\n const [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(\n rawWellsWithSubject,\n wellSections,\n externalOffsets,\n subjectWellId,\n metricsKeys,\n open\n );\n\n const {\n wellIdToInterventionNames,\n activeInterventionWellIds,\n isLoading: isInterventionLoading,\n } = useInterventionEnrichment(isIntervention);\n\n const { assetIdToPadName, isLoading: isPadLoading } = usePadEnrichment(isIntervention);\n\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap: Record<number, string> = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n let result = wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[Number(well.companyId)] || 'Null',\n }));\n\n if (isIntervention) {\n result = enrichWellsWithInterventionData(result, wellIdToInterventionNames);\n result = enrichWellsWithPadData(result, assetIdToPadName);\n result = result.map(well => ({\n ...well,\n lastActive: well.lastInterventionAt ?? well.lastActive,\n }));\n }\n\n return result;\n }, [\n wellsWithoutCompanyName,\n companies,\n isIntervention,\n wellIdToInterventionNames,\n assetIdToPadName,\n ]);\n\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) return null;\n if (!wells) return fetchedSubjectWell;\n return wells.find(w => w.id === fetchedSubjectWell.id) || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const allWellsLoadProgress = usePickerPropsStore(state => state.allWellsLoadProgress);\n\n const isAllWellsLoaded = computeIsAllWellsLoaded({\n isLoadAllWells,\n allWellsLoadProgress,\n wellsLength: wells?.length ?? 0,\n rawWellsCount: rawWellsWithSubject?.length ?? 0,\n areRawWellsLoading,\n areAdvancedWellsLoading: areAdvancedWellsLoading || isInterventionLoading || isPadLoading,\n arePinnedWellsLoading,\n areSearchedWellsLoading,\n });\n\n return {\n wells,\n subjectWell,\n subjectWellCoords,\n rawWellsWithSubject,\n wellSections,\n externalOffsets,\n taScores,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n loadedAssetId,\n isWellSectionColumnVisible,\n metricsKeys,\n setMetricsKeys,\n loadingWellIds,\n isAllWellsLoaded,\n areRawWellsLoading,\n companies,\n canViewCompanies,\n companyProvider,\n pinnedWells,\n fetchSearchedWells,\n resetSafeguard,\n activeInterventionWellIds,\n };\n};\n"],"names":["useWellDataPipeline","_ref","_wells$length","_rawWellsWithSubject$2","subjectWellId","assetCompanyId","offsetSettings","maxOffsetWellNumber","isLoadAllWells","open","onSave","segment","usePickerPropsStore","state","isIntervention","viewportWells","useViewportStore","wells","areWellMapsEqual","viewportBounds","bounds","drillingWells","useFilterStore","_state$filters$drilli","filters","interventionWells","_state$filters$interv","useFetchSubjectWell","fetchedSubjectWell","_slicedToArray","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","_useCompanySafeguard","useCompanySafeguard","companies","canViewCompanies","resetSafeguard","useViewportWells","isTileLoading","useTileLoading","rawWells","Array","from","values","areRawWellsLoading","length","usePinnedWells","selectedWellIds","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","rawWellsWithSubject","mergeUniqueById","target","extras","existingIds","Set","map","w","id","missing","filter","has","concat","result","isDrillingOnlyWell","isInterventionOnlyWell","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useExternalOffsets","useExternalOffsets","offsets","setOffsets","loadExternalOffsets","useIdasResyncSync","assetId","wellSections","externalOffsets","offsetWellsBySection","taScores","idasWellIds","owsWellIds","wellhubWellIds","loadedAssetId","isWellSectionColumnVisible","section","value","ALL_SECTION_KEY","useEffect","prev","_objectSpread","_rawWellsWithSubject$","loaded","Object","forEach","sectionIds","add","size","defaultMetricKey","getSegmentConfig","_ref2","useCompanyMetricKey","metricsKeys","_ref3","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","useInterventionEnrichment","wellIdToInterventionNames","activeInterventionWellIds","isInterventionLoading","isLoading","usePadEnrichment","assetIdToPadName","isPadLoading","wellsWithoutCompanyName","companyMap","company","name","well","companyName","Number","companyId","enrichWellsWithInterventionData","enrichWellsWithPadData","_well$lastInterventio","lastActive","lastInterventionAt","subjectWell","find","allWellsLoadProgress","isAllWellsLoaded","computeIsAllWellsLoaded","wellsLength","rawWellsCount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useWellDataPipeline.js","sources":["../../../../../src/components/OffsetWellPickerV5/hooks/use-well-data-pipeline/useWellDataPipeline.ts"],"sourcesContent":["import { useEffect, useMemo, type Dispatch, type SetStateAction } from 'react';\n\nimport { useViewportStore } from '../../stores/viewport-store';\nimport { areWellMapsEqual } from '../../stores/viewport-store/utils/areWellMapsEqual';\nimport { useCompanySafeguard } from '../../stores/company-safeguard';\nimport type { Company } from '../../stores/company-safeguard/CompanySafeguardContext';\nimport { useFilterStore } from '../../stores/filter-store/useFilterStore';\nimport { usePickerPropsStore } from '../../stores/picker-props-store';\nimport { ALL_SECTION_KEY } from '../../constants';\nimport { isDrillingOnlyWell } from '../../utils/isDrillingOnlyWell';\nimport { isInterventionOnlyWell } from '../../utils/isInterventionOnlyWell';\nimport type { FilterableWell } from '../../utils/doesWellPassFilters';\nimport type {\n OffsetWell,\n OffsetSettingsInput,\n OffsetSettingsOutput,\n} from '../../OffsetWellPickerV5.types';\nimport type { FetchedOffsetWell } from '../../api/shared/types';\nimport { useViewportWells } from '../useViewportWells';\nimport { useTileLoading } from '../useTileLoading';\nimport { usePinnedWells } from '../usePinnedWells';\nimport {\n useExternalOffsets,\n type WellSection,\n type OffsetWellsBySection,\n type TaScore,\n} from '../useExternalOffsets';\nimport { useIdasResyncSync } from '../../stores/idas-resync-store';\nimport { getSegmentConfig } from '../../segment-config';\n\nimport { useSearchedWells } from './useSearchedWells';\nimport { useCompanyProvider } from './useCompanyProvider';\nimport { useFetchSubjectWell } from './useFetchSubjectWell';\nimport { useCompanyMetricKey } from './useCompanyMetricKey';\nimport { useAdvancedWells, type TransformedWell } from './useAdvancedWells';\nimport { computeIsAllWellsLoaded } from './utils/computeIsAllWellsLoaded';\nimport {\n useInterventionEnrichment,\n enrichWellsWithInterventionData,\n} from './useInterventionEnrichment';\nimport { usePadEnrichment, enrichWellsWithPadData } from './usePadEnrichment';\n\nimport { useGlobalOffsetWellsSync } from '~/effects';\n\ntype UseWellDataPipelineParams = {\n subjectWellId: number | null;\n assetCompanyId: number | undefined;\n offsetSettings: OffsetSettingsInput | undefined;\n maxOffsetWellNumber: number;\n isLoadAllWells: boolean;\n open: boolean | undefined;\n onSave:\n | ((offsetSettings: OffsetSettingsOutput, selectedWells?: OffsetWell[]) => void)\n | undefined;\n};\n\ntype UseWellDataPipelineReturn = {\n wells: TransformedWell[] | null;\n subjectWell: TransformedWell | FetchedOffsetWell | null;\n subjectWellCoords: { latitude: number; longitude: number } | null;\n rawWellsWithSubject: FetchedOffsetWell[] | null;\n wellSections: WellSection[] | null;\n externalOffsets: OffsetWellsBySection | null;\n taScores: TaScore[];\n idasWellIds: number[];\n owsWellIds: number[];\n wellhubWellIds: number[];\n loadedAssetId: number | null;\n isWellSectionColumnVisible: boolean;\n metricsKeys: string[];\n setMetricsKeys: Dispatch<SetStateAction<string[]>>;\n loadingWellIds: Set<number>;\n isAllWellsLoaded: boolean;\n areRawWellsLoading: boolean;\n companies: Company[];\n canViewCompanies: boolean;\n companyProvider: string | null;\n pinnedWells: OffsetWell[] | null;\n fetchSearchedWells: (wellIds: number[]) => Promise<OffsetWell[]>;\n resetSafeguard: () => void;\n activeInterventionWellIds: Set<number>;\n};\n\nexport const useWellDataPipeline = ({\n subjectWellId,\n assetCompanyId,\n offsetSettings,\n maxOffsetWellNumber,\n isLoadAllWells,\n open,\n onSave,\n}: UseWellDataPipelineParams): UseWellDataPipelineReturn => {\n const segment = usePickerPropsStore(state => state.segment);\n const isIntervention = segment === 'intervention';\n const viewportWells = useViewportStore(state => state.wells, areWellMapsEqual);\n const viewportBounds = useViewportStore(state => state.bounds);\n const drillingWells = useFilterStore(state => state.filters.drillingWells ?? true);\n const interventionWells = useFilterStore(state => state.filters.interventionWells ?? true);\n\n const [fetchedSubjectWell] = useFetchSubjectWell(subjectWellId);\n\n const subjectWellCoords = useMemo(() => {\n const coords = fetchedSubjectWell?.topHole?.coordinates;\n if (!coords) return null;\n const [latitude, longitude] = coords;\n return { latitude, longitude };\n }, [fetchedSubjectWell]);\n\n useGlobalOffsetWellsSync(offsetSettings, onSave, maxOffsetWellNumber);\n\n const { companies, canViewCompanies, resetSafeguard } = useCompanySafeguard();\n\n useViewportWells(!isLoadAllWells);\n const isTileLoading = useTileLoading();\n\n const rawWells = useMemo(\n () => Array.from(viewportWells.values()) as FetchedOffsetWell[],\n [viewportWells]\n );\n const areRawWellsLoading = isTileLoading || (rawWells.length === 0 && viewportBounds === null);\n\n const [pinnedWells, arePinnedWellsLoading] = usePinnedWells(offsetSettings?.selectedWellIds);\n const [searchedWells, areSearchedWellsLoading, fetchSearchedWells] = useSearchedWells();\n\n const rawWellsWithSubject = useMemo((): FetchedOffsetWell[] | null => {\n if (!rawWells) return null;\n\n const mergeUniqueById = (\n target: FetchedOffsetWell[],\n extras: OffsetWell[] | null\n ): FetchedOffsetWell[] => {\n if (!extras?.length) {\n return target;\n }\n\n const existingIds = new Set(target.map(w => w.id));\n const missing = (extras as unknown as FetchedOffsetWell[]).filter(\n w => !existingIds.has(w.id)\n );\n\n return missing.length > 0 ? target.concat(missing) : target;\n };\n\n let result: FetchedOffsetWell[] = rawWells;\n result = mergeUniqueById(result, pinnedWells);\n result = mergeUniqueById(result, searchedWells);\n\n if (segment === 'drilling' && drillingWells) {\n result = result.filter(w => isDrillingOnlyWell(w as unknown as FilterableWell));\n }\n\n if (segment === 'intervention' && interventionWells) {\n result = result.filter(w => isInterventionOnlyWell(w as unknown as FilterableWell));\n }\n\n // Subject well is prepended AFTER filtering so its full data (BIC, advanced\n // metrics, distance) always loads even when it is not a drilling well.\n if (fetchedSubjectWell && !result.some(w => w.id === fetchedSubjectWell.id)) {\n result = [fetchedSubjectWell].concat(result);\n }\n\n return result;\n }, [\n rawWells,\n fetchedSubjectWell,\n pinnedWells,\n searchedWells,\n drillingWells,\n interventionWells,\n segment,\n ]);\n\n const [companyProvider] = useCompanyProvider(assetCompanyId);\n\n const { offsets, setOffsets, loadExternalOffsets } = useExternalOffsets(\n subjectWellId,\n rawWellsWithSubject\n );\n useIdasResyncSync({ assetId: subjectWellId, loadExternalOffsets });\n const {\n wellSections,\n offsetWellsBySection: externalOffsets,\n taScores,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n loadedAssetId,\n } = offsets;\n\n const isWellSectionColumnVisible = useMemo(() => {\n if (!wellSections) return false;\n return wellSections.some(section => section.value !== ALL_SECTION_KEY);\n }, [wellSections]);\n\n useEffect(() => {\n setOffsets(prev => ({ ...prev, wellSections: null, offsetWellsBySection: null }));\n }, [setOffsets, subjectWellId]);\n\n // Pre-fetch synced offset wells that aren't in the local pool yet, so the Reset\n // button visibility (`useSaveResetDerivedState`) can synchronously distinguish\n // \"real well outside map radius\" from \"stale/unresolvable IDAS ID\". Results land\n // in `searchedWells` via `useSearchedWells.wellsCacheRef` and flow into\n // `rawWellsWithSubject` through `mergeUniqueById` above.\n useEffect(() => {\n if (!externalOffsets) return;\n const loaded = new Set(rawWellsWithSubject?.map(w => w.id) ?? []);\n const missing = new Set<number>();\n Object.values(externalOffsets).forEach(sectionIds => {\n (sectionIds ?? []).forEach(id => {\n if (id != null && id !== subjectWellId && !loaded.has(id)) missing.add(id);\n });\n });\n if (missing.size > 0) {\n fetchSearchedWells(Array.from(missing));\n }\n }, [externalOffsets, rawWellsWithSubject, subjectWellId, fetchSearchedWells]);\n\n const { defaultMetricKey } = getSegmentConfig(segment);\n\n const [metricsKeys, setMetricsKeys] = useCompanyMetricKey(\n assetCompanyId as number,\n offsetSettings?.metricsKeys,\n defaultMetricKey\n ) as [string[], Dispatch<SetStateAction<string[]>>];\n\n const [wellsWithMetrics, areAdvancedWellsLoading, transformedWells, loadingWellIds] =\n useAdvancedWells(\n rawWellsWithSubject,\n wellSections,\n externalOffsets,\n subjectWellId,\n metricsKeys,\n open\n );\n\n const {\n wellIdToInterventionNames,\n activeInterventionWellIds,\n isLoading: isInterventionLoading,\n } = useInterventionEnrichment(isIntervention);\n\n const { assetIdToPadName, isLoading: isPadLoading } = usePadEnrichment(isIntervention);\n\n const wellsWithoutCompanyName = wellsWithMetrics || transformedWells;\n\n const wells = useMemo(() => {\n if (!wellsWithoutCompanyName || !companies?.length) return wellsWithoutCompanyName;\n\n const companyMap: Record<number, string> = {};\n companies.forEach(company => {\n companyMap[company.id] = company.name;\n });\n\n let result = wellsWithoutCompanyName.map(well => ({\n ...well,\n companyName: companyMap[Number(well.companyId)] || 'Null',\n }));\n\n if (isIntervention) {\n result = enrichWellsWithInterventionData(result, wellIdToInterventionNames);\n result = enrichWellsWithPadData(result, assetIdToPadName);\n }\n\n return result;\n }, [\n wellsWithoutCompanyName,\n companies,\n isIntervention,\n wellIdToInterventionNames,\n assetIdToPadName,\n ]);\n\n const subjectWell = useMemo(() => {\n if (!fetchedSubjectWell) return null;\n if (!wells) return fetchedSubjectWell;\n return wells.find(w => w.id === fetchedSubjectWell.id) || fetchedSubjectWell;\n }, [fetchedSubjectWell, wells]);\n\n const allWellsLoadProgress = usePickerPropsStore(state => state.allWellsLoadProgress);\n\n const isAllWellsLoaded = computeIsAllWellsLoaded({\n isLoadAllWells,\n allWellsLoadProgress,\n wellsLength: wells?.length ?? 0,\n rawWellsCount: rawWellsWithSubject?.length ?? 0,\n areRawWellsLoading,\n areAdvancedWellsLoading: areAdvancedWellsLoading || isInterventionLoading || isPadLoading,\n arePinnedWellsLoading,\n areSearchedWellsLoading,\n });\n\n return {\n wells,\n subjectWell,\n subjectWellCoords,\n rawWellsWithSubject,\n wellSections,\n externalOffsets,\n taScores,\n idasWellIds,\n owsWellIds,\n wellhubWellIds,\n loadedAssetId,\n isWellSectionColumnVisible,\n metricsKeys,\n setMetricsKeys,\n loadingWellIds,\n isAllWellsLoaded,\n areRawWellsLoading,\n companies,\n canViewCompanies,\n companyProvider,\n pinnedWells,\n fetchSearchedWells,\n resetSafeguard,\n activeInterventionWellIds,\n };\n};\n"],"names":["useWellDataPipeline","_ref","_wells$length","_rawWellsWithSubject$2","subjectWellId","assetCompanyId","offsetSettings","maxOffsetWellNumber","isLoadAllWells","open","onSave","segment","usePickerPropsStore","state","isIntervention","viewportWells","useViewportStore","wells","areWellMapsEqual","viewportBounds","bounds","drillingWells","useFilterStore","_state$filters$drilli","filters","interventionWells","_state$filters$interv","useFetchSubjectWell","fetchedSubjectWell","_slicedToArray","_useFetchSubjectWell","subjectWellCoords","useMemo","_fetchedSubjectWell$t","coords","topHole","coordinates","_coords","latitude","longitude","useGlobalOffsetWellsSync","_useCompanySafeguard","useCompanySafeguard","companies","canViewCompanies","resetSafeguard","useViewportWells","isTileLoading","useTileLoading","rawWells","Array","from","values","areRawWellsLoading","length","usePinnedWells","selectedWellIds","_usePinnedWells2","_usePinnedWells","pinnedWells","arePinnedWellsLoading","_useSearchedWells","useSearchedWells","_useSearchedWells2","searchedWells","areSearchedWellsLoading","fetchSearchedWells","rawWellsWithSubject","mergeUniqueById","target","extras","existingIds","Set","map","w","id","missing","filter","has","concat","result","isDrillingOnlyWell","isInterventionOnlyWell","some","useCompanyProvider","companyProvider","_useCompanyProvider","_useExternalOffsets","useExternalOffsets","offsets","setOffsets","loadExternalOffsets","useIdasResyncSync","assetId","wellSections","externalOffsets","offsetWellsBySection","taScores","idasWellIds","owsWellIds","wellhubWellIds","loadedAssetId","isWellSectionColumnVisible","section","value","ALL_SECTION_KEY","useEffect","prev","_objectSpread","_rawWellsWithSubject$","loaded","Object","forEach","sectionIds","add","size","defaultMetricKey","getSegmentConfig","_ref2","useCompanyMetricKey","metricsKeys","_ref3","setMetricsKeys","_useAdvancedWells","useAdvancedWells","_useAdvancedWells2","wellsWithMetrics","areAdvancedWellsLoading","transformedWells","loadingWellIds","useInterventionEnrichment","wellIdToInterventionNames","activeInterventionWellIds","isInterventionLoading","isLoading","usePadEnrichment","assetIdToPadName","isPadLoading","wellsWithoutCompanyName","companyMap","company","name","well","companyName","Number","companyId","enrichWellsWithInterventionData","enrichWellsWithPadData","subjectWell","find","allWellsLoadProgress","isAllWellsLoaded","computeIsAllWellsLoaded","wellsLength","rawWellsCount"],"mappings":"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"}
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from 'react';
|
|
2
2
|
import { SortDirectionType } from '../constants';
|
|
3
|
-
type SortableWell
|
|
4
|
-
id: number;
|
|
5
|
-
};
|
|
3
|
+
import { type SortableWell } from '../utils/sortWellsBy';
|
|
6
4
|
export type SortedWell = SortableWell & {
|
|
7
5
|
checked: boolean;
|
|
8
6
|
};
|
|
9
7
|
export declare const useSortedWells: (subjectWell: SortableWell | null, expandedWells: SortableWell[] | null, selectedWells: Array<{
|
|
10
8
|
id: number;
|
|
11
9
|
}>, setIsTableLoading: (value: boolean) => void, selectedWellIds: number[] | undefined) => [string, Dispatch<SetStateAction<string>>, SortDirectionType, Dispatch<SetStateAction<SortDirectionType>>, SortedWell[] | null];
|
|
12
|
-
export {};
|
|
13
10
|
//# sourceMappingURL=useSortedWells.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSortedWells.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/hooks/useSortedWells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAgC,MAAM,OAAO,CAAC;AAGzF,OAAO,EAA6B,iBAAiB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"useSortedWells.d.ts","sourceRoot":"","sources":["../../../../src/components/OffsetWellPickerV5/hooks/useSortedWells.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAgC,MAAM,OAAO,CAAC;AAGzF,OAAO,EAA6B,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEtE,MAAM,MAAM,UAAU,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAE7D,eAAO,MAAM,cAAc,gBACZ,YAAY,GAAG,IAAI,iBACjB,YAAY,EAAE,GAAG,IAAI,iBACrB,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,qBACjB,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,mBAC1B,MAAM,EAAE,GAAG,SAAS,KACpC,CACD,MAAM,EACN,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAChC,iBAAiB,EACjB,QAAQ,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,EAC3C,UAAU,EAAE,GAAG,IAAI,CA+CpB,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import r from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/slicedToArray";import
|
|
1
|
+
import r from"@babel/runtime/helpers/defineProperty";import e from"@babel/runtime/helpers/slicedToArray";import{useState as t,useMemo as n,useEffect as o}from"react";import{isEmpty as i}from"lodash";import{ColumnType as c,SortDirection as u}from"../constants.js";import{sortWellsBy as f}from"../utils/sortWellsBy.js";function p(r,e){var t=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),t.push.apply(t,n)}return t}function s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?p(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):p(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}var a=function(r,p,a,l,m){var b=t(c.distance),O=e(b,2),d=O[0],y=O[1],j=t(u.ASC),h=e(j,2),P=h[0],v=h[1],w=n((function(){if(!p)return null;var e=new Set(a.map((function(r){return r.id}))),t=e.size>0?e:new Set(m||[]),n=p.filter((function(e){return e.id!==(null==r?void 0:r.id)&&t.has(e.id)})),o=f(n,d,P),c=p.filter((function(r){return!t.has(r.id)})),u=f(c,d,P);return(r&&!i(r)?[r]:[]).concat(o).concat(u).map((function(r){return s(s({},r),{},{checked:t.has(r.id)})}))}),[p,d,P,r,a,m]);return o((function(){null!==w&&l(!1)}),[w,l]),[d,y,P,v,w]};export{a as useSortedWells};
|
|
2
2
|
//# sourceMappingURL=useSortedWells.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSortedWells.js","sources":["../../../../src/components/OffsetWellPickerV5/hooks/useSortedWells.ts"],"sourcesContent":["import { type Dispatch, type SetStateAction, useEffect, useMemo, useState } from 'react';\nimport { isEmpty } from 'lodash';\n\nimport { ColumnType, SortDirection, SortDirectionType } from '../constants';\
|
|
1
|
+
{"version":3,"file":"useSortedWells.js","sources":["../../../../src/components/OffsetWellPickerV5/hooks/useSortedWells.ts"],"sourcesContent":["import { type Dispatch, type SetStateAction, useEffect, useMemo, useState } from 'react';\nimport { isEmpty } from 'lodash';\n\nimport { ColumnType, SortDirection, SortDirectionType } from '../constants';\nimport { sortWellsBy, type SortableWell } from '../utils/sortWellsBy';\n\nexport type SortedWell = SortableWell & { checked: boolean };\n\nexport const useSortedWells = (\n subjectWell: SortableWell | null,\n expandedWells: SortableWell[] | null,\n selectedWells: Array<{ id: number }>,\n setIsTableLoading: (value: boolean) => void,\n selectedWellIds: number[] | undefined\n): [\n string,\n Dispatch<SetStateAction<string>>,\n SortDirectionType,\n Dispatch<SetStateAction<SortDirectionType>>,\n SortedWell[] | null\n] => {\n const [sortBy, setSortBy] = useState<string>(ColumnType.distance);\n const [sortDirection, setSortDirection] = useState<SortDirectionType>(SortDirection.ASC);\n\n const sortedWells = useMemo((): SortedWell[] | null => {\n if (!expandedWells) {\n return null;\n }\n\n const selectedWellIdsSet = new Set(selectedWells.map(({ id }) => id));\n\n // Use selectedWellIds from settings as fallback during initial loading\n // when selectedWells state hasn't been populated yet\n const checkedIdsSet =\n selectedWellIdsSet.size > 0 ? selectedWellIdsSet : new Set(selectedWellIds || []);\n\n // Get enriched versions of selected wells from expandedWells\n // Uses checkedIdsSet (with fallback to settings) to ensure selected wells are sorted to top during initial loading\n const enrichedSelectedWells = expandedWells.filter(\n well => well.id !== subjectWell?.id && checkedIdsSet.has(well.id)\n );\n\n const sortedSelectedWells = sortWellsBy(enrichedSelectedWells, sortBy, sortDirection);\n\n const restWells = expandedWells.filter(well => !checkedIdsSet.has(well.id));\n const sortedRestWells = sortWellsBy(restWells, sortBy, sortDirection);\n\n const combinedWells: SortableWell[] = (\n subjectWell && !isEmpty(subjectWell) ? [subjectWell] : []\n )\n .concat(sortedSelectedWells)\n .concat(sortedRestWells);\n\n return combinedWells.map(well => ({\n ...well,\n checked: checkedIdsSet.has(well.id),\n }));\n }, [expandedWells, sortBy, sortDirection, subjectWell, selectedWells, selectedWellIds]);\n\n useEffect(() => {\n if (sortedWells !== null) {\n setIsTableLoading(false);\n }\n }, [sortedWells, setIsTableLoading]);\n\n return [sortBy, setSortBy, sortDirection, setSortDirection, sortedWells];\n};\n"],"names":["useSortedWells","subjectWell","expandedWells","selectedWells","setIsTableLoading","selectedWellIds","_useState","useState","ColumnType","distance","_useState2","_slicedToArray","sortBy","setSortBy","_useState3","SortDirection","ASC","_useState4","sortDirection","setSortDirection","sortedWells","useMemo","selectedWellIdsSet","Set","map","_ref","id","checkedIdsSet","size","enrichedSelectedWells","filter","well","has","sortedSelectedWells","sortWellsBy","restWells","sortedRestWells","isEmpty","concat","_objectSpread","checked","useEffect"],"mappings":"43BAQaA,IAAAA,EAAiB,SAC5BC,EACAC,EACAC,EACAC,EACAC,GAQA,IAAAC,EAA4BC,EAAiBC,EAAWC,UAASC,EAAAC,EAAAL,EAAA,GAA1DM,EAAMF,EAAA,GAAEG,EAASH,EAAA,GACxBI,EAA0CP,EAA4BQ,EAAcC,KAAIC,EAAAN,EAAAG,EAAA,GAAjFI,EAAaD,EAAA,GAAEE,EAAgBF,EAAA,GAEhCG,EAAcC,GAAQ,WAC1B,IAAKnB,EACH,OAAO,KAGT,IAAMoB,EAAqB,IAAIC,IAAIpB,EAAcqB,KAAI,SAAAC,GAAK,SAAFC,EAAW,KAI7DC,EACJL,EAAmBM,KAAO,EAAIN,EAAqB,IAAIC,IAAIlB,GAAmB,IAI1EwB,EAAwB3B,EAAc4B,QAC1C,SAAAC,GAAI,OAAIA,EAAKL,MAAOzB,aAAAA,EAAAA,EAAayB,KAAMC,EAAcK,IAAID,EAAKL,OAG1DO,EAAsBC,EAAYL,EAAuBjB,EAAQM,GAEjEiB,EAAYjC,EAAc4B,QAAO,SAAAC,GAAI,OAAKJ,EAAcK,IAAID,EAAKL,OACjEU,EAAkBF,EAAYC,EAAWvB,EAAQM,GAQvD,OALEjB,IAAgBoC,EAAQpC,GAAe,CAACA,GAAe,IAEtDqC,OAAOL,GACPK,OAAOF,GAEWZ,KAAI,SAAAO,GAAI,OAAAQ,EAAAA,EAAA,CAAA,EACxBR,GAAI,CAAA,EAAA,CACPS,QAASb,EAAcK,IAAID,EAAKL,KAAG,GAEvC,GAAG,CAACxB,EAAeU,EAAQM,EAAejB,EAAaE,EAAeE,IAQtE,OANAoC,GAAU,WACY,OAAhBrB,GACFhB,GAAkB,EAEtB,GAAG,CAACgB,EAAahB,IAEV,CAACQ,EAAQC,EAAWK,EAAeC,EAAkBC,EAC9D"}
|