Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/assets/icons/node/huawei_drs_kafka_convertor.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions packages/dag/src/Editor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,10 @@ export default {
{
name: i18n.t('packages_dag_time_field_injection'),
type: 'add_date_field_processor'
},
{
name: i18n.t('packages_dag_src_editor_huawei_drs_kafka_convertor'),
type: 'huawei_drs_kafka_convertor'
}
]
//仅企业版有的节点
Expand Down
4 changes: 4 additions & 0 deletions packages/dag/src/MigrationEditor.vue
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,10 @@ export default {
{
name: i18n.t('packages_dag_time_field_injection'),
type: 'migrate_add_date_field_processor'
},
{
name: i18n.t('packages_dag_src_editor_huawei_drs_kafka_convertor'),
type: 'migrate_huawei_drs_kafka_convertor'
}
])
this.addResourceIns(allResourceIns)
Expand Down
3 changes: 2 additions & 1 deletion packages/dag/src/locale/lang/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -825,5 +825,6 @@ export default {
packages_dag_noPkSyncMode_ADD_HASH: 'Add Hash Column',
packages_dag_noPkSyncMode_ALL_COLUMNS: 'Full Column Index',
packages_dag_join_keys_empty: 'Association conditions for {tableName} cannot be empty',
packages_dag_join_keys_field_empty: 'Field in association condition #{index} for {tableName} cannot be empty.'
packages_dag_join_keys_field_empty: 'Field in association condition #{index} for {tableName} cannot be empty.',
packages_dag_src_editor_huawei_drs_kafka_convertor: 'Huawei DRS Kafka Message Converter'
}
3 changes: 2 additions & 1 deletion packages/dag/src/locale/lang/zh-CN.js
Original file line number Diff line number Diff line change
Expand Up @@ -769,5 +769,6 @@ export default {
packages_dag_noPkSyncMode_ADD_HASH: '新增哈希列',
packages_dag_noPkSyncMode_ALL_COLUMNS: '全字段索引',
packages_dag_join_keys_empty: '{tableName} 的关联条件不能为空',
packages_dag_join_keys_field_empty: '{tableName} 的关联条件第 {index} 项的字段不能为空'
packages_dag_join_keys_field_empty: '{tableName} 的关联条件第 {index} 项的字段不能为空',
packages_dag_src_editor_huawei_drs_kafka_convertor: '华为 DRS Kafka 消息转换器'
}
3 changes: 2 additions & 1 deletion packages/dag/src/locale/lang/zh-TW.js
Original file line number Diff line number Diff line change
Expand Up @@ -764,5 +764,6 @@ export default {
packages_dag_noPkSyncMode_ADD_HASH: '新增哈希列',
packages_dag_noPkSyncMode_ALL_COLUMNS: '全字段索引',
packages_dag_join_keys_empty: '{tableName} 的關聯條件不能為空',
packages_dag_join_keys_field_empty: '{tableName} 的關聯條件第 {index} 項的字段不能為空'
packages_dag_join_keys_field_empty: '{tableName} 的關聯條件第 {index} 項的字段不能為空',
packages_dag_src_editor_huawei_drs_kafka_convertor: '華為 DRS Kafka 消息轉換器'
}
119 changes: 119 additions & 0 deletions packages/dag/src/nodes/HuaweiDrsKafkaConvertor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
import i18n from '@tap/i18n'
import { NodeType } from './extends/NodeType'

export class UnwindProcessor extends NodeType {
constructor() {
super()
}

type = 'huawei_drs_kafka_convertor'

maxInputs = 1 // 最大输入个数
maxOutputs = 1 // 最大输出个数

group = 'processor'

formSchema = {
type: 'object',
properties: {
$inputs: {
type: 'array',
display: 'none'
},
tabs: {
type: 'void',
'x-component': 'FormTab',
'x-component-props': {
class: 'config-tabs',
formTab: '{{formTab}}'
},
properties: {
tab1: {
type: 'void',
'x-component': 'FormTab.TabPane',
'x-component-props': {
label: i18n.t('public_basic_settings')
},
properties: {
nameWrap: {
type: 'void',
title: i18n.t('public_node_name'),
'x-decorator': 'FormItem',
'x-decorator-props': {
asterisk: true,
feedbackLayout: 'none'
},
'x-component': 'FormFlex',
'x-component-props': {
gap: 8,
align: 'start'
},
properties: {
name: {
type: 'string',
required: true,
'x-decorator': 'FormItem',
'x-decorator-props': {
style: {
flex: 1
}
},
'x-component': 'Input',
'x-component-props': {
onChange: `{{() => { $values.attrs.hasNameEdited = true }}}`
}
},

clipboardButton: {
type: 'void',
'x-component': 'ClipboardButton',
'x-component-props': {
tooltip: i18n.t('packages_dag_copy_node_id'),
finishTooltip: i18n.t('packages_dag_nodes_table_yifuzhi'),
content: '{{$values.id}}'
}
}
}
},

storeType: {
title: i18n.t('public_store_type'),
type: 'string',
default: 'JSON',
enum: ['AVRO', 'JSON', 'JSON_C'],
'x-decorator': 'FormItem',
'x-component': 'Radio.Group',
'x-display': 'hidden'
},

fromDBType: {
title: i18n.t('public_from_db_type'),
type: 'string',
default: 'MYSQL',
enum: ['MYSQL', 'GAUSSDB_MYSQL', 'GAUSSDB', 'ORACLE', 'MSSQL', 'POSTGRESQL'],
'x-decorator': 'FormItem',
'x-component': 'Select'
},

sampleSize: {
title: i18n.t('public_sample_size'),
type: 'number',
default: 10,
'x-decorator': 'FormItem',
'x-component': 'InputNumber',
'x-component-props': {
min: 1
}
},

schemaPreview: {
type: 'void',
'x-component': 'SchemaPreview'
}
}
}
}
}
}
}
}
131 changes: 131 additions & 0 deletions packages/dag/src/nodes/MigrateHuaweiDrsKafkaConvertor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
import i18n from '@tap/i18n'
import { NodeType } from './extends/NodeType'

export class UnwindProcessor extends NodeType {
constructor() {
super()
}

type = 'migrate_huawei_drs_kafka_convertor'

maxInputs = 1 // 最大输入个数
maxOutputs = 1 // 最大输出个数

group = 'processor'

formSchema = {
type: 'object',
properties: {
$inputs: {
type: 'array',
display: 'none'
},
tabs: {
type: 'void',
'x-component': 'FormTab',
'x-component-props': {
class: 'config-tabs',
formTab: '{{formTab}}'
},
properties: {
tab1: {
type: 'void',
'x-component': 'FormTab.TabPane',
'x-component-props': {
label: i18n.t('public_basic_settings')
},
properties: {
nameWrap: {
type: 'void',
title: i18n.t('public_node_name'),
'x-decorator': 'FormItem',
'x-decorator-props': {
asterisk: true,
feedbackLayout: 'none'
},
'x-component': 'FormFlex',
'x-component-props': {
gap: 8,
align: 'start'
},
properties: {
name: {
type: 'string',
required: true,
'x-decorator': 'FormItem',
'x-decorator-props': {
style: {
flex: 1
}
},
'x-component': 'Input',
'x-component-props': {
onChange: `{{() => { $values.attrs.hasNameEdited = true }}}`
}
},

clipboardButton: {
type: 'void',
'x-component': 'ClipboardButton',
'x-component-props': {
tooltip: i18n.t('packages_dag_copy_node_id'),
finishTooltip: i18n.t('packages_dag_nodes_table_yifuzhi'),
content: '{{$values.id}}'
}
}
}
},

storeType: {
title: i18n.t('public_store_type'),
type: 'string',
default: 'JSON',
enum: ['AVRO', 'JSON', 'JSON_C'],
'x-decorator': 'FormItem',
'x-component': 'Radio.Group',
'x-display': 'hidden'
},

fromDBType: {
title: i18n.t('public_from_db_type'),
type: 'string',
default: 'MYSQL',
enum: ['MYSQL', 'GAUSSDB_MYSQL', 'GAUSSDB', 'ORACLE', 'MSSQL', 'POSTGRESQL'],
'x-decorator': 'FormItem',
'x-component': 'Select'
},

sampleSize: {
title: i18n.t('public_sample_size'),
type: 'number',
default: 10,
'x-decorator': 'FormItem',
'x-component': 'InputNumber',
'x-component-props': {
min: 1
}
}
}
},
tab2: {
type: 'void',
'x-component': 'FormTab.TabPane',
'x-component-props': {
label: i18n.t('packages_dag_data_schema')
},
properties: {
schemaPanel: {
type: 'void',
'x-component': 'SchemaPanel',
'x-component-props': {
class: 'mx-n4 my-n1',
formTab: '{{formTab}}'
}
}
}
}
}
}
}
}
}
5 changes: 4 additions & 1 deletion packages/i18n/src/locale/lang/en.js
Original file line number Diff line number Diff line change
Expand Up @@ -372,5 +372,8 @@ export default {
public_file_size: 'File Size',
public_log_download: 'Log Download',
public_alert_401_tip: 'Your session has expired or logged in on another device. Please log in again to continue.',
public_alert_401: 'Session Expired Reminder'
public_alert_401: 'Session Expired Reminder',
public_store_type: 'Store Type',
public_from_db_type: 'From DB Type',
public_sample_size: 'Sample Size'
}
5 changes: 4 additions & 1 deletion packages/i18n/src/locale/lang/zh-CN.js
Original file line number Diff line number Diff line change
Expand Up @@ -368,5 +368,8 @@ export default {
public_file_size: '文件大小',
public_log_download: '日志下载',
public_alert_401_tip: '您的会话已过期或者已在其他地方登录,请重新登录后继续操作',
public_alert_401: '会话过期提醒'
public_alert_401: '会话过期提醒',
public_store_type: '存储类型',
public_from_db_type: '来源数据库类型',
public_sample_size: '抽样数据量'
}
5 changes: 4 additions & 1 deletion packages/i18n/src/locale/lang/zh-TW.js
Original file line number Diff line number Diff line change
Expand Up @@ -367,5 +367,8 @@ export default {
public_file_size: '文件大小',
public_log_download: '日誌下載',
public_alert_401_tip: '您的會話已過期或者已在其他地方登錄,請重新登錄後繼續操作',
public_alert_401: '會話過期提醒'
public_alert_401: '會話過期提醒',
public_store_type: '存儲類型',
public_from_db_type: '來源數據庫類型',
public_sample_size: '抽樣數據量'
}