fix: remark field option
This commit is contained in:
@@ -79,5 +79,6 @@ Same applies to the <span class="bold-text">/opt/dtk</span> directory.`,
|
||||
'clusters.addworker.notSpecified': 'Not Specified',
|
||||
'clusters.addworker.autoDetect': 'Auto-detect',
|
||||
'clusters.addworker.extraVolume.holder':
|
||||
'e.g. /data/models (path must start with /)'
|
||||
'e.g. /data/models (path must start with /)',
|
||||
'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device'
|
||||
};
|
||||
|
||||
@@ -79,7 +79,8 @@ Same applies to the <span class="bold-text">/opt/dtk</span> directory.`,
|
||||
'clusters.addworker.notSpecified': 'Not Specified',
|
||||
'clusters.addworker.autoDetect': 'Auto-detect',
|
||||
'clusters.addworker.extraVolume.holder':
|
||||
'e.g. /data/models (path must start with /)'
|
||||
'e.g. /data/models (path must start with /)',
|
||||
'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device'
|
||||
};
|
||||
|
||||
// ========== To-Do: Translate Keys (Remove After Translation) ==========
|
||||
@@ -150,4 +151,5 @@ Same applies to the <span class="bold-text">/opt/dtk</span> directory.`,
|
||||
// 65. 'clusters.addworker.notSpecified': 'Not Specified',
|
||||
// 66. 'clusters.addworker.autoDetect': 'Auto-detect',
|
||||
// 67. 'clusters.addworker.extraVolume.holder': 'e.g. /data/models (path must start with /)'
|
||||
// 68. 'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device'
|
||||
// ========== End of To-Do List ==========
|
||||
|
||||
@@ -79,7 +79,8 @@ export default {
|
||||
'clusters.addworker.notSpecified': 'Not Specified',
|
||||
'clusters.addworker.autoDetect': 'Auto-detect',
|
||||
'clusters.addworker.extraVolume.holder':
|
||||
'e.g. /data/models (path must start with /)'
|
||||
'e.g. /data/models (path must start with /)',
|
||||
'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device'
|
||||
};
|
||||
|
||||
// ========== To-Do: Translate Keys (Remove After Translation) ==========
|
||||
@@ -102,5 +103,6 @@ export default {
|
||||
// 17. 'clusters.addworker.nvidiaNotes-01': 'If multiple outbound IPs exist, specify the one you want the worker to use. Please double-check with <span class="bold-text">hostname -I | xargs -n1</span>.',
|
||||
// 18. 'clusters.addworker.nvidiaNotes-02': 'If a model directory already exists on the worker, you can specify the path to mount it.',
|
||||
// 19. 'clusters.addworker.autoDetect': 'Auto-detect',
|
||||
// 20. 'clusters.addworker.extraVolume.holder': 'e.g. /data/models (path must start with /)'
|
||||
// 20. 'clusters.addworker.extraVolume.holder': 'e.g. /data/models (path must start with /)',
|
||||
// 21. 'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device'
|
||||
// ========== End of To-Do List ==========
|
||||
|
||||
@@ -77,5 +77,6 @@ export default {
|
||||
'clusters.addworker.notSpecified': '未指定',
|
||||
'clusters.addworker.autoDetect': '自动检测',
|
||||
'clusters.addworker.extraVolume.holder':
|
||||
'例如:/data/models(路径需以 / 开头)'
|
||||
'例如:/data/models(路径需以 / 开头)',
|
||||
'clusters.addworker.vendorNotes.title': '{vendor}设备注意事项'
|
||||
};
|
||||
|
||||
@@ -10,14 +10,17 @@ const VendorNotes = () => {
|
||||
const workerCommand =
|
||||
summary.get('workerCommand') ||
|
||||
({
|
||||
label: 'N/A',
|
||||
label: '',
|
||||
notes: []
|
||||
} as { label: string; notes: string[] });
|
||||
|
||||
return (
|
||||
<AlertInfoBlock
|
||||
maxHeight={200}
|
||||
title={`Notes for ${workerCommand.label} Device`}
|
||||
title={intl.formatMessage(
|
||||
{ id: 'clusters.addworker.vendorNotes.title' },
|
||||
{ vendor: workerCommand.label }
|
||||
)}
|
||||
style={{ marginBottom: 8 }}
|
||||
type="warning"
|
||||
contentStyle={{
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
import AlertBlockInfo from '@/components/alert-info/block';
|
||||
import { PageAction } from '@/config';
|
||||
import { PageActionType } from '@/config/types';
|
||||
import TransferInner from '@/pages/_components/transfer';
|
||||
import { queryUsersList } from '@/pages/users/apis';
|
||||
import { DownOutlined } from '@ant-design/icons';
|
||||
@@ -25,12 +27,13 @@ const Label = styled.div`
|
||||
`;
|
||||
|
||||
interface AccessControlFormProps {
|
||||
action: PageActionType;
|
||||
currentData?: ListItem | null;
|
||||
onFinish: (values: AccessControlFormData) => void;
|
||||
}
|
||||
|
||||
const AccessControlForm = forwardRef((props: AccessControlFormProps, ref) => {
|
||||
const { currentData, onFinish } = props;
|
||||
const { action, currentData, onFinish } = props;
|
||||
const intl = useIntl();
|
||||
const [form] = Form.useForm();
|
||||
const accessPolicy = Form.useWatch('access_policy', form);
|
||||
@@ -133,6 +136,9 @@ const AccessControlForm = forwardRef((props: AccessControlFormProps, ref) => {
|
||||
const userMap = new Map(allusers.map((u) => [u.key, u]));
|
||||
|
||||
if (currentData?.id) {
|
||||
form.setFieldsValue({
|
||||
access_policy: currentData?.access_policy
|
||||
});
|
||||
queryModelAccessUserList(currentData.id).then((res) => {
|
||||
const keys = res.items.map((item) => item.id);
|
||||
setTargetKeys(keys);
|
||||
@@ -220,7 +226,7 @@ const AccessControlForm = forwardRef((props: AccessControlFormProps, ref) => {
|
||||
clearOnDestroy={true}
|
||||
scrollToFirstError={true}
|
||||
initialValues={{
|
||||
access_policy: 'authed'
|
||||
access_policy: action === PageAction.CREATE ? 'authed' : undefined
|
||||
}}
|
||||
>
|
||||
<Label>{intl.formatMessage({ id: 'models.table.accessScope' })}</Label>
|
||||
|
||||
@@ -53,6 +53,7 @@ const AccessControlModal: React.FC<
|
||||
<AccessControlForm
|
||||
ref={form}
|
||||
currentData={currentData}
|
||||
action={action}
|
||||
onFinish={handleOnFinish}
|
||||
/>
|
||||
</ScrollerModal>
|
||||
|
||||
@@ -99,7 +99,7 @@ const useWorkerMaintenance = ({ fetchData }: { fetchData: () => void }) => {
|
||||
name="remark"
|
||||
rules={[
|
||||
{
|
||||
required: true,
|
||||
required: false,
|
||||
message: intl.formatMessage({
|
||||
id: 'resources.worker.maintenance.remark.rules'
|
||||
})
|
||||
@@ -107,8 +107,6 @@ const useWorkerMaintenance = ({ fetchData }: { fetchData: () => void }) => {
|
||||
]}
|
||||
>
|
||||
<SealTextArea
|
||||
required
|
||||
alwaysFocus
|
||||
label={intl.formatMessage({
|
||||
id: 'resources.worker.maintenance.remark'
|
||||
})}
|
||||
|
||||
Reference in New Issue
Block a user