Commit 36fc1774 by zhaochengxiang

模型合并

parent 32f0011d
...@@ -135,7 +135,7 @@ const ModelNameColumn = (props) => { ...@@ -135,7 +135,7 @@ const ModelNameColumn = (props) => {
} }
const ModelTable = (props) => { const ModelTable = (props) => {
const { data, onChange, onItemAction, onSelect, onHistory, catalogId, keyword, onAutoCreateTable, offset = null, view, modelState, user, selectModelerIds, visibleColNames, tagSelectOptions, batchAddTagChange } = props; const { data, onChange, onItemAction, onSelect, onHistory, catalogId, keyword, onAutoCreateTable, offset = null, view, modelState, user, selectModelerIds, visibleColNames, tagSelectOptions, batchAddTagChange, onMerge } = props;
const [ selectedRowKeys, setSelectedRowKeys ] = useState([]); const [ selectedRowKeys, setSelectedRowKeys ] = useState([]);
const [ expandedSelectedRowKeys, setExpandedSelectedRowKeys ] = useState([]); const [ expandedSelectedRowKeys, setExpandedSelectedRowKeys ] = useState([]);
...@@ -583,6 +583,8 @@ const ModelTable = (props) => { ...@@ -583,6 +583,8 @@ const ModelTable = (props) => {
const index = (key.split('-'))[1]; const index = (key.split('-'))[1];
const action = currentItem?.state?.supportedActions[index]; const action = currentItem?.state?.supportedActions[index];
stateAction(currentItem, action); stateAction(currentItem, action);
} else if (key === 'join') {
onMerge(currentItem);
} }
} }
......
import React from 'react'
import { Modal, Button, Spin, } from 'antd'
import { dispatch } from '../../../../model'
const FC = (props) => {
const { items, branchId, visible, onCancel } = props
const [waiting, setWaiting] = React.useState(false)
const close = (val) => {
setWaiting(false)
onCancel?.(val)
}
const save = () => {
}
const footer = React.useMemo(() => {
return [
<Button key={'cancel'}
onClick={() => close()}
>取消</Button>,
<Button key={'save'} type='primary'
disabled={waiting}
onClick={() => save()}
>合并</Button>
]
}, [close, save, waiting])
return (
<Modal
visible={visible}
footer={footer}
width={800}
bodyStyle={{ padding: '15px', overflowX: 'auto', maxHeight: '80vh' }}
title='合并到基线'
centered destroyOnClose
onCancel={() => { close() }}
>
<Spin spinning={waiting}>
<Diff items={items} branchId={branchId} />
</Spin>
</Modal>
)
}
export default FC
export const Diff = React.forwardRef(function ({ items, branchId, }, ref) {
React.useEffect(() => {
if ((items??[]).length>0) {
getDiffForked()
}
}, [items])
const getDiffForked = () => {
dispatch({
type: 'datamodel.getBranchDiffForked',
payload: {
id: items[0].id,
branchId,
},
callback: data => {
}
})
}
return (
<div>
basic
</div>
)
})
\ No newline at end of file
...@@ -24,6 +24,7 @@ import SelectSearchProperties from './Component/select-search-properties'; ...@@ -24,6 +24,7 @@ import SelectSearchProperties from './Component/select-search-properties';
import { TagSelect, TagSelectPopup } from './Component/tag-help'; import { TagSelect, TagSelectPopup } from './Component/tag-help';
import BranchAddModel from './Component/branch-add-model' import BranchAddModel from './Component/branch-add-model'
import StartFlow from './Component/start-flow' import StartFlow from './Component/start-flow'
import MergeToMaster from './Component/merge-to-master';
import './index.less'; import './index.less';
...@@ -84,7 +85,11 @@ class Model extends React.Component { ...@@ -84,7 +85,11 @@ class Model extends React.Component {
startFlowParams: { startFlowParams: {
visible: false, visible: false,
items: undefined, items: undefined,
} },
mergeToMasterParams: {
visible: false,
items: undefined,
},
} }
} }
...@@ -334,6 +339,17 @@ class Model extends React.Component { ...@@ -334,6 +339,17 @@ class Model extends React.Component {
this.setState({ historyAndVersionDrawerVisible: true, modelerId: id }); this.setState({ historyAndVersionDrawerVisible: true, modelerId: id });
} }
onMerge = (item) => {
if (item) {
this.setState({
mergeToMasterParams: {
visible: true,
items: [item]
}
})
}
}
onSearchInputChange = (value) => { onSearchInputChange = (value) => {
const { currentView } = this.state; const { currentView } = this.state;
if (currentView === 'branch') { if (currentView === 'branch') {
...@@ -793,6 +809,7 @@ class Model extends React.Component { ...@@ -793,6 +809,7 @@ class Model extends React.Component {
onItemAction={this.onTableItemAction} onItemAction={this.onTableItemAction}
onAutoCreateTable={this.onAutoCreateTable} onAutoCreateTable={this.onAutoCreateTable}
onHistory={this.onHistory} onHistory={this.onHistory}
onMerge={this.onMerge}
{...this.props} /> {...this.props} />
</Spin> </Spin>
</div> </div>
...@@ -890,6 +907,24 @@ class Model extends React.Component { ...@@ -890,6 +907,24 @@ class Model extends React.Component {
}} }}
/> />
<MergeToMaster
{...this.state.mergeToMasterParams}
branchId={this.state.catalogId}
onCancel={(refresh) => {
this.setState({
mergeToMasterParams: {
visible: false,
items: undefined,
}
})
if (refresh) {
this.onTableChange()
this.setState({ selectModelerIds: [] })
}
}}
/>
<TagSelectPopup <TagSelectPopup
{...this.state.tagSelectPopupParams} {...this.state.tagSelectPopupParams}
type='model' type='model'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment