/** * Copyright (c) OpenSpug Organization. https://github.com/openspug/spug * Copyright (c) * Released under the AGPL-3.0 License. */ import React, { useState } from 'react'; import { observer } from 'mobx-react'; import { Modal, Form, Input, Checkbox, Switch, Row, Col, message } from 'antd'; import http from 'libs/http'; import store from './store'; import envStore from '../environment/store' import styles from './index.module.css'; import lds from 'lodash'; export default observer(function () { const isModify = store.record.id !== undefined; const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [envs, setEnvs] = useState(isModify ? [store.env.id] : []); function handleSubmit() { setLoading(true); const formData = form.getFieldsValue(); formData['is_public'] = store.type === 'src' ? false : formData['is_public']; let request; if (isModify) { formData['id'] = store.record.id; request = http.patch('/api/config/', formData) } else { formData['type'] = store.type; formData['o_id'] = store.id; formData['envs'] = envs; request = http.post('/api/config/', formData) } request.then(res => { message.success('操作成功'); store.formVisible = false; store.fetchRecords() }, () => setLoading(false)) } function handleEnvCheck(id) { if (!isModify) { const tmp = lds.clone(envs); const index = tmp.indexOf(id); if (index !== -1) { tmp.splice(index, 1) } else { tmp.push(id) } setEnvs(tmp) } } return ( store.formVisible = false} confirmLoading={loading} onOk={handleSubmit}>
{store.type === 'app' && ( 什么是公共/私有配置?}> )} {envStore.records.map((item, index) => ( handleEnvCheck(item.id)} style={{cursor: 'pointer', borderTop: index ? '1px solid #e8e8e8' : ''}}> {item.key} {item.name} {item.desc} ))}
) })