You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/11/09 11:25:34 UTC

[inlong] 04/07: [INLONG-6482][Dashboard] Sink management distinguishes between save-only and save-and-submit processes (#6483)

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

dockerzhang pushed a commit to branch branch-1.4
in repository https://gitbox.apache.org/repos/asf/inlong.git

commit 1d298a1b8a26c6e1f707bdb84bc83198edf92f79
Author: Daniel <le...@apache.org>
AuthorDate: Wed Nov 9 17:46:10 2022 +0800

    [INLONG-6482][Dashboard] Sink management distinguishes between save-only and save-and-submit processes (#6483)
---
 inlong-dashboard/src/locales/cn.json               |  3 +++
 inlong-dashboard/src/locales/en.json               |  3 +++
 .../src/metas/groups/defaults/index.ts             |  2 +-
 .../pages/GroupDetail/DataStorage/DetailModal.tsx  | 24 +++++++++++++++++++---
 .../src/pages/GroupDetail/DataStorage/index.tsx    |  1 +
 5 files changed, 29 insertions(+), 4 deletions(-)

diff --git a/inlong-dashboard/src/locales/cn.json b/inlong-dashboard/src/locales/cn.json
index e99371b9c..44ad7e605 100644
--- a/inlong-dashboard/src/locales/cn.json
+++ b/inlong-dashboard/src/locales/cn.json
@@ -384,6 +384,9 @@
   "pages.GroupDetail.Sink.Status.Pending": "配置中",
   "pages.GroupDetail.Sink.Status.Error": "配置失败",
   "pages.GroupDetail.Sink.Status.Success": "配置成功",
+  "pages.GroupDetail.Sink.Cancel": "取消",
+  "pages.GroupDetail.Sink.Save": "仅保存",
+  "pages.GroupDetail.Sink.SaveAndRun": "保存并提交流程",
   "pages.GroupDetail.Stream.StreamConfigTitle": "数据流配置",
   "pages.GroupDetail.Stream.CreateDataStream": "新建数据流",
   "pages.GroupDetail.PageTitle": "详情",
diff --git a/inlong-dashboard/src/locales/en.json b/inlong-dashboard/src/locales/en.json
index 255f56996..ecdfcfa24 100644
--- a/inlong-dashboard/src/locales/en.json
+++ b/inlong-dashboard/src/locales/en.json
@@ -384,6 +384,9 @@
   "pages.GroupDetail.Sink.Status.Pending": "Pending",
   "pages.GroupDetail.Sink.Status.Error": "Error",
   "pages.GroupDetail.Sink.Status.Success": "Success",
+  "pages.GroupDetail.Sink.Cancel": "Cancel",
+  "pages.GroupDetail.Sink.Save": "Save",
+  "pages.GroupDetail.Sink.SaveAndRun": "Save and submit the process",
   "pages.GroupDetail.Stream.StreamConfigTitle": "Data stream configuration",
   "pages.GroupDetail.Stream.CreateDataStream": "Create",
   "pages.GroupDetail.PageTitle": "Detail",
diff --git a/inlong-dashboard/src/metas/groups/defaults/index.ts b/inlong-dashboard/src/metas/groups/defaults/index.ts
index e68379f4a..1eacc5e5b 100644
--- a/inlong-dashboard/src/metas/groups/defaults/index.ts
+++ b/inlong-dashboard/src/metas/groups/defaults/index.ts
@@ -37,7 +37,7 @@ export const allDefaultGroups: MetaExportWithBackendList<GroupMetaType> = [
     LoadEntity: () => import('./Pulsar'),
   },
   {
-    label: 'TubeMq',
+    label: 'TubeMQ',
     value: 'TUBEMQ',
     LoadEntity: () => import('./TubeMq'),
   },
diff --git a/inlong-dashboard/src/pages/GroupDetail/DataStorage/DetailModal.tsx b/inlong-dashboard/src/pages/GroupDetail/DataStorage/DetailModal.tsx
index bba88d61b..0e5489545 100644
--- a/inlong-dashboard/src/pages/GroupDetail/DataStorage/DetailModal.tsx
+++ b/inlong-dashboard/src/pages/GroupDetail/DataStorage/DetailModal.tsx
@@ -18,7 +18,7 @@
  */
 
 import React, { useMemo, useState } from 'react';
-import { Skeleton, Modal, message } from 'antd';
+import { Button, Skeleton, Modal, message } from 'antd';
 import { ModalProps } from 'antd/es/modal';
 import { useRequest, useUpdateEffect } from '@/hooks';
 import { useTranslation } from 'react-i18next';
@@ -84,7 +84,7 @@ const Comp: React.FC<DetailModalProps> = ({ inlongGroupId, id, ...modalProps })
     return Entity ? new Entity().renderRow() : [];
   }, [Entity]);
 
-  const onOk = async () => {
+  const onOk = async (startProcess = false) => {
     const values = await form.validateFields();
     const submitData = new Entity()?.stringify(values) || values;
     const isUpdate = Boolean(id);
@@ -92,6 +92,9 @@ const Comp: React.FC<DetailModalProps> = ({ inlongGroupId, id, ...modalProps })
       submitData.id = id;
       submitData.version = data?.version;
     }
+    if (startProcess) {
+      submitData.startProcess = true;
+    }
     await request({
       url: isUpdate ? '/sink/update' : '/sink/save',
       method: 'POST',
@@ -105,7 +108,22 @@ const Comp: React.FC<DetailModalProps> = ({ inlongGroupId, id, ...modalProps })
   };
 
   return (
-    <Modal title="Sink" width={1200} {...modalProps} onOk={onOk}>
+    <Modal
+      title="Sink"
+      width={1200}
+      {...modalProps}
+      footer={[
+        <Button key="cancel" onClick={modalProps.onCancel}>
+          {t('pages.GroupDetail.Sink.Cancel')}
+        </Button>,
+        <Button key="save" type="primary" onClick={() => onOk(false)}>
+          {t('pages.GroupDetail.Sink.Save')}
+        </Button>,
+        <Button key="run" type="primary" onClick={() => onOk(true)}>
+          {t('pages.GroupDetail.Sink.SaveAndRun')}
+        </Button>,
+      ]}
+    >
       {loading ? (
         <Skeleton active />
       ) : (
diff --git a/inlong-dashboard/src/pages/GroupDetail/DataStorage/index.tsx b/inlong-dashboard/src/pages/GroupDetail/DataStorage/index.tsx
index cdada63ba..3c836da23 100644
--- a/inlong-dashboard/src/pages/GroupDetail/DataStorage/index.tsx
+++ b/inlong-dashboard/src/pages/GroupDetail/DataStorage/index.tsx
@@ -76,6 +76,7 @@ const Comp = ({ inlongGroupId, readonly }: Props, ref) => {
             method: 'DELETE',
             params: {
               sinkType: options.sinkType,
+              startProcess: true,
             },
           });
           await getList();