You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by le...@apache.org on 2023/03/30 02:47:03 UTC

[inlong] branch master updated: [INLONG-7728][Dashboard] Extract the cluster properties of Redis NodeManagement (#7729)

This is an automated email from the ASF dual-hosted git repository.

leezng 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 cfa5d2bdd [INLONG-7728][Dashboard] Extract the cluster properties of Redis NodeManagement (#7729)
cfa5d2bdd is described below

commit cfa5d2bdd4803076a57afd6ae4b6d1ef67c91f87
Author: feat <fe...@outlook.com>
AuthorDate: Thu Mar 30 10:46:56 2023 +0800

    [INLONG-7728][Dashboard] Extract the cluster properties of Redis NodeManagement (#7729)
---
 inlong-dashboard/src/locales/cn.json               | 20 ++---
 inlong-dashboard/src/locales/en.json               | 21 +++---
 inlong-dashboard/src/metas/nodes/defaults/Redis.ts | 88 +++++++++++++++++++---
 inlong-dashboard/src/metas/sinks/defaults/Redis.ts | 39 ----------
 4 files changed, 98 insertions(+), 70 deletions(-)

diff --git a/inlong-dashboard/src/locales/cn.json b/inlong-dashboard/src/locales/cn.json
index 0b07d3a11..6ab2743cc 100644
--- a/inlong-dashboard/src/locales/cn.json
+++ b/inlong-dashboard/src/locales/cn.json
@@ -311,7 +311,6 @@
   "meta.Sinks.StarRocks.IsMetaField": "是否为元字段",
   "meta.Sinks.StarRocks.FieldFormat": "字段格式",
   "meta.Sinks.StarRocks.FieldDescription": "字段描述",
-  "meta.Sinks.Redis.clusterModeHelp": "Redis 集群模式, 可为 [cluster|sentinel|standalone]",
   "meta.Sinks.Redis.ttlUnit": "秒",
   "meta.Sinks.Redis.FieldName": "字段名",
   "meta.Sinks.Redis.FieldNameRule": "以英文字母或下划线开头,只能包含英文字母、数字、下划线",
@@ -319,7 +318,6 @@
   "meta.Sinks.Redis.IsMetaField": "是否为元字段",
   "meta.Sinks.Redis.FieldFormat": "字段格式",
   "meta.Sinks.Redis.FieldDescription": "字段描述",
-  "meta.Sinks.Redis.ClusterMode": "集群模式",
   "meta.Sinks.Redis.Database": "DatabaseID",
   "meta.Sinks.Redis.Password": "密码",
   "meta.Sinks.Redis.Ttl": "TTL",
@@ -333,15 +331,8 @@
   "meta.Sinks.Redis.MaxRetries": "最大重试次数",
   "meta.Sinks.Redis.DataType": "数据类型",
   "meta.Sinks.Redis.SchemaMapMode": "Schema 映射模式",
-  "meta.Sinks.Redis.Host": "Host",
-  "meta.Sinks.Redis.Port": "端口",
-  "meta.Sinks.Redis.SentinelMasterName": "主节点名称",
-  "meta.Sinks.Redis.SentinelsInfo": "哨兵信息",
-  "meta.Sinks.Redis.ClusterNodes": "集群节点",
   "meta.Sinks.Redis.TimeoutUnit": "秒",
   "meta.Sinks.Redis.SoTimeoutUnit": "秒",
-  "meta.Sinks.Redis.ClusterModeHelper": "请选择 Redis 集群模式",
-  "meta.Sinks.Redis.PortHelper": "请设置Redis服务器的端口, 默认: 6379",
   "meta.Sinks.Redis.FormatDataType": "数据格式",
   "meta.Sinks.Redis.FormatIgnoreParseError": "忽略数据解析错误",
   "meta.Sinks.Redis.FormatDataEncoding": "数据编码",
@@ -492,7 +483,16 @@
   "meta.Nodes.Hudi.Url": "地址",
   "meta.Nodes.Hudi.CatalogType": "目录类型",
   "meta.Nodes.Hudi.Warehouse": "仓库路径",
-  "meta.Nodes.Redis.Username": "用户名",
+  "meta.Nodes.Redis.ClusterModeHelper": "请选择 Redis 集群模式",
+  "meta.Nodes.Redis.PortHelper": "请设置Redis服务器的端口, 默认: 6379",
+  "meta.Nodes.Redis.Port": "端口",
+  "meta.Nodes.Redis.SentinelMasterName": "主节点名称",
+  "meta.Nodes.Redis.SentinelsInfo": "哨兵信息",
+  "meta.Nodes.Redis.ClusterNodes": "集群节点",
+  "meta.Nodes.Redis.Host": "Host",
+  "meta.Nodes.Redis.Database": "Database",
+  "meta.Nodes.Redis.ClusterMode": "集群模式",
+  "meta.Nodes.Redis.clusterModeHelp": "Redis 集群模式, 可为 [cluster|sentinel|standalone]",
   "meta.Nodes.Redis.Password": "密码",
   "meta.Nodes.Redis.Url": "地址",
   "meta.Nodes.Kudu.masters": "主节点",
diff --git a/inlong-dashboard/src/locales/en.json b/inlong-dashboard/src/locales/en.json
index 7d1de9361..958d1901e 100644
--- a/inlong-dashboard/src/locales/en.json
+++ b/inlong-dashboard/src/locales/en.json
@@ -319,7 +319,6 @@
   "meta.Sinks.Redis.IsMetaField": "IsMetaField",
   "meta.Sinks.Redis.FieldFormat": "FieldFormat",
   "meta.Sinks.Redis.FieldDescription": "FieldDescription",
-  "meta.Sinks.Redis.clusterMode": "ClusterMode",
   "meta.Sinks.Redis.database": "DatabaseID",
   "meta.Sinks.Redis.password": "Password",
   "meta.Sinks.Redis.ttl": "TTL",
@@ -333,16 +332,8 @@
   "meta.Sinks.Redis.maxRetries": "Max Retries",
   "meta.Sinks.Redis.dataType": "Data Type",
   "meta.Sinks.Redis.schemaMapMode": "Schema Map Mode",
-  "meta.Sinks.Redis.Host": "Host",
-  "meta.Sinks.Redis.Port": "port",
-  "meta.Sinks.Redis.SentinelMasterName": "Sentinel Master",
-  "meta.Sinks.Redis.SentinelsInfo": "Sentinels Info",
-  "meta.Sinks.Redis.ClusterNodes": "Cluster Nodes",
   "meta.Sinks.Redis.TimeoutUnit": "s",
-  "meta.Sinks.Redis.SoTimeoutUnit": "s",
-  "meta.Sinks.Redis.ClusterModeHelper": "Please select Cluster Mode",
-  "meta.Sinks.Redis.PortHelper": "Please select Redis server port, default: 6379",
-  "meta.Sinks.Redis.FormatDataType": "Format data type",
+  "meta.Sinks.Redis.SoTimeoutUnit": "s",  "meta.Sinks.Redis.FormatDataType": "Format data type",
   "meta.Sinks.Redis.FormatIgnoreParseError": "Ignore parse error",
   "meta.Sinks.Redis.FormatDataEncoding": "Data encoding",
   "meta.Sinks.Redis.DataSeparator.Space": "Space",
@@ -487,7 +478,15 @@
   "meta.Nodes.StarRocks.Username": "Username",
   "meta.Nodes.StarRocks.Password": "Password",
   "meta.Nodes.StarRocks.Url": "URL",
-  "meta.Nodes.Redis.Username": "Username",
+  "meta.Nodes.Redis.Database": "Database",
+  "meta.Nodes.Redis.clusterMode": "ClusterMode",
+  "meta.Nodes.Redis.Host": "Host",
+  "meta.Sinks.Redis.Port": "port",
+  "meta.Nodes.Redis.SentinelMasterName": "Sentinel Master",
+  "meta.Nodes.Redis.SentinelsInfo": "Sentinels Info",
+  "meta.Nodes.Redis.ClusterNodes": "Cluster Nodes",
+  "meta.Nodes.Redis.ClusterModeHelper": "Please select Cluster Mode",
+  "meta.Nodes.Redis.PortHelper": "Please select Redis server port, default: 6379",
   "meta.Nodes.Redis.Password": "Password",
   "meta.Nodes.Redis.Url": "URL",
   "meta.Nodes.Hudi.Username": "Username",
diff --git a/inlong-dashboard/src/metas/nodes/defaults/Redis.ts b/inlong-dashboard/src/metas/nodes/defaults/Redis.ts
index 3db155c35..6f8c302c2 100644
--- a/inlong-dashboard/src/metas/nodes/defaults/Redis.ts
+++ b/inlong-dashboard/src/metas/nodes/defaults/Redis.ts
@@ -21,33 +21,101 @@ import { DataWithBackend } from '@/metas/DataWithBackend';
 import { RenderRow } from '@/metas/RenderRow';
 import { RenderList } from '@/metas/RenderList';
 import { NodeInfo } from '../common/NodeInfo';
+import i18n from '@/i18n';
 
 const { I18n } = DataWithBackend;
 const { FieldDecorator } = RenderRow;
 
 export default class RedisNode extends NodeInfo implements DataWithBackend, RenderRow, RenderList {
   @FieldDecorator({
-    type: 'input',
+    type: 'select',
     rules: [{ required: true }],
+    tooltip: i18n.t('meta.Nodes.Redis.ClusterModeHelper'),
+    props: values => ({
+      disabled: [110, 130].includes(values?.status),
+      options: [
+        {
+          label: 'cluster',
+          value: 'cluster',
+        },
+        {
+          label: 'sentinel',
+          value: 'sentinel',
+        },
+        {
+          label: 'standalone',
+          value: 'standalone',
+        },
+      ],
+      placeholder: i18n.t('meta.Nodes.Redis.ClusterModeHelper'),
+    }),
   })
-  @I18n('meta.Nodes.Redis.Username')
-  username: string;
+  @I18n('meta.Nodes.Redis.ClusterMode')
+  clusterMode: string;
 
   @FieldDecorator({
-    type: 'password',
-    rules: [{ required: true }],
+    type: 'input',
+    initialValue: '127.0.0.1',
+    rules: [{ required: false }],
+    props: values => ({
+      disabled: [110, 130].includes(values?.status),
+      placeholder: '127.0.0.1',
+    }),
+    visible: values => values!.clusterMode === 'standalone',
+  })
+  @I18n('meta.Nodes.Redis.Host')
+  host: String;
+
+  @FieldDecorator({
+    type: 'inputnumber',
+    rules: [{ required: false }],
+    initialValue: 6379,
+    props: values => ({
+      disabled: [110, 130].includes(values?.status),
+      min: 1,
+      max: 65535,
+      placeholder: i18n.t('meta.Nodes.Redis.PortHelper'),
+    }),
+    visible: values => values!.clusterMode === 'standalone',
   })
-  @I18n('meta.Nodes.Redis.Password')
-  token: string;
+  @I18n('meta.Nodes.Redis.Port')
+  port: number;
 
   @FieldDecorator({
     type: 'input',
-    rules: [{ required: true }],
+    initialValue: '',
+    rules: [{ required: false }],
+    props: values => ({
+      disabled: [110, 130].includes(values?.status),
+    }),
+    visible: values => values!.clusterMode === 'sentinel',
+  })
+  @I18n('meta.Nodes.Redis.SentinelMasterName')
+  sentinelMasterName: String;
+
+  @FieldDecorator({
+    type: 'input',
+    initialValue: '',
+    rules: [{ required: false }],
+    props: values => ({
+      disabled: [110, 130].includes(values?.status),
+      placeholder: '127.0.0.1:6379,127.0.0.1:6378',
+    }),
+    visible: values => values!.clusterMode === 'sentinel',
+  })
+  @I18n('meta.Nodes.Redis.SentinelsInfo')
+  sentinelsInfo: String;
+
+  @FieldDecorator({
+    type: 'input',
+    initialValue: '',
+    rules: [{ required: false }],
     props: values => ({
       disabled: [110, 130].includes(values?.status),
       placeholder: '127.0.0.1:6379,127.0.0.1:6378',
     }),
+    visible: values => values!.clusterMode === 'cluster',
   })
-  @I18n('meta.Nodes.Redis.Url')
-  url: string;
+  @I18n('meta.Nodes.Redis.ClusterNodes')
+  clusterNodes: String;
 }
diff --git a/inlong-dashboard/src/metas/sinks/defaults/Redis.ts b/inlong-dashboard/src/metas/sinks/defaults/Redis.ts
index e927b4679..30e48c9b1 100644
--- a/inlong-dashboard/src/metas/sinks/defaults/Redis.ts
+++ b/inlong-dashboard/src/metas/sinks/defaults/Redis.ts
@@ -69,32 +69,6 @@ const schemaMappingModeStrategies = dataType => {
 };
 
 export default class RedisSink extends SinkInfo implements DataWithBackend, RenderRow, RenderList {
-  @FieldDecorator({
-    type: 'select',
-    rules: [{ required: true }],
-    tooltip: i18n.t('meta.Sinks.Redis.ClusterNameHelper'),
-    props: values => ({
-      disabled: [110, 130].includes(values?.status),
-      options: [
-        {
-          label: 'cluster',
-          value: 'cluster',
-        },
-        {
-          label: 'sentinel',
-          value: 'sentinel',
-        },
-        {
-          label: 'standalone',
-          value: 'standalone',
-        },
-      ],
-      placeholder: i18n.t('meta.Sinks.Redis.ClusterModeHelper'),
-    }),
-  })
-  @I18n('meta.Sinks.Redis.ClusterMode')
-  clusterMode: string;
-
   @FieldDecorator({
     type: NodeSelect,
     rules: [{ required: true }],
@@ -106,19 +80,6 @@ export default class RedisSink extends SinkInfo implements DataWithBackend, Rend
   @I18n('meta.Sinks.DataNodeName')
   dataNodeName: string;
 
-  @FieldDecorator({
-    type: 'input',
-    initialValue: '',
-    rules: [{ required: false }],
-    props: values => ({
-      disabled: [110, 130].includes(values?.status),
-    }),
-    visible: values => values!.clusterMode == 'sentinel',
-  })
-  @ColumnDecorator()
-  @I18n('meta.Sinks.Redis.SentinelMasterName')
-  sentinelMasterName: String;
-
   @FieldDecorator({
     type: 'select',
     rules: [{ required: true }],