Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
bkunyun
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
bkunyun
Commits
f600d295
Commit
f600d295
authored
Oct 19, 2022
by
wuyongsheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 新增修改算子结构开发
parent
92c60990
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
437 additions
and
71 deletions
+437
-71
index.ts
src/router/index.ts
+3
-2
index.tsx
src/views/CustomOperator/components/OperatorList/index.tsx
+5
-5
index.module.css
.../WorkflowOperator/components/AddOperator/index.module.css
+72
-0
index.tsx
...sources/WorkflowOperator/components/AddOperator/index.tsx
+135
-0
index.module.css
...WorkflowOperator/components/OperatorCard/index.module.css
+4
-1
index.module.css
...kflowOperator/components/OperatorDetails/index.module.css
+10
-0
index.tsx
...ces/WorkflowOperator/components/OperatorDetails/index.tsx
+44
-17
index.tsx
...s/ResourceCenter/UserResources/WorkflowOperator/index.tsx
+51
-46
index.module.css
...enter/UserResources/components/BasinInfo/index.module.css
+43
-0
index.tsx
...sourceCenter/UserResources/components/BasinInfo/index.tsx
+68
-0
index.tsx
src/views/ResourceCenter/UserResources/index.tsx
+2
-0
No files found.
src/router/index.ts
View file @
f600d295
/*
* @Author: 吴永生#A02208 yongsheng.wu@wholion.com
* @Date: 2022-05-31 10:18:13
* @LastEditors: 吴永生
#A02208 yongsheng.wu@wholion
.com
* @LastEditTime: 2022-
06-24 14:32:32
* @LastEditors: 吴永生
15770852798@163
.com
* @LastEditTime: 2022-
10-18 10:54:54
* @FilePath: /bkunyun/src/router/index.ts
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
import { AnyMap } from "immer/dist/internal";
...
...
@@ -52,6 +52,7 @@ export const elements: {
})
=>
JSX
.
Element
|
any
;
}
=
{
Demo
:
Demo
,
SeeTemplate
:
Demo
,
UserResources
:
UserResources
,
ProjectSetting
:
ProjectSetting
,
ProjectData
:
ProjectData
,
...
...
src/views/CustomOperator/components/OperatorList/index.tsx
View file @
f600d295
...
...
@@ -164,10 +164,10 @@ const OperatorList = observer((props: IProps) => {
const
dom
=
document
.
getElementById
(
"customOperatorFlow"
);
const
clientX
=
e
.
clientX
;
const
clientY
=
e
.
clientY
;
const
upperLeftPointX
=
Number
(
dom
?.
offsetL
eft
);
const
upperLeftPointY
=
Number
(
dom
?.
offsetT
op
);
const
lowerRightX
=
Number
(
upperLeftPointX
)
+
Number
(
dom
?.
offse
tWidth
);
const
lowerRightY
=
Number
(
upperLeftPointY
)
+
Number
(
dom
?.
offse
tHeight
);
const
upperLeftPointX
=
Number
(
dom
?.
getBoundingClientRect
()?.
l
eft
);
const
upperLeftPointY
=
Number
(
dom
?.
getBoundingClientRect
()?.
t
op
);
const
lowerRightX
=
Number
(
upperLeftPointX
)
+
Number
(
dom
?.
clien
tWidth
);
const
lowerRightY
=
Number
(
upperLeftPointY
)
+
Number
(
dom
?.
clien
tHeight
);
if
(
clientX
>
upperLeftPointX
&&
clientY
>
upperLeftPointY
&&
...
...
@@ -178,7 +178,7 @@ const OperatorList = observer((props: IProps) => {
const
newOperatorItem
=
getNewOperatorItem
(
newDragItem
,
clientX
-
upperLeftPointX
,
clientY
-
upperLeftPointY
-
42
clientY
-
upperLeftPointY
);
const
newVal
=
cloneDeep
(
operatorList
);
newVal
.
push
(
newOperatorItem
);
...
...
src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/index.module.css
0 → 100644
View file @
f600d295
.addOperatorBox
{
position
:
fixed
;
top
:
0
;
left
:
0
;
width
:
100vw
;
height
:
100vh
;
background-color
:
#fff
;
display
:
flex
;
}
.left
{
/* width: 412px; */
box-sizing
:
border-box
;
background-color
:
rgba
(
247
,
248
,
250
,
1
);
}
.right
{
flex
:
1
;
padding
:
64px
44px
40px
;
position
:
relative
;
min-height
:
100vh
;
overflow
:
overlay
;
box-sizing
:
border-box
;
display
:
flex
;
flex-direction
:
column
;
}
.title
{
color
:
rgba
(
30
,
38
,
51
,
1
);
margin-bottom
:
32px
;
font-size
:
24px
;
line-height
:
32px
;
font-weight
:
550
;
}
.content
{
display
:
flex
;
border-radius
:
4px
;
margin-bottom
:
20px
;
height
:
600px
;
}
.form
{
width
:
368px
;
box-sizing
:
border-box
;
padding
:
16px
24px
;
border
:
1px
solid
#ebedf0
;
border-right
:
none
;
border-top-left-radius
:
4px
;
border-bottom-left-radius
:
4px
;
}
.codeBox
{
flex
:
1
;
display
:
flex
;
flex-direction
:
column
;
border-top-right-radius
:
4px
;
border-bottom-right-radius
:
4px
;
}
.codeTitle
{
background-color
:
rgba
(
230
,
233
,
237
,
1
);
padding
:
11px
20px
;
color
:
rgba
(
30
,
38
,
51
,
1
);
font-size
:
14px
;
line-height
:
22px
;
font-weight
:
550
;
border-top-right-radius
:
4px
;
}
.code
{
background-color
:
rgba
(
247
,
248
,
250
,
1
);
flex
:
1
;
}
.parameterConfigBox
{
border
:
1px
solid
#ebedf0
;
margin-bottom
:
24px
;
}
src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/index.tsx
0 → 100644
View file @
f600d295
/*
* @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-18 16:12:55
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-10-18 19:41:29
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/components/AddOperator/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import
{
useEffect
,
useState
,
useCallback
,
useMemo
}
from
"react"
;
import
MyInput
from
"@/components/mui/MyInput"
;
import
MySelect
from
"@/components/mui/MySelect"
;
import
MyButton
from
"@/components/mui/MyButton"
;
import
style
from
"./index.module.css"
;
import
SwitchBatchFolw
from
"@/views/ResourceCenter/components/SwitchBatchFolw"
;
import
Code
from
"@/components/CommonComponents/Code"
;
import
RadioGroupOfButtonStyle
from
"@/components/CommonComponents/RadioGroupOfButtonStyle"
;
import
{
ITask
}
from
"@/views/Project/ProjectSubmitWork/interface"
;
import
BatchOperatorFlow
from
"@/views/Project/components/Flow/components/BatchOperatorFlow"
;
import
OperatorList
from
"@/views/CustomOperator/components/OperatorList"
;
interface
IAddOperator
{
setAddOpen
:
(
val
:
boolean
)
=>
void
;
}
type
IBuildType
=
"ENVIRONMENT"
|
"OPERATOR"
;
const
AddEnvironment
=
(
props
:
IAddOperator
)
=>
{
const
{
setAddOpen
}
=
props
;
/** 创建类型 BATCH - 批算子; FLOW - 流算子*/
const
[
taskType
,
setTaskType
]
=
useState
<
"BATCH"
|
"FLOW"
>
(
"BATCH"
);
/** 创建类型 BATCH - 批算子; FLOW - 流算子*/
const
[
batchBuildType
,
setBatchBuildType
]
=
useState
<
IBuildType
>
(
"ENVIRONMENT"
);
/** 算子数组 */
const
[
operatorList
,
setOperatorList
]
=
useState
<
ITask
[]
>
([]);
/** 流程编排 算子是否选中 */
const
[
inputActive
,
setInputActive
]
=
useState
(
false
);
const
[
code
,
setCode
]
=
useState
(
""
);
const
buildTypeList
=
useMemo
(()
=>
{
return
[
{
value
:
"ENVIRONMENT"
,
label
:
"基于应用环境"
},
{
value
:
"OPERATOR"
,
label
:
"基于流式算子"
},
];
},
[]);
/** 切换类型 */
const
handleRadio
=
(
val
:
IBuildType
)
=>
{
setBatchBuildType
(
val
);
};
const
handleSubmit
=
()
=>
{
console
.
log
(
33
);
};
return
(
<
div
className=
{
style
.
addOperatorBox
}
>
<
div
className=
{
style
.
left
}
>
<
SwitchBatchFolw
active=
{
taskType
}
setActive=
{
setTaskType
}
goBack=
{
()
=>
setAddOpen
(
false
)
}
></
SwitchBatchFolw
>
</
div
>
<
div
className=
{
style
.
right
}
>
<
div
className=
{
style
.
title
}
>
{
taskType
===
"BATCH"
?
"批式算子信息"
:
"流式算子信息"
}
</
div
>
<
div
style=
{
{
paddingBottom
:
"20px"
}
}
>
<
RadioGroupOfButtonStyle
RadiosBoxStyle=
{
{
width
:
236
}
}
value=
{
batchBuildType
}
radioOptions=
{
buildTypeList
}
handleRadio=
{
handleRadio
}
/>
</
div
>
<
div
className=
{
style
.
content
}
>
<
div
className=
{
style
.
form
}
>
4242
</
div
>
<
div
className=
{
style
.
codeBox
}
>
<
div
className=
{
style
.
codeTitle
}
>
参数配置
</
div
>
<
div
className=
{
style
.
code
}
>
<
Code
value=
{
code
}
onChange=
{
(
e
:
string
)
=>
setCode
(
e
)
}
height=
"535px"
/>
</
div
>
</
div
>
</
div
>
<
div
className=
{
style
.
parameterConfigBox
}
>
<
div
className=
{
style
.
codeTitle
}
>
{
batchBuildType
===
"ENVIRONMENT"
?
"参数配置"
:
"流程编排"
}
</
div
>
{
batchBuildType
===
"ENVIRONMENT"
?
(
<
div
className=
{
style
.
code
}
>
<
Code
value=
{
code
}
onChange=
{
(
e
:
string
)
=>
setCode
(
e
)
}
height=
"350px"
/>
</
div
>
)
:
(
<
div
id=
"customOperatorFlow"
style=
{
{
position
:
"relative"
,
height
:
400
}
}
>
<
OperatorList
operatorList=
{
operatorList
}
setOperatorList=
{
setOperatorList
}
setInputActive=
{
setInputActive
}
/>
<
BatchOperatorFlow
tasks=
{
operatorList
}
setTasks=
{
setOperatorList
}
type=
"edit"
// onFlowNodeClick=
{
handleNodeClick
}
flowNodeDraggable=
{
true
}
ListenState=
{
!
inputActive
}
showVersion=
{
true
}
showControls=
{
false
}
/>
</
div
>
)
}
</
div
>
<
div
className=
{
style
.
buttonBox
}
>
<
MyButton
text=
"开始构建"
onClick=
{
()
=>
handleSubmit
()
}
></
MyButton
>
</
div
>
</
div
>
</
div
>
);
};
export
default
AddEnvironment
;
src/views/ResourceCenter/UserResources/WorkflowOperator/components/OperatorCard/index.module.css
View file @
f600d295
...
...
@@ -4,10 +4,13 @@
padding
:
20px
;
margin
:
0
20px
20px
0
;
background
:
linear-gradient
(
180deg
,
#f5f7fa
0%
,
#ffffff
100%
);
box-shadow
:
0px
6px
24px
0px
rgba
(
3
,
47
,
105
,
0.14
);
box-shadow
:
0px
3px
12px
0px
rgba
(
3
,
47
,
105
,
0.09
);
border-radius
:
6px
;
border
:
2px
solid
#ffffff
;
}
.itemBox
:hover
{
box-shadow
:
0px
6px
24px
0px
rgba
(
3
,
47
,
105
,
0.14
);
}
.itemHeaderBox
{
display
:
flex
;
...
...
src/views/ResourceCenter/UserResources/WorkflowOperator/components/OperatorDetails/index.module.css
View file @
f600d295
.detailsBox
{
padding
:
0
24px
;
}
.titleBox
{
font-size
:
16px
;
color
:
#1e2633
;
line-height
:
24px
;
padding
:
20px
0
;
}
src/views/ResourceCenter/UserResources/WorkflowOperator/components/OperatorDetails/index.tsx
View file @
f600d295
...
...
@@ -2,33 +2,60 @@
* @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-17 14:35:11
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-10-1
7 19:27:00
* @LastEditTime: 2022-10-1
8 17:56:47
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import
styles
from
"./index.module.css"
;
import
BasicInfo
from
"../../../components/BasinInfo"
;
import
{
useMemo
,
useState
}
from
"react"
;
import
RadioGroupOfButtonStyle
from
"@/components/CommonComponents/RadioGroupOfButtonStyle"
;
const
OperatorDetails
=
()
=>
{
const
contentTypeList
=
useMemo
(()
=>
{
return
[
{
value
:
"flowChart"
,
label
:
"流程图"
},
{
value
:
"parameterList"
,
label
:
"参数列表"
},
{
value
:
"runScript"
,
label
:
"运行脚本"
},
];
},
[]);
/** 详情类型 */
const
[
contentType
,
setContentType
]
=
useState
<
string
>
(
"flowChart"
);
/** 切换类型 */
const
handleRadio
=
(
val
:
string
)
=>
{
setContentType
(
val
);
};
return
(
<
div
className=
{
styles
.
detailsBox
}
>
<
div
>
<
h2
>
基础信息
</
h2
>
<
tr
>
<
td
>
所属产品
</
td
>
<
td
>
创建时间
</
td
>
<
td
>
创建人
</
td
>
<
td
>
算子版本
</
td
>
<
td
>
应用环境
</
td
>
</
tr
>
<
tr
>
<
td
>
所属产品
</
td
>
<
td
>
创建时间
</
td
>
<
td
>
创建人
</
td
>
<
td
>
算子版本
</
td
>
<
td
>
应用环境
</
td
>
</
tr
>
<
h2
className=
{
styles
.
titleBox
}
>
基础信息
</
h2
>
<
div
style=
{
{
border
:
"1px solid #EBEDF0"
}
}
>
<
BasicInfo
infoList=
{
[
{
label
:
"33333331"
,
value
:
"1"
},
{
label
:
"1"
,
value
:
"42543253245325325432452345235432452323542352354235235321"
,
},
{
label
:
"1"
,
value
:
"1"
},
{
label
:
"1"
,
value
:
"1"
},
{
label
:
"1"
,
value
:
"1"
},
]
}
/>
<
BasicInfo
infoList=
{
[{
label
:
"2"
,
value
:
"2"
}]
}
/>
</
div
>
<
div
style=
{
{
padding
:
"26px 0 16px 0"
}
}
>
<
RadioGroupOfButtonStyle
RadiosBoxStyle=
{
{
width
:
254
}
}
value=
{
contentType
}
radioOptions=
{
contentTypeList
}
handleRadio=
{
handleRadio
}
/>
</
div
>
<
div
>
11
</
div
>
</
div
>
);
};
...
...
src/views/ResourceCenter/UserResources/WorkflowOperator/index.tsx
View file @
f600d295
...
...
@@ -2,7 +2,7 @@
* @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-17 14:35:11
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-10-1
7 17:50:30
* @LastEditTime: 2022-10-1
8 17:05:49
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
...
...
@@ -13,57 +13,62 @@ import SearchInput from "@/components/BusinessComponents/SearchInput";
import
MySelect
from
"@/components/mui/MySelect"
;
import
MyButton
from
"@/components/mui/MyButton"
;
import
OperatorCard
from
"./components/OperatorCard"
;
import
AddOperator
from
"./components/AddOperator"
;
import
styles
from
"./index.module.css"
;
const
WorkflowOperator
=
()
=>
{
const
[
addOpen
,
setAdd
open
]
=
useState
(
false
);
const
[
addOpen
,
setAdd
Open
]
=
useState
<
boolean
>
(
false
);
return
(
<
div
className=
{
styles
.
indexBox
}
>
<
div
className=
{
styles
.
headerBox
}
>
<
div
>
<
SearchInput
sx=
{
{
width
:
340
,
marginRight
:
"16px"
}
}
placeholder=
"输入关键词搜索"
/>
<
MySelect
options=
{
[
{
label
:
"环境类型"
,
value
:
"a"
,
},
]
}
placeholder=
"环境类型"
className=
{
styles
.
searchSelectBox
}
sx=
{
{
width
:
"150px"
,
height
:
"32px"
}
}
/>
<
MySelect
options=
{
[
{
label
:
"环境类型"
,
value
:
"a"
,
},
]
}
placeholder=
"批/流类型"
className=
{
styles
.
searchSelectBox
}
sx=
{
{
width
:
"150px"
,
height
:
"32px"
}
}
/>
<>
<
div
className=
{
styles
.
indexBox
}
>
<
div
className=
{
styles
.
headerBox
}
>
<
div
>
<
SearchInput
sx=
{
{
width
:
340
,
marginRight
:
"16px"
}
}
placeholder=
"输入关键词搜索"
/>
<
MySelect
options=
{
[
{
label
:
"环境类型"
,
value
:
"a"
,
},
]
}
placeholder=
"环境类型"
className=
{
styles
.
searchSelectBox
}
sx=
{
{
width
:
"150px"
,
height
:
"32px"
}
}
/>
<
MySelect
options=
{
[
{
label
:
"环境类型"
,
value
:
"a"
,
},
]
}
placeholder=
"批/流类型"
className=
{
styles
.
searchSelectBox
}
sx=
{
{
width
:
"150px"
,
height
:
"32px"
}
}
/>
</
div
>
<
MyButton
text=
"构建算子"
img=
{
<
span
style=
{
{
fontSize
:
"14px"
,
marginRight
:
"8px"
}
}
className=
"iconfont icon-dianzan"
></
span
>
}
onClick=
{
()
=>
setAddOpen
(
true
)
}
></
MyButton
>
</
div
>
<
div
className=
{
styles
.
contentBox
}
>
{
[
1
,
2
,
3
,
4
,
5
].
map
((
item
)
=>
{
return
<
OperatorCard
/>;
})
}
</
div
>
<
MyButton
text=
"构建算子"
img=
{
<
span
style=
{
{
fontSize
:
"14px"
,
marginRight
:
"8px"
}
}
className=
"iconfont icon-dianzan"
></
span
>
}
></
MyButton
>
</
div
>
<
div
className=
{
styles
.
contentBox
}
>
{
[
1
,
2
,
3
,
4
,
5
].
map
((
item
)
=>
{
return
<
OperatorCard
/>;
})
}
</
div
>
</
div
>
{
addOpen
&&
<
AddOperator
setAddOpen=
{
setAddOpen
}
/>
}
</>
);
};
...
...
src/views/ResourceCenter/UserResources/components/BasinInfo/index.module.css
0 → 100644
View file @
f600d295
.trHeaderBox
{
display
:
flex
;
}
.trHeaderBox
>
div
{
position
:
relative
;
padding-left
:
24px
;
height
:
44px
;
background
:
#f5f6f7
;
color
:
#565c66
;
line-height
:
44px
;
width
:
calc
(
100%
/
5
);
}
.trHeaderBox
>
div
::after
{
position
:
absolute
;
top
:
12px
;
right
:
0px
;
content
:
""
;
height
:
20px
;
width
:
0
;
border-left
:
1px
solid
#dde1e6
;
}
.trHeaderBox
>
div
:last-child::after
{
content
:
""
;
border
:
none
;
}
.trBodyBox
{
display
:
flex
;
}
.trBodyBox
>
div
{
overflow
:
hidden
;
text-overflow
:
ellipsis
;
display
:
"-webkit-box"
;
padding-left
:
24px
;
height
:
44px
;
color
:
#1e2633
;
background
:
#fff
;
line-height
:
44px
;
}
src/views/ResourceCenter/UserResources/components/BasinInfo/index.tsx
0 → 100644
View file @
f600d295
/*
* @Author: 吴永生 15770852798@163.com
* @Date: 2022-10-17 14:35:11
* @LastEditors: 吴永生 15770852798@163.com
* @LastEditTime: 2022-10-18 14:52:48
* @FilePath: /bkunyun/src/views/ResourceCenter/UserResources/WorkflowOperator/index.tsx
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import
MyTooltip
from
"@/components/mui/MyTooltip"
;
import
{
ReactElement
,
ReactNode
}
from
"react"
;
import
styles
from
"./index.module.css"
;
interface
IProps
{
infoList
:
IInfoItem
[];
}
interface
IInfoItem
{
label
:
string
;
value
:
string
|
ReactNode
|
ReactElement
;
flex
?:
number
;
}
const
BasicInfo
=
(
props
:
IProps
)
=>
{
const
{
infoList
}
=
props
;
return
(
<
div
className=
{
styles
.
basicInfoBox
}
>
<
div
className=
{
styles
.
trHeaderBox
}
>
{
infoList
.
map
((
item
)
=>
{
return
(
<
div
style=
{
{
width
:
infoList
?.
length
>
1
?
`calc(100% / ${infoList.length})`
:
"100%"
,
}
}
>
{
item
.
label
}
</
div
>
);
})
}
</
div
>
<
div
className=
{
styles
.
trBodyBox
}
>
{
infoList
.
map
((
item
)
=>
{
return
(
<
div
style=
{
{
width
:
infoList
?.
length
>
1
?
`calc(100% / ${infoList.length})`
:
"100%"
,
}
}
>
<
MyTooltip
title=
{
typeof
item
.
value
===
"string"
?
item
.
value
:
""
}
>
<
span
>
{
typeof
item
.
value
===
"string"
?
item
.
value
:
""
}
</
span
>
</
MyTooltip
>
</
div
>
);
})
}
</
div
>
</
div
>
);
};
export
default
BasicInfo
;
src/views/ResourceCenter/UserResources/index.tsx
View file @
f600d295
...
...
@@ -5,6 +5,7 @@ import { useMemo, useState } from "react";
import
classNames
from
"classnames"
;
import
Tabs
from
"@/components/mui/MyTabs"
;
import
WorkflowOperator
from
"./WorkflowOperator"
;
import
OperatorDetails
from
"./WorkflowOperator/components/OperatorDetails"
;
const
UserResources
=
()
=>
{
const
isPass
=
usePass
();
const
tabList
=
useMemo
(()
=>
{
...
...
@@ -38,6 +39,7 @@ const UserResources = () => {
defaultValue=
{
"USERRESOURCES_ENVIRONMENT"
}
tabPanelSx=
{
{
padding
:
"0"
}
}
/>
{
/* <OperatorDetails /> */
}
</
div
>
);
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment