@corva/ui 3.31.0-0 → 3.31.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/Drillstring/BHAComponentDetail/constants.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentDetail/constants.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentIcon.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentIcon.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
- package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHASchematic.js +1 -1
- package/cjs-bundle/components/Drillstring/BHASchematic.js.map +1 -1
- package/cjs-bundle/components/Drillstring/BHATileIcon.js +1 -1
- package/cjs-bundle/components/Drillstring/BHATileIcon.js.map +1 -1
- package/cjs-bundle/constants/bha.js +1 -1
- package/cjs-bundle/constants/bha.js.map +1 -1
- package/cjs-bundle/constants/drillstring.js +1 -1
- package/cjs-bundle/constants/drillstring.js.map +1 -1
- package/cjs-bundle/utils/DrillstringUtils.js +1 -1
- package/cjs-bundle/utils/DrillstringUtils.js.map +1 -1
- package/cjs-bundle/utils/bha.js +1 -1
- package/cjs-bundle/utils/bha.js.map +1 -1
- package/cjs-bundle/utils/drillstring/conversion.js +1 -1
- package/cjs-bundle/utils/drillstring/conversion.js.map +1 -1
- package/cjs-bundle/utils/drillstring/schematic.js +1 -1
- package/cjs-bundle/utils/drillstring/schematic.js.map +1 -1
- package/cjs-bundle/utils/drillstring/validation.js +1 -1
- package/cjs-bundle/utils/drillstring/validation.js.map +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.js +1 -1
- package/components/Drillstring/BHAComponentDetail/constants.js.map +1 -1
- package/components/Drillstring/BHAComponentIcon.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentIcon.js +1 -1
- package/components/Drillstring/BHAComponentIcon.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/Component.js.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.d.ts.map +1 -1
- package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js +1 -1
- package/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map +1 -1
- package/components/Drillstring/BHASchematic.d.ts.map +1 -1
- package/components/Drillstring/BHASchematic.js +1 -1
- package/components/Drillstring/BHASchematic.js.map +1 -1
- package/components/Drillstring/BHATileIcon.d.ts.map +1 -1
- package/components/Drillstring/BHATileIcon.js +1 -1
- package/components/Drillstring/BHATileIcon.js.map +1 -1
- package/constants/bha.d.ts +1 -0
- package/constants/bha.d.ts.map +1 -1
- package/constants/bha.js +1 -1
- package/constants/bha.js.map +1 -1
- package/constants/drillstring.d.ts.map +1 -1
- package/constants/drillstring.js +1 -1
- package/constants/drillstring.js.map +1 -1
- package/package.json +1 -1
- package/utils/DrillstringUtils.d.ts.map +1 -1
- package/utils/DrillstringUtils.js +1 -1
- package/utils/DrillstringUtils.js.map +1 -1
- package/utils/bha.js +1 -1
- package/utils/bha.js.map +1 -1
- package/utils/drillstring/conversion.d.ts.map +1 -1
- package/utils/drillstring/conversion.js +1 -1
- package/utils/drillstring/conversion.js.map +1 -1
- package/utils/drillstring/schematic.js +1 -1
- package/utils/drillstring/schematic.js.map +1 -1
- package/utils/drillstring/validation.d.ts.map +1 -1
- package/utils/drillstring/validation.js +1 -1
- package/utils/drillstring/validation.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../../../../src/components/Drillstring/BHAComponentsTable/components/Component.js"],"sourcesContent":["import { memo, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { map, isEmpty, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { Grid, Menu, MenuItem } from '@material-ui/core';\n\nimport {\n FormatedNumber,\n ExpandCollapseButton,\n MoreButton,\n StaticField,\n ConfirmationPopup,\n} from './shared';\nimport { useStyles } from './sharedStyles';\nimport { calculateComponent } from './utils/calculation';\nimport { Browser as AgitatorBrowser, Editor as AgitatorEditor } from './Agitator';\nimport { Browser as BitBrowser, Editor as BitEditor } from './Bit';\nimport { Browser as DrillCollarBrowser, Editor as DrillCollarEditor } from './DrillCollar';\nimport { Browser as DrillPipeBrowser, Editor as DrillPipeEditor } from './DrillPipe';\nimport { Browser as JarBrowser, Editor as JarEditor } from './Jar';\nimport { Browser as LwdBrowser, Editor as LwdEditor } from './Lwd';\nimport { Browser as MwdBrowser, Editor as MwdEditor } from './Mwd';\nimport { Browser as PdmBrowser, Editor as PdmEditor } from './Pdm';\nimport { Browser as RssBrowser, Editor as RssEditor } from './Rss';\nimport { Browser as StabilizerBrowser, Editor as StabilizerEditor } from './Stabilizer';\nimport { Browser as SubBrowser, Editor as SubEditor } from './Sub';\nimport { Browser as UrBrowser, Editor as UrEditor } from './Ur';\nimport EditComponentDialog from './EditComponentDialog';\n\nimport { BHAComponentIcon as ComponentIcon } from '~/components';\nimport { COMPONENT_FAMILIES } from '~/constants/drillstring';\nimport { showErrorNotification } from '~/utils';\n\nfunction getComponentName(family) {\n return COMPONENT_FAMILIES.drilling.find(item => item.type === family)?.name || '—';\n}\n\nfunction Component({\n isMobile,\n viewColumnsPerRow,\n editColumnsPerRow,\n component,\n validate,\n isDraft,\n onCancel,\n onDelete,\n onSave,\n onChangeEditing,\n onAutocompleteApplied,\n isDragComponent,\n}) {\n const [actionAnchorEl, setActionAnchorEl] = useState(null);\n const [isOpenSaveConfirm, setIsOpenSaveConfirm] = useState(false);\n const [isOpenDeleteDialog, setIsOpenDeleteDialog] = useState(false);\n const [tempComponent, setTempComponent] = useState(component);\n const [error, setError] = useState(null);\n const [isOpenEditorDialog, setIsOpenEditorDialog] = useState(false);\n\n const classes = useStyles({ isMobile, isEditing: tempComponent.is_editing, isDragComponent });\n\n useEffect(() => {\n if (onChangeEditing) onChangeEditing(tempComponent.is_editing);\n }, [tempComponent.is_editing]);\n\n const handleExpandCollapse = () => {\n setTempComponent(prev => {\n return prev.is_expanded ? { ...prev, is_expanded: false } : { ...prev, is_expanded: true };\n });\n };\n\n const handleOpenActionMenu = e => {\n setActionAnchorEl(e.currentTarget);\n };\n\n const handleCloseActionMenu = () => {\n setActionAnchorEl(null);\n };\n\n const handleEdit = () => {\n setActionAnchorEl(null);\n setTempComponent(prev => ({ ...prev, is_editing: true }));\n };\n\n const handleConfirmDelete = () => {\n setActionAnchorEl(null);\n setIsOpenDeleteDialog(true);\n };\n\n const handleDelete = () => {\n onDelete(component);\n };\n\n const handleCancel = () => {\n setError(null);\n if (isDraft) {\n onCancel();\n return;\n }\n\n setTempComponent(component);\n };\n\n const handleChange = (key, value) => {\n const newComponent = calculateComponent(tempComponent, key, value);\n const result = validate(newComponent, isDraft);\n setTempComponent(newComponent);\n if (result) {\n setError(result.components[tempComponent.id]);\n } else {\n setError(null);\n }\n };\n\n const handleUseSuggestion = suggestion => {\n if (onAutocompleteApplied) {\n onAutocompleteApplied(true);\n }\n setTempComponent(prev => {\n return {\n ...prev,\n ...suggestion,\n };\n });\n };\n\n const handleConfirmSave = () => {\n const result = validate(tempComponent, isDraft);\n if (result) {\n setError(result.components[tempComponent.id]);\n\n // TODO: handle global errors notification\n const globalErros = {\n ...omit(result, ['general', 'components', 'specificErrors']),\n ...result.general,\n };\n if (globalErros && !isEmpty(globalErros)) {\n map(globalErros, msg => {\n showErrorNotification(msg);\n });\n }\n return;\n }\n\n setError(null);\n setIsOpenSaveConfirm(true);\n };\n\n const handleSave = () => {\n setIsOpenSaveConfirm(false);\n setIsOpenEditorDialog(false);\n\n const { is_editing, ...saving } = tempComponent;\n\n setTempComponent(saving);\n\n onSave(omit(saving, ['is_expanded']), isDraft);\n };\n\n const contentCellName = classNames(classes.cell, classes.ratioWidth, {\n [classes.focusedFontsize]: tempComponent.is_editing || tempComponent.is_expanded,\n });\n\n if (tempComponent.is_editing && !isOpenEditorDialog) {\n const { family } = tempComponent;\n\n const componentProps = {\n component: tempComponent,\n isDraft,\n error,\n onChange: handleChange,\n onUseSuggestion: handleUseSuggestion,\n onCancel: handleCancel,\n onSave: isMobile ? handleSave : handleConfirmSave,\n columns: editColumnsPerRow,\n };\n\n if (isMobile) {\n setIsOpenEditorDialog(true);\n } else {\n return (\n <div className={classes.component}>\n {(family === 'dp' || family === 'hwdp') && <DrillPipeEditor {...componentProps} />}\n {family === 'agitator' && <AgitatorEditor {...componentProps} />}\n {family === 'bit' && <BitEditor {...componentProps} />}\n {family === 'dc' && <DrillCollarEditor {...componentProps} />}\n {family === 'jar' && <JarEditor {...componentProps} />}\n {family === 'lwd' && <LwdEditor {...componentProps} />}\n {family === 'mwd' && <MwdEditor {...componentProps} />}\n {family === 'pdm' && <PdmEditor {...componentProps} />}\n {family === 'rss' && <RssEditor {...componentProps} />}\n {family === 'stabilizer' && <StabilizerEditor {...componentProps} />}\n {family === 'sub' && <SubEditor {...componentProps} />}\n {family === 'ur' && <UrEditor {...componentProps} />}\n\n {isOpenSaveConfirm && (\n <ConfirmationPopup\n title=\"Save Changes?\"\n text=\"You will not be able to recover it.\"\n okText=\"Save\"\n handleClose={() => setIsOpenSaveConfirm(false)}\n handleOk={handleSave}\n />\n )}\n </div>\n );\n }\n }\n\n return (\n <div\n className={classNames(classes.component, {\n [classes.componentMobile]: isMobile,\n [classes.componentExpandedMobile]: isMobile && tempComponent.is_expanded,\n [classes.componentActive]: Boolean(actionAnchorEl),\n })}\n >\n <div\n className={classNames(classes.row, {\n [classes.rowExpanded]: isMobile && tempComponent.is_expanded,\n })}\n >\n <div className={classNames(classes.cell, { [classes.componentMobileCell]: isMobile })}>\n <ComponentIcon component={tempComponent} />\n </div>\n <div className={contentCellName}>{getComponentName(tempComponent.family)}</div>\n {!isMobile && (\n <>\n <div className={contentCellName}>\n <FormatedNumber\n value={\n tempComponent.family === 'bit' ? tempComponent.size : tempComponent.outer_diameter\n }\n />\n </div>\n <div className={contentCellName}>\n <FormatedNumber value={tempComponent.inner_diameter} />\n </div>\n <div className={contentCellName}>\n <FormatedNumber value={tempComponent.linear_weight} />\n </div>\n <div className={contentCellName}>\n <FormatedNumber value={tempComponent.length} format=\"0.0\" />\n </div>\n </>\n )}\n <div className={classNames(classes.cell, classes.actionCell)}>\n <ExpandCollapseButton\n isExpanded={tempComponent.is_expanded}\n classes={classes}\n handleExpandCollapse={handleExpandCollapse}\n />\n <MoreButton classes={classes} handleOpenActionMenu={handleOpenActionMenu} />\n </div>\n </div>\n\n {tempComponent.is_expanded && (\n <>\n {isMobile && (\n <Grid container spacing={2} style={{ padding: '8px 4px 16px' }}>\n <StaticField\n label={tempComponent.family === 'bit' ? 'Bit Size' : 'OD'}\n unit=\"shortLength\"\n value={\n tempComponent.family === 'bit' ? tempComponent.size : tempComponent.outer_diameter\n }\n />\n {tempComponent.family !== 'bit' && (\n <StaticField label=\"ID\" unit=\"shortLength\" value={component.inner_diameter} />\n )}\n {tempComponent.family !== 'bit' && (\n <StaticField\n label=\"Linear Weight\"\n unit=\"massPerLength\"\n value={component.linear_weight}\n format=\"0.0\"\n />\n )}\n <StaticField label=\"Length\" unit=\"length\" value={component.length} format=\"0.0\" />\n </Grid>\n )}\n\n {(tempComponent.family === 'dp' || tempComponent.family === 'hwdp') && (\n <DrillPipeBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'agitator' && (\n <AgitatorBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'bit' && (\n <BitBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'dc' && (\n <DrillCollarBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'jar' && (\n <JarBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'lwd' && (\n <LwdBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'mwd' && (\n <MwdBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'pdm' && (\n <PdmBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'rss' && (\n <RssBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'stabilizer' && (\n <StabilizerBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'sub' && (\n <SubBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'ur' && (\n <UrBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n </>\n )}\n\n <Menu\n anchorEl={actionAnchorEl}\n keepMounted\n open={Boolean(actionAnchorEl)}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n onClose={handleCloseActionMenu}\n >\n <MenuItem onClick={handleEdit} className={classes.menuItem}>\n Edit\n </MenuItem>\n {tempComponent.family !== 'bit' && (\n <MenuItem onClick={handleConfirmDelete} className={classes.menuItem}>\n Delete\n </MenuItem>\n )}\n </Menu>\n\n {isOpenDeleteDialog && (\n <ConfirmationPopup\n title=\"Delete Component?\"\n text=\"You will not be able to recover it.\"\n okText=\"Delete\"\n handleClose={() => setIsOpenDeleteDialog(false)}\n handleOk={handleDelete}\n />\n )}\n\n {isOpenEditorDialog && (\n <EditComponentDialog\n component={tempComponent}\n isDraft={isDraft}\n error={error}\n onChange={handleChange}\n onUseSuggestion={handleUseSuggestion}\n onCancel={handleCancel}\n onSave={handleConfirmSave}\n onClose={() => {\n handleCancel();\n setIsOpenEditorDialog(false);\n }}\n />\n )}\n\n {isMobile && isOpenSaveConfirm && (\n <ConfirmationPopup\n title=\"Save Changes?\"\n text=\"You will not be able to recover it.\"\n okText=\"Save\"\n handleClose={() => setIsOpenSaveConfirm(false)}\n handleOk={handleSave}\n />\n )}\n </div>\n );\n}\n\nComponent.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n component: PropTypes.shape({\n family: PropTypes.string,\n size: PropTypes.number,\n outer_diameter: PropTypes.number,\n inner_diameter: PropTypes.number,\n linear_weight: PropTypes.number,\n length: PropTypes.number,\n }).isRequired,\n isDraft: PropTypes.bool,\n validate: PropTypes.func.isRequired,\n onCancel: PropTypes.func,\n onDelete: PropTypes.func,\n onSave: PropTypes.func.isRequired,\n onChangeEditing: PropTypes.func,\n viewColumnsPerRow: PropTypes.number.isRequired,\n editColumnsPerRow: PropTypes.number.isRequired,\n onAutocompleteApplied: PropTypes.func,\n isDragComponent: PropTypes.bool.isRequired,\n};\n\nComponent.defaultProps = {\n isDraft: false,\n onCancel: null,\n onDelete: null,\n onChangeEditing: undefined,\n onAutocompleteApplied: undefined,\n};\n\nexport default memo(Component);\n"],"names":["getComponentName","family","_COMPONENT_FAMILIES$d","COMPONENT_FAMILIES","drilling","find","item","type","name","Component","_ref","_classNames2","isMobile","viewColumnsPerRow","editColumnsPerRow","component","validate","isDraft","onCancel","onDelete","onSave","onChangeEditing","onAutocompleteApplied","isDragComponent","useState","_useState2","_slicedToArray","_useState","actionAnchorEl","setActionAnchorEl","_useState4","_useState3","isOpenSaveConfirm","setIsOpenSaveConfirm","_useState6","_useState5","isOpenDeleteDialog","setIsOpenDeleteDialog","_useState8","_useState7","tempComponent","setTempComponent","_useState10","_useState9","error","setError","_useState12","_useState11","isOpenEditorDialog","setIsOpenEditorDialog","classes","useStyles","isEditing","is_editing","useEffect","handleCancel","handleChange","key","value","newComponent","calculateComponent","result","components","id","handleUseSuggestion","suggestion","prev","handleConfirmSave","globalErros","omit","general","isEmpty","map","msg","showErrorNotification","handleSave","saving","_excluded","contentCellName","classNames","cell","ratioWidth","focusedFontsize","is_expanded","componentProps","onChange","onUseSuggestion","columns","_jsxs","className","children","_jsx","jsx","DrillPipeEditor","_objectSpread","AgitatorEditor","BitEditor","DrillCollarEditor","JarEditor","LwdEditor","MwdEditor","PdmEditor","RssEditor","StabilizerEditor","SubEditor","UrEditor","ConfirmationPopup","title","text","okText","handleClose","handleOk","componentMobile","componentExpandedMobile","componentActive","Boolean","jsxs","row","rowExpanded","componentMobileCell","ComponentIcon","_Fragment","FormatedNumber","size","outer_diameter","inner_diameter","linear_weight","length","format","actionCell","ExpandCollapseButton","isExpanded","handleExpandCollapse","MoreButton","handleOpenActionMenu","e","currentTarget","Grid","container","spacing","style","padding","StaticField","label","unit","DrillPipeBrowser","AgitatorBrowser","BitBrowser","DrillCollarBrowser","JarBrowser","LwdBrowser","MwdBrowser","PdmBrowser","RssBrowser","StabilizerBrowser","SubBrowser","UrBrowser","Menu","anchorEl","keepMounted","open","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","onClose","MenuItem","onClick","menuItem","EditComponentDialog","propTypes","PropTypes","bool","isRequired","shape","string","number","func","defaultProps","undefined","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../../../../src/components/Drillstring/BHAComponentsTable/components/Component.js"],"sourcesContent":["import { memo, useEffect, useState } from 'react';\nimport classNames from 'classnames';\nimport { map, isEmpty, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { Grid, Menu, MenuItem } from '@material-ui/core';\n\nimport {\n FormatedNumber,\n ExpandCollapseButton,\n MoreButton,\n StaticField,\n ConfirmationPopup,\n} from './shared';\nimport { useStyles } from './sharedStyles';\nimport { calculateComponent } from './utils/calculation';\nimport { Browser as AgitatorBrowser, Editor as AgitatorEditor } from './Agitator';\nimport { Browser as BitBrowser, Editor as BitEditor } from './Bit';\nimport { Browser as DrillCollarBrowser, Editor as DrillCollarEditor } from './DrillCollar';\nimport { Browser as DrillPipeBrowser, Editor as DrillPipeEditor } from './DrillPipe';\nimport { Browser as JarBrowser, Editor as JarEditor } from './Jar';\nimport { Browser as LwdBrowser, Editor as LwdEditor } from './Lwd';\nimport { Browser as MwdBrowser, Editor as MwdEditor } from './Mwd';\nimport { Browser as PdmBrowser, Editor as PdmEditor } from './Pdm';\nimport { Browser as RssBrowser, Editor as RssEditor } from './Rss';\nimport { Browser as StabilizerBrowser, Editor as StabilizerEditor } from './Stabilizer';\nimport { Browser as SubBrowser, Editor as SubEditor } from './Sub';\nimport { Browser as UrBrowser, Editor as UrEditor } from './Ur';\nimport EditComponentDialog from './EditComponentDialog';\n\nimport { BHAComponentIcon as ComponentIcon } from '~/components';\nimport { COMPONENT_FAMILIES } from '~/constants/drillstring';\nimport { showErrorNotification } from '~/utils';\n\nfunction getComponentName(family) {\n return COMPONENT_FAMILIES.drilling.find(item => item.type === family)?.name || '—';\n}\n\nfunction Component({\n isMobile,\n viewColumnsPerRow,\n editColumnsPerRow,\n component,\n validate,\n isDraft,\n onCancel,\n onDelete,\n onSave,\n onChangeEditing,\n onAutocompleteApplied,\n isDragComponent,\n}) {\n const [actionAnchorEl, setActionAnchorEl] = useState(null);\n const [isOpenSaveConfirm, setIsOpenSaveConfirm] = useState(false);\n const [isOpenDeleteDialog, setIsOpenDeleteDialog] = useState(false);\n const [tempComponent, setTempComponent] = useState(component);\n const [error, setError] = useState(null);\n const [isOpenEditorDialog, setIsOpenEditorDialog] = useState(false);\n\n const classes = useStyles({ isMobile, isEditing: tempComponent.is_editing, isDragComponent });\n\n useEffect(() => {\n if (onChangeEditing) onChangeEditing(tempComponent.is_editing);\n }, [tempComponent.is_editing]);\n\n const handleExpandCollapse = () => {\n setTempComponent(prev => {\n return prev.is_expanded ? { ...prev, is_expanded: false } : { ...prev, is_expanded: true };\n });\n };\n\n const handleOpenActionMenu = e => {\n setActionAnchorEl(e.currentTarget);\n };\n\n const handleCloseActionMenu = () => {\n setActionAnchorEl(null);\n };\n\n const handleEdit = () => {\n setActionAnchorEl(null);\n setTempComponent(prev => ({ ...prev, is_editing: true }));\n };\n\n const handleConfirmDelete = () => {\n setActionAnchorEl(null);\n setIsOpenDeleteDialog(true);\n };\n\n const handleDelete = () => {\n onDelete(component);\n };\n\n const handleCancel = () => {\n setError(null);\n if (isDraft) {\n onCancel();\n return;\n }\n\n setTempComponent(component);\n };\n\n const handleChange = (key, value) => {\n const newComponent = calculateComponent(tempComponent, key, value);\n const result = validate(newComponent, isDraft);\n setTempComponent(newComponent);\n if (result) {\n setError(result.components[tempComponent.id]);\n } else {\n setError(null);\n }\n };\n\n const handleUseSuggestion = suggestion => {\n if (onAutocompleteApplied) {\n onAutocompleteApplied(true);\n }\n setTempComponent(prev => {\n return {\n ...prev,\n ...suggestion,\n };\n });\n };\n\n const handleConfirmSave = () => {\n const result = validate(tempComponent, isDraft);\n if (result) {\n setError(result.components[tempComponent.id]);\n\n // TODO: handle global errors notification\n const globalErros = {\n ...omit(result, ['general', 'components', 'specificErrors']),\n ...result.general,\n };\n if (globalErros && !isEmpty(globalErros)) {\n map(globalErros, msg => {\n showErrorNotification(msg);\n });\n }\n return;\n }\n\n setError(null);\n setIsOpenSaveConfirm(true);\n };\n\n const handleSave = () => {\n setIsOpenSaveConfirm(false);\n setIsOpenEditorDialog(false);\n\n const { is_editing, ...saving } = tempComponent;\n\n setTempComponent(saving);\n\n onSave(omit(saving, ['is_expanded']), isDraft);\n };\n\n const contentCellName = classNames(classes.cell, classes.ratioWidth, {\n [classes.focusedFontsize]: tempComponent.is_editing || tempComponent.is_expanded,\n });\n\n if (tempComponent.is_editing && !isOpenEditorDialog) {\n const { family } = tempComponent;\n\n const componentProps = {\n component: tempComponent,\n isDraft,\n error,\n onChange: handleChange,\n onUseSuggestion: handleUseSuggestion,\n onCancel: handleCancel,\n onSave: isMobile ? handleSave : handleConfirmSave,\n columns: editColumnsPerRow,\n };\n\n if (isMobile) {\n setIsOpenEditorDialog(true);\n } else {\n return (\n <div className={classes.component}>\n {(family === 'dp' || family === 'hwdp') && <DrillPipeEditor {...componentProps} />}\n {family === 'agitator' && <AgitatorEditor {...componentProps} />}\n {(family === 'ags' || family === 'stabilizer') && (\n <StabilizerEditor {...componentProps} />\n )}\n {family === 'bit' && <BitEditor {...componentProps} />}\n {family === 'dc' && <DrillCollarEditor {...componentProps} />}\n {family === 'jar' && <JarEditor {...componentProps} />}\n {family === 'lwd' && <LwdEditor {...componentProps} />}\n {family === 'mwd' && <MwdEditor {...componentProps} />}\n {family === 'pdm' && <PdmEditor {...componentProps} />}\n {family === 'rss' && <RssEditor {...componentProps} />}\n {family === 'stabilizer' && <StabilizerEditor {...componentProps} />}\n {family === 'sub' && <SubEditor {...componentProps} />}\n {family === 'ur' && <UrEditor {...componentProps} />}\n\n {isOpenSaveConfirm && (\n <ConfirmationPopup\n title=\"Save Changes?\"\n text=\"You will not be able to recover it.\"\n okText=\"Save\"\n handleClose={() => setIsOpenSaveConfirm(false)}\n handleOk={handleSave}\n />\n )}\n </div>\n );\n }\n }\n\n return (\n <div\n className={classNames(classes.component, {\n [classes.componentMobile]: isMobile,\n [classes.componentExpandedMobile]: isMobile && tempComponent.is_expanded,\n [classes.componentActive]: Boolean(actionAnchorEl),\n })}\n >\n <div\n className={classNames(classes.row, {\n [classes.rowExpanded]: isMobile && tempComponent.is_expanded,\n })}\n >\n <div className={classNames(classes.cell, { [classes.componentMobileCell]: isMobile })}>\n <ComponentIcon component={tempComponent} />\n </div>\n <div className={contentCellName}>{getComponentName(tempComponent.family)}</div>\n {!isMobile && (\n <>\n <div className={contentCellName}>\n <FormatedNumber\n value={\n tempComponent.family === 'bit' ? tempComponent.size : tempComponent.outer_diameter\n }\n />\n </div>\n <div className={contentCellName}>\n <FormatedNumber value={tempComponent.inner_diameter} />\n </div>\n <div className={contentCellName}>\n <FormatedNumber value={tempComponent.linear_weight} />\n </div>\n <div className={contentCellName}>\n <FormatedNumber value={tempComponent.length} format=\"0.0\" />\n </div>\n </>\n )}\n <div className={classNames(classes.cell, classes.actionCell)}>\n <ExpandCollapseButton\n isExpanded={tempComponent.is_expanded}\n classes={classes}\n handleExpandCollapse={handleExpandCollapse}\n />\n <MoreButton classes={classes} handleOpenActionMenu={handleOpenActionMenu} />\n </div>\n </div>\n\n {tempComponent.is_expanded && (\n <>\n {isMobile && (\n <Grid container spacing={2} style={{ padding: '8px 4px 16px' }}>\n <StaticField\n label={tempComponent.family === 'bit' ? 'Bit Size' : 'OD'}\n unit=\"shortLength\"\n value={\n tempComponent.family === 'bit' ? tempComponent.size : tempComponent.outer_diameter\n }\n />\n {tempComponent.family !== 'bit' && (\n <StaticField label=\"ID\" unit=\"shortLength\" value={component.inner_diameter} />\n )}\n {tempComponent.family !== 'bit' && (\n <StaticField\n label=\"Linear Weight\"\n unit=\"massPerLength\"\n value={component.linear_weight}\n format=\"0.0\"\n />\n )}\n <StaticField label=\"Length\" unit=\"length\" value={component.length} format=\"0.0\" />\n </Grid>\n )}\n\n {(tempComponent.family === 'dp' || tempComponent.family === 'hwdp') && (\n <DrillPipeBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'agitator' && (\n <AgitatorBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {(tempComponent.family === 'ags' || tempComponent.family === 'stabilizer') && (\n <StabilizerBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'bit' && (\n <BitBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'dc' && (\n <DrillCollarBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'jar' && (\n <JarBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'lwd' && (\n <LwdBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'mwd' && (\n <MwdBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'pdm' && (\n <PdmBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'rss' && (\n <RssBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'stabilizer' && (\n <StabilizerBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'sub' && (\n <SubBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n {tempComponent.family === 'ur' && (\n <UrBrowser component={tempComponent} columns={viewColumnsPerRow} />\n )}\n </>\n )}\n\n <Menu\n anchorEl={actionAnchorEl}\n keepMounted\n open={Boolean(actionAnchorEl)}\n getContentAnchorEl={null}\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n transformOrigin={{ vertical: 'top', horizontal: 'right' }}\n onClose={handleCloseActionMenu}\n >\n <MenuItem onClick={handleEdit} className={classes.menuItem}>\n Edit\n </MenuItem>\n {tempComponent.family !== 'bit' && (\n <MenuItem onClick={handleConfirmDelete} className={classes.menuItem}>\n Delete\n </MenuItem>\n )}\n </Menu>\n\n {isOpenDeleteDialog && (\n <ConfirmationPopup\n title=\"Delete Component?\"\n text=\"You will not be able to recover it.\"\n okText=\"Delete\"\n handleClose={() => setIsOpenDeleteDialog(false)}\n handleOk={handleDelete}\n />\n )}\n\n {isOpenEditorDialog && (\n <EditComponentDialog\n component={tempComponent}\n isDraft={isDraft}\n error={error}\n onChange={handleChange}\n onUseSuggestion={handleUseSuggestion}\n onCancel={handleCancel}\n onSave={handleConfirmSave}\n onClose={() => {\n handleCancel();\n setIsOpenEditorDialog(false);\n }}\n />\n )}\n\n {isMobile && isOpenSaveConfirm && (\n <ConfirmationPopup\n title=\"Save Changes?\"\n text=\"You will not be able to recover it.\"\n okText=\"Save\"\n handleClose={() => setIsOpenSaveConfirm(false)}\n handleOk={handleSave}\n />\n )}\n </div>\n );\n}\n\nComponent.propTypes = {\n isMobile: PropTypes.bool.isRequired,\n component: PropTypes.shape({\n family: PropTypes.string,\n size: PropTypes.number,\n outer_diameter: PropTypes.number,\n inner_diameter: PropTypes.number,\n linear_weight: PropTypes.number,\n length: PropTypes.number,\n }).isRequired,\n isDraft: PropTypes.bool,\n validate: PropTypes.func.isRequired,\n onCancel: PropTypes.func,\n onDelete: PropTypes.func,\n onSave: PropTypes.func.isRequired,\n onChangeEditing: PropTypes.func,\n viewColumnsPerRow: PropTypes.number.isRequired,\n editColumnsPerRow: PropTypes.number.isRequired,\n onAutocompleteApplied: PropTypes.func,\n isDragComponent: PropTypes.bool.isRequired,\n};\n\nComponent.defaultProps = {\n isDraft: false,\n onCancel: null,\n onDelete: null,\n onChangeEditing: undefined,\n onAutocompleteApplied: undefined,\n};\n\nexport default memo(Component);\n"],"names":["getComponentName","family","_COMPONENT_FAMILIES$d","COMPONENT_FAMILIES","drilling","find","item","type","name","Component","_ref","_classNames2","isMobile","viewColumnsPerRow","editColumnsPerRow","component","validate","isDraft","onCancel","onDelete","onSave","onChangeEditing","onAutocompleteApplied","isDragComponent","useState","_useState2","_slicedToArray","_useState","actionAnchorEl","setActionAnchorEl","_useState4","_useState3","isOpenSaveConfirm","setIsOpenSaveConfirm","_useState6","_useState5","isOpenDeleteDialog","setIsOpenDeleteDialog","_useState8","_useState7","tempComponent","setTempComponent","_useState10","_useState9","error","setError","_useState12","_useState11","isOpenEditorDialog","setIsOpenEditorDialog","classes","useStyles","isEditing","is_editing","useEffect","handleCancel","handleChange","key","value","newComponent","calculateComponent","result","components","id","handleUseSuggestion","suggestion","prev","handleConfirmSave","globalErros","omit","general","isEmpty","map","msg","showErrorNotification","handleSave","saving","_excluded","contentCellName","classNames","cell","ratioWidth","focusedFontsize","is_expanded","componentProps","onChange","onUseSuggestion","columns","_jsxs","className","children","_jsx","DrillPipeEditor","AgitatorEditor","_objectSpread","jsx","StabilizerEditor","BitEditor","DrillCollarEditor","JarEditor","LwdEditor","MwdEditor","PdmEditor","RssEditor","SubEditor","UrEditor","ConfirmationPopup","title","text","okText","handleClose","handleOk","componentMobile","componentExpandedMobile","componentActive","Boolean","jsxs","row","rowExpanded","componentMobileCell","ComponentIcon","_Fragment","FormatedNumber","size","outer_diameter","inner_diameter","linear_weight","length","format","actionCell","ExpandCollapseButton","isExpanded","handleExpandCollapse","MoreButton","handleOpenActionMenu","e","currentTarget","Grid","container","spacing","style","padding","StaticField","label","unit","DrillPipeBrowser","AgitatorBrowser","StabilizerBrowser","BitBrowser","DrillCollarBrowser","JarBrowser","LwdBrowser","MwdBrowser","PdmBrowser","RssBrowser","SubBrowser","UrBrowser","Menu","anchorEl","keepMounted","open","getContentAnchorEl","anchorOrigin","vertical","horizontal","transformOrigin","onClose","MenuItem","onClick","menuItem","EditComponentDialog","propTypes","PropTypes","bool","isRequired","shape","string","number","func","defaultProps","undefined","memo"],"mappings":"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"}
|
package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("react"),i=require("prop-types"),t=require("@material-ui/core"),o=require("@material-ui/icons");require("./DrillPipe/Browser.js");var s=require("./DrillPipe/Editor.js");require("./Agitator/Browser.js");var n=require("./Agitator/Editor.js");require("./Bit/Browser.js");var a=require("./Bit/Editor.js");require("./DrillCollar/Browser.js");var l=require("./DrillCollar/Editor.js");require("./Jar/Browser.js");var c=require("./Jar/Editor.js");require("./Lwd/Browser.js");var u=require("./Lwd/Editor.js");require("./Mwd/Browser.js");var d=require("./Mwd/Editor.js");require("./Pdm/Browser.js");var p=require("./Pdm/Editor.js");require("./Rss/Browser.js");var j=require("./Rss/Editor.js");require("./Stabilizer/Browser.js");var g=require("./Stabilizer/Editor.js");require("./Sub/Browser.js");var f=require("./Sub/Editor.js");require("./Ur/Browser.js");var b=require("./Ur/Editor.js"),x=require("../../../../constants/drillstring.js"),m=require("react/jsx-runtime");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var q=h(e),v=h(i);function w(e,r){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),i.push.apply(i,t)}return i}function y(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?w(Object(i),!0).forEach((function(r){q.default(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):w(Object(i)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(i,r))}))}return e}var C=t.makeStyles((function(e){return{paper:{background:e.isLightTheme?e.palette.primary.text1:e.palette.background.b5},dialogTitle:{padding:"12px 0",borderBottom:"1px solid ".concat(e.palette.background.b7)},titleWrapper:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 16px"},title:{fontSize:"20px",fontWeight:400},closeIcon:{color:e.palette.primary.text6,"&:hover":{color:e.palette.primary.text1}},dialogContent:{padding:"0px 0px 0px 16px",flexDirection:"column",height:"100%",width:"100%",position:"relative"},dialogActions:{padding:"8px 16px",justifyContent:"space-between"},contentView:{display:"flex",height:"100%"},componentListView:{height:"100%",flex:1,overflowY:"auto",paddingRight:"16px"},bottomGradient:{position:"absolute",height:"16px",left:0,right:0,bottom:0,background:"linear-gradient(180deg, rgba(33, 33, 33, 0) 0%, ".concat(e.palette.background.b5," 100%)")}}}));function B(e){var r=e.component,i=e.isDraft,h=e.error,q=e.onChange,v=e.onUseSuggestion,w=e.onCancel,B=e.onSave,O=e.onClose,D={component:r,isDraft:i,error:h,onChange:q,onUseSuggestion:v,onCancel:w,onSave:B},E=C(),S=r.family;return m.jsxs(t.Dialog,{open:!0,onBackdropClick:O,onEscapeKeyDown:O,maxWidth:"xs",fullWidth:!0,fullScreen:!0,classes:{paper:E.paper},children:[m.jsx(t.DialogTitle,{className:E.dialogTitle,children:m.jsxs("div",{className:E.titleWrapper,children:[m.jsx(t.Typography,{className:E.title,children:function(e){if(!e)return"—";var r=x.COMPONENT_FAMILIES.drilling.find((function(r){return r.type===e}));return(null==r?void 0:r.name)||e.toUpperCase()}(S)}),m.jsx(o.Close,{onClick:O,className:E.closeIcon})]})}),m.jsx(t.DialogContent,{className:E.dialogContent,children:m.jsxs("div",{className:E.contentView,children:[m.jsxs("div",{className:E.componentListView,children:[("dp"===S||"hwdp"===S)&&m.jsx(s,y(y({},D),{},{isMobile:!0})),"
|
|
1
|
+
"use strict";var e=require("@babel/runtime/helpers/defineProperty"),r=require("react"),i=require("prop-types"),t=require("@material-ui/core"),o=require("@material-ui/icons");require("./DrillPipe/Browser.js");var s=require("./DrillPipe/Editor.js");require("./Agitator/Browser.js");var n=require("./Agitator/Editor.js");require("./Bit/Browser.js");var a=require("./Bit/Editor.js");require("./DrillCollar/Browser.js");var l=require("./DrillCollar/Editor.js");require("./Jar/Browser.js");var c=require("./Jar/Editor.js");require("./Lwd/Browser.js");var u=require("./Lwd/Editor.js");require("./Mwd/Browser.js");var d=require("./Mwd/Editor.js");require("./Pdm/Browser.js");var p=require("./Pdm/Editor.js");require("./Rss/Browser.js");var j=require("./Rss/Editor.js");require("./Stabilizer/Browser.js");var g=require("./Stabilizer/Editor.js");require("./Sub/Browser.js");var f=require("./Sub/Editor.js");require("./Ur/Browser.js");var b=require("./Ur/Editor.js"),x=require("../../../../constants/drillstring.js"),m=require("react/jsx-runtime");function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var q=h(e),v=h(i);function w(e,r){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),i.push.apply(i,t)}return i}function y(e){for(var r=1;r<arguments.length;r++){var i=null!=arguments[r]?arguments[r]:{};r%2?w(Object(i),!0).forEach((function(r){q.default(e,r,i[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):w(Object(i)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(i,r))}))}return e}var C=t.makeStyles((function(e){return{paper:{background:e.isLightTheme?e.palette.primary.text1:e.palette.background.b5},dialogTitle:{padding:"12px 0",borderBottom:"1px solid ".concat(e.palette.background.b7)},titleWrapper:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 16px"},title:{fontSize:"20px",fontWeight:400},closeIcon:{color:e.palette.primary.text6,"&:hover":{color:e.palette.primary.text1}},dialogContent:{padding:"0px 0px 0px 16px",flexDirection:"column",height:"100%",width:"100%",position:"relative"},dialogActions:{padding:"8px 16px",justifyContent:"space-between"},contentView:{display:"flex",height:"100%"},componentListView:{height:"100%",flex:1,overflowY:"auto",paddingRight:"16px"},bottomGradient:{position:"absolute",height:"16px",left:0,right:0,bottom:0,background:"linear-gradient(180deg, rgba(33, 33, 33, 0) 0%, ".concat(e.palette.background.b5," 100%)")}}}));function B(e){var r=e.component,i=e.isDraft,h=e.error,q=e.onChange,v=e.onUseSuggestion,w=e.onCancel,B=e.onSave,O=e.onClose,D={component:r,isDraft:i,error:h,onChange:q,onUseSuggestion:v,onCancel:w,onSave:B},E=C(),S=r.family;return m.jsxs(t.Dialog,{open:!0,onBackdropClick:O,onEscapeKeyDown:O,maxWidth:"xs",fullWidth:!0,fullScreen:!0,classes:{paper:E.paper},children:[m.jsx(t.DialogTitle,{className:E.dialogTitle,children:m.jsxs("div",{className:E.titleWrapper,children:[m.jsx(t.Typography,{className:E.title,children:function(e){if(!e)return"—";var r=x.COMPONENT_FAMILIES.drilling.find((function(r){return r.type===e}));return(null==r?void 0:r.name)||e.toUpperCase()}(S)}),m.jsx(o.Close,{onClick:O,className:E.closeIcon})]})}),m.jsx(t.DialogContent,{className:E.dialogContent,children:m.jsxs("div",{className:E.contentView,children:[m.jsxs("div",{className:E.componentListView,children:[("dp"===S||"hwdp"===S)&&m.jsx(s,y(y({},D),{},{isMobile:!0})),"agitator"===S&&m.jsx(n,y(y({},D),{},{isMobile:!0})),("ags"===S||"stabilizer"===S)&&m.jsx(g,y(y({},D),{},{isMobile:!0})),"dc"===S&&m.jsx(l,y(y({},D),{},{isMobile:!0})),"jar"===S&&m.jsx(c,y(y({},D),{},{isMobile:!0})),"sub"===S&&m.jsx(f,y(y({},D),{},{isMobile:!0})),"mwd"===S&&m.jsx(d,y(y({},D),{},{isMobile:!0})),"rss"===S&&m.jsx(j,y(y({},D),{},{isMobile:!0})),"pdm"===S&&m.jsx(p,y(y({},D),{},{isMobile:!0})),"bit"===S&&m.jsx(a,y(y({},D),{},{isMobile:!0})),"lwd"===S&&m.jsx(u,y(y({},D),{},{isMobile:!0})),"ur"===S&&m.jsx(b,y(y({},D),{},{isMobile:!0}))]}),m.jsx("div",{className:E.bottomGradient})]})}),m.jsxs(t.DialogActions,{className:E.dialogActions,children:[m.jsx(t.Button,{startIcon:m.jsx(o.ArrowBackIos,{}),onClick:O}),m.jsxs("div",{children:[m.jsx(t.Button,{color:"primary",style:{marginRight:"12px"},onClick:O,children:"Cancel"}),m.jsx(t.Button,{variant:"contained",color:"primary",onClick:B,children:"Save"})]})]})]})}B.propTypes={component:v.default.shape({family:v.default.string}).isRequired,isDraft:v.default.bool.isRequired,error:v.default.shape({}).isRequired,onChange:v.default.func.isRequired,onUseSuggestion:v.default.func.isRequired,onCancel:v.default.func.isRequired,onSave:v.default.func.isRequired,onClose:v.default.func.isRequired};var O=r.memo(B);module.exports=O;
|
|
2
2
|
//# sourceMappingURL=EditComponentDialog.js.map
|
package/cjs-bundle/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditComponentDialog.js","sources":["../../../../../../src/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Button,\n Typography,\n makeStyles,\n} from '@material-ui/core';\nimport { Close as CloseIcon, ArrowBackIos as BackIcon } from '@material-ui/icons';\n\nimport { Editor as DrillPipeEditor } from './DrillPipe';\nimport { Editor as AgitatorEditor } from './Agitator';\nimport { Editor as BitEditor } from './Bit';\nimport { Editor as DrillCollarEditor } from './DrillCollar';\nimport { Editor as JarEditor } from './Jar';\nimport { Editor as LwdEditor } from './Lwd';\nimport { Editor as MwdEditor } from './Mwd';\nimport { Editor as PdmEditor } from './Pdm';\nimport { Editor as RssEditor } from './Rss';\nimport { Editor as StabilizerEditor } from './Stabilizer';\nimport { Editor as SubEditor } from './Sub';\nimport { Editor as UrEditor } from './Ur';\n\nimport { COMPONENT_FAMILIES } from '~/constants/drillstring';\n\nconst useStyles = makeStyles(theme => ({\n paper: {\n background: theme.isLightTheme ? theme.palette.primary.text1 : theme.palette.background.b5,\n },\n dialogTitle: {\n padding: '12px 0',\n borderBottom: `1px solid ${theme.palette.background.b7}`,\n },\n titleWrapper: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '0 16px',\n },\n title: {\n fontSize: '20px',\n fontWeight: 400,\n },\n closeIcon: {\n color: theme.palette.primary.text6,\n '&:hover': {\n color: theme.palette.primary.text1,\n },\n },\n dialogContent: {\n padding: '0px 0px 0px 16px',\n flexDirection: 'column',\n height: '100%',\n width: '100%',\n position: 'relative',\n },\n dialogActions: {\n padding: '8px 16px',\n justifyContent: 'space-between',\n },\n contentView: {\n display: 'flex',\n height: '100%',\n },\n componentListView: {\n height: '100%',\n flex: 1,\n overflowY: 'auto',\n paddingRight: '16px',\n },\n bottomGradient: {\n position: 'absolute',\n height: '16px',\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(180deg, rgba(33, 33, 33, 0) 0%, ${theme.palette.background.b5} 100%)`,\n },\n}));\n\nfunction EditComponentDialog({\n component,\n isDraft,\n error,\n onChange,\n onUseSuggestion,\n onCancel,\n onSave,\n onClose,\n}) {\n const tempComponentProps = {\n component,\n isDraft,\n error,\n onChange,\n onUseSuggestion,\n onCancel,\n onSave,\n };\n const classes = useStyles();\n const { family } = component;\n\n const getComponentName = type => {\n if (!type) return '—';\n const matchedItem = COMPONENT_FAMILIES.drilling.find(item => item.type === type);\n return matchedItem?.name || type.toUpperCase();\n };\n\n return (\n <Dialog\n open\n onBackdropClick={onClose}\n onEscapeKeyDown={onClose}\n maxWidth=\"xs\"\n fullWidth\n fullScreen\n classes={{ paper: classes.paper }}\n >\n <DialogTitle className={classes.dialogTitle}>\n <div className={classes.titleWrapper}>\n <Typography className={classes.title}>{getComponentName(family)}</Typography>\n <CloseIcon onClick={onClose} className={classes.closeIcon} />\n </div>\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n <div className={classes.contentView}>\n <div className={classes.componentListView}>\n {(family === 'dp' || family === 'hwdp') && (\n <DrillPipeEditor {...tempComponentProps} isMobile />\n )}\n {family === 'stabilizer' && <StabilizerEditor {...tempComponentProps} isMobile />}\n {family === 'dc' && <DrillCollarEditor {...tempComponentProps} isMobile />}\n {family === 'jar' && <JarEditor {...tempComponentProps} isMobile />}\n {family === 'sub' && <SubEditor {...tempComponentProps} isMobile />}\n {family === 'mwd' && <MwdEditor {...tempComponentProps} isMobile />}\n {family === 'agitator' && <AgitatorEditor {...tempComponentProps} isMobile />}\n {family === 'rss' && <RssEditor {...tempComponentProps} isMobile />}\n {family === 'pdm' && <PdmEditor {...tempComponentProps} isMobile />}\n {family === 'bit' && <BitEditor {...tempComponentProps} isMobile />}\n {family === 'lwd' && <LwdEditor {...tempComponentProps} isMobile />}\n {family === 'ur' && <UrEditor {...tempComponentProps} isMobile />}\n </div>\n <div className={classes.bottomGradient} />\n </div>\n </DialogContent>\n <DialogActions className={classes.dialogActions}>\n <Button startIcon={<BackIcon />} onClick={onClose} />\n <div>\n <Button color=\"primary\" style={{ marginRight: '12px' }} onClick={onClose}>\n Cancel\n </Button>\n <Button variant=\"contained\" color=\"primary\" onClick={onSave}>\n Save\n </Button>\n </div>\n </DialogActions>\n </Dialog>\n );\n}\n\nEditComponentDialog.propTypes = {\n component: PropTypes.shape({ family: PropTypes.string }).isRequired,\n isDraft: PropTypes.bool.isRequired,\n error: PropTypes.shape({}).isRequired,\n onChange: PropTypes.func.isRequired,\n onUseSuggestion: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default memo(EditComponentDialog);\n"],"names":["useStyles","makeStyles","theme","paper","background","isLightTheme","palette","primary","text1","b5","dialogTitle","padding","borderBottom","b7","titleWrapper","display","alignItems","justifyContent","title","fontSize","fontWeight","closeIcon","color","text6","dialogContent","flexDirection","height","width","position","dialogActions","contentView","componentListView","flex","overflowY","paddingRight","bottomGradient","left","right","bottom","EditComponentDialog","_ref","component","isDraft","error","onChange","onUseSuggestion","onCancel","onSave","onClose","tempComponentProps","classes","family","_jsxs","Dialog","open","onBackdropClick","onEscapeKeyDown","maxWidth","fullWidth","fullScreen","children","_jsx","DialogTitle","className","jsxs","Typography","type","matchedItem","COMPONENT_FAMILIES","drilling","find","item","name","toUpperCase","getComponentName","CloseIcon","onClick","DialogContent","DrillPipeEditor","_objectSpread","isMobile","StabilizerEditor","DrillCollarEditor","JarEditor","SubEditor","MwdEditor","AgitatorEditor","RssEditor","PdmEditor","BitEditor","LwdEditor","UrEditor","jsx","DialogActions","Button","startIcon","BackIcon","ArrowBackIos","style","marginRight","variant","propTypes","PropTypes","shape","string","isRequired","bool","func","memo"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditComponentDialog.js","sources":["../../../../../../src/components/Drillstring/BHAComponentsTable/components/EditComponentDialog.js"],"sourcesContent":["import { memo } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Dialog,\n DialogTitle,\n DialogContent,\n DialogActions,\n Button,\n Typography,\n makeStyles,\n} from '@material-ui/core';\nimport { Close as CloseIcon, ArrowBackIos as BackIcon } from '@material-ui/icons';\n\nimport { Editor as DrillPipeEditor } from './DrillPipe';\nimport { Editor as AgitatorEditor } from './Agitator';\nimport { Editor as BitEditor } from './Bit';\nimport { Editor as DrillCollarEditor } from './DrillCollar';\nimport { Editor as JarEditor } from './Jar';\nimport { Editor as LwdEditor } from './Lwd';\nimport { Editor as MwdEditor } from './Mwd';\nimport { Editor as PdmEditor } from './Pdm';\nimport { Editor as RssEditor } from './Rss';\nimport { Editor as StabilizerEditor } from './Stabilizer';\nimport { Editor as SubEditor } from './Sub';\nimport { Editor as UrEditor } from './Ur';\n\nimport { COMPONENT_FAMILIES } from '~/constants/drillstring';\n\nconst useStyles = makeStyles(theme => ({\n paper: {\n background: theme.isLightTheme ? theme.palette.primary.text1 : theme.palette.background.b5,\n },\n dialogTitle: {\n padding: '12px 0',\n borderBottom: `1px solid ${theme.palette.background.b7}`,\n },\n titleWrapper: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '0 16px',\n },\n title: {\n fontSize: '20px',\n fontWeight: 400,\n },\n closeIcon: {\n color: theme.palette.primary.text6,\n '&:hover': {\n color: theme.palette.primary.text1,\n },\n },\n dialogContent: {\n padding: '0px 0px 0px 16px',\n flexDirection: 'column',\n height: '100%',\n width: '100%',\n position: 'relative',\n },\n dialogActions: {\n padding: '8px 16px',\n justifyContent: 'space-between',\n },\n contentView: {\n display: 'flex',\n height: '100%',\n },\n componentListView: {\n height: '100%',\n flex: 1,\n overflowY: 'auto',\n paddingRight: '16px',\n },\n bottomGradient: {\n position: 'absolute',\n height: '16px',\n left: 0,\n right: 0,\n bottom: 0,\n background: `linear-gradient(180deg, rgba(33, 33, 33, 0) 0%, ${theme.palette.background.b5} 100%)`,\n },\n}));\n\nfunction EditComponentDialog({\n component,\n isDraft,\n error,\n onChange,\n onUseSuggestion,\n onCancel,\n onSave,\n onClose,\n}) {\n const tempComponentProps = {\n component,\n isDraft,\n error,\n onChange,\n onUseSuggestion,\n onCancel,\n onSave,\n };\n const classes = useStyles();\n const { family } = component;\n\n const getComponentName = type => {\n if (!type) return '—';\n const matchedItem = COMPONENT_FAMILIES.drilling.find(item => item.type === type);\n return matchedItem?.name || type.toUpperCase();\n };\n\n return (\n <Dialog\n open\n onBackdropClick={onClose}\n onEscapeKeyDown={onClose}\n maxWidth=\"xs\"\n fullWidth\n fullScreen\n classes={{ paper: classes.paper }}\n >\n <DialogTitle className={classes.dialogTitle}>\n <div className={classes.titleWrapper}>\n <Typography className={classes.title}>{getComponentName(family)}</Typography>\n <CloseIcon onClick={onClose} className={classes.closeIcon} />\n </div>\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n <div className={classes.contentView}>\n <div className={classes.componentListView}>\n {(family === 'dp' || family === 'hwdp') && (\n <DrillPipeEditor {...tempComponentProps} isMobile />\n )}\n {family === 'agitator' && <AgitatorEditor {...tempComponentProps} isMobile />}\n {(family === 'ags' || family === 'stabilizer') && (\n <StabilizerEditor {...tempComponentProps} isMobile />\n )}\n {family === 'dc' && <DrillCollarEditor {...tempComponentProps} isMobile />}\n {family === 'jar' && <JarEditor {...tempComponentProps} isMobile />}\n {family === 'sub' && <SubEditor {...tempComponentProps} isMobile />}\n {family === 'mwd' && <MwdEditor {...tempComponentProps} isMobile />}\n {family === 'rss' && <RssEditor {...tempComponentProps} isMobile />}\n {family === 'pdm' && <PdmEditor {...tempComponentProps} isMobile />}\n {family === 'bit' && <BitEditor {...tempComponentProps} isMobile />}\n {family === 'lwd' && <LwdEditor {...tempComponentProps} isMobile />}\n {family === 'ur' && <UrEditor {...tempComponentProps} isMobile />}\n </div>\n <div className={classes.bottomGradient} />\n </div>\n </DialogContent>\n <DialogActions className={classes.dialogActions}>\n <Button startIcon={<BackIcon />} onClick={onClose} />\n <div>\n <Button color=\"primary\" style={{ marginRight: '12px' }} onClick={onClose}>\n Cancel\n </Button>\n <Button variant=\"contained\" color=\"primary\" onClick={onSave}>\n Save\n </Button>\n </div>\n </DialogActions>\n </Dialog>\n );\n}\n\nEditComponentDialog.propTypes = {\n component: PropTypes.shape({ family: PropTypes.string }).isRequired,\n isDraft: PropTypes.bool.isRequired,\n error: PropTypes.shape({}).isRequired,\n onChange: PropTypes.func.isRequired,\n onUseSuggestion: PropTypes.func.isRequired,\n onCancel: PropTypes.func.isRequired,\n onSave: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n};\n\nexport default memo(EditComponentDialog);\n"],"names":["useStyles","makeStyles","theme","paper","background","isLightTheme","palette","primary","text1","b5","dialogTitle","padding","borderBottom","b7","titleWrapper","display","alignItems","justifyContent","title","fontSize","fontWeight","closeIcon","color","text6","dialogContent","flexDirection","height","width","position","dialogActions","contentView","componentListView","flex","overflowY","paddingRight","bottomGradient","left","right","bottom","EditComponentDialog","_ref","component","isDraft","error","onChange","onUseSuggestion","onCancel","onSave","onClose","tempComponentProps","classes","family","_jsxs","Dialog","open","onBackdropClick","onEscapeKeyDown","maxWidth","fullWidth","fullScreen","children","_jsx","DialogTitle","className","jsxs","Typography","type","matchedItem","COMPONENT_FAMILIES","drilling","find","item","name","toUpperCase","getComponentName","CloseIcon","onClick","DialogContent","DrillPipeEditor","_objectSpread","isMobile","AgitatorEditor","StabilizerEditor","DrillCollarEditor","JarEditor","SubEditor","MwdEditor","RssEditor","PdmEditor","BitEditor","LwdEditor","UrEditor","jsx","DialogActions","Button","startIcon","BackIcon","ArrowBackIos","style","marginRight","variant","propTypes","PropTypes","shape","string","isRequired","bool","func","memo"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("react"),i=require("prop-types"),r=require("react/jsx-runtime");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var
|
|
1
|
+
"use strict";var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("react"),i=require("prop-types"),r=require("react/jsx-runtime");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(e),h=l(i),c="#239FE6",n="#085EDF",s="#C208DF",u="yellow",o="#8398A5",f="#dd375e",d="#44ff44";function p(e){var i=e.schematic,l=e.containerWidth,h=e.containerHeight,p=t.useRef(),y=t.useRef();t.useEffect((function(){var e=p.current,t=e.getContext("2d"),r=y.current,l=r.clientWidth,h=r.clientHeight;e.width=l-8,e.height=h,e.style.width="".concat(l-8,"px"),e.style.height="".concat(h,"px");var g=i.filter((function(e){return["bit","stabilizer","ags","ur"].includes(e.family)})).length,b=i.filter((function(e){return["pdm","rss"].includes(e.family)})).length,x=(l-6*g)/(i.filter((function(e){return"other"===e.family})).length+2*b),m=[],w=0;a.default(i).reverse().forEach((function(e){var t=0;switch(t=["bit","stabilizer","ags","ur"].includes(e.family)?6:["pdm","rss"].includes(e.family)?2*x:x,e.family){case"bit":m.push({type:"rect",x:w,y:h/2-6,width:t,height:12,fillColor:"pdc"===e.bitType?c:n});break;case"ur":m.push({type:"rect",x:w,y:h/2-6,width:t,height:12,fillColor:d});break;case"pdm":e.hasStabilizer?m.push({type:"rect",x:w+(t/2-3),y:h/2-6,width:6,height:12,fillColor:u},{type:"rect",x:w,y:h/2-2,width:t,height:4,fillColor:s}):m.push({type:"rect",x:w,y:h/2-2,width:t,height:4,fillColor:s});break;case"rss":m.push({type:"rect",x:w,y:h/2-2,width:t,height:4,fillColor:f});break;case"stabilizer":case"ags":m.push({type:"rect",x:w,y:h/2-6,width:t,height:12,fillColor:u});break;case"other":m.push({type:"rect",x:w,y:h/2-2,width:t,height:4,fillColor:o})}w+=t})),m.forEach((function(e){t.fillStyle=e.fillColor,t.fillRect(e.x,e.y,e.width,e.height)}))}));var g={width:l?"".concat(l,"px"):"100%",height:h?"".concat(h,"px"):"100%"};return r.jsx("div",{ref:y,style:g,children:r.jsx("canvas",{ref:p})})}p.propTypes={containerWidth:h.default.number,containerHeight:h.default.number,schematic:h.default.arrayOf(h.default.shape({})).isRequired},p.defaultProps={containerWidth:null,containerHeight:null},module.exports=p;
|
|
2
2
|
//# sourceMappingURL=BHASchematic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BHASchematic.js","sources":["../../../../src/components/Drillstring/BHASchematic.js"],"sourcesContent":["import { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst COLORS = {\n pdcBit: '#239FE6',\n triconeBit: '#085EDF',\n pdm: '#C208DF',\n stabilizer: 'yellow',\n other: '#8398A5',\n rss: '#dd375e',\n ur: '#44ff44',\n};\n\nconst BIT_WIDTH = 6;\nconst PDM_HEIGHT = 4;\nconst HORIZONTAL_MARGIN = 8;\n\nfunction BHASchematic({ schematic, containerWidth, containerHeight }) {\n const canvasRef = useRef();\n const containerRef = useRef();\n\n useEffect(() => {\n const canvas = canvasRef.current;\n const context = canvas.getContext('2d');\n\n const { clientWidth: width, clientHeight: height } = containerRef.current;\n\n canvas.width = width - HORIZONTAL_MARGIN;\n canvas.height = height;\n canvas.style.width = `${width - HORIZONTAL_MARGIN}px`;\n canvas.style.height = `${height}px`;\n\n // NOTE: Count each comonents by family\n const bitStabCount = schematic.filter(item =>\n ['bit', 'stabilizer', 'ur'].includes(item.family)\n ).length;\n const pdmRssCount = schematic.filter(item => ['pdm', 'rss'].includes(item.family)).length;\n const nonMagCount = schematic.filter(item => item.family === 'other').length;\n\n // NOTE: Bit, Stabilizer --> width: 12px\n // Pdm, rss length ---> Non mag length * 2\n const nonMagLength = (width - BIT_WIDTH * bitStabCount) / (nonMagCount + pdmRssCount * 2);\n\n const dataToDraw = [];\n let x = 0;\n [...schematic].reverse().forEach(item => {\n let barWidth = 0;\n if (['bit', 'stabilizer', 'ur'].includes(item.family)) {\n barWidth = BIT_WIDTH;\n } else if (['pdm', 'rss'].includes(item.family)) {\n barWidth = nonMagLength * 2;\n } else {\n barWidth = nonMagLength;\n }\n\n switch (item.family) {\n case 'bit':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - BIT_WIDTH,\n width: barWidth,\n height: BIT_WIDTH * 2,\n fillColor: item.bitType === 'pdc' ? COLORS.pdcBit : COLORS.triconeBit,\n });\n break;\n case 'ur':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - BIT_WIDTH,\n width: barWidth,\n height: BIT_WIDTH * 2,\n fillColor: COLORS.ur,\n });\n break;\n case 'pdm':\n if (item.hasStabilizer) {\n dataToDraw.push(\n {\n type: 'rect',\n x: x + (barWidth / 2 - BIT_WIDTH / 2),\n y: height / 2 - BIT_WIDTH,\n width: BIT_WIDTH,\n height: BIT_WIDTH * 2,\n fillColor: COLORS.stabilizer,\n },\n {\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.pdm,\n }\n );\n } else {\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.pdm,\n });\n }\n break;\n case 'rss':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.rss,\n });\n break;\n case 'stabilizer':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - BIT_WIDTH,\n width: barWidth,\n height: BIT_WIDTH * 2,\n fillColor: COLORS.stabilizer,\n });\n break;\n case 'other':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.other,\n });\n break;\n default:\n break;\n }\n\n x += barWidth;\n });\n\n dataToDraw.forEach(item => {\n context.fillStyle = item.fillColor;\n context.fillRect(item.x, item.y, item.width, item.height);\n });\n });\n\n const containerStyle = {\n width: containerWidth ? `${containerWidth}px` : '100%',\n height: containerHeight ? `${containerHeight}px` : '100%',\n };\n\n return (\n <div ref={containerRef} style={containerStyle}>\n <canvas ref={canvasRef} />\n </div>\n );\n}\n\nBHASchematic.propTypes = {\n containerWidth: PropTypes.number,\n containerHeight: PropTypes.number,\n schematic: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n};\n\nBHASchematic.defaultProps = {\n containerWidth: null,\n containerHeight: null,\n};\n\nexport default BHASchematic;\n"],"names":["COLORS","BHASchematic","_ref","schematic","containerWidth","containerHeight","canvasRef","useRef","containerRef","useEffect","canvas","current","context","getContext","width","clientWidth","height","clientHeight","style","concat","bitStabCount","filter","item","includes","family","length","pdmRssCount","nonMagLength","dataToDraw","x","_toConsumableArray","reverse","forEach","barWidth","push","type","y","BIT_WIDTH","fillColor","bitType","hasStabilizer","PDM_HEIGHT","fillStyle","fillRect","containerStyle","_jsx","ref","children","jsx","propTypes","PropTypes","number","arrayOf","shape","isRequired","defaultProps"],"mappings":"2OAGMA,EACI,UADJA,EAEQ,UAFRA,EAGC,UAHDA,EAIQ,SAJRA,EAKG,UALHA,EAMC,UANDA,EAOA,UAON,SAASC,EAA6DC,GAAA,IAA9CC,IAAAA,UAAWC,IAAAA,eAAgBC,IAAAA,gBAC3CC,EAAYC,EAAAA,SACZC,EAAeD,EAAAA,SAErBE,EAAAA,WAAU,WACR,IAAMC,EAASJ,EAAUK,QACnBC,EAAUF,EAAOG,WAAW,MAEmBL,EAAAA,EAAaG,QAA7CG,IAAbC,YAAkCC,IAAdC,aAE5BP,EAAOI,MAAQA,EAZO,EAatBJ,EAAOM,OAASA,EAChBN,EAAOQ,MAAMJ,gBAAWA,EAdF,EAc+B,MACrDJ,EAAOQ,MAAMF,OAAM,GAAAG,OAAMH,EAAU,MAGnC,IAAMI,EAAejB,EAAUkB,QAAO,SAAAC,GAAI,MACxC,CAAC,MAAO,aAAc,MAAMC,SAASD,EAAKE,OAAO,
|
|
1
|
+
{"version":3,"file":"BHASchematic.js","sources":["../../../../src/components/Drillstring/BHASchematic.js"],"sourcesContent":["import { useRef, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nconst COLORS = {\n pdcBit: '#239FE6',\n triconeBit: '#085EDF',\n pdm: '#C208DF',\n stabilizer: 'yellow',\n other: '#8398A5',\n rss: '#dd375e',\n ur: '#44ff44',\n};\n\nconst BIT_WIDTH = 6;\nconst PDM_HEIGHT = 4;\nconst HORIZONTAL_MARGIN = 8;\n\nfunction BHASchematic({ schematic, containerWidth, containerHeight }) {\n const canvasRef = useRef();\n const containerRef = useRef();\n\n useEffect(() => {\n const canvas = canvasRef.current;\n const context = canvas.getContext('2d');\n\n const { clientWidth: width, clientHeight: height } = containerRef.current;\n\n canvas.width = width - HORIZONTAL_MARGIN;\n canvas.height = height;\n canvas.style.width = `${width - HORIZONTAL_MARGIN}px`;\n canvas.style.height = `${height}px`;\n\n // NOTE: Count each comonents by family\n const bitStabCount = schematic.filter(item =>\n ['bit', 'stabilizer', 'ags', 'ur'].includes(item.family)\n ).length;\n const pdmRssCount = schematic.filter(item => ['pdm', 'rss'].includes(item.family)).length;\n const nonMagCount = schematic.filter(item => item.family === 'other').length;\n\n // NOTE: Bit, Stabilizer --> width: 12px\n // Pdm, rss length ---> Non mag length * 2\n const nonMagLength = (width - BIT_WIDTH * bitStabCount) / (nonMagCount + pdmRssCount * 2);\n\n const dataToDraw = [];\n let x = 0;\n [...schematic].reverse().forEach(item => {\n let barWidth = 0;\n if (['bit', 'stabilizer', 'ags', 'ur'].includes(item.family)) {\n barWidth = BIT_WIDTH;\n } else if (['pdm', 'rss'].includes(item.family)) {\n barWidth = nonMagLength * 2;\n } else {\n barWidth = nonMagLength;\n }\n\n switch (item.family) {\n case 'bit':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - BIT_WIDTH,\n width: barWidth,\n height: BIT_WIDTH * 2,\n fillColor: item.bitType === 'pdc' ? COLORS.pdcBit : COLORS.triconeBit,\n });\n break;\n case 'ur':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - BIT_WIDTH,\n width: barWidth,\n height: BIT_WIDTH * 2,\n fillColor: COLORS.ur,\n });\n break;\n case 'pdm':\n if (item.hasStabilizer) {\n dataToDraw.push(\n {\n type: 'rect',\n x: x + (barWidth / 2 - BIT_WIDTH / 2),\n y: height / 2 - BIT_WIDTH,\n width: BIT_WIDTH,\n height: BIT_WIDTH * 2,\n fillColor: COLORS.stabilizer,\n },\n {\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.pdm,\n }\n );\n } else {\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.pdm,\n });\n }\n break;\n case 'rss':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.rss,\n });\n break;\n case 'stabilizer':\n case 'ags':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - BIT_WIDTH,\n width: barWidth,\n height: BIT_WIDTH * 2,\n fillColor: COLORS.stabilizer,\n });\n break;\n case 'other':\n dataToDraw.push({\n type: 'rect',\n x,\n y: height / 2 - PDM_HEIGHT / 2,\n width: barWidth,\n height: PDM_HEIGHT,\n fillColor: COLORS.other,\n });\n break;\n default:\n break;\n }\n\n x += barWidth;\n });\n\n dataToDraw.forEach(item => {\n context.fillStyle = item.fillColor;\n context.fillRect(item.x, item.y, item.width, item.height);\n });\n });\n\n const containerStyle = {\n width: containerWidth ? `${containerWidth}px` : '100%',\n height: containerHeight ? `${containerHeight}px` : '100%',\n };\n\n return (\n <div ref={containerRef} style={containerStyle}>\n <canvas ref={canvasRef} />\n </div>\n );\n}\n\nBHASchematic.propTypes = {\n containerWidth: PropTypes.number,\n containerHeight: PropTypes.number,\n schematic: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n};\n\nBHASchematic.defaultProps = {\n containerWidth: null,\n containerHeight: null,\n};\n\nexport default BHASchematic;\n"],"names":["COLORS","BHASchematic","_ref","schematic","containerWidth","containerHeight","canvasRef","useRef","containerRef","useEffect","canvas","current","context","getContext","width","clientWidth","height","clientHeight","style","concat","bitStabCount","filter","item","includes","family","length","pdmRssCount","nonMagLength","dataToDraw","x","_toConsumableArray","reverse","forEach","barWidth","push","type","y","BIT_WIDTH","fillColor","bitType","hasStabilizer","PDM_HEIGHT","fillStyle","fillRect","containerStyle","_jsx","ref","children","jsx","propTypes","PropTypes","number","arrayOf","shape","isRequired","defaultProps"],"mappings":"2OAGMA,EACI,UADJA,EAEQ,UAFRA,EAGC,UAHDA,EAIQ,SAJRA,EAKG,UALHA,EAMC,UANDA,EAOA,UAON,SAASC,EAA6DC,GAAA,IAA9CC,IAAAA,UAAWC,IAAAA,eAAgBC,IAAAA,gBAC3CC,EAAYC,EAAAA,SACZC,EAAeD,EAAAA,SAErBE,EAAAA,WAAU,WACR,IAAMC,EAASJ,EAAUK,QACnBC,EAAUF,EAAOG,WAAW,MAEmBL,EAAAA,EAAaG,QAA7CG,IAAbC,YAAkCC,IAAdC,aAE5BP,EAAOI,MAAQA,EAZO,EAatBJ,EAAOM,OAASA,EAChBN,EAAOQ,MAAMJ,gBAAWA,EAdF,EAc+B,MACrDJ,EAAOQ,MAAMF,OAAM,GAAAG,OAAMH,EAAU,MAGnC,IAAMI,EAAejB,EAAUkB,QAAO,SAAAC,GAAI,MACxC,CAAC,MAAO,aAAc,MAAO,MAAMC,SAASD,EAAKE,OAAO,IACxDC,OACIC,EAAcvB,EAAUkB,QAAO,SAAAC,GAAI,MAAI,CAAC,MAAO,OAAOC,SAASD,EAAKE,OAAO,IAAEC,OAK7EE,GAAgBb,EA5BR,EA4B4BM,IAJtBjB,EAAUkB,QAAO,SAAAC,GAAI,MAAoB,UAAhBA,EAAKE,MAAkB,IAAEC,OAIiB,EAAdC,GAEnEE,EAAa,GACfC,EAAI,EACRC,EAAI3B,QAAAA,GAAW4B,UAAUC,SAAQ,SAAAV,GAC/B,IAAIW,EAAW,EASf,OAPEA,EADE,CAAC,MAAO,aAAc,MAAO,MAAMV,SAASD,EAAKE,QAlCzC,EAoCD,CAAC,MAAO,OAAOD,SAASD,EAAKE,QACZ,EAAfG,EAEAA,EAGLL,EAAKE,QACX,IAAK,MACHI,EAAWM,KAAK,CACdC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EA/CN,EAgDNF,MAAOmB,EACPjB,OAAQqB,GACRC,UAA4B,QAAjBhB,EAAKiB,QAAoBvC,EAAgBA,IAEtD,MACF,IAAK,KACH4B,EAAWM,KAAK,CACdC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EAzDN,EA0DNF,MAAOmB,EACPjB,OAAQqB,GACRC,UAAWtC,IAEb,MACF,IAAK,MACCsB,EAAKkB,cACPZ,EAAWM,KACT,CACEC,KAAM,OACNN,EAAGA,GAAKI,EAAW,EAAII,GACvBD,EAAGpB,EAAS,EArEV,EAsEFF,MAtEE,EAuEFE,OAAQqB,GACRC,UAAWtC,GAEb,CACEmC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EAAIyB,EAChB3B,MAAOmB,EACPjB,OA9EG,EA+EHsB,UAAWtC,IAIf4B,EAAWM,KAAK,CACdC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EAAIyB,EAChB3B,MAAOmB,EACPjB,OAxFK,EAyFLsB,UAAWtC,IAGf,MACF,IAAK,MACH4B,EAAWM,KAAK,CACdC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EAAIyB,EAChB3B,MAAOmB,EACPjB,OAnGO,EAoGPsB,UAAWtC,IAEb,MACF,IAAK,aACL,IAAK,MACH4B,EAAWM,KAAK,CACdC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EA7GN,EA8GNF,MAAOmB,EACPjB,OAAQqB,GACRC,UAAWtC,IAEb,MACF,IAAK,QACH4B,EAAWM,KAAK,CACdC,KAAM,OACNN,EAAAA,EACAO,EAAGpB,EAAS,EAAIyB,EAChB3B,MAAOmB,EACPjB,OAxHO,EAyHPsB,UAAWtC,IAOjB6B,GAAKI,CACP,IAEAL,EAAWI,SAAQ,SAAAV,GACjBV,EAAQ8B,UAAYpB,EAAKgB,UACzB1B,EAAQ+B,SAASrB,EAAKO,EAAGP,EAAKc,EAAGd,EAAKR,MAAOQ,EAAKN,OACpD,GACF,IAEA,IAAM4B,EAAiB,CACrB9B,MAAOV,EAAoBA,GAAAA,OAAAA,QAAqB,OAChDY,OAAQX,EAAqBA,GAAAA,OAAAA,EAAsB,MAAA,QAGrD,OACEwC,EAAAA,IAAA,MAAA,CAAKC,IAAKtC,EAAcU,MAAO0B,EAAeG,SAC5CF,EAAAG,IAAA,SAAA,CAAQF,IAAKxC,KAGnB,CAEAL,EAAagD,UAAY,CACvB7C,eAAgB8C,EAAS,QAACC,OAC1B9C,gBAAiB6C,EAAS,QAACC,OAC3BhD,UAAW+C,EAAS,QAACE,QAAQF,EAAAA,QAAUG,MAAM,CAAA,IAAKC,YAGpDrD,EAAasD,aAAe,CAC1BnD,eAAgB,KAChBC,gBAAiB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("prop-types"),t=require("@material-ui/core"),i=require("react/jsx-runtime");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=a(e),s="/static/media/
|
|
1
|
+
"use strict";var e=require("prop-types"),t=require("@material-ui/core"),i=require("react/jsx-runtime");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=a(e),s="/static/media/3f3100ae49e552599e0bbd9b60eb783d.svg",d="/static/media/7dcfb5193fd2f60e28374f31ee0a26bf.svg",c={bit:"Bit",other:"Non Magnetic",pdm:"PDM",rss:"Rotary Steerables",stabilizer:"Stabilizer",ags:"AGS"},n=t.makeStyles({iconWrapper:{width:function(e){return e.width},height:function(e){return e.height}},tileIcon:{width:"100%",height:"100%"}});function f(e){var a,r=e.component,f=e.width,l=e.height,o=r.family,u=(r.material,n({width:f,height:l}));return a="bit"===o?"/static/media/50e73f59728296f6d5a248384d53193a.svg":"pdm"===o?"/static/media/d8f7c4b371a4666ca44cae9ec3058c26.svg":"rss"===o?"/static/media/bf34c472868f0f04afd2523062f9f363.svg":"stabilizer"===o||"ags"===o?s:d,i.jsx(t.Tooltip,{title:c[o]||c.other,placement:"bottom",children:i.jsx("div",{className:u.iconWrapper,children:i.jsx("img",{src:a,className:u.tileIcon,alt:o})})})}f.propTypes={width:r.default.string.isRequired,height:r.default.number.isRequired,component:r.default.shape({family:r.default.string,material:r.default.string,bit_type:r.default.string}).isRequired},module.exports=f;
|
|
2
2
|
//# sourceMappingURL=BHATileIcon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BHATileIcon.js","sources":["../../../../src/components/Drillstring/BHATileIcon.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Tooltip, makeStyles } from '@material-ui/core';\n\nimport BitIcon from './assets/small-bha/bit.svg';\nimport PdmIcon from './assets/small-bha/pdm.svg';\nimport RssIcon from './assets/small-bha/rss.svg';\nimport StabilizerIcon from './assets/small-bha/stabilizer.svg';\nimport NonMagIcon from './assets/small-bha/non-mag.svg';\n\nconst TileTooltip = {\n bit: 'Bit',\n other: 'Non Magnetic',\n pdm: 'PDM',\n rss: 'Rotary Steerables',\n stabilizer: 'Stabilizer',\n};\n\nconst useStyles = makeStyles({\n iconWrapper: {\n width: ({ width }) => width,\n height: ({ height }) => height,\n },\n tileIcon: {\n width: '100%',\n height: '100%',\n },\n});\n\nfunction BHATileIcon({ component, width, height }) {\n const { family, material } = component;\n const classes = useStyles({ width, height });\n\n let icon;\n if (family === 'bit') {\n icon = BitIcon;\n } else if (family === 'pdm') {\n icon = PdmIcon;\n } else if (family === 'rss') {\n icon = RssIcon;\n } else if (family === 'stabilizer') {\n icon = StabilizerIcon;\n } else if (family === 'other' || material === 'Non Magnetic') {\n icon = NonMagIcon;\n } else {\n icon = NonMagIcon;\n }\n\n return (\n <Tooltip title={TileTooltip[family] || TileTooltip.other} placement=\"bottom\">\n <div className={classes.iconWrapper}>\n <img src={icon} className={classes.tileIcon} alt={family} />\n </div>\n </Tooltip>\n );\n}\n\nBHATileIcon.propTypes = {\n width: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n component: PropTypes.shape({\n family: PropTypes.string,\n material: PropTypes.string,\n bit_type: PropTypes.string,\n }).isRequired,\n};\n\nexport default BHATileIcon;\n"],"names":["NonMagIcon","TileTooltip","bit","other","pdm","rss","stabilizer","useStyles","makeStyles","iconWrapper","width","_ref","height","_ref2","tileIcon","BHATileIcon","_ref3","icon","component","family","classes","material","_jsx","Tooltip","title","placement","children","jsx","className","src","alt","propTypes","PropTypes","string","isRequired","number","shape","bit_type"],"mappings":"0LACwDA,EAAA,qDAQlDC,EAAc,CAClBC,IAAK,MACLC,MAAO,eACPC,IAAK,MACLC,IAAK,oBACLC,WAAY,
|
|
1
|
+
{"version":3,"file":"BHATileIcon.js","sources":["../../../../src/components/Drillstring/BHATileIcon.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { Tooltip, makeStyles } from '@material-ui/core';\n\nimport BitIcon from './assets/small-bha/bit.svg';\nimport PdmIcon from './assets/small-bha/pdm.svg';\nimport RssIcon from './assets/small-bha/rss.svg';\nimport StabilizerIcon from './assets/small-bha/stabilizer.svg';\nimport NonMagIcon from './assets/small-bha/non-mag.svg';\n\nconst TileTooltip = {\n bit: 'Bit',\n other: 'Non Magnetic',\n pdm: 'PDM',\n rss: 'Rotary Steerables',\n stabilizer: 'Stabilizer',\n ags: 'AGS',\n};\n\nconst useStyles = makeStyles({\n iconWrapper: {\n width: ({ width }) => width,\n height: ({ height }) => height,\n },\n tileIcon: {\n width: '100%',\n height: '100%',\n },\n});\n\nfunction BHATileIcon({ component, width, height }) {\n const { family, material } = component;\n const classes = useStyles({ width, height });\n\n let icon;\n if (family === 'bit') {\n icon = BitIcon;\n } else if (family === 'pdm') {\n icon = PdmIcon;\n } else if (family === 'rss') {\n icon = RssIcon;\n } else if (family === 'stabilizer') {\n icon = StabilizerIcon;\n } else if (family === 'ags') {\n icon = StabilizerIcon;\n } else if (family === 'other' || material === 'Non Magnetic') {\n icon = NonMagIcon;\n } else {\n icon = NonMagIcon;\n }\n\n return (\n <Tooltip title={TileTooltip[family] || TileTooltip.other} placement=\"bottom\">\n <div className={classes.iconWrapper}>\n <img src={icon} className={classes.tileIcon} alt={family} />\n </div>\n </Tooltip>\n );\n}\n\nBHATileIcon.propTypes = {\n width: PropTypes.string.isRequired,\n height: PropTypes.number.isRequired,\n component: PropTypes.shape({\n family: PropTypes.string,\n material: PropTypes.string,\n bit_type: PropTypes.string,\n }).isRequired,\n};\n\nexport default BHATileIcon;\n"],"names":["StabilizerIcon","NonMagIcon","TileTooltip","bit","other","pdm","rss","stabilizer","ags","useStyles","makeStyles","iconWrapper","width","_ref","height","_ref2","tileIcon","BHATileIcon","_ref3","icon","component","family","classes","material","_jsx","Tooltip","title","placement","children","jsx","className","src","alt","propTypes","PropTypes","string","isRequired","number","shape","bit_type"],"mappings":"0LACwDA,EAAA,qDAAAC,EAAA,qDAQlDC,EAAc,CAClBC,IAAK,MACLC,MAAO,eACPC,IAAK,MACLC,IAAK,oBACLC,WAAY,aACZC,IAAK,OAGDC,EAAYC,EAAAA,WAAW,CAC3BC,YAAa,CACXC,MAAO,SAAAC,GAAQ,SAALD,KAAiB,EAC3BE,OAAQ,SAAAC,GAAS,SAAND,MAAmB,GAEhCE,SAAU,CACRJ,MAAO,OACPE,OAAQ,UAIZ,SAASG,EAA0CC,GAAA,IAI7CC,EAJiBC,IAAAA,UAAWR,IAAAA,MAAOE,IAAAA,OAC/BO,EAAqBD,EAArBC,OACFC,GADuBF,EAAbG,SACAd,EAAU,CAAEG,MAAAA,EAAOE,OAAAA,KAmBnC,OAfEK,EADa,QAAXE,EAjCkD,qDAmChC,QAAXA,EAnC2C,qDAqChC,QAAXA,EArC2C,qDAuChC,eAAXA,GAEW,QAAXA,EADFrB,EAIAC,EAMPuB,EAAAA,IAACC,EAAAA,QAAO,CAACC,MAAOxB,EAAYmB,IAAWnB,EAAYE,MAAOuB,UAAU,SAAQC,SAC1EJ,EAAAK,IAAA,MAAA,CAAKC,UAAWR,EAAQX,YAAYiB,SAClCJ,EAAAK,IAAA,MAAA,CAAKE,IAAKZ,EAAMW,UAAWR,EAAQN,SAAUgB,IAAKX,OAI1D,CAEAJ,EAAYgB,UAAY,CACtBrB,MAAOsB,EAAAA,QAAUC,OAAOC,WACxBtB,OAAQoB,EAAAA,QAAUG,OAAOD,WACzBhB,UAAWc,EAAS,QAACI,MAAM,CACzBjB,OAAQa,EAAS,QAACC,OAClBZ,SAAUW,EAAS,QAACC,OACpBI,SAAUL,EAAS,QAACC,SACnBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=[{label:"Rotary ROP",key:"rop_rotary_percentiles",from:"ft/h",unitType:"velocity"},{label:"Distance Drilled",key:"distance",unitType:"length"},{label:"Rotary Distance",key:"rotaryFootage",unitType:"length"},{label:"Slide Distance",key:"slideFootage",unitType:"length"},{label:"Slide",key:"slidePercent",toUnit:function(){return"%"}},{label:"MSE",key:"mse_percentiles",from:"psi",unitType:"msePressure"},{label:"Slide ROP",key:"rop_slide_percentiles",from:"ft/h",unitType:"velocity"},{label:"Diff Pressure",key:"diff_pressure_percentiles",from:"psi",unitType:"pressure"},{label:"WOB",key:"wob_percentiles",from:"klbf",unitType:"force"},{label:"Flow in",key:"flow_in_percentiles",from:"gal/min",unitType:"volumeFlowRate"},{label:"Rotary RPM",key:"rpm_percentiles",from:"ft/h",unitType:"velocity",toUnit:function(){return"rpm"}},{label:"Est Cost/foot",key:"cost"},{label:"On-Bottom",key:"onBottomPercent",toUnit:function(){return"%"}},{label:"Turn Rate",key:"turnRate",from:"dp100f",unitType:"anglePerLength"},{label:"Bit RPM",key:"bit_rpm_percentiles",toUnit:function(){return"rpm"}},{label:"Build Rate",key:"buildRate",from:"dp100f",unitType:"anglePerLength"},{label:"On-Bottom ROP",key:"netROP",from:"ft/h",unitType:"velocity"}],t=e[3],o={basins:[],targetFormations:[],rigs:[],holeSizes:[],sectionNames:[]},r={whiskerCount:3,savedCompanyId:3,filterSetting:{allFilters:o,activeFilters:o},savedRadius:10,savedWellName:"All Wells",savedConventional:"all",savedValueRange:{incRange:{minInc:0,maxInc:180},depthRange:{minDepth:0,maxDepth:5e4}},savedWellSelectionInfo:{savedWellStatus:"complete",savedWellIds:[]},savedDeselectedIds:{},savedWhiskerOption:{"whisker-chart-0":e[0].key,"whisker-chart-1":e[1].key,"whisker-chart-2":e[2].key,"whisker-chart-3":e[3].key},kpiSettings:{rigName:!0,assetName:!0,bhaId:!0,depthIn:!0,depthOut:!0,holeSize:!0,distance:!0,rotaryFootage:!1,slideFootage:!1,ropRotary:!0,ropSlide:!0,netROP:!1,onBottomPercent:!0,totalTime:!0,onBottomTime:!0,slidePercent:!0,turnRate:!1,buildRate:!1,wob:!1,diffPressure:!1,flowIn:!1,rotaryRPM:!1,bitRPM:!1,cost:!0,mse:!0,bitMake:!1,model:!0,tfa:!0,motorMfr:!1,motorSize:!0,motorBend:!0,rpg:!1,bitToBend:!1,motorConfig:!0,hwdpLength:!1,driller:!0,bhaInfo:!0}};exports.BHA_FAMILY={bit:"bit",pdm:"pdm",stabilizer:"stabilizer",rss:"rss",hwdp:"hwdp"},exports.BIT_TYPE={pdc:"pdc",triCone:"Tri Cone"},exports.COLLECTIONS={metrics:{provider:"corva",collection:"metrics"},wellSections:{provider:"corva",collection:"data.well-sections"},survey:{provider:"corva",collection:"data.actual_survey"},drillstring:{provider:"corva",collection:"data.drillstring"},offsetWells:{provider:"corva",collection:"data.offset_wells"}},exports.CONVENTIONAL_TYPES=[{title:"Conventional/RSS",key:"all"},{title:"Conventional",key:"conventional"},{title:"RSS",key:"rss"}],exports.DEFAULT_SETTINGS=r,exports.DRILLING_CO_KEY="driller",exports.DRILLSTRING_KEYS={tfa:"tfa",model:"model",holeSize:"size",motorSize:"outer_diameter",motorBend:"bend_range",motorConfig:"motorConfig",make:"make",hwdpLength:"length",bitToBend:"bit_to_bend"},exports.MAX_DEPTH_LIMIT=5e4,exports.MAX_INC_LIMIT=180,exports.METRICS_KEYS={cost:"cost_per_ft",onBottomPercent:"on_bottom_percentage",slidePercent:"drilled_feet_slide_percentage",distance:"hole_depth_change",buildRate:"build_rate",turnRate:"turn_rate",netROP:"rop",onBottomTime:"on_bottom_time",totalTime:"total_time",rotaryFootage:"drilled_feet_rotary",slideFootage:"drilled_feet_slide",holeDepth:"hole_depth",ropRotary:"rop_rotary",ropSlide:"rop_slide"},exports.MOTOR_CONFIG={outer_diameter:"outer_diameter",stages:"stages",rotor_lobe:"number_rotor_lobes",stator_lobe:"number_stator_lobes",rpg:"rpg",make:"make"},exports.MOTOR_CONFIG_KEY="motorConfig",exports.MSE_WHISKER_OPTION=t,exports.NON_MAGNETIC_TYPE="Non Magnetic",exports.PERCENTILE_KEYS={mse:"mse_percentiles",wob:"wob_percentiles",diffPressure:"diff_pressure_percentiles",flowIn:"flow_in_percentiles",rotaryRPM:"rpm_percentiles",bitRPM:"bit_rpm_percentiles",ropRotary:"rop_rotary_percentiles",ropSlide:"rop_slide_percentiles"},exports.QUERY_CHUNK_SIZE=7,exports.RIG_NAME_KEY="rigName",exports.WELL_NAME_KEY="assetName",exports.WHISKER_OPTIONS=e;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=[{label:"Rotary ROP",key:"rop_rotary_percentiles",from:"ft/h",unitType:"velocity"},{label:"Distance Drilled",key:"distance",unitType:"length"},{label:"Rotary Distance",key:"rotaryFootage",unitType:"length"},{label:"Slide Distance",key:"slideFootage",unitType:"length"},{label:"Slide",key:"slidePercent",toUnit:function(){return"%"}},{label:"MSE",key:"mse_percentiles",from:"psi",unitType:"msePressure"},{label:"Slide ROP",key:"rop_slide_percentiles",from:"ft/h",unitType:"velocity"},{label:"Diff Pressure",key:"diff_pressure_percentiles",from:"psi",unitType:"pressure"},{label:"WOB",key:"wob_percentiles",from:"klbf",unitType:"force"},{label:"Flow in",key:"flow_in_percentiles",from:"gal/min",unitType:"volumeFlowRate"},{label:"Rotary RPM",key:"rpm_percentiles",from:"ft/h",unitType:"velocity",toUnit:function(){return"rpm"}},{label:"Est Cost/foot",key:"cost"},{label:"On-Bottom",key:"onBottomPercent",toUnit:function(){return"%"}},{label:"Turn Rate",key:"turnRate",from:"dp100f",unitType:"anglePerLength"},{label:"Bit RPM",key:"bit_rpm_percentiles",toUnit:function(){return"rpm"}},{label:"Build Rate",key:"buildRate",from:"dp100f",unitType:"anglePerLength"},{label:"On-Bottom ROP",key:"netROP",from:"ft/h",unitType:"velocity"}],t=e[3],o={basins:[],targetFormations:[],rigs:[],holeSizes:[],sectionNames:[]},r={whiskerCount:3,savedCompanyId:3,filterSetting:{allFilters:o,activeFilters:o},savedRadius:10,savedWellName:"All Wells",savedConventional:"all",savedValueRange:{incRange:{minInc:0,maxInc:180},depthRange:{minDepth:0,maxDepth:5e4}},savedWellSelectionInfo:{savedWellStatus:"complete",savedWellIds:[]},savedDeselectedIds:{},savedWhiskerOption:{"whisker-chart-0":e[0].key,"whisker-chart-1":e[1].key,"whisker-chart-2":e[2].key,"whisker-chart-3":e[3].key},kpiSettings:{rigName:!0,assetName:!0,bhaId:!0,depthIn:!0,depthOut:!0,holeSize:!0,distance:!0,rotaryFootage:!1,slideFootage:!1,ropRotary:!0,ropSlide:!0,netROP:!1,onBottomPercent:!0,totalTime:!0,onBottomTime:!0,slidePercent:!0,turnRate:!1,buildRate:!1,wob:!1,diffPressure:!1,flowIn:!1,rotaryRPM:!1,bitRPM:!1,cost:!0,mse:!0,bitMake:!1,model:!0,tfa:!0,motorMfr:!1,motorSize:!0,motorBend:!0,rpg:!1,bitToBend:!1,motorConfig:!0,hwdpLength:!1,driller:!0,bhaInfo:!0}};exports.BHA_FAMILY={bit:"bit",pdm:"pdm",stabilizer:"stabilizer",ags:"ags",rss:"rss",hwdp:"hwdp"},exports.BIT_TYPE={pdc:"pdc",triCone:"Tri Cone"},exports.COLLECTIONS={metrics:{provider:"corva",collection:"metrics"},wellSections:{provider:"corva",collection:"data.well-sections"},survey:{provider:"corva",collection:"data.actual_survey"},drillstring:{provider:"corva",collection:"data.drillstring"},offsetWells:{provider:"corva",collection:"data.offset_wells"}},exports.CONVENTIONAL_TYPES=[{title:"Conventional/RSS",key:"all"},{title:"Conventional",key:"conventional"},{title:"RSS",key:"rss"}],exports.DEFAULT_SETTINGS=r,exports.DRILLING_CO_KEY="driller",exports.DRILLSTRING_KEYS={tfa:"tfa",model:"model",holeSize:"size",motorSize:"outer_diameter",motorBend:"bend_range",motorConfig:"motorConfig",make:"make",hwdpLength:"length",bitToBend:"bit_to_bend"},exports.MAX_DEPTH_LIMIT=5e4,exports.MAX_INC_LIMIT=180,exports.METRICS_KEYS={cost:"cost_per_ft",onBottomPercent:"on_bottom_percentage",slidePercent:"drilled_feet_slide_percentage",distance:"hole_depth_change",buildRate:"build_rate",turnRate:"turn_rate",netROP:"rop",onBottomTime:"on_bottom_time",totalTime:"total_time",rotaryFootage:"drilled_feet_rotary",slideFootage:"drilled_feet_slide",holeDepth:"hole_depth",ropRotary:"rop_rotary",ropSlide:"rop_slide"},exports.MOTOR_CONFIG={outer_diameter:"outer_diameter",stages:"stages",rotor_lobe:"number_rotor_lobes",stator_lobe:"number_stator_lobes",rpg:"rpg",make:"make"},exports.MOTOR_CONFIG_KEY="motorConfig",exports.MSE_WHISKER_OPTION=t,exports.NON_MAGNETIC_TYPE="Non Magnetic",exports.PERCENTILE_KEYS={mse:"mse_percentiles",wob:"wob_percentiles",diffPressure:"diff_pressure_percentiles",flowIn:"flow_in_percentiles",rotaryRPM:"rpm_percentiles",bitRPM:"bit_rpm_percentiles",ropRotary:"rop_rotary_percentiles",ropSlide:"rop_slide_percentiles"},exports.QUERY_CHUNK_SIZE=7,exports.RIG_NAME_KEY="rigName",exports.WELL_NAME_KEY="assetName",exports.WHISKER_OPTIONS=e;
|
|
2
2
|
//# sourceMappingURL=bha.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bha.js","sources":["../../../src/constants/bha.js"],"sourcesContent":["export const QUERY_CHUNK_SIZE = 7;\n\nexport const COLLECTIONS = {\n metrics: {\n provider: 'corva',\n collection: 'metrics',\n },\n wellSections: {\n provider: 'corva',\n collection: 'data.well-sections',\n },\n survey: {\n provider: 'corva',\n collection: 'data.actual_survey',\n },\n drillstring: {\n provider: 'corva',\n collection: 'data.drillstring',\n },\n offsetWells: {\n provider: 'corva',\n collection: 'data.offset_wells',\n },\n};\n\nexport const METRICS_KEYS = {\n cost: 'cost_per_ft', // Cost/ft\n // costlat: 'cost_per_lat_ft', // Cost/lat ft\n onBottomPercent: 'on_bottom_percentage', // On-Bottom %\n slidePercent: 'drilled_feet_slide_percentage', // Slide %\n distance: 'hole_depth_change', // Distance Drilled\n buildRate: 'build_rate',\n turnRate: 'turn_rate',\n netROP: 'rop',\n onBottomTime: 'on_bottom_time',\n totalTime: 'total_time',\n rotaryFootage: 'drilled_feet_rotary',\n slideFootage: 'drilled_feet_slide',\n holeDepth: 'hole_depth',\n ropRotary: 'rop_rotary',\n ropSlide: 'rop_slide',\n};\n\nexport const DRILLSTRING_KEYS = {\n tfa: 'tfa',\n model: 'model',\n holeSize: 'size',\n motorSize: 'outer_diameter',\n motorBend: 'bend_range',\n motorConfig: 'motorConfig',\n make: 'make',\n hwdpLength: 'length',\n bitToBend: 'bit_to_bend',\n};\n\nexport const PERCENTILE_KEYS = {\n mse: 'mse_percentiles',\n wob: 'wob_percentiles',\n diffPressure: 'diff_pressure_percentiles',\n flowIn: 'flow_in_percentiles',\n rotaryRPM: 'rpm_percentiles',\n bitRPM: 'bit_rpm_percentiles',\n ropRotary: 'rop_rotary_percentiles',\n ropSlide: 'rop_slide_percentiles',\n};\n\nexport const MOTOR_CONFIG = {\n outer_diameter: 'outer_diameter',\n stages: 'stages',\n rotor_lobe: 'number_rotor_lobes',\n stator_lobe: 'number_stator_lobes',\n rpg: 'rpg',\n make: 'make',\n};\n\nexport const WHISKER_OPTIONS = [\n {\n label: 'Rotary ROP',\n key: 'rop_rotary_percentiles',\n from: 'ft/h',\n unitType: 'velocity',\n },\n {\n label: 'Distance Drilled',\n key: 'distance',\n unitType: 'length',\n },\n {\n label: 'Rotary Distance',\n key: 'rotaryFootage',\n unitType: 'length',\n },\n {\n label: 'Slide Distance',\n key: 'slideFootage',\n unitType: 'length',\n },\n {\n label: 'Slide',\n key: 'slidePercent',\n toUnit: () => '%',\n },\n {\n label: 'MSE',\n key: 'mse_percentiles',\n from: 'psi',\n unitType: 'msePressure',\n },\n {\n label: 'Slide ROP',\n key: 'rop_slide_percentiles',\n from: 'ft/h',\n unitType: 'velocity',\n },\n {\n label: 'Diff Pressure',\n key: 'diff_pressure_percentiles',\n from: 'psi',\n unitType: 'pressure',\n },\n {\n label: 'WOB',\n key: 'wob_percentiles',\n from: 'klbf',\n unitType: 'force',\n },\n {\n label: 'Flow in',\n key: 'flow_in_percentiles',\n from: 'gal/min',\n unitType: 'volumeFlowRate',\n },\n {\n label: 'Rotary RPM',\n key: 'rpm_percentiles',\n from: 'ft/h',\n unitType: 'velocity',\n toUnit: () => 'rpm', // NOTE: The unit is always rpm\n },\n {\n label: 'Est Cost/foot',\n key: 'cost',\n },\n // {\n // label: 'Cost/lat ft',\n // key: 'costlat',\n // },\n {\n label: 'On-Bottom',\n key: 'onBottomPercent',\n toUnit: () => '%',\n },\n {\n label: 'Turn Rate',\n key: 'turnRate',\n from: 'dp100f',\n unitType: 'anglePerLength',\n },\n {\n label: 'Bit RPM',\n key: 'bit_rpm_percentiles',\n toUnit: () => 'rpm',\n },\n {\n label: 'Build Rate',\n key: 'buildRate',\n from: 'dp100f',\n unitType: 'anglePerLength',\n },\n {\n label: 'On-Bottom ROP',\n key: 'netROP',\n from: 'ft/h',\n unitType: 'velocity',\n },\n];\n\nexport const MSE_WHISKER_OPTION = WHISKER_OPTIONS[3];\n\nexport const NON_MAGNETIC_TYPE = 'Non Magnetic';\n\nexport const CONVENTIONAL_TYPES = [\n {\n title: 'Conventional/RSS',\n key: 'all',\n },\n {\n title: 'Conventional',\n key: 'conventional',\n },\n {\n title: 'RSS',\n key: 'rss',\n },\n];\n\nexport const BHA_FAMILY = {\n bit: 'bit',\n pdm: 'pdm',\n stabilizer: 'stabilizer',\n rss: 'rss',\n hwdp: 'hwdp',\n};\n\nexport const BIT_TYPE = {\n pdc: 'pdc',\n triCone: 'Tri Cone',\n};\n\nexport const RIG_NAME_KEY = 'rigName';\nexport const WELL_NAME_KEY = 'assetName';\nexport const DRILLING_CO_KEY = 'driller';\nexport const MOTOR_CONFIG_KEY = 'motorConfig';\n\nexport const MAX_DEPTH_LIMIT = 50000;\nexport const MAX_INC_LIMIT = 180;\n\nconst WELL_STATUS = {\n all: {\n title: 'All Wells',\n status: 'all',\n },\n completed: {\n title: 'Completed Wells',\n status: 'complete',\n },\n active: {\n title: 'Active Wells',\n status: 'active',\n },\n};\n\nconst basicFilters = {\n basins: [],\n targetFormations: [],\n rigs: [],\n holeSizes: [],\n sectionNames: [],\n};\n\nexport const DEFAULT_SETTINGS = {\n whiskerCount: 3,\n savedCompanyId: 3,\n filterSetting: {\n allFilters: basicFilters,\n activeFilters: basicFilters,\n },\n savedRadius: 10,\n savedWellName: 'All Wells',\n savedConventional: 'all',\n savedValueRange: {\n incRange: {\n minInc: 0,\n maxInc: MAX_INC_LIMIT,\n },\n depthRange: {\n minDepth: 0,\n maxDepth: MAX_DEPTH_LIMIT,\n },\n },\n savedWellSelectionInfo: {\n savedWellStatus: WELL_STATUS.completed.status,\n savedWellIds: [],\n },\n savedDeselectedIds: {},\n savedWhiskerOption: {\n 'whisker-chart-0': WHISKER_OPTIONS[0].key,\n 'whisker-chart-1': WHISKER_OPTIONS[1].key,\n 'whisker-chart-2': WHISKER_OPTIONS[2].key,\n 'whisker-chart-3': WHISKER_OPTIONS[3].key,\n },\n kpiSettings: {\n rigName: true,\n assetName: true,\n bhaId: true,\n depthIn: true,\n depthOut: true,\n holeSize: true,\n distance: true,\n rotaryFootage: false,\n slideFootage: false,\n ropRotary: true,\n ropSlide: true,\n netROP: false,\n onBottomPercent: true,\n totalTime: true,\n onBottomTime: true,\n slidePercent: true,\n turnRate: false,\n buildRate: false,\n wob: false,\n diffPressure: false,\n flowIn: false,\n rotaryRPM: false,\n bitRPM: false,\n cost: true,\n mse: true,\n bitMake: false,\n model: true,\n tfa: true,\n motorMfr: false,\n motorSize: true,\n motorBend: true,\n rpg: false,\n bitToBend: false,\n motorConfig: true,\n hwdpLength: false,\n driller: true,\n // costlat: true,\n bhaInfo: true,\n },\n};\n"],"names":["WHISKER_OPTIONS","label","key","from","unitType","toUnit","MSE_WHISKER_OPTION","basicFilters","basins","targetFormations","rigs","holeSizes","sectionNames","DEFAULT_SETTINGS","whiskerCount","savedCompanyId","filterSetting","allFilters","activeFilters","savedRadius","savedWellName","savedConventional","savedValueRange","incRange","minInc","maxInc","depthRange","minDepth","maxDepth","savedWellSelectionInfo","savedWellStatus","savedWellIds","savedDeselectedIds","savedWhiskerOption","kpiSettings","rigName","assetName","bhaId","depthIn","depthOut","holeSize","distance","rotaryFootage","slideFootage","ropRotary","ropSlide","netROP","onBottomPercent","totalTime","onBottomTime","slidePercent","turnRate","buildRate","wob","diffPressure","flowIn","rotaryRPM","bitRPM","cost","mse","bitMake","model","tfa","motorMfr","motorSize","motorBend","rpg","bitToBend","motorConfig","hwdpLength","driller","bhaInfo","bit","pdm","stabilizer","rss","hwdp","pdc","triCone","metrics","provider","collection","wellSections","survey","drillstring","offsetWells","title","make","holeDepth","outer_diameter","stages","rotor_lobe","stator_lobe"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bha.js","sources":["../../../src/constants/bha.js"],"sourcesContent":["export const QUERY_CHUNK_SIZE = 7;\n\nexport const COLLECTIONS = {\n metrics: {\n provider: 'corva',\n collection: 'metrics',\n },\n wellSections: {\n provider: 'corva',\n collection: 'data.well-sections',\n },\n survey: {\n provider: 'corva',\n collection: 'data.actual_survey',\n },\n drillstring: {\n provider: 'corva',\n collection: 'data.drillstring',\n },\n offsetWells: {\n provider: 'corva',\n collection: 'data.offset_wells',\n },\n};\n\nexport const METRICS_KEYS = {\n cost: 'cost_per_ft', // Cost/ft\n // costlat: 'cost_per_lat_ft', // Cost/lat ft\n onBottomPercent: 'on_bottom_percentage', // On-Bottom %\n slidePercent: 'drilled_feet_slide_percentage', // Slide %\n distance: 'hole_depth_change', // Distance Drilled\n buildRate: 'build_rate',\n turnRate: 'turn_rate',\n netROP: 'rop',\n onBottomTime: 'on_bottom_time',\n totalTime: 'total_time',\n rotaryFootage: 'drilled_feet_rotary',\n slideFootage: 'drilled_feet_slide',\n holeDepth: 'hole_depth',\n ropRotary: 'rop_rotary',\n ropSlide: 'rop_slide',\n};\n\nexport const DRILLSTRING_KEYS = {\n tfa: 'tfa',\n model: 'model',\n holeSize: 'size',\n motorSize: 'outer_diameter',\n motorBend: 'bend_range',\n motorConfig: 'motorConfig',\n make: 'make',\n hwdpLength: 'length',\n bitToBend: 'bit_to_bend',\n};\n\nexport const PERCENTILE_KEYS = {\n mse: 'mse_percentiles',\n wob: 'wob_percentiles',\n diffPressure: 'diff_pressure_percentiles',\n flowIn: 'flow_in_percentiles',\n rotaryRPM: 'rpm_percentiles',\n bitRPM: 'bit_rpm_percentiles',\n ropRotary: 'rop_rotary_percentiles',\n ropSlide: 'rop_slide_percentiles',\n};\n\nexport const MOTOR_CONFIG = {\n outer_diameter: 'outer_diameter',\n stages: 'stages',\n rotor_lobe: 'number_rotor_lobes',\n stator_lobe: 'number_stator_lobes',\n rpg: 'rpg',\n make: 'make',\n};\n\nexport const WHISKER_OPTIONS = [\n {\n label: 'Rotary ROP',\n key: 'rop_rotary_percentiles',\n from: 'ft/h',\n unitType: 'velocity',\n },\n {\n label: 'Distance Drilled',\n key: 'distance',\n unitType: 'length',\n },\n {\n label: 'Rotary Distance',\n key: 'rotaryFootage',\n unitType: 'length',\n },\n {\n label: 'Slide Distance',\n key: 'slideFootage',\n unitType: 'length',\n },\n {\n label: 'Slide',\n key: 'slidePercent',\n toUnit: () => '%',\n },\n {\n label: 'MSE',\n key: 'mse_percentiles',\n from: 'psi',\n unitType: 'msePressure',\n },\n {\n label: 'Slide ROP',\n key: 'rop_slide_percentiles',\n from: 'ft/h',\n unitType: 'velocity',\n },\n {\n label: 'Diff Pressure',\n key: 'diff_pressure_percentiles',\n from: 'psi',\n unitType: 'pressure',\n },\n {\n label: 'WOB',\n key: 'wob_percentiles',\n from: 'klbf',\n unitType: 'force',\n },\n {\n label: 'Flow in',\n key: 'flow_in_percentiles',\n from: 'gal/min',\n unitType: 'volumeFlowRate',\n },\n {\n label: 'Rotary RPM',\n key: 'rpm_percentiles',\n from: 'ft/h',\n unitType: 'velocity',\n toUnit: () => 'rpm', // NOTE: The unit is always rpm\n },\n {\n label: 'Est Cost/foot',\n key: 'cost',\n },\n // {\n // label: 'Cost/lat ft',\n // key: 'costlat',\n // },\n {\n label: 'On-Bottom',\n key: 'onBottomPercent',\n toUnit: () => '%',\n },\n {\n label: 'Turn Rate',\n key: 'turnRate',\n from: 'dp100f',\n unitType: 'anglePerLength',\n },\n {\n label: 'Bit RPM',\n key: 'bit_rpm_percentiles',\n toUnit: () => 'rpm',\n },\n {\n label: 'Build Rate',\n key: 'buildRate',\n from: 'dp100f',\n unitType: 'anglePerLength',\n },\n {\n label: 'On-Bottom ROP',\n key: 'netROP',\n from: 'ft/h',\n unitType: 'velocity',\n },\n];\n\nexport const MSE_WHISKER_OPTION = WHISKER_OPTIONS[3];\n\nexport const NON_MAGNETIC_TYPE = 'Non Magnetic';\n\nexport const CONVENTIONAL_TYPES = [\n {\n title: 'Conventional/RSS',\n key: 'all',\n },\n {\n title: 'Conventional',\n key: 'conventional',\n },\n {\n title: 'RSS',\n key: 'rss',\n },\n];\n\nexport const BHA_FAMILY = {\n bit: 'bit',\n pdm: 'pdm',\n stabilizer: 'stabilizer',\n ags: 'ags',\n rss: 'rss',\n hwdp: 'hwdp',\n};\n\nexport const BIT_TYPE = {\n pdc: 'pdc',\n triCone: 'Tri Cone',\n};\n\nexport const RIG_NAME_KEY = 'rigName';\nexport const WELL_NAME_KEY = 'assetName';\nexport const DRILLING_CO_KEY = 'driller';\nexport const MOTOR_CONFIG_KEY = 'motorConfig';\n\nexport const MAX_DEPTH_LIMIT = 50000;\nexport const MAX_INC_LIMIT = 180;\n\nconst WELL_STATUS = {\n all: {\n title: 'All Wells',\n status: 'all',\n },\n completed: {\n title: 'Completed Wells',\n status: 'complete',\n },\n active: {\n title: 'Active Wells',\n status: 'active',\n },\n};\n\nconst basicFilters = {\n basins: [],\n targetFormations: [],\n rigs: [],\n holeSizes: [],\n sectionNames: [],\n};\n\nexport const DEFAULT_SETTINGS = {\n whiskerCount: 3,\n savedCompanyId: 3,\n filterSetting: {\n allFilters: basicFilters,\n activeFilters: basicFilters,\n },\n savedRadius: 10,\n savedWellName: 'All Wells',\n savedConventional: 'all',\n savedValueRange: {\n incRange: {\n minInc: 0,\n maxInc: MAX_INC_LIMIT,\n },\n depthRange: {\n minDepth: 0,\n maxDepth: MAX_DEPTH_LIMIT,\n },\n },\n savedWellSelectionInfo: {\n savedWellStatus: WELL_STATUS.completed.status,\n savedWellIds: [],\n },\n savedDeselectedIds: {},\n savedWhiskerOption: {\n 'whisker-chart-0': WHISKER_OPTIONS[0].key,\n 'whisker-chart-1': WHISKER_OPTIONS[1].key,\n 'whisker-chart-2': WHISKER_OPTIONS[2].key,\n 'whisker-chart-3': WHISKER_OPTIONS[3].key,\n },\n kpiSettings: {\n rigName: true,\n assetName: true,\n bhaId: true,\n depthIn: true,\n depthOut: true,\n holeSize: true,\n distance: true,\n rotaryFootage: false,\n slideFootage: false,\n ropRotary: true,\n ropSlide: true,\n netROP: false,\n onBottomPercent: true,\n totalTime: true,\n onBottomTime: true,\n slidePercent: true,\n turnRate: false,\n buildRate: false,\n wob: false,\n diffPressure: false,\n flowIn: false,\n rotaryRPM: false,\n bitRPM: false,\n cost: true,\n mse: true,\n bitMake: false,\n model: true,\n tfa: true,\n motorMfr: false,\n motorSize: true,\n motorBend: true,\n rpg: false,\n bitToBend: false,\n motorConfig: true,\n hwdpLength: false,\n driller: true,\n // costlat: true,\n bhaInfo: true,\n },\n};\n"],"names":["WHISKER_OPTIONS","label","key","from","unitType","toUnit","MSE_WHISKER_OPTION","basicFilters","basins","targetFormations","rigs","holeSizes","sectionNames","DEFAULT_SETTINGS","whiskerCount","savedCompanyId","filterSetting","allFilters","activeFilters","savedRadius","savedWellName","savedConventional","savedValueRange","incRange","minInc","maxInc","depthRange","minDepth","maxDepth","savedWellSelectionInfo","savedWellStatus","savedWellIds","savedDeselectedIds","savedWhiskerOption","kpiSettings","rigName","assetName","bhaId","depthIn","depthOut","holeSize","distance","rotaryFootage","slideFootage","ropRotary","ropSlide","netROP","onBottomPercent","totalTime","onBottomTime","slidePercent","turnRate","buildRate","wob","diffPressure","flowIn","rotaryRPM","bitRPM","cost","mse","bitMake","model","tfa","motorMfr","motorSize","motorBend","rpg","bitToBend","motorConfig","hwdpLength","driller","bhaInfo","bit","pdm","stabilizer","ags","rss","hwdp","pdc","triCone","metrics","provider","collection","wellSections","survey","drillstring","offsetWells","title","make","holeDepth","outer_diameter","stages","rotor_lobe","stator_lobe"],"mappings":"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"}
|