11import { CustomFormItem } from '@/components/CustomFormItem' ;
2+ import IconTip from '@/components/IconTip' ;
23import SelectWithTooltip from '@/components/SelectWithTooltip' ;
34import { MINIMAL_CONFIG , SUFFIX_UNIT } from '@/constants' ;
45import { MIRROR_SERVER } from '@/constants/doc' ;
56import { intl } from '@/utils/intl' ;
6- import { Button , Card , Col , Input , InputNumber , Row , Tooltip } from 'antd' ;
7+ import {
8+ Button ,
9+ Card ,
10+ Checkbox ,
11+ Col ,
12+ Form ,
13+ Input ,
14+ InputNumber ,
15+ Row ,
16+ Space ,
17+ Tooltip ,
18+ } from 'antd' ;
719import { FormInstance } from 'antd/lib/form' ;
820import { clone } from 'lodash' ;
921import styles from './index.less' ;
1022
1123interface ObserverProps {
1224 storageClasses : API . TooltipData [ ] | undefined ;
1325 form : FormInstance < API . CreateClusterData > ;
26+ setPvcValue : boolean ;
27+ pvcValue : boolean ;
1428}
1529
1630const observerToolTipText = intl . formatMessage ( {
@@ -59,7 +73,12 @@ export const TooltipItemContent = ({ item }) => {
5973 ) ;
6074} ;
6175
62- export default function Observer ( { storageClasses, form } : ObserverProps ) {
76+ export default function Observer ( {
77+ storageClasses,
78+ form,
79+ pvcValue,
80+ setPvcValue,
81+ } : ObserverProps ) {
6382 const setMinimalConfiguration = ( ) => {
6483 const originObserver = clone ( form . getFieldsValue ( ) ) ;
6584 form . setFieldsValue ( {
@@ -173,7 +192,21 @@ export default function Observer({ storageClasses, form }: ObserverProps) {
173192 </ Col >
174193 </ Row >
175194 < p className = { styles . titleText } > storage</ p >
176-
195+ < p className = { styles . subTitleText } > 存储卷配置</ p >
196+ < Space style = { { marginBottom : '10px' } } >
197+ < IconTip
198+ tip = {
199+ '勾选后,在删除 OBServer 资源之后不会级联删除 PVC;默认会进行级联删除'
200+ }
201+ content = { 'PVC 独立生命周期' }
202+ />
203+ < Checkbox
204+ value = { pvcValue }
205+ onChange = { ( e ) => {
206+ setPvcValue ( e . target . checked ) ;
207+ } }
208+ />
209+ </ Space >
177210 < Row gutter = { 16 } >
178211 < Col span = { 8 } >
179212 < p className = { styles . subTitleText } >
@@ -197,19 +230,18 @@ export default function Observer({ storageClasses, form }: ObserverProps) {
197230 } ) }
198231 />
199232 </ CustomFormItem >
200- < CustomFormItem
233+ < Form . Item
201234 label = "storageClass"
202235 name = { [ 'observer' , 'storage' , 'data' , 'storageClass' ] }
203236 >
204- { storageClasses && (
205- < SelectWithTooltip
206- name = { [ 'observer' , 'storage' , 'data' , 'storageClass' ] }
207- form = { form }
208- selectList = { storageClasses }
209- TooltipItemContent = { TooltipItemContent }
210- />
211- ) }
212- </ CustomFormItem >
237+ < SelectWithTooltip
238+ type = "observer"
239+ name = { [ 'observer' , 'storage' , 'data' , 'storageClass' ] }
240+ form = { form }
241+ selectList = { storageClasses }
242+ TooltipItemContent = { TooltipItemContent }
243+ />
244+ </ Form . Item >
213245 </ div >
214246 </ Col >
215247 < Col span = { 8 } >
@@ -234,19 +266,18 @@ export default function Observer({ storageClasses, form }: ObserverProps) {
234266 } ) }
235267 />
236268 </ CustomFormItem >
237- < CustomFormItem
269+ < Form . Item
238270 label = "storageClass"
239271 name = { [ 'observer' , 'storage' , 'log' , 'storageClass' ] }
240272 >
241- { storageClasses && (
242- < SelectWithTooltip
243- form = { form }
244- name = { [ 'observer' , 'storage' , 'log' , 'storageClass' ] }
245- selectList = { storageClasses }
246- TooltipItemContent = { TooltipItemContent }
247- />
248- ) }
249- </ CustomFormItem >
273+ < SelectWithTooltip
274+ type = "observer"
275+ name = { [ 'observer' , 'storage' , 'data' , 'storageClass' ] }
276+ form = { form }
277+ selectList = { storageClasses }
278+ TooltipItemContent = { TooltipItemContent }
279+ />
280+ </ Form . Item >
250281 </ div >
251282 </ Col >
252283 < Col span = { 8 } >
@@ -266,20 +297,19 @@ export default function Observer({ storageClasses, form }: ObserverProps) {
266297 } ) }
267298 />
268299 </ CustomFormItem >
269- < CustomFormItem
300+ < Form . Item
270301 label = "storageClass"
271302 validateTrigger = "onBlur"
272303 name = { [ 'observer' , 'storage' , 'redoLog' , 'storageClass' ] }
273304 >
274- { storageClasses && (
275- < SelectWithTooltip
276- form = { form }
277- name = { [ 'observer' , 'storage' , 'redoLog' , 'storageClass' ] }
278- selectList = { storageClasses }
279- TooltipItemContent = { TooltipItemContent }
280- />
281- ) }
282- </ CustomFormItem >
305+ < SelectWithTooltip
306+ type = "observer"
307+ name = { [ 'observer' , 'storage' , 'data' , 'storageClass' ] }
308+ form = { form }
309+ selectList = { storageClasses }
310+ TooltipItemContent = { TooltipItemContent }
311+ />
312+ </ Form . Item >
283313 </ div >
284314 </ Col >
285315 </ Row >
0 commit comments