import AlertInfoBlock from '@/components/alert-info/block'; import { ExclamationCircleFilled } from '@ant-design/icons'; import { useIntl } from '@umijs/max'; import { Input, Switch } from 'antd'; import { useEffect } from 'react'; import { useAddWorkerContext } from './add-worker-context'; import { StepNamesMap } from './config'; import { NotesWrapper, SwitchWrapper, Tips, Title } from './constainers'; import StepCollapse from './step-collapse'; const SpecifyArguments = () => { const intl = useIntl(); const { stepList, summary, updateField, registerField } = useAddWorkerContext(); const stepIndex = stepList.indexOf(StepNamesMap.SpecifyArgs) + 1; const workerIPConfig = summary.get('workerIPConfig') || { enable: false, ip: '', required: false }; const modelDirConfig = summary.get('modelDirConfig') || { enable: false, path: '' }; const setWorkerIPConfig = (config: { enable: boolean; ip?: string; required?: boolean; }) => { updateField('workerIPConfig', { ...workerIPConfig, ...config }); }; const setModelDirConfig = (config: { enable: boolean; path?: string }) => { updateField('modelDirConfig', { ...modelDirConfig, ...config }); }; const beforeNext = async () => { if (workerIPConfig.enable && !workerIPConfig.ip) { setWorkerIPConfig({ ...workerIPConfig, required: true }); return false; } return true; }; useEffect(() => { const unregister = registerField('workerIPConfig'); return () => { unregister(); }; }, []); useEffect(() => { const unregister = registerField('modelDirConfig'); return () => { unregister(); }; }, []); useEffect(() => { updateField('workerIPConfig', { enable: true, ip: '', required: false }); updateField('modelDirConfig', { enable: false, path: '' }); }, []); return ( {stepIndex}.{' '} {intl.formatMessage({ id: 'clusters.addworker.specifyArgs' })} } >
{/* worker IP config */}
{workerIPConfig.enable ? intl.formatMessage({ id: 'clusters.addworker.specifyWorkerIP' }) : intl.formatMessage({ id: 'clusters.addworker.detectWorkerIP' })} setWorkerIPConfig({ ...workerIPConfig, enable: checked, required: false }) } >
{workerIPConfig.enable && ( <> setWorkerIPConfig({ ...workerIPConfig, ip: e.target.value }) } /> {workerIPConfig.required && !workerIPConfig.ip && ( {intl.formatMessage({ id: 'clusters.addworker.enterWorkerIP.error' })} )} )} {!workerIPConfig.enable && ( } message={
  • } >
    )}
    {/* model directory config */}
    {/* optional */} {intl.formatMessage({ id: 'clusters.addworker.extraVolume' })} setModelDirConfig({ ...modelDirConfig, enable: checked }) } >
    {modelDirConfig.enable && ( setModelDirConfig({ ...modelDirConfig, path: e.target.value }) } /> )}
    ); }; export default SpecifyArguments;