@corva/ui 3.73.0-rc.0 → 3.73.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
- package/cjs-bundle/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
- package/cjs-bundle/components/AssetEditorV2/index.js +1 -1
- package/cjs-bundle/components/AssetEditorV2/index.js.map +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
- package/cjs-bundle/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
- package/cjs-bundle/components/IconMenu/index.js +1 -1
- package/cjs-bundle/components/IconMenu/index.js.map +1 -1
- package/cjs-bundle/components/KeyboardDateTimePicker.js +1 -1
- package/cjs-bundle/components/KeyboardDateTimePicker.js.map +1 -1
- package/cjs-bundle/components/PostInput/PostInput.js +1 -1
- package/cjs-bundle/components/PostInput/PostInput.js.map +1 -1
- package/components/AssetEditor/AssetEditorAutocomplete.d.ts +96 -13
- package/components/AssetEditor/AssetEditorAutocomplete.d.ts.map +1 -1
- package/components/AssetEditor/AssetEditorAutocomplete.js +1 -1
- package/components/AssetEditor/AssetEditorAutocomplete.js.map +1 -1
- package/components/AssetEditorV2/index.d.ts +28 -12
- package/components/AssetEditorV2/index.d.ts.map +1 -1
- package/components/AssetEditorV2/index.js +1 -1
- package/components/AssetEditorV2/index.js.map +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts +5 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.d.ts.map +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.js +1 -1
- package/components/DevCenter/AppsDataProvider/AppsDataProvider.js.map +1 -1
- package/components/IconMenu/index.d.ts +67 -21
- package/components/IconMenu/index.d.ts.map +1 -1
- package/components/IconMenu/index.js +1 -1
- package/components/IconMenu/index.js.map +1 -1
- package/components/KeyboardDateTimePicker.d.ts +6 -7
- package/components/KeyboardDateTimePicker.d.ts.map +1 -1
- package/components/KeyboardDateTimePicker.js +1 -1
- package/components/KeyboardDateTimePicker.js.map +1 -1
- package/components/PostInput/PostInput.d.ts +20 -10
- package/components/PostInput/PostInput.d.ts.map +1 -1
- package/components/PostInput/PostInput.js +1 -1
- package/components/PostInput/PostInput.js.map +1 -1
- package/mcp-server/server.mjs +1 -1
- package/package.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,24 +1,107 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import PropTypes from 'prop-types';
|
|
2
|
+
declare const _default: import("react").ComponentType<Pick<Pick<Pick<{
|
|
3
|
+
appKey: any;
|
|
3
4
|
assetFields: any;
|
|
4
5
|
assetType: any;
|
|
5
6
|
autocompleteProps?: {} | undefined;
|
|
6
7
|
classes: any;
|
|
7
8
|
companyId: any;
|
|
8
9
|
currentValue: any;
|
|
9
|
-
"data-testid"
|
|
10
|
-
disableClearable
|
|
11
|
-
disabled
|
|
12
|
-
errorText
|
|
13
|
-
isMultiple
|
|
14
|
-
isNullable
|
|
15
|
-
label
|
|
10
|
+
"data-testid": any;
|
|
11
|
+
disableClearable: any;
|
|
12
|
+
disabled: any;
|
|
13
|
+
errorText: any;
|
|
14
|
+
isMultiple: any;
|
|
15
|
+
isNullable: any;
|
|
16
|
+
label: any;
|
|
16
17
|
onChange: any;
|
|
17
18
|
parentAssetId: any;
|
|
18
19
|
parentAssetType: any;
|
|
19
|
-
queryParams
|
|
20
|
-
}, {
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
queryParams: any;
|
|
21
|
+
}, "autocompleteProps"> & Pick<PropTypes.InferProps<{
|
|
22
|
+
label: PropTypes.Requireable<string>;
|
|
23
|
+
currentValue: PropTypes.Requireable<NonNullable<number | (number | null | undefined)[] | null | undefined>>;
|
|
24
|
+
isNullable: PropTypes.Requireable<boolean>;
|
|
25
|
+
onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
26
|
+
classes: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
27
|
+
disableClearable: PropTypes.Requireable<boolean>;
|
|
28
|
+
parentAssetId: PropTypes.Requireable<number>;
|
|
29
|
+
parentAssetType: PropTypes.Requireable<string>;
|
|
30
|
+
companyId: PropTypes.Requireable<number>;
|
|
31
|
+
assetType: PropTypes.Validator<string>;
|
|
32
|
+
errorText: PropTypes.Requireable<string>;
|
|
33
|
+
'data-testid': PropTypes.Requireable<string>;
|
|
34
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
35
|
+
isMultiple: PropTypes.Requireable<boolean>;
|
|
36
|
+
appKey: PropTypes.Requireable<string>;
|
|
37
|
+
queryParams: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
38
|
+
}>, "appKey" | "companyId" | "currentValue" | "data-testid" | "disableClearable" | "disabled" | "errorText" | "isMultiple" | "isNullable" | "label" | "parentAssetId" | "parentAssetType" | "queryParams" | PropTypes.RequiredKeys<{
|
|
39
|
+
label: PropTypes.Requireable<string>;
|
|
40
|
+
currentValue: PropTypes.Requireable<NonNullable<number | (number | null | undefined)[] | null | undefined>>;
|
|
41
|
+
isNullable: PropTypes.Requireable<boolean>;
|
|
42
|
+
onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
43
|
+
classes: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
44
|
+
disableClearable: PropTypes.Requireable<boolean>;
|
|
45
|
+
parentAssetId: PropTypes.Requireable<number>;
|
|
46
|
+
parentAssetType: PropTypes.Requireable<string>;
|
|
47
|
+
companyId: PropTypes.Requireable<number>;
|
|
48
|
+
assetType: PropTypes.Validator<string>;
|
|
49
|
+
errorText: PropTypes.Requireable<string>;
|
|
50
|
+
'data-testid': PropTypes.Requireable<string>;
|
|
51
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
52
|
+
isMultiple: PropTypes.Requireable<boolean>;
|
|
53
|
+
appKey: PropTypes.Requireable<string>;
|
|
54
|
+
queryParams: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
55
|
+
}>> & Pick<{
|
|
56
|
+
appKey: any;
|
|
57
|
+
assetFields: any;
|
|
58
|
+
assetType: any;
|
|
59
|
+
autocompleteProps?: {} | undefined;
|
|
60
|
+
classes: any;
|
|
61
|
+
companyId: any;
|
|
62
|
+
currentValue: any;
|
|
63
|
+
"data-testid": any;
|
|
64
|
+
disableClearable: any;
|
|
65
|
+
disabled: any;
|
|
66
|
+
errorText: any;
|
|
67
|
+
isMultiple: any;
|
|
68
|
+
isNullable: any;
|
|
69
|
+
label: any;
|
|
70
|
+
onChange: any;
|
|
71
|
+
parentAssetId: any;
|
|
72
|
+
parentAssetType: any;
|
|
73
|
+
queryParams: any;
|
|
74
|
+
}, "assetFields" | "autocompleteProps">, "assetFields" | "autocompleteProps" | PropTypes.RequiredKeys<{
|
|
75
|
+
label: PropTypes.Requireable<string>;
|
|
76
|
+
currentValue: PropTypes.Requireable<NonNullable<number | (number | null | undefined)[] | null | undefined>>;
|
|
77
|
+
isNullable: PropTypes.Requireable<boolean>;
|
|
78
|
+
onChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
79
|
+
classes: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
80
|
+
disableClearable: PropTypes.Requireable<boolean>;
|
|
81
|
+
parentAssetId: PropTypes.Requireable<number>;
|
|
82
|
+
parentAssetType: PropTypes.Requireable<string>;
|
|
83
|
+
companyId: PropTypes.Requireable<number>;
|
|
84
|
+
assetType: PropTypes.Validator<string>;
|
|
85
|
+
errorText: PropTypes.Requireable<string>;
|
|
86
|
+
'data-testid': PropTypes.Requireable<string>;
|
|
87
|
+
disabled: PropTypes.Requireable<boolean>;
|
|
88
|
+
isMultiple: PropTypes.Requireable<boolean>;
|
|
89
|
+
appKey: PropTypes.Requireable<string>;
|
|
90
|
+
queryParams: PropTypes.Requireable<PropTypes.InferProps<{}>>;
|
|
91
|
+
}>> & {
|
|
92
|
+
label?: string | null | undefined;
|
|
93
|
+
currentValue?: NonNullable<number | (number | null | undefined)[] | null | undefined> | null | undefined;
|
|
94
|
+
isNullable?: boolean | null | undefined;
|
|
95
|
+
disableClearable?: boolean | null | undefined;
|
|
96
|
+
parentAssetId?: number | null | undefined;
|
|
97
|
+
parentAssetType?: string | null | undefined;
|
|
98
|
+
companyId?: number | null | undefined;
|
|
99
|
+
errorText?: string | null | undefined;
|
|
100
|
+
'data-testid'?: string | null | undefined;
|
|
101
|
+
disabled?: boolean | null | undefined;
|
|
102
|
+
isMultiple?: boolean | null | undefined;
|
|
103
|
+
appKey?: string | null | undefined;
|
|
104
|
+
queryParams?: PropTypes.InferProps<{}> | null | undefined;
|
|
105
|
+
} & {}, "appKey" | "assetFields" | "assetType" | "autocompleteProps" | "companyId" | "currentValue" | "data-testid" | "disableClearable" | "disabled" | "errorText" | "isMultiple" | "isNullable" | "label" | "onChange" | "parentAssetId" | "parentAssetType" | "queryParams"> & import("@material-ui/styles").StyledComponentProps<"formControl" | "inputRoot" | "listbox" | "noOptions" | "option" | "popupIndicator" | "root" | "searchIcon">>;
|
|
23
106
|
export default _default;
|
|
24
107
|
//# sourceMappingURL=AssetEditorAutocomplete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetEditorAutocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/AssetEditor/AssetEditorAutocomplete.js"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"AssetEditorAutocomplete.d.ts","sourceRoot":"","sources":["../../../src/components/AssetEditor/AssetEditorAutocomplete.js"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,YAAY,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/defineProperty";import
|
|
1
|
+
import e from"@babel/runtime/helpers/slicedToArray";import t from"@babel/runtime/helpers/defineProperty";import r from"@babel/runtime/helpers/objectWithoutProperties";import{forwardRef as n,useState as o,useEffect as i,useMemo as a}from"react";import l from"prop-types";import{debounce as s,identity as p}from"lodash";import{List as d,withStyles as u,Typography as c,FormControl as m,InputLabel as f,Tooltip as b,Chip as y,FormHelperText as g,TextField as h,InputAdornment as v}from"@material-ui/core";import{Search as O}from"@material-ui/icons";import{Autocomplete as x}from"@material-ui/lab";import T from"../TruncatedText/index.js";import{PER_PAGE as P,SCROLL_THRESHOLD as I}from"./constants.js";import{useAssetAutoCompleteSelectData as C}from"./effects/index.js";import{jsxs as j,jsx as A}from"react/jsx-runtime";var S=["children","loading","hasMore"];function M(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function q(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?M(Object(n),!0).forEach((function(r){t(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):M(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}var w="DC_SingleAssetEditorAutocomplete",L={paddingLeft:"16px",height:36,listStyleType:"none",display:"flex",alignItems:"center"},D=function(e){var t=e.text;return A("li",{style:L,children:A(c,{variant:"body2",color:"textSecondary",children:void 0===t?"Loading...":t})},"loading")},N=n((function(e,t){var n=e.children,o=e.loading,i=e.hasMore,a=r(e,S);return j(d,q(q({},a),{},{ref:t,role:"listbox",children:[n,(i||o)&&A(D,{})]}))})),R=function(t){var r,n=t["data-testid"],l=t.appKey,d=t.assetType,u=t.classes,c=t.companyId,S=t.currentValue,M=t.disabled,L=t.disableClearable,R=t.errorText,V=t.isMultiple,E=t.isNullable,K=t.label,_=t.onChange,k=t.parentAssetId,z=t.parentAssetType,H=t.queryParams,B=t.autocompleteProps,F=void 0===B?{}:B,W=t.assetFields,G=o(V?[]:null),J=e(G,2),Q=J[0],U=J[1],X=o(""),Y=e(X,2),Z=Y[0],$=Y[1],ee=o(""),te=e(ee,2),re=te[0],ne=te[1],oe=o(!1),ie=e(oe,2),ae=ie[0],le=ie[1],se=o(1),pe=e(se,2),de=pe[0],ue=pe[1],ce=o(!0),me=e(ce,2),fe=me[0],be=me[1];i((function(){U(V?[]:null),ue(1),le(!1)}),[d]);var ye=C({appKey:l,assetType:d,companyId:c,currentValue:S,isMultiple:V,parentAssetId:k,parentAssetType:z,scrollPage:de,searchText:Z,setCurrentOption:U,queryParams:H,assetFields:W}),ge=ye.assets,he=ye.loading;i((function(){var e=ge.length>=P*de;be(e)}),[ge,de]);var ve=a((function(){return s((function(e){ue(1),$(e)}),200)}),[]),Oe=a((function(){return s((function(){return ue((function(e){return e+1}))}),250)}),[]),xe={endAdornment:u.endAdornment,inputRoot:u.inputRoot,listbox:u.listbox,noOptions:u.noOptions,option:u.option,popupIndicator:u.popupIndicator,root:u.root};return j(m,{disabled:M,error:!!R,className:u.formControl,children:[!E&&A(f,{shrink:!0,children:K}),A(b,{title:null!==(r=null==Q?void 0:Q.name)&&void 0!==r?r:"",children:A(x,q(q({disabled:M,blurOnSelect:!0,classes:xe,clearOnBlur:!0,clearOnEscape:!0,"data-testid":n,disableClearable:L,filterOptions:p,getOptionLabel:function(e){return null==e?void 0:e.name},getOptionSelected:function(e,t){return e&&t&&e.id===t.id},inputValue:ae?re:(null==Q?void 0:Q.name)||"",ListboxComponent:N,ListboxProps:{onScroll:function(e){if(fe&&!he){var t=e.currentTarget;t.scrollTop+t.clientHeight>t.scrollHeight-I&&Oe()}},loading:he,hasMore:fe},options:ge,onChange:function(e,t){var r;U(t),_(V?t.map((function(e){return e.id})):null!==(r=null==t?void 0:t.id)&&void 0!==r?r:null,t)},onClose:function(){ne(""),$(""),le(!1),ue(1)},onInputChange:function(e,t,r){"input"===r?(ne(t),le(!0),ve(t)):$("")},noOptionsText:A(D,{text:he?"Loading...":"No options"}),renderInput:function(e){return A(h,q(q({},e),{},{variant:"standard",placeholder:"Search for asset..."},!V&&{InputProps:q(q({},e.InputProps),{},{startAdornment:A(v,{children:A(O,{className:u.searchIcon})})})}))},renderOption:function(e){var t=e.id,r=e.name;return A(T,{"data-testid":"".concat(w,"_option_").concat(r,"MenuItem"),children:V&&S.includes(t)?"".concat(r," (already selected)"):r},t)},value:Q,multiple:V},V&&{renderTags:function(e,t){return e.map((function(e,r){return A(y,q({label:null==e?void 0:e.name},t({index:r})),e.id)}))},getOptionDisabled:function(e){return S.includes(e.id)}}),F))}),A(g,{children:R})]})};R.defaultProps={label:"Choose An Asset",currentValue:void 0,disableClearable:!0,isNullable:!1,parentAssetId:void 0,parentAssetType:void 0,companyId:void 0,errorText:"","data-testid":"".concat(w,"_autoComplete"),disabled:!1,isMultiple:!1,appKey:null,queryParams:{}},R.propTypes={label:l.string,currentValue:l.oneOfType([l.number,l.arrayOf(l.number)]),isNullable:l.bool,onChange:l.func.isRequired,classes:l.shape({}).isRequired,disableClearable:l.bool,parentAssetId:l.number,parentAssetType:l.string,companyId:l.number,assetType:l.string.isRequired,errorText:l.string,"data-testid":l.string,disabled:l.bool,isMultiple:l.bool,appKey:l.string,queryParams:l.shape({})};var V=u((function(e){return{formControl:{},listbox:{maxHeight:350},root:{fontSize:16},inputRoot:{paddingTop:16,padding:"8px 0",paddingBottom:0,width:350,fontSize:16},popupIndicator:{display:"none"},option:{paddingLeft:"16px !important",height:36,"&[aria-disabled=true]":{color:e.palette.primary.text9,opacity:1,backgroundColor:"unset"}},noOptions:{padding:0},searchIcon:{fontSize:"20px !important"}}}))(R);export{V as default};
|
|
2
2
|
//# sourceMappingURL=AssetEditorAutocomplete.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssetEditorAutocomplete.js","sources":["../../../src/components/AssetEditor/AssetEditorAutocomplete.js"],"sourcesContent":["import { useMemo, useState, useEffect, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { debounce, identity } from 'lodash';\nimport {\n FormControl,\n InputLabel,\n TextField,\n FormHelperText,\n withStyles,\n Typography,\n List,\n InputAdornment,\n Chip,\n Tooltip,\n} from '@material-ui/core';\nimport { Search as SearchIcon } from '@material-ui/icons';\nimport { Autocomplete } from '@material-ui/lab';\n\nimport TruncatedText from '../TruncatedText';\n\nimport { PER_PAGE, SCROLL_THRESHOLD } from './constants';\nimport { useAssetAutoCompleteSelectData } from './effects';\n\nconst PAGE_NAME = 'DC_SingleAssetEditorAutocomplete';\n\nconst muiStyles = theme => ({\n formControl: {},\n listbox: { maxHeight: 350 },\n root: { fontSize: 16 },\n inputRoot: {\n paddingTop: 16,\n padding: '8px 0',\n paddingBottom: 0,\n width: 350,\n fontSize: 16,\n },\n popupIndicator: { display: 'none' },\n option: {\n paddingLeft: '16px !important',\n height: 36,\n '&[aria-disabled=true]': {\n color: theme.palette.primary.text9,\n opacity: 1,\n backgroundColor: 'unset',\n },\n },\n noOptions: { padding: 0 },\n searchIcon: { fontSize: '20px !important' },\n});\n\nconst infoListItemStyles = {\n paddingLeft: '16px',\n height: 36,\n listStyleType: 'none',\n display: 'flex',\n alignItems: 'center',\n};\n\n/* eslint-disable react/prop-types */\nconst InfoListItem = ({ text = 'Loading...' }) => (\n <li key=\"loading\" style={infoListItemStyles}>\n <Typography variant=\"body2\" color=\"textSecondary\">\n {text}\n </Typography>\n </li>\n);\n\nconst ListboxComponent = forwardRef(({ children, loading, hasMore, ...otherProps }, ref) => (\n <List {...otherProps} ref={ref} role=\"listbox\">\n {children}\n {(hasMore || loading) && <InfoListItem />}\n </List>\n));\n/* eslint-enable react/prop-types */\n\nconst AssetEditorAutocomplete = ({\n 'data-testid': dataTestId = DEFAULT_ASSET_EDITOR_AUTOCOMPLETE_DATA_TESTID,\n appKey = null,\n assetType,\n classes,\n companyId,\n currentValue,\n disabled = false,\n disableClearable = true,\n errorText = '',\n isMultiple = false,\n isNullable = false,\n label = 'Choose An Asset',\n onChange,\n parentAssetId,\n parentAssetType,\n queryParams = DEFAULT_ASSET_EDITOR_AUTOCOMPLETE_QUERY_PARAMS,\n autocompleteProps = {},\n assetFields,\n}) => {\n // NOTE: Store currently selected option\n const [currentOption, setCurrentOption] = useState(isMultiple ? [] : null);\n\n const [searchText, setSearchText] = useState(''); // NOTE: For ui input\n const [searchValue, setSearchValue] = useState(''); // NOTE: Used for api filtering\n const [isSearchMode, setSearchMode] = useState(false);\n\n const [scrollPage, setScrollPage] = useState(1);\n const [hasMore, setHasMore] = useState(true);\n\n useEffect(() => {\n // NOTE: Asset type has been changed. Clear currently selected option\n setCurrentOption(isMultiple ? [] : null);\n setScrollPage(1);\n setSearchMode(false);\n }, [assetType]);\n\n const { assets, loading } = useAssetAutoCompleteSelectData({\n appKey,\n assetType,\n companyId,\n currentValue,\n isMultiple,\n parentAssetId,\n parentAssetType,\n scrollPage,\n searchText,\n setCurrentOption,\n queryParams,\n assetFields,\n });\n\n useEffect(() => {\n const hasMoreAssets = assets.length >= PER_PAGE * scrollPage;\n setHasMore(hasMoreAssets);\n }, [assets, scrollPage]);\n\n const onInputChange = useMemo(\n () =>\n debounce(value => {\n setScrollPage(1);\n setSearchText(value);\n }, 200),\n []\n );\n\n const handleInputChange = (event, value, reason) => {\n if (reason === 'input') {\n setSearchValue(value);\n setSearchMode(true);\n onInputChange(value); // NOTE: Trigger api call\n } else {\n // NOTE: Clean searchText for \"reset\" and \"clear\" reasons\n setSearchText('');\n }\n };\n\n const handleFetchNext = useMemo(\n () => debounce(() => setScrollPage(prevScrollPage => prevScrollPage + 1), 250),\n []\n );\n const onClose = () => {\n setSearchValue('');\n setSearchText('');\n setSearchMode(false);\n setScrollPage(1);\n };\n\n const onScrollListbox = event => {\n if (!hasMore || loading) return;\n const listboxNode = event.currentTarget;\n if (\n listboxNode.scrollTop + listboxNode.clientHeight >\n listboxNode.scrollHeight - SCROLL_THRESHOLD\n ) {\n handleFetchNext();\n }\n };\n\n const renderInput = params => (\n <TextField\n {...params}\n variant=\"standard\"\n placeholder=\"Search for asset...\"\n {...(!isMultiple && {\n InputProps: {\n ...params.InputProps,\n startAdornment: (\n <InputAdornment>\n <SearchIcon className={classes.searchIcon} />\n </InputAdornment>\n ),\n },\n })}\n />\n );\n\n const renderOption = ({ id, name }) => (\n <TruncatedText key={id} data-testid={`${PAGE_NAME}_option_${name}MenuItem`}>\n {isMultiple && currentValue.includes(id) ? `${name} (already selected)` : name}\n </TruncatedText>\n );\n\n const autocompleteClasses = {\n endAdornment: classes.endAdornment,\n inputRoot: classes.inputRoot,\n listbox: classes.listbox,\n noOptions: classes.noOptions,\n option: classes.option,\n popupIndicator: classes.popupIndicator,\n root: classes.root,\n };\n\n return (\n <FormControl disabled={disabled} error={!!errorText} className={classes.formControl}>\n {!isNullable && <InputLabel shrink>{label}</InputLabel>}\n <Tooltip title={currentOption?.name ?? ''}>\n <Autocomplete\n disabled={disabled}\n blurOnSelect\n classes={autocompleteClasses}\n clearOnBlur\n clearOnEscape\n data-testid={dataTestId}\n disableClearable={disableClearable}\n filterOptions={identity}\n getOptionLabel={option => option?.name}\n getOptionSelected={(option, value) => option && value && option.id === value.id}\n inputValue={isSearchMode ? searchValue : currentOption?.name || ''}\n ListboxComponent={ListboxComponent}\n ListboxProps={{ onScroll: onScrollListbox, loading, hasMore }}\n options={assets}\n onChange={(event, selected) => {\n setCurrentOption(selected);\n onChange(isMultiple ? selected.map(({ id }) => id) : selected?.id ?? null, selected);\n }}\n onClose={onClose}\n onInputChange={handleInputChange}\n noOptionsText={<InfoListItem text={loading ? 'Loading...' : 'No options'} />}\n renderInput={renderInput}\n renderOption={renderOption}\n value={currentOption}\n multiple={isMultiple}\n {...(isMultiple && {\n renderTags: (value, getTagProps) => {\n return value.map((option, index) => (\n <Chip key={option.id} label={option?.name} {...getTagProps({ index })} />\n ));\n },\n getOptionDisabled: option => currentValue.includes(option.id),\n })}\n {...autocompleteProps}\n />\n </Tooltip>\n <FormHelperText>{errorText}</FormHelperText>\n </FormControl>\n );\n};\n\nconst DEFAULT_ASSET_EDITOR_AUTOCOMPLETE_DATA_TESTID = `${PAGE_NAME}_autoComplete`;\nconst DEFAULT_ASSET_EDITOR_AUTOCOMPLETE_QUERY_PARAMS = {};\n\nAssetEditorAutocomplete.propTypes = {\n label: PropTypes.string,\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n isNullable: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.shape({}).isRequired,\n disableClearable: PropTypes.bool,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n companyId: PropTypes.number,\n assetType: PropTypes.string.isRequired,\n errorText: PropTypes.string,\n 'data-testid': PropTypes.string,\n disabled: PropTypes.bool,\n isMultiple: PropTypes.bool,\n appKey: PropTypes.string,\n queryParams: PropTypes.shape({}),\n};\n\nexport default withStyles(muiStyles)(AssetEditorAutocomplete);\n"],"names":["PAGE_NAME","infoListItemStyles","paddingLeft","height","listStyleType","display","alignItems","InfoListItem","_ref","_ref$text","text","_jsx","style","children","Typography","variant","color","ListboxComponent","forwardRef","ref","loading","hasMore","otherProps","_objectWithoutProperties","_ref2","_excluded","_jsxs","List","_objectSpread","role","AssetEditorAutocomplete","_ref3","_currentOption$name","_ref3$dataTestid","dataTestId","DEFAULT_ASSET_EDITOR_AUTOCOMPLETE_DATA_TESTID","_ref3$appKey","appKey","assetType","classes","companyId","currentValue","_ref3$disabled","disabled","_ref3$disableClearabl","disableClearable","_ref3$errorText","errorText","_ref3$isMultiple","isMultiple","_ref3$isNullable","isNullable","_ref3$label","label","onChange","parentAssetId","parentAssetType","_ref3$queryParams","queryParams","DEFAULT_ASSET_EDITOR_AUTOCOMPLETE_QUERY_PARAMS","_ref3$autocompletePro","autocompleteProps","assetFields","_useState","useState","_useState2","_slicedToArray","currentOption","setCurrentOption","_useState4","_useState3","searchText","setSearchText","_useState6","_useState5","searchValue","setSearchValue","_useState8","_useState7","isSearchMode","setSearchMode","_useState10","_useState9","scrollPage","setScrollPage","_useState12","_useState11","setHasMore","useEffect","_useAssetAutoComplete","useAssetAutoCompleteSelectData","assets","hasMoreAssets","length","PER_PAGE","onInputChange","useMemo","debounce","value","handleFetchNext","prevScrollPage","autocompleteClasses","endAdornment","inputRoot","listbox","noOptions","option","popupIndicator","root","FormControl","error","className","formControl","InputLabel","shrink","Tooltip","title","name","Autocomplete","blurOnSelect","clearOnBlur","clearOnEscape","filterOptions","identity","getOptionLabel","getOptionSelected","id","inputValue","ListboxProps","onScroll","event","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","SCROLL_THRESHOLD","options","selected","_selected$id","map","_ref5","onClose","reason","noOptionsText","renderInput","params","TextField","placeholder","InputProps","startAdornment","InputAdornment","SearchIcon","searchIcon","renderOption","_ref4","TruncatedText","includes","multiple","renderTags","getTagProps","index","Chip","getOptionDisabled","FormHelperText","propTypes","PropTypes","string","oneOfType","number","arrayOf","bool","func","isRequired","shape","AssetEditorAutocomplete$1","withStyles","theme","maxHeight","fontSize","paddingTop","padding","paddingBottom","width","palette","primary","text9","opacity","backgroundColor"],"mappings":"u5CAuBA,IAAMA,EAAY,mCA2BZC,EAAqB,CACzBC,YAAa,OACbC,OAAQ,GACRC,cAAe,OACfC,QAAS,OACTC,WAAY,UAIRC,EAAe,SAAHC,GAAA,IAAAC,EAAAD,EAAME,KAAmB,OACzCC,EAAA,KAAA,CAAkBC,MAAOX,EAAmBY,SAC1CF,EAACG,EAAU,CAACC,QAAQ,QAAQC,MAAM,gBAAeH,oBAFtB,aAAYJ,KACjC,UAIH,EAGDQ,EAAmBC,GAAW,WAAgDC,GAAG,IAAhDN,IAAAA,SAAUO,IAAAA,QAASC,IAAAA,QAAYC,EAAUC,EAAAC,EAAAC,GAAA,OAC9EC,EAACC,EAAIC,EAAAA,EAAA,GAAKN,GAAU,GAAA,CAAEH,IAAKA,EAAKU,KAAK,UAAShB,SAC3CA,CAAAA,GACCQ,GAAWD,IAAYT,EAACJ,EAAe,CAAA,MACpC,IAIHuB,EAA0B,SAmB1BC,GAAA,IAAAC,EAAAC,EAAAF,EAlBJ,eAAeG,aAAaC,EAA6CF,EAAAG,EAAAL,EACzEM,OAAAA,aAAS,KAAID,EACbE,IAAAA,UACAC,IAAAA,QACAC,IAAAA,UACAC,IAAAA,aAAYC,EAAAX,EACZY,SAAAA,cAAgBD,EAAAE,EAAAb,EAChBc,iBAAAA,cAAuBD,EAAAE,EAAAf,EACvBgB,UAAAA,aAAY,GAAED,EAAAE,EAAAjB,EACdkB,WAAAA,cAAkBD,EAAAE,EAAAnB,EAClBoB,WAAAA,cAAkBD,EAAAE,EAAArB,EAClBsB,MAAAA,aAAQ,kBAAiBD,EACzBE,IAAAA,SACAC,IAAAA,cACAC,IAAAA,gBAAeC,EAAA1B,EACf2B,YAAAA,aAAcC,EAA8CF,EAAAG,GAAA7B,EAC5D8B,kBAAAA,QAAiB,IAAAD,GAAG,CAAE,EAAAA,GACtBE,KAAAA,YAGAC,GAA0CC,EAASf,EAAa,GAAK,MAAKgB,GAAAC,EAAAH,GAAA,GAAnEI,GAAaF,GAAA,GAAEG,GAAgBH,GAAA,GAEFD,GAAAA,EAAS,IAAGK,GAAAH,EAAAI,GAAA,GAAzCC,GAAUF,GAAA,GAAEG,SACmBR,GAAAA,EAAS,IAAGS,GAAAP,EAAAQ,GAAA,GAA3CC,GAAWF,GAAA,GAAEG,SACkBZ,GAAAA,GAAS,GAAMa,GAAAX,EAAAY,GAAA,GAA9CC,GAAYF,GAAA,GAAEG,GAAaH,GAAA,GAEEb,GAAAA,EAAS,GAAEiB,GAAAf,EAAAgB,GAAA,GAAxCC,GAAUF,GAAA,GAAEG,GAAaH,GAAA,GACFjB,GAAAA,GAAS,GAAKqB,GAAAnB,EAAAoB,GAAA,GAArCjE,GAAOgE,GAAA,GAAEE,GAAUF,GAAA,GAE1BG,GAAU,WAERpB,GAAiBnB,EAAa,GAAK,MACnCmC,GAAc,GACdJ,IAAc,EAChB,GAAG,CAAC1C,IAEJ,IAAAmD,GAA4BC,EAA+B,CACzDrD,OAAAA,EACAC,UAAAA,EACAE,UAAAA,EACAC,aAAAA,EACAQ,WAAAA,EACAM,cAAAA,EACAC,gBAAAA,EACA2B,WAAAA,GACAZ,WAAAA,GACAH,iBAAAA,GACAV,YAAAA,EACAI,YAAAA,KAZM6B,MAAAA,OAAQvE,MAAAA,QAehBoE,GAAU,WACR,IAAMI,EAAgBD,GAAOE,QAAUC,EAAWX,GAClDI,GAAWK,EACb,GAAG,CAACD,GAAQR,KAEZ,IAAMY,GAAgBC,GACpB,WAAA,OACEC,GAAS,SAAAC,GACPd,GAAc,GACdZ,GAAc0B,EACf,GAAE,IAAI,GACT,IAcIC,GAAkBH,GACtB,WAAA,OAAMC,GAAS,WAAA,OAAMb,IAAc,SAAAgB,GAAc,OAAIA,EAAiB,IAAE,GAAE,IAAI,GAC9E,IA4CIC,GAAsB,CAC1BC,aAAc/D,EAAQ+D,aACtBC,UAAWhE,EAAQgE,UACnBC,QAASjE,EAAQiE,QACjBC,UAAWlE,EAAQkE,UACnBC,OAAQnE,EAAQmE,OAChBC,eAAgBpE,EAAQoE,eACxBC,KAAMrE,EAAQqE,MAGhB,OACElF,EAACmF,EAAW,CAAClE,SAAUA,EAAUmE,QAAS/D,EAAWgE,UAAWxE,EAAQyE,YAAYnG,SAAA,EAChFsC,GAAcxC,EAACsG,EAAU,CAACC,QAAM,EAAArG,SAAEwC,IACpC1C,EAACwG,EAAO,CAACC,MAA0B,QAArBpF,EAAEmC,gBAAAA,GAAekD,YAAI,IAAArF,EAAAA,EAAI,GAAGnB,SACxCF,EAAC2G,EAAY1F,EAAAA,EAAA,CACXe,SAAUA,EACV4E,cAAY,EACZhF,QAAS8D,GACTmB,aAAW,EACXC,eAAa,EACb,cAAavF,EACbW,iBAAkBA,EAClB6E,cAAeC,EACfC,eAAgB,SAAAlB,GAAM,OAAIA,aAAAA,EAAAA,EAAQW,IAAK,EACvCQ,kBAAmB,SAACnB,EAAQR,GAAK,OAAKQ,GAAUR,GAASQ,EAAOoB,KAAO5B,EAAM4B,EAAG,EAChFC,WAAYhD,GAAeJ,IAAcR,cAAAA,EAAAA,GAAekD,OAAQ,GAChEpG,iBAAkBA,EAClB+G,aAAc,CAAEC,SA9DA,SAAAC,GACtB,GAAK7G,KAAWD,GAAhB,CACA,IAAM+G,EAAcD,EAAME,cAExBD,EAAYE,UAAYF,EAAYG,aACpCH,EAAYI,aAAeC,GAE3BrC,IANuB,GA6DwB/E,QAAAA,GAASC,QAAAA,IACpDoH,QAAS9C,GACTrC,SAAU,SAAC4E,EAAOQ,GAAa,IAAAC,EAC7BvE,GAAiBsE,GACjBpF,EAASL,EAAayF,EAASE,KAAI,SAAAC,GAAK,SAAFf,EAAW,IAAoB,QAAhBY,EAAAA,aAAAA,EAAAA,EAAUZ,UAAM,IAAAa,EAAAA,EAAA,KAAMD,EAC3E,EACFI,QA3EQ,WACdlE,GAAe,IACfJ,GAAc,IACdQ,IAAc,GACdI,GAAc,IAwERW,cA3FkB,SAACmC,EAAOhC,EAAO6C,GACxB,UAAXA,GACFnE,GAAesB,GACflB,IAAc,GACde,GAAcG,IAGd1B,GAAc,KAqFVwE,cAAerI,EAACJ,EAAY,CAACG,KAAMU,GAAU,aAAe,eAC5D6H,YA5DY,SAAAC,GAAM,OACxBvI,EAACwI,EAASvH,EAAAA,EAAA,GACJsH,GAAM,GAAA,CACVnI,QAAQ,WACRqI,YAAY,wBACNnG,GAAc,CAClBoG,WAAUzH,EAAAA,EAAA,CAAA,EACLsH,EAAOG,YAAU,GAAA,CACpBC,eACE3I,EAAC4I,EAAc,CAAA1I,SACbF,EAAC6I,EAAU,CAACzC,UAAWxE,EAAQkH,qBAmDnCC,aA3Ca,SAAHC,GAAA,IAAM7B,IAAAA,GAAIT,IAAAA,KAAI,OAC9B1G,EAACiJ,EAAa,CAAU,cAAgB5J,GAAAA,OAAAA,EAAoBqH,YAAAA,OAAAA,EAAe,YAAAxG,SACxEoC,GAAcR,EAAaoH,SAAS/B,GAAST,GAAAA,OAAAA,EAA4BA,uBAAAA,GADxDS,IA2Cd5B,MAAO/B,GACP2F,SAAU7G,GACLA,GAAc,CACjB8G,WAAY,SAAC7D,EAAO8D,GAClB,OAAO9D,EAAM0C,KAAI,SAAClC,EAAQuD,GAAK,OAC7BtJ,EAACuJ,EAAItI,EAAA,CAAiByB,MAAOqD,aAAM,EAANA,EAAQW,MAAU2C,EAAY,CAAEC,MAAAA,KAAlDvD,EAAOoB,GAAuD,GAE5E,EACDqC,kBAAmB,SAAAzD,GAAM,OAAIjE,EAAaoH,SAASnD,EAAOoB,GAAG,IAE3DjE,OAGRlD,EAACyJ,EAAc,CAAAvJ,SAAEkC,MAGvB,EAEMZ,EAAmDnC,GAAAA,OAAAA,EAAwB,iBAC3E2D,EAAiD,CAAA,EAEvD7B,EAAwBuI,UAAY,CAClChH,MAAOiH,EAAUC,OACjB9H,aAAc6H,EAAUE,UAAU,CAACF,EAAUG,OAAQH,EAAUI,QAAQJ,EAAUG,UACjFtH,WAAYmH,EAAUK,KACtBrH,SAAUgH,EAAUM,KAAKC,WACzBtI,QAAS+H,EAAUQ,MAAM,CAAA,GAAID,WAC7BhI,iBAAkByH,EAAUK,KAC5BpH,cAAe+G,EAAUG,OACzBjH,gBAAiB8G,EAAUC,OAC3B/H,UAAW8H,EAAUG,OACrBnI,UAAWgI,EAAUC,OAAOM,WAC5B9H,UAAWuH,EAAUC,OACrB,cAAeD,EAAUC,OACzB5H,SAAU2H,EAAUK,KACpB1H,WAAYqH,EAAUK,KACtBtI,OAAQiI,EAAUC,OAClB7G,YAAa4G,EAAUQ,MAAM,KAG/B,IAAAC,EAAeC,GA3PG,SAAAC,GAAK,MAAK,CAC1BjE,YAAa,CAAE,EACfR,QAAS,CAAE0E,UAAW,KACtBtE,KAAM,CAAEuE,SAAU,IAClB5E,UAAW,CACT6E,WAAY,GACZC,QAAS,QACTC,cAAe,EACfC,MAAO,IACPJ,SAAU,IAEZxE,eAAgB,CAAEtG,QAAS,QAC3BqG,OAAQ,CACNxG,YAAa,kBACbC,OAAQ,GACR,wBAAyB,CACvBa,MAAOiK,EAAMO,QAAQC,QAAQC,MAC7BC,QAAS,EACTC,gBAAiB,UAGrBnF,UAAW,CAAE4E,QAAS,GACtB5B,WAAY,CAAE0B,SAAU,mBACzB,GAoOcH,CAAsBlJ"}
|
|
1
|
+
{"version":3,"file":"AssetEditorAutocomplete.js","sources":["../../../src/components/AssetEditor/AssetEditorAutocomplete.js"],"sourcesContent":["import { useMemo, useState, useEffect, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { debounce, identity } from 'lodash';\nimport {\n FormControl,\n InputLabel,\n TextField,\n FormHelperText,\n withStyles,\n Typography,\n List,\n InputAdornment,\n Chip,\n Tooltip,\n} from '@material-ui/core';\nimport { Search as SearchIcon } from '@material-ui/icons';\nimport { Autocomplete } from '@material-ui/lab';\n\nimport TruncatedText from '../TruncatedText';\n\nimport { PER_PAGE, SCROLL_THRESHOLD } from './constants';\nimport { useAssetAutoCompleteSelectData } from './effects';\n\nconst PAGE_NAME = 'DC_SingleAssetEditorAutocomplete';\n\nconst muiStyles = theme => ({\n formControl: {},\n listbox: { maxHeight: 350 },\n root: { fontSize: 16 },\n inputRoot: {\n paddingTop: 16,\n padding: '8px 0',\n paddingBottom: 0,\n width: 350,\n fontSize: 16,\n },\n popupIndicator: { display: 'none' },\n option: {\n paddingLeft: '16px !important',\n height: 36,\n '&[aria-disabled=true]': {\n color: theme.palette.primary.text9,\n opacity: 1,\n backgroundColor: 'unset',\n },\n },\n noOptions: { padding: 0 },\n searchIcon: { fontSize: '20px !important' },\n});\n\nconst infoListItemStyles = {\n paddingLeft: '16px',\n height: 36,\n listStyleType: 'none',\n display: 'flex',\n alignItems: 'center',\n};\n\n/* eslint-disable react/prop-types */\nconst InfoListItem = ({ text = 'Loading...' }) => (\n <li key=\"loading\" style={infoListItemStyles}>\n <Typography variant=\"body2\" color=\"textSecondary\">\n {text}\n </Typography>\n </li>\n);\n\nconst ListboxComponent = forwardRef(({ children, loading, hasMore, ...otherProps }, ref) => (\n <List {...otherProps} ref={ref} role=\"listbox\">\n {children}\n {(hasMore || loading) && <InfoListItem />}\n </List>\n));\n/* eslint-enable react/prop-types */\n\nconst AssetEditorAutocomplete = ({\n 'data-testid': dataTestId,\n appKey,\n assetType,\n classes,\n companyId,\n currentValue,\n disabled,\n disableClearable,\n errorText,\n isMultiple,\n isNullable,\n label,\n onChange,\n parentAssetId,\n parentAssetType,\n queryParams,\n autocompleteProps = {},\n assetFields,\n}) => {\n // NOTE: Store currently selected option\n const [currentOption, setCurrentOption] = useState(isMultiple ? [] : null);\n\n const [searchText, setSearchText] = useState(''); // NOTE: For ui input\n const [searchValue, setSearchValue] = useState(''); // NOTE: Used for api filtering\n const [isSearchMode, setSearchMode] = useState(false);\n\n const [scrollPage, setScrollPage] = useState(1);\n const [hasMore, setHasMore] = useState(true);\n\n useEffect(() => {\n // NOTE: Asset type has been changed. Clear currently selected option\n setCurrentOption(isMultiple ? [] : null);\n setScrollPage(1);\n setSearchMode(false);\n }, [assetType]);\n\n const { assets, loading } = useAssetAutoCompleteSelectData({\n appKey,\n assetType,\n companyId,\n currentValue,\n isMultiple,\n parentAssetId,\n parentAssetType,\n scrollPage,\n searchText,\n setCurrentOption,\n queryParams,\n assetFields,\n });\n\n useEffect(() => {\n const hasMoreAssets = assets.length >= PER_PAGE * scrollPage;\n setHasMore(hasMoreAssets);\n }, [assets, scrollPage]);\n\n const onInputChange = useMemo(\n () =>\n debounce(value => {\n setScrollPage(1);\n setSearchText(value);\n }, 200),\n []\n );\n\n const handleInputChange = (event, value, reason) => {\n if (reason === 'input') {\n setSearchValue(value);\n setSearchMode(true);\n onInputChange(value); // NOTE: Trigger api call\n } else {\n // NOTE: Clean searchText for \"reset\" and \"clear\" reasons\n setSearchText('');\n }\n };\n\n const handleFetchNext = useMemo(\n () => debounce(() => setScrollPage(prevScrollPage => prevScrollPage + 1), 250),\n []\n );\n const onClose = () => {\n setSearchValue('');\n setSearchText('');\n setSearchMode(false);\n setScrollPage(1);\n };\n\n const onScrollListbox = event => {\n if (!hasMore || loading) return;\n const listboxNode = event.currentTarget;\n if (\n listboxNode.scrollTop + listboxNode.clientHeight >\n listboxNode.scrollHeight - SCROLL_THRESHOLD\n ) {\n handleFetchNext();\n }\n };\n\n const renderInput = params => (\n <TextField\n {...params}\n variant=\"standard\"\n placeholder=\"Search for asset...\"\n {...(!isMultiple && {\n InputProps: {\n ...params.InputProps,\n startAdornment: (\n <InputAdornment>\n <SearchIcon className={classes.searchIcon} />\n </InputAdornment>\n ),\n },\n })}\n />\n );\n\n const renderOption = ({ id, name }) => (\n <TruncatedText key={id} data-testid={`${PAGE_NAME}_option_${name}MenuItem`}>\n {isMultiple && currentValue.includes(id) ? `${name} (already selected)` : name}\n </TruncatedText>\n );\n\n const autocompleteClasses = {\n endAdornment: classes.endAdornment,\n inputRoot: classes.inputRoot,\n listbox: classes.listbox,\n noOptions: classes.noOptions,\n option: classes.option,\n popupIndicator: classes.popupIndicator,\n root: classes.root,\n };\n\n return (\n <FormControl disabled={disabled} error={!!errorText} className={classes.formControl}>\n {!isNullable && <InputLabel shrink>{label}</InputLabel>}\n <Tooltip title={currentOption?.name ?? ''}>\n <Autocomplete\n disabled={disabled}\n blurOnSelect\n classes={autocompleteClasses}\n clearOnBlur\n clearOnEscape\n data-testid={dataTestId}\n disableClearable={disableClearable}\n filterOptions={identity}\n getOptionLabel={option => option?.name}\n getOptionSelected={(option, value) => option && value && option.id === value.id}\n inputValue={isSearchMode ? searchValue : currentOption?.name || ''}\n ListboxComponent={ListboxComponent}\n ListboxProps={{ onScroll: onScrollListbox, loading, hasMore }}\n options={assets}\n onChange={(event, selected) => {\n setCurrentOption(selected);\n onChange(isMultiple ? selected.map(({ id }) => id) : selected?.id ?? null, selected);\n }}\n onClose={onClose}\n onInputChange={handleInputChange}\n noOptionsText={<InfoListItem text={loading ? 'Loading...' : 'No options'} />}\n renderInput={renderInput}\n renderOption={renderOption}\n value={currentOption}\n multiple={isMultiple}\n {...(isMultiple && {\n renderTags: (value, getTagProps) => {\n return value.map((option, index) => (\n <Chip key={option.id} label={option?.name} {...getTagProps({ index })} />\n ));\n },\n getOptionDisabled: option => currentValue.includes(option.id),\n })}\n {...autocompleteProps}\n />\n </Tooltip>\n <FormHelperText>{errorText}</FormHelperText>\n </FormControl>\n );\n};\n\nAssetEditorAutocomplete.defaultProps = {\n label: 'Choose An Asset',\n currentValue: undefined,\n disableClearable: true,\n isNullable: false,\n parentAssetId: undefined,\n parentAssetType: undefined,\n companyId: undefined,\n errorText: '',\n 'data-testid': `${PAGE_NAME}_autoComplete`,\n disabled: false,\n isMultiple: false,\n appKey: null,\n queryParams: {},\n};\n\nAssetEditorAutocomplete.propTypes = {\n label: PropTypes.string,\n currentValue: PropTypes.oneOfType([PropTypes.number, PropTypes.arrayOf(PropTypes.number)]),\n isNullable: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.shape({}).isRequired,\n disableClearable: PropTypes.bool,\n parentAssetId: PropTypes.number,\n parentAssetType: PropTypes.string,\n companyId: PropTypes.number,\n assetType: PropTypes.string.isRequired,\n errorText: PropTypes.string,\n 'data-testid': PropTypes.string,\n disabled: PropTypes.bool,\n isMultiple: PropTypes.bool,\n appKey: PropTypes.string,\n queryParams: PropTypes.shape({}),\n};\n\nexport default withStyles(muiStyles)(AssetEditorAutocomplete);\n"],"names":["PAGE_NAME","infoListItemStyles","paddingLeft","height","listStyleType","display","alignItems","InfoListItem","_ref","_ref$text","text","_jsx","style","children","Typography","variant","color","ListboxComponent","forwardRef","ref","loading","hasMore","otherProps","_objectWithoutProperties","_ref2","_excluded","_jsxs","List","_objectSpread","role","AssetEditorAutocomplete","_ref3","_currentOption$name","dataTestId","appKey","assetType","classes","companyId","currentValue","disabled","disableClearable","errorText","isMultiple","isNullable","label","onChange","parentAssetId","parentAssetType","queryParams","_ref3$autocompletePro","autocompleteProps","assetFields","_useState","useState","_useState2","_slicedToArray","currentOption","setCurrentOption","_useState4","_useState3","searchText","setSearchText","_useState6","_useState5","searchValue","setSearchValue","_useState8","_useState7","isSearchMode","setSearchMode","_useState10","_useState9","scrollPage","setScrollPage","_useState12","_useState11","setHasMore","useEffect","_useAssetAutoComplete","useAssetAutoCompleteSelectData","assets","hasMoreAssets","length","PER_PAGE","onInputChange","useMemo","debounce","value","handleFetchNext","prevScrollPage","autocompleteClasses","endAdornment","inputRoot","listbox","noOptions","option","popupIndicator","root","FormControl","error","className","formControl","InputLabel","shrink","Tooltip","title","name","Autocomplete","blurOnSelect","clearOnBlur","clearOnEscape","filterOptions","identity","getOptionLabel","getOptionSelected","id","inputValue","ListboxProps","onScroll","event","listboxNode","currentTarget","scrollTop","clientHeight","scrollHeight","SCROLL_THRESHOLD","options","selected","_selected$id","map","_ref5","onClose","reason","noOptionsText","renderInput","params","TextField","placeholder","InputProps","startAdornment","InputAdornment","SearchIcon","searchIcon","renderOption","_ref4","TruncatedText","includes","multiple","renderTags","getTagProps","index","Chip","getOptionDisabled","FormHelperText","defaultProps","undefined","concat","propTypes","PropTypes","string","oneOfType","number","arrayOf","bool","func","isRequired","shape","AssetEditorAutocomplete$1","withStyles","theme","maxHeight","fontSize","paddingTop","padding","paddingBottom","width","palette","primary","text9","opacity","backgroundColor"],"mappings":"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"}
|
|
@@ -1,30 +1,46 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
2
|
declare function AppSettingsAssetEditor({ appKey, appType, className, company, defaultValue, secondaryDefaultValue, disabled, isHiddenTitle, isNullable, label, onSettingsChange: propsOnSettingsChange, primaryAssetFields, secondaryAssetFields, isExtendedSelect, isRequiredAssetId, settings, isVisibleMultipleAssetsToggle, assetsLimit, isDisabledSecondaryAssetSelect, isDrillingPlatformApp, secondaryAssetHelpText, onChange, elementsClassNames, }: {
|
|
3
|
-
appKey
|
|
3
|
+
appKey: any;
|
|
4
4
|
appType: any;
|
|
5
|
-
assetsLimit
|
|
5
|
+
assetsLimit: any;
|
|
6
6
|
className: any;
|
|
7
7
|
company: any;
|
|
8
8
|
defaultValue: any;
|
|
9
9
|
disabled: any;
|
|
10
|
-
elementsClassNames
|
|
11
|
-
isDisabledSecondaryAssetSelect
|
|
10
|
+
elementsClassNames: any;
|
|
11
|
+
isDisabledSecondaryAssetSelect: any;
|
|
12
12
|
isDrillingPlatformApp: any;
|
|
13
13
|
isExtendedSelect: any;
|
|
14
|
-
isHiddenTitle
|
|
15
|
-
isNullable
|
|
14
|
+
isHiddenTitle: any;
|
|
15
|
+
isNullable: any;
|
|
16
16
|
isRequiredAssetId: any;
|
|
17
|
-
isVisibleMultipleAssetsToggle
|
|
18
|
-
label
|
|
19
|
-
onChange
|
|
17
|
+
isVisibleMultipleAssetsToggle: any;
|
|
18
|
+
label: any;
|
|
19
|
+
onChange: any;
|
|
20
20
|
onSettingsChange: any;
|
|
21
|
-
primaryAssetFields
|
|
22
|
-
secondaryAssetFields
|
|
23
|
-
secondaryAssetHelpText
|
|
21
|
+
primaryAssetFields: any;
|
|
22
|
+
secondaryAssetFields: any;
|
|
23
|
+
secondaryAssetHelpText: any;
|
|
24
24
|
secondaryDefaultValue: any;
|
|
25
25
|
settings: any;
|
|
26
26
|
}): import("react").JSX.Element;
|
|
27
27
|
declare namespace AppSettingsAssetEditor {
|
|
28
|
+
var defaultProps: {
|
|
29
|
+
assetsLimit: null;
|
|
30
|
+
label: string;
|
|
31
|
+
isNullable: boolean;
|
|
32
|
+
defaultValue: undefined;
|
|
33
|
+
secondaryDefaultValue: undefined;
|
|
34
|
+
isHiddenTitle: boolean;
|
|
35
|
+
appKey: null;
|
|
36
|
+
isVisibleMultipleAssetsToggle: boolean;
|
|
37
|
+
isDisabledSecondaryAssetSelect: boolean;
|
|
38
|
+
primaryAssetFields: never[];
|
|
39
|
+
secondaryAssetFields: never[];
|
|
40
|
+
secondaryAssetHelpText: null;
|
|
41
|
+
onChange: (...args: any[]) => void;
|
|
42
|
+
elementsClassNames: {};
|
|
43
|
+
};
|
|
28
44
|
var propTypes: {
|
|
29
45
|
assetsLimit: PropTypes.Requireable<number>;
|
|
30
46
|
settings: PropTypes.Validator<NonNullable<PropTypes.InferProps<{}>>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssetEditorV2/index.js"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,YAAY,CAAC;wCAoBH,EAC9B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AssetEditorV2/index.js"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,YAAY,CAAC;wCAoBH,EAC9B,MAAM,EACN,OAAO,EACP,SAAS,EACT,OAAO,EACP,YAAY,EACZ,qBAAqB,EACrB,QAAQ,EACR,aAAa,EACb,UAAU,EACV,KAAK,EACL,gBAAgB,EAAE,qBAAqB,EACvC,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,6BAA6B,EAC7B,WAAW,EACX,8BAA8B,EAC9B,qBAAqB,EACrB,sBAAsB,EACtB,QAAQ,EACR,kBAAkB,GACnB;;;;;;;;;;;;;;;;;;;;;;;;CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eA0Sc,sBAAsB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"@babel/runtime/helpers/toConsumableArray";import
|
|
1
|
+
import e from"@babel/runtime/helpers/toConsumableArray";import s from"@babel/runtime/helpers/defineProperty";import t from"@babel/runtime/helpers/slicedToArray";import{useState as a,useRef as r,useEffect as n}from"react";import i from"prop-types";import{get as l,isEmpty as o,noop as p}from"lodash";import c from"classnames";import{makeStyles as d}from"@material-ui/core";import u from"./components/PrimaryAssetSelect.js";import m from"./components/SecondaryAssetSelect.js";import"./components/SelectItem.js";import y from"./components/MultipleAssetsToggle.js";import f from"./components/PrimaryAssetSelectV2.js";import{ACTIVE_ASSETS_ID as g,ACTIVE_ASSET_ID as A}from"./constants.js";import{getPrimaryAssetFields as b}from"./utils/index.js";import"../../constants/goals.js";import{PAD_GROUP as v,FRAC_FLEET_GROUP as h}from"../../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 j}from"../../constants/assetTypes.js";import"../../constants/corvaCompanyId.js";import"../GradientManager/configuration/constants.js";import{jsxs as I,jsx as S}from"react/jsx-runtime";function T(e,s){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);s&&(a=a.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),t.push.apply(t,a)}return t}function O(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?T(Object(a),!0).forEach((function(t){s(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):T(Object(a)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(a,s))}))}return e}var C=d({title:{fontWeight:400,fontSize:20,margin:"24px 0 16px"}}),P=function(i){var p=i.appKey,d=i.appType,T=i.className,P=i.company,N=i.defaultValue,D=i.secondaryDefaultValue,V=i.disabled,F=i.isHiddenTitle,w=i.isNullable,x=i.label,R=i.onSettingsChange,_=i.primaryAssetFields,q=i.secondaryAssetFields,E=i.isExtendedSelect,H=i.isRequiredAssetId,K=i.settings,L=i.isVisibleMultipleAssetsToggle,M=i.assetsLimit,G=i.isDisabledSecondaryAssetSelect,W=i.isDrillingPlatformApp,k=i.secondaryAssetHelpText,z=i.onChange,B=i.elementsClassNames,J=l(d,["primaryAsset","assetType","type"]),Q=l(d,["primaryAsset","assetType","id"]),U=l(d,["primaryAsset","assetType","label"]),X=l(d,["primaryAsset","groups"]),Y=l(d,["secondaryAsset"],!1),Z=l(d,["secondaryAsset","assetType","type"]),$=l(d,["secondaryAsset","assetType","id"]),ee=l(d,["secondaryAsset","assetType","label"]),se=l(K,Q),te=se?Number(se):null,ae=l(K,$)?Number(l(K,$)):D||null,re=a({id:te||N}),ne=t(re,2),ie=ne[0],le=ne[1],oe=a(ae),pe=t(oe,2),ce=pe[0],de=pe[1],ue=a(!1),me=t(ue,2),ye=me[0],fe=me[1],ge=a(),Ae=t(ge,2),be=Ae[0],ve=Ae[1],he=a(!1),je=t(he,2),Ie=je[0],Se=je[1],Te=r(!1),Oe=function(){for(var e=arguments.length,s=new Array(e),t=0;t<e;t++)s[t]=arguments[t];R.apply(void 0,s.concat([Te.current]))},Ce=C(),Pe=J===j.rig.type||J===j.intervention_unit.type?f:u,Ne=W&&null!=ie&&ie.assetId?null==ie?void 0:ie.assetId:null==ie?void 0:ie.id,De=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};le(t),de(null),fe(!1);var a=(s(e={},Q,null),s(e,$,null),s(e,"assets",null),e);Oe(a)},Ve=Y&&(Ie?Boolean(ie.length)&&!ye:(null==ie?void 0:ie.id)&&!ye);return n((function(){o(K)&&De(Ie&&[])}),[K]),I("div",{className:c(Ce.main,T),children:[!F&&S("div",{className:c(Ce.title,B.title),children:"Asset"}),L&&S(y,{onChange:function(e){Te.current=!!e,Se(e),De(e&&[])},className:B.multiAssetSwitch,checked:Ie}),S("div",{className:B.primaryAssetSelect,children:S(Pe,{appKey:p,assetType:J,company:P,currentOption:ie,currentValue:null==ie?void 0:ie.id,"data-testid":"".concat("DC_AppSettingsAssetEditor","_primaryAssetEditorAutocomplete"),isSecondaryAssetPresent:Y,defaultValue:N,disableClearable:!w,disabled:V,isNullable:w,isRequiredAssetId:H,label:x,multiple:Ie,onChange:function(t){if(z({primary:t}),Ie)!function(t){var a,r;if(!(t.length>M)){var n=(null===(a=t[0])||void 0===a?void 0:a.group)===v.name,i=(null===(r=t[0])||void 0===r?void 0:r.group)===h.name,l=1===t.length&&n,o=1===t.length&&i;if(l?(fe(!0),ve(v)):o&&ve(h),n){le(t);var p=null==t?void 0:t.reduce((function(s,t){var a=t.parentFracFleetId,r=t.id,n={fracFleetId:a,padId:r};return E&&(n.assetId=a,n.replacedPadId=r),a?[].concat(e(s),[n]):s}),[]);Oe({assets:p})}else{le(t);var c=t.reduce((function(t,a){var r=s({},"".concat(a.type,"Id"),a.id);return H&&(r.assetId=a.assetId),E&&(r.assetId=a.assetId||a.id),[].concat(e(t),[r])}),[]);Oe({assets:c})}}}(t);else{var a=t.id,r=t.type,n=t.parentFracFleetId;if(a)if(r!==j.pad.type){le(t),de(null);var i=s({},Q,a);H&&(i.assetId=t.assetId),$&&(i[$]=null),Oe(i),fe(!1)}else{var l;le(t),fe(!0),de(a);var o=(s(l={},j.frac_fleet.id,Number(n)),s(l,j.pad.id,a),l);Oe(o)}}},setCurrentOption:le,selectedGroup:be,onGroupChange:function(e){ve(e),De(Ie&&[])},onGroupReset:function(){ve(null),De(Ie&&[])},groups:X,onInputReset:De,onActiveAssetIdChange:function(e){le((function(s){return O(O({},s),{},{activeWellId:e})}))},isDrillingPlatformApp:W,assetFields:b(J,_,W)})}),Ve&&I("div",{className:B.secondaryAssetSelect,children:[k,S(m,{assetFields:Z===j.pad.type?[].concat(e(q),["pad.active","pad.current"]):q,activeWellId:null==ie?void 0:ie.activeWellId,appKey:p,assetType:Z,company:P,currentValue:ce,"data-testid":"".concat("DC_AppSettingsAssetEditor","_secondaryAutoComplete"),defaultValue:Ie?g:A,disabled:Ie||G||V,isDrillingPlatformApp:W,isNullable:w,isRequiredAssetId:H,onChange:function(e){var t=e.id,a=e.assetId,r=e.name;z({secondary:{name:r}}),de(t);var n=t===A?null:t,i=s({},$,n);H&&Z===j.well.type?Oe(O(O({},i),{},{replacedAssetId:W?n:a})):Oe(i)},parentAssetId:Ne,parentAssetType:W?"parent_asset_id":J,primaryAssetLabel:U,secondaryAssetLabel:ee})]})]})};P.defaultProps={assetsLimit:null,label:"Choose An Asset",isNullable:!1,defaultValue:void 0,secondaryDefaultValue:void 0,isHiddenTitle:!1,appKey:null,isVisibleMultipleAssetsToggle:!1,isDisabledSecondaryAssetSelect:!1,primaryAssetFields:[],secondaryAssetFields:[],secondaryAssetHelpText:null,onChange:p,elementsClassNames:{}},P.propTypes={assetsLimit:i.number,settings:i.shape({}).isRequired,appType:i.shape({}).isRequired,defaultValue:i.any,secondaryDefaultValue:i.any,onSettingsChange:i.func.isRequired,label:i.string,isNullable:i.bool,isHiddenTitle:i.bool,appKey:i.string,isVisibleMultipleAssetsToggle:i.bool,isDisabledSecondaryAssetSelect:i.bool,primaryAssetFields:i.arrayOf(i.shape({})),secondaryAssetFields:i.arrayOf(i.shape({})),secondaryAssetHelpText:i.oneOfType([i.element,i.string]),onChange:i.func,elementsClassNames:i.shape({title:i.string,multiAssetSwitch:i.string,primaryAssetSelect:i.string,secondaryAssetSelect:i.string})};export{P as default};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/AssetEditorV2/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { get, isEmpty, noop } from 'lodash';\nimport classNames from 'classnames';\nimport { makeStyles } from '@material-ui/core';\n\nimport { PrimaryAssetSelect, PrimaryAssetSelectV2, SecondaryAssetSelect } from './components';\nimport { ACTIVE_ASSET_ID, ACTIVE_ASSETS_ID } from './constants';\nimport MultipleAssetsToggle from './components/MultipleAssetsToggle';\nimport { getPrimaryAssetFields } from './utils';\n\nimport { ASSET_TYPES } from '~/constants';\nimport { FRAC_FLEET_GROUP, PAD_GROUP } from '~/constants/segment';\n\nconst useStyles = makeStyles({\n title: { fontWeight: 400, fontSize: 20, margin: '24px 0 16px' },\n});\n\nconst PAGE_NAME = 'DC_AppSettingsAssetEditor';\nconst PARENT_ASSET_ID = 'parent_asset_id';\n\nconst AppSettingsAssetEditor = ({\n appKey = null,\n appType,\n className,\n company,\n defaultValue,\n secondaryDefaultValue,\n disabled,\n isHiddenTitle = false,\n isNullable = false,\n label = 'Choose An Asset',\n onSettingsChange: propsOnSettingsChange,\n primaryAssetFields = DEFAULT_APP_SETTINGS_ASSET_EDITOR_PRIMARY_ASSET_FIELDS,\n secondaryAssetFields = DEFAULT_APP_SETTINGS_ASSET_EDITOR_SECONDARY_ASSET_FIELDS,\n isExtendedSelect,\n isRequiredAssetId,\n settings,\n isVisibleMultipleAssetsToggle = false,\n assetsLimit = null,\n isDisabledSecondaryAssetSelect = false,\n isDrillingPlatformApp,\n secondaryAssetHelpText = null,\n onChange = DEFAULT_APP_SETTINGS_ASSET_EDITOR_ON_CHANGE,\n elementsClassNames = DEFAULT_APP_SETTINGS_ASSET_EDITOR_ELEMENTS_CLASS_NAMES,\n}) => {\n const primaryAssetType = get(appType, ['primaryAsset', 'assetType', 'type']);\n const primaryAssetIdType = get(appType, ['primaryAsset', 'assetType', 'id']);\n const primaryAssetLabel = get(appType, ['primaryAsset', 'assetType', 'label']);\n const primaryAssetSelectGroups = get(appType, ['primaryAsset', 'groups']);\n\n const isSecondaryAssetPresent = get(appType, ['secondaryAsset'], false);\n\n const secondaryAssetType = get(appType, ['secondaryAsset', 'assetType', 'type']);\n const secondaryAssetIdType = get(appType, ['secondaryAsset', 'assetType', 'id']);\n const secondaryAssetLabel = get(appType, ['secondaryAsset', 'assetType', 'label']);\n\n const currentValue = get(settings, primaryAssetIdType);\n const initialPrimaryAssetId = currentValue ? Number(currentValue) : null;\n const initialSecondaryAssetId = get(settings, secondaryAssetIdType)\n ? Number(get(settings, secondaryAssetIdType))\n : secondaryDefaultValue || null;\n const [primaryAsset, setPrimaryAsset] = useState({ id: initialPrimaryAssetId || defaultValue });\n\n const [secondaryAssetId, setSecondaryAssetId] = useState(initialSecondaryAssetId);\n const [isPadSelectedAsPrimaryAsset, setIsPadSelectedAsPrimaryAsset] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState();\n const [isMultipleAssets, setIsMultipleAssets] = useState(false);\n const isMultipleAssetsRef = useRef(false);\n const onSettingsChange = (...args) => {\n propsOnSettingsChange(...args, isMultipleAssetsRef.current);\n };\n\n const styles = useStyles();\n\n const PrimaryAssetSelectComponent =\n primaryAssetType === ASSET_TYPES.rig.type ||\n primaryAssetType === ASSET_TYPES.intervention_unit.type\n ? PrimaryAssetSelectV2\n : PrimaryAssetSelect;\n\n const parentAssetId =\n isDrillingPlatformApp && primaryAsset?.assetId ? primaryAsset?.assetId : primaryAsset?.id;\n\n const onSecondaryAssetChange = ({ id, assetId, name }) => {\n onChange({ secondary: { name } });\n setSecondaryAssetId(id);\n const secondaryAssetId = id === ACTIVE_ASSET_ID ? null : id;\n const assetSettings = { [secondaryAssetIdType]: secondaryAssetId };\n\n if (isRequiredAssetId && secondaryAssetType === ASSET_TYPES.well.type) {\n onSettingsChange({\n ...assetSettings,\n replacedAssetId: isDrillingPlatformApp ? secondaryAssetId : assetId,\n });\n return;\n }\n\n onSettingsChange(assetSettings);\n };\n\n const onMultipleAssetChange = selected => {\n if (selected.length > assetsLimit) return;\n\n const isPadSelected = selected[0]?.group === PAD_GROUP.name;\n const isFracFleetSelected = selected[0]?.group === FRAC_FLEET_GROUP.name;\n const isFirstPadSelected = selected.length === 1 && isPadSelected;\n const isFirstFracFleetSelected = selected.length === 1 && isFracFleetSelected;\n\n if (isFirstPadSelected) {\n setIsPadSelectedAsPrimaryAsset(true);\n setSelectedGroup(PAD_GROUP);\n } else if (isFirstFracFleetSelected) {\n setSelectedGroup(FRAC_FLEET_GROUP);\n }\n\n if (isPadSelected) {\n setPrimaryAsset(selected);\n const assetsSetting = selected?.reduce((acc, { parentFracFleetId, id }) => {\n const settings = {\n fracFleetId: parentFracFleetId,\n padId: id,\n };\n\n if (isExtendedSelect) {\n settings.assetId = parentFracFleetId;\n settings.replacedPadId = id;\n }\n return parentFracFleetId ? [...acc, settings] : acc;\n }, []);\n\n onSettingsChange({\n assets: assetsSetting,\n });\n return;\n }\n\n setPrimaryAsset(selected);\n const assetsSetting = selected.reduce((acc, asset) => {\n const settings = { [`${asset.type}Id`]: asset.id };\n if (isRequiredAssetId) {\n settings.assetId = asset.assetId;\n }\n if (isExtendedSelect) {\n settings.assetId = asset.assetId || asset.id;\n }\n return [...acc, settings];\n }, []);\n onSettingsChange({\n assets: assetsSetting,\n });\n };\n\n const onPrimaryAssetChange = selected => {\n onChange({ primary: selected });\n if (isMultipleAssets) {\n onMultipleAssetChange(selected);\n return;\n }\n const { id, type, parentFracFleetId } = selected;\n if (!id) return;\n if (type === ASSET_TYPES.pad.type) {\n setPrimaryAsset(selected);\n setIsPadSelectedAsPrimaryAsset(true);\n setSecondaryAssetId(id);\n const assetSetting = {\n [ASSET_TYPES.frac_fleet.id]: Number(parentFracFleetId),\n [ASSET_TYPES.pad.id]: id,\n };\n onSettingsChange(assetSetting);\n return;\n }\n\n setPrimaryAsset(selected);\n setSecondaryAssetId(null);\n const assetSetting = { [primaryAssetIdType]: id };\n if (isRequiredAssetId) assetSetting.assetId = selected.assetId;\n if (secondaryAssetIdType) assetSetting[secondaryAssetIdType] = null;\n onSettingsChange(assetSetting);\n setIsPadSelectedAsPrimaryAsset(false);\n };\n\n const handlePrimaryAssetReset = (defaultValue = {}) => {\n setPrimaryAsset(defaultValue);\n setSecondaryAssetId(null);\n\n setIsPadSelectedAsPrimaryAsset(false);\n const assetSetting = {\n [primaryAssetIdType]: null,\n [secondaryAssetIdType]: null,\n assets: null,\n };\n onSettingsChange(assetSetting);\n };\n\n const handleMultipleAssetsChange = checked => {\n isMultipleAssetsRef.current = !!checked;\n setIsMultipleAssets(checked);\n handlePrimaryAssetReset(checked && []);\n };\n\n const handleGroupChange = newGroup => {\n setSelectedGroup(newGroup);\n handlePrimaryAssetReset(isMultipleAssets && []);\n };\n\n const handleGroupReset = () => {\n setSelectedGroup(null);\n handlePrimaryAssetReset(isMultipleAssets && []);\n };\n\n const secondaryAssetSelectIsVisible =\n isSecondaryAssetPresent &&\n (isMultipleAssets\n ? Boolean(primaryAsset.length) && !isPadSelectedAsPrimaryAsset\n : primaryAsset?.id && !isPadSelectedAsPrimaryAsset);\n\n useEffect(() => {\n if (isEmpty(settings)) {\n handlePrimaryAssetReset(isMultipleAssets && []);\n }\n }, [settings]);\n\n return (\n <div className={classNames(styles.main, className)}>\n {!isHiddenTitle && (\n <div className={classNames(styles.title, elementsClassNames.title)}>Asset</div>\n )}\n {isVisibleMultipleAssetsToggle && (\n <MultipleAssetsToggle\n onChange={handleMultipleAssetsChange}\n className={elementsClassNames.multiAssetSwitch}\n checked={isMultipleAssets}\n />\n )}\n <div className={elementsClassNames.primaryAssetSelect}>\n <PrimaryAssetSelectComponent\n appKey={appKey}\n assetType={primaryAssetType}\n company={company}\n currentOption={primaryAsset}\n currentValue={primaryAsset?.id}\n data-testid={`${PAGE_NAME}_primaryAssetEditorAutocomplete`}\n isSecondaryAssetPresent={isSecondaryAssetPresent}\n defaultValue={defaultValue}\n disableClearable={!isNullable}\n disabled={disabled}\n isNullable={isNullable}\n isRequiredAssetId={isRequiredAssetId}\n label={label}\n multiple={isMultipleAssets}\n onChange={onPrimaryAssetChange}\n setCurrentOption={setPrimaryAsset}\n selectedGroup={selectedGroup}\n onGroupChange={handleGroupChange}\n onGroupReset={handleGroupReset}\n groups={primaryAssetSelectGroups}\n onInputReset={handlePrimaryAssetReset}\n onActiveAssetIdChange={activeAssetId => {\n setPrimaryAsset(primaryAsset => ({ ...primaryAsset, activeWellId: activeAssetId }));\n }}\n isDrillingPlatformApp={isDrillingPlatformApp}\n assetFields={getPrimaryAssetFields(\n primaryAssetType,\n primaryAssetFields,\n isDrillingPlatformApp\n )}\n />\n </div>\n {secondaryAssetSelectIsVisible && (\n <div className={elementsClassNames.secondaryAssetSelect}>\n {secondaryAssetHelpText}\n <SecondaryAssetSelect\n assetFields={\n secondaryAssetType === ASSET_TYPES.pad.type\n ? [...secondaryAssetFields, 'pad.active', 'pad.current']\n : secondaryAssetFields\n }\n activeWellId={primaryAsset?.activeWellId}\n appKey={appKey}\n assetType={secondaryAssetType}\n company={company}\n currentValue={secondaryAssetId}\n data-testid={`${PAGE_NAME}_secondaryAutoComplete`}\n defaultValue={isMultipleAssets ? ACTIVE_ASSETS_ID : ACTIVE_ASSET_ID}\n disabled={isMultipleAssets || isDisabledSecondaryAssetSelect || disabled}\n isDrillingPlatformApp={isDrillingPlatformApp}\n isNullable={isNullable}\n isRequiredAssetId={isRequiredAssetId}\n onChange={onSecondaryAssetChange}\n parentAssetId={parentAssetId}\n parentAssetType={isDrillingPlatformApp ? PARENT_ASSET_ID : primaryAssetType}\n primaryAssetLabel={primaryAssetLabel}\n secondaryAssetLabel={secondaryAssetLabel}\n />\n </div>\n )}\n </div>\n );\n};\n\nconst DEFAULT_APP_SETTINGS_ASSET_EDITOR_PRIMARY_ASSET_FIELDS = [];\nconst DEFAULT_APP_SETTINGS_ASSET_EDITOR_SECONDARY_ASSET_FIELDS = [];\nconst DEFAULT_APP_SETTINGS_ASSET_EDITOR_ON_CHANGE = noop;\nconst DEFAULT_APP_SETTINGS_ASSET_EDITOR_ELEMENTS_CLASS_NAMES = {};\n\nAppSettingsAssetEditor.propTypes = {\n assetsLimit: PropTypes.number,\n settings: PropTypes.shape({}).isRequired,\n appType: PropTypes.shape({}).isRequired,\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n secondaryDefaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onSettingsChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n isNullable: PropTypes.bool,\n isHiddenTitle: PropTypes.bool,\n appKey: PropTypes.string,\n isVisibleMultipleAssetsToggle: PropTypes.bool,\n isDisabledSecondaryAssetSelect: PropTypes.bool,\n primaryAssetFields: PropTypes.arrayOf(PropTypes.shape({})),\n secondaryAssetFields: PropTypes.arrayOf(PropTypes.shape({})),\n secondaryAssetHelpText: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n onChange: PropTypes.func,\n elementsClassNames: PropTypes.shape({\n title: PropTypes.string,\n multiAssetSwitch: PropTypes.string,\n primaryAssetSelect: PropTypes.string,\n secondaryAssetSelect: PropTypes.string,\n }),\n};\n\nexport default AppSettingsAssetEditor;\n"],"names":["useStyles","makeStyles","title","fontWeight","fontSize","margin","AppSettingsAssetEditor","_ref","_ref$appKey","appKey","appType","className","company","defaultValue","secondaryDefaultValue","disabled","_ref$isHiddenTitle","isHiddenTitle","_ref$isNullable","isNullable","_ref$label","label","propsOnSettingsChange","onSettingsChange","_ref$primaryAssetFiel","primaryAssetFields","DEFAULT_APP_SETTINGS_ASSET_EDITOR_PRIMARY_ASSET_FIELDS","_ref$secondaryAssetFi","secondaryAssetFields","DEFAULT_APP_SETTINGS_ASSET_EDITOR_SECONDARY_ASSET_FIELDS","isExtendedSelect","isRequiredAssetId","settings","_ref$isVisibleMultipl","isVisibleMultipleAssetsToggle","_ref$assetsLimit","assetsLimit","_ref$isDisabledSecond","isDisabledSecondaryAssetSelect","isDrillingPlatformApp","_ref$secondaryAssetHe","secondaryAssetHelpText","_ref$onChange","onChange","DEFAULT_APP_SETTINGS_ASSET_EDITOR_ON_CHANGE","_ref$elementsClassNam","elementsClassNames","DEFAULT_APP_SETTINGS_ASSET_EDITOR_ELEMENTS_CLASS_NAMES","primaryAssetType","get","primaryAssetIdType","primaryAssetLabel","primaryAssetSelectGroups","isSecondaryAssetPresent","secondaryAssetType","secondaryAssetIdType","secondaryAssetLabel","currentValue","initialPrimaryAssetId","Number","initialSecondaryAssetId","_useState","useState","id","_useState2","_slicedToArray","primaryAsset","setPrimaryAsset","_useState4","_useState3","secondaryAssetId","setSecondaryAssetId","_useState6","_useState5","isPadSelectedAsPrimaryAsset","setIsPadSelectedAsPrimaryAsset","_useState7","_useState8","selectedGroup","setSelectedGroup","_useState10","_useState9","isMultipleAssets","setIsMultipleAssets","isMultipleAssetsRef","useRef","_len","arguments","length","args","Array","_key","concat","current","styles","PrimaryAssetSelectComponent","ASSET_TYPES","rig","type","intervention_unit","PrimaryAssetSelectV2","PrimaryAssetSelect","parentAssetId","assetId","handlePrimaryAssetReset","_assetSetting4","undefined","assetSetting","_defineProperty","secondaryAssetSelectIsVisible","Boolean","useEffect","isEmpty","_jsxs","classNames","main","children","_jsx","MultipleAssetsToggle","checked","multiAssetSwitch","primaryAssetSelect","assetType","currentOption","disableClearable","multiple","selected","primary","_selected$","_selected$2","isPadSelected","group","PAD_GROUP","name","isFracFleetSelected","FRAC_FLEET_GROUP","isFirstPadSelected","isFirstFracFleetSelected","assetsSetting","reduce","acc","_ref3","parentFracFleetId","fracFleetId","padId","replacedPadId","assets","asset","onMultipleAssetChange","pad","_assetSetting2","frac_fleet","setCurrentOption","onGroupChange","newGroup","onGroupReset","groups","onInputReset","onActiveAssetIdChange","activeAssetId","_objectSpread","activeWellId","assetFields","getPrimaryAssetFields","secondaryAssetSelect","SecondaryAssetSelect","_toConsumableArray","ACTIVE_ASSETS_ID","ACTIVE_ASSET_ID","_ref2","secondary","assetSettings","well","replacedAssetId","parentAssetType","noop","propTypes","PropTypes","number","shape","isRequired","any","func","string","bool","arrayOf","oneOfType","element"],"mappings":"83DAcA,IAAMA,EAAYC,EAAW,CAC3BC,MAAO,CAAEC,WAAY,IAAKC,SAAU,GAAIC,OAAQ,iBAM5CC,EAAyB,SAwBzBC,GAAA,IAAAC,EAAAD,EAvBJE,OAAAA,aAAS,KAAID,EACbE,IAAAA,QACAC,IAAAA,UACAC,IAAAA,QACAC,IAAAA,aACAC,IAAAA,sBACAC,IAAAA,SAAQC,EAAAT,EACRU,cAAAA,cAAqBD,EAAAE,EAAAX,EACrBY,WAAAA,cAAkBD,EAAAE,EAAAb,EAClBc,MAAAA,aAAQ,kBAAiBD,EACPE,IAAlBC,iBAAgBC,EAAAjB,EAChBkB,mBAAAA,aAAqBC,EAAsDF,EAAAG,EAAApB,EAC3EqB,qBAAAA,aAAuBC,EAAwDF,EAC/EG,IAAAA,iBACAC,IAAAA,kBACAC,IAAAA,SAAQC,EAAA1B,EACR2B,8BAAAA,cAAqCD,EAAAE,EAAA5B,EACrC6B,YAAAA,aAAc,KAAID,EAAAE,GAAA9B,EAClB+B,+BAAAA,gBAAsCD,GACtCE,KAAAA,sBAAqBC,GAAAjC,EACrBkC,uBAAAA,eAAyB,KAAID,GAAAE,GAAAnC,EAC7BoC,SAAAA,eAAWC,EAA2CF,GAAAG,GAAAtC,EACtDuC,mBAAAA,eAAqBC,EAAsDF,GAErEG,GAAmBC,EAAIvC,EAAS,CAAC,eAAgB,YAAa,SAC9DwC,GAAqBD,EAAIvC,EAAS,CAAC,eAAgB,YAAa,OAChEyC,GAAoBF,EAAIvC,EAAS,CAAC,eAAgB,YAAa,UAC/D0C,GAA2BH,EAAIvC,EAAS,CAAC,eAAgB,WAEzD2C,GAA0BJ,EAAIvC,EAAS,CAAC,mBAAmB,GAE3D4C,GAAqBL,EAAIvC,EAAS,CAAC,iBAAkB,YAAa,SAClE6C,GAAuBN,EAAIvC,EAAS,CAAC,iBAAkB,YAAa,OACpE8C,GAAsBP,EAAIvC,EAAS,CAAC,iBAAkB,YAAa,UAEnE+C,GAAeR,EAAIjB,EAAUkB,IAC7BQ,GAAwBD,GAAeE,OAAOF,IAAgB,KAC9DG,GAA0BX,EAAIjB,EAAUuB,IAC1CI,OAAOV,EAAIjB,EAAUuB,KACrBzC,GAAyB,KAC7B+C,GAAwCC,EAAS,CAAEC,GAAIL,IAAyB7C,IAAemD,GAAAC,EAAAJ,GAAA,GAAxFK,GAAYF,GAAA,GAAEG,GAAeH,GAAA,GAEYF,GAAAA,EAASF,IAAwBQ,GAAAH,EAAAI,GAAA,GAA1EC,GAAgBF,GAAA,GAAEG,GAAmBH,GAAA,GAC0BN,GAAAA,GAAS,GAAMU,GAAAP,EAAAQ,GAAA,GAA9EC,GAA2BF,GAAA,GAAEG,GAA8BH,GAAA,GAClEI,GAA0Cd,IAAUe,GAAAZ,EAAAW,GAAA,GAA7CE,GAAaD,GAAA,GAAEE,GAAgBF,GAAA,GACUf,GAAAA,GAAS,GAAMkB,GAAAf,EAAAgB,GAAA,GAAxDC,GAAgBF,GAAA,GAAEG,GAAmBH,GAAA,GACtCI,GAAsBC,GAAO,GAC7B9D,GAAmB,WAAa,IAAA,IAAA+D,EAAAC,UAAAC,OAATC,EAAI,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAJF,EAAIE,GAAAJ,UAAAI,GAC/BrE,eAAyBmE,EAAIG,OAAA,CAAER,GAAoBS,YAG/CC,GAAS9F,IAET+F,GACJ/C,KAAqBgD,EAAYC,IAAIC,MACrClD,KAAqBgD,EAAYG,kBAAkBD,KAC/CE,EACAC,EAEAC,GACJ/D,UAAyB2B,IAAAA,GAAcqC,QAAUrC,cAAY,EAAZA,GAAcqC,QAAUrC,cAAY,EAAZA,GAAcH,GAoGnFyC,GAA0B,WAAuB,IAAAC,EAAtB5F,EAAe0E,UAAAC,OAAA,QAAAkB,IAAAnB,UAAA,GAAAA,UAAA,GAAA,CAAA,EAC9CpB,GAAgBtD,GAChB0D,GAAoB,MAEpBI,IAA+B,GAC/B,IAAMgC,GACHzD,EAAAA,EAAAA,GAAAA,GAAqB,MACrBK,EAAAA,EAAAA,GAAuB,MAChBqD,EAAAH,EAAA,SAAA,MACTA,GACDlF,GAAiBoF,IAmBbE,GACJxD,KACC6B,GACG4B,QAAQ5C,GAAasB,UAAYd,IACjCR,cAAY,EAAZA,GAAcH,MAAOW,IAQ3B,OANAqC,GAAU,WACJC,EAAQhF,IACVwE,GAAwBtB,IAAoB,GAEhD,GAAG,CAAClD,IAGFiF,EAAA,MAAA,CAAKtG,UAAWuG,EAAWpB,GAAOqB,KAAMxG,GAAWyG,SAChD,EAACnG,GACAoG,EAAA,MAAA,CAAK1G,UAAWuG,EAAWpB,GAAO5F,MAAO4C,GAAmB5C,OAAOkH,SAAA,UAEpElF,GACCmF,EAACC,EAAoB,CACnB3E,SAnC2B,SAAA4E,GACjCnC,GAAoBS,UAAY0B,EAChCpC,GAAoBoC,GACpBf,GAAwBe,GAAW,KAiC7B5G,UAAWmC,GAAmB0E,iBAC9BD,QAASrC,KAGbmC,EAAA,MAAA,CAAK1G,UAAWmC,GAAmB2E,mBAAmBL,SACpDC,EAACtB,GAA2B,CAC1BtF,OAAQA,EACRiH,UAAW1E,GACXpC,QAASA,EACT+G,cAAezD,GACfT,aAAcS,cAAAA,EAAAA,GAAcH,GAC5B,cAAA,GAAA6B,OAhOQ,4BAgOmD,mCAC3DvC,wBAAyBA,GACzBxC,aAAcA,EACd+G,kBAAmBzG,EACnBJ,SAAUA,EACVI,WAAYA,EACZY,kBAAmBA,EACnBV,MAAOA,EACPwG,SAAU3C,GACVvC,SAlGqB,SAAAmF,GAE3B,GADAnF,GAAS,CAAEoF,QAASD,IAChB5C,IAtDwB,SAAA4C,GAAY,IAAAE,EAAAC,EACxC,KAAIH,EAAStC,OAASpD,GAAtB,CAEA,IAAM8F,GAA2B,QAAXJ,EAAAA,EAAS,UAAE,IAAAE,OAAA,EAAXA,EAAaG,SAAUC,EAAUC,KACjDC,GAAiC,QAAXR,EAAAA,EAAS,UAAE,IAAAG,OAAA,EAAXA,EAAaE,SAAUI,EAAiBF,KAC9DG,EAAyC,IAApBV,EAAStC,QAAgB0C,EAC9CO,EAA+C,IAApBX,EAAStC,QAAgB8C,EAS1D,GAPIE,GACF7D,IAA+B,GAC/BI,GAAiBqD,IACRK,GACT1D,GAAiBwD,GAGfL,EAAJ,CACE/D,GAAgB2D,GAChB,IAAMY,EAAgBZ,aAAQ,EAARA,EAAUa,QAAO,SAACC,EAAmCC,GAAA,IAA5BC,IAAAA,kBAAmB/E,IAAAA,GAC1D/B,EAAW,CACf+G,YAAaD,EACbE,MAAOjF,GAOT,OAJIjC,IACFE,EAASuE,QAAUuC,EACnB9G,EAASiH,cAAgBlF,GAEpB+E,EAAwBF,GAAAA,OAAAA,EAAAA,GAAK5G,CAAAA,IAAY4G,CACjD,GAAE,IAEHrH,GAAiB,CACf2H,OAAQR,GAGZ,KAnBA,CAqBAvE,GAAgB2D,GAChB,IAAMY,EAAgBZ,EAASa,QAAO,SAACC,EAAKO,GAC1C,IAAMnH,iBAAiBmH,EAAMjD,KAAWiD,MAAAA,EAAMpF,IAO9C,OANIhC,IACFC,EAASuE,QAAU4C,EAAM5C,SAEvBzE,IACFE,EAASuE,QAAU4C,EAAM5C,SAAW4C,EAAMpF,IAEjC6E,GAAAA,OAAAA,EAAAA,IAAK5G,GACjB,GAAE,IACHT,GAAiB,CACf2H,OAAQR,GAdV,CAjCmC,EAsDjCU,CAAsBtB,OADxB,CAIA,IAAQ/D,EAAgC+D,EAAhC/D,GAAImC,EAA4B4B,EAA5B5B,KAAM4C,EAAsBhB,EAAtBgB,kBAClB,GAAK/E,EACL,GAAImC,IAASF,EAAYqD,IAAInD,KAA7B,CAYA/B,GAAgB2D,GAChBvD,GAAoB,MACpB,IAAMoC,EAAYC,EAAA,CAAA,EAAM1D,GAAqBa,GACzChC,IAAmB4E,EAAaJ,QAAUuB,EAASvB,SACnDhD,KAAsBoD,EAAapD,IAAwB,MAC/DhC,GAAiBoF,GACjBhC,IAA+B,EAR/B,KAVA,CAAmC,IAAA2E,EACjCnF,GAAgB2D,GAChBnD,IAA+B,GAC/BJ,GAAoBR,GACpB,IAAM4C,UACHX,EAAYuD,WAAWxF,GAAKJ,OAAOmF,IAAkBlC,EAAA0C,EACrDtD,EAAYqD,IAAItF,GAAKA,GACvBuF,GACD/H,GAAiBoF,EAEnB,CAbA,GA8FM6C,iBAAkBrF,GAClBW,cAAeA,GACf2E,cArDkB,SAAAC,GACxB3E,GAAiB2E,GACjBlD,GAAwBtB,IAAoB,KAoDtCyE,aAjDiB,WACvB5E,GAAiB,MACjByB,GAAwBtB,IAAoB,KAgDtC0E,OAAQxG,GACRyG,aAAcrD,GACdsD,sBAAuB,SAAAC,GACrB5F,IAAgB,SAAAD,GAAY,OAAA8F,EAAAA,EAAA,CAAA,EAAU9F,GAAY,CAAA,EAAA,CAAE+F,aAAcF,GAAa,GAC/E,EACFxH,sBAAuBA,GACvB2H,YAAaC,EACXnH,GACAvB,EACAc,QAILsE,IACCI,EAAA,MAAA,CAAKtG,UAAWmC,GAAmBsH,qBAAqBhD,SACrD3E,CAAAA,GACD4E,EAACgD,EAAoB,CACnBH,YACE5G,KAAuB0C,EAAYqD,IAAInD,KAAI,GAAAN,OAAA0E,EACnC1I,GAAsB,CAAA,aAAc,gBACxCA,EAENqI,aAAc/F,cAAAA,EAAAA,GAAc+F,aAC5BxJ,OAAQA,EACRiH,UAAWpE,GACX1C,QAASA,EACT6C,aAAca,GACd,cAAA,GAAAsB,OAzQM,4BAyQ4C,0BAClD/E,aAAcqE,GAAmBqF,EAAmBC,EACpDzJ,SAAUmE,IAAoB5C,IAAkCvB,EAChEwB,sBAAuBA,GACvBpB,WAAYA,EACZY,kBAAmBA,EACnBY,SA7MqB,SAA2B8H,GAAA,IAAxB1G,IAAAA,GAAIwC,IAAAA,QAAS8B,IAAAA,KAC7C1F,GAAS,CAAE+H,UAAW,CAAErC,KAAAA,KACxB9D,GAAoBR,GACpB,IAAMO,EAAmBP,IAAOyG,EAAkB,KAAOzG,EACnD4G,EAAa/D,EAAA,CAAA,EAAMrD,GAAuBe,GAE5CvC,GAAqBuB,KAAuB0C,EAAY4E,KAAK1E,KAC/D3E,UACKoJ,GAAa,CAAA,EAAA,CAChBE,gBAAiBtI,GAAwB+B,EAAmBiC,KAKhEhF,GAAiBoJ,IAgMTrE,cAAeA,GACfwE,gBAAiBvI,GAhRL,kBAgR+CS,GAC3DG,kBAAmBA,GACnBK,oBAAqBA,UAMjC,EAEM9B,EAAyD,GACzDG,EAA2D,GAC3De,EAA8CmI,EAC9ChI,EAAyD,CAAA,EAE/DzC,EAAuB0K,UAAY,CACjC5I,YAAa6I,EAAUC,OACvBlJ,SAAUiJ,EAAUE,MAAM,CAAA,GAAIC,WAC9B1K,QAASuK,EAAUE,MAAM,CAAA,GAAIC,WAC7BvK,aAAcoK,EAAUI,IACxBvK,sBAAuBmK,EAAUI,IACjC9J,iBAAkB0J,EAAUK,KAAKF,WACjC/J,MAAO4J,EAAUM,OACjBpK,WAAY8J,EAAUO,KACtBvK,cAAegK,EAAUO,KACzB/K,OAAQwK,EAAUM,OAClBrJ,8BAA+B+I,EAAUO,KACzClJ,+BAAgC2I,EAAUO,KAC1C/J,mBAAoBwJ,EAAUQ,QAAQR,EAAUE,MAAM,CAAE,IACxDvJ,qBAAsBqJ,EAAUQ,QAAQR,EAAUE,MAAM,CAAE,IAC1D1I,uBAAwBwI,EAAUS,UAAU,CAACT,EAAUU,QAASV,EAAUM,SAC1E5I,SAAUsI,EAAUK,KACpBxI,mBAAoBmI,EAAUE,MAAM,CAClCjL,MAAO+K,EAAUM,OACjB/D,iBAAkByD,EAAUM,OAC5B9D,mBAAoBwD,EAAUM,OAC9BnB,qBAAsBa,EAAUM"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/AssetEditorV2/index.js"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { get, isEmpty, noop } from 'lodash';\nimport classNames from 'classnames';\nimport { makeStyles } from '@material-ui/core';\n\nimport { PrimaryAssetSelect, PrimaryAssetSelectV2, SecondaryAssetSelect } from './components';\nimport { ACTIVE_ASSET_ID, ACTIVE_ASSETS_ID } from './constants';\nimport MultipleAssetsToggle from './components/MultipleAssetsToggle';\nimport { getPrimaryAssetFields } from './utils';\n\nimport { ASSET_TYPES } from '~/constants';\nimport { FRAC_FLEET_GROUP, PAD_GROUP } from '~/constants/segment';\n\nconst useStyles = makeStyles({\n title: { fontWeight: 400, fontSize: 20, margin: '24px 0 16px' },\n});\n\nconst PAGE_NAME = 'DC_AppSettingsAssetEditor';\nconst PARENT_ASSET_ID = 'parent_asset_id';\n\nconst AppSettingsAssetEditor = ({\n appKey,\n appType,\n className,\n company,\n defaultValue,\n secondaryDefaultValue,\n disabled,\n isHiddenTitle,\n isNullable,\n label,\n onSettingsChange: propsOnSettingsChange,\n primaryAssetFields,\n secondaryAssetFields,\n isExtendedSelect,\n isRequiredAssetId,\n settings,\n isVisibleMultipleAssetsToggle,\n assetsLimit,\n isDisabledSecondaryAssetSelect,\n isDrillingPlatformApp,\n secondaryAssetHelpText,\n onChange,\n elementsClassNames,\n}) => {\n const primaryAssetType = get(appType, ['primaryAsset', 'assetType', 'type']);\n const primaryAssetIdType = get(appType, ['primaryAsset', 'assetType', 'id']);\n const primaryAssetLabel = get(appType, ['primaryAsset', 'assetType', 'label']);\n const primaryAssetSelectGroups = get(appType, ['primaryAsset', 'groups']);\n\n const isSecondaryAssetPresent = get(appType, ['secondaryAsset'], false);\n\n const secondaryAssetType = get(appType, ['secondaryAsset', 'assetType', 'type']);\n const secondaryAssetIdType = get(appType, ['secondaryAsset', 'assetType', 'id']);\n const secondaryAssetLabel = get(appType, ['secondaryAsset', 'assetType', 'label']);\n\n const currentValue = get(settings, primaryAssetIdType);\n const initialPrimaryAssetId = currentValue ? Number(currentValue) : null;\n const initialSecondaryAssetId = get(settings, secondaryAssetIdType)\n ? Number(get(settings, secondaryAssetIdType))\n : secondaryDefaultValue || null;\n const [primaryAsset, setPrimaryAsset] = useState({ id: initialPrimaryAssetId || defaultValue });\n\n const [secondaryAssetId, setSecondaryAssetId] = useState(initialSecondaryAssetId);\n const [isPadSelectedAsPrimaryAsset, setIsPadSelectedAsPrimaryAsset] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState();\n const [isMultipleAssets, setIsMultipleAssets] = useState(false);\n const isMultipleAssetsRef = useRef(false);\n const onSettingsChange = (...args) => {\n propsOnSettingsChange(...args, isMultipleAssetsRef.current);\n };\n\n const styles = useStyles();\n\n const PrimaryAssetSelectComponent =\n primaryAssetType === ASSET_TYPES.rig.type ||\n primaryAssetType === ASSET_TYPES.intervention_unit.type\n ? PrimaryAssetSelectV2\n : PrimaryAssetSelect;\n\n const parentAssetId =\n isDrillingPlatformApp && primaryAsset?.assetId ? primaryAsset?.assetId : primaryAsset?.id;\n\n const onSecondaryAssetChange = ({ id, assetId, name }) => {\n onChange({ secondary: { name } });\n setSecondaryAssetId(id);\n const secondaryAssetId = id === ACTIVE_ASSET_ID ? null : id;\n const assetSettings = { [secondaryAssetIdType]: secondaryAssetId };\n\n if (isRequiredAssetId && secondaryAssetType === ASSET_TYPES.well.type) {\n onSettingsChange({\n ...assetSettings,\n replacedAssetId: isDrillingPlatformApp ? secondaryAssetId : assetId,\n });\n return;\n }\n\n onSettingsChange(assetSettings);\n };\n\n const onMultipleAssetChange = selected => {\n if (selected.length > assetsLimit) return;\n\n const isPadSelected = selected[0]?.group === PAD_GROUP.name;\n const isFracFleetSelected = selected[0]?.group === FRAC_FLEET_GROUP.name;\n const isFirstPadSelected = selected.length === 1 && isPadSelected;\n const isFirstFracFleetSelected = selected.length === 1 && isFracFleetSelected;\n\n if (isFirstPadSelected) {\n setIsPadSelectedAsPrimaryAsset(true);\n setSelectedGroup(PAD_GROUP);\n } else if (isFirstFracFleetSelected) {\n setSelectedGroup(FRAC_FLEET_GROUP);\n }\n\n if (isPadSelected) {\n setPrimaryAsset(selected);\n const assetsSetting = selected?.reduce((acc, { parentFracFleetId, id }) => {\n const settings = {\n fracFleetId: parentFracFleetId,\n padId: id,\n };\n\n if (isExtendedSelect) {\n settings.assetId = parentFracFleetId;\n settings.replacedPadId = id;\n }\n return parentFracFleetId ? [...acc, settings] : acc;\n }, []);\n\n onSettingsChange({\n assets: assetsSetting,\n });\n return;\n }\n\n setPrimaryAsset(selected);\n const assetsSetting = selected.reduce((acc, asset) => {\n const settings = { [`${asset.type}Id`]: asset.id };\n if (isRequiredAssetId) {\n settings.assetId = asset.assetId;\n }\n if (isExtendedSelect) {\n settings.assetId = asset.assetId || asset.id;\n }\n return [...acc, settings];\n }, []);\n onSettingsChange({\n assets: assetsSetting,\n });\n };\n\n const onPrimaryAssetChange = selected => {\n onChange({ primary: selected });\n if (isMultipleAssets) {\n onMultipleAssetChange(selected);\n return;\n }\n const { id, type, parentFracFleetId } = selected;\n if (!id) return;\n if (type === ASSET_TYPES.pad.type) {\n setPrimaryAsset(selected);\n setIsPadSelectedAsPrimaryAsset(true);\n setSecondaryAssetId(id);\n const assetSetting = {\n [ASSET_TYPES.frac_fleet.id]: Number(parentFracFleetId),\n [ASSET_TYPES.pad.id]: id,\n };\n onSettingsChange(assetSetting);\n return;\n }\n\n setPrimaryAsset(selected);\n setSecondaryAssetId(null);\n const assetSetting = { [primaryAssetIdType]: id };\n if (isRequiredAssetId) assetSetting.assetId = selected.assetId;\n if (secondaryAssetIdType) assetSetting[secondaryAssetIdType] = null;\n onSettingsChange(assetSetting);\n setIsPadSelectedAsPrimaryAsset(false);\n };\n\n const handlePrimaryAssetReset = (defaultValue = {}) => {\n setPrimaryAsset(defaultValue);\n setSecondaryAssetId(null);\n\n setIsPadSelectedAsPrimaryAsset(false);\n const assetSetting = {\n [primaryAssetIdType]: null,\n [secondaryAssetIdType]: null,\n assets: null,\n };\n onSettingsChange(assetSetting);\n };\n\n const handleMultipleAssetsChange = checked => {\n isMultipleAssetsRef.current = !!checked;\n setIsMultipleAssets(checked);\n handlePrimaryAssetReset(checked && []);\n };\n\n const handleGroupChange = newGroup => {\n setSelectedGroup(newGroup);\n handlePrimaryAssetReset(isMultipleAssets && []);\n };\n\n const handleGroupReset = () => {\n setSelectedGroup(null);\n handlePrimaryAssetReset(isMultipleAssets && []);\n };\n\n const secondaryAssetSelectIsVisible =\n isSecondaryAssetPresent &&\n (isMultipleAssets\n ? Boolean(primaryAsset.length) && !isPadSelectedAsPrimaryAsset\n : primaryAsset?.id && !isPadSelectedAsPrimaryAsset);\n\n useEffect(() => {\n if (isEmpty(settings)) {\n handlePrimaryAssetReset(isMultipleAssets && []);\n }\n }, [settings]);\n\n return (\n <div className={classNames(styles.main, className)}>\n {!isHiddenTitle && (\n <div className={classNames(styles.title, elementsClassNames.title)}>Asset</div>\n )}\n {isVisibleMultipleAssetsToggle && (\n <MultipleAssetsToggle\n onChange={handleMultipleAssetsChange}\n className={elementsClassNames.multiAssetSwitch}\n checked={isMultipleAssets}\n />\n )}\n <div className={elementsClassNames.primaryAssetSelect}>\n <PrimaryAssetSelectComponent\n appKey={appKey}\n assetType={primaryAssetType}\n company={company}\n currentOption={primaryAsset}\n currentValue={primaryAsset?.id}\n data-testid={`${PAGE_NAME}_primaryAssetEditorAutocomplete`}\n isSecondaryAssetPresent={isSecondaryAssetPresent}\n defaultValue={defaultValue}\n disableClearable={!isNullable}\n disabled={disabled}\n isNullable={isNullable}\n isRequiredAssetId={isRequiredAssetId}\n label={label}\n multiple={isMultipleAssets}\n onChange={onPrimaryAssetChange}\n setCurrentOption={setPrimaryAsset}\n selectedGroup={selectedGroup}\n onGroupChange={handleGroupChange}\n onGroupReset={handleGroupReset}\n groups={primaryAssetSelectGroups}\n onInputReset={handlePrimaryAssetReset}\n onActiveAssetIdChange={activeAssetId => {\n setPrimaryAsset(primaryAsset => ({ ...primaryAsset, activeWellId: activeAssetId }));\n }}\n isDrillingPlatformApp={isDrillingPlatformApp}\n assetFields={getPrimaryAssetFields(\n primaryAssetType,\n primaryAssetFields,\n isDrillingPlatformApp\n )}\n />\n </div>\n {secondaryAssetSelectIsVisible && (\n <div className={elementsClassNames.secondaryAssetSelect}>\n {secondaryAssetHelpText}\n <SecondaryAssetSelect\n assetFields={\n secondaryAssetType === ASSET_TYPES.pad.type\n ? [...secondaryAssetFields, 'pad.active', 'pad.current']\n : secondaryAssetFields\n }\n activeWellId={primaryAsset?.activeWellId}\n appKey={appKey}\n assetType={secondaryAssetType}\n company={company}\n currentValue={secondaryAssetId}\n data-testid={`${PAGE_NAME}_secondaryAutoComplete`}\n defaultValue={isMultipleAssets ? ACTIVE_ASSETS_ID : ACTIVE_ASSET_ID}\n disabled={isMultipleAssets || isDisabledSecondaryAssetSelect || disabled}\n isDrillingPlatformApp={isDrillingPlatformApp}\n isNullable={isNullable}\n isRequiredAssetId={isRequiredAssetId}\n onChange={onSecondaryAssetChange}\n parentAssetId={parentAssetId}\n parentAssetType={isDrillingPlatformApp ? PARENT_ASSET_ID : primaryAssetType}\n primaryAssetLabel={primaryAssetLabel}\n secondaryAssetLabel={secondaryAssetLabel}\n />\n </div>\n )}\n </div>\n );\n};\n\nAppSettingsAssetEditor.defaultProps = {\n assetsLimit: null,\n label: 'Choose An Asset',\n isNullable: false,\n defaultValue: undefined,\n secondaryDefaultValue: undefined,\n isHiddenTitle: false,\n appKey: null,\n isVisibleMultipleAssetsToggle: false,\n isDisabledSecondaryAssetSelect: false,\n primaryAssetFields: [],\n secondaryAssetFields: [],\n secondaryAssetHelpText: null,\n onChange: noop,\n elementsClassNames: {},\n};\n\nAppSettingsAssetEditor.propTypes = {\n assetsLimit: PropTypes.number,\n settings: PropTypes.shape({}).isRequired,\n appType: PropTypes.shape({}).isRequired,\n defaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n secondaryDefaultValue: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n onSettingsChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n isNullable: PropTypes.bool,\n isHiddenTitle: PropTypes.bool,\n appKey: PropTypes.string,\n isVisibleMultipleAssetsToggle: PropTypes.bool,\n isDisabledSecondaryAssetSelect: PropTypes.bool,\n primaryAssetFields: PropTypes.arrayOf(PropTypes.shape({})),\n secondaryAssetFields: PropTypes.arrayOf(PropTypes.shape({})),\n secondaryAssetHelpText: PropTypes.oneOfType([PropTypes.element, PropTypes.string]),\n onChange: PropTypes.func,\n elementsClassNames: PropTypes.shape({\n title: PropTypes.string,\n multiAssetSwitch: PropTypes.string,\n primaryAssetSelect: PropTypes.string,\n secondaryAssetSelect: PropTypes.string,\n }),\n};\n\nexport default AppSettingsAssetEditor;\n"],"names":["useStyles","makeStyles","title","fontWeight","fontSize","margin","AppSettingsAssetEditor","_ref","appKey","appType","className","company","defaultValue","secondaryDefaultValue","disabled","isHiddenTitle","isNullable","label","propsOnSettingsChange","onSettingsChange","primaryAssetFields","secondaryAssetFields","isExtendedSelect","isRequiredAssetId","settings","isVisibleMultipleAssetsToggle","assetsLimit","isDisabledSecondaryAssetSelect","isDrillingPlatformApp","secondaryAssetHelpText","onChange","elementsClassNames","primaryAssetType","get","primaryAssetIdType","primaryAssetLabel","primaryAssetSelectGroups","isSecondaryAssetPresent","secondaryAssetType","secondaryAssetIdType","secondaryAssetLabel","currentValue","initialPrimaryAssetId","Number","initialSecondaryAssetId","_useState","useState","id","_useState2","_slicedToArray","primaryAsset","setPrimaryAsset","_useState4","_useState3","secondaryAssetId","setSecondaryAssetId","_useState6","_useState5","isPadSelectedAsPrimaryAsset","setIsPadSelectedAsPrimaryAsset","_useState7","_useState8","selectedGroup","setSelectedGroup","_useState10","_useState9","isMultipleAssets","setIsMultipleAssets","isMultipleAssetsRef","useRef","_len","arguments","length","args","Array","_key","concat","current","styles","PrimaryAssetSelectComponent","ASSET_TYPES","rig","type","intervention_unit","PrimaryAssetSelectV2","PrimaryAssetSelect","parentAssetId","assetId","handlePrimaryAssetReset","_assetSetting4","undefined","assetSetting","_defineProperty","secondaryAssetSelectIsVisible","Boolean","useEffect","isEmpty","_jsxs","classNames","main","children","_jsx","MultipleAssetsToggle","checked","multiAssetSwitch","primaryAssetSelect","assetType","currentOption","disableClearable","multiple","selected","primary","_selected$","_selected$2","isPadSelected","group","PAD_GROUP","name","isFracFleetSelected","FRAC_FLEET_GROUP","isFirstPadSelected","isFirstFracFleetSelected","assetsSetting","reduce","acc","_ref3","parentFracFleetId","fracFleetId","padId","replacedPadId","assets","asset","onMultipleAssetChange","pad","_assetSetting2","frac_fleet","setCurrentOption","onGroupChange","newGroup","onGroupReset","groups","onInputReset","onActiveAssetIdChange","activeAssetId","_objectSpread","activeWellId","assetFields","getPrimaryAssetFields","secondaryAssetSelect","SecondaryAssetSelect","_toConsumableArray","ACTIVE_ASSETS_ID","ACTIVE_ASSET_ID","_ref2","secondary","assetSettings","well","replacedAssetId","parentAssetType","defaultProps","noop","propTypes","PropTypes","number","shape","isRequired","any","func","string","bool","arrayOf","oneOfType","element"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
|
|
|
2
2
|
declare function AppsDataProvider({ children, dashboardAssetId, apps, dashboardMeta }: {
|
|
3
3
|
apps: any;
|
|
4
4
|
children: any;
|
|
5
|
-
dashboardAssetId
|
|
5
|
+
dashboardAssetId: any;
|
|
6
6
|
dashboardMeta: any;
|
|
7
7
|
}): import("react").JSX.Element;
|
|
8
8
|
declare namespace AppsDataProvider {
|
|
@@ -14,6 +14,10 @@ declare namespace AppsDataProvider {
|
|
|
14
14
|
isChiplessDashboard: PropTypes.Requireable<boolean>;
|
|
15
15
|
}>>;
|
|
16
16
|
};
|
|
17
|
+
var defaultProps: {
|
|
18
|
+
dashboardAssetId: null;
|
|
19
|
+
dashboardMeta: undefined;
|
|
20
|
+
};
|
|
17
21
|
}
|
|
18
22
|
export default AppsDataProvider;
|
|
19
23
|
//# sourceMappingURL=AppsDataProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppsDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/AppsDataProvider/AppsDataProvider.js"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"AppsDataProvider.d.ts","sourceRoot":"","sources":["../../../../src/components/DevCenter/AppsDataProvider/AppsDataProvider.js"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE;;;;;CAAA,+BAI5E;kBAJQ,gBAAgB;;;;;;;;;;;;;;eAoBV,gBAAgB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import
|
|
1
|
+
import s from"prop-types";import a from"../AppContext.js";import r from"./effects/useAppsData.js";import{jsx as e}from"react/jsx-runtime";function d(s){var d=s.children,o=s.dashboardAssetId,p=s.apps,t=s.dashboardMeta,i=r({apps:p,dashboardAssetId:o,dashboardMeta:t});return e(a.Provider,{value:i,children:d})}d.propTypes={children:s.node.isRequired,dashboardAssetId:s.string,apps:s.arrayOf(s.shape({})).isRequired,dashboardMeta:s.shape({isChiplessDashboard:s.bool})},d.defaultProps={dashboardAssetId:null,dashboardMeta:void 0};export{d as default};
|
|
2
2
|
//# sourceMappingURL=AppsDataProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppsDataProvider.js","sources":["../../../../src/components/DevCenter/AppsDataProvider/AppsDataProvider.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport AppContext from '../AppContext';\n\nimport { useAppsData } from './effects';\n\nfunction AppsDataProvider({ children, dashboardAssetId
|
|
1
|
+
{"version":3,"file":"AppsDataProvider.js","sources":["../../../../src/components/DevCenter/AppsDataProvider/AppsDataProvider.js"],"sourcesContent":["import PropTypes from 'prop-types';\n\nimport AppContext from '../AppContext';\n\nimport { useAppsData } from './effects';\n\nfunction AppsDataProvider({ children, dashboardAssetId, apps, dashboardMeta }) {\n const appsData = useAppsData({ apps, dashboardAssetId, dashboardMeta });\n\n return <AppContext.Provider value={appsData}>{children}</AppContext.Provider>;\n}\n\nAppsDataProvider.propTypes = {\n children: PropTypes.node.isRequired,\n dashboardAssetId: PropTypes.string,\n apps: PropTypes.arrayOf(PropTypes.shape({})).isRequired,\n dashboardMeta: PropTypes.shape({\n isChiplessDashboard: PropTypes.bool,\n }),\n};\n\nAppsDataProvider.defaultProps = {\n dashboardAssetId: null,\n dashboardMeta: undefined,\n};\n\nexport default AppsDataProvider;\n"],"names":["AppsDataProvider","_ref","children","dashboardAssetId","apps","dashboardMeta","appsData","useAppsData","_jsx","AppContext","Provider","value","propTypes","PropTypes","node","isRequired","string","arrayOf","shape","isChiplessDashboard","bool","defaultProps","undefined"],"mappings":"0IAMA,SAASA,EAAsEC,GAAA,IAAnDC,IAAAA,SAAUC,IAAAA,iBAAkBC,IAAAA,KAAMC,IAAAA,cACtDC,EAAWC,EAAY,CAAEH,KAAAA,EAAMD,iBAAAA,EAAkBE,cAAAA,IAEvD,OAAOG,EAACC,EAAWC,SAAQ,CAACC,MAAOL,EAASJ,SAAEA,GAChD,CAEAF,EAAiBY,UAAY,CAC3BV,SAAUW,EAAUC,KAAKC,WACzBZ,iBAAkBU,EAAUG,OAC5BZ,KAAMS,EAAUI,QAAQJ,EAAUK,MAAM,CAAA,IAAKH,WAC7CV,cAAeQ,EAAUK,MAAM,CAC7BC,oBAAqBN,EAAUO,QAInCpB,EAAiBqB,aAAe,CAC9BlB,iBAAkB,KAClBE,mBAAeiB"}
|