This is an automated email from the ASF dual-hosted git repository.
gaojun2048 pushed a commit to branch alert_plugin_design
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git
The following commit(s) were added to refs/heads/alert_plugin_design by this
push:
new 20bc747 Replace the tenant management page ui with element-ui (#3891)
20bc747 is described below
commit 20bc747306b3d1ac110ecb3184f43e650038349c
Author: break60 <[email protected]>
AuthorDate: Thu Oct 15 09:57:57 2020 +0800
Replace the tenant management page ui with element-ui (#3891)
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [Feature-3682][ui]Add form-create plug-in and alarm group management add
sample demo (#3683)
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [feature][ui] Add alarm instance page
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [feature][ui]Alert plugin design (#3734)
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [Feature-3682][ui]Add form-create plug-in and alarm group management add
sample demo (#3683)
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [feature][ui] Add alarm instance page
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* [Feature-3189][alert,spi,dao,plugin-api] base code of dolphinscheduler
spi and alert plugin implement (#3601)
* DS SPI
* Add DolphinScheduler SPI , and rebuilt the code of the Alert plug-in
based on SPI
* Add DolphinScheduler SPI , and rebuilt the code of the Alert plug-in
based on SPI
* add TODO
* delete
* compile
* spi commit
* Plugin Alert
* fix some bug
* add todo
* change web ui from alpacajs to form-create
* remove module
* add plugin schema
* add license header
* update alert and spi module version
* update the alert plugin sub module version
* comment the maven.local.repository param
* move utils from spi to common module
* add license header
* add license header and delete some chinese comment
* update spi packages
* delete no use alert_xx.properties
* update mysql.connector.version back to 5.1.34
* delete no use comment in pom.xml
* update email stmp password
* add license
* add semicolon to sql/upgrade/1.4.0_schema/mysql/dolphinscheduler_ddl.sql
file
* format the code style
* format new clase file with checkstyle
* update plugin params to Builder model
* move JSONUtils to SPI because plugin can not dependency common module
* move JSONUtils to SPI because plugin can not dependency common module
* delete collection dependency
* replace PluginParamsTransfer to spi PluginParamsTransfer
* update dolphinscheduler-maven-plugin to 1.0.0
* update license
* update apache-rat-plugin add exclude '.iml' file
* check license
* ArtifactResolver only use in development and configPlugins is not empty
* ArtifactResolver only use in development and configPlugins is not empty
* ArtifactResolver only use in development and configPlugins is not empty
* default datasource should be postgresql
* add license files
* add license files
* postgresql port should be 5432
* postgresql test
* mv show_type to spi
add license header to AlertConstants
* check style fix
* copy check style file from branch dev
* alert show_type set by plugin
* alert show_type set by plugin
* add PluginDefineMapper to
dolphinscheduler-server/src/test/java/org/apache/dolphinscheduler/server/registry/DependencyConfig.java
* add Bean to TaskCallbackServiceTestConfig
* add Bean to TaskCallbackServiceTestConfig
* fix check style
* check style fix
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* fix check style
* [Feature-3682][ui]Add form-create plug-in and alarm group management add
sample demo (#3683)
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* check style fix
* rollback test change
* rollback test change
* rollback dao pom change
* [feature-3665][ui]Add element-ui (#3666)
* [feature-3665][ui]Add element-ui
* add license
* Add form-create plug-in and alarm group management add sample demo
* Modify node version
* fix
* fix
* add ut to pom.xml
* add upgrade schema to global schema
* fix ut failed
* fix ut failed
* fix ut failed
* fix ut failed
* add test EmailAlertPluginTest to pom.xml
* fix ut failed
* fix ut failed
* fix check style
* update license header to presto license header
* presto license header not check
* fix ut coverage
* fix ut coverage
* fix ut
* fix ut
* fix ut
* fix ut coverage
* fix ut coverage
* fix ut coverage
* fix ut coverage
* fix ut coverage
* fix ut coverage
Co-authored-by: break60 <[email protected]>
* The tenant management module ui is replaced with element-ui
* fix
* fix
* fix
* fix
* fix
* modify
* fix
Co-authored-by: gaojun2048 <[email protected]>
---
dolphinscheduler-ui/src/js/conf/home/index.js | 4 +-
.../pages/security/pages/tenement/_source/list.vue | 131 ++++++---------------
.../home/pages/security/pages/tenement/index.vue | 13 +-
dolphinscheduler-ui/src/js/conf/login/index.js | 3 +-
.../src/js/module/components/popup/popup.vue | 4 +-
dolphinscheduler-ui/src/sass/common/_table.scss | 6 +
.../locator/security/TenantManageLocator.java | 6 +-
7 files changed, 64 insertions(+), 103 deletions(-)
diff --git a/dolphinscheduler-ui/src/js/conf/home/index.js
b/dolphinscheduler-ui/src/js/conf/home/index.js
index 6d76554..381e203 100644
--- a/dolphinscheduler-ui/src/js/conf/home/index.js
+++ b/dolphinscheduler-ui/src/js/conf/home/index.js
@@ -19,6 +19,7 @@
// (runtime-only or standalone) has been set in webpack.base.conf with an
alias.
import Vue from 'vue'
import ElementUI from 'element-ui'
+import locale from 'element-ui/lib/locale/lang/en'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App'
import router from './router'
@@ -43,7 +44,8 @@ import formCreate, {maker} from '@form-create/element-ui'
// Component internationalization
const useOpt = i18n.globalScope.LOCALE === 'en_US' ? { locale: en_US } : {}
-Vue.use(ElementUI)
+i18n.globalScope.LOCALE === 'en_US' ? Vue.use(ElementUI, { locale }) :
Vue.use(ElementUI)
+
// Vue.use(ans)
Vue.use(ans, useOpt)
diff --git
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
index d0029d2..0621bf9 100644
---
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
+++
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/_source/list.vue
@@ -17,95 +17,43 @@
<template>
<div class="list-model">
<div class="table-box">
- <table>
- <tr>
- <th>
- <span>{{$t('#')}}</span>
- </th>
- <th>
- <span>{{$t('Tenant Code')}}</span>
- </th>
- <th>
- <span>{{$t('Tenant Name')}}</span>
- </th>
- <th>
- <span>{{$t('Description')}}</span>
- </th>
- <th>
- <span>{{$t('Queue')}}</span>
- </th>
- <th>
- <span>{{$t('Create Time')}}</span>
- </th>
- <th>
- <span>{{$t('Update Time')}}</span>
- </th>
- <th width="70">
- <span>{{$t('Operation')}}</span>
- </th>
- </tr>
- <tr v-for="(item, $index) in list" :key="$index">
- <td>
- <span>{{parseInt(pageNo === 1 ? ($index + 1) : (($index + 1) +
(pageSize * (pageNo - 1))))}}</span>
- </td>
- <td>
- <span>
- {{item.tenantCode}}
- </span>
- </td>
- <td>
- <span>
- {{item.tenantName}}
- </span>
- </td>
- <td>
- <span v-if="item.description" class="ellipsis"
v-tooltip.large.top.start.light="{text: item.description, maxWidth:
'500px'}">{{item.description}}</span>
- <span v-else>-</span>
- </td>
- <td>
- <span>{{item.queueName}}</span>
- </td>
- <td>
- <span v-if="item.createTime">{{item.createTime |
formatDate}}</span>
- <span v-else>-</span>
- </td>
- <td>
- <span v-if="item.updateTime">{{item.updateTime |
formatDate}}</span>
- <span v-else>-</span>
- </td>
- <td>
- <x-button
- type="info"
- shape="circle"
- size="xsmall"
- data-toggle="tooltip"
- :title="$t('Edit')"
- @click="_edit(item)"
- icon="ans-icon-edit">
- </x-button>
- <x-poptip
- :ref="'poptip-' + $index"
- placement="bottom-end"
- width="90">
- <p>{{$t('Delete?')}}</p>
- <div style="text-align: right; margin: 0;padding-top: 4px;">
- <x-button type="text" size="xsmall" shape="circle"
@click="_closeDelete($index)">{{$t('Cancel')}}</x-button>
- <x-button type="primary" size="xsmall" shape="circle"
@click="_delete(item,$index)">{{$t('Confirm')}}</x-button>
- </div>
- <template slot="reference">
- <x-button
- icon="ans-icon-trash"
- type="error"
- shape="circle"
- size="xsmall"
- data-toggle="tooltip"
- :title="$t('delete')">
- </x-button>
- </template>
- </x-poptip>
- </td>
- </tr>
- </table>
+ <el-table :data="list" size="mini" style="width: 100%">
+ <el-table-column type="index" width="50"></el-table-column>
+ <el-table-column prop="tenantCode" :label="$t('Tenant Code')"
width="180"></el-table-column>
+ <el-table-column prop="tenantName" :label="$t('Tenant Name')"
width="180"></el-table-column>
+ <el-table-column prop="description" :label="$t('Description')"
width="180"></el-table-column>
+ <el-table-column prop="queueName" :label="$t('Queue')"
width="180"></el-table-column>
+ <el-table-column :label="$t('Create Time')">
+ <template slot-scope="scope">
+ <span>{{scope.row.createTime | formatDate}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column :label="$t('Update Time')">
+ <template slot-scope="scope">
+ <span>{{scope.row.updateTime | formatDate}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column :label="$t('Operation')" width="100">
+ <template slot-scope="scope">
+ <el-tooltip :content="$t('Edit')" placement="top">
+ <el-button type="primary" size="mini" icon="el-icon-edit"
@click="_edit(scope.row)" circle></el-button>
+ </el-tooltip>
+ <el-tooltip :content="$t('delete')" placement="top">
+ <el-button type="danger" size="mini" icon="el-icon-delete"
circle></el-button>
+ <el-popconfirm
+ :confirmButtonText="$t('Confirm')"
+ :cancelButtonText="$t('Cancel')"
+ icon="el-icon-info"
+ iconColor="red"
+ :title="$t('Delete?')"
+ @onConfirm="_delete(scope.row,scope.row.id)"
+ >
+ <el-button type="danger" size="mini" icon="el-icon-delete"
circle slot="reference"></el-button>
+ </el-popconfirm>
+ </el-tooltip>
+ </template>
+ </el-table-column>
+ </el-table>
</div>
</div>
</template>
@@ -127,18 +75,13 @@
},
methods: {
...mapActions('security', ['deleteQueue']),
- _closeDelete (i) {
- this.$refs[`poptip-${i}`][0].doClose()
- },
_delete (item, i) {
this.deleteQueue({
id: item.id
}).then(res => {
- this.$refs[`poptip-${i}`][0].doClose()
this.$emit('on-update')
this.$message.success(res.msg)
}).catch(e => {
- this.$refs[`poptip-${i}`][0].doClose()
this.$message.error(e.msg || '')
})
},
diff --git
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
index ca180b1..0ba6b2f 100644
---
a/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
+++
b/dolphinscheduler-ui/src/js/conf/home/pages/security/pages/tenement/index.vue
@@ -19,7 +19,7 @@
<template slot="conditions">
<m-conditions @on-conditions="_onConditions">
<template slot="button-group" v-if="isADMIN">
- <x-button type="ghost" size="small"
@click="_create('')">{{$t('Create Tenant')}}</x-button>
+ <el-button type="ghost" size="mini"
@click="_create('')">{{$t('Create Tenant')}}</el-button>
</template>
</m-conditions>
</template>
@@ -33,7 +33,16 @@
</m-list>
<div class="page-box">
- <x-page :current="parseInt(searchParams.pageNo)" :total="total"
:page-size="searchParams.pageSize" show-elevator @on-change="_page" show-sizer
:page-size-options="[10,30,50]" @on-size-change="_pageSize"></x-page>
+ <el-pagination
+ background
+ @current-change="_page"
+ @size-change="_pageSize"
+ :page-size="searchParams.pageSize"
+ :current-page.sync="searchParams.pageNo"
+ :page-sizes="[10, 30, 50]"
+ layout="sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
</div>
</template>
<template v-if="!tenementList.length && total<=0">
diff --git a/dolphinscheduler-ui/src/js/conf/login/index.js
b/dolphinscheduler-ui/src/js/conf/login/index.js
index ab721a7..2cb2a8e 100644
--- a/dolphinscheduler-ui/src/js/conf/login/index.js
+++ b/dolphinscheduler-ui/src/js/conf/login/index.js
@@ -20,6 +20,7 @@
// import $ from 'jquery'
import Vue from 'vue'
import ElementUI from 'element-ui'
+import locale from 'element-ui/lib/locale/lang/en'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App'
import i18n from '@/module/i18n'
@@ -31,7 +32,7 @@ import 'bootstrap/dist/js/bootstrap.min.js'
import formCreate, {maker} from '@form-create/element-ui'
-Vue.use(ElementUI)
+i18n.globalScope.LOCALE === 'en_US' ? Vue.use(ElementUI, { locale }) :
Vue.use(ElementUI)
Vue.use(ans)
diff --git a/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
b/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
index ac4322a..fb2dad1 100644
--- a/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
+++ b/dolphinscheduler-ui/src/js/module/components/popup/popup.vue
@@ -23,8 +23,8 @@
<slot name="content"></slot>
</div>
<div class="bottom-p">
- <x-button type="text" shape="circle" @click="close()"
:disabled="disabled"> {{$t('Cancel')}} </x-button>
- <x-button type="primary" shape="circle" :loading="spinnerLoading"
@click="ok()" :disabled="disabled || apDisabled">{{spinnerLoading ?
'Loading...' : okText}} </x-button>
+ <el-button type="text" size="mini" round @click="close()"
:disabled="disabled"> {{$t('Cancel')}} </el-button>
+ <el-button type="primary" size="mini" round :loading="spinnerLoading"
@click="ok()" :disabled="disabled || apDisabled">{{spinnerLoading ?
'Loading...' : okText}} </el-button>
</div>
</div>
</template>
diff --git a/dolphinscheduler-ui/src/sass/common/_table.scss
b/dolphinscheduler-ui/src/sass/common/_table.scss
index d643053..074ecb6 100644
--- a/dolphinscheduler-ui/src/sass/common/_table.scss
+++ b/dolphinscheduler-ui/src/sass/common/_table.scss
@@ -174,3 +174,9 @@
.el-table--enable-row-hover .el-table__body tr:hover>td {
background-color: #ddecff;
}
+.el-table th>.cell {
+ color: #555;
+}
+.el-table td div {
+ color: #666;
+}
diff --git
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
index 2f7a5f9..5eb0704 100644
---
a/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
+++
b/e2e/src/test/java/org/apache/dolphinscheduler/locator/security/TenantManageLocator.java
@@ -35,9 +35,9 @@ public class TenantManageLocator{
public static final By SUBMIT_BUTTON = By.xpath("//div[3]/button[2]/span");
- public static final By DELETE_TENANT_BUTTON =
By.xpath("//div[3]/div[1]/div/table/tr[2]/td[8]/span/button");
+ public static final By DELETE_TENANT_BUTTON =
By.xpath("//table/tbody/tr[1]/td[8]/div/span/button/i");
- public static final By CONFIRM_DELETE_TENANT_BUTTON =
By.xpath("//div[2]/div/button[2]/span");
+ public static final By CONFIRM_DELETE_TENANT_BUTTON =
By.xpath("//div[1]/div/button[2]/span");
- public static final By TENANT_CODE_FIRST =
By.xpath("//table/tr[2]/td[2]/span");
+ public static final By TENANT_CODE_FIRST =
By.xpath("//table/tbody/tr[1]/td[2]/div");
}