This is an automated email from the ASF dual-hosted git repository.
benjobs pushed a commit to branch dev-2.1.5
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git
The following commit(s) were added to refs/heads/dev-2.1.5 by this push:
new b57644e7f [Improve]: table actions style at Project display Page
(#4084)
b57644e7f is described below
commit b57644e7f0644062fd73f132899198faa4f1a650
Author: Kriszu <[email protected]>
AuthorDate: Tue Sep 24 14:29:01 2024 +0800
[Improve]: table actions style at Project display Page (#4084)
* [Improve]: table actions style at Project display Page
* fix: project field
---
.../src/locales/lang/en/setting/flinkHome.ts | 4 +
.../src/locales/lang/zh-CN/setting/flinkHome.ts | 4 +
.../src/views/flink/project/Add.vue | 7 --
.../src/views/flink/project/Edit.vue | 9 +-
.../src/views/flink/project/View.vue | 104 ++++++++---------
.../views/flink/project/components/ListItem.vue | 2 +-
.../src/views/setting/FlinkCluster/index.vue | 29 ++---
.../views/setting/FlinkHome/components/Drawer.vue | 9 +-
.../views/setting/FlinkHome/components/Modal.vue | 128 ++++++++++-----------
.../src/views/setting/FlinkHome/index.vue | 4 +-
10 files changed, 139 insertions(+), 161 deletions(-)
diff --git
a/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/flinkHome.ts
b/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/flinkHome.ts
index d05608796..80067a2ec 100644
---
a/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/flinkHome.ts
+++
b/streampark-console/streampark-console-webapp/src/locales/lang/en/setting/flinkHome.ts
@@ -36,5 +36,9 @@ export default {
flinkHomeIsRequired: 'The flink home is required',
createFlinkHomeSuccessful: ' Create successful!',
updateFlinkHomeSuccessful: ' Update successful!',
+ invalidPath: 'FLINK_HOME invalid path.',
+ flinkHomeError: 'Can no found flink-dist or found multiple flink-dist,
FLINK_HOME error.',
+ deleteSuccess: 'The current flink home is removed.',
+ setDefaultSuccess: `{name} is set as the default flink home.`,
},
};
diff --git
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/flinkHome.ts
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/flinkHome.ts
index 9d4713ea5..a9e12ecf6 100644
---
a/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/flinkHome.ts
+++
b/streampark-console/streampark-console-webapp/src/locales/lang/zh-CN/setting/flinkHome.ts
@@ -36,5 +36,9 @@ export default {
flinkHomeIsRequired: 'Flink安装路径必填',
createFlinkHomeSuccessful: ' 创建成功!',
updateFlinkHomeSuccessful: ' 更新成功!',
+ invalidPath: 'FLINK_HOME 路径无效.',
+ flinkHomeError: '未找到 flink-dist 或找到多个 flink-dist, FLINK_HOME 错误.',
+ deleteSuccess: '当前 Flink home 已删除.',
+ setDefaultSuccess: `{name} 已被设置为默认 Flink home.`,
},
};
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
b/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
index 3cd760fe1..6dbd6256a 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/project/Add.vue
@@ -14,14 +14,7 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<script lang="ts">
- export default defineComponent({
- name: 'AddProject',
- });
-</script>
-
<script setup lang="ts" name="AddProject">
- import { defineComponent } from 'vue';
import { useRouter } from 'vue-router';
import { useProject } from './useProject';
import { createProject } from '/@/api/flink/project';
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
b/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
index a4f5beb7e..ddfcd5a6d 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/project/Edit.vue
@@ -14,13 +14,8 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<script lang="ts">
- export default defineComponent({
- name: 'EditProject',
- });
-</script>
<script setup lang="ts" name="EditProject">
- import { defineComponent, onMounted, ref } from 'vue';
+ import { onMounted, ref } from 'vue';
import { useRouter, useRoute } from 'vue-router';
import { useProject } from './useProject';
import { updateProject } from '/@/api/flink/project';
@@ -45,7 +40,7 @@
function handleCheckRebuild(values: Recordable) {
if (
projectResource.url !== values.url ||
- projectResource.branches !== values.branches ||
+ projectResource.refs !== values.refs ||
projectResource.pom !== values.pom
) {
buildState.value = BuildStateEnum.NEED_REBUILD;
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/project/View.vue
b/streampark-console/streampark-console-webapp/src/views/flink/project/View.vue
index 498742e50..b9c1b024e 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/project/View.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/project/View.vue
@@ -56,7 +56,7 @@
<template #bodyCell="{ column, record }">
<template v-if="column.dataIndex === 'branches'">
<a-tag
- v-if="record.refs.startsWith('refs/tags/') > 0"
+ v-if="record.refs.startsWith('refs/tags/')"
color="green"
style="border-radius: 4px"
>
@@ -106,7 +106,11 @@
icon: 'ant-design:thunderbolt-outlined',
auth: 'project:build',
ifShow: record.buildState !== BuildStateEnum.BUILDING,
- onClick: handleBuild.bind(null, record),
+ popConfirm: {
+ title: t('flink.project.operationTips.buildProjectMessage'),
+ placement: 'left',
+ confirm: handleBuild.bind(null, record),
+ },
},
{
icon: 'clarity:note-edit-line',
@@ -121,7 +125,11 @@
tooltip: t('common.delText'),
ifShow: record.buildState !== BuildStateEnum.BUILDING,
auth: 'project:delete',
- onClick: handleDelete.bind(null, record),
+ popConfirm: {
+ title: t('flink.project.operationTips.deleteProjectMessage'),
+ placement: 'left',
+ confirm: handleDelete.bind(null, record),
+ },
},
]"
/>
@@ -174,7 +182,7 @@
const userStore = useUserStoreWithOut();
const { t } = useI18n();
const router = useRouter();
- const { Swal, createConfirm, createMessage } = useMessage();
+ const { Swal, createMessage } = useMessage();
const [registerLogModal, { openModal: openLogModal }] = useModal();
const buttonList = reactive(statusList);
const loading = ref(false);
@@ -217,6 +225,7 @@
{ dataIndex: 'lastBuild', title: t('flink.project.form.lastBuild') },
{ dataIndex: 'buildState', title: t('flink.project.form.buildState')
},
],
+ rowKey: 'id',
useSearchForm: false,
striped: false,
canResize: false,
@@ -234,61 +243,48 @@
});
}
async function handleBuild(record: ProjectRecord) {
- createConfirm({
- iconType: 'warning',
- title: t('flink.project.operationTips.buildProject'),
- centered: true,
- content: t('flink.project.operationTips.buildProjectMessage'),
- onOk: async () => {
- try {
- await buildProject({
- id: record.id,
- socketId: buildUUID(),
- });
- Swal.fire({
- icon: 'success',
- title:
t('flink.project.operationTips.projectIsbuildingMessage'),
- showConfirmButton: false,
- timer: 2000,
- });
- } catch (e) {
-
createMessage.error(t('flink.project.operationTips.projectIsbuildFailedMessage'));
- }
- },
- });
+ try {
+ await buildProject({
+ id: record.id,
+ socketId: buildUUID(),
+ });
+ Swal.fire({
+ icon: 'success',
+ title: t('flink.project.operationTips.projectIsbuildingMessage'),
+ showConfirmButton: false,
+ timer: 2000,
+ });
+ } catch (e) {
+ console.error(e);
+ }
}
const handleEdit = function (record: ProjectRecord) {
router.push({ path: '/flink/project/edit', query: { id: record.id } });
};
async function handleDelete(record: ProjectRecord) {
- createConfirm({
- iconType: 'warning',
- title: t('flink.project.operationTips.deleteProject'),
- content: t('flink.project.operationTips.deleteProjectMessage'),
- centered: true,
- onOk: async () => {
- try {
- const res = await deleteProject({ id: record.id });
- if (res.data) {
- Swal.fire({
- icon: 'success',
- title:
t('flink.project.operationTips.deleteProjectSuccessMessage'),
- showConfirmButton: false,
- timer: 2000,
- });
- reload();
- } else {
- Swal.fire(
- 'Failed',
-
t('flink.project.operationTips.deleteProjectFailedDetailMessage'),
- 'error',
- );
- }
- } catch (e) {
-
createMessage.error(t('flink.project.operationTips.deleteProjectFailedMessage'));
- }
- },
- });
+ const hide = createMessage.loading('Deleting', 0);
+ try {
+ const res = await deleteProject({ id: record.id });
+ if (res.data) {
+ Swal.fire({
+ icon: 'success',
+ title:
t('flink.project.operationTips.deleteProjectSuccessMessage'),
+ showConfirmButton: false,
+ timer: 2000,
+ });
+ reload();
+ } else {
+ Swal.fire(
+ 'Failed',
+
t('flink.project.operationTips.deleteProjectFailedDetailMessage'),
+ 'error',
+ );
+ }
+ } catch (e) {
+
createMessage.error(t('flink.project.operationTips.deleteProjectFailedMessage'));
+ } finally {
+ hide();
+ }
}
const handleQuery = function (val: string | undefined) {
diff --git
a/streampark-console/streampark-console-webapp/src/views/flink/project/components/ListItem.vue
b/streampark-console/streampark-console-webapp/src/views/flink/project/components/ListItem.vue
index cc0957af3..991f1ca57 100644
---
a/streampark-console/streampark-console-webapp/src/views/flink/project/components/ListItem.vue
+++
b/streampark-console/streampark-console-webapp/src/views/flink/project/components/ListItem.vue
@@ -51,7 +51,7 @@
<span>{{ t('flink.project.form.branches') }}</span>
<p v-if="item.refs != null">
<a-tag
- v-if="item.refs.startsWith('refs/tags/') > 0"
+ v-if="item.refs.startsWith('refs/tags/')"
color="#108ee9"
style="border-radius: 4px"
>
diff --git
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkCluster/index.vue
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkCluster/index.vue
index 291c60bab..7fc631668 100644
---
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkCluster/index.vue
+++
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkCluster/index.vue
@@ -53,7 +53,7 @@
const go = useGo();
const { t } = useI18n();
- const { Swal, createMessage, createConfirm } = useMessage();
+ const { Swal, createMessage } = useMessage();
const [registerTable, { reload, getLoading }] = useTable({
api: pageFlinkCluster,
columns: [
@@ -123,17 +123,16 @@
}
/* delete */
async function handleDelete(item: FlinkCluster) {
- createConfirm({
- iconType: 'warning',
- title: t('common.delText'),
- centered: true,
- content: t('setting.flinkCluster.delete'),
- onOk: async () => {
- await fetchClusterRemove(item.id);
- reload();
- createMessage.success('The current cluster is remove');
- },
- });
+ const hide = createMessage.loading('Deleting', 0);
+ try {
+ await fetchClusterRemove(item.id);
+ reload();
+ createMessage.success('The current cluster is remove');
+ } catch (error) {
+ console.error(error);
+ } finally {
+ hide();
+ }
}
/* shutdown */
async function handleShutdownCluster(item: FlinkCluster) {
@@ -240,7 +239,11 @@
icon: 'ant-design:delete-outlined',
color: 'error',
tooltip: t('common.delText'),
- onClick: handleDelete.bind(null, record),
+ popConfirm: {
+ title: t('setting.flinkCluster.delete'),
+ placement: 'left',
+ confirm: handleDelete.bind(null, record),
+ },
},
]"
/>
diff --git
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Drawer.vue
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Drawer.vue
index 325f500ed..52385c1b3 100644
---
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Drawer.vue
+++
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Drawer.vue
@@ -14,13 +14,6 @@
See the License for the specific language governing permissions and
limitations under the License.
-->
-<script lang="ts">
- import { defineComponent } from 'vue';
-
- export default defineComponent({
- name: 'FlinkEnvDraw',
- });
-</script>
<script lang="ts" setup name="FlinkEnvDraw">
import { ref, reactive } from 'vue';
import { BasicDrawer, useDrawerInner } from '/@/components/Drawer';
@@ -57,7 +50,7 @@
automaticLayout: true,
cursorStyle: 'line',
cursorWidth: 3,
- renderFinalNewline: true,
+ renderFinalNewline: 'on',
renderLineHighlight: 'all',
quickSuggestionsDelay: 100, // Code prompt delay
minimap: { enabled: true },
diff --git
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Modal.vue
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Modal.vue
index b39c75a2e..45962d7f6 100644
---
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Modal.vue
+++
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/components/Modal.vue
@@ -82,80 +82,70 @@
/* form submit */
async function handleSubmit() {
- let formValue;
try {
- formValue = await validate();
- } catch (error) {
- console.warn('validate error:', error);
- return;
- } finally {
- changeOkLoading(false);
- }
- // Detection environment
- const { data: resp } = await fetchCheckEnv({
- id: versionId.value,
- flinkName: formValue.flinkName,
- flinkHome: formValue.flinkHome,
- });
- const checkResp = parseInt(resp.data);
- if (checkResp != 0) {
- // Environment detection is successful
- if (checkResp == -1) {
- Swal.fire('Failed', 'FLINK_HOME invalid path.', 'error');
- } else if (checkResp == 1) {
- Swal.fire('Failed',
t('setting.flinkHome.operateMessage.flinkNameIsUnique'), 'error');
- } else if (checkResp == 2) {
- Swal.fire(
- 'Failed',
- 'can no found flink-dist or found multiple flink-dist, FLINK_HOME
error.',
- 'error',
- );
- }
- changeOkLoading(false);
- return;
- }
-
- try {
- let message: string;
- let success = false;
- // create
- if (versionId.value == null) {
- const { data } = await fetchFlinkCreate(formValue);
- if (data.data) {
- success = true;
- message = formValue.flinkName.concat(
- t('setting.flinkHome.operateMessage.createFlinkHomeSuccessful'),
- );
- } else {
- message = data.message;
+ changeOkLoading(true);
+ const formValue = await validate();
+ // Detection environment
+ const { data: resp } = await fetchCheckEnv({
+ id: versionId.value,
+ flinkName: formValue.flinkName,
+ flinkHome: formValue.flinkHome,
+ });
+ const checkResp = parseInt(resp.data);
+ if (checkResp != 0) {
+ // Environment detection is successful
+ if (checkResp == -1) {
+ Swal.fire('Failed',
t('setting.flinkHome.operateMessage.invalidPath'), 'error');
+ } else if (checkResp == 1) {
+ Swal.fire('Failed',
t('setting.flinkHome.operateMessage.flinkNameIsUnique'), 'error');
+ } else if (checkResp == 2) {
+ Swal.fire('Failed',
t('setting.flinkHome.operateMessage.flinkHomeError'), 'error');
}
} else {
- // update
- const { data } = await fetchFlinkUpdate({
- id: versionId.value,
- ...formValue,
- });
- if (data.data) {
- message = formValue.flinkName.concat(
- t('setting.flinkHome.operateMessage.updateFlinkHomeSuccessful'),
- );
- success = true;
+ let message: string;
+ let success = false;
+ // create
+ if (versionId.value == null) {
+ const { data } = await fetchFlinkCreate(formValue);
+ if (data.data) {
+ success = true;
+ message = formValue.flinkName.concat(
+ t('setting.flinkHome.operateMessage.createFlinkHomeSuccessful'),
+ );
+ } else {
+ message = data.message;
+ }
} else {
- message = data.message;
+ // update
+ const { data } = await fetchFlinkUpdate({
+ id: versionId.value,
+ ...formValue,
+ });
+ if (data.data) {
+ message = formValue.flinkName.concat(
+ t('setting.flinkHome.operateMessage.updateFlinkHomeSuccessful'),
+ );
+ success = true;
+ } else {
+ message = data.message;
+ }
+ }
+ if (success) {
+ Swal.fire({
+ icon: 'success',
+ title: message,
+ showConfirmButton: false,
+ timer: 2000,
+ });
+ closeModal();
+ emit('reload');
+ } else {
+ Swal.fire('Failed', message.replaceAll(/\[StreamPark]/g, ''),
'error');
}
}
- if (success) {
- Swal.fire({
- icon: 'success',
- title: message,
- showConfirmButton: false,
- timer: 2000,
- });
- closeModal();
- emit('reload');
- } else {
- Swal.fire('Failed', message.replaceAll(/\[StreamPark]/g, ''), 'error');
- }
+ } catch (error) {
+ console.warn('validate error:', error);
+ return;
} finally {
changeOkLoading(false);
}
@@ -165,7 +155,7 @@
<BasicModal :width="600" @register="registerModalInner" v-bind="$attrs"
@ok="handleSubmit">
<template #title>
<SvgIcon name="flink" />
- {{ t('common.add') }}
+ {{ versionId ? t('common.add') : t('common.edit') }}
</template>
<div class="mt-3">
<BasicForm @register="registerForm" />
diff --git
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
index fb3ce50fe..c9bd2a5d7 100644
---
a/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
+++
b/streampark-console/streampark-console-webapp/src/views/setting/FlinkHome/index.vue
@@ -109,7 +109,7 @@
const resp = await fetchFlinkEnvRemove(item.id);
if (resp.data.code == 200) {
reload();
- createMessage.success('The current flink home is removed.');
+
createMessage.success(t('setting.flinkHome.operateMessage.deleteSuccess'));
}
}
@@ -119,7 +119,7 @@
await fetchDefaultSet(item.id);
Swal.fire({
icon: 'success',
- title: item.flinkName.concat(' set default successful!'),
+ title: t('setting.flinkHome.operateMessage.setDefaultSuccess', { name:
item.flinkName }),
showConfirmButton: false,
timer: 2000,
});