diff --git a/web/src/pages/DataManagement/IngestPipeline.js b/web/src/pages/DataManagement/IngestPipeline.js index c7d0c597..396c141c 100644 --- a/web/src/pages/DataManagement/IngestPipeline.js +++ b/web/src/pages/DataManagement/IngestPipeline.js @@ -19,7 +19,7 @@ import { Badge, Divider, Steps, - Popconfirm + Drawer } from 'antd'; import StandardTable from '@/components/StandardTable'; import PageHeaderWrapper from '@/components/PageHeaderWrapper'; @@ -136,6 +136,8 @@ class IngestPipeline extends PureComponent { selectedRows: [], formValues: {}, updateFormValues: {}, + drawerVisible: false, + btnSaveExtraLoading: false, }; columns = [ @@ -162,11 +164,27 @@ class IngestPipeline extends PureComponent { this.state.selectedRows.push(record); this.handleDeleteClick(); }}>删除 + + { + this.handlePipelineClick(record); + }}>管道参数配置 ), }, ]; + handlePipelineClick = (r)=>{ + this.setState((prevState)=>{ + let newState = { + drawerVisible: !prevState.drawerVisible, + }; + if(r) { + newState["editingRecord"] = r; + } + return newState; + }); + } + componentDidMount() { const { dispatch } = this.props; dispatch({ @@ -231,10 +249,12 @@ class IngestPipeline extends PureComponent { payload: { key: selectedRows.map(row => row.name), }, - callback: () => { - this.setState({ - selectedRows: [], - }); + callback: (res) => { + if(res.message == "Ok"){ + this.setState({ + selectedRows: [], + }); + } }, }); }; @@ -343,9 +363,36 @@ class IngestPipeline extends PureComponent { return this.renderSimpleForm(); } + handleSaveExtra = (r)=>{ + this.setState({btnSaveExtraLoading:true}); + const {form, dispatch} = this.props; + form.validateFields((err, fieldsValue) => { + if (err) return; + console.log(fieldsValue); + for(let key in fieldsValue){ + if(fieldsValue[key]){ + r[key] = fieldsValue[key]; + } + } + dispatch({ + type: 'pipeline/update', + payload: r, + callback: (res) => { + if(res.message == "Ok"){ + this.setState({ + drawerVisible: false, + editingRecord: null, + btnSaveExtraLoading: false, + }); + } + }, + }); + }); + }; + render() { - let {pipeline, loading} = this.props; - const { selectedRows, modalVisible, updateModalVisible, updateFormValues } = this.state; + let {pipeline, loading, form} = this.props; + const { selectedRows, modalVisible, updateModalVisible, updateFormValues,drawerVisible, editingRecord} = this.state; const parentMethods = { handleAdd: this.handleAdd, handleModalVisible: this.handleModalVisible, @@ -355,7 +402,7 @@ class IngestPipeline extends PureComponent { handleUpdate: this.handleUpdate, }; return ( - +
{this.renderForm()}
@@ -387,7 +434,63 @@ class IngestPipeline extends PureComponent { values={updateFormValues} /> ) : null} - + { editingRecord &&( + +
+ + {form.getFieldDecorator('thread_num', { + initialValue: editingRecord.thread_num, + rules: [{ required: true }], + })()} + + + {form.getFieldDecorator('batch_size', { + initialValue: editingRecord.batch_size, + rules: [{ required: true }], + })()} + + + {form.getFieldDecorator('batch_delay', { + initialValue: editingRecord.batch_delay, + rules: [{ required: true }], + })()} + + + {form.getFieldDecorator('queue_type', { + initialValue: editingRecord.queue_type, + rules: [{ required: true }], + })( + + )} + + + {form.getFieldDecorator('queue_max_bytes', { + initialValue: editingRecord.queue_max_bytes, + rules: [{ required: true }], + })()} + + + {form.getFieldDecorator('queue_checkpoint_num', { + initialValue: editingRecord.queue_checkpoint_num, + rules: [{ required: true }], + })()} + +
+ + +
+
+ +
+ )} + ); } } diff --git a/web/src/pages/DataManagement/backup/BakCycle.js b/web/src/pages/DataManagement/backup/BakCycle.js index ca0c808e..b9e8b9d8 100644 --- a/web/src/pages/DataManagement/backup/BakCycle.js +++ b/web/src/pages/DataManagement/backup/BakCycle.js @@ -66,18 +66,18 @@ class NewForm extends PureComponent { {form.getFieldDecorator('name', { rules: [{ required: true }], - })()} + })()} {form.getFieldDecorator('snapshot', { rules: [{ required: true }], - })()} + })()} {form.getFieldDecorator('repo', { rules: [{ required: true }], })( - my_local_repo @@ -91,7 +91,7 @@ class NewForm extends PureComponent { {form.getFieldDecorator('frequency', { rules: [{ required: true }], })( - 每天 @@ -105,7 +105,7 @@ class NewForm extends PureComponent { {form.getFieldDecorator('time', { rules: [{ required: true }], })( - + )} @@ -485,7 +485,7 @@ class BakCycle extends PureComponent { diff --git a/web/src/pages/DataManagement/models/pipeline.js b/web/src/pages/DataManagement/models/pipeline.js index e5716d1b..804aef65 100644 --- a/web/src/pages/DataManagement/models/pipeline.js +++ b/web/src/pages/DataManagement/models/pipeline.js @@ -29,7 +29,7 @@ export default { }); } }, - *update({payload}, {call, put}){ + *update({payload,callback}, {call, put}){ const res = yield call(updatePipeline, payload); if(res.message == "Ok") { yield put({ @@ -37,8 +37,11 @@ export default { payload: payload, }); } + if(callback && typeof callback === "function"){ + callback(res); + } }, - *delete({payload}, {call, put}){ + *delete({payload, callback}, {call, put}){ const res = yield call(deletePipeline, payload); console.log(res); if(res.message == "Ok") { @@ -47,6 +50,9 @@ export default { payload: payload, }); } + if(callback && typeof callback === "function"){ + callback(res); + } }, }, reducers: {