in console-ui/src/pages/ServiceManagement/ServiceDetail/EditServiceDialog.js [154:242]
render() {
const { locale = {} } = this.props;
const { isCreate, editService, editServiceDialogVisible, errors, selectorTypes } = this.state;
const {
serviceName,
protectThreshold,
groupName,
metadataText,
selector = { type: 'none' },
} = editService;
const formItemLayout = this.getFormItemLayout();
return (
<Dialog
className="service-detail-edit-dialog"
title={isCreate ? locale.createService : locale.updateService}
visible={editServiceDialogVisible}
onOk={() => this.onConfirm()}
onCancel={() => this.hide()}
onClose={() => this.hide()}
>
<Form {...DIALOG_FORM_LAYOUT}>
<Form.Item
required={isCreate}
{...formItemLayout}
label={`${locale.serviceName}`}
{...errors.name}
>
{!isCreate ? (
<p>{serviceName}</p>
) : (
<Input
value={serviceName}
onChange={name => this.onChangeCluster({ serviceName: name })}
/>
)}
</Form.Item>
<Form.Item
required
{...formItemLayout}
label={`${locale.protectThreshold}`}
{...errors.protectThreshold}
>
<Input
value={protectThreshold}
onChange={protectThreshold => this.onChangeCluster({ protectThreshold })}
/>
</Form.Item>
<Form.Item {...formItemLayout} label={`${locale.groupName}`}>
<Input
defaultValue={groupName}
placeholder="DEFAULT_GROUP"
readOnly={!isCreate}
onChange={groupName => this.onChangeCluster({ groupName })}
/>
</Form.Item>
<Form.Item label={`${locale.metadata}`} {...formItemLayout}>
<MonacoEditor
language="json"
width={'100%'}
height={200}
value={metadataText}
onChange={metadataText => this.onChangeCluster({ metadataText })}
/>
</Form.Item>
<Form.Item label={`${locale.type}`} {...formItemLayout}>
<Select
className="full-width"
defaultValue={selector.type}
onChange={type => this.onChangeCluster({ selector: { ...selector, type } })}
>
{selectorTypes.map(selectorType => (
<Select.Option value={selectorType}>{selectorType}</Select.Option>
))}
</Select>
</Form.Item>
{selector.type !== 'none' && (
<Form.Item label={`${locale.selector}`} {...formItemLayout}>
<Input.TextArea
value={selector.expression}
onChange={expression =>
this.onChangeCluster({ selector: { ...selector, expression } })
}
/>
</Form.Item>
)}
</Form>
</Dialog>
);
}