You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by lz...@apache.org on 2022/08/11 10:53:19 UTC
[inlong] branch master updated: [INLONG-5479][Dashboard] Optimize the group configuration process and use meta management (#5480)
This is an automated email from the ASF dual-hosted git repository.
lzwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new a9a99ebaf [INLONG-5479][Dashboard] Optimize the group configuration process and use meta management (#5480)
a9a99ebaf is described below
commit a9a99ebafdc74f080e804c925f86a817b500a0b1
Author: Daniel <le...@apache.org>
AuthorDate: Thu Aug 11 18:53:14 2022 +0800
[INLONG-5479][Dashboard] Optimize the group configuration process and use meta management (#5480)
* [INLONG-5479][Dashboard] Optimize the data group configuration management process and use meta management
* chore: translate key rename.
---
.../AccessHelper/DataSourcesEditor/index.tsx | 240 -----------
.../AccessHelper/DataStorageEditor/Editor.tsx | 238 ----------
.../src/components/AccessHelper/index.ts | 32 --
.../BusinessSelect/MyBusinessModal.tsx | 159 -------
.../ConsumeHelper/BusinessSelect/index.tsx | 94 ----
.../src/components/ConsumeHelper/index.ts | 20 -
inlong-dashboard/src/locales/cn.json | 477 ++++++++++-----------
inlong-dashboard/src/locales/en.json | 477 ++++++++++-----------
.../basicFields.tsx => meta/consumption/index.tsx} | 65 ++-
.../businessFields.tsx => meta/group/index.tsx} | 56 +--
inlong-dashboard/src/meta/sinks/clickhouse.tsx | 56 ++-
.../src/meta/sinks/common/sourceFields.ts | 6 +-
inlong-dashboard/src/meta/sinks/es.tsx | 36 +-
inlong-dashboard/src/meta/sinks/greenplum.tsx | 24 +-
inlong-dashboard/src/meta/sinks/hbase.tsx | 24 +-
inlong-dashboard/src/meta/sinks/hive.tsx | 66 +--
inlong-dashboard/src/meta/sinks/iceberg.tsx | 32 +-
inlong-dashboard/src/meta/sinks/index.ts | 4 +-
inlong-dashboard/src/meta/sinks/kafka.tsx | 8 +-
inlong-dashboard/src/meta/sinks/mysql.tsx | 24 +-
inlong-dashboard/src/meta/sinks/oracle.tsx | 24 +-
inlong-dashboard/src/meta/sinks/postgreSql.tsx | 26 +-
inlong-dashboard/src/meta/sinks/sqlServer.tsx | 30 +-
.../src/meta/sinks/tdsqlPostgreSql.tsx | 30 +-
inlong-dashboard/src/meta/sources/binLog.ts | 24 +-
inlong-dashboard/src/meta/sources/file.ts | 12 +-
.../dataFields.tsx => meta/stream/index.tsx} | 38 +-
.../AccessDetail/DataSources/DetailModal.tsx} | 11 +-
.../src/pages/AccessDetail/DataSources/index.tsx | 4 +-
.../AccessDetail/DataStorage}/DetailModal.tsx | 20 +-
.../src/pages/AccessDetail/DataStorage/index.tsx | 12 +-
.../AccessDetail/DataStream/StreamItemModal.tsx | 15 +-
.../src/pages/AccessDetail/Info/config.tsx | 6 +-
.../src/pages/ApprovalDetail/AccessConfig.tsx | 8 +-
.../src/pages/ApprovalDetail/ConsumeConfig.tsx | 8 +-
.../src/pages/ConsumeCreate/Info/config.tsx | 52 ---
.../src/pages/ConsumeCreate/Info/index.tsx | 114 -----
inlong-dashboard/src/pages/ConsumeCreate/index.tsx | 134 ------
.../src/pages/ConsumeDetail/Info/config.tsx | 6 +-
39 files changed, 811 insertions(+), 1901 deletions(-)
diff --git a/inlong-dashboard/src/components/AccessHelper/DataSourcesEditor/index.tsx b/inlong-dashboard/src/components/AccessHelper/DataSourcesEditor/index.tsx
deleted file mode 100644
index f4d3c85c1..000000000
--- a/inlong-dashboard/src/components/AccessHelper/DataSourcesEditor/index.tsx
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React, { useState, useMemo } from 'react';
-import { Button, Table, Modal, message } from 'antd';
-import { useTranslation } from 'react-i18next';
-import request from '@/utils/request';
-import { useUpdateEffect, usePrevious } from '@/hooks';
-import { sources } from '@/meta/sources';
-import CreateModal from './CreateModal';
-
-export interface DataSourcesEditorProps {
- value?: Record<string, any>[];
- onChange?: Function;
- readonly?: boolean;
- type?: 'MYSQL_BINLOG' | 'FILE';
- // Whether to use real operations (for example, to call the background interface when deleting/newing, etc.)
- useActionRequest?: boolean;
- inlongGroupId?: string;
- // Data stream ID, required for real operation
- inlongStreamId?: string;
-}
-
-const removeIdFromValues = values =>
- values.map(item => {
- const obj = { ...item };
- delete obj._etid;
- return obj;
- });
-
-const addIdToValues = values =>
- values?.map(item => {
- const obj = { ...item };
- obj._etid = Math.random().toString();
- return obj;
- });
-
-const cache: Record<string, any> = {};
-
-const Comp = ({
- value,
- onChange,
- readonly = false,
- type = 'FILE',
- useActionRequest,
- inlongGroupId,
- inlongStreamId,
-}: DataSourcesEditorProps) => {
- const { t } = useTranslation();
-
- const [data, setData] = useState(addIdToValues(value) || []);
- const previousType = usePrevious(type);
-
- const [createModal, setCreateModal] = useState({
- visible: false,
- _etid: '',
- id: '',
- record: {},
- }) as any;
-
- const triggerChange = newData => {
- if (onChange) {
- onChange(removeIdFromValues(newData));
- }
- };
-
- useUpdateEffect(() => {
- cache[previousType] = data;
- const cacheData = cache[type] || [];
- setData(cacheData);
- triggerChange(cacheData);
- }, [type]);
-
- const onSaveRequest = async values => {
- const isUpdate = createModal.id;
- const submitData = {
- ...values,
- inlongGroupId,
- inlongStreamId,
- sourceType: type,
- };
- if (isUpdate) submitData.id = createModal.id;
- const newId = await request({
- url: `/source/${isUpdate ? 'update' : 'save'}`,
- method: 'POST',
- data: submitData,
- });
- return isUpdate ? createModal.id : newId;
- };
-
- const onAddRow = async rowValues => {
- const newData = data.concat(addIdToValues([rowValues]));
- setData(newData);
- triggerChange(newData);
- };
-
- const onDeleteRequest = id => {
- return new Promise(resolve => {
- Modal.confirm({
- title: t('basic.DeleteConfirm'),
- onOk: async () => {
- await request({
- url: `/source/delete/${id}`,
- method: 'DELETE',
- params: {
- sourceType: type,
- },
- });
- resolve(true);
- message.success(t('DeleteSuccess'));
- },
- });
- });
- };
-
- const onDeleteRow = async record => {
- const { _etid, id } = record;
- if (useActionRequest) {
- await onDeleteRequest(id);
- }
- const newData = [...data];
- const index = newData.findIndex(item => item._etid === _etid);
- newData.splice(index, 1);
- setData(newData);
- triggerChange(newData);
- };
-
- const onEditRow = record => {
- setCreateModal({
- visible: true,
- id: useActionRequest ? record?.id : true,
- _etid: record?._etid,
- record,
- });
- };
-
- const onUpdateRow = (_etid, record) => {
- const newData = data.map(item => {
- if (item._etid === _etid) {
- return record;
- }
- return item;
- });
-
- setData(newData);
- };
-
- const columnsMap = useMemo(
- () =>
- sources.reduce(
- (acc, cur) => ({
- ...acc,
- [cur.value]: cur.tableColumns,
- }),
- {},
- ),
- [],
- );
-
- const columns = columnsMap[type].concat(
- readonly
- ? []
- : [
- {
- title: t('basic.Operating'),
- dataIndex: 'actions',
- width: 120,
- render: (text, record) => (
- <>
- <Button type="link" onClick={() => onEditRow(record)}>
- {t('basic.Edit')}
- </Button>
- <Button type="link" onClick={() => onDeleteRow(record)}>
- {t('basic.Delete')}
- </Button>
- </>
- ),
- },
- ],
- );
-
- return (
- <>
- <Table
- pagination={false}
- dataSource={data}
- columns={columns}
- rowKey="_etid"
- size="small"
- scroll={{
- y: 520,
- }}
- footer={
- readonly
- ? null
- : () => (
- <>
- <Button type="link" onClick={() => setCreateModal({ visible: true })}>
- {t('components.AccessHelper.DataSourcesEditor.NewDataSource')}
- </Button>
- </>
- )
- }
- />
-
- <CreateModal
- {...createModal}
- type={type}
- id={createModal.id !== true && createModal.id}
- visible={createModal.visible}
- onOk={async values => {
- const isUpdate = createModal.id;
- const id = useActionRequest ? await onSaveRequest(values) : '';
- const result = id ? { id, ...values } : { ...createModal.record, ...values };
- isUpdate ? onUpdateRow(createModal._etid, result) : onAddRow(result);
- setCreateModal({ visible: false });
- }}
- onCancel={() => setCreateModal({ visible: false })}
- />
- </>
- );
-};
-
-export default Comp;
diff --git a/inlong-dashboard/src/components/AccessHelper/DataStorageEditor/Editor.tsx b/inlong-dashboard/src/components/AccessHelper/DataStorageEditor/Editor.tsx
deleted file mode 100644
index e722cfcb1..000000000
--- a/inlong-dashboard/src/components/AccessHelper/DataStorageEditor/Editor.tsx
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React, { useState, useMemo, useEffect } from 'react';
-import { Button, Table, Modal, message } from 'antd';
-import request from '@/utils/request';
-import isEqual from 'lodash/isEqual';
-import { useTranslation } from 'react-i18next';
-import DetailModal from './DetailModal';
-import { Storages } from '@/meta/sinks';
-
-export interface Props {
- value?: Record<string, any>[];
- onChange?: Function;
- readonly?: boolean;
- // datastorage type
- type: string;
- // defaultRowTypeFields, can be used to automatically fill in the form default values
- defaultRowTypeFields?: Record<string, unknown>[];
- dataType?: string;
- // Whether to use real operations (for example, to call the background interface when deleting/newing, etc.)
- useActionRequest?: boolean;
- inlongGroupId?: string;
- // Data stream ID, required for real operation
- inlongStreamId?: string;
-}
-
-const removeIdFromValues = values =>
- values.map(item => {
- const obj = { ...item };
- delete obj._etid;
- return obj;
- });
-
-const addIdToValues = values =>
- values?.map(item => {
- const obj = { ...item };
- obj._etid = Math.random().toString();
- return obj;
- });
-
-const Comp = ({
- value,
- onChange,
- readonly,
- type = 'HIVE',
- defaultRowTypeFields,
- dataType,
- useActionRequest,
- inlongGroupId,
- inlongStreamId,
-}: Props) => {
- const { t } = useTranslation();
- const [data, setData] = useState(addIdToValues(value) || []);
-
- useEffect(() => {
- if (value && !isEqual(value, removeIdFromValues(data))) {
- setData(addIdToValues(value));
- }
- // eslint-disable-next-line
- }, [value]);
-
- const [detailModal, setDetailModal] = useState({
- visible: false,
- _etid: '',
- id: '',
- record: {},
- }) as any;
-
- const triggerChange = newData => {
- if (onChange) {
- onChange(removeIdFromValues(newData));
- }
- };
-
- const onSaveRequest = async values => {
- const isUpdate = detailModal.id;
- const submitData = {
- ...values,
- sinkType: type,
- inlongGroupId,
- inlongStreamId,
- };
- if (isUpdate) submitData.id = detailModal.id;
- const newId = await request({
- url: `/sink/${isUpdate ? 'update' : 'save'}`,
- method: 'POST',
- data: submitData,
- });
- return isUpdate ? detailModal.id : newId;
- };
-
- const onAddRow = rowValues => {
- const newData = data.concat(addIdToValues([rowValues]));
- setData(newData);
- triggerChange(newData);
- };
-
- const onDeleteRequest = id => {
- return new Promise(resolve => {
- Modal.confirm({
- title: t('basic.DeleteConfirm'),
- onOk: async () => {
- await request({
- url: `/sink/delete/${id}`,
- method: 'DELETE',
- params: {
- sinkType: type,
- },
- });
- resolve(true);
- message.success(t('DeleteSuccess'));
- },
- });
- });
- };
-
- const onDeleteRow = async record => {
- const { _etid, id } = record;
- if (useActionRequest) {
- await onDeleteRequest(id);
- }
- const newData = [...data];
- const index = newData.findIndex(item => item._etid === _etid);
- newData.splice(index, 1);
- setData(newData);
- triggerChange(newData);
- };
-
- const onEditRow = record => {
- setDetailModal({
- visible: true,
- id: useActionRequest ? record?.id : true,
- _etid: record?._etid,
- record,
- });
- };
-
- const onUpdateRow = (_etid, rowValues) => {
- const newData = data.map(item => {
- if (item._etid === _etid) {
- return {
- ...item,
- ...rowValues,
- };
- }
- return item;
- });
-
- setData(newData);
- triggerChange(newData);
- };
-
- const tableColumns = useMemo(() => {
- return Storages.reduce(
- (acc, cur) => ({
- ...acc,
- [cur.value]: cur.tableColumns,
- }),
- {},
- )[type];
- }, [type]);
-
- const columns = tableColumns.concat(
- readonly
- ? []
- : [
- {
- title: t('basic.Operating'),
- dataIndex: 'actions',
- render: (text, record: Record<string, unknown>) => (
- <>
- <Button type="link" onClick={() => onEditRow(record)}>
- {t('basic.Edit')}
- </Button>
- <Button type="link" onClick={() => onDeleteRow(record)}>
- {t('basic.Delete')}
- </Button>
- </>
- ),
- },
- ],
- );
-
- return (
- <>
- <div>
- <span>{type}</span>
- {!readonly && (
- <Button
- type="link"
- onClick={() => setDetailModal({ visible: true })}
- disabled={data.length}
- >
- {t('components.AccessHelper.DataStorageEditor.Editor.AddTo')}
- </Button>
- )}
- </div>
-
- <Table pagination={false} size="small" dataSource={data} columns={columns} rowKey="_etid" />
-
- <DetailModal
- {...detailModal}
- inlongGroupId={inlongGroupId}
- id={detailModal.id !== true && detailModal.id}
- dataType={dataType}
- defaultRowTypeFields={defaultRowTypeFields}
- sinkType={type}
- onOk={async values => {
- const isUpdate = detailModal.id;
- const id = useActionRequest ? await onSaveRequest(values) : '';
- const result = id ? { id, ...values } : { ...detailModal.record, ...values };
- isUpdate ? onUpdateRow(detailModal._etid, result) : onAddRow(result);
- setDetailModal({ visible: false });
- }}
- onCancel={() => setDetailModal({ visible: false })}
- />
- </>
- );
-};
-
-export default Comp;
diff --git a/inlong-dashboard/src/components/AccessHelper/index.ts b/inlong-dashboard/src/components/AccessHelper/index.ts
deleted file mode 100644
index eb465be82..000000000
--- a/inlong-dashboard/src/components/AccessHelper/index.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-// Field configuration list
-export { default as genBusinessFields } from './FieldsConfig/businessFields';
-export { default as genDataFields } from './FieldsConfig/dataFields';
-
-// Data source creation/selector
-export { default as DataSourcesCreateModal } from './DataSourcesEditor/CreateModal';
-
-// Data source configuration editor
-export { default as DataSourcesEditor } from './DataSourcesEditor';
-
-// Flow editor
-export { default as DataStorageEditor } from './DataStorageEditor/Editor';
-export { default as DataStorageDetailModal } from './DataStorageEditor/DetailModal';
diff --git a/inlong-dashboard/src/components/ConsumeHelper/BusinessSelect/MyBusinessModal.tsx b/inlong-dashboard/src/components/ConsumeHelper/BusinessSelect/MyBusinessModal.tsx
deleted file mode 100644
index 45a02ad8a..000000000
--- a/inlong-dashboard/src/components/ConsumeHelper/BusinessSelect/MyBusinessModal.tsx
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React, { useState } from 'react';
-import { Button, Modal } from 'antd';
-import { ModalProps } from 'antd/es/modal';
-import { useTranslation } from 'react-i18next';
-import HighTable from '@/components/HighTable';
-import { useRequest, useUpdateEffect } from '@/hooks';
-
-export interface MyAccessModalProps extends Omit<ModalProps, 'onOk'> {
- onOk?: (value: string, record: Record<string, unknown>) => void;
-}
-
-const getFilterFormContent = () => [
- {
- type: 'inputsearch',
- name: 'keyword',
- },
-];
-
-const Comp: React.FC<MyAccessModalProps> = ({ ...modalProps }) => {
- const { t } = useTranslation();
-
- const [options, setOptions] = useState({
- keyword: '',
- pageSize: 10,
- pageNum: 1,
- });
-
- const { run: getData, data, loading } = useRequest(
- {
- url: '/group/list',
- method: 'POST',
- data: {
- ...options,
- status: 130,
- },
- },
- {
- manual: true,
- },
- );
-
- useUpdateEffect(() => {
- if (modalProps.visible) {
- getData();
- }
- }, [modalProps.visible, options]);
-
- const onChange = ({ current: pageNum, pageSize }) => {
- setOptions(prev => ({
- ...prev,
- pageNum,
- pageSize,
- }));
- };
-
- const closeAll = () => {
- setOptions({
- keyword: '',
- pageSize: 10,
- pageNum: 1,
- });
- };
-
- const onFilter = allValues => {
- setOptions(prev => ({
- ...prev,
- ...allValues,
- pageNum: 1,
- }));
- };
-
- const onOk = record => {
- const { inlongGroupId } = record;
- modalProps.onOk && modalProps.onOk(inlongGroupId, record);
- };
-
- const columns = [
- {
- title: 'ID',
- dataIndex: 'inlongGroupId',
- },
- {
- title: t('components.ConsumeHelper.BusinessSelect.MyBusinessModal.BusinessName'),
- dataIndex: 'name',
- },
- {
- title: t('components.ConsumeHelper.BusinessSelect.MyBusinessModal.Owners'),
- dataIndex: 'inCharges',
- },
- {
- title: t('basic.CreateTime'),
- dataIndex: 'createTime',
- },
- {
- title: t('basic.Operating'),
- dataIndex: 'action',
- render: (text, record) => (
- <Button type="link" onClick={() => onOk(record)}>
- {t('components.ConsumeHelper.BusinessSelect.MyBusinessModal.Select')}
- </Button>
- ),
- },
- ];
-
- const pagination = {
- pageSize: 10,
- current: options.pageNum,
- total: data?.total,
- };
-
- return (
- <Modal
- {...modalProps}
- title={t('components.ConsumeHelper.BusinessSelect.MyBusinessModal.MyAccessBusiness')}
- width={1024}
- footer={null}
- onOk={onOk}
- afterClose={closeAll}
- destroyOnClose
- >
- <HighTable
- filterForm={{
- content: getFilterFormContent(),
- onFilter,
- }}
- table={{
- columns,
- rowKey: 'id',
- size: 'small',
- dataSource: data?.list,
- pagination,
- loading,
- onChange,
- }}
- />
- </Modal>
- );
-};
-
-export default Comp;
diff --git a/inlong-dashboard/src/components/ConsumeHelper/BusinessSelect/index.tsx b/inlong-dashboard/src/components/ConsumeHelper/BusinessSelect/index.tsx
deleted file mode 100644
index a19335364..000000000
--- a/inlong-dashboard/src/components/ConsumeHelper/BusinessSelect/index.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React, { useState, useEffect } from 'react';
-import { Button, Input, Space } from 'antd';
-import type { InputProps } from 'antd/es/input';
-import request from '@/utils/request';
-import { useTranslation } from 'react-i18next';
-import MyBusinessModal from './MyBusinessModal';
-
-export interface Props extends Omit<InputProps, 'onChange'> {
- value?: string;
- onChange?: (value: string, record: Record<string, unknown>) => void;
- onSelect?: (value: Record<string, any>) => void;
-}
-
-const Comp: React.FC<Props> = ({ value, onChange, onSelect, ...rest }) => {
- const { t } = useTranslation();
-
- const [data, setData] = useState(value);
-
- const [myBusinessModal, setMyBusinessModal] = useState({
- visible: false,
- });
-
- useEffect(() => {
- if (value !== data) {
- setData(value);
- }
- // eslint-disable-next-line
- }, [value]);
-
- const triggerChange = (newData, record) => {
- if (onChange) {
- onChange(newData, record);
- }
- };
-
- const onSelectRow = (rowValue, record) => {
- setData(rowValue);
- triggerChange(rowValue, record);
- };
-
- const onTextChange = async value => {
- setData(value);
-
- const bussinessData = await request(`/group/get/${value}`);
- if (bussinessData) {
- triggerChange(value, bussinessData);
- }
- };
-
- return (
- <>
- <Space>
- <Input value={data} onChange={e => onTextChange(e.target.value)} {...rest} />
- <Button type="link" onClick={() => setMyBusinessModal({ visible: true })}>
- {t('components.ConsumeHelper.BusinessSelect.Search')}
- </Button>
- </Space>
-
- <MyBusinessModal
- {...myBusinessModal}
- visible={myBusinessModal.visible}
- onOk={(value, record) => {
- onSelectRow(value, record);
- if (onSelect) {
- onSelect(record);
- }
- setMyBusinessModal({ visible: false });
- }}
- onCancel={() => setMyBusinessModal({ visible: false })}
- />
- </>
- );
-};
-
-export default Comp;
diff --git a/inlong-dashboard/src/components/ConsumeHelper/index.ts b/inlong-dashboard/src/components/ConsumeHelper/index.ts
deleted file mode 100644
index c9c187bd7..000000000
--- a/inlong-dashboard/src/components/ConsumeHelper/index.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-export { default as genBasicFields } from './FieldsConfig/basicFields';
diff --git a/inlong-dashboard/src/locales/cn.json b/inlong-dashboard/src/locales/cn.json
index f10f1afa7..e970d27e1 100644
--- a/inlong-dashboard/src/locales/cn.json
+++ b/inlong-dashboard/src/locales/cn.json
@@ -17,248 +17,243 @@
"components.AccessHelper.DataSourcesEditor.NewDataSource": "新建数据源",
"components.AccessHelper.DataSourcesEditor.CreateModal.DataSourceName": "数据源名称",
"components.AccessHelper.DataSourcesEditor.CreateModal.File": "文件",
- "components.AccessHelper.DataSourceMetaData.File.SerializationType": "文件类型",
- "components.AccessHelper.DataSourceMetaData.File.DataSourceIP": "数据源IP",
- "components.AccessHelper.DataSourceMetaData.File.FilePath": "⽂件路径",
- "components.AccessHelper.DataSourceMetaData.File.FilePathHelp": "必须是绝对路径,支持正则表达式,多个时以逗号分隔,如:/data/*.log",
- "components.AccessHelper.DataSourceMetaData.File.IpRule": "请输入正确的IP地址",
- "components.AccessHelper.DataSourceMetaData.File.TimeOffset": "时间偏移量",
- "components.AccessHelper.DataSourceMetaData.File.TimeOffsetHelp": "从文件的某个时间开始采集,'1m'表示1分钟之后,'-1m'表示1分钟之前,支持m(分钟),h(小时),d(天),空则从当前时间开始采集",
- "components.AccessHelper.DataSourceMetaData.Db.Server": "服务器地址",
- "components.AccessHelper.DataSourceMetaData.Db.Port": "服务器端口",
- "components.AccessHelper.DataSourceMetaData.Db.ServerTimezone": "服务器时区",
- "components.AccessHelper.DataSourceMetaData.Db.IntervalMs": "位点刷新间隔",
- "components.AccessHelper.DataSourceMetaData.Db.User": "用户名",
- "components.AccessHelper.DataSourceMetaData.Db.Password": "密码",
- "components.AccessHelper.DataSourceMetaData.Db.HistoryFilename": "历史文件名",
- "components.AccessHelper.DataSourceMetaData.Db.AllMigration": "是否整库迁移",
- "components.AccessHelper.DataSourceMetaData.Db.DatabaseWhiteList": "库名白名单",
- "components.AccessHelper.DataSourceMetaData.Db.TableWhiteList": "表名白名单",
- "components.AccessHelper.DataSourceMetaData.Db.WhiteListHelp": "多个白名单之间用英文逗号分隔,单个为正则表达式,比如:b1,b*",
+ "meta.Sources.File.SerializationType": "文件类型",
+ "meta.Sources.File.DataSourceIP": "数据源IP",
+ "meta.Sources.File.FilePath": "⽂件路径",
+ "meta.Sources.File.FilePathHelp": "必须是绝对路径,支持正则表达式,多个时以逗号分隔,如:/data/*.log",
+ "meta.Sources.File.IpRule": "请输入正确的IP地址",
+ "meta.Sources.File.TimeOffset": "时间偏移量",
+ "meta.Sources.File.TimeOffsetHelp": "从文件的某个时间开始采集,'1m'表示1分钟之后,'-1m'表示1分钟之前,支持m(分钟),h(小时),d(天),空则从当前时间开始采集",
+ "meta.Sources.Db.Server": "服务器地址",
+ "meta.Sources.Db.Port": "服务器端口",
+ "meta.Sources.Db.ServerTimezone": "服务器时区",
+ "meta.Sources.Db.IntervalMs": "位点刷新间隔",
+ "meta.Sources.Db.User": "用户名",
+ "meta.Sources.Db.Password": "密码",
+ "meta.Sources.Db.HistoryFilename": "历史文件名",
+ "meta.Sources.Db.AllMigration": "是否整库迁移",
+ "meta.Sources.Db.DatabaseWhiteList": "库名白名单",
+ "meta.Sources.Db.TableWhiteList": "表名白名单",
+ "meta.Sources.Db.WhiteListHelp": "多个白名单之间用英文逗号分隔,单个为正则表达式,比如:b1,b*",
"components.AccessHelper.DataStorageEditor.Editor.AddTo": "添加",
- "components.AccessHelper.StorageMetaData.SinkName": "流向名称",
- "components.AccessHelper.StorageMetaData.SinkNameRule": "以英文字母开头,只能包含英文字母、数字、中划线、下划线",
- "components.AccessHelper.StorageMetaData.Description": "流向描述",
- "components.AccessHelper.StorageMetaData.SourceFieldName": "源字段名",
- "components.AccessHelper.StorageMetaData.SourceFieldType": "源字段类型",
- "components.AccessHelper.StorageMetaData.SourceFieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Username": "用户名",
- "components.AccessHelper.StorageMetaData.Password": "密码",
- "components.AccessHelper.StorageMetaData.EnableCreateResource": "是否创建资源",
- "components.AccessHelper.StorageMetaData.EnableCreateResourceHelp": "如果库表已经存在,且无需修改,则选【不创建】,否则请选择【创建】,由系统自动创建资源。",
- "components.AccessHelper.StorageMetaData.Hive.FileFormat": "落地格式",
- "components.AccessHelper.StorageMetaData.Hive.Day": "天",
- "components.AccessHelper.StorageMetaData.Hive.DataEncoding": "数据编码",
- "components.AccessHelper.StorageMetaData.Hive.DataSeparator": "字段分隔符",
- "components.AccessHelper.StorageMetaData.Hive.PartitionFieldList": "分区字段",
- "components.AccessHelper.StorageMetaData.Hive.PartitionFieldListHelp": "字段类型若为timestamp,则必须设置此字段值的格式,支持 MICROSECONDS,MILLISECONDS,SECONDS,SQL,ISO_8601,以及自定义,比如:yyyy-MM-dd HH:mm:ss 等",
- "components.AccessHelper.StorageMetaData.Hive.DbName": "DB名称",
- "components.AccessHelper.StorageMetaData.Hive.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.Hive.FieldNameRule": "以小写英文字母开头,只能包含小写英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Hive.ConnectionTest": "测试连接",
- "components.AccessHelper.StorageMetaData.Hive.ConnectionSucceeded": "连接成功",
- "components.AccessHelper.StorageMetaData.Hive.ConnectionFailed": "连接失败",
- "components.AccessHelper.StorageMetaData.Hive.DataPath": "数据路径",
- "components.AccessHelper.StorageMetaData.Hive.ConfDir": "配置路径",
- "components.AccessHelper.StorageMetaData.Hive.ConfDirHelp": "将 Hive 集群的 hive-site.xml 文件上传到 HDFS 的某个目录下,如:/user/hive/conf",
- "components.AccessHelper.StorageMetaData.DataPathHelp": "DB的存储路径,不包括表名,如:hdfs://127.0.0.1:9000/warehouse/inlong.db",
- "components.AccessHelper.StorageMetaData.Hive.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.Hive.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.Hive.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.Hive.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.Hive.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.Clickhouse.DbName": "DB名称",
- "components.AccessHelper.StorageMetaData.Clickhouse.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushInterval": "刷新的间隔",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushIntervalUnit": "秒",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushRecord": "刷新的数据条数",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushRecordUnit": "条",
- "components.AccessHelper.StorageMetaData.Clickhouse.RetryTimes": "重试次数",
- "components.AccessHelper.StorageMetaData.Clickhouse.RetryTimesUnit": "次",
- "components.AccessHelper.StorageMetaData.Clickhouse.IsDistributed": "分布式表",
- "components.AccessHelper.StorageMetaData.Clickhouse.Yes": "是",
- "components.AccessHelper.StorageMetaData.Clickhouse.No": "否",
- "components.AccessHelper.StorageMetaData.Clickhouse.PartitionStrategy": "分区策略",
- "components.AccessHelper.StorageMetaData.Clickhouse.PartitionFields": "分区字段",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.Clickhouse.Engine": "引擎",
- "components.AccessHelper.StorageMetaData.Clickhouse.OrderBy": "排序",
- "components.AccessHelper.StorageMetaData.Clickhouse.PartitionBy": "分区",
- "components.AccessHelper.StorageMetaData.Clickhouse.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.Clickhouse.CompressionCode": "压缩格式",
- "components.AccessHelper.StorageMetaData.Clickhouse.TtlExpr": "生命周期",
- "components.AccessHelper.StorageMetaData.Es.IndexName": "索引名称",
- "components.AccessHelper.StorageMetaData.Es.FlushInterval": "刷新的间隔",
- "components.AccessHelper.StorageMetaData.Es.FlushIntervalUnit": "秒",
- "components.AccessHelper.StorageMetaData.Es.FlushRecord": "刷新的数据条数",
- "components.AccessHelper.StorageMetaData.Es.FlushRecordUnit": "条",
- "components.AccessHelper.StorageMetaData.Es.RetryTimes": "重试次数",
- "components.AccessHelper.StorageMetaData.Es.RetryTimesUnit": "次",
- "components.AccessHelper.StorageMetaData.Es.Host": "主机地址",
- "components.AccessHelper.StorageMetaData.Es.Port": "端口",
- "components.AccessHelper.StorageMetaData.Es.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.Es.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Es.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.Es.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.Es.DateFormat": "日期格式",
- "components.AccessHelper.StorageMetaData.Kafka.Server": "服务器地址",
- "components.AccessHelper.StorageMetaData.Kafka.SerializationType": "序列化类型",
- "components.AccessHelper.StorageMetaData.Kafka.PartitionNum": "Topic分区数",
- "components.AccessHelper.StorageMetaData.Kafka.AutoOffsetReset": "自动偏移量重置",
- "components.AccessHelper.StorageMetaData.Iceberg.DbName": "DB名称",
- "components.AccessHelper.StorageMetaData.Iceberg.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.Iceberg.Warehouse": "仓库路径",
- "components.AccessHelper.StorageMetaData.Iceberg.FileFormat": "⽂件格式",
- "components.AccessHelper.StorageMetaData.Iceberg.Description": "表描述",
- "components.AccessHelper.StorageMetaData.Iceberg.ExtList": "属性",
- "components.AccessHelper.StorageMetaData.Iceberg.DataConsistency": "数据一致性",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.Iceberg.PartitionStrategy": "分区策略",
- "components.AccessHelper.StorageMetaData.Greenplum.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.Greenplum.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.Greenplum.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.MySQL.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.MySQL.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.MySQL.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.MySQL.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.MySQL.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.MySQL.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.MySQL.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.MySQL.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.Oracle.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.Oracle.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.Oracle.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.Oracle.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.Oracle.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.Oracle.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.Oracle.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.Oracle.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.PostgreSQL.DbName": "DB名称",
- "components.AccessHelper.StorageMetaData.PostgreSQL.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.PostgreSQL.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.PostgreSQL.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.SQLServer.SchemaName": "架构名称",
- "components.AccessHelper.StorageMetaData.SQLServer.AllMigration": "是否迁移所有数据库",
- "components.AccessHelper.StorageMetaData.SQLServer.ServerTimezone": "数组库时区",
- "components.AccessHelper.StorageMetaData.SQLServer.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.SQLServer.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.SQLServer.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.SchemaName": "架构名称",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.PrimaryKey": "主键",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldDescription": "字段描述",
- "components.AccessHelper.StorageMetaData.HBase.Namespace": "命名空间",
- "components.AccessHelper.StorageMetaData.HBase.TableName": "表名称",
- "components.AccessHelper.StorageMetaData.HBase.RowKey": "RowKey",
- "components.AccessHelper.StorageMetaData.HBase.ZkQuorum": "ZooKeeper 集群地址",
- "components.AccessHelper.StorageMetaData.HBase.ZkNodeParent": "ZooKeeper 根目录",
- "components.AccessHelper.StorageMetaData.HBase.BufferFlushMaxSize": "缓存刷新的最大容量",
- "components.AccessHelper.StorageMetaData.HBase.BufferFlushMaxRows": "缓存刷新的最大行数",
- "components.AccessHelper.StorageMetaData.HBase.BufferFlushInterval": "缓存区刷新间隔",
- "components.AccessHelper.StorageMetaData.HBase.FlushIntervalUnit": "秒",
- "components.AccessHelper.StorageMetaData.HBase.FieldName": "字段名",
- "components.AccessHelper.StorageMetaData.HBase.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.StorageMetaData.HBase.FieldType": "字段类型",
- "components.AccessHelper.StorageMetaData.HBase.IsMetaField": "是否为元字段",
- "components.AccessHelper.StorageMetaData.HBase.FieldFormat": "字段格式",
- "components.AccessHelper.StorageMetaData.HBase.FieldDescription": "字段描述",
- "components.AccessHelper.FieldsConfig.businessFields.Stripe/Second": "条/秒",
- "components.AccessHelper.FieldsConfig.businessFields.MessageMiddleware": "消息中间件",
- "components.AccessHelper.FieldsConfig.businessFields.AccessSize": "按天接入大小",
- "components.AccessHelper.FieldsConfig.businessFields.GB/Day": "GB/天",
- "components.AccessHelper.FieldsConfig.businessFields.BusinessIntroduction": "分组描述",
- "components.AccessHelper.FieldsConfig.businessFields.BusinessOwners": "分组责任人",
- "components.AccessHelper.FieldsConfig.businessFields.SingleStripMaximumLength": "单条最大长度",
- "components.AccessHelper.FieldsConfig.businessFields.thousand/day": "万条/天",
- "components.AccessHelper.FieldsConfig.businessFields.AccessPeakPerSecond": "每秒接入峰值",
- "components.AccessHelper.FieldsConfig.businessFields.InlongGroupId": "分组ID",
- "components.AccessHelper.FieldsConfig.businessFields.InlongGroupIdRules": "只能包含小写字母、数字、中划线、下划线",
- "components.AccessHelper.FieldsConfig.businessFields.InlongGroupName": "分组名称",
- "components.AccessHelper.FieldsConfig.businessFields.NumberOfAccess": "按天接入条数",
- "components.AccessHelper.FieldsConfig.businessFields.BusinessOwnersExtra": "分组责任人,可查看、修改分组信息",
- "components.AccessHelper.FieldsConfig.businessFields.QueueModule": "队列模型",
- "components.AccessHelper.FieldsConfig.businessFields.Parallel": "并行",
- "components.AccessHelper.FieldsConfig.businessFields.Serial": "顺序",
- "components.AccessHelper.FieldsConfig.businessFields.PartitionNum": "Topic分区数",
- "components.AccessHelper.FieldsConfig.businessFields.EnsembleSuffix": "节点数",
- "components.AccessHelper.FieldsConfig.businessFields.EnsembleExtra": "Topic保存到多少个节点,最高可配置10个",
- "components.AccessHelper.FieldsConfig.businessFields.WriteQuorumSuffix": "副本数",
- "components.AccessHelper.FieldsConfig.businessFields.WriteQuorumExtra": "每条消息保存多少个副本,最高可配置10个",
- "components.AccessHelper.FieldsConfig.businessFields.AckQuorumSuffix": "响应数",
- "components.AccessHelper.FieldsConfig.businessFields.AckQuorumExtra": "写请求成功所需的ack数,最高可配置10个",
- "components.AccessHelper.FieldsConfig.businessFields.RetentionTimeExtra": "处于ack状态的消息的保存时⻓,超过此值时消息会被删除(最多保留14天)",
- "components.AccessHelper.FieldsConfig.businessFields.TtlExtra": "消息的time-to-live时⻓,超过此值的消息会被标记为ack(最多保留14天)",
- "components.AccessHelper.FieldsConfig.businessFields.RetentionSizeExtra": "处于ack状态的消息容量,超过此值的消息会被删除(-1表示永不删除)",
- "components.AccessHelper.FieldsConfig.businessFields.DataCopyTitle": "数据副本信息",
- "components.AccessHelper.FieldsConfig.businessFields.DataStoragePeriodTitle": "数据存储周期信息",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamID": "数据流ID",
- "components.AccessHelper.FieldsConfig.dataFields.InlongStreamIdRules": "只能包含小写字母、数字、中划线、下划线",
- "components.AccessHelper.FieldsConfig.dataFields.fileDelimiter": "源数据字段分割符",
- "components.AccessHelper.FieldsConfig.dataFields.Asterisk": "星号(*)",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamName": "数据流名称",
- "components.AccessHelper.FieldsConfig.dataFields.FieldName": "字段名",
- "components.AccessHelper.FieldsConfig.dataFields.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
- "components.AccessHelper.FieldsConfig.dataFields.Semicolon": "分号(;)",
- "components.AccessHelper.FieldsConfig.dataFields.AutoConsumption": "自主消费",
- "components.AccessHelper.FieldsConfig.dataFields.DataFlowDirection": "数据流向",
- "components.AccessHelper.FieldsConfig.dataFields.DataType": "数据格式",
- "components.AccessHelper.FieldsConfig.dataFields.DataTypeCsvHelp": "CSV:按特定分隔符分隔的任意文件",
- "components.AccessHelper.FieldsConfig.dataFields.Source": "消息来源",
- "components.AccessHelper.FieldsConfig.dataFields.FieldType": "字段类型",
- "components.AccessHelper.FieldsConfig.dataFields.FieldComment": "字段描述",
- "components.AccessHelper.FieldsConfig.dataFields.DoubleQuotes": "双引号(\")",
- "components.AccessHelper.FieldsConfig.dataFields.DataEncoding": "数据编码",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamOwners": "责任人",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamOwnerHelp": "责任人可查看、修改数据流信息",
- "components.AccessHelper.FieldsConfig.dataFields.Space": "空格",
- "components.AccessHelper.FieldsConfig.dataFields.Comma": "逗号(,)",
- "components.AccessHelper.FieldsConfig.dataFields.DataFlowIntroduction": "介绍",
- "components.AccessHelper.FieldsConfig.dataFields.SourceDataField": "源数据字段",
- "components.AccessHelper.FieldsConfig.dataFields.VerticalLine": "竖线(|)",
- "components.AccessHelper.FieldsConfig.dataFields.File": "文件",
- "components.AccessHelper.FieldsConfig.dataFields.Autonomous": "自主推送",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.BusinessName": "分组名称",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.Select": "选择",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.Owners": "责任人",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.MyAccessBusiness": "我的数据分组",
- "components.ConsumeHelper.BusinessSelect.Search": "查询",
- "components.ConsumeHelper.FieldsConfig.basicFields.Consumption": "消费责任人",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupName": "消费组名称",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupNameRules": "只能包含小写字母、数字、中划线、下划线",
- "components.ConsumeHelper.FieldsConfig.basicFields.DataStreamIDsHelp": "多个数据流ID之间用逗号(,)隔开",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerDataStreamID": "消费的数据流ID",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerTargetBusinessID": "消费的数据分组ID",
- "components.ConsumeHelper.FieldsConfig.basicFields.No": "否",
- "components.ConsumeHelper.FieldsConfig.basicFields.filterEnabled": "是否过滤消费",
- "components.ConsumeHelper.FieldsConfig.basicFields.MasterAddress": "Master地址",
- "components.ConsumeHelper.FieldsConfig.basicFields.Yes": "是",
- "components.ConsumeHelper.FieldsConfig.basicFields.OwnersExtra": "消费责任人,可查看、修改消费信息",
+ "meta.Sinks.SinkName": "流向名称",
+ "meta.Sinks.SinkNameRule": "以英文字母开头,只能包含英文字母、数字、中划线、下划线",
+ "meta.Sinks.Description": "流向描述",
+ "meta.Sinks.SourceFieldName": "源字段名",
+ "meta.Sinks.SourceFieldType": "源字段类型",
+ "meta.Sinks.SourceFieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.Username": "用户名",
+ "meta.Sinks.Password": "密码",
+ "meta.Sinks.EnableCreateResource": "是否创建资源",
+ "meta.Sinks.EnableCreateResourceHelp": "如果库表已经存在,且无需修改,则选【不创建】,否则请选择【创建】,由系统自动创建资源。",
+ "meta.Sinks.Hive.FileFormat": "落地格式",
+ "meta.Sinks.Hive.Day": "天",
+ "meta.Sinks.Hive.DataEncoding": "数据编码",
+ "meta.Sinks.Hive.DataSeparator": "字段分隔符",
+ "meta.Sinks.Hive.PartitionFieldList": "分区字段",
+ "meta.Sinks.Hive.PartitionFieldListHelp": "字段类型若为timestamp,则必须设置此字段值的格式,支持 MICROSECONDS,MILLISECONDS,SECONDS,SQL,ISO_8601,以及自定义,比如:yyyy-MM-dd HH:mm:ss 等",
+ "meta.Sinks.Hive.DbName": "DB名称",
+ "meta.Sinks.Hive.TableName": "表名称",
+ "meta.Sinks.Hive.FieldNameRule": "以小写英文字母开头,只能包含小写英文字母、数字、下划线",
+ "meta.Sinks.Hive.ConnectionTest": "测试连接",
+ "meta.Sinks.Hive.ConnectionSucceeded": "连接成功",
+ "meta.Sinks.Hive.ConnectionFailed": "连接失败",
+ "meta.Sinks.Hive.DataPath": "数据路径",
+ "meta.Sinks.Hive.ConfDir": "配置路径",
+ "meta.Sinks.Hive.ConfDirHelp": "将 Hive 集群的 hive-site.xml 文件上传到 HDFS 的某个目录下,如:/user/hive/conf",
+ "meta.Sinks.DataPathHelp": "DB的存储路径,不包括表名,如:hdfs://127.0.0.1:9000/warehouse/inlong.db",
+ "meta.Sinks.Hive.FieldName": "字段名",
+ "meta.Sinks.Hive.FieldType": "字段类型",
+ "meta.Sinks.Hive.FieldDescription": "字段描述",
+ "meta.Sinks.Hive.IsMetaField": "是否为元字段",
+ "meta.Sinks.Hive.FieldFormat": "字段格式",
+ "meta.Sinks.Clickhouse.DbName": "DB名称",
+ "meta.Sinks.Clickhouse.TableName": "表名称",
+ "meta.Sinks.Clickhouse.FlushInterval": "刷新的间隔",
+ "meta.Sinks.Clickhouse.FlushIntervalUnit": "秒",
+ "meta.Sinks.Clickhouse.FlushRecord": "刷新的数据条数",
+ "meta.Sinks.Clickhouse.FlushRecordUnit": "条",
+ "meta.Sinks.Clickhouse.RetryTimes": "重试次数",
+ "meta.Sinks.Clickhouse.RetryTimesUnit": "次",
+ "meta.Sinks.Clickhouse.IsDistributed": "分布式表",
+ "meta.Sinks.Clickhouse.Yes": "是",
+ "meta.Sinks.Clickhouse.No": "否",
+ "meta.Sinks.Clickhouse.PartitionStrategy": "分区策略",
+ "meta.Sinks.Clickhouse.PartitionFields": "分区字段",
+ "meta.Sinks.Clickhouse.FieldName": "字段名",
+ "meta.Sinks.Clickhouse.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.Clickhouse.FieldType": "字段类型",
+ "meta.Sinks.Clickhouse.FieldDescription": "字段描述",
+ "meta.Sinks.Clickhouse.Engine": "引擎",
+ "meta.Sinks.Clickhouse.OrderBy": "排序",
+ "meta.Sinks.Clickhouse.PartitionBy": "分区",
+ "meta.Sinks.Clickhouse.PrimaryKey": "主键",
+ "meta.Sinks.Clickhouse.CompressionCode": "压缩格式",
+ "meta.Sinks.Clickhouse.TtlExpr": "生命周期",
+ "meta.Sinks.Es.IndexName": "索引名称",
+ "meta.Sinks.Es.FlushInterval": "刷新的间隔",
+ "meta.Sinks.Es.FlushIntervalUnit": "秒",
+ "meta.Sinks.Es.FlushRecord": "刷新的数据条数",
+ "meta.Sinks.Es.FlushRecordUnit": "条",
+ "meta.Sinks.Es.RetryTimes": "重试次数",
+ "meta.Sinks.Es.RetryTimesUnit": "次",
+ "meta.Sinks.Es.Host": "主机地址",
+ "meta.Sinks.Es.Port": "端口",
+ "meta.Sinks.Es.FieldName": "字段名",
+ "meta.Sinks.Es.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.Es.FieldType": "字段类型",
+ "meta.Sinks.Es.FieldDescription": "字段描述",
+ "meta.Sinks.Es.DateFormat": "日期格式",
+ "meta.Sinks.Kafka.Server": "服务器地址",
+ "meta.Sinks.Kafka.SerializationType": "序列化类型",
+ "meta.Sinks.Kafka.PartitionNum": "Topic分区数",
+ "meta.Sinks.Kafka.AutoOffsetReset": "自动偏移量重置",
+ "meta.Sinks.Iceberg.DbName": "DB名称",
+ "meta.Sinks.Iceberg.TableName": "表名称",
+ "meta.Sinks.Iceberg.Warehouse": "仓库路径",
+ "meta.Sinks.Iceberg.FileFormat": "⽂件格式",
+ "meta.Sinks.Iceberg.Description": "表描述",
+ "meta.Sinks.Iceberg.ExtList": "属性",
+ "meta.Sinks.Iceberg.DataConsistency": "数据一致性",
+ "meta.Sinks.Iceberg.FieldName": "字段名",
+ "meta.Sinks.Iceberg.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.Iceberg.FieldType": "字段类型",
+ "meta.Sinks.Iceberg.FieldDescription": "字段描述",
+ "meta.Sinks.Iceberg.PartitionStrategy": "分区策略",
+ "meta.Sinks.Greenplum.TableName": "表名称",
+ "meta.Sinks.Greenplum.PrimaryKey": "主键",
+ "meta.Sinks.Greenplum.FieldName": "字段名",
+ "meta.Sinks.Greenplum.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.Greenplum.FieldType": "字段类型",
+ "meta.Sinks.Greenplum.IsMetaField": "是否为元字段",
+ "meta.Sinks.Greenplum.FieldFormat": "字段格式",
+ "meta.Sinks.Greenplum.FieldDescription": "字段描述",
+ "meta.Sinks.MySQL.TableName": "表名称",
+ "meta.Sinks.MySQL.PrimaryKey": "主键",
+ "meta.Sinks.MySQL.FieldName": "字段名",
+ "meta.Sinks.MySQL.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.MySQL.FieldType": "字段类型",
+ "meta.Sinks.MySQL.IsMetaField": "是否为元字段",
+ "meta.Sinks.MySQL.FieldFormat": "字段格式",
+ "meta.Sinks.MySQL.FieldDescription": "字段描述",
+ "meta.Sinks.Oracle.TableName": "表名称",
+ "meta.Sinks.Oracle.PrimaryKey": "主键",
+ "meta.Sinks.Oracle.FieldName": "字段名",
+ "meta.Sinks.Oracle.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.Oracle.FieldType": "字段类型",
+ "meta.Sinks.Oracle.IsMetaField": "是否为元字段",
+ "meta.Sinks.Oracle.FieldFormat": "字段格式",
+ "meta.Sinks.Oracle.FieldDescription": "字段描述",
+ "meta.Sinks.PostgreSQL.DbName": "DB名称",
+ "meta.Sinks.PostgreSQL.TableName": "表名称",
+ "meta.Sinks.PostgreSQL.PrimaryKey": "主键",
+ "meta.Sinks.PostgreSQL.FieldName": "字段名",
+ "meta.Sinks.PostgreSQL.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.PostgreSQL.FieldType": "字段类型",
+ "meta.Sinks.PostgreSQL.IsMetaField": "是否为元字段",
+ "meta.Sinks.PostgreSQL.FieldFormat": "字段格式",
+ "meta.Sinks.PostgreSQL.FieldDescription": "字段描述",
+ "meta.Sinks.SQLServer.SchemaName": "架构名称",
+ "meta.Sinks.SQLServer.AllMigration": "是否迁移所有数据库",
+ "meta.Sinks.SQLServer.ServerTimezone": "数组库时区",
+ "meta.Sinks.SQLServer.TableName": "表名称",
+ "meta.Sinks.SQLServer.PrimaryKey": "主键",
+ "meta.Sinks.SQLServer.FieldName": "字段名",
+ "meta.Sinks.SQLServer.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.SQLServer.FieldType": "字段类型",
+ "meta.Sinks.SQLServer.IsMetaField": "是否为元字段",
+ "meta.Sinks.SQLServer.FieldFormat": "字段格式",
+ "meta.Sinks.SQLServer.FieldDescription": "字段描述",
+ "meta.Sinks.TDSQLPostgreSQL.SchemaName": "架构名称",
+ "meta.Sinks.TDSQLPostgreSQL.TableName": "表名称",
+ "meta.Sinks.TDSQLPostgreSQL.PrimaryKey": "主键",
+ "meta.Sinks.TDSQLPostgreSQL.FieldName": "字段名",
+ "meta.Sinks.TDSQLPostgreSQL.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.TDSQLPostgreSQL.FieldType": "字段类型",
+ "meta.Sinks.TDSQLPostgreSQL.IsMetaField": "是否为元字段",
+ "meta.Sinks.TDSQLPostgreSQL.FieldFormat": "字段格式",
+ "meta.Sinks.TDSQLPostgreSQL.FieldDescription": "字段描述",
+ "meta.Sinks.HBase.Namespace": "命名空间",
+ "meta.Sinks.HBase.TableName": "表名称",
+ "meta.Sinks.HBase.RowKey": "RowKey",
+ "meta.Sinks.HBase.ZkQuorum": "ZooKeeper 集群地址",
+ "meta.Sinks.HBase.ZkNodeParent": "ZooKeeper 根目录",
+ "meta.Sinks.HBase.BufferFlushMaxSize": "缓存刷新的最大容量",
+ "meta.Sinks.HBase.BufferFlushMaxRows": "缓存刷新的最大行数",
+ "meta.Sinks.HBase.BufferFlushInterval": "缓存区刷新间隔",
+ "meta.Sinks.HBase.FlushIntervalUnit": "秒",
+ "meta.Sinks.HBase.FieldName": "字段名",
+ "meta.Sinks.HBase.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
+ "meta.Sinks.HBase.FieldType": "字段类型",
+ "meta.Sinks.HBase.IsMetaField": "是否为元字段",
+ "meta.Sinks.HBase.FieldFormat": "字段格式",
+ "meta.Sinks.HBase.FieldDescription": "字段描述",
+ "meta.Group.Stripe/Second": "条/秒",
+ "meta.Group.MessageMiddleware": "消息中间件",
+ "meta.Group.AccessSize": "按天接入大小",
+ "meta.Group.GB/Day": "GB/天",
+ "meta.Group.BusinessIntroduction": "分组描述",
+ "meta.Group.BusinessOwners": "分组责任人",
+ "meta.Group.SingleStripMaximumLength": "单条最大长度",
+ "meta.Group.thousand/day": "万条/天",
+ "meta.Group.AccessPeakPerSecond": "每秒接入峰值",
+ "meta.Group.InlongGroupId": "分组ID",
+ "meta.Group.InlongGroupIdRules": "只能包含小写字母、数字、中划线、下划线",
+ "meta.Group.InlongGroupName": "分组名称",
+ "meta.Group.NumberOfAccess": "按天接入条数",
+ "meta.Group.BusinessOwnersExtra": "分组责任人,可查看、修改分组信息",
+ "meta.Group.QueueModule": "队列模型",
+ "meta.Group.Parallel": "并行",
+ "meta.Group.Serial": "顺序",
+ "meta.Group.PartitionNum": "Topic分区数",
+ "meta.Group.EnsembleSuffix": "节点数",
+ "meta.Group.EnsembleExtra": "Topic保存到多少个节点,最高可配置10个",
+ "meta.Group.WriteQuorumSuffix": "副本数",
+ "meta.Group.WriteQuorumExtra": "每条消息保存多少个副本,最高可配置10个",
+ "meta.Group.AckQuorumSuffix": "响应数",
+ "meta.Group.AckQuorumExtra": "写请求成功所需的ack数,最高可配置10个",
+ "meta.Group.RetentionTimeExtra": "处于ack状态的消息的保存时⻓,超过此值时消息会被删除(最多保留14天)",
+ "meta.Group.TtlExtra": "消息的time-to-live时⻓,超过此值的消息会被标记为ack(最多保留14天)",
+ "meta.Group.RetentionSizeExtra": "处于ack状态的消息容量,超过此值的消息会被删除(-1表示永不删除)",
+ "meta.Group.DataCopyTitle": "数据副本信息",
+ "meta.Group.DataStoragePeriodTitle": "数据存储周期信息",
+ "meta.Stream.DataStreamID": "数据流ID",
+ "meta.Stream.InlongStreamIdRules": "只能包含小写字母、数字、中划线、下划线",
+ "meta.Stream.fileDelimiter": "源数据字段分割符",
+ "meta.Stream.Asterisk": "星号(*)",
+ "meta.Stream.DataStreamName": "数据流名称",
+ "meta.Stream.FieldName": "字段名",
+ "meta.Stream.FieldNameRule": "以英文字母开头,只能包含英文字母、数字、下划线",
+ "meta.Stream.Semicolon": "分号(;)",
+ "meta.Stream.AutoConsumption": "自主消费",
+ "meta.Stream.DataFlowDirection": "数据流向",
+ "meta.Stream.DataType": "数据格式",
+ "meta.Stream.DataTypeCsvHelp": "CSV:按特定分隔符分隔的任意文件",
+ "meta.Stream.Source": "消息来源",
+ "meta.Stream.FieldType": "字段类型",
+ "meta.Stream.FieldComment": "字段描述",
+ "meta.Stream.DoubleQuotes": "双引号(\")",
+ "meta.Stream.DataEncoding": "数据编码",
+ "meta.Stream.DataStreamOwners": "责任人",
+ "meta.Stream.DataStreamOwnerHelp": "责任人可查看、修改数据流信息",
+ "meta.Stream.Space": "空格",
+ "meta.Stream.Comma": "逗号(,)",
+ "meta.Stream.DataFlowIntroduction": "介绍",
+ "meta.Stream.SourceDataField": "源数据字段",
+ "meta.Stream.VerticalLine": "竖线(|)",
+ "meta.Stream.File": "文件",
+ "meta.Stream.Autonomous": "自主推送",
+ "meta.Consumption.Owner": "消费责任人",
+ "meta.Consumption.ConsumerGroupName": "消费组名称",
+ "meta.Consumption.ConsumerGroupNameRules": "只能包含小写字母、数字、中划线、下划线",
+ "meta.Consumption.DataStreamIDsHelp": "多个数据流ID之间用逗号(,)隔开",
+ "meta.Consumption.ConsumerDataStreamID": "消费的数据流ID",
+ "meta.Consumption.ConsumerTargetBusinessID": "消费的数据分组ID",
+ "meta.Consumption.No": "否",
+ "meta.Consumption.filterEnabled": "是否过滤消费",
+ "meta.Consumption.MasterAddress": "Master地址",
+ "meta.Consumption.Yes": "是",
+ "meta.Consumption.OwnersExtra": "消费责任人,可查看、修改消费信息",
"components.EditableTable.NewLine": "新增一行",
"components.FormGenerator.plugins.PleaseChoose": "请选择",
"components.FormGenerator.plugins.PleaseInput": "请输入",
diff --git a/inlong-dashboard/src/locales/en.json b/inlong-dashboard/src/locales/en.json
index 226306f06..1ae3b44bc 100644
--- a/inlong-dashboard/src/locales/en.json
+++ b/inlong-dashboard/src/locales/en.json
@@ -17,248 +17,243 @@
"components.AccessHelper.DataSourcesEditor.NewDataSource": "New DataSource",
"components.AccessHelper.DataSourcesEditor.CreateModal.DataSourceName": "DataSource Name",
"components.AccessHelper.DataSourcesEditor.CreateModal.File": "File",
- "components.AccessHelper.DataSourceMetaData.File.SerializationType": "File type",
- "components.AccessHelper.DataSourceMetaData.File.DataSourceIP": "Data source IP",
- "components.AccessHelper.DataSourceMetaData.File.FilePath": "File path",
- "components.AccessHelper.DataSourceMetaData.File.FilePathHelp": "Must be an absolute path and support regular expressions, such as: /data/*.log",
- "components.AccessHelper.DataSourceMetaData.File.IpRule": "Please enter the IP address correctly",
- "components.AccessHelper.DataSourceMetaData.File.TimeOffset": "Time offset",
- "components.AccessHelper.DataSourceMetaData.File.TimeOffsetHelp": "The file will be collected from a certain time,' 1m' means 1 minute later,' -1m' means 1 minute before, and m(minute), h(hour), d(day) are supported. If it is empty, the file will be collected from the current time",
- "components.AccessHelper.DataSourceMetaData.Db.Server": "Server",
- "components.AccessHelper.DataSourceMetaData.Db.Port": "Port",
- "components.AccessHelper.DataSourceMetaData.Db.ServerTimezone": "Timezone",
- "components.AccessHelper.DataSourceMetaData.Db.IntervalMs": "Recording Offset",
- "components.AccessHelper.DataSourceMetaData.Db.User": "User",
- "components.AccessHelper.DataSourceMetaData.Db.Password": "Password",
- "components.AccessHelper.DataSourceMetaData.Db.HistoryFilename": "History Filename",
- "components.AccessHelper.DataSourceMetaData.Db.AllMigration": "Migration Total Database",
- "components.AccessHelper.DataSourceMetaData.Db.DatabaseWhiteList": "Database WhiteList",
- "components.AccessHelper.DataSourceMetaData.Db.TableWhiteList": "Table WhiteList",
- "components.AccessHelper.DataSourceMetaData.Db.WhiteListHelp": "Multiple whitelists are separated by commas, each of which is a regular expression, for example b1,b*",
+ "meta.Sources.File.SerializationType": "File type",
+ "meta.Sources.File.DataSourceIP": "Data source IP",
+ "meta.Sources.File.FilePath": "File path",
+ "meta.Sources.File.FilePathHelp": "Must be an absolute path and support regular expressions, such as: /data/*.log",
+ "meta.Sources.File.IpRule": "Please enter the IP address correctly",
+ "meta.Sources.File.TimeOffset": "Time offset",
+ "meta.Sources.File.TimeOffsetHelp": "The file will be collected from a certain time,' 1m' means 1 minute later,' -1m' means 1 minute before, and m(minute), h(hour), d(day) are supported. If it is empty, the file will be collected from the current time",
+ "meta.Sources.Db.Server": "Server",
+ "meta.Sources.Db.Port": "Port",
+ "meta.Sources.Db.ServerTimezone": "Timezone",
+ "meta.Sources.Db.IntervalMs": "Recording Offset",
+ "meta.Sources.Db.User": "User",
+ "meta.Sources.Db.Password": "Password",
+ "meta.Sources.Db.HistoryFilename": "History Filename",
+ "meta.Sources.Db.AllMigration": "Migration Total Database",
+ "meta.Sources.Db.DatabaseWhiteList": "Database WhiteList",
+ "meta.Sources.Db.TableWhiteList": "Table WhiteList",
+ "meta.Sources.Db.WhiteListHelp": "Multiple whitelists are separated by commas, each of which is a regular expression, for example b1,b*",
"components.AccessHelper.DataStorageEditor.Editor.AddTo": "Add",
- "components.AccessHelper.StorageMetaData.SinkName": "SinkName",
- "components.AccessHelper.StorageMetaData.SinkNameRule": "At the beginning of English letters, only English letters, numbers, minus, and underscores",
- "components.AccessHelper.StorageMetaData.Description": "SinkDescription",
- "components.AccessHelper.StorageMetaData.SourceFieldName": "SourceFieldName",
- "components.AccessHelper.StorageMetaData.SourceFieldType": "SourceFieldType",
- "components.AccessHelper.StorageMetaData.SourceFieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Username": "Username",
- "components.AccessHelper.StorageMetaData.Password": "Password",
- "components.AccessHelper.StorageMetaData.EnableCreateResource": "EnableCreateResource",
- "components.AccessHelper.StorageMetaData.EnableCreateResourceHelp": "If the library table already exists and does not need to be modified, select [Do not create], otherwise select [Create], and the system will automatically create the resource.",
- "components.AccessHelper.StorageMetaData.Hive.FileFormat": "File format",
- "components.AccessHelper.StorageMetaData.Hive.Day": "Day(s)",
- "components.AccessHelper.StorageMetaData.Hive.DataEncoding": "Data encoding",
- "components.AccessHelper.StorageMetaData.Hive.DataSeparator": "Data separator",
- "components.AccessHelper.StorageMetaData.Hive.PartitionFieldList": "PartitionFieldList",
- "components.AccessHelper.StorageMetaData.Hive.PartitionFieldListHelp": "If the field type is timestamp, you must set the format of the field value, support MICROSECONDS, MILLISECONDS, SECONDS, SQL, ISO_8601, and custom, such as: yyyy-MM-dd HH:mm:ss, etc.",
- "components.AccessHelper.StorageMetaData.Hive.DbName": "DbName",
- "components.AccessHelper.StorageMetaData.Hive.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.Hive.FieldNameRule": "At the beginning of lowercase letters, only lowercase letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Hive.ConnectionTest": "Test connection",
- "components.AccessHelper.StorageMetaData.Hive.ConnectionSucceeded": "Connection succeeded",
- "components.AccessHelper.StorageMetaData.Hive.ConnectionFailed": "Connection failed",
- "components.AccessHelper.StorageMetaData.Hive.DataPath": "DataPath",
- "components.AccessHelper.StorageMetaData.Hive.ConfDir": "ConfDir",
- "components.AccessHelper.StorageMetaData.Hive.ConfDirHelp": "Upload the hive-site.xml file of the Hive cluster to a directory in HDFS, such as: /user/hive/conf",
- "components.AccessHelper.StorageMetaData.DataPathHelp": "Storage path of the DB, excluding the table name, such as: hdfs://127.0.0.1:9000/warehouse/inlong.db",
- "components.AccessHelper.StorageMetaData.Hive.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.Hive.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.Hive.FieldDescription": "Field description",
- "components.AccessHelper.StorageMetaData.Hive.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.Hive.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.Clickhouse.DbName": "DbName",
- "components.AccessHelper.StorageMetaData.Clickhouse.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushInterval": "FlushInterval",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushIntervalUnit": "S",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushRecord": "FlushRecord",
- "components.AccessHelper.StorageMetaData.Clickhouse.FlushRecordUnit": "items",
- "components.AccessHelper.StorageMetaData.Clickhouse.RetryTimes": "RetryTimes",
- "components.AccessHelper.StorageMetaData.Clickhouse.RetryTimesUnit": "items",
- "components.AccessHelper.StorageMetaData.Clickhouse.IsDistributed": "IsDistributedTable",
- "components.AccessHelper.StorageMetaData.Clickhouse.Yes": "Yes",
- "components.AccessHelper.StorageMetaData.Clickhouse.No": "No",
- "components.AccessHelper.StorageMetaData.Clickhouse.PartitionStrategy": "PartitionStrategy",
- "components.AccessHelper.StorageMetaData.Clickhouse.PartitionFields": "PartitionFields",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.Clickhouse.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.Clickhouse.Engine": "Engine",
- "components.AccessHelper.StorageMetaData.Clickhouse.OrderBy": "OrderBy",
- "components.AccessHelper.StorageMetaData.Clickhouse.PartitionBy": "PartitionBy",
- "components.AccessHelper.StorageMetaData.Clickhouse.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.Clickhouse.CompressionCode": "CompressionCode",
- "components.AccessHelper.StorageMetaData.Clickhouse.TtlExpr": "TtlExpr",
- "components.AccessHelper.StorageMetaData.Es.IndexName": "IndexName",
- "components.AccessHelper.StorageMetaData.Es.FlushInterval": "FlushInterval",
- "components.AccessHelper.StorageMetaData.Es.FlushIntervalUnit": "S",
- "components.AccessHelper.StorageMetaData.Es.FlushRecord": "FlushRecord",
- "components.AccessHelper.StorageMetaData.Es.FlushRecordUnit": "items",
- "components.AccessHelper.StorageMetaData.Es.RetryTimes": "RetryTimes",
- "components.AccessHelper.StorageMetaData.Es.RetryTimesUnit": "items",
- "components.AccessHelper.StorageMetaData.Es.Host": "Host",
- "components.AccessHelper.StorageMetaData.Es.Port": "Port",
- "components.AccessHelper.StorageMetaData.Es.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.Es.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Es.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.Es.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.Es.DateFormat": "DateFormat",
- "components.AccessHelper.StorageMetaData.Kafka.Server": "Server",
- "components.AccessHelper.StorageMetaData.Kafka.SerializationType": "SerializationType",
- "components.AccessHelper.StorageMetaData.Kafka.PartitionNum": "PartitionNum",
- "components.AccessHelper.StorageMetaData.Kafka.AutoOffsetReset": "AutoOffsetReset",
- "components.AccessHelper.StorageMetaData.Iceberg.DbName": "DbName",
- "components.AccessHelper.StorageMetaData.Iceberg.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.Iceberg.Warehouse": "Warehouse",
- "components.AccessHelper.StorageMetaData.Iceberg.FileFormat": "FileFormat",
- "components.AccessHelper.StorageMetaData.Iceberg.Description": "Description",
- "components.AccessHelper.StorageMetaData.Iceberg.ExtList": "ExtList",
- "components.AccessHelper.StorageMetaData.Iceberg.DataConsistency": "DataConsistency",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldNameRule": "At the beginning of English letters or underscore, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.Iceberg.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.Iceberg.PartitionStrategy": "PartitionStrategy",
- "components.AccessHelper.StorageMetaData.Greenplum.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.Greenplum.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.Greenplum.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.Greenplum.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.MySQL.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.MySQL.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.MySQL.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.MySQL.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.MySQL.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.MySQL.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.MySQL.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.MySQL.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.Oracle.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.Oracle.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.Oracle.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.Oracle.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.Oracle.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.Oracle.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.Oracle.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.Oracle.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.PostgreSQL.DbName": "DbName",
- "components.AccessHelper.StorageMetaData.PostgreSQL.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.PostgreSQL.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.PostgreSQL.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.PostgreSQL.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.SQLServer.SchemaName": "SchemaName",
- "components.AccessHelper.StorageMetaData.SQLServer.AllMigration": "AllMigration",
- "components.AccessHelper.StorageMetaData.SQLServer.ServerTimezone": "ServerTimezone",
- "components.AccessHelper.StorageMetaData.SQLServer.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.SQLServer.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.SQLServer.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.SQLServer.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.SchemaName": "SchemaName",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.PrimaryKey": "PrimaryKey",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldDescription": "FieldDescription",
- "components.AccessHelper.StorageMetaData.HBase.Namespace": "Namespace",
- "components.AccessHelper.StorageMetaData.HBase.TableName": "TableName",
- "components.AccessHelper.StorageMetaData.HBase.RowKey": "RowKey",
- "components.AccessHelper.StorageMetaData.HBase.ZkQuorum": "ZooKeeper address",
- "components.AccessHelper.StorageMetaData.HBase.ZkNodeParent": "ZooKeeper node parent",
- "components.AccessHelper.StorageMetaData.HBase.BufferFlushMaxSize": "Buffer flush max size",
- "components.AccessHelper.StorageMetaData.HBase.BufferFlushMaxRows": "Buffer flush max rows",
- "components.AccessHelper.StorageMetaData.HBase.BufferFlushInterval": "Buffer flush interval",
- "components.AccessHelper.StorageMetaData.HBase.FlushIntervalUnit": "S",
- "components.AccessHelper.StorageMetaData.HBase.FieldName": "FieldName",
- "components.AccessHelper.StorageMetaData.HBase.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.StorageMetaData.HBase.FieldType": "FieldType",
- "components.AccessHelper.StorageMetaData.HBase.IsMetaField": "IsMetaField",
- "components.AccessHelper.StorageMetaData.HBase.FieldFormat": "FieldFormat",
- "components.AccessHelper.StorageMetaData.HBase.FieldDescription": "FieldDescription",
- "components.AccessHelper.FieldsConfig.businessFields.Stripe/Second": "Stripe / S",
- "components.AccessHelper.FieldsConfig.businessFields.MessageMiddleware": "Middleware",
- "components.AccessHelper.FieldsConfig.businessFields.AccessSize": "Access Size",
- "components.AccessHelper.FieldsConfig.businessFields.GB/Day": "GB / Day",
- "components.AccessHelper.FieldsConfig.businessFields.BusinessIntroduction": "Description",
- "components.AccessHelper.FieldsConfig.businessFields.BusinessOwners": "Group Owners",
- "components.AccessHelper.FieldsConfig.businessFields.SingleStripMaximumLength": "Single Max Length",
- "components.AccessHelper.FieldsConfig.businessFields.thousand/day": "Ten Thousand / day",
- "components.AccessHelper.FieldsConfig.businessFields.AccessPeakPerSecond": "PeakRecords",
- "components.AccessHelper.FieldsConfig.businessFields.InlongGroupId": "Group ID",
- "components.AccessHelper.FieldsConfig.businessFields.InlongGroupIdRules": "Only lowercase letters, numbers, minus, and underscores",
- "components.AccessHelper.FieldsConfig.businessFields.InlongGroupName": "Group Name",
- "components.AccessHelper.FieldsConfig.businessFields.NumberOfAccess": "Number of Access",
- "components.AccessHelper.FieldsConfig.businessFields.BusinessOwnersExtra": "Group in charges, they can view, modify Group information",
- "components.AccessHelper.FieldsConfig.businessFields.QueueModule": "Queue Module",
- "components.AccessHelper.FieldsConfig.businessFields.Parallel": "Parallel",
- "components.AccessHelper.FieldsConfig.businessFields.Serial": "Serial",
- "components.AccessHelper.FieldsConfig.businessFields.PartitionNum": "Topic Part Nums",
- "components.AccessHelper.FieldsConfig.businessFields.EnsembleSuffix": "Number of nodes",
- "components.AccessHelper.FieldsConfig.businessFields.EnsembleExtra": "How many nodes are Topic saved to, up to 10 can be configured",
- "components.AccessHelper.FieldsConfig.businessFields.WriteQuorumSuffix": "Number of copies",
- "components.AccessHelper.FieldsConfig.businessFields.WriteQuorumExtra": "How many copies of each message are saved, up to 10 can be configured",
- "components.AccessHelper.FieldsConfig.businessFields.AckQuorumSuffix": "Number of responses",
- "components.AccessHelper.FieldsConfig.businessFields.AckQuorumExtra": "The number of ack required for a successful write request, up to 10 can be configured",
- "components.AccessHelper.FieldsConfig.businessFields.RetentionTimeExtra": "The save time of the message in the ack state, the message will be deleted when this value is exceeded (up to 14 days)",
- "components.AccessHelper.FieldsConfig.businessFields.TtlExtra": "The time-to-live time of the message, messages exceeding this value will be marked as ack (retained for up to 14 days)",
- "components.AccessHelper.FieldsConfig.businessFields.RetentionSizeExtra": "Message capacity in ack state, messages exceeding this value will be deleted (-1 means never delete)",
- "components.AccessHelper.FieldsConfig.businessFields.DataCopyTitle": "Data copy information",
- "components.AccessHelper.FieldsConfig.businessFields.DataStoragePeriodTitle": "Data storage period information",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamID": "Inlong stream ID",
- "components.AccessHelper.FieldsConfig.dataFields.InlongStreamIdRules": "Only lowercase letters, numbers, minus, and underscores",
- "components.AccessHelper.FieldsConfig.dataFields.fileDelimiter": "Source data fileDelimiter",
- "components.AccessHelper.FieldsConfig.dataFields.Asterisk": "Asterisk(*)",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamName": "Stream name",
- "components.AccessHelper.FieldsConfig.dataFields.FieldName": "Field name",
- "components.AccessHelper.FieldsConfig.dataFields.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
- "components.AccessHelper.FieldsConfig.dataFields.Semicolon": "Semicolon(;)",
- "components.AccessHelper.FieldsConfig.dataFields.AutoConsumption": "Auto Consumption",
- "components.AccessHelper.FieldsConfig.dataFields.DataFlowDirection": "Stream direction",
- "components.AccessHelper.FieldsConfig.dataFields.DataType": "DataType",
- "components.AccessHelper.FieldsConfig.dataFields.DataTypeCsvHelp": "CSV: Any file separated by a specific delimiter",
- "components.AccessHelper.FieldsConfig.dataFields.Source": "Source",
- "components.AccessHelper.FieldsConfig.dataFields.FieldType": "FieldType",
- "components.AccessHelper.FieldsConfig.dataFields.FieldComment": "FieldComment",
- "components.AccessHelper.FieldsConfig.dataFields.DoubleQuotes": "Double quotes(\")",
- "components.AccessHelper.FieldsConfig.dataFields.DataEncoding": "Data encoding",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamOwners": "Owners",
- "components.AccessHelper.FieldsConfig.dataFields.DataStreamOwnerHelp": "Owners can view and modify data flow information",
- "components.AccessHelper.FieldsConfig.dataFields.Space": "Space",
- "components.AccessHelper.FieldsConfig.dataFields.Comma": "Comma(,)",
- "components.AccessHelper.FieldsConfig.dataFields.DataFlowIntroduction": "Description",
- "components.AccessHelper.FieldsConfig.dataFields.SourceDataField": "Source data field",
- "components.AccessHelper.FieldsConfig.dataFields.VerticalLine": "Vertical line (|)",
- "components.AccessHelper.FieldsConfig.dataFields.File": "File",
- "components.AccessHelper.FieldsConfig.dataFields.Autonomous": "Auto Push",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.BusinessName": "Group Name",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.Select": "Select",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.Owners": "Owners",
- "components.ConsumeHelper.BusinessSelect.MyBusinessModal.MyAccessBusiness": "My Data Streams Group",
- "components.ConsumeHelper.BusinessSelect.Search": "Search",
- "components.ConsumeHelper.FieldsConfig.basicFields.Consumption": "Consumption",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupName": "Consumer group name",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupNameRules": "Only lowercase letters, numbers, minus, and underscores",
- "components.ConsumeHelper.FieldsConfig.basicFields.DataStreamIDsHelp": "Inlong stream IDs are divided by commas;",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerDataStreamID": "Consumer data stream ID",
- "components.ConsumeHelper.FieldsConfig.basicFields.ConsumerTargetBusinessID": "Consume Group ID",
- "components.ConsumeHelper.FieldsConfig.basicFields.No": "No",
- "components.ConsumeHelper.FieldsConfig.basicFields.filterEnabled": "FilterEnabled",
- "components.ConsumeHelper.FieldsConfig.basicFields.MasterAddress": "Master address",
- "components.ConsumeHelper.FieldsConfig.basicFields.Yes": "Yes",
- "components.ConsumeHelper.FieldsConfig.basicFields.OwnersExtra": "Consumption in charges, they can view, modify consumption information",
+ "meta.Sinks.SinkName": "SinkName",
+ "meta.Sinks.SinkNameRule": "At the beginning of English letters, only English letters, numbers, minus, and underscores",
+ "meta.Sinks.Description": "SinkDescription",
+ "meta.Sinks.SourceFieldName": "SourceFieldName",
+ "meta.Sinks.SourceFieldType": "SourceFieldType",
+ "meta.Sinks.SourceFieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.Username": "Username",
+ "meta.Sinks.Password": "Password",
+ "meta.Sinks.EnableCreateResource": "EnableCreateResource",
+ "meta.Sinks.EnableCreateResourceHelp": "If the library table already exists and does not need to be modified, select [Do not create], otherwise select [Create], and the system will automatically create the resource.",
+ "meta.Sinks.Hive.FileFormat": "File format",
+ "meta.Sinks.Hive.Day": "Day(s)",
+ "meta.Sinks.Hive.DataEncoding": "Data encoding",
+ "meta.Sinks.Hive.DataSeparator": "Data separator",
+ "meta.Sinks.Hive.PartitionFieldList": "PartitionFieldList",
+ "meta.Sinks.Hive.PartitionFieldListHelp": "If the field type is timestamp, you must set the format of the field value, support MICROSECONDS, MILLISECONDS, SECONDS, SQL, ISO_8601, and custom, such as: yyyy-MM-dd HH:mm:ss, etc.",
+ "meta.Sinks.Hive.DbName": "DbName",
+ "meta.Sinks.Hive.TableName": "TableName",
+ "meta.Sinks.Hive.FieldNameRule": "At the beginning of lowercase letters, only lowercase letters, numbers, and underscores",
+ "meta.Sinks.Hive.ConnectionTest": "Test connection",
+ "meta.Sinks.Hive.ConnectionSucceeded": "Connection succeeded",
+ "meta.Sinks.Hive.ConnectionFailed": "Connection failed",
+ "meta.Sinks.Hive.DataPath": "DataPath",
+ "meta.Sinks.Hive.ConfDir": "ConfDir",
+ "meta.Sinks.Hive.ConfDirHelp": "Upload the hive-site.xml file of the Hive cluster to a directory in HDFS, such as: /user/hive/conf",
+ "meta.Sinks.DataPathHelp": "Storage path of the DB, excluding the table name, such as: hdfs://127.0.0.1:9000/warehouse/inlong.db",
+ "meta.Sinks.Hive.FieldName": "FieldName",
+ "meta.Sinks.Hive.FieldType": "FieldType",
+ "meta.Sinks.Hive.FieldDescription": "Field description",
+ "meta.Sinks.Hive.IsMetaField": "IsMetaField",
+ "meta.Sinks.Hive.FieldFormat": "FieldFormat",
+ "meta.Sinks.Clickhouse.DbName": "DbName",
+ "meta.Sinks.Clickhouse.TableName": "TableName",
+ "meta.Sinks.Clickhouse.FlushInterval": "FlushInterval",
+ "meta.Sinks.Clickhouse.FlushIntervalUnit": "S",
+ "meta.Sinks.Clickhouse.FlushRecord": "FlushRecord",
+ "meta.Sinks.Clickhouse.FlushRecordUnit": "items",
+ "meta.Sinks.Clickhouse.RetryTimes": "RetryTimes",
+ "meta.Sinks.Clickhouse.RetryTimesUnit": "items",
+ "meta.Sinks.Clickhouse.IsDistributed": "IsDistributedTable",
+ "meta.Sinks.Clickhouse.Yes": "Yes",
+ "meta.Sinks.Clickhouse.No": "No",
+ "meta.Sinks.Clickhouse.PartitionStrategy": "PartitionStrategy",
+ "meta.Sinks.Clickhouse.PartitionFields": "PartitionFields",
+ "meta.Sinks.Clickhouse.FieldName": "FieldName",
+ "meta.Sinks.Clickhouse.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.Clickhouse.FieldType": "FieldType",
+ "meta.Sinks.Clickhouse.FieldDescription": "FieldDescription",
+ "meta.Sinks.Clickhouse.Engine": "Engine",
+ "meta.Sinks.Clickhouse.OrderBy": "OrderBy",
+ "meta.Sinks.Clickhouse.PartitionBy": "PartitionBy",
+ "meta.Sinks.Clickhouse.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.Clickhouse.CompressionCode": "CompressionCode",
+ "meta.Sinks.Clickhouse.TtlExpr": "TtlExpr",
+ "meta.Sinks.Es.IndexName": "IndexName",
+ "meta.Sinks.Es.FlushInterval": "FlushInterval",
+ "meta.Sinks.Es.FlushIntervalUnit": "S",
+ "meta.Sinks.Es.FlushRecord": "FlushRecord",
+ "meta.Sinks.Es.FlushRecordUnit": "items",
+ "meta.Sinks.Es.RetryTimes": "RetryTimes",
+ "meta.Sinks.Es.RetryTimesUnit": "items",
+ "meta.Sinks.Es.Host": "Host",
+ "meta.Sinks.Es.Port": "Port",
+ "meta.Sinks.Es.FieldName": "FieldName",
+ "meta.Sinks.Es.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.Es.FieldType": "FieldType",
+ "meta.Sinks.Es.FieldDescription": "FieldDescription",
+ "meta.Sinks.Es.DateFormat": "DateFormat",
+ "meta.Sinks.Kafka.Server": "Server",
+ "meta.Sinks.Kafka.SerializationType": "SerializationType",
+ "meta.Sinks.Kafka.PartitionNum": "PartitionNum",
+ "meta.Sinks.Kafka.AutoOffsetReset": "AutoOffsetReset",
+ "meta.Sinks.Iceberg.DbName": "DbName",
+ "meta.Sinks.Iceberg.TableName": "TableName",
+ "meta.Sinks.Iceberg.Warehouse": "Warehouse",
+ "meta.Sinks.Iceberg.FileFormat": "FileFormat",
+ "meta.Sinks.Iceberg.Description": "Description",
+ "meta.Sinks.Iceberg.ExtList": "ExtList",
+ "meta.Sinks.Iceberg.DataConsistency": "DataConsistency",
+ "meta.Sinks.Iceberg.FieldName": "FieldName",
+ "meta.Sinks.Iceberg.FieldNameRule": "At the beginning of English letters or underscore, only English letters, numbers, and underscores",
+ "meta.Sinks.Iceberg.FieldType": "FieldType",
+ "meta.Sinks.Iceberg.FieldDescription": "FieldDescription",
+ "meta.Sinks.Iceberg.PartitionStrategy": "PartitionStrategy",
+ "meta.Sinks.Greenplum.TableName": "TableName",
+ "meta.Sinks.Greenplum.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.Greenplum.FieldName": "FieldName",
+ "meta.Sinks.Greenplum.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.Greenplum.FieldType": "FieldType",
+ "meta.Sinks.Greenplum.IsMetaField": "IsMetaField",
+ "meta.Sinks.Greenplum.FieldFormat": "FieldFormat",
+ "meta.Sinks.Greenplum.FieldDescription": "FieldDescription",
+ "meta.Sinks.MySQL.TableName": "TableName",
+ "meta.Sinks.MySQL.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.MySQL.FieldName": "FieldName",
+ "meta.Sinks.MySQL.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.MySQL.FieldType": "FieldType",
+ "meta.Sinks.MySQL.IsMetaField": "IsMetaField",
+ "meta.Sinks.MySQL.FieldFormat": "FieldFormat",
+ "meta.Sinks.MySQL.FieldDescription": "FieldDescription",
+ "meta.Sinks.Oracle.TableName": "TableName",
+ "meta.Sinks.Oracle.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.Oracle.FieldName": "FieldName",
+ "meta.Sinks.Oracle.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.Oracle.FieldType": "FieldType",
+ "meta.Sinks.Oracle.IsMetaField": "IsMetaField",
+ "meta.Sinks.Oracle.FieldFormat": "FieldFormat",
+ "meta.Sinks.Oracle.FieldDescription": "FieldDescription",
+ "meta.Sinks.PostgreSQL.DbName": "DbName",
+ "meta.Sinks.PostgreSQL.TableName": "TableName",
+ "meta.Sinks.PostgreSQL.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.PostgreSQL.FieldName": "FieldName",
+ "meta.Sinks.PostgreSQL.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.PostgreSQL.FieldType": "FieldType",
+ "meta.Sinks.PostgreSQL.IsMetaField": "IsMetaField",
+ "meta.Sinks.PostgreSQL.FieldFormat": "FieldFormat",
+ "meta.Sinks.PostgreSQL.FieldDescription": "FieldDescription",
+ "meta.Sinks.SQLServer.SchemaName": "SchemaName",
+ "meta.Sinks.SQLServer.AllMigration": "AllMigration",
+ "meta.Sinks.SQLServer.ServerTimezone": "ServerTimezone",
+ "meta.Sinks.SQLServer.TableName": "TableName",
+ "meta.Sinks.SQLServer.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.SQLServer.FieldName": "FieldName",
+ "meta.Sinks.SQLServer.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.SQLServer.FieldType": "FieldType",
+ "meta.Sinks.SQLServer.IsMetaField": "IsMetaField",
+ "meta.Sinks.SQLServer.FieldFormat": "FieldFormat",
+ "meta.Sinks.SQLServer.FieldDescription": "FieldDescription",
+ "meta.Sinks.TDSQLPostgreSQL.SchemaName": "SchemaName",
+ "meta.Sinks.TDSQLPostgreSQL.TableName": "TableName",
+ "meta.Sinks.TDSQLPostgreSQL.PrimaryKey": "PrimaryKey",
+ "meta.Sinks.TDSQLPostgreSQL.FieldName": "FieldName",
+ "meta.Sinks.TDSQLPostgreSQL.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.TDSQLPostgreSQL.FieldType": "FieldType",
+ "meta.Sinks.TDSQLPostgreSQL.IsMetaField": "IsMetaField",
+ "meta.Sinks.TDSQLPostgreSQL.FieldFormat": "FieldFormat",
+ "meta.Sinks.TDSQLPostgreSQL.FieldDescription": "FieldDescription",
+ "meta.Sinks.HBase.Namespace": "Namespace",
+ "meta.Sinks.HBase.TableName": "TableName",
+ "meta.Sinks.HBase.RowKey": "RowKey",
+ "meta.Sinks.HBase.ZkQuorum": "ZooKeeper address",
+ "meta.Sinks.HBase.ZkNodeParent": "ZooKeeper node parent",
+ "meta.Sinks.HBase.BufferFlushMaxSize": "Buffer flush max size",
+ "meta.Sinks.HBase.BufferFlushMaxRows": "Buffer flush max rows",
+ "meta.Sinks.HBase.BufferFlushInterval": "Buffer flush interval",
+ "meta.Sinks.HBase.FlushIntervalUnit": "S",
+ "meta.Sinks.HBase.FieldName": "FieldName",
+ "meta.Sinks.HBase.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Sinks.HBase.FieldType": "FieldType",
+ "meta.Sinks.HBase.IsMetaField": "IsMetaField",
+ "meta.Sinks.HBase.FieldFormat": "FieldFormat",
+ "meta.Sinks.HBase.FieldDescription": "FieldDescription",
+ "meta.Group.Stripe/Second": "Stripe / S",
+ "meta.Group.MessageMiddleware": "Middleware",
+ "meta.Group.AccessSize": "Access Size",
+ "meta.Group.GB/Day": "GB / Day",
+ "meta.Group.BusinessIntroduction": "Description",
+ "meta.Group.BusinessOwners": "Group Owners",
+ "meta.Group.SingleStripMaximumLength": "Single Max Length",
+ "meta.Group.thousand/day": "Ten Thousand / day",
+ "meta.Group.AccessPeakPerSecond": "PeakRecords",
+ "meta.Group.InlongGroupId": "Group ID",
+ "meta.Group.InlongGroupIdRules": "Only lowercase letters, numbers, minus, and underscores",
+ "meta.Group.InlongGroupName": "Group Name",
+ "meta.Group.NumberOfAccess": "Number of Access",
+ "meta.Group.BusinessOwnersExtra": "Group in charges, they can view, modify Group information",
+ "meta.Group.QueueModule": "Queue Module",
+ "meta.Group.Parallel": "Parallel",
+ "meta.Group.Serial": "Serial",
+ "meta.Group.PartitionNum": "Topic Part Nums",
+ "meta.Group.EnsembleSuffix": "Number of nodes",
+ "meta.Group.EnsembleExtra": "How many nodes are Topic saved to, up to 10 can be configured",
+ "meta.Group.WriteQuorumSuffix": "Number of copies",
+ "meta.Group.WriteQuorumExtra": "How many copies of each message are saved, up to 10 can be configured",
+ "meta.Group.AckQuorumSuffix": "Number of responses",
+ "meta.Group.AckQuorumExtra": "The number of ack required for a successful write request, up to 10 can be configured",
+ "meta.Group.RetentionTimeExtra": "The save time of the message in the ack state, the message will be deleted when this value is exceeded (up to 14 days)",
+ "meta.Group.TtlExtra": "The time-to-live time of the message, messages exceeding this value will be marked as ack (retained for up to 14 days)",
+ "meta.Group.RetentionSizeExtra": "Message capacity in ack state, messages exceeding this value will be deleted (-1 means never delete)",
+ "meta.Group.DataCopyTitle": "Data copy information",
+ "meta.Group.DataStoragePeriodTitle": "Data storage period information",
+ "meta.Stream.DataStreamID": "Inlong stream ID",
+ "meta.Stream.InlongStreamIdRules": "Only lowercase letters, numbers, minus, and underscores",
+ "meta.Stream.fileDelimiter": "Source data fileDelimiter",
+ "meta.Stream.Asterisk": "Asterisk(*)",
+ "meta.Stream.DataStreamName": "Stream name",
+ "meta.Stream.FieldName": "Field name",
+ "meta.Stream.FieldNameRule": "At the beginning of English letters, only English letters, numbers, and underscores",
+ "meta.Stream.Semicolon": "Semicolon(;)",
+ "meta.Stream.AutoConsumption": "Auto Consumption",
+ "meta.Stream.DataFlowDirection": "Stream direction",
+ "meta.Stream.DataType": "DataType",
+ "meta.Stream.DataTypeCsvHelp": "CSV: Any file separated by a specific delimiter",
+ "meta.Stream.Source": "Source",
+ "meta.Stream.FieldType": "FieldType",
+ "meta.Stream.FieldComment": "FieldComment",
+ "meta.Stream.DoubleQuotes": "Double quotes(\")",
+ "meta.Stream.DataEncoding": "Data encoding",
+ "meta.Stream.DataStreamOwners": "Owners",
+ "meta.Stream.DataStreamOwnerHelp": "Owners can view and modify data flow information",
+ "meta.Stream.Space": "Space",
+ "meta.Stream.Comma": "Comma(,)",
+ "meta.Stream.DataFlowIntroduction": "Description",
+ "meta.Stream.SourceDataField": "Source data field",
+ "meta.Stream.VerticalLine": "Vertical line (|)",
+ "meta.Stream.File": "File",
+ "meta.Stream.Autonomous": "Auto Push",
+ "meta.Consumption.Owner": "Consumption",
+ "meta.Consumption.ConsumerGroupName": "Consumer group name",
+ "meta.Consumption.ConsumerGroupNameRules": "Only lowercase letters, numbers, minus, and underscores",
+ "meta.Consumption.DataStreamIDsHelp": "Inlong stream IDs are divided by commas;",
+ "meta.Consumption.ConsumerDataStreamID": "Consumer data stream ID",
+ "meta.Consumption.ConsumerTargetBusinessID": "Consume Group ID",
+ "meta.Consumption.No": "No",
+ "meta.Consumption.filterEnabled": "FilterEnabled",
+ "meta.Consumption.MasterAddress": "Master address",
+ "meta.Consumption.Yes": "Yes",
+ "meta.Consumption.OwnersExtra": "Consumption in charges, they can view, modify consumption information",
"components.EditableTable.NewLine": "New line",
"components.FormGenerator.plugins.PleaseChoose": "Please select",
"components.FormGenerator.plugins.PleaseInput": "Please input",
diff --git a/inlong-dashboard/src/components/ConsumeHelper/FieldsConfig/basicFields.tsx b/inlong-dashboard/src/meta/consumption/index.tsx
similarity index 75%
rename from inlong-dashboard/src/components/ConsumeHelper/FieldsConfig/basicFields.tsx
rename to inlong-dashboard/src/meta/consumption/index.tsx
index 316c8cf7d..445ca232d 100644
--- a/inlong-dashboard/src/components/ConsumeHelper/FieldsConfig/basicFields.tsx
+++ b/inlong-dashboard/src/meta/consumption/index.tsx
@@ -22,7 +22,6 @@ import { FormItemProps } from '@/components/FormGenerator';
import { pickObjectArray } from '@/utils';
import StaffSelect from '@/components/StaffSelect';
import i18n from '@/i18n';
-import BusinessSelect from '../BusinessSelect';
export default (
names: (string | FormItemProps)[],
@@ -31,26 +30,24 @@ export default (
const fields: FormItemProps[] = [
{
type: 'input',
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupName'),
+ label: i18n.t('meta.Consumption.ConsumerGroupName'),
name: 'consumerGroup',
initialValue: currentValues.consumerGroup,
- extra: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupNameRules'),
+ extra: i18n.t('meta.Consumption.ConsumerGroupNameRules'),
rules: [
{ required: true },
{
pattern: /^[0-9a-z_\d]+$/,
- message: i18n.t(
- 'components.ConsumeHelper.FieldsConfig.basicFields.ConsumerGroupNameRules',
- ),
+ message: i18n.t('meta.Consumption.ConsumerGroupNameRules'),
},
],
},
{
type: <StaffSelect mode="multiple" currentUserClosable={false} />,
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.Consumption'),
+ label: i18n.t('meta.Consumption.Owner'),
name: 'inCharges',
initialValue: currentValues.inCharges,
- extra: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.OwnersExtra'),
+ extra: i18n.t('meta.Consumption.OwnersExtra'),
rules: [
{
required: true,
@@ -58,17 +55,39 @@ export default (
],
},
{
- type: BusinessSelect,
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.ConsumerTargetBusinessID'),
+ type: 'select',
+ label: i18n.t('meta.Consumption.ConsumerTargetBusinessID'),
name: 'inlongGroupId',
extraNames: ['mqType'],
initialValue: currentValues.inlongGroupId,
rules: [{ required: true }],
props: {
- style: { width: 500 },
- onChange: (inlongGroupId, record) => ({
+ showSearch: true,
+ filterOption: false,
+ options: {
+ requestTrigger: ['onOpen', 'onSearch'],
+ requestService: keyword => ({
+ url: '/group/list',
+ method: 'POST',
+ data: {
+ keyword,
+ pageNum: 1,
+ pageSize: 20,
+ status: 130,
+ },
+ }),
+ requestParams: {
+ formatResult: result =>
+ result?.list?.map(item => ({
+ ...item,
+ label: `${item.inlongGroupId} (${item.mqType})`,
+ value: item.inlongGroupId,
+ })),
+ },
+ },
+ onChange: (value, option) => ({
topic: undefined,
- mqType: record.mqType,
+ mqType: option.mqType,
}),
},
},
@@ -103,17 +122,17 @@ export default (
},
{
type: 'radio',
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.filterEnabled'),
+ label: i18n.t('meta.Consumption.filterEnabled'),
name: 'filterEnabled',
initialValue: currentValues.filterEnabled ?? 0,
props: {
options: [
{
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.Yes'),
+ label: i18n.t('meta.Consumption.Yes'),
value: 1,
},
{
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.No'),
+ label: i18n.t('meta.Consumption.No'),
value: 0,
},
],
@@ -123,10 +142,10 @@ export default (
},
{
type: 'input',
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.ConsumerDataStreamID'),
+ label: i18n.t('meta.Consumption.ConsumerDataStreamID'),
name: 'inlongStreamId',
initialValue: currentValues.inlongStreamId,
- extra: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.DataStreamIDsHelp'),
+ extra: i18n.t('meta.Consumption.DataStreamIDsHelp'),
rules: [{ required: true }],
style:
currentValues.mqType === 'PULSAR'
@@ -138,7 +157,7 @@ export default (
},
{
type: 'text',
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.MasterAddress'),
+ label: i18n.t('meta.Consumption.MasterAddress'),
name: 'masterUrl',
initialValue: currentValues.masterUrl,
},
@@ -151,11 +170,11 @@ export default (
props: {
options: [
{
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.Yes'),
+ label: i18n.t('meta.Consumption.Yes'),
value: 1,
},
{
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.No'),
+ label: i18n.t('meta.Consumption.No'),
value: 0,
},
],
@@ -179,11 +198,11 @@ export default (
props: {
options: [
{
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.Yes'),
+ label: i18n.t('meta.Consumption.Yes'),
value: 1,
},
{
- label: i18n.t('components.ConsumeHelper.FieldsConfig.basicFields.No'),
+ label: i18n.t('meta.Consumption.No'),
value: 0,
},
],
diff --git a/inlong-dashboard/src/components/AccessHelper/FieldsConfig/businessFields.tsx b/inlong-dashboard/src/meta/group/index.tsx
similarity index 77%
rename from inlong-dashboard/src/components/AccessHelper/FieldsConfig/businessFields.tsx
rename to inlong-dashboard/src/meta/group/index.tsx
index c27857009..2fb775b5c 100644
--- a/inlong-dashboard/src/components/AccessHelper/FieldsConfig/businessFields.tsx
+++ b/inlong-dashboard/src/meta/group/index.tsx
@@ -18,7 +18,7 @@
*/
import React from 'react';
-import StaffSelect from '../../StaffSelect';
+import StaffSelect from '@/components/StaffSelect';
import { FormItemProps } from '@/components/FormGenerator';
import { pickObjectArray } from '@/utils';
import i18n from '@/i18n';
@@ -30,7 +30,7 @@ export default (
const fields: FormItemProps[] = [
{
type: 'input',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.InlongGroupId'),
+ label: i18n.t('meta.Group.InlongGroupId'),
name: 'inlongGroupId',
props: {
maxLength: 32,
@@ -39,7 +39,7 @@ export default (
{ required: true },
{
pattern: /^[a-z_\-\d]+$/,
- message: i18n.t('components.AccessHelper.FieldsConfig.businessFields.InlongGroupIdRules'),
+ message: i18n.t('meta.Group.InlongGroupIdRules'),
},
],
initialValue: currentValues.inlongGroupId,
@@ -52,7 +52,7 @@ export default (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.InlongGroupName'),
+ label: i18n.t('meta.Group.InlongGroupName'),
name: 'name',
props: {
maxLength: 32,
@@ -61,7 +61,7 @@ export default (
},
{
type: <StaffSelect mode="multiple" currentUserClosable={false} />,
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.BusinessOwners'),
+ label: i18n.t('meta.Group.BusinessOwners'),
name: 'inCharges',
initialValue: currentValues.inCharges,
rules: [
@@ -69,11 +69,11 @@ export default (
required: true,
},
],
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.BusinessOwnersExtra'),
+ extra: i18n.t('meta.Group.BusinessOwnersExtra'),
},
{
type: 'textarea',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.BusinessIntroduction'),
+ label: i18n.t('meta.Group.BusinessIntroduction'),
name: 'description',
props: {
showCount: true,
@@ -83,7 +83,7 @@ export default (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.MessageMiddleware'),
+ label: i18n.t('meta.Group.MessageMiddleware'),
name: 'mqType',
initialValue: currentValues.mqType ?? 'TUBEMQ',
rules: [{ required: true }],
@@ -102,18 +102,18 @@ export default (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.QueueModule'),
+ label: i18n.t('meta.Group.QueueModule'),
name: 'queueModule',
initialValue: currentValues.queueModule ?? 'SERIAL',
rules: [{ required: true }],
props: {
options: [
{
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.Parallel'),
+ label: i18n.t('meta.Group.Parallel'),
value: 'PARALLEL',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.Serial'),
+ label: i18n.t('meta.Group.Serial'),
value: 'SERIAL',
},
],
@@ -122,7 +122,7 @@ export default (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.PartitionNum'),
+ label: i18n.t('meta.Group.PartitionNum'),
name: 'partitionNum',
initialValue: currentValues.partitionNum ?? 3,
rules: [{ required: true }],
@@ -135,11 +135,11 @@ export default (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.NumberOfAccess'),
+ label: i18n.t('meta.Group.NumberOfAccess'),
name: 'dailyRecords',
initialValue: currentValues.dailyRecords,
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.FieldsConfig.businessFields.thousand/day'),
+ suffix: i18n.t('meta.Group.thousand/day'),
props: {
min: 1,
precision: 0,
@@ -148,11 +148,11 @@ export default (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.AccessSize'),
+ label: i18n.t('meta.Group.AccessSize'),
name: 'dailyStorage',
initialValue: currentValues.dailyStorage,
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.FieldsConfig.businessFields.GB/Day'),
+ suffix: i18n.t('meta.Group.GB/Day'),
props: {
min: 1,
precision: 0,
@@ -161,11 +161,11 @@ export default (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.AccessPeakPerSecond'),
+ label: i18n.t('meta.Group.AccessPeakPerSecond'),
name: 'peakRecords',
initialValue: currentValues.peakRecords,
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.FieldsConfig.businessFields.Stripe/Second'),
+ suffix: i18n.t('meta.Group.Stripe/Second'),
props: {
min: 1,
precision: 0,
@@ -174,7 +174,7 @@ export default (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.FieldsConfig.businessFields.SingleStripMaximumLength'),
+ label: i18n.t('meta.Group.SingleStripMaximumLength'),
name: 'maxLength',
initialValue: currentValues.maxLength,
rules: [{ required: true }],
@@ -190,8 +190,8 @@ export default (
label: 'ensemble',
name: 'ensemble',
initialValue: currentValues?.ensemble ?? 3,
- suffix: i18n.t('components.AccessHelper.FieldsConfig.businessFields.EnsembleSuffix'),
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.EnsembleExtra'),
+ suffix: i18n.t('meta.Group.EnsembleSuffix'),
+ extra: i18n.t('meta.Group.EnsembleExtra'),
rules: [
({ getFieldValue }) => ({
validator(_, val) {
@@ -218,8 +218,8 @@ export default (
label: 'Write Quorum',
name: 'writeQuorum',
initialValue: currentValues?.writeQuorum ?? 3,
- suffix: i18n.t('components.AccessHelper.FieldsConfig.businessFields.WriteQuorumSuffix'),
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.WriteQuorumExtra'),
+ suffix: i18n.t('meta.Group.WriteQuorumSuffix'),
+ extra: i18n.t('meta.Group.WriteQuorumExtra'),
props: {
min: 1,
max: 10,
@@ -232,8 +232,8 @@ export default (
label: 'ACK Quorum',
name: 'ackQuorum',
initialValue: currentValues?.ackQuorum ?? 2,
- suffix: i18n.t('components.AccessHelper.FieldsConfig.businessFields.AckQuorumSuffix'),
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.AckQuorumExtra'),
+ suffix: i18n.t('meta.Group.AckQuorumSuffix'),
+ extra: i18n.t('meta.Group.AckQuorumExtra'),
props: {
min: 1,
max: 10,
@@ -275,7 +275,7 @@ export default (
],
},
},
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.TtlExtra'),
+ extra: i18n.t('meta.Group.TtlExtra'),
props: {
min: 1,
precision: 0,
@@ -324,7 +324,7 @@ export default (
],
},
},
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.RetentionTimeExtra'),
+ extra: i18n.t('meta.Group.RetentionTimeExtra'),
props: {
min: -1,
precision: 0,
@@ -357,7 +357,7 @@ export default (
],
},
},
- extra: i18n.t('components.AccessHelper.FieldsConfig.businessFields.RetentionSizeExtra'),
+ extra: i18n.t('meta.Group.RetentionSizeExtra'),
props: {
min: -1,
precision: 0,
diff --git a/inlong-dashboard/src/meta/sinks/clickhouse.tsx b/inlong-dashboard/src/meta/sinks/clickhouse.tsx
index f71df3855..8941fa3bc 100644
--- a/inlong-dashboard/src/meta/sinks/clickhouse.tsx
+++ b/inlong-dashboard/src/meta/sinks/clickhouse.tsx
@@ -52,7 +52,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'dbName',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.DbName'),
+ label: i18n.t('meta.Sinks.Clickhouse.DbName'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -62,7 +62,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'tableName',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.TableName'),
+ label: i18n.t('meta.Sinks.Clickhouse.TableName'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -72,10 +72,10 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'enableCreateResource',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -93,7 +93,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'username',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -103,7 +103,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'password',
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -126,52 +126,52 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'flushInterval',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FlushInterval'),
+ label: i18n.t('meta.Sinks.Clickhouse.FlushInterval'),
initialValue: 1,
props: {
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FlushIntervalUnit'),
+ suffix: i18n.t('meta.Sinks.Clickhouse.FlushIntervalUnit'),
},
{
name: 'flushRecord',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FlushRecord'),
+ label: i18n.t('meta.Sinks.Clickhouse.FlushRecord'),
initialValue: 1000,
props: {
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FlushRecordUnit'),
+ suffix: i18n.t('meta.Sinks.Clickhouse.FlushRecordUnit'),
},
{
name: 'retryTime',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.RetryTimes'),
+ label: i18n.t('meta.Sinks.Clickhouse.RetryTimes'),
initialValue: 3,
props: {
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.RetryTimesUnit'),
+ suffix: i18n.t('meta.Sinks.Clickhouse.RetryTimesUnit'),
},
{
name: 'isDistributed',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.IsDistributed'),
+ label: i18n.t('meta.Sinks.Clickhouse.IsDistributed'),
initialValue: 0,
props: {
options: [
{
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.Yes'),
+ label: i18n.t('meta.Sinks.Clickhouse.Yes'),
value: 1,
},
{
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.No'),
+ label: i18n.t('meta.Sinks.Clickhouse.No'),
value: 0,
},
],
@@ -182,7 +182,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'partitionStrategy',
type: 'select',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.PartitionStrategy'),
+ label: i18n.t('meta.Sinks.Clickhouse.PartitionStrategy'),
initialValue: 'BALANCE',
rules: [{ required: true }],
props: {
@@ -207,7 +207,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'partitionFields',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.PartitionFields'),
+ label: i18n.t('meta.Sinks.Clickhouse.PartitionFields'),
rules: [{ required: true }],
visible: values => values.isDistributed && values.partitionStrategy === 'HASH',
props: {
@@ -217,7 +217,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'engine',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.Engine'),
+ label: i18n.t('meta.Sinks.Clickhouse.Engine'),
initialValue: 'Log',
rules: [{ required: true }],
props: {
@@ -227,7 +227,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'orderBy',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.OrderBy'),
+ label: i18n.t('meta.Sinks.Clickhouse.OrderBy'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
@@ -235,7 +235,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'partitionBy',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.PartitionBy'),
+ label: i18n.t('meta.Sinks.Clickhouse.PartitionBy'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
@@ -243,7 +243,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'primaryKey',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.PrimaryKey'),
+ label: i18n.t('meta.Sinks.Clickhouse.PrimaryKey'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
@@ -268,13 +268,13 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `ClickHouse${i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FieldName')}`,
+ title: `ClickHouse${i18n.t('meta.Sinks.Clickhouse.FieldName')}`,
dataIndex: 'fieldName',
rules: [
{ required: true },
{
pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FieldNameRule'),
+ message: i18n.t('meta.Sinks.Clickhouse.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -282,7 +282,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `ClickHouse${i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.FieldType')}`,
+ title: `ClickHouse${i18n.t('meta.Sinks.Clickhouse.FieldType')}`,
dataIndex: 'fieldType',
initialValue: clickhouseTargetTypes[0].value,
type: 'select',
@@ -315,23 +315,21 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['DEFAULT', 'EPHEMERAL', 'MATERIALIZED', 'ALIAS'].includes(record.defaultType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.CompressionCode'),
+ title: i18n.t('meta.Sinks.Clickhouse.CompressionCode'),
dataIndex: 'compressionCode',
props: (text, record, idx, isNew) => ({
disabled: [110, 130].includes(currentValues?.status as number) && !isNew,
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Clickhouse.TtlExpr'),
+ title: i18n.t('meta.Sinks.Clickhouse.TtlExpr'),
dataIndex: 'ttlExpr',
props: (text, record, idx, isNew) => ({
disabled: [110, 130].includes(currentValues?.status as number) && !isNew,
}),
},
{
- title: `ClickHouse${i18n.t(
- 'components.AccessHelper.StorageMetaData.Clickhouse.FieldDescription',
- )}`,
+ title: `ClickHouse${i18n.t('meta.Sinks.Clickhouse.FieldDescription')}`,
dataIndex: 'fieldComment',
props: (text, record, idx, isNew) => ({
disabled: [110, 130].includes(currentValues?.status as number) && !isNew,
diff --git a/inlong-dashboard/src/meta/sinks/common/sourceFields.ts b/inlong-dashboard/src/meta/sinks/common/sourceFields.ts
index f72bba8b0..0d0267a9e 100644
--- a/inlong-dashboard/src/meta/sinks/common/sourceFields.ts
+++ b/inlong-dashboard/src/meta/sinks/common/sourceFields.ts
@@ -29,14 +29,14 @@ export const fieldTypes = ['int', 'long', 'float', 'double', 'string', 'date', '
export const sourceFields: ColumnsItemProps[] = [
{
- title: i18n.t('components.AccessHelper.StorageMetaData.SourceFieldName'),
+ title: i18n.t('meta.Sinks.SourceFieldName'),
dataIndex: 'sourceFieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.SourceFieldNameRule'),
+ message: i18n.t('meta.Sinks.SourceFieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -44,7 +44,7 @@ export const sourceFields: ColumnsItemProps[] = [
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.SourceFieldType'),
+ title: i18n.t('meta.Sinks.SourceFieldType'),
dataIndex: 'sourceFieldType',
initialValue: fieldTypes[0].value,
type: 'select',
diff --git a/inlong-dashboard/src/meta/sinks/es.tsx b/inlong-dashboard/src/meta/sinks/es.tsx
index e2c90b133..4e8c4baa8 100644
--- a/inlong-dashboard/src/meta/sinks/es.tsx
+++ b/inlong-dashboard/src/meta/sinks/es.tsx
@@ -54,7 +54,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'indexName',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Es.IndexName'),
+ label: i18n.t('meta.Sinks.Es.IndexName'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -64,10 +64,10 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'enableCreateResource',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -85,7 +85,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'username',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -95,7 +95,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'password',
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -106,7 +106,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Es.Host'),
+ label: i18n.t('meta.Sinks.Es.Host'),
name: 'host',
rules: [{ required: true }],
props: {
@@ -116,7 +116,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'port',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Es.Port'),
+ label: i18n.t('meta.Sinks.Es.Port'),
initialValue: 9200,
props: {
min: 1,
@@ -128,38 +128,38 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'flushInterval',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Es.FlushInterval'),
+ label: i18n.t('meta.Sinks.Es.FlushInterval'),
initialValue: 1,
props: {
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.StorageMetaData.Es.FlushIntervalUnit'),
+ suffix: i18n.t('meta.Sinks.Es.FlushIntervalUnit'),
},
{
name: 'flushRecord',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Es.FlushRecord'),
+ label: i18n.t('meta.Sinks.Es.FlushRecord'),
initialValue: 1000,
props: {
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.StorageMetaData.Es.FlushRecordUnit'),
+ suffix: i18n.t('meta.Sinks.Es.FlushRecordUnit'),
},
{
name: 'retryTime',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Es.RetryTimes'),
+ label: i18n.t('meta.Sinks.Es.RetryTimes'),
initialValue: 3,
props: {
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
rules: [{ required: true }],
- suffix: i18n.t('components.AccessHelper.StorageMetaData.Es.RetryTimesUnit'),
+ suffix: i18n.t('meta.Sinks.Es.RetryTimesUnit'),
},
{
name: 'sinkFieldList',
@@ -181,13 +181,13 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `ES ${i18n.t('components.AccessHelper.StorageMetaData.Es.FieldName')}`,
+ title: `ES ${i18n.t('meta.Sinks.Es.FieldName')}`,
dataIndex: 'fieldName',
rules: [
{ required: true },
{
pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.Es.FieldNameRule'),
+ message: i18n.t('meta.Sinks.Es.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -195,7 +195,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `ES ${i18n.t('components.AccessHelper.StorageMetaData.Es.FieldType')}`,
+ title: `ES ${i18n.t('meta.Sinks.Es.FieldType')}`,
dataIndex: 'fieldType',
initialValue: esTypes[0].value,
type: 'select',
@@ -223,7 +223,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
visible: (text, record) => record.fieldType === 'text',
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Es.DateFormat'),
+ title: i18n.t('meta.Sinks.Es.DateFormat'),
dataIndex: 'format',
props: (text, record, idx, isNew) => ({
disabled: [110, 130].includes(currentValues?.status as number) && !isNew,
@@ -239,7 +239,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
visible: (text, record) => record.fieldType === 'scaled_float',
},
{
- title: `ES ${i18n.t('components.AccessHelper.StorageMetaData.Es.FieldDescription')}`,
+ title: `ES ${i18n.t('meta.Sinks.Es.FieldDescription')}`,
dataIndex: 'fieldComment',
props: (text, record, idx, isNew) => ({
disabled: [110, 130].includes(currentValues?.status as number) && !isNew,
diff --git a/inlong-dashboard/src/meta/sinks/greenplum.tsx b/inlong-dashboard/src/meta/sinks/greenplum.tsx
index bddc6ff79..e0f988a93 100644
--- a/inlong-dashboard/src/meta/sinks/greenplum.tsx
+++ b/inlong-dashboard/src/meta/sinks/greenplum.tsx
@@ -76,7 +76,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.TableName'),
+ label: i18n.t('meta.Sinks.Greenplum.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -86,7 +86,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.PrimaryKey'),
+ label: i18n.t('meta.Sinks.Greenplum.PrimaryKey'),
name: 'primaryKey',
rules: [{ required: true }],
props: {
@@ -96,11 +96,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -117,7 +117,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -127,7 +127,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -158,14 +158,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `GREENPLUM${i18n.t('components.AccessHelper.StorageMetaData.Greenplum.FieldName')}`,
+ title: `GREENPLUM${i18n.t('meta.Sinks.Greenplum.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.FieldNameRule'),
+ message: i18n.t('meta.Sinks.Greenplum.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -173,7 +173,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `GREENPLUM${i18n.t('components.AccessHelper.StorageMetaData.Greenplum.FieldType')}`,
+ title: `GREENPLUM${i18n.t('meta.Sinks.Greenplum.FieldType')}`,
dataIndex: 'fieldType',
initialValue: greenplumFieldTypes[0].value,
type: 'select',
@@ -184,7 +184,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.IsMetaField'),
+ title: i18n.t('meta.Sinks.Greenplum.IsMetaField'),
dataIndex: 'isMetaField',
initialValue: 0,
type: 'select',
@@ -202,7 +202,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.FieldFormat'),
+ title: i18n.t('meta.Sinks.Greenplum.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: 0,
type: 'autocomplete',
@@ -216,7 +216,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['BIGINT', 'DATE', 'TIMESTAMP'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.FieldDescription'),
+ title: i18n.t('meta.Sinks.Greenplum.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sinks/hbase.tsx b/inlong-dashboard/src/meta/sinks/hbase.tsx
index 04d09a7a1..6d46d2db0 100644
--- a/inlong-dashboard/src/meta/sinks/hbase.tsx
+++ b/inlong-dashboard/src/meta/sinks/hbase.tsx
@@ -50,7 +50,7 @@ const getForm: GetStorageFormFieldsType = (
const fileds = [
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.Namespace'),
+ label: i18n.t('meta.Sinks.HBase.Namespace'),
name: 'namespace',
rules: [{ required: true }],
props: {
@@ -60,7 +60,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.TableName'),
+ label: i18n.t('meta.Sinks.HBase.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -70,7 +70,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.RowKey'),
+ label: i18n.t('meta.Sinks.HBase.RowKey'),
name: 'rowKey',
rules: [{ required: true }],
props: {
@@ -80,7 +80,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.ZkQuorum'),
+ label: i18n.t('meta.Sinks.HBase.ZkQuorum'),
name: 'zkQuorum',
rules: [{ required: true }],
props: {
@@ -91,7 +91,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.ZkNodeParent'),
+ label: i18n.t('meta.Sinks.HBase.ZkNodeParent'),
name: 'zkNodeParent',
rules: [{ required: true }],
props: {
@@ -102,7 +102,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.BufferFlushMaxSize'),
+ label: i18n.t('meta.Sinks.HBase.BufferFlushMaxSize'),
name: 'bufferFlushMaxSize',
initialValue: 2,
rules: [{ required: true }],
@@ -115,7 +115,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.BufferFlushMaxRows'),
+ label: i18n.t('meta.Sinks.HBase.BufferFlushMaxRows'),
name: 'bufferFlushMaxRows',
initialValue: 1000,
rules: [{ required: true }],
@@ -127,7 +127,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.HBase.BufferFlushInterval'),
+ label: i18n.t('meta.Sinks.HBase.BufferFlushInterval'),
name: 'bufferFlushInterval',
initialValue: 1,
rules: [{ required: true }],
@@ -135,7 +135,7 @@ const getForm: GetStorageFormFieldsType = (
min: 1,
disabled: isEdit && [110, 130].includes(currentValues?.status),
},
- suffix: i18n.t('components.AccessHelper.StorageMetaData.HBase.FlushIntervalUnit'),
+ suffix: i18n.t('meta.Sinks.HBase.FlushIntervalUnit'),
_inTable: true,
},
{
@@ -159,14 +159,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `HBASE${i18n.t('components.AccessHelper.StorageMetaData.HBase.FieldName')}`,
+ title: `HBASE${i18n.t('meta.Sinks.HBase.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.HBase.FieldNameRule'),
+ message: i18n.t('meta.Sinks.HBase.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -174,7 +174,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `HBASE${i18n.t('components.AccessHelper.StorageMetaData.HBase.FieldType')}`,
+ title: `HBASE${i18n.t('meta.Sinks.HBase.FieldType')}`,
dataIndex: 'fieldType',
initialValue: hbaseFieldTypes[0].value,
type: 'select',
diff --git a/inlong-dashboard/src/meta/sinks/hive.tsx b/inlong-dashboard/src/meta/sinks/hive.tsx
index 3f3e827f2..d8806ba8a 100644
--- a/inlong-dashboard/src/meta/sinks/hive.tsx
+++ b/inlong-dashboard/src/meta/sinks/hive.tsx
@@ -61,7 +61,7 @@ const getForm: GetStorageFormFieldsType = (
const fileds = [
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.DbName'),
+ label: i18n.t('meta.Sinks.Hive.DbName'),
name: 'dbName',
rules: [{ required: true }],
props: {
@@ -71,7 +71,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.TableName'),
+ label: i18n.t('meta.Sinks.Hive.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -81,11 +81,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -102,7 +102,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -112,7 +112,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -143,23 +143,23 @@ const getForm: GetStorageFormFieldsType = (
});
res
? message.success(
- i18n.t('components.AccessHelper.StorageMetaData.Hive.ConnectionSucceeded'),
+ i18n.t('meta.Sinks.Hive.ConnectionSucceeded'),
)
: message.error(
- i18n.t('components.AccessHelper.StorageMetaData.Hive.ConnectionFailed'),
+ i18n.t('meta.Sinks.Hive.ConnectionFailed'),
);
}}
>
- {i18n.t('components.AccessHelper.StorageMetaData.Hive.ConnectionTest')}
+ {i18n.t('meta.Sinks.Hive.ConnectionTest')}
</Button>
),*/
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.DataPath'),
+ label: i18n.t('meta.Sinks.Hive.DataPath'),
name: 'dataPath',
rules: [{ required: true }],
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.DataPathHelp'),
+ tooltip: i18n.t('meta.Sinks.DataPathHelp'),
props: {
placeholder: 'hdfs://127.0.0.1:9000/user/hive/warehouse/default',
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -167,10 +167,10 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.ConfDir'),
+ label: i18n.t('meta.Sinks.Hive.ConfDir'),
name: 'hiveConfDir',
rules: [{ required: true }],
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.Hive.ConfDirHelp'),
+ tooltip: i18n.t('meta.Sinks.Hive.ConfDirHelp'),
props: {
placeholder: '/usr/hive/conf',
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -179,7 +179,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'fileFormat',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.FileFormat'),
+ label: i18n.t('meta.Sinks.Hive.FileFormat'),
initialValue: 'TextFile',
rules: [{ required: true }],
props: {
@@ -215,7 +215,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'dataEncoding',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.DataEncoding'),
+ label: i18n.t('meta.Sinks.Hive.DataEncoding'),
initialValue: 'UTF-8',
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -235,34 +235,34 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'dataSeparator',
type: 'select',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.DataSeparator'),
+ label: i18n.t('meta.Sinks.Hive.DataSeparator'),
initialValue: '124',
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
dropdownMatchSelectWidth: false,
options: [
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.VerticalLine'),
+ label: i18n.t('meta.Stream.VerticalLine'),
value: '124',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Comma'),
+ label: i18n.t('meta.Stream.Comma'),
value: '44',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DoubleQuotes'),
+ label: i18n.t('meta.Stream.DoubleQuotes'),
value: '34',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Asterisk'),
+ label: i18n.t('meta.Stream.Asterisk'),
value: '42',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Space'),
+ label: i18n.t('meta.Stream.Space'),
value: '32',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Semicolon'),
+ label: i18n.t('meta.Stream.Semicolon'),
value: '59',
},
],
@@ -295,20 +295,20 @@ const getForm: GetStorageFormFieldsType = (
},
{
name: 'partitionFieldList',
- label: i18n.t('components.AccessHelper.StorageMetaData.Hive.PartitionFieldList'),
+ label: i18n.t('meta.Sinks.Hive.PartitionFieldList'),
type: EditableTable,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.Hive.PartitionFieldListHelp'),
+ tooltip: i18n.t('meta.Sinks.Hive.PartitionFieldListHelp'),
props: {
size: 'small',
required: false,
columns: [
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldName'),
+ title: i18n.t('meta.Sinks.Hive.FieldName'),
dataIndex: 'fieldName',
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldType'),
+ title: i18n.t('meta.Sinks.Hive.FieldType'),
dataIndex: 'fieldType',
type: 'select',
initialValue: 'string',
@@ -320,7 +320,7 @@ const getForm: GetStorageFormFieldsType = (
},
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldFormat'),
+ title: i18n.t('meta.Sinks.Hive.FieldFormat'),
dataIndex: 'fieldFormat',
type: 'autocomplete',
props: {
@@ -346,14 +346,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `HIVE${i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldName')}`,
+ title: `HIVE${i18n.t('meta.Sinks.Hive.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldNameRule'),
+ message: i18n.t('meta.Sinks.Hive.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -361,7 +361,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `HIVE${i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldType')}`,
+ title: `HIVE${i18n.t('meta.Sinks.Hive.FieldType')}`,
dataIndex: 'fieldType',
initialValue: hiveFieldTypes[0].value,
type: 'select',
@@ -372,7 +372,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Hive.IsMetaField'),
+ title: i18n.t('meta.Sinks.Hive.IsMetaField'),
dataIndex: 'isMetaField',
initialValue: 0,
type: 'select',
@@ -390,7 +390,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldFormat'),
+ title: i18n.t('meta.Sinks.Hive.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: 0,
type: 'autocomplete',
@@ -404,7 +404,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['bigint', 'date', 'timestamp'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Hive.FieldDescription'),
+ title: i18n.t('meta.Sinks.Hive.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sinks/iceberg.tsx b/inlong-dashboard/src/meta/sinks/iceberg.tsx
index 4694bfb31..a9259fdf9 100644
--- a/inlong-dashboard/src/meta/sinks/iceberg.tsx
+++ b/inlong-dashboard/src/meta/sinks/iceberg.tsx
@@ -116,7 +116,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'dbName',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.DbName'),
+ label: i18n.t('meta.Sinks.Iceberg.DbName'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -126,7 +126,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'tableName',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.TableName'),
+ label: i18n.t('meta.Sinks.Iceberg.TableName'),
rules: [{ required: true }],
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -135,11 +135,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -175,20 +175,20 @@ const getForm: GetStorageFormFieldsType = (
});
res
? message.success(
- i18n.t('components.AccessHelper.StorageMetaData.Hive.ConnectionSucceeded'),
+ i18n.t('meta.Sinks.Hive.ConnectionSucceeded'),
)
: message.error(
- i18n.t('components.AccessHelper.StorageMetaData.Hive.ConnectionFailed'),
+ i18n.t('meta.Sinks.Hive.ConnectionFailed'),
);
}}
>
- {i18n.t('components.AccessHelper.StorageMetaData.Hive.ConnectionTest')}
+ {i18n.t('meta.Sinks.Hive.ConnectionTest')}
</Button>
),*/
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.Warehouse'),
+ label: i18n.t('meta.Sinks.Iceberg.Warehouse'),
name: 'warehouse',
rules: [{ required: true }],
props: {
@@ -199,7 +199,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'fileFormat',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.FileFormat'),
+ label: i18n.t('meta.Sinks.Iceberg.FileFormat'),
initialValue: 'Parquet',
rules: [{ required: true }],
props: {
@@ -222,7 +222,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
name: 'extList',
- label: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.ExtList'),
+ label: i18n.t('meta.Sinks.Iceberg.ExtList'),
type: EditableTable,
props: {
size: 'small',
@@ -250,7 +250,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'dataConsistency',
type: 'select',
- label: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.DataConsistency'),
+ label: i18n.t('meta.Sinks.Iceberg.DataConsistency'),
initialValue: 'EXACTLY_ONCE',
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
@@ -287,14 +287,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `Iceberg ${i18n.t('components.AccessHelper.StorageMetaData.Iceberg.FieldName')}`,
+ title: `Iceberg ${i18n.t('meta.Sinks.Iceberg.FieldName')}`,
width: 110,
dataIndex: 'fieldName',
rules: [
{ required: true },
{
pattern: /^[a-zA-Z_][a-zA-Z0-9_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.FieldNameRule'),
+ message: i18n.t('meta.Sinks.Iceberg.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -302,7 +302,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `Iceberg ${i18n.t('components.AccessHelper.StorageMetaData.Iceberg.FieldType')}`,
+ title: `Iceberg ${i18n.t('meta.Sinks.Iceberg.FieldType')}`,
dataIndex: 'fieldType',
width: 130,
initialValue: icebergFieldTypes[0].value,
@@ -355,7 +355,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
visible: (text, record) => record.fieldType === 'decimal',
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.PartitionStrategy'),
+ title: i18n.t('meta.Sinks.Iceberg.PartitionStrategy'),
dataIndex: 'partitionStrategy',
type: 'select',
initialValue: 'None',
@@ -365,7 +365,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Iceberg.FieldDescription'),
+ title: i18n.t('meta.Sinks.Iceberg.FieldDescription'),
dataIndex: 'fieldComment',
},
];
diff --git a/inlong-dashboard/src/meta/sinks/index.ts b/inlong-dashboard/src/meta/sinks/index.ts
index 7bfc886a6..4e3998e6e 100644
--- a/inlong-dashboard/src/meta/sinks/index.ts
+++ b/inlong-dashboard/src/meta/sinks/index.ts
@@ -32,7 +32,7 @@ import { sqlServer } from './sqlServer';
import { tdsqlPostgreSQL } from './tdsqlPostgreSql';
import { hbase } from './hbase';
-export interface StoragesType {
+export interface SinkType {
label: string;
value: string;
// Generate form configuration for single data
@@ -47,7 +47,7 @@ export interface StoragesType {
toSubmitValues?: (values: unknown) => unknown;
}
-export const Storages: StoragesType[] = [
+export const Sinks: SinkType[] = [
{
label: 'Hive',
value: 'HIVE',
diff --git a/inlong-dashboard/src/meta/sinks/kafka.tsx b/inlong-dashboard/src/meta/sinks/kafka.tsx
index dc0b0e0f8..4d270fb57 100644
--- a/inlong-dashboard/src/meta/sinks/kafka.tsx
+++ b/inlong-dashboard/src/meta/sinks/kafka.tsx
@@ -30,7 +30,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'bootstrapServers',
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Kafka.Server'),
+ label: i18n.t('meta.Sinks.Kafka.Server'),
rules: [{ required: true }],
initialValue: '127.0.0.1:9092',
props: {
@@ -51,7 +51,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'serializationType',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.Kafka.SerializationType'),
+ label: i18n.t('meta.Sinks.Kafka.SerializationType'),
initialValue: 'JSON',
rules: [{ required: true }],
props: {
@@ -76,7 +76,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'partitionNum',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.StorageMetaData.Kafka.PartitionNum'),
+ label: i18n.t('meta.Sinks.Kafka.PartitionNum'),
initialValue: 3,
props: {
min: 1,
@@ -88,7 +88,7 @@ const getForm: GetStorageFormFieldsType = (
{
name: 'autoOffsetReset',
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.Kafka.AutoOffsetReset'),
+ label: i18n.t('meta.Sinks.Kafka.AutoOffsetReset'),
initialValue: 'earliest',
rules: [{ required: true }],
props: {
diff --git a/inlong-dashboard/src/meta/sinks/mysql.tsx b/inlong-dashboard/src/meta/sinks/mysql.tsx
index 555e7420d..b04c19837 100644
--- a/inlong-dashboard/src/meta/sinks/mysql.tsx
+++ b/inlong-dashboard/src/meta/sinks/mysql.tsx
@@ -72,7 +72,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.MySQL.TableName'),
+ label: i18n.t('meta.Sinks.MySQL.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -82,7 +82,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Greenplum.PrimaryKey'),
+ label: i18n.t('meta.Sinks.Greenplum.PrimaryKey'),
name: 'primaryKey',
rules: [{ required: true }],
props: {
@@ -92,11 +92,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -113,7 +113,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -123,7 +123,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -154,14 +154,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `MYSQL${i18n.t('components.AccessHelper.StorageMetaData.MySQL.FieldName')}`,
+ title: `MYSQL${i18n.t('meta.Sinks.MySQL.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.MySQL.FieldNameRule'),
+ message: i18n.t('meta.Sinks.MySQL.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -169,7 +169,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `MYSQL${i18n.t('components.AccessHelper.StorageMetaData.MySQL.FieldType')}`,
+ title: `MYSQL${i18n.t('meta.Sinks.MySQL.FieldType')}`,
dataIndex: 'fieldType',
initialValue: mysqlFieldTypes[0].value,
type: 'select',
@@ -180,7 +180,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.MySQL.IsMetaField'),
+ title: i18n.t('meta.Sinks.MySQL.IsMetaField'),
dataIndex: 'isMetaField',
initialValue: 0,
type: 'select',
@@ -198,7 +198,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.MySQL.FieldFormat'),
+ title: i18n.t('meta.Sinks.MySQL.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: 0,
type: 'autocomplete',
@@ -212,7 +212,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['BIGINT', 'DATE', 'TIMESTAMP'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.MySQL.FieldDescription'),
+ title: i18n.t('meta.Sinks.MySQL.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sinks/oracle.tsx b/inlong-dashboard/src/meta/sinks/oracle.tsx
index 727cf289a..e154e0178 100644
--- a/inlong-dashboard/src/meta/sinks/oracle.tsx
+++ b/inlong-dashboard/src/meta/sinks/oracle.tsx
@@ -71,7 +71,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Oracle.TableName'),
+ label: i18n.t('meta.Sinks.Oracle.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -81,7 +81,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Oracle.PrimaryKey'),
+ label: i18n.t('meta.Sinks.Oracle.PrimaryKey'),
name: 'primaryKey',
rules: [{ required: true }],
props: {
@@ -91,11 +91,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -112,7 +112,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -122,7 +122,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -153,14 +153,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `ORACLE${i18n.t('components.AccessHelper.StorageMetaData.Oracle.FieldName')}`,
+ title: `ORACLE${i18n.t('meta.Sinks.Oracle.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.Oracle.FieldNameRule'),
+ message: i18n.t('meta.Sinks.Oracle.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -168,7 +168,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `ORACLE${i18n.t('components.AccessHelper.StorageMetaData.Oracle.FieldType')}`,
+ title: `ORACLE${i18n.t('meta.Sinks.Oracle.FieldType')}`,
dataIndex: 'fieldType',
initialValue: oracleFieldTypes[0].value,
type: 'select',
@@ -179,7 +179,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Oracle.IsMetaField'),
+ title: i18n.t('meta.Sinks.Oracle.IsMetaField'),
initialValue: 0,
dataIndex: 'isMetaField',
type: 'select',
@@ -197,7 +197,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Oracle.FieldFormat'),
+ title: i18n.t('meta.Sinks.Oracle.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: '',
type: 'autocomplete',
@@ -211,7 +211,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['BIGINT', 'DATE', 'TIMESTAMP'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.Oracle.FieldDescription'),
+ title: i18n.t('meta.Sinks.Oracle.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sinks/postgreSql.tsx b/inlong-dashboard/src/meta/sinks/postgreSql.tsx
index 079bb5e5c..b1d4edb19 100644
--- a/inlong-dashboard/src/meta/sinks/postgreSql.tsx
+++ b/inlong-dashboard/src/meta/sinks/postgreSql.tsx
@@ -75,7 +75,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.DbName'),
+ label: i18n.t('meta.Sinks.PostgreSQL.DbName'),
name: 'dbName',
rules: [{ required: true }],
props: {
@@ -85,7 +85,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.TableName'),
+ label: i18n.t('meta.Sinks.PostgreSQL.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -95,7 +95,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.PrimaryKey'),
+ label: i18n.t('meta.Sinks.PostgreSQL.PrimaryKey'),
name: 'primaryKey',
rules: [{ required: true }],
props: {
@@ -105,11 +105,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -126,7 +126,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -136,7 +136,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -167,14 +167,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `POSTGRESQL${i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.FieldName')}`,
+ title: `POSTGRESQL${i18n.t('meta.Sinks.PostgreSQL.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.FieldNameRule'),
+ message: i18n.t('meta.Sinks.PostgreSQL.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -182,7 +182,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `POSTGRESQL${i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.FieldType')}`,
+ title: `POSTGRESQL${i18n.t('meta.Sinks.PostgreSQL.FieldType')}`,
dataIndex: 'fieldType',
initialValue: postgreSQLFieldTypes[0].value,
type: 'select',
@@ -193,7 +193,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.IsMetaField'),
+ title: i18n.t('meta.Sinks.PostgreSQL.IsMetaField'),
initialValue: 0,
dataIndex: 'isMetaField',
type: 'select',
@@ -211,7 +211,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.FieldFormat'),
+ title: i18n.t('meta.Sinks.PostgreSQL.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: '',
type: 'autocomplete',
@@ -225,7 +225,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['BIGINT', 'DATE', 'TIMESTAMP'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.PostgreSQL.FieldDescription'),
+ title: i18n.t('meta.Sinks.PostgreSQL.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sinks/sqlServer.tsx b/inlong-dashboard/src/meta/sinks/sqlServer.tsx
index 1b367daf6..3af312547 100644
--- a/inlong-dashboard/src/meta/sinks/sqlServer.tsx
+++ b/inlong-dashboard/src/meta/sinks/sqlServer.tsx
@@ -77,7 +77,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.SchemaName'),
+ label: i18n.t('meta.Sinks.SQLServer.SchemaName'),
name: 'schemaName',
rules: [{ required: true }],
props: {
@@ -87,7 +87,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.ServerTimezone'),
+ label: i18n.t('meta.Sinks.SQLServer.ServerTimezone'),
name: 'serverTimezone',
initialValue: 'UTC',
rules: [{ required: true }],
@@ -98,7 +98,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.TableName'),
+ label: i18n.t('meta.Sinks.SQLServer.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -108,7 +108,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.PrimaryKey'),
+ label: i18n.t('meta.Sinks.SQLServer.PrimaryKey'),
name: 'primaryKey',
rules: [{ required: true }],
props: {
@@ -118,11 +118,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -139,7 +139,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.AllMigration'),
+ label: i18n.t('meta.Sinks.SQLServer.AllMigration'),
name: 'allMigration',
rules: [{ required: true }],
initialValue: true,
@@ -159,7 +159,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -169,7 +169,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -200,14 +200,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `SQLSERVER${i18n.t('components.AccessHelper.StorageMetaData.SQLServer.FieldName')}`,
+ title: `SQLSERVER${i18n.t('meta.Sinks.SQLServer.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.FieldNameRule'),
+ message: i18n.t('meta.Sinks.SQLServer.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -215,7 +215,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `SQLSERVER${i18n.t('components.AccessHelper.StorageMetaData.SQLServer.FieldType')}`,
+ title: `SQLSERVER${i18n.t('meta.Sinks.SQLServer.FieldType')}`,
dataIndex: 'fieldType',
initialValue: sqlserverFieldTypes[0].value,
type: 'select',
@@ -226,7 +226,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.IsMetaField'),
+ title: i18n.t('meta.Sinks.SQLServer.IsMetaField'),
initialValue: 0,
dataIndex: 'isMetaField',
type: 'select',
@@ -244,7 +244,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.FieldFormat'),
+ title: i18n.t('meta.Sinks.SQLServer.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: '',
type: 'autocomplete',
@@ -258,7 +258,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['BIGINT', 'DATE', 'TIMESTAMP'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.SQLServer.FieldDescription'),
+ title: i18n.t('meta.Sinks.SQLServer.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sinks/tdsqlPostgreSql.tsx b/inlong-dashboard/src/meta/sinks/tdsqlPostgreSql.tsx
index eb98b87b7..daf553406 100644
--- a/inlong-dashboard/src/meta/sinks/tdsqlPostgreSql.tsx
+++ b/inlong-dashboard/src/meta/sinks/tdsqlPostgreSql.tsx
@@ -75,7 +75,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.SchemaName'),
+ label: i18n.t('meta.Sinks.TDSQLPostgreSQL.SchemaName'),
name: 'schemaName',
rules: [{ required: true }],
props: {
@@ -85,7 +85,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.TableName'),
+ label: i18n.t('meta.Sinks.TDSQLPostgreSQL.TableName'),
name: 'tableName',
rules: [{ required: true }],
props: {
@@ -95,7 +95,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.PrimaryKey'),
+ label: i18n.t('meta.Sinks.TDSQLPostgreSQL.PrimaryKey'),
name: 'primaryKey',
rules: [{ required: true }],
props: {
@@ -105,11 +105,11 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResource'),
+ label: i18n.t('meta.Sinks.EnableCreateResource'),
name: 'enableCreateResource',
rules: [{ required: true }],
initialValue: 1,
- tooltip: i18n.t('components.AccessHelper.StorageMetaData.EnableCreateResourceHelp'),
+ tooltip: i18n.t('meta.Sinks.EnableCreateResourceHelp'),
props: {
disabled: isEdit && [110, 130].includes(currentValues?.status),
options: [
@@ -126,7 +126,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.StorageMetaData.Username'),
+ label: i18n.t('meta.Sinks.Username'),
name: 'username',
rules: [{ required: true }],
props: {
@@ -136,7 +136,7 @@ const getForm: GetStorageFormFieldsType = (
},
{
type: 'password',
- label: i18n.t('components.AccessHelper.StorageMetaData.Password'),
+ label: i18n.t('meta.Sinks.Password'),
name: 'password',
rules: [{ required: true }],
props: {
@@ -167,16 +167,14 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
return [
...sourceFields,
{
- title: `TDSQLPOSTGRESQL${i18n.t(
- 'components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldName',
- )}`,
+ title: `TDSQLPOSTGRESQL${i18n.t('meta.Sinks.TDSQLPostgreSQL.FieldName')}`,
dataIndex: 'fieldName',
initialValue: '',
rules: [
{ required: true },
{
pattern: /^[a-z][0-9a-z_]*$/,
- message: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldNameRule'),
+ message: i18n.t('meta.Sinks.TDSQLPostgreSQL.FieldNameRule'),
},
],
props: (text, record, idx, isNew) => ({
@@ -184,9 +182,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: `TDSQLPOSTGRESQL${i18n.t(
- 'components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldType',
- )}`,
+ title: `TDSQLPOSTGRESQL${i18n.t('meta.Sinks.TDSQLPostgreSQL.FieldType')}`,
dataIndex: 'fieldType',
initialValue: tdsqlpostgreSQLFieldTypes[0].value,
type: 'select',
@@ -197,7 +193,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.IsMetaField'),
+ title: i18n.t('meta.Sinks.TDSQLPostgreSQL.IsMetaField'),
initialValue: 0,
dataIndex: 'isMetaField',
type: 'select',
@@ -215,7 +211,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
}),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldFormat'),
+ title: i18n.t('meta.Sinks.TDSQLPostgreSQL.FieldFormat'),
dataIndex: 'fieldFormat',
initialValue: '',
type: 'autocomplete',
@@ -229,7 +225,7 @@ const getFieldListColumns: GetStorageColumnsType = (dataType, currentValues) =>
['BIGINT', 'DATE', 'TIMESTAMP'].includes(record.fieldType as string),
},
{
- title: i18n.t('components.AccessHelper.StorageMetaData.TDSQLPostgreSQL.FieldDescription'),
+ title: i18n.t('meta.Sinks.TDSQLPostgreSQL.FieldDescription'),
dataIndex: 'fieldComment',
initialValue: '',
},
diff --git a/inlong-dashboard/src/meta/sources/binLog.ts b/inlong-dashboard/src/meta/sources/binLog.ts
index a436d4ffb..2428c4523 100644
--- a/inlong-dashboard/src/meta/sources/binLog.ts
+++ b/inlong-dashboard/src/meta/sources/binLog.ts
@@ -27,7 +27,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'hostname',
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.Server'),
+ label: i18n.t('meta.Sources.Db.Server'),
rules: [{ required: true }],
props: {
disabled: currentValues?.status === 101,
@@ -37,7 +37,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'port',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.Port'),
+ label: i18n.t('meta.Sources.Db.Port'),
initialValue: 3306,
rules: [{ required: true }],
props: {
@@ -50,7 +50,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'user',
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.User'),
+ label: i18n.t('meta.Sources.Db.User'),
rules: [{ required: true }],
props: {
disabled: currentValues?.status === 101,
@@ -59,7 +59,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'password',
type: 'password',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.Password'),
+ label: i18n.t('meta.Sources.Db.Password'),
rules: [{ required: true }],
props: {
disabled: currentValues?.status === 101,
@@ -68,7 +68,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'historyFilename',
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.HistoryFilename'),
+ label: i18n.t('meta.Sources.Db.HistoryFilename'),
rules: [{ required: true }],
initialValue: '/data/inlong-agent/.history',
props: {
@@ -79,7 +79,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'serverTimezone',
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.ServerTimezone'),
+ label: i18n.t('meta.Sources.Db.ServerTimezone'),
tooltip: 'UTC, UTC+8, Asia/Shanghai, ...',
initialValue: 'UTC',
rules: [{ required: true }],
@@ -90,7 +90,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'intervalMs',
type: 'inputnumber',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.IntervalMs'),
+ label: i18n.t('meta.Sources.Db.IntervalMs'),
initialValue: 1000,
rules: [{ required: true }],
suffix: 'ms',
@@ -103,7 +103,7 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'allMigration',
type: 'radio',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.AllMigration'),
+ label: i18n.t('meta.Sources.Db.AllMigration'),
rules: [{ required: true }],
initialValue: false,
props: {
@@ -123,8 +123,8 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'databaseWhiteList',
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.DatabaseWhiteList'),
- tooltip: i18n.t('components.AccessHelper.DataSourceMetaData.Db.WhiteListHelp'),
+ label: i18n.t('meta.Sources.Db.DatabaseWhiteList'),
+ tooltip: i18n.t('meta.Sources.Db.WhiteListHelp'),
rules: [{ required: true }],
props: {
disabled: currentValues?.status === 101,
@@ -134,8 +134,8 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
{
name: 'tableWhiteList',
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.Db.TableWhiteList'),
- tooltip: i18n.t('components.AccessHelper.DataSourceMetaData.Db.WhiteListHelp'),
+ label: i18n.t('meta.Sources.Db.TableWhiteList'),
+ tooltip: i18n.t('meta.Sources.Db.WhiteListHelp'),
rules: [{ required: true }],
props: {
disabled: currentValues?.status === 101,
diff --git a/inlong-dashboard/src/meta/sources/file.ts b/inlong-dashboard/src/meta/sources/file.ts
index d9aa6991d..e5b7534ae 100644
--- a/inlong-dashboard/src/meta/sources/file.ts
+++ b/inlong-dashboard/src/meta/sources/file.ts
@@ -26,12 +26,12 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
const fileds = [
{
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.File.DataSourceIP'),
+ label: i18n.t('meta.Sources.File.DataSourceIP'),
name: 'ip',
rules: [
{
pattern: rulesPattern.ip,
- message: i18n.t('components.AccessHelper.DataSourceMetaData.File.IpRule'),
+ message: i18n.t('meta.Sources.File.IpRule'),
required: true,
},
],
@@ -39,17 +39,17 @@ const getForm = (type: 'form' | 'col' = 'form', { currentValues } = {} as any) =
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.File.FilePath'),
+ label: i18n.t('meta.Sources.File.FilePath'),
name: 'pattern',
- tooltip: i18n.t('components.AccessHelper.DataSourceMetaData.File.FilePathHelp'),
+ tooltip: i18n.t('meta.Sources.File.FilePathHelp'),
rules: [{ required: true }],
_inTable: true,
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.DataSourceMetaData.File.TimeOffset'),
+ label: i18n.t('meta.Sources.File.TimeOffset'),
name: 'timeOffset',
- tooltip: i18n.t('components.AccessHelper.DataSourceMetaData.File.TimeOffsetHelp'),
+ tooltip: i18n.t('meta.Sources.File.TimeOffsetHelp'),
_inTable: true,
},
];
diff --git a/inlong-dashboard/src/components/AccessHelper/FieldsConfig/dataFields.tsx b/inlong-dashboard/src/meta/stream/index.tsx
similarity index 74%
rename from inlong-dashboard/src/components/AccessHelper/FieldsConfig/dataFields.tsx
rename to inlong-dashboard/src/meta/stream/index.tsx
index 6282af3db..8bfb3abba 100644
--- a/inlong-dashboard/src/components/AccessHelper/FieldsConfig/dataFields.tsx
+++ b/inlong-dashboard/src/meta/stream/index.tsx
@@ -37,7 +37,7 @@ export default (
const fields: FormItemProps[] = [
{
type: 'input',
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DataStreamID'),
+ label: i18n.t('meta.Stream.DataStreamID'),
name: 'inlongStreamId',
props: {
maxLength: 32,
@@ -47,19 +47,19 @@ export default (
{ required: true },
{
pattern: /^[0-9a-z_-]+$/,
- message: i18n.t('components.AccessHelper.FieldsConfig.dataFields.InlongStreamIdRules'),
+ message: i18n.t('meta.Stream.InlongStreamIdRules'),
},
],
},
{
type: 'input',
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DataStreamName'),
+ label: i18n.t('meta.Stream.DataStreamName'),
name: 'name',
initialValue: currentValues.name,
},
{
type: 'textarea',
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DataFlowIntroduction'),
+ label: i18n.t('meta.Stream.DataFlowIntroduction'),
name: 'description',
props: {
showCount: true,
@@ -69,10 +69,10 @@ export default (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DataType'),
+ label: i18n.t('meta.Stream.DataType'),
name: 'dataType',
initialValue: currentValues.dataType ?? 'CSV',
- tooltip: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DataTypeCsvHelp'),
+ tooltip: i18n.t('meta.Stream.DataTypeCsvHelp'),
props: {
options: [
{
@@ -98,7 +98,7 @@ export default (
},
{
type: 'radio',
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DataEncoding'),
+ label: i18n.t('meta.Stream.DataEncoding'),
name: 'dataEncoding',
initialValue: currentValues.dataEncoding ?? 'UTF-8',
props: {
@@ -118,34 +118,34 @@ export default (
},
{
type: 'select',
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.fileDelimiter'),
+ label: i18n.t('meta.Stream.fileDelimiter'),
name: 'dataSeparator',
initialValue: '124',
props: {
dropdownMatchSelectWidth: false,
options: [
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Space'),
+ label: i18n.t('meta.Stream.Space'),
value: '32',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.VerticalLine'),
+ label: i18n.t('meta.Stream.VerticalLine'),
value: '124',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Comma'),
+ label: i18n.t('meta.Stream.Comma'),
value: '44',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Semicolon'),
+ label: i18n.t('meta.Stream.Semicolon'),
value: '59',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.Asterisk'),
+ label: i18n.t('meta.Stream.Asterisk'),
value: '42',
},
{
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.DoubleQuotes'),
+ label: i18n.t('meta.Stream.DoubleQuotes'),
value: '34',
},
],
@@ -175,7 +175,7 @@ export default (
editing={fieldListEditing}
columns={[
{
- title: i18n.t('components.AccessHelper.FieldsConfig.dataFields.FieldName'),
+ title: i18n.t('meta.Stream.FieldName'),
dataIndex: 'fieldName',
props: () => ({
disabled: !fieldListEditing,
@@ -184,12 +184,12 @@ export default (
{ required: true },
{
pattern: /^[a-zA-Z][a-zA-Z0-9_]*$/,
- message: i18n.t('components.AccessHelper.FieldsConfig.dataFields.FieldNameRule'),
+ message: i18n.t('meta.Stream.FieldNameRule'),
},
],
},
{
- title: i18n.t('components.AccessHelper.FieldsConfig.dataFields.FieldType'),
+ title: i18n.t('meta.Stream.FieldType'),
dataIndex: 'fieldType',
type: 'select',
initialValue: sourceFieldsTypes[0].value,
@@ -200,13 +200,13 @@ export default (
rules: [{ required: true }],
},
{
- title: i18n.t('components.AccessHelper.FieldsConfig.dataFields.FieldComment'),
+ title: i18n.t('meta.Stream.FieldComment'),
dataIndex: 'fieldComment',
},
]}
/>
),
- label: i18n.t('components.AccessHelper.FieldsConfig.dataFields.SourceDataField'),
+ label: i18n.t('meta.Stream.SourceDataField'),
name: 'rowTypeFields',
visible: () => !(currentValues.dataType as string[])?.includes('PB'),
},
diff --git a/inlong-dashboard/src/components/AccessHelper/DataSourcesEditor/CreateModal.tsx b/inlong-dashboard/src/pages/AccessDetail/DataSources/DetailModal.tsx
similarity index 94%
rename from inlong-dashboard/src/components/AccessHelper/DataSourcesEditor/CreateModal.tsx
rename to inlong-dashboard/src/pages/AccessDetail/DataSources/DetailModal.tsx
index a577adec3..a480885af 100644
--- a/inlong-dashboard/src/components/AccessHelper/DataSourcesEditor/CreateModal.tsx
+++ b/inlong-dashboard/src/pages/AccessDetail/DataSources/DetailModal.tsx
@@ -125,16 +125,7 @@ const Comp: React.FC<Props> = ({ type, id, content = [], record, ...modalProps }
return (
<>
- <Modal
- {...modalProps}
- title={
- type === 'MYSQL_BINLOG'
- ? 'MYSQL_BINLOG'
- : t('components.AccessHelper.DataSourcesEditor.CreateModal.File')
- }
- width={666}
- onOk={onOk}
- >
+ <Modal {...modalProps} title={sourcesMap[type]?.label} width={666} onOk={onOk}>
<FormGenerator
content={content.concat(formContent)}
onValuesChange={vals => setCurrentValues(prev => ({ ...prev, ...vals }))}
diff --git a/inlong-dashboard/src/pages/AccessDetail/DataSources/index.tsx b/inlong-dashboard/src/pages/AccessDetail/DataSources/index.tsx
index 362e31ef2..8838b955d 100644
--- a/inlong-dashboard/src/pages/AccessDetail/DataSources/index.tsx
+++ b/inlong-dashboard/src/pages/AccessDetail/DataSources/index.tsx
@@ -22,7 +22,7 @@ import { Button, Modal, message } from 'antd';
import HighTable from '@/components/HighTable';
import { defaultSize } from '@/configs/pagination';
import { useRequest } from '@/hooks';
-import { DataSourcesCreateModal } from '@/components/AccessHelper';
+import DetailModal from './DetailModal';
import { sources } from '@/meta/sources';
import i18n from '@/i18n';
import request from '@/utils/request';
@@ -253,7 +253,7 @@ const Comp = ({ inlongGroupId, readonly }: Props, ref) => {
}}
/>
- <DataSourcesCreateModal
+ <DetailModal
{...createModal}
type={options.sourceType as any}
content={createContent}
diff --git a/inlong-dashboard/src/components/AccessHelper/DataStorageEditor/DetailModal.tsx b/inlong-dashboard/src/pages/AccessDetail/DataStorage/DetailModal.tsx
similarity index 90%
rename from inlong-dashboard/src/components/AccessHelper/DataStorageEditor/DetailModal.tsx
rename to inlong-dashboard/src/pages/AccessDetail/DataStorage/DetailModal.tsx
index eb624366b..54ef0368a 100644
--- a/inlong-dashboard/src/components/AccessHelper/DataStorageEditor/DetailModal.tsx
+++ b/inlong-dashboard/src/pages/AccessDetail/DataStorage/DetailModal.tsx
@@ -27,7 +27,7 @@ import FormGenerator, {
FormItemProps,
FormGeneratorProps,
} from '@/components/FormGenerator';
-import { Storages, StoragesType } from '@/meta/sinks';
+import { Sinks, SinkType } from '@/meta/sinks';
export interface DetailModalProps extends ModalProps {
inlongGroupId: string;
@@ -46,7 +46,7 @@ export interface DetailModalProps extends ModalProps {
onValuesChange?: FormGeneratorProps['onValuesChange'];
}
-const StoragesMap: Record<string, StoragesType> = Storages.reduce(
+const SinksMap: Record<string, SinkType> = Sinks.reduce(
(acc, cur) => ({
...acc,
[cur.value]: cur,
@@ -94,7 +94,7 @@ const Comp: React.FC<DetailModalProps> = ({
const toFormVals = useCallback(
v => {
- const mapFunc = StoragesMap[sinkType]?.toFormValues;
+ const mapFunc = SinksMap[sinkType]?.toFormValues;
return mapFunc ? mapFunc(v) : v;
},
[sinkType],
@@ -102,7 +102,7 @@ const Comp: React.FC<DetailModalProps> = ({
const toSubmitVals = useCallback(
v => {
- const mapFunc = StoragesMap[sinkType]?.toSubmitValues;
+ const mapFunc = SinksMap[sinkType]?.toSubmitValues;
return mapFunc ? mapFunc(v) : v;
},
[sinkType],
@@ -140,7 +140,7 @@ const Comp: React.FC<DetailModalProps> = ({
item => item.fieldName && item.fieldType,
);
if (fieldListKey && usefulDefaultRowTypeFields?.length) {
- const getFieldListColumns = Storages.find(item => item.value === sinkType)
+ const getFieldListColumns = Sinks.find(item => item.value === sinkType)
?.getFieldListColumns;
form.setFieldsValue({
[fieldListKey.columnsKey]: usefulDefaultRowTypeFields?.map(item => ({
@@ -174,7 +174,7 @@ const Comp: React.FC<DetailModalProps> = ({
}, [modalProps.visible]);
const formContent = useMemo(() => {
- const getForm = StoragesMap[sinkType].getForm;
+ const getForm = SinksMap[sinkType].getForm;
const config = getForm('form', {
currentValues,
inlongGroupId,
@@ -186,12 +186,12 @@ const Comp: React.FC<DetailModalProps> = ({
{
name: 'sinkName',
type: 'input',
- label: t('components.AccessHelper.StorageMetaData.SinkName'),
+ label: t('meta.Sinks.SinkName'),
rules: [
{ required: true },
{
pattern: /^[a-zA-Z][a-zA-Z0-9_-]*$/,
- message: t('components.AccessHelper.StorageMetaData.SinkNameRule'),
+ message: t('meta.Sinks.SinkNameRule'),
},
],
props: {
@@ -201,7 +201,7 @@ const Comp: React.FC<DetailModalProps> = ({
{
name: 'description',
type: 'textarea',
- label: t('components.AccessHelper.StorageMetaData.Description'),
+ label: t('meta.Sinks.Description'),
props: {
showCount: true,
maxLength: 300,
@@ -226,7 +226,7 @@ const Comp: React.FC<DetailModalProps> = ({
};
return (
- <Modal title={StoragesMap[sinkType]?.label} width={1200} {...modalProps} onOk={onOk}>
+ <Modal title={SinksMap[sinkType]?.label} width={1200} {...modalProps} onOk={onOk}>
<FormGenerator
name={name}
labelCol={{ span: 4 }}
diff --git a/inlong-dashboard/src/pages/AccessDetail/DataStorage/index.tsx b/inlong-dashboard/src/pages/AccessDetail/DataStorage/index.tsx
index 01b13f3ce..7600820e0 100644
--- a/inlong-dashboard/src/pages/AccessDetail/DataStorage/index.tsx
+++ b/inlong-dashboard/src/pages/AccessDetail/DataStorage/index.tsx
@@ -23,8 +23,8 @@ import HighTable from '@/components/HighTable';
import { defaultSize } from '@/configs/pagination';
import { useRequest } from '@/hooks';
import i18n from '@/i18n';
-import { DataStorageDetailModal } from '@/components/AccessHelper';
-import { Storages } from '@/meta/sinks';
+import DetailModal from './DetailModal';
+import { Sinks } from '@/meta/sinks';
import request from '@/utils/request';
import { CommonInterface } from '../common';
import { statusList, genStatusTag } from './status';
@@ -43,7 +43,7 @@ const getFilterFormContent = defaultValues => [
initialValue: defaultValues.sinkType,
props: {
dropdownMatchSelectWidth: false,
- options: Storages.map(item => ({
+ options: Sinks.map(item => ({
label: item.label,
value: item.value,
})),
@@ -65,7 +65,7 @@ const Comp = ({ inlongGroupId, readonly }: Props, ref) => {
keyword: '',
pageSize: defaultSize,
pageNum: 1,
- sinkType: Storages[0].value,
+ sinkType: Sinks[0].value,
});
const [curDataStreamIdentifier, setCurDataStreamIdentifier] = useState<string>();
@@ -168,7 +168,7 @@ const Comp = ({ inlongGroupId, readonly }: Props, ref) => {
const columnsMap = useMemo(
() =>
- Storages.reduce(
+ Sinks.reduce(
(acc, cur) => ({
...acc,
[cur.value]: cur.tableColumns,
@@ -256,7 +256,7 @@ const Comp = ({ inlongGroupId, readonly }: Props, ref) => {
}}
/>
- <DataStorageDetailModal
+ <DetailModal
{...createModal}
inlongGroupId={inlongGroupId}
content={createContent}
diff --git a/inlong-dashboard/src/pages/AccessDetail/DataStream/StreamItemModal.tsx b/inlong-dashboard/src/pages/AccessDetail/DataStream/StreamItemModal.tsx
index f173f35d1..52438e82b 100644
--- a/inlong-dashboard/src/pages/AccessDetail/DataStream/StreamItemModal.tsx
+++ b/inlong-dashboard/src/pages/AccessDetail/DataStream/StreamItemModal.tsx
@@ -23,7 +23,8 @@ import { ModalProps } from 'antd/es/modal';
import FormGenerator, { useForm } from '@/components/FormGenerator';
import { useUpdateEffect, useRequest } from '@/hooks';
import i18n from '@/i18n';
-import { genBusinessFields, genDataFields } from '@/components/AccessHelper';
+import getGroupFields from '@/meta/group';
+import getStreamFields from '@/meta/stream';
import request from '@/utils/request';
import { dataToValues, valuesToData } from './helper';
@@ -36,7 +37,7 @@ export interface Props extends ModalProps {
export const genFormContent = (isCreate, mqType) => {
return [
- ...genDataFields([
+ ...getStreamFields([
{
type: (
<Divider orientation="left">
@@ -67,12 +68,10 @@ export const genFormContent = (isCreate, mqType) => {
visible: mqType === 'PULSAR',
},
]),
- ...genBusinessFields(['dailyRecords', 'dailyStorage', 'peakRecords', 'maxLength']).map(
- item => ({
- ...item,
- visible: mqType === 'PULSAR',
- }),
- ),
+ ...getGroupFields(['dailyRecords', 'dailyStorage', 'peakRecords', 'maxLength']).map(item => ({
+ ...item,
+ visible: mqType === 'PULSAR',
+ })),
].map(item => {
const obj = { ...item };
diff --git a/inlong-dashboard/src/pages/AccessDetail/Info/config.tsx b/inlong-dashboard/src/pages/AccessDetail/Info/config.tsx
index 401f0009a..7fd1b9e30 100644
--- a/inlong-dashboard/src/pages/AccessDetail/Info/config.tsx
+++ b/inlong-dashboard/src/pages/AccessDetail/Info/config.tsx
@@ -18,7 +18,7 @@
*/
// import React from 'react';
-import { genBusinessFields } from '@/components/AccessHelper';
+import getGroupFields from '@/meta/group';
export const getFormContent = ({ editing, initialValues, isCreate, isUpdate }) => {
const keys = [
@@ -43,7 +43,7 @@ export const getFormContent = ({ editing, initialValues, isCreate, isUpdate }) =
].filter(Boolean);
return isCreate
- ? genBusinessFields(keys, initialValues).map(item => {
+ ? getGroupFields(keys, initialValues).map(item => {
if (item.name === 'inlongGroupId' && isUpdate) {
return {
...item,
@@ -55,7 +55,7 @@ export const getFormContent = ({ editing, initialValues, isCreate, isUpdate }) =
}
return item;
})
- : genBusinessFields(keys, initialValues).map(item => ({
+ : getGroupFields(keys, initialValues).map(item => ({
...item,
type: transType(editing, item, initialValues),
suffix:
diff --git a/inlong-dashboard/src/pages/ApprovalDetail/AccessConfig.tsx b/inlong-dashboard/src/pages/ApprovalDetail/AccessConfig.tsx
index a9c7ea2c2..6621075c2 100644
--- a/inlong-dashboard/src/pages/ApprovalDetail/AccessConfig.tsx
+++ b/inlong-dashboard/src/pages/ApprovalDetail/AccessConfig.tsx
@@ -20,10 +20,10 @@
import React from 'react';
import { Divider, Table } from 'antd';
import i18n from '@/i18n';
-import { genBusinessFields } from '@/components/AccessHelper';
+import getGroupFields from '@/meta/group';
-const getBusinessContent = (initialValues, isFinished, isViwer) => [
- ...genBusinessFields(
+const getContent = (initialValues, isFinished, isViwer) => [
+ ...getGroupFields(
[
'inlongGroupId',
'name',
@@ -85,7 +85,7 @@ export const getFormContent = ({ isViwer, formData, suffixContent, noExtraForm,
</Divider>
),
},
- ...(getBusinessContent(formData.groupInfo, isFinished, isViwer) || []),
+ ...(getContent(formData.groupInfo, isFinished, isViwer) || []),
{
type: (
<Divider orientation="left">
diff --git a/inlong-dashboard/src/pages/ApprovalDetail/ConsumeConfig.tsx b/inlong-dashboard/src/pages/ApprovalDetail/ConsumeConfig.tsx
index 3f06474dc..f68a182de 100644
--- a/inlong-dashboard/src/pages/ApprovalDetail/ConsumeConfig.tsx
+++ b/inlong-dashboard/src/pages/ApprovalDetail/ConsumeConfig.tsx
@@ -20,10 +20,10 @@
import React from 'react';
import { Divider } from 'antd';
import i18n from '@/i18n';
-import { genBasicFields } from '@/components/ConsumeHelper';
+import getConsumptionFields from '@/meta/consumption';
-const getConsumerContent = initialValues => {
- return genBasicFields(
+const getContent = initialValues => {
+ return getConsumptionFields(
[
'consumerGroup',
'inCharges',
@@ -74,7 +74,7 @@ export const getFormContent = (
</Divider>
),
},
- ...(getConsumerContent(formData.consumptionInfo) || []),
+ ...(getContent(formData.consumptionInfo) || []),
];
const extraForm =
diff --git a/inlong-dashboard/src/pages/ConsumeCreate/Info/config.tsx b/inlong-dashboard/src/pages/ConsumeCreate/Info/config.tsx
deleted file mode 100644
index 0c747eb7c..000000000
--- a/inlong-dashboard/src/pages/ConsumeCreate/Info/config.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React from 'react';
-import { Divider } from 'antd';
-import i18n from '@/i18n';
-import { genBasicFields } from '@/components/ConsumeHelper';
-
-export const getFormContent = ({ changedValues }): ReturnType<typeof genBasicFields> =>
- genBasicFields(
- [
- {
- type: (
- <Divider orientation="left">{i18n.t('pages.ConsumeCreate.ConsumerInformation')}</Divider>
- ),
- },
- 'consumerGroupName',
- 'inCharges',
- 'inlongGroupId',
- 'topic',
- 'filterEnabled',
- {
- type: <Divider orientation="left">DLQ</Divider>,
- visible: values => values.mqType === 'PULSAR',
- },
- 'mqExtInfo.isDlq',
- 'mqExtInfo.deadLetterTopic',
- {
- type: <Divider orientation="left">RLQ</Divider>,
- visible: values => values.mqExtInfo?.isDlq && values.mqType === 'PULSAR',
- },
- 'mqExtInfo.isRlq',
- 'mqExtInfo.retryLetterTopic',
- ],
- changedValues,
- );
diff --git a/inlong-dashboard/src/pages/ConsumeCreate/Info/index.tsx b/inlong-dashboard/src/pages/ConsumeCreate/Info/index.tsx
deleted file mode 100644
index f4f0e37b7..000000000
--- a/inlong-dashboard/src/pages/ConsumeCreate/Info/index.tsx
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React, { useState, forwardRef, useImperativeHandle, useEffect, useMemo } from 'react';
-import FormGenerator, { useForm } from '@/components/FormGenerator';
-import { useRequest, useSelector } from '@/hooks';
-import { State } from '@/models';
-import request from '@/utils/request';
-import { getFormContent } from './config';
-
-export interface Props {
- id?: number;
-}
-
-const Comp = ({ id }: Props, ref) => {
- const [form] = useForm();
-
- const { userName } = useSelector<State, State>(state => state);
-
- const [changedValues, setChangedValues] = useState<Record<string, unknown>>({});
-
- const isUpdate = useMemo(() => {
- return !!id;
- }, [id]);
-
- const { data: savedData } = useRequest(
- {
- url: `/consumption/get/${id}`,
- },
- {
- ready: !!id && !Object.keys(changedValues).length,
- refreshDeps: [id],
- formatResult: data => ({
- ...data,
- topic: data.topic.split(','),
- inCharges: data.inCharges?.split(',') || [],
- }),
- onSuccess: data => {
- form.setFieldsValue(data);
- setChangedValues(data);
- },
- },
- );
-
- const onOk = async () => {
- const values = await form.validateFields();
- const data = {
- ...values,
- inCharges: values.inCharges.join(','),
- consumerGroupId: values.consumerGroupName || savedData.consumerGroupId,
- topic: Array.isArray(values.topic) ? values.topic.join(',') : values.topic,
- mqExtInfo: {
- ...values.mqExtInfo,
- mqType: values.mqType,
- },
- };
-
- if (id) data.id = id;
-
- const result = await request({
- url: '/consumption/save',
- method: 'POST',
- data,
- });
- await request({
- url: `/consumption/startProcess/${result}`,
- method: 'POST',
- });
- return result;
- };
-
- useEffect(() => {
- const values = {} as Record<string, unknown>;
- if (!isUpdate) {
- if (userName) values.inCharges = [userName];
- form.setFieldsValue(values);
- setChangedValues(values);
- }
- }, [isUpdate, form, userName]);
-
- useImperativeHandle(ref, () => ({
- onOk,
- }));
-
- return (
- <>
- <FormGenerator
- form={form}
- content={getFormContent({ changedValues })}
- useMaxWidth={800}
- onValuesChange={(c, v) => setChangedValues(prev => ({ ...prev, ...v }))}
- allValues={savedData}
- />
- </>
- );
-};
-
-export default forwardRef(Comp);
diff --git a/inlong-dashboard/src/pages/ConsumeCreate/index.tsx b/inlong-dashboard/src/pages/ConsumeCreate/index.tsx
deleted file mode 100644
index 95176514c..000000000
--- a/inlong-dashboard/src/pages/ConsumeCreate/index.tsx
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import React, { useState, useRef } from 'react';
-import { Button, Card, Steps, Space, message } from 'antd';
-import { parse } from 'qs';
-import { PageContainer, Container, FooterToolbar } from '@/components/PageContainer';
-import { useHistory, useLocation, useSet } from '@/hooks';
-import { useTranslation } from 'react-i18next';
-import Info from './Info';
-
-const { Step } = Steps;
-
-const Create: React.FC = () => {
- const { t } = useTranslation();
- const history = useHistory();
-
- const location = useLocation();
-
- const qs = parse(location.search.slice(1));
-
- const [current, setCurrent] = useState(+qs.step || 0);
- const [, { add: addOpened, has: hasOpened }] = useSet([current]);
- const [confirmLoading, setConfirmLoading] = useState(false);
-
- const [id, setId] = useState(qs.id);
-
- const infoRef = useRef();
-
- const steps = [
- {
- title: t('pages.ConsumeCreate.ConsumerInformation'),
- content: <Info ref={infoRef} id={id} />,
- useCache: true,
- ref: infoRef,
- },
- ];
-
- const onOk = async current => {
- const currentStepObj = steps[current] as any;
- const onOk = currentStepObj.ref?.current?.onOk;
- setConfirmLoading(true);
- try {
- const result = onOk && (await onOk());
- if (current === 0) {
- setId(result);
- history.push({
- search: `?id=${result}&step=1`,
- });
- }
- } finally {
- setConfirmLoading(false);
- }
- };
-
- const onSubmit = async current => {
- await onOk(current);
- message.success(t('basic.OperatingSuccess'));
- history.push('/consume');
- };
-
- const Footer = () => (
- <Space style={{ display: 'flex', justifyContent: 'center' }}>
- {current > 0 && (
- <Button onClick={() => setCurrent(current - 1)}>{t('pages.ConsumeCreate.Prev')}</Button>
- )}
- {current !== steps.length - 1 && (
- <Button
- type="primary"
- loading={confirmLoading}
- onClick={async () => {
- await onOk(current);
-
- const newCurrent = current + 1;
- setCurrent(newCurrent);
- if (!hasOpened(newCurrent)) addOpened(newCurrent);
- }}
- >
- {t('pages.ConsumeCreate.Next')}
- </Button>
- )}
- {current === steps.length - 1 && (
- <Button type="primary" onClick={() => onSubmit(current)}>
- {t('pages.ConsumeCreate.Submit')}
- </Button>
- )}
- <Button onClick={() => history.push('/consume')}>{t('pages.ConsumeCreate.Back')}</Button>
- </Space>
- );
-
- return (
- <PageContainer
- breadcrumb={[{ name: t('pages.ConsumeCreate.NewConsume') }]}
- useDefaultContainer={false}
- >
- <Steps current={current} size="small" style={{ marginBottom: 20, width: 400 }}>
- {steps.map(item => (
- <Step key={item.title} title={item.title} />
- ))}
- </Steps>
-
- <Container>
- <Card>
- {steps.map((item, index) => (
- // Lazy load the content of the step, and at the same time make the loaded useCache content not destroy
- <div key={item.title} style={{ display: `${index === current ? 'block' : 'none'}` }}>
- {index === current || (item.useCache && hasOpened(index)) ? item.content : null}
- </div>
- ))}
- </Card>
- </Container>
-
- <FooterToolbar extra={<Footer />} />
- </PageContainer>
- );
-};
-
-export default Create;
diff --git a/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx b/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx
index e14f557cf..770ac4641 100644
--- a/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx
+++ b/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx
@@ -17,7 +17,7 @@
* under the License.
*/
-import { genBasicFields } from '@/components/ConsumeHelper';
+import getConsumptionFields from '@/meta/consumption';
export const getFormContent = ({ editing, initialValues, isCreate }) => {
const keys = [
@@ -35,10 +35,10 @@ export const getFormContent = ({ editing, initialValues, isCreate }) => {
].filter(Boolean);
return isCreate
- ? genBasicFields(keys, initialValues).map(item => {
+ ? getConsumptionFields(keys, initialValues).map(item => {
return item;
})
- : genBasicFields(keys, initialValues).map(item => ({
+ : getConsumptionFields(keys, initialValues).map(item => ({
...item,
type: transType(editing, item, initialValues),
suffix: