mirror of
https://github.com/FranP-code/ChatGPT.git
synced 2025-10-13 00:13:25 +00:00
chore: optim
This commit is contained in:
17
src/view/model/SyncCustom/Form.tsx
vendored
17
src/view/model/SyncCustom/Form.tsx
vendored
@@ -8,6 +8,7 @@ import useInit from '@/hooks/useInit';
|
||||
|
||||
interface SyncFormProps {
|
||||
record?: Record<string|symbol, any> | null;
|
||||
type: string;
|
||||
}
|
||||
|
||||
const initFormValue = {
|
||||
@@ -17,7 +18,8 @@ const initFormValue = {
|
||||
prompt: '',
|
||||
};
|
||||
|
||||
const SyncForm: ForwardRefRenderFunction<FormProps, SyncFormProps> = ({ record }, ref) => {
|
||||
const SyncForm: ForwardRefRenderFunction<FormProps, SyncFormProps> = ({ record, type }, ref) => {
|
||||
const isDisabled = type === 'edit';
|
||||
const [form] = Form.useForm();
|
||||
useImperativeHandle(ref, () => ({ form }));
|
||||
const [root, setRoot] = useState('');
|
||||
@@ -34,7 +36,7 @@ const SyncForm: ForwardRefRenderFunction<FormProps, SyncFormProps> = ({ record }
|
||||
|
||||
const pathOptions = (
|
||||
<Form.Item noStyle name="protocol" initialValue="https">
|
||||
<Select>
|
||||
<Select disabled={isDisabled}>
|
||||
<Select.Option value="local">{root}</Select.Option>
|
||||
<Select.Option value="http">http://</Select.Option>
|
||||
<Select.Option value="https">https://</Select.Option>
|
||||
@@ -43,7 +45,7 @@ const SyncForm: ForwardRefRenderFunction<FormProps, SyncFormProps> = ({ record }
|
||||
);
|
||||
const extOptions = (
|
||||
<Form.Item noStyle name="ext" initialValue="json">
|
||||
<Select>
|
||||
<Select disabled={isDisabled}>
|
||||
<Select.Option value="csv">.csv</Select.Option>
|
||||
<Select.Option value="json">.json</Select.Option>
|
||||
</Select>
|
||||
@@ -90,8 +92,13 @@ const SyncForm: ForwardRefRenderFunction<FormProps, SyncFormProps> = ({ record }
|
||||
label="PATH"
|
||||
name="path"
|
||||
rules={[{ required: true, message: 'Please input path!' }]}
|
||||
>
|
||||
<Input placeholder="YOUR_PATH" addonBefore={pathOptions} addonAfter={extOptions} {...DISABLE_AUTO_COMPLETE} />
|
||||
>
|
||||
<Input
|
||||
placeholder="YOUR_PATH"
|
||||
addonBefore={pathOptions}
|
||||
addonAfter={extOptions}
|
||||
{...DISABLE_AUTO_COMPLETE}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item style={{ display: 'none' }} name="id" initialValue={v4().replace(/-/g, '')}><input /></Form.Item>
|
||||
</Form>
|
||||
|
||||
12
src/view/model/SyncCustom/config.tsx
vendored
12
src/view/model/SyncCustom/config.tsx
vendored
@@ -34,7 +34,7 @@ export const syncColumns = () => [
|
||||
key: 'last_updated',
|
||||
width: 140,
|
||||
render: (v: number) => (
|
||||
<div style={{ textAlign: 'center' }}>
|
||||
<div>
|
||||
<HistoryOutlined style={{ marginRight: 5, color: v ? '#52c41a' : '#ff4d4f' }} />
|
||||
{ v ? fmtDate(v) : ''}
|
||||
</div>
|
||||
@@ -47,7 +47,15 @@ export const syncColumns = () => [
|
||||
render: (_: any, row: any, actions: any) => {
|
||||
return (
|
||||
<Space>
|
||||
<a onClick={() => actions.setRecord(row, 'sync')}>Sync</a>
|
||||
<Popconfirm
|
||||
overlayStyle={{ width: 250 }}
|
||||
title="Sync will overwrite the previous data, confirm to sync?"
|
||||
onConfirm={() => actions.setRecord(row, 'sync')}
|
||||
okText="Yes"
|
||||
cancelText="No"
|
||||
>
|
||||
<a>Sync</a>
|
||||
</Popconfirm>
|
||||
{row.last_updated && <Link to={`${row.id}`} state={row}>View</Link>}
|
||||
<a onClick={() => actions.setRecord(row, 'edit')}>Edit</a>
|
||||
<Popconfirm
|
||||
|
||||
4
src/view/model/SyncCustom/index.tsx
vendored
4
src/view/model/SyncCustom/index.tsx
vendored
@@ -128,12 +128,12 @@ export default function SyncCustom() {
|
||||
<Modal
|
||||
open={isVisible}
|
||||
onCancel={hide}
|
||||
title="Model PATH"
|
||||
title="Sync PATH"
|
||||
onOk={handleOk}
|
||||
destroyOnClose
|
||||
maskClosable={false}
|
||||
>
|
||||
<SyncForm ref={formRef} record={opInfo?.opRecord} />
|
||||
<SyncForm ref={formRef} record={opInfo?.opRecord} type={opInfo.opType} />
|
||||
</Modal>
|
||||
</div>
|
||||
)
|
||||
|
||||
19
src/view/model/SyncPrompts/index.tsx
vendored
19
src/view/model/SyncPrompts/index.tsx
vendored
@@ -69,6 +69,16 @@ export default function SyncPrompts() {
|
||||
return (
|
||||
<div>
|
||||
<div className="chat-table-btns">
|
||||
<Popconfirm
|
||||
overlayStyle={{ width: 250 }}
|
||||
title="Sync will overwrite the previous data, confirm to sync?"
|
||||
placement="topLeft"
|
||||
onConfirm={handleSync}
|
||||
okText="Yes"
|
||||
cancelText="No"
|
||||
>
|
||||
<Button type="primary">Sync</Button>
|
||||
</Popconfirm>
|
||||
<div>
|
||||
{selectedItems.length > 0 && (
|
||||
<>
|
||||
@@ -78,15 +88,6 @@ export default function SyncPrompts() {
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
<Popconfirm
|
||||
title={<span>Data sync will enable all prompts,<br/>are you sure you want to sync?</span>}
|
||||
placement="topLeft"
|
||||
onConfirm={handleSync}
|
||||
okText="Yes"
|
||||
cancelText="No"
|
||||
>
|
||||
<Button type="primary">Sync</Button>
|
||||
</Popconfirm>
|
||||
</div>
|
||||
<div className="chat-table-tip">
|
||||
<div className="chat-sync-path">
|
||||
|
||||
2
src/view/model/SyncRecord/config.tsx
vendored
2
src/view/model/SyncRecord/config.tsx
vendored
@@ -10,7 +10,7 @@ export const syncColumns = () => [
|
||||
// width: 120,
|
||||
key: 'cmd',
|
||||
render: (_: string, row: Record<string, string>) => (
|
||||
<Tag color="#2a2a2a">/{genCmd(row.act)}</Tag>
|
||||
<Tag color="#2a2a2a">/{row.cmd ? row.cmd : genCmd(row.act)}</Tag>
|
||||
),
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user