@corva/ui 3.42.0-0 → 3.42.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/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
- package/components/AssetEditorV2/components/SecondaryAssetSelect.d.ts.map +1 -1
- package/components/AssetEditorV2/components/SecondaryAssetSelect.js +1 -1
- package/components/AssetEditorV2/components/SecondaryAssetSelect.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("prop-types"),s=require("
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/toConsumableArray"),t=require("prop-types"),s=require("react"),a=require("lodash"),r=require("@material-ui/core"),n=require("../effects/index.js"),i=require("../constants.js"),o=require("./SelectItem.js");require("../../../constants/goals.js"),require("../../../constants/segment.js"),require("../../../constants/alerts.js"),require("../../../constants/apps.js"),require("../../../constants/drillstring.js"),require("../../../constants/completion.js"),require("../../../constants/appPackages.js"),require("../../../constants/notifications.js"),require("../../../constants/feed.js"),require("../../../constants/bha.js");var u=require("../../../constants/assetTypes.js");require("../../../constants/corvaCompanyId.js"),require("../../GradientManager/configuration/constants.js");var l=require("react/jsx-runtime");function d(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var c=d(e),p=d(t),f="DC_SingleAssetEditor",m=r.makeStyles((function(e){return{container:{position:"relative"},select:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:0,paddingTop:0},formControl:{marginTop:16,width:"100%","& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled":{"&::before":{borderBottom:"1px solid #808080"}}},selectValue:function(t){return{cursor:"pointer",padding:0,color:t.disabled?e.palette.primary.text7:e.palette.primary.contrastText,"&:hover":{backgroundColor:"initial"}}},option:function(t){return{cursor:"pointer",padding:"0px 0px 0px 16px",color:t.disabled?e.palette.primary.text7:e.palette.primary.contrastText,"&:hover":{backgroundColor:"rgba(255, 255, 255, 0.16)"}}},activeAssets:{color:"#9E9E9E",padding:"8px 0 6px"},progress:{position:"absolute",right:20,bottom:4},noActiveAsset:{color:"#9E9E9E",padding:"8px 0 6px"}}})),A=function(e){var t=e.appKey,d=e.primaryAssetLabel,p=e.isRequiredAssetId,A=e.secondaryAssetLabel,y=e.company,T=e.currentValue,g=e.defaultValue,v=e.onChange,b=e.disabled,j=e.parentAssetId,x=e.assetType,I=e.parentAssetType,E=e.assetFields,q=e.activeWellId,S=e.isDrillingPlatformApp,_=n.useSecondaryAssetSelectData({appKey:t,assetId:T,assetType:S?i.DEFAULT_ASSET_TYPE:x,company:y,parentAssetId:j,parentAssetType:I,isRequiredAssetId:p,assetFields:E,activeWellId:q}),C=_.assets,h=_.loading,V=m({disabled:b}),N=s.useMemo((function(){return I===u.ASSET_TYPES.intervention_unit.type?C.find((function(e){return Number(e.id)===Number(q)})):C.find((function(e){return e.status===i.ACTIVE_STATUS}))}),[C,I,q]),D=T||g,M=a.capitalize(x),P=s.useMemo((function(){return[{name:"Active ".concat(M),id:i.ACTIVE_ASSET_ID}].concat(c.default(C))}),[M,C]),F=s.useCallback((function(e){if(e===i.ACTIVE_ASSETS_ID)return l.jsx("span",{className:V.activeAssets,children:"Active ".concat(M,"s")});if(e===i.ACTIVE_ASSET_ID&&!N)return l.jsx("span",{className:V.noActiveAsset,children:"".concat(d," has No Active ").concat(A)});if(e===i.ACTIVE_ASSET_ID&&N)return l.jsx(o,{className:V.selectValue,assetName:N.name,status:N.status});var t=C.find((function(t){return t.id===e}));return l.jsx(o,{className:V.selectValue,assetName:null==t?void 0:t.name,status:null==t?void 0:t.status})}),[M,N,C,d,A,V]);return l.jsxs("div",{className:V.container,children:[l.jsxs(r.FormControl,{className:V.formControl,disabled:h,children:[l.jsx(r.InputLabel,{shrink:!!D,children:A}),l.jsx(r.Select,{"data-testid":e["data-testid"],classes:{select:V.select},value:D,disabled:b,onChange:function(e){var t=e.target,s=t.value===i.ACTIVE_ASSET_ID?N||{id:i.ACTIVE_ASSET_ID}:null==C?void 0:C.find((function(e){return e.id===t.value}));v(s)},fullWidth:!0,renderValue:F,children:P.map((function(e){var t=e.id,s=e.name,a=e.status,r=s||"";return l.jsx(o,{className:V.option,assetName:r,"data-testid":"".concat(f,"_option_").concat(r,"MenuItem"),value:t,status:a},t)}))})]}),h&&l.jsx(r.CircularProgress,{"data-testid":"".concat(f,"_CircularProgress"),size:20,className:V.progress})]})};A.propTypes={appType:p.default.shape({constants:p.default.shape({})}),currentValue:p.default.oneOfType([p.default.number,p.default.string]),defaultValue:p.default.any,onChange:p.default.func.isRequired,parentAssetId:p.default.number,parentAssetType:p.default.string,assetType:p.default.string.isRequired,"data-testid":p.default.string,appKey:p.default.string,assetFields:p.default.array},A.defaultProps={currentValue:"",defaultValue:"",appType:void 0,parentAssetId:void 0,parentAssetType:void 0,"data-testid":"".concat(f,"_autoComplete"),appKey:null,assetFields:[]},exports.PAGE_NAME=f,exports.default=A;
|
|
2
2
|
//# sourceMappingURL=SecondaryAssetSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondaryAssetSelect.js","sources":["../../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { capitalize } from 'lodash';\nimport { CircularProgress, Select, FormControl, InputLabel, makeStyles } from '@material-ui/core';\n\nimport { useSecondaryAssetSelectData } from '../effects';\nimport { ACTIVE_ASSETS_ID, ACTIVE_ASSET_ID, ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\n\nimport SelectItem from './SelectItem';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const PAGE_NAME = 'DC_SingleAssetEditor';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'relative',\n },\n select: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 0,\n paddingTop: 0,\n },\n formControl: {\n marginTop: 16,\n width: '100%',\n '& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled': {\n '&::before': {\n borderBottom: `1px solid #808080`,\n },\n },\n },\n selectValue: ({ disabled }) => ({\n cursor: 'pointer',\n padding: 0,\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'initial',\n },\n }),\n option: ({ disabled }) => ({\n cursor: 'pointer',\n padding: '0px 0px 0px 16px',\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.16)',\n },\n }),\n activeAssets: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n progress: {\n position: 'absolute',\n right: 20,\n bottom: 4,\n },\n noActiveAsset: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n}));\n\nconst SecondaryAssetSelect = props => {\n const {\n appKey,\n primaryAssetLabel,\n isRequiredAssetId,\n secondaryAssetLabel,\n company,\n currentValue,\n defaultValue,\n onChange,\n disabled,\n parentAssetId,\n assetType,\n parentAssetType,\n assetFields,\n activeWellId,\n isDrillingPlatformApp,\n } = props;\n\n const { assets, loading } = useSecondaryAssetSelectData({\n appKey,\n assetId: currentValue,\n assetType: isDrillingPlatformApp ? DEFAULT_ASSET_TYPE : assetType,\n company,\n parentAssetId,\n parentAssetType,\n isRequiredAssetId,\n assetFields,\n activeWellId,\n });\n const styles = useStyles({ disabled });\n\n const value = currentValue || defaultValue;\n let hasActiveAsset = assets.some(asset => asset.status === ACTIVE_STATUS);\n if (parentAssetType === ASSET_TYPES.intervention_unit.type) {\n hasActiveAsset = assets.some(asset => Number(asset.id) === Number(activeWellId));\n }\n const capitalizedAssetType = capitalize(assetType);\n\n const options = [{ name: `Active ${capitalizedAssetType}`, id: ACTIVE_ASSET_ID }, ...assets];\n\n const handleSelectChange = ({ target }) => {\n const nextValue =\n target.value === ACTIVE_ASSET_ID\n ? { id: ACTIVE_ASSET_ID }\n : assets?.find(asset => asset.id === target.value);\n onChange(nextValue);\n };\n\n const renderSelectValue = assetId => {\n if (assetId === ACTIVE_ASSETS_ID) {\n return <span className={styles.activeAssets}>{`Active ${capitalizedAssetType}s`}</span>;\n }\n if (assetId === ACTIVE_ASSET_ID && !hasActiveAsset) {\n return (\n <span className={styles.noActiveAsset}>\n {`${primaryAssetLabel} has No Active ${secondaryAssetLabel}`}\n </span>\n );\n }\n if (assetId === ACTIVE_ASSET_ID && hasActiveAsset) {\n const activeAsset =\n parentAssetType === ASSET_TYPES.intervention_unit.type\n ? assets.find(asset => Number(asset.id) === Number(activeWellId))\n : assets.find(asset => asset.status === ACTIVE_STATUS);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={activeAsset.name}\n status={activeAsset.status}\n />\n );\n }\n const selectedAsset = assets.find(asset => asset.id === assetId);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={selectedAsset?.name}\n status={selectedAsset?.status}\n />\n );\n };\n\n return (\n <div className={styles.container}>\n <FormControl className={styles.formControl} disabled={loading}>\n <InputLabel shrink={!!value}>{secondaryAssetLabel}</InputLabel>\n <Select\n data-testid={props['data-testid']}\n classes={{ select: styles.select }}\n value={value}\n disabled={disabled}\n onChange={handleSelectChange}\n fullWidth\n renderValue={renderSelectValue}\n >\n {options.map(({ id, name, status }) => {\n const assetName = name || '';\n return (\n <SelectItem\n className={styles.option}\n assetName={assetName}\n data-testid={`${PAGE_NAME}_option_${assetName}MenuItem`}\n key={id}\n value={id}\n status={status}\n />\n );\n })}\n </Select>\n </FormControl>\n {loading && (\n <CircularProgress\n data-testid={`${PAGE_NAME}_CircularProgress`}\n size={20}\n className={styles.progress}\n />\n )}\n </div>\n );\n};\n\nSecondaryAssetSelect.propTypes = {\n appType: PropTypes.shape({\n constants: PropTypes.shape({}),\n }),\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onChange: PropTypes.func.isRequired,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n assetType: PropTypes.string.isRequired,\n 'data-testid': PropTypes.string,\n appKey: PropTypes.string,\n assetFields: PropTypes.array,\n};\n\nSecondaryAssetSelect.defaultProps = {\n currentValue: '', // NOTE: If 'undefined' <SelectField /> displays 'label'\n defaultValue: '',\n appType: undefined,\n parentAssetId: undefined,\n parentAssetType: undefined,\n 'data-testid': `${PAGE_NAME}_autoComplete`,\n appKey: null,\n assetFields: [],\n};\n\nexport default SecondaryAssetSelect;\n"],"names":["PAGE_NAME","useStyles","makeStyles","theme","container","position","select","display","alignItems","justifyContent","paddingBottom","paddingTop","formControl","marginTop","width","borderBottom","selectValue","_ref","cursor","padding","color","disabled","palette","primary","text7","contrastText","backgroundColor","option","_ref2","activeAssets","progress","right","bottom","noActiveAsset","SecondaryAssetSelect","props","appKey","primaryAssetLabel","isRequiredAssetId","secondaryAssetLabel","company","currentValue","defaultValue","onChange","parentAssetId","assetType","parentAssetType","assetFields","activeWellId","isDrillingPlatformApp","_useSecondaryAssetSel","useSecondaryAssetSelectData","assetId","DEFAULT_ASSET_TYPE","assets","loading","styles","value","hasActiveAsset","some","asset","status","ACTIVE_STATUS","ASSET_TYPES","intervention_unit","type","Number","id","capitalizedAssetType","capitalize","options","name","concat","ACTIVE_ASSET_ID","_toConsumableArray","_jsxs","className","children","FormControl","_jsx","InputLabel","shrink","Select","classes","_ref3","target","nextValue","find","fullWidth","renderValue","ACTIVE_ASSETS_ID","activeAsset","SelectItem","assetName","selectedAsset","map","_ref4","jsx","CircularProgress","size","propTypes","appType","PropTypes","shape","constants","oneOfType","number","string","any","func","isRequired","array","defaultProps","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecondaryAssetSelect.js","sources":["../../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useMemo, useCallback } from 'react';\nimport { capitalize } from 'lodash';\nimport { CircularProgress, Select, FormControl, InputLabel, makeStyles } from '@material-ui/core';\n\nimport { useSecondaryAssetSelectData } from '../effects';\nimport { ACTIVE_ASSETS_ID, ACTIVE_ASSET_ID, ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\n\nimport SelectItem from './SelectItem';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const PAGE_NAME = 'DC_SingleAssetEditor';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'relative',\n },\n select: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 0,\n paddingTop: 0,\n },\n formControl: {\n marginTop: 16,\n width: '100%',\n '& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled': {\n '&::before': {\n borderBottom: `1px solid #808080`,\n },\n },\n },\n selectValue: ({ disabled }) => ({\n cursor: 'pointer',\n padding: 0,\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'initial',\n },\n }),\n option: ({ disabled }) => ({\n cursor: 'pointer',\n padding: '0px 0px 0px 16px',\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.16)',\n },\n }),\n activeAssets: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n progress: {\n position: 'absolute',\n right: 20,\n bottom: 4,\n },\n noActiveAsset: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n}));\n\nconst SecondaryAssetSelect = props => {\n const {\n appKey,\n primaryAssetLabel,\n isRequiredAssetId,\n secondaryAssetLabel,\n company,\n currentValue,\n defaultValue,\n onChange,\n disabled,\n parentAssetId,\n assetType,\n parentAssetType,\n assetFields,\n activeWellId,\n isDrillingPlatformApp,\n } = props;\n\n const { assets, loading } = useSecondaryAssetSelectData({\n appKey,\n assetId: currentValue,\n assetType: isDrillingPlatformApp ? DEFAULT_ASSET_TYPE : assetType,\n company,\n parentAssetId,\n parentAssetType,\n isRequiredAssetId,\n assetFields,\n activeWellId,\n });\n const styles = useStyles({ disabled });\n\n const activeAsset = useMemo(\n () =>\n parentAssetType === ASSET_TYPES.intervention_unit.type\n ? assets.find(asset => Number(asset.id) === Number(activeWellId))\n : assets.find(asset => asset.status === ACTIVE_STATUS),\n [assets, parentAssetType, activeWellId]\n );\n\n const value = currentValue || defaultValue;\n\n const capitalizedAssetType = capitalize(assetType);\n\n const options = useMemo(\n () => [{ name: `Active ${capitalizedAssetType}`, id: ACTIVE_ASSET_ID }, ...assets],\n [capitalizedAssetType, assets]\n );\n\n const handleSelectChange = ({ target }) => {\n const nextValue =\n target.value === ACTIVE_ASSET_ID\n ? activeAsset || { id: ACTIVE_ASSET_ID }\n : assets?.find(asset => asset.id === target.value);\n onChange(nextValue);\n };\n\n const renderSelectValue = useCallback(\n assetId => {\n if (assetId === ACTIVE_ASSETS_ID) {\n return <span className={styles.activeAssets}>{`Active ${capitalizedAssetType}s`}</span>;\n }\n if (assetId === ACTIVE_ASSET_ID && !activeAsset) {\n return (\n <span className={styles.noActiveAsset}>\n {`${primaryAssetLabel} has No Active ${secondaryAssetLabel}`}\n </span>\n );\n }\n if (assetId === ACTIVE_ASSET_ID && !!activeAsset) {\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={activeAsset.name}\n status={activeAsset.status}\n />\n );\n }\n const selectedAsset = assets.find(asset => asset.id === assetId);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={selectedAsset?.name}\n status={selectedAsset?.status}\n />\n );\n },\n [capitalizedAssetType, activeAsset, assets, primaryAssetLabel, secondaryAssetLabel, styles]\n );\n\n return (\n <div className={styles.container}>\n <FormControl className={styles.formControl} disabled={loading}>\n <InputLabel shrink={!!value}>{secondaryAssetLabel}</InputLabel>\n <Select\n data-testid={props['data-testid']}\n classes={{ select: styles.select }}\n value={value}\n disabled={disabled}\n onChange={handleSelectChange}\n fullWidth\n renderValue={renderSelectValue}\n >\n {options.map(({ id, name, status }) => {\n const assetName = name || '';\n return (\n <SelectItem\n className={styles.option}\n assetName={assetName}\n data-testid={`${PAGE_NAME}_option_${assetName}MenuItem`}\n key={id}\n value={id}\n status={status}\n />\n );\n })}\n </Select>\n </FormControl>\n {loading && (\n <CircularProgress\n data-testid={`${PAGE_NAME}_CircularProgress`}\n size={20}\n className={styles.progress}\n />\n )}\n </div>\n );\n};\n\nSecondaryAssetSelect.propTypes = {\n appType: PropTypes.shape({\n constants: PropTypes.shape({}),\n }),\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onChange: PropTypes.func.isRequired,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n assetType: PropTypes.string.isRequired,\n 'data-testid': PropTypes.string,\n appKey: PropTypes.string,\n assetFields: PropTypes.array,\n};\n\nSecondaryAssetSelect.defaultProps = {\n currentValue: '', // NOTE: If 'undefined' <SelectField /> displays 'label'\n defaultValue: '',\n appType: undefined,\n parentAssetId: undefined,\n parentAssetType: undefined,\n 'data-testid': `${PAGE_NAME}_autoComplete`,\n appKey: null,\n assetFields: [],\n};\n\nexport default SecondaryAssetSelect;\n"],"names":["PAGE_NAME","useStyles","makeStyles","theme","container","position","select","display","alignItems","justifyContent","paddingBottom","paddingTop","formControl","marginTop","width","borderBottom","selectValue","_ref","cursor","padding","color","disabled","palette","primary","text7","contrastText","backgroundColor","option","_ref2","activeAssets","progress","right","bottom","noActiveAsset","SecondaryAssetSelect","props","appKey","primaryAssetLabel","isRequiredAssetId","secondaryAssetLabel","company","currentValue","defaultValue","onChange","parentAssetId","assetType","parentAssetType","assetFields","activeWellId","isDrillingPlatformApp","_useSecondaryAssetSel","useSecondaryAssetSelectData","assetId","DEFAULT_ASSET_TYPE","assets","loading","styles","activeAsset","useMemo","ASSET_TYPES","intervention_unit","type","find","asset","Number","id","status","ACTIVE_STATUS","value","capitalizedAssetType","capitalize","options","name","concat","ACTIVE_ASSET_ID","renderSelectValue","useCallback","ACTIVE_ASSETS_ID","_jsx","className","children","SelectItem","assetName","selectedAsset","_jsxs","FormControl","InputLabel","shrink","Select","classes","_ref3","target","nextValue","fullWidth","renderValue","map","_ref4","jsx","CircularProgress","size","propTypes","appType","PropTypes","shape","constants","oneOfType","number","string","any","func","isRequired","array","defaultProps","undefined"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondaryAssetSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SecondaryAssetSelect.d.ts","sourceRoot":"","sources":["../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"names":[],"mappings":"AAYA,wBAAyB,sBAAsB,CAAC;;AAqDhD,+DA+HC;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAhMqB,YAAY"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"@babel/runtime/helpers/toConsumableArray";import e from"prop-types";import{
|
|
1
|
+
import t from"@babel/runtime/helpers/toConsumableArray";import e from"prop-types";import{useMemo as s,useCallback as a}from"react";import{capitalize as n}from"lodash";import{makeStyles as r,FormControl as i,InputLabel as o,Select as p,CircularProgress as l}from"@material-ui/core";import{useSecondaryAssetSelectData as c}from"../effects/index.js";import{ACTIVE_STATUS as d,ACTIVE_ASSET_ID as u,ACTIVE_ASSETS_ID as m,DEFAULT_ASSET_TYPE as f}from"../constants.js";import g from"./SelectItem.js";import"../../../constants/goals.js";import"../../../constants/segment.js";import"../../../constants/alerts.js";import"../../../constants/apps.js";import"../../../constants/drillstring.js";import"../../../constants/completion.js";import"../../../constants/appPackages.js";import"../../../constants/notifications.js";import"../../../constants/feed.js";import"../../../constants/bha.js";import{ASSET_TYPES as y}from"../../../constants/assetTypes.js";import"../../../constants/corvaCompanyId.js";import"../../GradientManager/configuration/constants.js";import{jsx as v,jsxs as b}from"react/jsx-runtime";var A="DC_SingleAssetEditor",h=r((function(t){return{container:{position:"relative"},select:{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:0,paddingTop:0},formControl:{marginTop:16,width:"100%","& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled":{"&::before":{borderBottom:"1px solid #808080"}}},selectValue:function(e){return{cursor:"pointer",padding:0,color:e.disabled?t.palette.primary.text7:t.palette.primary.contrastText,"&:hover":{backgroundColor:"initial"}}},option:function(e){return{cursor:"pointer",padding:"0px 0px 0px 16px",color:e.disabled?t.palette.primary.text7:t.palette.primary.contrastText,"&:hover":{backgroundColor:"rgba(255, 255, 255, 0.16)"}}},activeAssets:{color:"#9E9E9E",padding:"8px 0 6px"},progress:{position:"absolute",right:20,bottom:4},noActiveAsset:{color:"#9E9E9E",padding:"8px 0 6px"}}})),j=function(e){var r=e.appKey,j=e.primaryAssetLabel,x=e.isRequiredAssetId,T=e.secondaryAssetLabel,I=e.company,N=e.currentValue,C=e.defaultValue,V=e.onChange,E=e.disabled,M=e.parentAssetId,_=e.assetType,F=e.parentAssetType,k=e.assetFields,q=e.activeWellId,K=e.isDrillingPlatformApp,P=c({appKey:r,assetId:N,assetType:K?f:_,company:I,parentAssetId:M,parentAssetType:F,isRequiredAssetId:x,assetFields:k,activeWellId:q}),R=P.assets,W=P.loading,w=h({disabled:E}),B=s((function(){return F===y.intervention_unit.type?R.find((function(t){return Number(t.id)===Number(q)})):R.find((function(t){return t.status===d}))}),[R,F,q]),D=N||C,L=n(_),S=s((function(){return[{name:"Active ".concat(L),id:u}].concat(t(R))}),[L,R]),z=a((function(t){if(t===m)return v("span",{className:w.activeAssets,children:"Active ".concat(L,"s")});if(t===u&&!B)return v("span",{className:w.noActiveAsset,children:"".concat(j," has No Active ").concat(T)});if(t===u&&B)return v(g,{className:w.selectValue,assetName:B.name,status:B.status});var e=R.find((function(e){return e.id===t}));return v(g,{className:w.selectValue,assetName:null==e?void 0:e.name,status:null==e?void 0:e.status})}),[L,B,R,j,T,w]);return b("div",{className:w.container,children:[b(i,{className:w.formControl,disabled:W,children:[v(o,{shrink:!!D,children:T}),v(p,{"data-testid":e["data-testid"],classes:{select:w.select},value:D,disabled:E,onChange:function(t){var e=t.target,s=e.value===u?B||{id:u}:null==R?void 0:R.find((function(t){return t.id===e.value}));V(s)},fullWidth:!0,renderValue:z,children:S.map((function(t){var e=t.id,s=t.name,a=t.status,n=s||"";return v(g,{className:w.option,assetName:n,"data-testid":"".concat(A,"_option_").concat(n,"MenuItem"),value:e,status:a},e)}))})]}),W&&v(l,{"data-testid":"".concat(A,"_CircularProgress"),size:20,className:w.progress})]})};j.propTypes={appType:e.shape({constants:e.shape({})}),currentValue:e.oneOfType([e.number,e.string]),defaultValue:e.any,onChange:e.func.isRequired,parentAssetId:e.number,parentAssetType:e.string,assetType:e.string.isRequired,"data-testid":e.string,appKey:e.string,assetFields:e.array},j.defaultProps={currentValue:"",defaultValue:"",appType:void 0,parentAssetId:void 0,parentAssetType:void 0,"data-testid":"".concat(A,"_autoComplete"),appKey:null,assetFields:[]};export{A as PAGE_NAME,j as default};
|
|
2
2
|
//# sourceMappingURL=SecondaryAssetSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecondaryAssetSelect.js","sources":["../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { capitalize } from 'lodash';\nimport { CircularProgress, Select, FormControl, InputLabel, makeStyles } from '@material-ui/core';\n\nimport { useSecondaryAssetSelectData } from '../effects';\nimport { ACTIVE_ASSETS_ID, ACTIVE_ASSET_ID, ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\n\nimport SelectItem from './SelectItem';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const PAGE_NAME = 'DC_SingleAssetEditor';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'relative',\n },\n select: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 0,\n paddingTop: 0,\n },\n formControl: {\n marginTop: 16,\n width: '100%',\n '& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled': {\n '&::before': {\n borderBottom: `1px solid #808080`,\n },\n },\n },\n selectValue: ({ disabled }) => ({\n cursor: 'pointer',\n padding: 0,\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'initial',\n },\n }),\n option: ({ disabled }) => ({\n cursor: 'pointer',\n padding: '0px 0px 0px 16px',\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.16)',\n },\n }),\n activeAssets: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n progress: {\n position: 'absolute',\n right: 20,\n bottom: 4,\n },\n noActiveAsset: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n}));\n\nconst SecondaryAssetSelect = props => {\n const {\n appKey,\n primaryAssetLabel,\n isRequiredAssetId,\n secondaryAssetLabel,\n company,\n currentValue,\n defaultValue,\n onChange,\n disabled,\n parentAssetId,\n assetType,\n parentAssetType,\n assetFields,\n activeWellId,\n isDrillingPlatformApp,\n } = props;\n\n const { assets, loading } = useSecondaryAssetSelectData({\n appKey,\n assetId: currentValue,\n assetType: isDrillingPlatformApp ? DEFAULT_ASSET_TYPE : assetType,\n company,\n parentAssetId,\n parentAssetType,\n isRequiredAssetId,\n assetFields,\n activeWellId,\n });\n const styles = useStyles({ disabled });\n\n const value = currentValue || defaultValue;\n let hasActiveAsset = assets.some(asset => asset.status === ACTIVE_STATUS);\n if (parentAssetType === ASSET_TYPES.intervention_unit.type) {\n hasActiveAsset = assets.some(asset => Number(asset.id) === Number(activeWellId));\n }\n const capitalizedAssetType = capitalize(assetType);\n\n const options = [{ name: `Active ${capitalizedAssetType}`, id: ACTIVE_ASSET_ID }, ...assets];\n\n const handleSelectChange = ({ target }) => {\n const nextValue =\n target.value === ACTIVE_ASSET_ID\n ? { id: ACTIVE_ASSET_ID }\n : assets?.find(asset => asset.id === target.value);\n onChange(nextValue);\n };\n\n const renderSelectValue = assetId => {\n if (assetId === ACTIVE_ASSETS_ID) {\n return <span className={styles.activeAssets}>{`Active ${capitalizedAssetType}s`}</span>;\n }\n if (assetId === ACTIVE_ASSET_ID && !hasActiveAsset) {\n return (\n <span className={styles.noActiveAsset}>\n {`${primaryAssetLabel} has No Active ${secondaryAssetLabel}`}\n </span>\n );\n }\n if (assetId === ACTIVE_ASSET_ID && hasActiveAsset) {\n const activeAsset =\n parentAssetType === ASSET_TYPES.intervention_unit.type\n ? assets.find(asset => Number(asset.id) === Number(activeWellId))\n : assets.find(asset => asset.status === ACTIVE_STATUS);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={activeAsset.name}\n status={activeAsset.status}\n />\n );\n }\n const selectedAsset = assets.find(asset => asset.id === assetId);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={selectedAsset?.name}\n status={selectedAsset?.status}\n />\n );\n };\n\n return (\n <div className={styles.container}>\n <FormControl className={styles.formControl} disabled={loading}>\n <InputLabel shrink={!!value}>{secondaryAssetLabel}</InputLabel>\n <Select\n data-testid={props['data-testid']}\n classes={{ select: styles.select }}\n value={value}\n disabled={disabled}\n onChange={handleSelectChange}\n fullWidth\n renderValue={renderSelectValue}\n >\n {options.map(({ id, name, status }) => {\n const assetName = name || '';\n return (\n <SelectItem\n className={styles.option}\n assetName={assetName}\n data-testid={`${PAGE_NAME}_option_${assetName}MenuItem`}\n key={id}\n value={id}\n status={status}\n />\n );\n })}\n </Select>\n </FormControl>\n {loading && (\n <CircularProgress\n data-testid={`${PAGE_NAME}_CircularProgress`}\n size={20}\n className={styles.progress}\n />\n )}\n </div>\n );\n};\n\nSecondaryAssetSelect.propTypes = {\n appType: PropTypes.shape({\n constants: PropTypes.shape({}),\n }),\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onChange: PropTypes.func.isRequired,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n assetType: PropTypes.string.isRequired,\n 'data-testid': PropTypes.string,\n appKey: PropTypes.string,\n assetFields: PropTypes.array,\n};\n\nSecondaryAssetSelect.defaultProps = {\n currentValue: '', // NOTE: If 'undefined' <SelectField /> displays 'label'\n defaultValue: '',\n appType: undefined,\n parentAssetId: undefined,\n parentAssetType: undefined,\n 'data-testid': `${PAGE_NAME}_autoComplete`,\n appKey: null,\n assetFields: [],\n};\n\nexport default SecondaryAssetSelect;\n"],"names":["PAGE_NAME","useStyles","makeStyles","theme","container","position","select","display","alignItems","justifyContent","paddingBottom","paddingTop","formControl","marginTop","width","borderBottom","selectValue","_ref","cursor","padding","color","disabled","palette","primary","text7","contrastText","backgroundColor","option","_ref2","activeAssets","progress","right","bottom","noActiveAsset","SecondaryAssetSelect","props","appKey","primaryAssetLabel","isRequiredAssetId","secondaryAssetLabel","company","currentValue","defaultValue","onChange","parentAssetId","assetType","parentAssetType","assetFields","activeWellId","isDrillingPlatformApp","_useSecondaryAssetSel","useSecondaryAssetSelectData","assetId","DEFAULT_ASSET_TYPE","assets","loading","styles","value","hasActiveAsset","some","asset","status","ACTIVE_STATUS","ASSET_TYPES","intervention_unit","type","Number","id","capitalizedAssetType","capitalize","options","name","concat","ACTIVE_ASSET_ID","_toConsumableArray","_jsxs","className","children","FormControl","_jsx","InputLabel","shrink","Select","classes","_ref3","target","nextValue","find","fullWidth","renderValue","ACTIVE_ASSETS_ID","activeAsset","SelectItem","assetName","selectedAsset","map","_ref4","CircularProgress","size","propTypes","appType","PropTypes","shape","constants","oneOfType","number","string","any","func","isRequired","array","defaultProps","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SecondaryAssetSelect.js","sources":["../../../../src/components/AssetEditorV2/components/SecondaryAssetSelect.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport { useMemo, useCallback } from 'react';\nimport { capitalize } from 'lodash';\nimport { CircularProgress, Select, FormControl, InputLabel, makeStyles } from '@material-ui/core';\n\nimport { useSecondaryAssetSelectData } from '../effects';\nimport { ACTIVE_ASSETS_ID, ACTIVE_ASSET_ID, ACTIVE_STATUS, DEFAULT_ASSET_TYPE } from '../constants';\n\nimport SelectItem from './SelectItem';\n\nimport { ASSET_TYPES } from '~/constants';\n\nexport const PAGE_NAME = 'DC_SingleAssetEditor';\n\nconst useStyles = makeStyles(theme => ({\n container: {\n position: 'relative',\n },\n select: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n paddingBottom: 0,\n paddingTop: 0,\n },\n formControl: {\n marginTop: 16,\n width: '100%',\n '& .MuiInput-underline.Mui-disabled, & .MuiFilledInput-underline.Mui-disabled': {\n '&::before': {\n borderBottom: `1px solid #808080`,\n },\n },\n },\n selectValue: ({ disabled }) => ({\n cursor: 'pointer',\n padding: 0,\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'initial',\n },\n }),\n option: ({ disabled }) => ({\n cursor: 'pointer',\n padding: '0px 0px 0px 16px',\n color: disabled ? theme.palette.primary.text7 : theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: 'rgba(255, 255, 255, 0.16)',\n },\n }),\n activeAssets: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n progress: {\n position: 'absolute',\n right: 20,\n bottom: 4,\n },\n noActiveAsset: {\n color: '#9E9E9E',\n padding: '8px 0 6px',\n },\n}));\n\nconst SecondaryAssetSelect = props => {\n const {\n appKey,\n primaryAssetLabel,\n isRequiredAssetId,\n secondaryAssetLabel,\n company,\n currentValue,\n defaultValue,\n onChange,\n disabled,\n parentAssetId,\n assetType,\n parentAssetType,\n assetFields,\n activeWellId,\n isDrillingPlatformApp,\n } = props;\n\n const { assets, loading } = useSecondaryAssetSelectData({\n appKey,\n assetId: currentValue,\n assetType: isDrillingPlatformApp ? DEFAULT_ASSET_TYPE : assetType,\n company,\n parentAssetId,\n parentAssetType,\n isRequiredAssetId,\n assetFields,\n activeWellId,\n });\n const styles = useStyles({ disabled });\n\n const activeAsset = useMemo(\n () =>\n parentAssetType === ASSET_TYPES.intervention_unit.type\n ? assets.find(asset => Number(asset.id) === Number(activeWellId))\n : assets.find(asset => asset.status === ACTIVE_STATUS),\n [assets, parentAssetType, activeWellId]\n );\n\n const value = currentValue || defaultValue;\n\n const capitalizedAssetType = capitalize(assetType);\n\n const options = useMemo(\n () => [{ name: `Active ${capitalizedAssetType}`, id: ACTIVE_ASSET_ID }, ...assets],\n [capitalizedAssetType, assets]\n );\n\n const handleSelectChange = ({ target }) => {\n const nextValue =\n target.value === ACTIVE_ASSET_ID\n ? activeAsset || { id: ACTIVE_ASSET_ID }\n : assets?.find(asset => asset.id === target.value);\n onChange(nextValue);\n };\n\n const renderSelectValue = useCallback(\n assetId => {\n if (assetId === ACTIVE_ASSETS_ID) {\n return <span className={styles.activeAssets}>{`Active ${capitalizedAssetType}s`}</span>;\n }\n if (assetId === ACTIVE_ASSET_ID && !activeAsset) {\n return (\n <span className={styles.noActiveAsset}>\n {`${primaryAssetLabel} has No Active ${secondaryAssetLabel}`}\n </span>\n );\n }\n if (assetId === ACTIVE_ASSET_ID && !!activeAsset) {\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={activeAsset.name}\n status={activeAsset.status}\n />\n );\n }\n const selectedAsset = assets.find(asset => asset.id === assetId);\n return (\n <SelectItem\n className={styles.selectValue}\n assetName={selectedAsset?.name}\n status={selectedAsset?.status}\n />\n );\n },\n [capitalizedAssetType, activeAsset, assets, primaryAssetLabel, secondaryAssetLabel, styles]\n );\n\n return (\n <div className={styles.container}>\n <FormControl className={styles.formControl} disabled={loading}>\n <InputLabel shrink={!!value}>{secondaryAssetLabel}</InputLabel>\n <Select\n data-testid={props['data-testid']}\n classes={{ select: styles.select }}\n value={value}\n disabled={disabled}\n onChange={handleSelectChange}\n fullWidth\n renderValue={renderSelectValue}\n >\n {options.map(({ id, name, status }) => {\n const assetName = name || '';\n return (\n <SelectItem\n className={styles.option}\n assetName={assetName}\n data-testid={`${PAGE_NAME}_option_${assetName}MenuItem`}\n key={id}\n value={id}\n status={status}\n />\n );\n })}\n </Select>\n </FormControl>\n {loading && (\n <CircularProgress\n data-testid={`${PAGE_NAME}_CircularProgress`}\n size={20}\n className={styles.progress}\n />\n )}\n </div>\n );\n};\n\nSecondaryAssetSelect.propTypes = {\n appType: PropTypes.shape({\n constants: PropTypes.shape({}),\n }),\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onChange: PropTypes.func.isRequired,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n assetType: PropTypes.string.isRequired,\n 'data-testid': PropTypes.string,\n appKey: PropTypes.string,\n assetFields: PropTypes.array,\n};\n\nSecondaryAssetSelect.defaultProps = {\n currentValue: '', // NOTE: If 'undefined' <SelectField /> displays 'label'\n defaultValue: '',\n appType: undefined,\n parentAssetId: undefined,\n parentAssetType: undefined,\n 'data-testid': `${PAGE_NAME}_autoComplete`,\n appKey: null,\n assetFields: [],\n};\n\nexport default SecondaryAssetSelect;\n"],"names":["PAGE_NAME","useStyles","makeStyles","theme","container","position","select","display","alignItems","justifyContent","paddingBottom","paddingTop","formControl","marginTop","width","borderBottom","selectValue","_ref","cursor","padding","color","disabled","palette","primary","text7","contrastText","backgroundColor","option","_ref2","activeAssets","progress","right","bottom","noActiveAsset","SecondaryAssetSelect","props","appKey","primaryAssetLabel","isRequiredAssetId","secondaryAssetLabel","company","currentValue","defaultValue","onChange","parentAssetId","assetType","parentAssetType","assetFields","activeWellId","isDrillingPlatformApp","_useSecondaryAssetSel","useSecondaryAssetSelectData","assetId","DEFAULT_ASSET_TYPE","assets","loading","styles","activeAsset","useMemo","ASSET_TYPES","intervention_unit","type","find","asset","Number","id","status","ACTIVE_STATUS","value","capitalizedAssetType","capitalize","options","name","concat","ACTIVE_ASSET_ID","renderSelectValue","useCallback","ACTIVE_ASSETS_ID","_jsx","className","children","SelectItem","assetName","selectedAsset","_jsxs","FormControl","InputLabel","shrink","Select","classes","_ref3","target","nextValue","fullWidth","renderValue","map","_ref4","CircularProgress","size","propTypes","appType","PropTypes","shape","constants","oneOfType","number","string","any","func","isRequired","array","defaultProps","undefined"],"mappings":"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"}
|