style: form tabs header gap
This commit is contained in:
@@ -29,8 +29,7 @@ const SegmentedInner = styled(Segmented)`
|
|||||||
`;
|
`;
|
||||||
|
|
||||||
const SegmentedHeader = styled.div`
|
const SegmentedHeader = styled.div`
|
||||||
margin-top: 16px;
|
padding: 16px 24px;
|
||||||
padding: 0 24px;
|
|
||||||
`;
|
`;
|
||||||
|
|
||||||
interface AddModalProps {
|
interface AddModalProps {
|
||||||
@@ -198,6 +197,11 @@ const AddModal: React.FC<AddModalProps> = (props) => {
|
|||||||
</SegmentedHeader>
|
</SegmentedHeader>
|
||||||
<ColumnWrapper
|
<ColumnWrapper
|
||||||
maxHeight={'calc(100vh - 123px)'}
|
maxHeight={'calc(100vh - 123px)'}
|
||||||
|
styles={{
|
||||||
|
container: {
|
||||||
|
paddingTop: 0
|
||||||
|
}
|
||||||
|
}}
|
||||||
footer={
|
footer={
|
||||||
<ModalFooter
|
<ModalFooter
|
||||||
onCancel={onClose}
|
onCancel={onClose}
|
||||||
|
|||||||
@@ -3,9 +3,15 @@ import CollapsePanel from '@/pages/_components/collapse-panel';
|
|||||||
import { useIntl } from '@umijs/max';
|
import { useIntl } from '@umijs/max';
|
||||||
import { Form, Segmented } from 'antd';
|
import { Form, Segmented } from 'antd';
|
||||||
import _ from 'lodash';
|
import _ from 'lodash';
|
||||||
import React, { forwardRef, useImperativeHandle } from 'react';
|
import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
|
||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { excludeFields, gpusCountTypeMap, ScheduleValueMap } from '../config';
|
import {
|
||||||
|
deployFormKeyMap,
|
||||||
|
excludeFields,
|
||||||
|
gpusCountTypeMap,
|
||||||
|
modelSourceMap,
|
||||||
|
ScheduleValueMap
|
||||||
|
} from '../config';
|
||||||
import { backendOptionsMap } from '../config/backend-parameters';
|
import { backendOptionsMap } from '../config/backend-parameters';
|
||||||
import { FormContext } from '../config/form-context';
|
import { FormContext } from '../config/form-context';
|
||||||
import {
|
import {
|
||||||
@@ -38,11 +44,12 @@ const SegmentedInner = styled(Segmented)`
|
|||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const SegmentedHeader = styled.div`
|
const SegmentedHeader = styled.div<{ $top?: number }>`
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: ${(props) => props.$top || 0}px;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
margin-bottom: 16px;
|
padding-bottom: 16px;
|
||||||
|
background-color: var(--ant-color-bg-elevated);
|
||||||
`;
|
`;
|
||||||
|
|
||||||
interface DataFormProps {
|
interface DataFormProps {
|
||||||
@@ -67,6 +74,7 @@ const DataForm: React.FC<DataFormProps> = forwardRef((props, ref) => {
|
|||||||
action,
|
action,
|
||||||
isGGUF,
|
isGGUF,
|
||||||
formKey,
|
formKey,
|
||||||
|
source,
|
||||||
initialValues,
|
initialValues,
|
||||||
sourceDisable = true,
|
sourceDisable = true,
|
||||||
sourceList,
|
sourceList,
|
||||||
@@ -112,6 +120,25 @@ const DataForm: React.FC<DataFormProps> = forwardRef((props, ref) => {
|
|||||||
segmentOptions
|
segmentOptions
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const SegmentedTop = useMemo(() => {
|
||||||
|
if (
|
||||||
|
[
|
||||||
|
modelSourceMap.huggingface_value,
|
||||||
|
modelSourceMap.modelscope_value
|
||||||
|
].includes(source) &&
|
||||||
|
formKey === deployFormKeyMap.deployment
|
||||||
|
) {
|
||||||
|
return {
|
||||||
|
top: 50,
|
||||||
|
offsetTop: 146
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
top: 0,
|
||||||
|
offsetTop: 96
|
||||||
|
};
|
||||||
|
}, [source, formKey]);
|
||||||
|
|
||||||
const handleSumit = () => {
|
const handleSumit = () => {
|
||||||
form.submit();
|
form.submit();
|
||||||
};
|
};
|
||||||
@@ -230,7 +257,7 @@ const DataForm: React.FC<DataFormProps> = forwardRef((props, ref) => {
|
|||||||
const handleTargetChange = async (val: any) => {
|
const handleTargetChange = async (val: any) => {
|
||||||
setTarget(val);
|
setTarget(val);
|
||||||
|
|
||||||
await scrollToSegment(val, { offsetTop: 96 });
|
await scrollToSegment(val, { offsetTop: SegmentedTop.offsetTop });
|
||||||
};
|
};
|
||||||
|
|
||||||
useImperativeHandle(ref, () => {
|
useImperativeHandle(ref, () => {
|
||||||
@@ -275,7 +302,7 @@ const DataForm: React.FC<DataFormProps> = forwardRef((props, ref) => {
|
|||||||
onBackendChange: handleBackendChange
|
onBackendChange: handleBackendChange
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<SegmentedHeader>
|
<SegmentedHeader $top={SegmentedTop.top}>
|
||||||
<SegmentedInner
|
<SegmentedInner
|
||||||
defaultValue="basic"
|
defaultValue="basic"
|
||||||
value={target}
|
value={target}
|
||||||
|
|||||||
Reference in New Issue
Block a user