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

zhongjiajie pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-seatunnel.git


The following commit(s) were added to refs/heads/dev by this push:
     new 1cac78876 [Feat][UI] Add the create in the data pipes. (#2360)
1cac78876 is described below

commit 1cac7887638355aa501625c81483b098a7650639
Author: songjianet <[email protected]>
AuthorDate: Wed Aug 3 18:53:46 2022 +0800

    [Feat][UI] Add the create in the data pipes. (#2360)
---
 seatunnel-ui/src/components/log/index.tsx          |  8 +-
 seatunnel-ui/src/locales/en_US/log.ts              |  2 +-
 seatunnel-ui/src/router/data-pipes.ts              |  8 ++
 seatunnel-ui/src/views/data-pipes/create/index.tsx | 91 +++++++++++++++++++++-
 .../detail/components/detail-overview.tsx          | 26 +------
 seatunnel-ui/src/views/data-pipes/list/index.tsx   | 14 +++-
 6 files changed, 115 insertions(+), 34 deletions(-)

diff --git a/seatunnel-ui/src/components/log/index.tsx 
b/seatunnel-ui/src/components/log/index.tsx
index 70b326968..db6ceb212 100644
--- a/seatunnel-ui/src/components/log/index.tsx
+++ b/seatunnel-ui/src/components/log/index.tsx
@@ -32,14 +32,10 @@ const Log = defineComponent({
           <NInput placeholder={this.t('log.please_select_log')} />
           <NButton ghost>{this.t('log.search')}</NButton>
         </NInputGroup>
-        <NLog
-          rows={30}
-          log={'test'}
-          class={['py-5', 'px-3', 'bg-gray-50']}
-        />
+        <NLog rows={30} log={'test'} class={['py-5', 'px-3', 'bg-gray-50']} />
       </NSpace>
     )
   }
 })
 
-export default Log
\ No newline at end of file
+export default Log
diff --git a/seatunnel-ui/src/locales/en_US/log.ts 
b/seatunnel-ui/src/locales/en_US/log.ts
index a319a0686..8f1d47d7b 100644
--- a/seatunnel-ui/src/locales/en_US/log.ts
+++ b/seatunnel-ui/src/locales/en_US/log.ts
@@ -18,4 +18,4 @@
 export default {
   please_select_log: 'Please select log',
   search: 'Search'
-}
\ No newline at end of file
+}
diff --git a/seatunnel-ui/src/router/data-pipes.ts 
b/seatunnel-ui/src/router/data-pipes.ts
index 684d0ea87..365d7bc0f 100644
--- a/seatunnel-ui/src/router/data-pipes.ts
+++ b/seatunnel-ui/src/router/data-pipes.ts
@@ -53,6 +53,14 @@ export default {
       meta: {
         title: 'data-pipes-edit'
       }
+    },
+    {
+      path: '/data-pipes/create',
+      name: 'data-pipes-create',
+      component: components['data-pipes-create'],
+      meta: {
+        title: 'data-pipes-create'
+      }
     }
   ]
 }
diff --git a/seatunnel-ui/src/views/data-pipes/create/index.tsx 
b/seatunnel-ui/src/views/data-pipes/create/index.tsx
index 2dc2a6912..f1d787f46 100644
--- a/seatunnel-ui/src/views/data-pipes/create/index.tsx
+++ b/seatunnel-ui/src/views/data-pipes/create/index.tsx
@@ -16,11 +16,98 @@
  */
 
 import { defineComponent } from 'vue'
+import { useI18n } from 'vue-i18n'
+import { useRouter } from 'vue-router'
+import {
+  NBreadcrumb,
+  NBreadcrumbItem,
+  NButton,
+  NCard,
+  NIcon,
+  NInput,
+  NSpace,
+  NTooltip
+} from 'naive-ui'
+import { BulbOutlined } from '@vicons/antd'
+import MonacoEditor from '@/components/monaco-editor'
+import Log from '@/components/log'
+import type { Router } from 'vue-router'
 
 const DataPipesCreate = defineComponent({
-  setup() {},
+  setup() {
+    const { t } = useI18n()
+    const router: Router = useRouter()
+
+    const handleClickDataPipes = () => {
+      router.push({ path: '/data-pipes/list' })
+    }
+
+    return { t, handleClickDataPipes }
+  },
   render() {
-    return <div></div>
+    return (
+      <NSpace vertical>
+        <NCard>
+          {{
+            header: () => (
+              <NSpace align='center'>
+                <NBreadcrumb>
+                  <NBreadcrumbItem onClick={this.handleClickDataPipes}>
+                    {this.t('data_pipes.data_pipes')}
+                  </NBreadcrumbItem>
+                  <NBreadcrumbItem>
+                    {this.t('data_pipes.create')}
+                  </NBreadcrumbItem>
+                </NBreadcrumb>
+              </NSpace>
+            ),
+            'header-extra': () => (
+              <NSpace>
+                <NButton secondary>{this.t('data_pipes.cancel')}</NButton>
+                <NButton secondary>{this.t('data_pipes.save')}</NButton>
+              </NSpace>
+            )
+          }}
+        </NCard>
+        <NCard>
+          <NSpace align='center'>
+            <span>{this.t('data_pipes.name')}</span>
+            <NSpace align='center'>
+              <NInput
+                clearable
+                maxlength='100'
+                showCount
+                style={{ width: '600px' }}
+              />
+              <NTooltip placement='right' trigger='hover'>
+                {{
+                  default: () => <span>{this.t('data_pipes.name_tips')}</span>,
+                  trigger: () => (
+                    <NIcon size='20' style={{ cursor: 'pointer' }}>
+                      <BulbOutlined />
+                    </NIcon>
+                  )
+                }}
+              </NTooltip>
+            </NSpace>
+          </NSpace>
+        </NCard>
+        <NCard>
+          <NSpace vertical>
+            <NSpace justify='end'>
+              <NButton secondary>{this.t('data_pipes.execute')}</NButton>
+              <NButton secondary>{this.t('data_pipes.kill')}</NButton>
+              <NButton secondary>{this.t('data_pipes.stop')}</NButton>
+              <NButton secondary>{this.t('data_pipes.configuration')}</NButton>
+            </NSpace>
+            <MonacoEditor />
+          </NSpace>
+        </NCard>
+        <NCard>
+          <Log />
+        </NCard>
+      </NSpace>
+    )
   }
 })
 
diff --git 
a/seatunnel-ui/src/views/data-pipes/detail/components/detail-overview.tsx 
b/seatunnel-ui/src/views/data-pipes/detail/components/detail-overview.tsx
index ab276c4ee..485bf8c1a 100644
--- a/seatunnel-ui/src/views/data-pipes/detail/components/detail-overview.tsx
+++ b/seatunnel-ui/src/views/data-pipes/detail/components/detail-overview.tsx
@@ -16,20 +16,10 @@
  */
 
 import { defineComponent, onMounted, toRefs } from 'vue'
-import {
-  NGi,
-  NGrid,
-  NSpace,
-  NTabs,
-  NTabPane,
-  NDataTable,
-  NLog,
-  NInput,
-  NButton,
-  NInputGroup
-} from 'naive-ui'
+import { NGi, NGrid, NSpace, NTabs, NTabPane, NDataTable } from 'naive-ui'
 import { useI18n } from 'vue-i18n'
 import { useDetailOverview } from './use-detail-overview'
+import Log from '@/components/log'
 
 const DetailOverview = defineComponent({
   setup() {
@@ -119,17 +109,7 @@ const DetailOverview = defineComponent({
         </NGrid>
         <NTabs type='line' justify-content='space-evenly' class='mt-7'>
           <NTabPane name='run-log' tab={this.t('data_pipes.run_log')}>
-            <NSpace vertical>
-              <NInputGroup>
-                <NInput placeholder={this.t('data_pipes.please_select_log')} />
-                <NButton ghost>{this.t('data_pipes.search')}</NButton>
-              </NInputGroup>
-              <NLog
-                rows={30}
-                log={'test'}
-                class={['py-5', 'px-3', 'bg-gray-50']}
-              />
-            </NSpace>
+            <Log />
           </NTabPane>
           <NTabPane
             name='historical-run-logs'
diff --git a/seatunnel-ui/src/views/data-pipes/list/index.tsx 
b/seatunnel-ui/src/views/data-pipes/list/index.tsx
index cca70930c..a8cafb811 100644
--- a/seatunnel-ui/src/views/data-pipes/list/index.tsx
+++ b/seatunnel-ui/src/views/data-pipes/list/index.tsx
@@ -19,12 +19,15 @@ import { defineComponent, onMounted, toRefs } from 'vue'
 import { useI18n } from 'vue-i18n'
 import { useTable } from './use-table'
 import { NButton, NCard, NDataTable, NPagination, NSpace } from 'naive-ui'
+import { useRouter } from 'vue-router'
 import DeleteModal from './components/delete-modal'
 import PublishModal from './components/publish-modal'
+import type { Router } from 'vue-router'
 
 const DataPipesList = defineComponent({
   setup() {
     const { t } = useI18n()
+    const router: Router = useRouter()
     const { state, createColumns } = useTable()
 
     const handleCancelDeleteModal = () => {
@@ -43,6 +46,10 @@ const DataPipesList = defineComponent({
       state.showPublishModal = false
     }
 
+    const handleCreate = () => {
+      router.push({ path: '/data-pipes/create' })
+    }
+
     onMounted(() => {
       createColumns(state)
     })
@@ -53,7 +60,8 @@ const DataPipesList = defineComponent({
       handleCancelDeleteModal,
       handleConfirmDeleteModal,
       handleCancelPublishModal,
-      handleConfirmPublishModal
+      handleConfirmPublishModal,
+      handleCreate
     }
   },
   render() {
@@ -62,7 +70,9 @@ const DataPipesList = defineComponent({
         <NCard title={this.t('data_pipes.data_pipes')}>
           {{
             'header-extra': () => (
-              <NButton>{this.t('data_pipes.create')}</NButton>
+              <NButton onClick={this.handleCreate}>
+                {this.t('data_pipes.create')}
+              </NButton>
             )
           }}
         </NCard>

Reply via email to