Commit 1db68649 by zhaochengxiang

支持hive

parent fe8dc82a
...@@ -90,6 +90,10 @@ const ImportActionHeader = (props) => { ...@@ -90,6 +90,10 @@ const ImportActionHeader = (props) => {
//eslint-disable-next-line react-hooks/exhaustive-deps //eslint-disable-next-line react-hooks/exhaustive-deps
}, [modelerData]) }, [modelerData])
const _pratitionTypes = React.useMemo(() => {
return (supportedPartitionTypes||[]).filter(item => (item.supportedDBTypes??[]).indexOf(modelerData?.dbType)!==-1)
}, [supportedPartitionTypes, modelerData?.dbType])
//分布键 //分布键
const distributionDescription = useMemo(() => { const distributionDescription = useMemo(() => {
if (modelerData && modelerData.distributionKey) { if (modelerData && modelerData.distributionKey) {
...@@ -291,17 +295,19 @@ const ImportActionHeader = (props) => { ...@@ -291,17 +295,19 @@ const ImportActionHeader = (props) => {
} }
</Form.Item> </Form.Item>
</Col> </Col>
<Col xs={24} sm={24} lg={12} xl={8}> {
<Form.Item (_pratitionTypes??[]).length>0 && <Col xs={24} sm={24} lg={12} xl={8}>
label="分区键" <Form.Item
name="partition" label="分区键"
style={{ marginBottom }} name="partition"
> style={{ marginBottom }}
{ >
editable ? <PartitionSelect modelerData={modelerData} partitionTypes={supportedPartitionTypes} /> : <span className='word-wrap'>{highlightSearchContentByTerms(partitionsDescription, terms)}</span> {
} editable ? <PartitionSelect modelerData={modelerData} partitionTypes={_pratitionTypes} /> : <span className='word-wrap'>{highlightSearchContentByTerms(partitionsDescription, terms)}</span>
</Form.Item> }
</Col> </Form.Item>
</Col>
}
<Col xs={24} sm={24} lg={12} xl={8}> <Col xs={24} sm={24} lg={12} xl={8}>
<Form.Item <Form.Item
label="类主键" label="类主键"
...@@ -392,21 +398,23 @@ const ImportActionHeader = (props) => { ...@@ -392,21 +398,23 @@ const ImportActionHeader = (props) => {
} }
</Form.Item> </Form.Item>
</Col> </Col>
<Col xs={24} sm={24} lg={12} xl={8}> {
<Form.Item (_pratitionTypes??[]).length>0 && <Col xs={24} sm={24} lg={12} xl={8}>
label="分区键" <Form.Item
name="partition" label="分区键"
style={{ marginBottom }} name="partition"
> style={{ marginBottom }}
{ >
editable ? <HivePartitionSelect modelerData={modelerData} partitionTypes={supportedPartitionTypes} /> : <Tooltip {
overlayClassName='tooltip-common' editable ? <HivePartitionSelect modelerData={modelerData} partitionTypes={_pratitionTypes} /> : <Tooltip
title={<KeysDetail value={modelerData?.partition?.keys} />}> overlayClassName='tooltip-common'
<span className='word-wrap'>{highlightSearchContentByTerms(partitionsDescription, terms)}</span> title={<KeysDetail value={modelerData?.partition?.keys} />}>
</Tooltip> <span className='word-wrap'>{highlightSearchContentByTerms(partitionsDescription, terms)}</span>
} </Tooltip>
</Form.Item> }
</Col> </Form.Item>
</Col>
}
<Col xs={24} sm={24} lg={12} xl={8}> <Col xs={24} sm={24} lg={12} xl={8}>
<Form.Item <Form.Item
label="分桶字段" label="分桶字段"
...@@ -1017,7 +1025,7 @@ const PartitionSelect = ({ value = {}, modelerData, partitionTypes = [], onChang ...@@ -1017,7 +1025,7 @@ const PartitionSelect = ({ value = {}, modelerData, partitionTypes = [], onChang
allowClear={true} allowClear={true}
> >
{ {
(partitionTypes||[]).map((partitionType, index) => { partitionTypes?.map((partitionType, index) => {
return ( return (
<Option key={partitionType.name} value={partitionType.name}>{partitionType.cnName}</Option> <Option key={partitionType.name} value={partitionType.name}>{partitionType.cnName}</Option>
); );
...@@ -1080,7 +1088,7 @@ const HivePartitionSelect = ({ value, onChange, partitionTypes, modelerData }) = ...@@ -1080,7 +1088,7 @@ const HivePartitionSelect = ({ value, onChange, partitionTypes, modelerData }) =
allowClear={true} allowClear={true}
> >
{ {
(partitionTypes||[]).map((partitionType, index) => { partitionTypes?.map((partitionType, index) => {
return ( return (
<Option key={partitionType.name} value={partitionType.name}>{partitionType.cnName}</Option> <Option key={partitionType.name} value={partitionType.name}>{partitionType.cnName}</Option>
); );
......
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