diff --git a/km-console/packages/layout-clusters-fe/src/pages/CommonRoute.tsx b/km-console/packages/layout-clusters-fe/src/pages/CommonRoute.tsx index 3fc32f35..f5d7f497 100644 --- a/km-console/packages/layout-clusters-fe/src/pages/CommonRoute.tsx +++ b/km-console/packages/layout-clusters-fe/src/pages/CommonRoute.tsx @@ -22,6 +22,8 @@ export enum ControlStatusMap { TESTING_PRODUCER_HEADER = 'FETestingProducerHeader', TESTING_PRODUCER_COMPRESSION_TYPE_ZSTD = 'FETestingProducerCompressionTypeZSTD', TESTING_CONSUMER_HEADER = 'FETestingConsumerHeader', + // Topic + CREATE_TOPIC_CLEANUP_POLICY = 'FECreateTopicCleanupPolicy', } const CommonRoute: React.FC = (props: any) => { diff --git a/km-console/packages/layout-clusters-fe/src/pages/TopicList/Create.tsx b/km-console/packages/layout-clusters-fe/src/pages/TopicList/Create.tsx index 6f1cb667..bf80fd74 100644 --- a/km-console/packages/layout-clusters-fe/src/pages/TopicList/Create.tsx +++ b/km-console/packages/layout-clusters-fe/src/pages/TopicList/Create.tsx @@ -1,11 +1,13 @@ import React, { useState, useEffect } from 'react'; import { useParams } from 'react-router-dom'; -import { Alert, Button, Checkbox, Divider, Drawer, Form, Input, InputNumber, Modal, Select, Utils } from 'knowdesign'; +import { Alert, Button, Checkbox, Divider, Drawer, Form, Input, InputNumber, Modal, Select, Utils, Radio, AppContainer } from 'knowdesign'; import notification from '@src/components/Notification'; import { PlusOutlined, DownOutlined, UpOutlined } from '@ant-design/icons'; import Api from '@src/api/index'; +import { ControlStatusMap } from '../CommonRoute'; const CheckboxGroup = Checkbox.Group; +const RadioGroup = Radio.Group; interface DefaultConfig { name: string; @@ -67,6 +69,8 @@ export default (props: any) => { const routeParams = useParams<{ clusterId: string; }>(); + const [global] = AppContainer.useGlobalValue(); + const multiCleanupPolicy = global.isShowControl && global.isShowControl(ControlStatusMap.CREATE_TOPIC_CLEANUP_POLICY); const confirm = () => { form.validateFields().then((e) => { const formVal = JSON.parse(JSON.stringify(form.getFieldsValue())); @@ -106,7 +110,7 @@ export default (props: any) => { let res: any; try { res = - item.name === 'cleanup.policy' + item.name === 'cleanup.policy' && multiCleanupPolicy ? item.defaultValue .replace(/\[|\]|\s+/g, '') .split(',') @@ -267,12 +271,21 @@ export default (props: any) => {