diff --git a/dinky-web/package.json b/dinky-web/package.json
index 578ce98ff0..de91c06576 100644
--- a/dinky-web/package.json
+++ b/dinky-web/package.json
@@ -38,49 +38,49 @@
"@andrewray/react-multi-split-pane": "^0.3.5",
"@ant-design/charts": "^2.1.1",
"@ant-design/icons": "^5.3.7",
- "@ant-design/pro-components": "^2.6.43",
- "@ant-design/pro-layout": "^7.17.16",
- "@ant-design/pro-table": "^3.13.11",
+ "@ant-design/pro-components": "^2.7.9",
+ "@ant-design/pro-layout": "^7.19.7",
+ "@ant-design/pro-table": "^3.16.0",
"@ant-design/use-emotion-css": "^1.0.4",
"@antv/layout": "0.3.25",
- "@antv/x6": "^2.15.6",
- "@antv/x6-plugin-selection": "^2.2.1",
- "@antv/x6-react-shape": "^2.2.2",
+ "@antv/x6": "^2.18.1",
+ "@antv/x6-plugin-selection": "^2.2.2",
+ "@antv/x6-react-shape": "^2.2.3",
"@monaco-editor/react": "^4.6.0",
"@umijs/route-utils": "^4.0.1",
- "antd": "^5.11.5",
+ "antd": "^5.17.3",
"butterfly-dag": "^4.3.28",
- "classnames": "^2.3.2",
- "dayjs": "^1.11.10",
+ "classnames": "^2.5.1",
+ "dayjs": "^1.11.11",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"lodash": "^4.17.21",
- "million": "^2.6.4",
- "moment": "^2.29.4",
- "monaco-editor": "^0.44.0",
+ "million": "^3.1.1",
+ "moment": "^2.30.1",
+ "monaco-editor": "^0.48.0",
"omit.js": "^2.0.2",
- "path-to-regexp": "^6.2.1",
- "rc-menu": "^9.12.2",
- "rc-util": "^5.38.1",
- "re-resizable": "^6.9.11",
- "react": "^18.2.0",
- "react-countup": "^6.5.0",
- "react-dom": "^18.0.0",
- "react-helmet-async": "^2.0.1",
+ "path-to-regexp": "^6.2.2",
+ "rc-menu": "^9.14.0",
+ "rc-util": "^5.41.0",
+ "re-resizable": "^6.9.16",
+ "react": "^18.3.1",
+ "react-countup": "^6.5.3",
+ "react-dom": "^18.3.1",
+ "react-helmet-async": "^2.0.5",
"react-lineage-dag": "^2.0.36",
"react-markdown": "^9.0.1",
"react-spring": "^9.7.3",
- "react-use-cookie": "^1.4.0",
+ "react-use-cookie": "^1.6.1",
"redux-persist": "^6.0.0",
"remark-gfm": "^4.0.0",
"screenfull": "^6.0.2",
- "sql-formatter": "^14.0.0",
+ "sql-formatter": "^15.3.1",
"styled-components": "^6.1.1",
"use-sse": "^2.0.1",
"uuid": "^9.0.1"
},
"devDependencies": {
- "@ant-design/pro-cli": "^3.0.1",
+ "@ant-design/pro-cli": "^3.2.1",
"@types/classnames": "^2.3.1",
"@types/express": "^4.17.21",
"@types/history": "^5.0.0",
@@ -88,19 +88,19 @@
"@types/react": "^18.2.39",
"@types/react-dom": "^18.2.17",
"@types/react-helmet": "^6.1.9",
- "@umijs/lint": "^4.0.89",
- "@umijs/max": "^4.0.89",
+ "@umijs/lint": "^4.2.5",
+ "@umijs/max": "^4.2.5",
"cross-env": "^7.0.3",
- "eslint": "^8.54.0",
- "express": "^4.18.2",
+ "eslint": "^9.3.0",
+ "express": "^4.19.2",
"husky": "^8",
"lint-staged": "^13",
"prettier": "^2",
- "react-dev-inspector": "^2.0.0",
+ "react-dev-inspector": "^2.0.1",
"react-inspector": "^6.0.2",
"sql-formatter": "^13.0.1",
- "swagger-ui-dist": "^5.10.3",
- "ts-node": "^10.9.1",
+ "swagger-ui-dist": "^5.17.12",
+ "ts-node": "^10.9.2",
"typescript": "^4",
"umi-presets-pro": "^2.0.0"
},
diff --git a/dinky-web/src/locales/en-US/pages.ts b/dinky-web/src/locales/en-US/pages.ts
index bfdf14ca1e..29c97fce68 100644
--- a/dinky-web/src/locales/en-US/pages.ts
+++ b/dinky-web/src/locales/en-US/pages.ts
@@ -459,7 +459,7 @@ export default {
'pages.datastudio.label.jobConfig.clusterConfig.tip1':
'Select Flink cluster Config for remote submission tasks in [{type}] mode',
'pages.datastudio.label.jobConfig.clusterConfig.tip2':
- 'If there is no data in the drop-down box, please configure/create a new cluster instance first, or check whether the cluster configuration/cluster instance is healthy and available.',
+ 'If there is no data in the drop-down box, please configure/create a new cluster instance first, or check whether the cluster configuration/cluster instance is healthy and available/Is it in an enabled state',
'pages.datastudio.label.jobConfig.execmode.tip':
'Specify the execution mode of the Flink task, the default is Local',
'pages.datastudio.label.jobConfig.watermark':
@@ -472,9 +472,6 @@ export default {
'pages.datastudio.label.jobConfig.fragment': 'Global variables',
'pages.datastudio.label.jobConfig.fragment.tip':
'[Enhanced Features] Enable FlinkSql global variables, use "',
- 'pages.datastudio.label.jobConfig.insert': 'Insert StatementSet',
- 'pages.datastudio.label.jobConfig.insert.tip':
- '[Enhanced Features] Enable the statement set mechanism, multiple Insert statements will be combined into one JobGraph before submission, and the Select statement is invalid',
'pages.datastudio.label.jobConfig.other': 'Other Config',
'pages.datastudio.label.jobConfig.other.tip':
'Other Config items will be applied to the execution environment, such as pipeline.name',
diff --git a/dinky-web/src/locales/zh-CN/pages.ts b/dinky-web/src/locales/zh-CN/pages.ts
index cf19475f57..5d72e5de2a 100644
--- a/dinky-web/src/locales/zh-CN/pages.ts
+++ b/dinky-web/src/locales/zh-CN/pages.ts
@@ -438,7 +438,7 @@ export default {
'pages.datastudio.label.jobConfig.clusterConfig.tip1':
'选择Flink集群配置进行【{type}】模式的远程提交任务',
'pages.datastudio.label.jobConfig.clusterConfig.tip2':
- '如下拉框无数据,请先配置/新建集群实例,或者检查集群配置/集群实例是否为健康可用状态',
+ '如下拉框无数据,请先配置/新建集群实例,或者检查集群配置/集群实例是否为健康可用状态/是否为启用状态',
'pages.datastudio.label.jobConfig.execmode.tip': '指定 Flink 任务的执行模式,默认为 Local',
'pages.datastudio.label.jobConfig.watermark': '当前任务已发布,配置禁止修改,如需修改,请先下线',
'pages.datastudio.label.jobConfig.lock':
@@ -447,10 +447,7 @@ export default {
'pages.datastudio.label.jobConfig.flinksql.env.tip1':
'选择当前任务的 FlinkSQL 执行环境,会提前执行环境语句,默认无。',
'pages.datastudio.label.jobConfig.fragment': '全局变量',
- 'pages.datastudio.label.jobConfig.fragment.tip': '【增强特性】 开启FlinkSql全局变量,使用“',
- 'pages.datastudio.label.jobConfig.insert': 'Insert语句集',
- 'pages.datastudio.label.jobConfig.insert.tip':
- '【增强特性】 开启语句集机制,将把多个 Insert 语句合成一个 JobGraph 再进行提交,Select 语句无效',
+ 'pages.datastudio.label.jobConfig.fragment.tip': '【增强特性】 开启FlinkSql全局变量',
'pages.datastudio.label.jobConfig.other': '其他配置',
'pages.datastudio.label.jobConfig.other.tip': '其他配置项,将被应用于执行环境,如 pipeline.name',
'pages.datastudio.label.jobConfig.parallelism': '任务并行度',
diff --git a/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/function.tsx b/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/function.tsx
index 266be36a72..59795318e8 100644
--- a/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/function.tsx
+++ b/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/function.tsx
@@ -36,36 +36,44 @@ export const buildRunModelOptions = () => {
resultReturn.push(
{
label: 'Local',
- value: RUN_MODE.LOCAL
+ value: RUN_MODE.LOCAL,
+ key: RUN_MODE.LOCAL,
},
{
label: 'Standalone',
- value: RUN_MODE.STANDALONE
+ value: RUN_MODE.STANDALONE,
+ key: RUN_MODE.STANDALONE,
},
{
label: 'Yarn Session',
- value: RUN_MODE.YARN_SESSION
+ value: RUN_MODE.YARN_SESSION,
+ key: RUN_MODE.YARN_SESSION,
},
{
// flink弃用了 yarn per-job 模式 在这写个标签 带横线的 | flink deprecated yarn per-job mode, write a label here with a horizontal line
label: Yarn Per-Job (Deprecated),
- value: RUN_MODE.YARN_PER_JOB
+ value: RUN_MODE.YARN_PER_JOB,
+ key: RUN_MODE.YARN_PER_JOB,
},
{
label: 'Yarn Application',
- value: RUN_MODE.YARN_APPLICATION
+ value: RUN_MODE.YARN_APPLICATION,
+ key: RUN_MODE.YARN_APPLICATION,
},
{
label: 'Kubernetes Session',
- value: RUN_MODE.KUBERNETES_SESSION
+ value: RUN_MODE.KUBERNETES_SESSION,
+ key: RUN_MODE.KUBERNETES_SESSION,
},
{
label: 'Kubernetes Application',
- value: RUN_MODE.KUBERNETES_APPLICATION
+ value: RUN_MODE.KUBERNETES_APPLICATION,
+ key: RUN_MODE.KUBERNETES_APPLICATION,
},
{
label: 'Kubernetes Operator Application',
- value: RUN_MODE.KUBERNETES_APPLICATION_OPERATOR
+ value: RUN_MODE.KUBERNETES_APPLICATION_OPERATOR,
+ key: RUN_MODE.KUBERNETES_APPLICATION_OPERATOR,
}
);
@@ -97,6 +105,7 @@ export const buildClusterOptions = (
);
sessionClusterOptions.push({
label: tag,
+ title: item.name,
value: item.id,
key: item.id
});
@@ -136,6 +145,7 @@ export const buildClusterConfigOptions = (
);
clusterConfigOptions.push({
label: tag,
+ title: item.name,
value: item.id,
key: item.id
});
@@ -155,6 +165,7 @@ export const buildEnvOptions = (env: TaskInfo[] = []) => {
{l('button.disable')}
),
+ title: l('button.disable'),
value: -1,
key: -1
}
@@ -174,6 +185,7 @@ export const buildEnvOptions = (env: TaskInfo[] = []) => {
envList.push({
label: tag,
+ title: item.name,
value: item.id,
key: item.id,
disabled: !item.enabled
@@ -194,6 +206,7 @@ export const buildAlertGroupOptions = (alertGroups: Alert.AlertGroup[] = []) =>
{l('button.disable')}
),
+ title: l('button.disable'),
value: -1,
key: -1
}
@@ -207,6 +220,7 @@ export const buildAlertGroupOptions = (alertGroups: Alert.AlertGroup[] = []) =>
),
value: item.id,
+ title: item.name,
key: item.id
});
});
diff --git a/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/index.tsx b/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/index.tsx
index 5b3eae8f36..98df5e70a0 100644
--- a/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/index.tsx
+++ b/dinky-web/src/pages/DataStudio/RightContainer/JobConfig/index.tsx
@@ -75,7 +75,7 @@ const JobConfig = (props: any) => {
const [form] = useForm();
- const [selectRunMode, setSelectRunMode] = useState(current?.type);
+ const [selectRunMode, setSelectRunMode] = useState(current?.type ?? RUN_MODE.LOCAL);
const { initialState, setInitialState } = useModel('@@initialState');
@@ -93,7 +93,7 @@ const JobConfig = (props: any) => {
dispatch({
type: ALERT_MODEL_ASYNC.queryAlertGroup
});
- setSelectRunMode(current?.type);
+ setSelectRunMode(current?.type ?? RUN_MODE.LOCAL);
form.setFieldsValue({ ...current, type: current?.type });
}, [current]);
@@ -181,7 +181,7 @@ const JobConfig = (props: any) => {
type: current?.type
})}
label={l('pages.datastudio.label.jobConfig.cluster')}
- tooltip={l('pages.datastudio.label.jobConfig.clusterConfig.tip1', '', {
+ tooltip={l('pages.datastudio.label.jobConfig.clusterConfig.tip2', '', {
type: current?.type
})}
rules={[