From 314f84ddc8c4114bbc4cab464ef30c44e96aa6a7 Mon Sep 17 00:00:00 2001 From: kalencaya <1942460489@qq.com> Date: Thu, 29 Feb 2024 08:17:41 +0800 Subject: [PATCH] [Feature][scaleph-ui-react] refactor project sub menu routes (#694) * feature: refactor scaleph-ui-react * feature: upgrade github actions version * feature: upgrade github actions version * feature: update routes * feature: update routes * feature: update routes * feature: update routes * feature: update routes --------- Co-authored-by: wangqi --- .github/workflows/ci-docker-build.yml | 4 +- .github/workflows/ci-maven.yml | 8 +- .github/workflows/ci-npm.yml | 4 +- .github/workflows/release-dist-bin.yml | 4 +- .../release-manual-docker-flink-cdc.yml | 4 +- .../workflows/release-manual-docker-flink.yml | 4 +- .../release-manual-docker-seatunnel.yml | 4 +- .../release-manual-docker-sql-template.yml | 4 +- .../release-master-docker-scaleph.yml | 4 +- .../workflows/release-tag-docker-scaleph.yml | 4 +- .github/workflows/sonarcloud.yml | 6 +- pom.xml | 8 +- scaleph-ui-react/.env | 1 + .../.hintrc | 0 .../.npmrc | 0 scaleph-ui-react/config/config.ts | 152 +++++--- scaleph-ui-react/config/defaultSettings.ts | 20 +- scaleph-ui-react/config/proxy.ts | 15 +- scaleph-ui-react/config/routes.ts | 360 ++++++++++++------ scaleph-ui-react/package.json | 134 +++---- scaleph-ui-react/pom.xml | 15 +- scaleph-ui-react/public/CNAME | 2 +- scaleph-ui-react/src/access.ts | 13 +- scaleph-ui-react/src/app.tsx | 262 ++++++------- .../src/components/AppLogoComponent/index.tsx | 0 .../src/components/Footer/index.tsx | 10 +- .../Header/HeaderDropdown/index.tsx | 0 .../Header/RightContent/AvatarDropdown.tsx | 0 .../components/Header/RightContent/index.tsx | 0 .../src/components/Header/index.less | 0 .../src/components/Header/index.tsx | 0 .../src/constants.ts | 0 scaleph-ui-react/src/constants/dictType.ts | 3 + scaleph-ui-react/src/constants/enum.ts | 76 +--- scaleph-ui-react/src/global.less | 30 +- scaleph-ui-react/src/global.tsx | 10 +- scaleph-ui-react/src/locales/zh-CN/menu.ts | 40 +- .../src/locales/zh-CN/pages/base.ts | 5 + .../src/locales/zh-CN/pages/project.ts | 99 ++--- .../src/locales/zh-CN/pages/user.ts | 2 +- scaleph-ui-react/src/manifest.json | 4 +- .../config/dataserviceConfigSteps.ts | 0 .../job/flinkKubernetesJobDetail.ts | 0 .../src/pages/Abnormal/403.tsx | 0 .../src/pages/Abnormal/404.tsx | 0 .../src/pages/Abnormal/500.tsx | 0 .../pages/Admin/Dept/components/DeptForm.tsx | 2 +- .../src/pages/Admin/Dept/index.tsx | 8 +- .../src/pages/Admin/Dict/index.tsx | 2 +- .../src/pages/Admin/Privilege/index.less | 2 - .../src/pages/Admin/Privilege/index.tsx | 63 ++- .../Web/components/WebAssugnRoles.tsx | 2 +- .../Web/components/WebResourceForm.tsx | 2 +- .../src/pages/Admin/Resource/Web/index.tsx | 10 +- .../Admin/Role/components/ResourceWebs.tsx | 34 +- .../pages/Admin/Role/components/RoleForm.tsx | 4 +- .../Admin/Role/components/WebAssugnRoles.tsx | 2 +- .../src/pages/Admin/Role/index.tsx | 2 +- .../Admin/Setting/components/BasicSetting.tsx | 2 +- .../Admin/Setting/components/EmailSetting.tsx | 2 +- .../src/pages/Admin/Setting/index.less | 5 +- .../src/pages/Admin/Setting/index.tsx | 8 +- .../pages/Admin/User/components/DeptForm.tsx | 4 +- .../pages/Admin/User/components/DeptGrant.tsx | 4 +- .../pages/Admin/User/components/RoleForm.tsx | 84 ++-- .../pages/Admin/User/components/RoleGrant.tsx | 38 +- .../pages/Admin/User/components/UserForm.tsx | 8 +- .../pages/Admin/User/components/UserRoles.tsx | 6 +- .../src/pages/Admin/User/index.less | 2 - .../src/pages/Admin/User/index.tsx | 4 +- .../DataSource/StepForms/DataSourceType.tsx | 2 +- .../DataSource/StepForms/Props/Cassandra.tsx | 2 +- .../DataSource/StepForms/Props/ClickHouse.tsx | 2 +- .../DataSource/StepForms/Props/DataHub.tsx | 2 +- .../StepForms/Props/DataSourceForm.tsx | 2 +- .../DataSource/StepForms/Props/Doris.tsx | 2 +- .../StepForms/Props/Elasticsearch.tsx | 2 +- .../pages/DataSource/StepForms/Props/Ftp.tsx | 2 +- .../pages/DataSource/StepForms/Props/HDFS.tsx | 2 +- .../pages/DataSource/StepForms/Props/Hive.tsx | 2 +- .../pages/DataSource/StepForms/Props/Http.tsx | 2 +- .../DataSource/StepForms/Props/InfluxDB.tsx | 2 +- .../DataSource/StepForms/Props/IoTDB.tsx | 2 +- .../pages/DataSource/StepForms/Props/Jdbc.tsx | 2 +- .../DataSource/StepForms/Props/Kafka.tsx | 2 +- .../pages/DataSource/StepForms/Props/Kudu.tsx | 2 +- .../DataSource/StepForms/Props/MaxCompute.tsx | 2 +- .../DataSource/StepForms/Props/MongoDB.tsx | 2 +- .../DataSource/StepForms/Props/Neo4j.tsx | 2 +- .../pages/DataSource/StepForms/Props/OSS.tsx | 2 +- .../DataSource/StepForms/Props/OSSJindo.tsx | 2 +- .../DataSource/StepForms/Props/Pulsar.tsx | 2 +- .../DataSource/StepForms/Props/Redis.tsx | 2 +- .../pages/DataSource/StepForms/Props/S3.tsx | 2 +- .../pages/DataSource/StepForms/Props/Sftp.tsx | 2 +- .../DataSource/StepForms/Props/Socket.tsx | 2 +- .../DataSource/StepForms/Props/StarRocks.tsx | 2 +- .../src/pages/DataSource/StepForms/index.tsx | 2 +- .../src/pages/DataSource/index.tsx | 2 +- .../Artifact/DI/DiJobFlow/index.less | 90 ----- .../Workspace/Artifact/DI/DiJobFlow/index.tsx | 150 -------- .../Artifact/Jar/FlinkArtifactJarAddForm.tsx | 128 ------- .../Jar/FlinkArtifactJarUpdateForm.tsx | 151 -------- .../Artifact/Sql/FlinkArtifactSqlForm.tsx | 98 ----- .../Flink/Jar/DataDevelopFlinkJarAddForm.tsx | 129 +++++++ .../Jar/DataDevelopFlinkJarUpdateForm.tsx | 146 +++++++ .../Flink}/Jar/History/index.tsx | 32 +- .../Flink}/Jar/index.tsx | 48 +-- .../Flink/SQL}/CodeEditor/EditMenu/index.less | 0 .../Flink/SQL}/CodeEditor/EditMenu/index.tsx | 0 .../Flink/SQL}/CodeEditor/Editor/index.less | 0 .../Flink/SQL}/CodeEditor/Editor/index.tsx | 16 +- .../SQL}/CodeEditor/EditorRight/index.less | 0 .../SQL}/CodeEditor/EditorRight/index.tsx | 0 .../EditorRightResultTable.tsx | 46 +-- .../CodeEditor/EditorRightResult/index.less | 0 .../CodeEditor/EditorRightResult/index.tsx | 10 +- .../Flink/SQL}/CodeEditor/components/sort.ts | 0 .../Flink/SQL}/CodeEditor/index.less | 0 .../Flink/SQL}/CodeEditor/index.tsx | 0 .../Flink/SQL/DataDevelopFlinkSQLForm.tsx | 81 ++++ .../Sql => DataDevelop/Flink/SQL}/index.tsx | 58 +-- .../DataIntegration/FlinkCDC}/Dag/index.tsx | 4 +- .../FlinkCDC/DataIntegrationFlinkCDCForm.tsx | 4 +- .../DataIntegration/FlinkCDC}/index.tsx | 16 +- .../SeaTunnel/Dag/components}/dnd/dnd.less | 0 .../SeaTunnel/Dag/components}/dnd/dnd.tsx | 0 .../Dag/components}/dnd/search/index.less | 0 .../Dag/components}/dnd/search/index.tsx | 0 .../Dag/components}/menubar/index.tsx | 4 +- .../Dag/components}/menubar/json.tsx | 0 .../Dag/components}/menubar/seatunnel.tsx | 0 .../Dag/components}/node/base-node.less | 0 .../Dag/components}/node/canvas-node.tsx | 4 +- .../Dag/components}/node/dnd-node.tsx | 2 +- .../Dag/components}/node/init-node.tsx | 0 .../Dag/components}/node/steps/column.tsx | 2 +- .../Dag/components}/node/steps/constant.tsx | 0 .../Dag/components}/node/steps/dataSource.tsx | 2 +- .../Dag/components}/node/steps/fields.tsx | 2 +- .../Dag/components}/node/steps/helper.ts | 2 +- .../Dag/components}/node/steps/schema.tsx | 2 +- .../node/steps/sink/sink-cassandra-step.tsx | 4 +- .../node/steps/sink/sink-clickhouse-step.tsx | 4 +- .../node/steps/sink/sink-console-step.tsx | 0 .../node/steps/sink/sink-datahub-step.tsx | 2 +- .../node/steps/sink/sink-dingtalk-step.tsx | 0 .../node/steps/sink/sink-doris-step.tsx | 4 +- .../node/steps/sink/sink-dynamodb-step.tsx | 0 .../steps/sink/sink-elasticsearch-step.tsx | 4 +- .../node/steps/sink/sink-email-step.tsx | 0 .../node/steps/sink/sink-feishu-step.tsx | 2 +- .../node/steps/sink/sink-ftp-file-step.tsx | 2 +- .../node/steps/sink/sink-hbase-step.tsx | 2 +- .../node/steps/sink/sink-hdfs-file-step.tsx | 2 +- .../node/steps/sink/sink-hive-step.tsx | 2 +- .../node/steps/sink/sink-http-step.tsx | 4 +- .../node/steps/sink/sink-influxdb-step.tsx | 4 +- .../node/steps/sink/sink-iotdb-step.tsx | 4 +- .../node/steps/sink/sink-jdbc-step.tsx | 4 +- .../node/steps/sink/sink-kafka-step.tsx | 4 +- .../node/steps/sink/sink-kudu-step.tsx | 2 +- .../node/steps/sink/sink-local-file-step.tsx | 0 .../node/steps/sink/sink-maxcompute-step.tsx | 2 +- .../node/steps/sink/sink-mongodb-step.tsx | 6 +- .../node/steps/sink/sink-neo4j-step.tsx | 4 +- .../node/steps/sink/sink-oss-file-step.tsx | 2 +- .../steps/sink/sink-ossjindo-file-step.tsx | 2 +- .../node/steps/sink/sink-paimon-step.tsx | 0 .../node/steps/sink/sink-redis-step.tsx | 2 +- .../node/steps/sink/sink-rocketmq-step.tsx | 0 .../node/steps/sink/sink-s3-file-step.tsx | 4 +- .../node/steps/sink/sink-s3redshift-step.tsx | 4 +- .../node/steps/sink/sink-sentry-step.tsx | 0 .../node/steps/sink/sink-sftp-file-step.tsx | 2 +- .../node/steps/sink/sink-socket-step.tsx | 2 +- .../node/steps/sink/sink-starrocks-step.tsx | 6 +- .../node/steps/sink/sink-wechat-step.tsx | 4 +- .../steps/source/source-cassandra-step.tsx | 2 +- .../steps/source/source-cdc-mongodb-step.tsx | 0 .../steps/source/source-cdc-mysql-step.tsx | 0 .../source/source-cdc-sqlserver-step.tsx | 0 .../steps/source/source-clickhouse-step.tsx | 2 +- .../steps/source/source-dynamodb-step.tsx | 0 .../source/source-elasticsearch-step.tsx | 2 +- .../node/steps/source/source-fake-step.tsx | 0 .../steps/source/source-ftp-file-step.tsx | 4 +- .../steps/source/source-hdfs-file-step.tsx | 4 +- .../node/steps/source/source-hive-step.tsx | 4 +- .../node/steps/source/source-http-step.tsx | 4 +- .../node/steps/source/source-hudi-step.tsx | 0 .../node/steps/source/source-iceberg-step.tsx | 2 +- .../steps/source/source-influxdb-step.tsx | 4 +- .../node/steps/source/source-iotdb-step.tsx | 4 +- .../node/steps/source/source-jdbc-step.tsx | 0 .../node/steps/source/source-kafka-step.tsx | 4 +- .../node/steps/source/source-kudu-step.tsx | 2 +- .../steps/source/source-local-file-step.tsx | 2 +- .../steps/source/source-maxcompute-step.tsx | 2 +- .../node/steps/source/source-mongodb-step.tsx | 4 +- .../node/steps/source/source-neo4j-step.tsx | 4 +- .../steps/source/source-openmldb-step.tsx | 0 .../steps/source/source-oss-file-step.tsx | 4 +- .../source/source-ossjindo-file-step.tsx | 4 +- .../node/steps/source/source-paimon-step.tsx | 0 .../node/steps/source/source-pulsar-step.tsx | 4 +- .../node/steps/source/source-redis-step.tsx | 4 +- .../steps/source/source-rocketmq-step.tsx | 2 +- .../node/steps/source/source-s3-file-step.tsx | 4 +- .../steps/source/source-sftp-file-step.tsx | 4 +- .../node/steps/source/source-socket-step.tsx | 2 +- .../steps/source/source-starrocks-step.tsx | 4 +- .../Dag/components/node/steps/step-form.tsx | 325 ++++++++++++++++ .../steps/transform/transform-copy-step.tsx | 0 .../transform/transform-field-mapper-step.tsx | 2 +- .../transform-filter-row-kind-step.tsx | 0 .../steps/transform/transform-filter-step.tsx | 2 +- .../transform/transform-replace-step.tsx | 0 .../steps/transform/transform-split-step.tsx | 2 +- .../steps/transform/transform-sql-step.tsx | 0 .../Dag/components}/toolbar/index.tsx | 0 .../DataIntegration/SeaTunnel/Dag/index.less | 99 +++++ .../DataIntegration/SeaTunnel/Dag/index.tsx | 88 +++++ .../DataIntegrationSeaTunnelForm.tsx | 4 +- .../SeaTunnel}/index.tsx | 183 +++++---- .../DataService/Config/Steps/BaseStepForm.tsx | 0 .../Config/Steps/ConfigStepForm.tsx | 0 .../DataService/Config/Steps/index.tsx | 0 .../Workspace/DataService/Config/index.tsx | 2 +- .../OperatorInstance/Detail/YAML/index.tsx | 27 -- .../Steps/ComponentStepForm.tsx | 17 - .../Doris/OperatorTemplate/Steps/index.tsx | 86 ----- .../Flink}/Advanced/AdvancedAdditional.tsx | 3 +- .../AdvancedAdditionalDependencies.tsx | 3 +- .../Compute/Flink}/Advanced/AdvancedBasic.tsx | 1 + .../Flink}/Advanced/AdvancedCheckpoint.tsx | 1 + .../Advanced/AdvancedFaultTolerance.tsx | 1 + .../Advanced/AdvancedHighAvailability.tsx | 1 + .../Advanced/AdvancedPeriodicSavepoint.tsx | 1 + .../Flink}/Advanced/AdvancedResource.tsx | 1 + .../Flink}/Advanced/AdvancedRestart.tsx | 1 + .../Engine/Compute/Flink/Advanced/index.tsx | 63 +++ .../Flink}/Deployment/DeploymentForm.tsx | 4 +- .../Flink}/Deployment/Detail/Config/index.tsx | 2 +- .../Deployment/Detail/Snapshot/index.tsx | 2 +- .../Flink}/Deployment/Detail/YAML/index.tsx | 2 +- .../Flink}/Deployment/Detail/index.tsx | 8 +- .../Deployment/Steps/New/ClusterStepForm.tsx | 4 +- .../Deployment/Steps/New/OptionsStepForm.tsx | 20 +- .../Deployment/Steps/New/YAMLStepForm.tsx | 2 +- .../Flink/Deployment/Steps/New/index.tsx | 104 +++++ .../Flink/Deployment/Steps/Update/index.tsx | 85 +++++ .../Engine/Compute/Flink/Deployment/index.tsx | 202 ++++++++++ .../Job/Detail/DeployResourceStepForm.tsx | 2 +- .../Flink}/Job/Detail/DeployStateStepForm.tsx | 2 +- .../Flink}/Job/Detail/InstanceList/index.tsx | 12 +- .../Flink}/Job/Detail/JobDeployForm.tsx | 8 +- .../Flink}/Job/Detail/JobShutdownForm.tsx | 4 +- .../Flink}/Job/Detail/Savepoint/index.tsx | 16 +- .../Compute/Flink}/Job/Detail/YAML/index.tsx | 12 +- .../Engine/Compute/Flink/Job/Detail/index.tsx | 254 ++++++++++++ .../Compute/Flink}/Job/JobForm.tsx | 189 +++++---- .../Compute/Flink}/Job/index.tsx | 21 +- .../Detail/Configuration/index.tsx | 2 +- .../SessionCluster/Detail/Log/index.tsx | 2 +- .../SessionCluster/Detail/Options/index.tsx | 20 +- .../Detail/PodTemplate/index.tsx | 2 +- ...linkKubernetesSessionClusterStatusYaml.tsx | 2 +- .../FlinkKubernetesSessionClusterYaml.tsx | 2 +- .../SessionCluster/Detail/YAML/index.tsx | 8 +- .../Flink}/SessionCluster/Detail/index.tsx | 16 +- .../Steps/New/ClusterStepForm.tsx | 4 +- .../Steps/New/OptionsStepForm.tsx | 20 +- .../SessionCluster/Steps/New/YAMLStepForm.tsx | 2 +- .../Flink}/SessionCluster/Steps/New/index.tsx | 8 +- .../SessionCluster/Steps/Update/index.tsx | 6 +- .../Compute/Flink/SessionCluster/index.tsx | 263 +++++++++++++ .../Template/Steps/New/AdvancedStepForm.tsx | 33 ++ .../Template/Steps/New/BaseStepForm.tsx | 4 +- .../Steps/New/YAML/DefaultTemplateEditor.tsx | 2 +- .../Steps/New/YAML/TemplateEditor.tsx | 4 +- .../Flink/Template/Steps/New/YAMLStepForm.tsx | 26 ++ .../Flink/Template/Steps/New/index.tsx | 92 +++++ .../Flink/Template/Steps/Update/index.tsx | 76 ++++ .../Compute/Flink}/Template/index.tsx | 23 +- .../Workspace/Engine/Lake/Iceberg/index.tsx | 10 + .../Workspace/Engine/Lake/OneTable/index.tsx | 10 + .../Workspace/Engine/Lake/Paimon/index.tsx | 10 + .../Detail/DorisInstanceAccess.tsx | 2 +- .../Detail/DorisInstanceAction.tsx | 7 +- .../Detail/DorisInstanceComponent.tsx | 4 +- .../Detail/YAML/DorisInstanceStatusYaml.tsx | 4 +- .../Detail/YAML/DorisInstanceYaml.tsx | 4 +- .../OperatorInstance/Detail/YAML/index.tsx | 25 ++ .../Doris/OperatorInstance/Detail/index.tsx | 14 +- .../EngineOLAPDorisInstanceSimpleForm.tsx} | 8 +- .../OperatorInstance/Steps/BaseStepForm.tsx | 6 +- .../Steps/ComponentStepForm.tsx | 10 +- .../OperatorInstance/Steps/YAMLStepForm.tsx | 2 +- .../Doris/OperatorInstance/Steps/index.tsx | 8 +- .../OLAP}/Doris/OperatorInstance/index.tsx | 20 +- .../Doris/OperatorTemplate/Detail/index.tsx | 12 +- .../EngineOLAPDorisTemplateForm.tsx} | 8 +- .../OperatorTemplate/Steps/BaseStepForm.tsx | 2 +- .../Steps/Component/DorisAdminUser.tsx | 3 +- .../Steps/Component/DorisBeComponent.tsx | 3 +- .../Steps/Component/DorisCnComponent.tsx | 3 +- .../Steps/Component/DorisFeComponent.tsx | 3 +- .../Steps/ComponentStepForm.tsx | 17 + .../OperatorTemplate/Steps/YAMLStepForm.tsx | 2 +- .../Doris/OperatorTemplate/Steps/index.tsx | 88 +++++ .../OLAP}/Doris/OperatorTemplate/index.tsx | 20 +- .../Workspace/Engine/OLAP/StarRocks/index.tsx | 10 + .../Workspace/Kubernetes/Advanced/index.tsx | 67 ---- .../Kubernetes/Deployment/Steps/New/index.tsx | 101 ----- .../Deployment/Steps/Update/index.tsx | 83 ---- .../Workspace/Kubernetes/Deployment/index.tsx | 195 ---------- .../Workspace/Kubernetes/Job/Detail/index.tsx | 253 ------------ .../Kubernetes/SessionCluster/index.tsx | 262 ------------- .../Template/Steps/New/AdvancedStepForm.tsx | 33 -- .../Template/Steps/New/YAMLStepForm.tsx | 28 -- .../Kubernetes/Template/Steps/New/index.tsx | 92 ----- .../Template/Steps/Update/index.tsx | 75 ---- .../Update/YAML/DefaultTemplateEditor.tsx | 37 -- .../Template/Update/YAML/TemplateEditor.tsx | 39 -- .../Kubernetes/Template/Update/YAML/index.tsx | 28 -- .../Kubernetes/Template/Update/index.tsx | 44 --- .../pages/Project/components/ProjectForm.tsx | 129 +++---- .../pages/Project/components/Tree/index.tsx | 4 +- .../src/pages/Project/components/utils.tsx | 1 + scaleph-ui-react/src/pages/Project/index.tsx | 10 +- .../components/ClusterCredentialForm.tsx | 4 +- .../Resource/ClusterCredential/index.tsx | 2 +- .../components/FlinkReleaseForm.tsx | 4 +- .../src/pages/Resource/FlinkRelease/index.tsx | 2 +- .../pages/Resource/Jar/components/JarForm.tsx | 4 +- .../src/pages/Resource/Jar/index.tsx | 2 +- .../Kerberos/components/KerberosForm.tsx | 4 +- .../src/pages/Resource/Kerberos/index.tsx | 2 +- .../src/pages/Resource/KerberosService.ts | 4 +- .../components/ConnectorFileForm.tsx | 4 +- .../Resource/SeaTunnelConnector/index.tsx | 2 +- .../components/SeaTunnelReleaseForm.tsx | 4 +- .../pages/Resource/SeaTunnelRelease/index.tsx | 2 +- .../src/pages/Resource/typings.d.ts | 2 +- .../components/DataElementForm.tsx | 4 +- .../src/pages/Stdata/DataElement/index.tsx | 2 +- .../Stdata/RefData/Value/DataSetForm.tsx | 4 +- .../src/pages/Stdata/RefData/Value/index.tsx | 2 +- .../RefData/components/DataSetTypeForm.tsx | 4 +- .../src/pages/Stdata/RefData/index.tsx | 2 +- .../RefDataMap/components/RefDataMapForm.tsx | 4 +- .../src/pages/Stdata/RefDataMap/index.tsx | 2 +- .../Stdata/System/components/SystemForm.tsx | 6 +- .../src/pages/Stdata/System/index.tsx | 2 +- .../src/pages/Studio/DataBoard/index.tsx | 3 +- .../src/pages/User/Login/index.tsx | 179 +++++---- .../src/pages/User/Register/index.tsx | 175 +++++---- .../src/pages/User/components/Log/index.tsx | 2 +- .../pages/User/components/Message/index.tsx | 2 +- .../pages/User/components/Profile/index.tsx | 2 +- .../components/Security/EmailBindForm.tsx | 4 +- .../components/Security/PasswordEditForm.tsx | 4 +- .../pages/User/components/Security/index.tsx | 2 +- scaleph-ui-react/src/pages/User/index.less | 88 ++--- scaleph-ui-react/src/pages/User/index.tsx | 123 +++--- .../Workflow/Definition/Quartz/Task/index.tsx | 2 +- .../Workflow/Definition/Quartz/index.tsx | 2 +- .../Workflow/Schedule/CrontabSetting.tsx | 4 +- .../Workflow/Schedule/ScheduleEnableForm.tsx | 4 +- .../pages/Workflow/Schedule/ScheduleForm.tsx | 4 +- .../src/pages/Workflow/Schedule/index.tsx | 2 +- .../src/requestErrorConfig.ts | 0 .../src/services/admin/dept.service.ts | 4 +- .../src/services/admin/dictData.service.ts | 4 +- .../src/services/admin/dictType.service.ts | 4 +- .../src/services/admin/log.service.ts | 4 +- .../src/services/admin/message.service.ts | 4 +- .../src/services/admin/privilege.service.ts | 4 +- .../src/services/admin/resourceWeb.service.ts | 4 +- .../src/services/admin/role.service.ts | 4 +- .../src/services/admin/sysConfig.service.ts | 4 +- .../src/services/admin/typings.d.ts | 2 - .../src/services/admin/user.service.ts | 28 +- scaleph-ui-react/src/services/auth.ts | 14 +- .../dataservice/DataserviceConfigService.ts | 0 .../src/services/dataservice/typings.d.ts | 73 +++- .../services/datasource/category.service.ts | 4 +- .../src/services/datasource/info.service.ts | 4 +- .../src/services/datasource/typings.d.ts | 2 +- .../services/kubernetes/NamespaceService.ts | 4 +- .../project/WsArtifactFlinkCDCService.ts | 0 .../project/WsArtifactFlinkJarService.ts | 0 .../project/WsArtifactFlinkSqlService.ts | 0 .../project/WsArtifactSeaTunnelService.ts | 0 .../src/services/project/WsDiJobService.ts | 4 +- .../project/WsDorisOperatorInstanceService.ts | 4 +- .../project/WsDorisOperatorTemplateService.ts | 4 +- .../WsFlinkKubernetesDeploymentService.ts | 4 +- .../project/WsFlinkKubernetesJobService.ts | 4 +- .../WsFlinkKubernetesSessionClusterService.ts | 4 +- .../WsFlinkKubernetesTemplateService.ts | 4 +- .../project/WsFlinkSqlGatewayService.ts | 2 +- .../src/services/project/WsProjectService.ts | 8 +- .../src/services/project/typings.d.ts | 181 +++++++-- .../resource/clusterCredential.service.ts | 4 +- .../services/resource/flinkRelease.service.ts | 4 +- .../src/services/resource/jar.service.ts | 4 +- .../src/services/resource/resource.service.ts | 4 +- .../resource/seatunnelRelease.service.ts | 4 +- .../src/services/resource/typings.d.ts | 2 +- .../services/stdata/data-element.service.ts | 4 +- .../src/services/stdata/refdata.service.ts | 4 +- .../src/services/stdata/system.service.ts | 4 +- .../src/services/stdata/typings.d.ts | 2 +- scaleph-ui-react/src/services/studio/index.ts | 3 +- .../src/services/user/log.service.ts | 0 .../src/services/user/msg.service.ts | 0 .../src/services/user/typings.d.ts | 0 .../services/workflow/scheduler.service.ts | 4 +- .../src/services/workflow/typings.d.ts | 2 +- .../src/services/workflow/workflow.service.ts | 4 +- .../src/socket.ts | 0 scaleph-ui-react/src/typings.d.ts | 149 ++++++-- scaleph-ui-react/tsconfig.json | 66 +--- scaleph-ui-react2/.env | 1 - .../.husky/.gitignore | 0 .../.husky/commit-msg | 0 .../.husky/pre-commit | 0 .../LICENSE | 0 scaleph-ui-react2/config/config.ts | 152 +++----- scaleph-ui-react2/config/defaultSettings.ts | 20 +- scaleph-ui-react2/config/proxy.ts | 15 +- scaleph-ui-react2/config/routes.ts | 102 +---- .../jest.config.js | 0 scaleph-ui-react2/package.json | 134 ++++--- .../playwright.config.ts | 0 scaleph-ui-react2/pom.xml | 15 +- scaleph-ui-react2/public/CNAME | 2 +- .../public/images/DataSource/Backup/DB2.png | Bin 77291 -> 0 bytes .../images/DataSource/Backup/DeltaLake.png | Bin 28699 -> 0 bytes .../public/images/DataSource/Backup/DmDB.png | Bin 49334 -> 0 bytes .../public/images/DataSource/Backup/Excel.png | Bin 45985 -> 0 bytes .../images/DataSource/Backup/Iceberg.png | Bin 16610 -> 0 bytes .../images/DataSource/Backup/Ignite.png | Bin 20676 -> 0 bytes .../images/DataSource/Backup/KingBase.png | Bin 34692 -> 0 bytes .../public/images/DataSource/Backup/Kudu.png | Bin 29343 -> 0 bytes .../images/DataSource/Backup/MariaDB.png | Bin 43831 -> 0 bytes .../public/images/DataSource/Backup/MySQL.png | Bin 57155 -> 0 bytes .../images/DataSource/Backup/OpenAPI.png | Bin 22515 -> 0 bytes .../images/DataSource/Backup/OpenSearch.png | Bin 28683 -> 0 bytes .../images/DataSource/Backup/Paimon.png | Bin 10473 -> 0 bytes .../public/images/DataSource/Backup/Pinot.png | Bin 11881 -> 0 bytes .../images/DataSource/Backup/Presto.png | Bin 42711 -> 0 bytes .../images/DataSource/Backup/Prometheus.png | Bin 25537 -> 0 bytes .../images/DataSource/Backup/Redshift.png | Bin 25548 -> 0 bytes .../images/DataSource/Backup/SQLServer.png | Bin 56184 -> 0 bytes .../images/DataSource/Backup/StarRocks.png | Bin 42715 -> 0 bytes .../public/images/DataSource/Backup/TiDB.png | Bin 35845 -> 0 bytes scaleph-ui-react2/public/images/bg.png | Bin 174555 -> 0 bytes scaleph-ui-react2/src/access.ts | 13 +- .../src/app.d.ts | 0 scaleph-ui-react2/src/app.tsx | 262 +++++++------ .../src/assets/styles/reset.less | 0 .../src/assets/styles/variable.less | 0 .../src/components/Footer/index.tsx | 10 +- .../src/components/HeaderDropdown/index.less | 0 .../src/components/HeaderDropdown/index.tsx | 0 .../src/components/HeaderSearch/index.less | 0 .../src/components/HeaderSearch/index.tsx | 0 .../src/components/NoticeIcon/NoticeIcon.tsx | 0 .../src/components/NoticeIcon/NoticeList.less | 0 .../src/components/NoticeIcon/NoticeList.tsx | 0 .../src/components/NoticeIcon/index.less | 0 .../src/components/NoticeIcon/index.tsx | 0 .../RightContent/AvatarDropdown.tsx | 0 .../src/components/RightContent/index.less | 0 .../src/components/RightContent/index.tsx | 0 .../src/components/index.md | 0 scaleph-ui-react2/src/constants/dictType.ts | 3 - scaleph-ui-react2/src/constants/enum.ts | 76 +++- .../src/e2e/baseLayout.e2e.spec.ts | 0 scaleph-ui-react2/src/global.less | 30 +- scaleph-ui-react2/src/global.tsx | 10 +- scaleph-ui-react2/src/locales/zh-CN/menu.ts | 4 - .../src/locales/zh-CN/pages/base.ts | 5 - .../src/locales/zh-CN/pages/project.ts | 99 +++-- .../src/locales/zh-CN/pages/user.ts | 2 +- scaleph-ui-react2/src/manifest.json | 4 +- .../src/models/jobDetail.ts | 0 .../src/pages/404.tsx | 0 .../pages/Admin/Dept/components/DeptForm.tsx | 2 +- .../src/pages/Admin/Dept/index.tsx | 8 +- .../src/pages/Admin/Dict/index.less | 0 .../src/pages/Admin/Dict/index.tsx | 2 +- .../src/pages/Admin/Privilege/index.less | 2 + .../src/pages/Admin/Privilege/index.tsx | 63 +-- .../Web/components/WebAssugnRoles.tsx | 2 +- .../Web/components/WebResourceForm.tsx | 2 +- .../src/pages/Admin/Resource/Web/index.tsx | 10 +- .../Admin/Role/components/ResourceWebs.tsx | 34 +- .../pages/Admin/Role/components/RoleForm.tsx | 4 +- .../Admin/Role/components/WebAssugnRoles.tsx | 2 +- .../src/pages/Admin/Role/index.tsx | 2 +- .../Admin/Setting/components/BasicSetting.tsx | 2 +- .../Admin/Setting/components/EmailSetting.tsx | 2 +- .../src/pages/Admin/Setting/index.less | 5 +- .../src/pages/Admin/Setting/index.tsx | 8 +- .../pages/Admin/User/components/DeptForm.tsx | 4 +- .../pages/Admin/User/components/DeptGrant.tsx | 4 +- .../pages/Admin/User/components/RoleForm.tsx | 84 ++-- .../pages/Admin/User/components/RoleGrant.tsx | 38 +- .../pages/Admin/User/components/UserForm.tsx | 8 +- .../pages/Admin/User/components/UserRoles.tsx | 6 +- .../src/pages/Admin/User/index.less | 2 + .../src/pages/Admin/User/index.tsx | 4 +- .../src/pages/DataService/index.tsx | 0 .../DataSource/StepForms/DataSourceType.tsx | 2 +- .../DataSource/StepForms/Props/Cassandra.tsx | 2 +- .../DataSource/StepForms/Props/ClickHouse.tsx | 2 +- .../DataSource/StepForms/Props/DataHub.tsx | 2 +- .../StepForms/Props/DataSourceForm.tsx | 2 +- .../DataSource/StepForms/Props/Doris.tsx | 2 +- .../StepForms/Props/Elasticsearch.tsx | 2 +- .../pages/DataSource/StepForms/Props/Ftp.tsx | 2 +- .../pages/DataSource/StepForms/Props/HDFS.tsx | 2 +- .../pages/DataSource/StepForms/Props/Hive.tsx | 2 +- .../pages/DataSource/StepForms/Props/Http.tsx | 2 +- .../DataSource/StepForms/Props/InfluxDB.tsx | 2 +- .../DataSource/StepForms/Props/IoTDB.tsx | 2 +- .../pages/DataSource/StepForms/Props/Jdbc.tsx | 2 +- .../DataSource/StepForms/Props/Kafka.tsx | 2 +- .../pages/DataSource/StepForms/Props/Kudu.tsx | 2 +- .../DataSource/StepForms/Props/MaxCompute.tsx | 2 +- .../DataSource/StepForms/Props/MongoDB.tsx | 2 +- .../DataSource/StepForms/Props/Neo4j.tsx | 2 +- .../pages/DataSource/StepForms/Props/OSS.tsx | 2 +- .../DataSource/StepForms/Props/OSSJindo.tsx | 2 +- .../DataSource/StepForms/Props/Pulsar.tsx | 2 +- .../DataSource/StepForms/Props/Redis.tsx | 2 +- .../pages/DataSource/StepForms/Props/S3.tsx | 2 +- .../pages/DataSource/StepForms/Props/Sftp.tsx | 2 +- .../DataSource/StepForms/Props/Socket.tsx | 2 +- .../DataSource/StepForms/Props/StarRocks.tsx | 2 +- .../src/pages/DataSource/StepForms/index.tsx | 2 +- .../src/pages/DataSource/index.tsx | 2 +- .../Dag/cmd-extensions/graph-cut.tsx | 0 .../Dag/cmd-extensions/graph-help.tsx | 0 .../Dag/cmd-extensions/graph-params-modal.tsx | 0 .../Dag/cmd-extensions/graph-preview.tsx | 0 .../Dag/cmd-extensions/graph-publish.tsx | 0 .../Dag/cmd-extensions/graph-submit.tsx | 0 .../DI/DiJobFlow/Dag/cmd-extensions/index.js | 0 .../Dag/cmd-extensions/step-edit-modal.tsx | 0 .../Artifact/DI/DiJobFlow/Dag/config-cmd.tsx | 0 .../DI/DiJobFlow/Dag/config-dnd-panel.tsx | 0 .../DI/DiJobFlow/Dag/config-graph.tsx | 0 .../DI/DiJobFlow/Dag/config-keybinding.tsx | 0 .../Artifact/DI/DiJobFlow/Dag/config-menu.tsx | 0 .../DI/DiJobFlow/Dag/config-toolbar.tsx | 0 .../Artifact/DI/DiJobFlow/Dag/constant.tsx | 0 .../DI/DiJobFlow/Dag/node/steps/step-form.tsx | 299 --------------- .../DiJobFlow/Dag/react-node/base-node.less | 0 .../DI/DiJobFlow/Dag/react-node/base-node.tsx | 0 .../Artifact/DI/DiJobFlow/Dag/service.ts | 0 .../DI/DiJobFlow/Dag/steps/column.tsx | 0 .../DI/DiJobFlow/Dag/steps/dataSource.tsx | 0 .../DI/DiJobFlow/Dag/steps/fields.tsx | 0 .../Artifact/DI/DiJobFlow/Dag/steps/helper.ts | 0 .../DI/DiJobFlow/Dag/steps/schema.tsx | 0 .../Dag/steps/sink/sink-cassandra-step.tsx | 0 .../Dag/steps/sink/sink-clickhouse-step.tsx | 0 .../Dag/steps/sink/sink-console-step.tsx | 0 .../Dag/steps/sink/sink-datahub-step.tsx | 0 .../Dag/steps/sink/sink-dingtalk-step.tsx | 0 .../Dag/steps/sink/sink-doris-step.tsx | 0 .../Dag/steps/sink/sink-dynamodb-step.tsx | 0 .../steps/sink/sink-elasticsearch-step.tsx | 0 .../Dag/steps/sink/sink-email-step.tsx | 0 .../Dag/steps/sink/sink-feishu-step.tsx | 0 .../Dag/steps/sink/sink-ftp-file-step.tsx | 0 .../Dag/steps/sink/sink-hbase-step.tsx | 0 .../Dag/steps/sink/sink-hdfs-file-step.tsx | 0 .../Dag/steps/sink/sink-hive-step.tsx | 0 .../Dag/steps/sink/sink-http-step.tsx | 0 .../Dag/steps/sink/sink-influxdb-step.tsx | 0 .../Dag/steps/sink/sink-iotdb-step.tsx | 0 .../Dag/steps/sink/sink-jdbc-step.tsx | 0 .../Dag/steps/sink/sink-kafka-step.tsx | 0 .../Dag/steps/sink/sink-kudu-step.tsx | 0 .../Dag/steps/sink/sink-local-file-step.tsx | 0 .../Dag/steps/sink/sink-maxcompute-step.tsx | 0 .../Dag/steps/sink/sink-mongodb-step.tsx | 0 .../Dag/steps/sink/sink-neo4j-step.tsx | 0 .../Dag/steps/sink/sink-oss-file-step.tsx | 0 .../steps/sink/sink-ossjindo-file-step.tsx | 0 .../Dag/steps/sink/sink-paimon-step.tsx | 0 .../Dag/steps/sink/sink-redis-step.tsx | 0 .../Dag/steps/sink/sink-rocketmq-step.tsx | 0 .../Dag/steps/sink/sink-s3-file-step.tsx | 0 .../steps/sink/sink-s3redshift-file-step.tsx | 0 .../Dag/steps/sink/sink-sentry-step.tsx | 0 .../Dag/steps/sink/sink-sftp-file-step.tsx | 0 .../Dag/steps/sink/sink-socket-step.tsx | 0 .../Dag/steps/sink/sink-starrocks-step.tsx | 0 .../Dag/steps/sink/sink-wechat-step.tsx | 0 .../steps/source/source-cassandra-step.tsx | 0 .../steps/source/source-cdc-mongodb-step.tsx | 0 .../steps/source/source-cdc-mysql-step.tsx | 0 .../source/source-cdc-sqlserver-step.tsx | 0 .../steps/source/source-clickhouse-step.tsx | 0 .../Dag/steps/source/source-dynamodb-step.tsx | 0 .../source/source-elasticsearch-step.tsx | 0 .../Dag/steps/source/source-fake-step.tsx | 0 .../Dag/steps/source/source-ftp-file-step.tsx | 0 .../steps/source/source-hdfs-file-step.tsx | 0 .../Dag/steps/source/source-hive-step.tsx | 0 .../Dag/steps/source/source-http-step.tsx | 0 .../Dag/steps/source/source-hudi-step.tsx | 0 .../Dag/steps/source/source-iceberg-step.tsx | 0 .../Dag/steps/source/source-influxdb-step.tsx | 0 .../Dag/steps/source/source-iotdb-step.tsx | 0 .../Dag/steps/source/source-jdbc-step.tsx | 0 .../Dag/steps/source/source-kafka-step.tsx | 0 .../Dag/steps/source/source-kudu-step.tsx | 0 .../steps/source/source-local-file-step.tsx | 0 .../steps/source/source-maxcompute-step.tsx | 0 .../Dag/steps/source/source-mongodb-step.tsx | 0 .../Dag/steps/source/source-neo4j-step.tsx | 0 .../Dag/steps/source/source-openmldb-step.tsx | 0 .../Dag/steps/source/source-oss-file-step.tsx | 0 .../source/source-ossjindo-file-step.tsx | 0 .../Dag/steps/source/source-paimon-step.tsx | 0 .../Dag/steps/source/source-pulsar-step.tsx | 0 .../Dag/steps/source/source-redis-step.tsx | 0 .../Dag/steps/source/source-rocketmq-step.tsx | 0 .../Dag/steps/source/source-s3-file-step.tsx | 0 .../steps/source/source-sftp-file-step.tsx | 0 .../Dag/steps/source/source-socket-step.tsx | 0 .../steps/source/source-starrocks-step.tsx | 0 .../Artifact/DI/DiJobFlow/Dag/steps/step.tsx | 0 .../steps/transform/transform-copy-step.tsx | 0 .../transform/transform-field-mapper-step.tsx | 0 .../transform-filter-row-kind-step.tsx | 0 .../steps/transform/transform-filter-step.tsx | 0 .../transform/transform-replace-step.tsx | 0 .../steps/transform/transform-split-step.tsx | 0 .../steps/transform/transform-sql-step.tsx | 0 .../Artifact/DI/DiJobFlow/index.less | 145 ++++--- .../Workspace/Artifact/DI/DiJobFlow/index.tsx | 212 +++++++---- .../DI/DiJobView/components/DiJobForm.tsx | 0 .../Artifact/DI/DiJobView/index.less | 0 .../Workspace/Artifact/DI/DiJobView/index.tsx | 181 ++++----- .../Artifact/Jar/FlinkArtifactJarAddForm.tsx | 161 ++++---- .../Jar/FlinkArtifactJarUpdateForm.tsx | 187 ++++----- .../Workspace/Artifact/Jar/History/index.tsx | 28 +- .../Project/Workspace/Artifact/Jar/index.tsx | 36 +- .../Artifact/Sql/CodeEditor/Editor/index.tsx | 16 +- .../EditorRightResultTable.tsx | 46 ++- .../CodeEditor/EditorRightResult/index.tsx | 7 +- .../Artifact/Sql/FlinkArtifactSqlForm.tsx | 133 ++++--- .../Project/Workspace/Artifact/Sql/index.tsx | 48 +-- .../Detail/DorisInstanceAccess.tsx | 2 +- .../Detail/DorisInstanceAction.tsx | 7 +- .../Detail/DorisInstanceComponent.tsx | 4 +- .../Detail/YAML/DorisInstanceStatusYaml.tsx | 4 +- .../Detail/YAML/DorisInstanceYaml.tsx | 4 +- .../OperatorInstance/Detail/YAML/index.tsx | 4 +- .../Doris/OperatorInstance/Detail/index.tsx | 6 +- .../DorisInstanceSimpleForm.tsx | 4 +- .../OperatorInstance/Steps/BaseStepForm.tsx | 4 +- .../Steps/ComponentStepForm.tsx | 4 +- .../OperatorInstance/Steps/YAMLStepForm.tsx | 2 +- .../Doris/OperatorInstance/Steps/index.tsx | 2 +- .../Doris/OperatorInstance/index.tsx | 2 +- .../Doris/OperatorTemplate/Detail/index.tsx | 6 +- .../OperatorTemplate/DorisTemplateForm.tsx | 4 +- .../OperatorTemplate/Steps/BaseStepForm.tsx | 2 +- .../Steps/Component/DorisAdminUser.tsx | 3 +- .../Steps/Component/DorisBeComponent.tsx | 3 +- .../Steps/Component/DorisCnComponent.tsx | 3 +- .../Steps/Component/DorisFeComponent.tsx | 3 +- .../OperatorTemplate/Steps/YAMLStepForm.tsx | 2 +- .../Doris/OperatorTemplate/Steps/index.tsx | 2 +- .../Doris/OperatorTemplate/index.tsx | 2 +- .../Advanced/AdvancedAdditional.tsx | 3 +- .../AdvancedAdditionalDependencies.tsx | 3 +- .../Kubernetes/Advanced/AdvancedBasic.tsx | 1 - .../Advanced/AdvancedCheckpoint.tsx | 1 - .../Advanced/AdvancedFaultTolerance.tsx | 1 - .../Advanced/AdvancedHighAvailability.tsx | 1 - .../Advanced/AdvancedPeriodicSavepoint.tsx | 1 - .../Kubernetes/Advanced/AdvancedResource.tsx | 1 - .../Kubernetes/Advanced/AdvancedRestart.tsx | 1 - .../Workspace/Kubernetes/Advanced/index.tsx | 4 +- .../Kubernetes/Deployment/DeploymentForm.tsx | 4 +- .../Deployment/Detail/Config/index.tsx | 2 +- .../Deployment/Detail/Snapshot/index.tsx | 2 +- .../Deployment/Detail/YAML/index.tsx | 2 +- .../Kubernetes/Deployment/Detail/index.tsx | 2 +- .../Deployment/Steps/New/ClusterStepForm.tsx | 4 +- .../Deployment/Steps/New/OptionsStepForm.tsx | 2 +- .../Deployment/Steps/New/YAMLStepForm.tsx | 2 +- .../Kubernetes/Deployment/Steps/New/index.tsx | 2 +- .../Deployment/Steps/Update/index.tsx | 3 +- .../Workspace/Kubernetes/Deployment/index.tsx | 2 +- .../Job/Detail/DeployResourceStepForm.tsx | 2 +- .../Job/Detail/DeployStateStepForm.tsx | 2 +- .../Job/Detail/InstanceList/index.tsx | 12 +- .../Kubernetes/Job/Detail/JobDeployForm.tsx | 4 +- .../Kubernetes/Job/Detail/JobShutdownForm.tsx | 4 +- .../Kubernetes/Job/Detail/Savepoint/index.tsx | 16 +- .../Kubernetes/Job/Detail/YAML/index.tsx | 12 +- .../Workspace/Kubernetes/Job/Detail/index.tsx | 40 +- .../Workspace/Kubernetes/Job/JobForm.tsx | 189 ++++----- .../Workspace/Kubernetes/Job/index.tsx | 4 +- .../Detail/Configuration/index.tsx | 2 +- .../SessionCluster/Detail/Log/index.tsx | 2 +- .../SessionCluster/Detail/Options/index.tsx | 2 +- .../Detail/PodTemplate/index.tsx | 2 +- ...linkKubernetesSessionClusterStatusYaml.tsx | 2 +- .../FlinkKubernetesSessionClusterYaml.tsx | 2 +- .../SessionCluster/Detail/YAML/index.tsx | 4 +- .../SessionCluster/Detail/index.tsx | 6 +- .../Steps/New/ClusterStepForm.tsx | 4 +- .../Steps/New/OptionsStepForm.tsx | 2 +- .../SessionCluster/Steps/New/YAMLStepForm.tsx | 2 +- .../SessionCluster/Steps/New/index.tsx | 2 +- .../SessionCluster/Steps/Update/index.tsx | 2 +- .../Kubernetes/SessionCluster/index.tsx | 2 +- .../Template/Steps/New/BaseStepForm.tsx | 4 +- .../Steps/New/YAML/DefaultTemplateEditor.tsx | 2 +- .../Steps/New/YAML/TemplateEditor.tsx | 4 +- .../Kubernetes/Template/Steps/New/index.tsx | 2 +- .../Template/Steps/Update/index.tsx | 2 +- .../Update/YAML/DefaultTemplateEditor.tsx | 2 +- .../Template/Update/YAML/TemplateEditor.tsx | 4 +- .../Kubernetes/Template/Update/YAML/index.tsx | 2 +- .../Kubernetes/Template/Update/index.tsx | 2 +- .../Workspace/Kubernetes/Template/index.tsx | 2 +- .../pages/Project/components/ProjectForm.tsx | 129 ++++--- .../pages/Project/components/Tree/index.tsx | 4 +- .../src/pages/Project/components/utils.tsx | 1 - scaleph-ui-react2/src/pages/Project/index.tsx | 10 +- .../components/ClusterCredentialForm.tsx | 4 +- .../Resource/ClusterCredential/index.tsx | 2 +- .../components/FlinkReleaseForm.tsx | 4 +- .../src/pages/Resource/FlinkRelease/index.tsx | 2 +- .../pages/Resource/Jar/components/JarForm.tsx | 4 +- .../src/pages/Resource/Jar/index.tsx | 2 +- .../Kerberos/components/KerberosForm.tsx | 4 +- .../src/pages/Resource/Kerberos/index.tsx | 2 +- .../src/pages/Resource/KerberosService.ts | 4 +- .../components/ConnectorFileForm.tsx | 4 +- .../Resource/SeaTunnelConnector/index.tsx | 2 +- .../components/SeaTunnelReleaseForm.tsx | 4 +- .../pages/Resource/SeaTunnelRelease/index.tsx | 2 +- .../src/pages/Resource/typings.d.ts | 2 +- .../components/DataElementForm.tsx | 4 +- .../src/pages/Stdata/DataElement/index.tsx | 2 +- .../Stdata/RefData/Value/DataSetForm.tsx | 4 +- .../src/pages/Stdata/RefData/Value/index.tsx | 2 +- .../RefData/components/DataSetTypeForm.tsx | 4 +- .../src/pages/Stdata/RefData/index.tsx | 2 +- .../RefDataMap/components/RefDataMapForm.tsx | 4 +- .../src/pages/Stdata/RefDataMap/index.tsx | 2 +- .../Stdata/System/components/SystemForm.tsx | 6 +- .../src/pages/Stdata/System/index.tsx | 2 +- .../src/pages/Studio/DataBoard/index.tsx | 3 +- .../src/pages/User/Login/index.less | 0 .../src/pages/User/Login/index.tsx | 179 ++++----- .../src/pages/User/Register/index.less | 0 .../src/pages/User/Register/index.tsx | 175 ++++----- .../src/pages/User/components/Log/index.tsx | 2 +- .../pages/User/components/Message/index.tsx | 2 +- .../pages/User/components/Profile/index.tsx | 2 +- .../components/Security/EmailBindForm.tsx | 4 +- .../components/Security/PasswordEditForm.tsx | 4 +- .../pages/User/components/Security/index.tsx | 2 +- scaleph-ui-react2/src/pages/User/index.less | 88 +++-- scaleph-ui-react2/src/pages/User/index.tsx | 123 +++--- .../Workflow/Definition/Quartz/Task/index.tsx | 2 +- .../Workflow/Definition/Quartz/index.tsx | 2 +- .../Workflow/Schedule/CrontabSetting.tsx | 4 +- .../Workflow/Schedule/ScheduleEnableForm.tsx | 4 +- .../pages/Workflow/Schedule/ScheduleForm.tsx | 4 +- .../src/pages/Workflow/Schedule/index.tsx | 2 +- .../src/services/admin/dept.service.ts | 4 +- .../src/services/admin/dictData.service.ts | 4 +- .../src/services/admin/dictType.service.ts | 4 +- .../src/services/admin/log.service.ts | 4 +- .../src/services/admin/message.service.ts | 4 +- .../src/services/admin/privilege.service.ts | 4 +- .../src/services/admin/resourceWeb.service.ts | 4 +- .../src/services/admin/role.service.ts | 4 +- .../src/services/admin/sysConfig.service.ts | 4 +- .../src/services/admin/typings.d.ts | 2 + .../src/services/admin/user.service.ts | 28 +- scaleph-ui-react2/src/services/auth.ts | 14 +- .../src/services/dataservice/typings.d.ts | 73 +--- .../services/datasource/category.service.ts | 4 +- .../src/services/datasource/info.service.ts | 4 +- .../src/services/datasource/typings.d.ts | 2 +- .../services/kubernetes/NamespaceService.ts | 4 +- .../src/services/project/WsDiJobService.ts | 4 +- .../project/WsDorisOperatorInstanceService.ts | 4 +- .../project/WsDorisOperatorTemplateService.ts | 4 +- .../project/WsFlinkArtifactSqlService.ts | 0 .../WsFlinkKubernetesDeploymentService.ts | 4 +- .../project/WsFlinkKubernetesJobService.ts | 4 +- .../WsFlinkKubernetesSessionClusterService.ts | 4 +- .../WsFlinkKubernetesTemplateService.ts | 4 +- .../project/WsFlinkSqlGatewayService.ts | 2 +- .../src/services/project/WsProjectService.ts | 8 +- .../services/project/flinkArtifact.service.ts | 0 .../project/flinkArtifactJar.service.ts | 0 .../src/services/project/typings.d.ts | 181 ++------- .../resource/clusterCredential.service.ts | 4 +- .../services/resource/flinkRelease.service.ts | 4 +- .../src/services/resource/jar.service.ts | 4 +- .../src/services/resource/resource.service.ts | 4 +- .../resource/seatunnelRelease.service.ts | 4 +- .../src/services/resource/typings.d.ts | 2 +- .../services/stdata/data-element.service.ts | 4 +- .../src/services/stdata/refdata.service.ts | 4 +- .../src/services/stdata/system.service.ts | 4 +- .../src/services/stdata/typings.d.ts | 2 +- .../src/services/studio/index.ts | 3 +- .../services/workflow/scheduler.service.ts | 4 +- .../src/services/workflow/typings.d.ts | 2 +- .../src/services/workflow/workflow.service.ts | 4 +- scaleph-ui-react2/src/typings.d.ts | 149 ++------ .../tests/run-tests.js | 0 .../tests/setupTests.js | 0 scaleph-ui-react2/tsconfig.json | 66 +++- 835 files changed, 6711 insertions(+), 6720 deletions(-) create mode 100644 scaleph-ui-react/.env rename {scaleph-ui-react2 => scaleph-ui-react}/.hintrc (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/.npmrc (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/components/AppLogoComponent/index.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/components/Header/HeaderDropdown/index.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/components/Header/RightContent/AvatarDropdown.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/components/Header/RightContent/index.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/components/Header/index.less (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/components/Header/index.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/constants.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/models/project/workspace/dataservice/config/dataserviceConfigSteps.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/models/project/workspace/kubernetes/job/flinkKubernetesJobDetail.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Abnormal/403.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Abnormal/404.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Abnormal/500.tsx (100%) delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/index.less delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarAddForm.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Artifact/Jar/FlinkArtifactJarUpdateForm.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Artifact/Sql/FlinkArtifactSqlForm.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/Jar/DataDevelopFlinkJarAddForm.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/Jar/DataDevelopFlinkJarUpdateForm.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact => DataDevelop/Flink}/Jar/History/index.tsx (86%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact => DataDevelop/Flink}/Jar/index.tsx (85%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditMenu/index.less (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditMenu/index.tsx (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/Editor/index.less (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/Editor/index.tsx (92%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditorRight/index.less (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditorRight/index.tsx (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditorRightResult/EditorRightResultTable.tsx (71%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditorRightResult/index.less (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/EditorRightResult/index.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/components/sort.ts (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/index.less (100%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/CodeEditor/index.tsx (100%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/DataDevelopFlinkSQLForm.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/Sql => DataDevelop/Flink/SQL}/index.tsx (77%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC}/Dag/index.tsx (84%) rename scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC/FlinkArtifactCDCForm.tsx => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC/DataIntegrationFlinkCDCForm.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/CDC => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC}/index.tsx (93%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/dnd/dnd.less (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/dnd/dnd.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/dnd/search/index.less (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/dnd/search/index.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/menubar/index.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/menubar/json.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/menubar/seatunnel.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/base-node.less (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/canvas-node.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/dnd-node.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/init-node.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/column.tsx (91%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/constant.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/dataSource.tsx (93%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/fields.tsx (92%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/helper.ts (99%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/schema.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-cassandra-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-clickhouse-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-console-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-datahub-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-dingtalk-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-doris-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-dynamodb-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-elasticsearch-step.tsx (93%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-email-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-feishu-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-ftp-file-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-hbase-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-hdfs-file-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-hive-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-http-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-influxdb-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-iotdb-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-jdbc-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-kafka-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-kudu-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-local-file-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-maxcompute-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-mongodb-step.tsx (91%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-neo4j-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-oss-file-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-ossjindo-file-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-paimon-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-redis-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-rocketmq-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-s3-file-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-s3redshift-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-sentry-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-sftp-file-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-socket-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-starrocks-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/sink/sink-wechat-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-cassandra-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-cdc-mongodb-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-cdc-mysql-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-cdc-sqlserver-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-clickhouse-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-dynamodb-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-elasticsearch-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-fake-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-ftp-file-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-hdfs-file-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-hive-step.tsx (92%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-http-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-hudi-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-iceberg-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-influxdb-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-iotdb-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-jdbc-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-kafka-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-kudu-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-local-file-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-maxcompute-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-mongodb-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-neo4j-step.tsx (92%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-openmldb-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-oss-file-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-ossjindo-file-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-paimon-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-pulsar-step.tsx (97%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-redis-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-rocketmq-step.tsx (98%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-s3-file-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-sftp-file-step.tsx (94%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-socket-step.tsx (93%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/source/source-starrocks-step.tsx (95%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/node/steps/step-form.tsx rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-copy-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-field-mapper-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-filter-row-kind-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-filter-step.tsx (95%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-replace-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-split-step.tsx (96%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/node/steps/transform/transform-sql-step.tsx (100%) rename {scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components}/toolbar/index.tsx (100%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/index.less create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/index.tsx rename scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobView/ArtifactSeaTunnelForm.tsx => scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/DataIntegrationSeaTunnelForm.tsx (95%) rename scaleph-ui-react/src/pages/Project/Workspace/{Artifact/DI/DiJobView => DataIntegration/SeaTunnel}/index.tsx (50%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Project/Workspace/DataService/Config/Steps/BaseStepForm.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Project/Workspace/DataService/Config/Steps/ConfigStepForm.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Project/Workspace/DataService/Config/Steps/index.tsx (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/pages/Project/Workspace/DataService/Config/index.tsx (99%) delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Doris/OperatorInstance/Detail/YAML/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Doris/OperatorTemplate/Steps/ComponentStepForm.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Doris/OperatorTemplate/Steps/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedAdditional.tsx (94%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedAdditionalDependencies.tsx (94%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedBasic.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedCheckpoint.tsx (99%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedFaultTolerance.tsx (99%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedHighAvailability.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedPeriodicSavepoint.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedResource.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Advanced/AdvancedRestart.tsx (98%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Advanced/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/DeploymentForm.tsx (97%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Detail/Config/index.tsx (91%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Detail/Snapshot/index.tsx (91%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Detail/YAML/index.tsx (97%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Detail/index.tsx (82%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Steps/New/ClusterStepForm.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Steps/New/OptionsStepForm.tsx (56%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Deployment/Steps/New/YAMLStepForm.tsx (97%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Deployment/Steps/New/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Deployment/Steps/Update/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Deployment/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/DeployResourceStepForm.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/DeployStateStepForm.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/InstanceList/index.tsx (91%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/JobDeployForm.tsx (93%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/JobShutdownForm.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/Savepoint/index.tsx (86%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/Detail/YAML/index.tsx (77%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Job/Detail/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/JobForm.tsx (59%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Job/index.tsx (93%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/Configuration/index.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/Log/index.tsx (91%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/Options/index.tsx (59%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/PodTemplate/index.tsx (91%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/YAML/FlinkKubernetesSessionClusterStatusYaml.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/YAML/FlinkKubernetesSessionClusterYaml.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/YAML/index.tsx (75%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Detail/index.tsx (93%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Steps/New/ClusterStepForm.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Steps/New/OptionsStepForm.tsx (57%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Steps/New/YAMLStepForm.tsx (97%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Steps/New/index.tsx (94%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/SessionCluster/Steps/Update/index.tsx (93%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/SessionCluster/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Template/Steps/New/AdvancedStepForm.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Template/Steps/New/BaseStepForm.tsx (97%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Template/Steps/New/YAML/DefaultTemplateEditor.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Template/Steps/New/YAML/TemplateEditor.tsx (94%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Template/Steps/New/YAMLStepForm.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Template/Steps/New/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Compute/Flink/Template/Steps/Update/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{Kubernetes => Engine/Compute/Flink}/Template/index.tsx (93%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Lake/Iceberg/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Lake/OneTable/index.tsx create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/Lake/Paimon/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Detail/DorisInstanceAccess.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Detail/DorisInstanceAction.tsx (97%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Detail/DorisInstanceComponent.tsx (99%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Detail/YAML/DorisInstanceStatusYaml.tsx (94%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Detail/YAML/DorisInstanceYaml.tsx (94%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/OLAP/Doris/OperatorInstance/Detail/YAML/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Detail/index.tsx (73%) rename scaleph-ui-react/src/pages/Project/Workspace/{Doris/OperatorInstance/DorisInstanceSimpleForm.tsx => Engine/OLAP/Doris/OperatorInstance/EngineOLAPDorisInstanceSimpleForm.tsx} (92%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Steps/BaseStepForm.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Steps/ComponentStepForm.tsx (68%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Steps/YAMLStepForm.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/Steps/index.tsx (90%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorInstance/index.tsx (92%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Detail/index.tsx (98%) rename scaleph-ui-react/src/pages/Project/Workspace/{Doris/OperatorTemplate/DorisTemplateForm.tsx => Engine/OLAP/Doris/OperatorTemplate/EngineOLAPDorisTemplateForm.tsx} (93%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Steps/BaseStepForm.tsx (94%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Steps/Component/DorisAdminUser.tsx (93%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Steps/Component/DorisBeComponent.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Steps/Component/DorisCnComponent.tsx (96%) rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Steps/Component/DorisFeComponent.tsx (97%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/OLAP/Doris/OperatorTemplate/Steps/ComponentStepForm.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/Steps/YAMLStepForm.tsx (96%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/OLAP/Doris/OperatorTemplate/Steps/index.tsx rename scaleph-ui-react/src/pages/Project/Workspace/{ => Engine/OLAP}/Doris/OperatorTemplate/index.tsx (91%) create mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Engine/OLAP/StarRocks/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Advanced/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Deployment/Steps/New/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Deployment/Steps/Update/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Deployment/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Job/Detail/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/SessionCluster/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Steps/New/AdvancedStepForm.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Steps/New/YAMLStepForm.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Steps/New/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Steps/Update/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Update/YAML/DefaultTemplateEditor.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Update/YAML/TemplateEditor.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Update/YAML/index.tsx delete mode 100644 scaleph-ui-react/src/pages/Project/Workspace/Kubernetes/Template/Update/index.tsx rename {scaleph-ui-react2 => scaleph-ui-react}/src/requestErrorConfig.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/dataservice/DataserviceConfigService.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/project/WsArtifactFlinkCDCService.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/project/WsArtifactFlinkJarService.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/project/WsArtifactFlinkSqlService.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/project/WsArtifactSeaTunnelService.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/user/log.service.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/user/msg.service.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/services/user/typings.d.ts (100%) rename {scaleph-ui-react2 => scaleph-ui-react}/src/socket.ts (100%) delete mode 100644 scaleph-ui-react2/.env rename {scaleph-ui-react => scaleph-ui-react2}/.husky/.gitignore (100%) rename {scaleph-ui-react => scaleph-ui-react2}/.husky/commit-msg (100%) rename {scaleph-ui-react => scaleph-ui-react2}/.husky/pre-commit (100%) rename {scaleph-ui-react => scaleph-ui-react2}/LICENSE (100%) rename {scaleph-ui-react => scaleph-ui-react2}/jest.config.js (100%) rename {scaleph-ui-react => scaleph-ui-react2}/playwright.config.ts (100%) delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/DB2.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/DeltaLake.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/DmDB.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Excel.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Iceberg.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Ignite.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/KingBase.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Kudu.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/MariaDB.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/MySQL.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/OpenAPI.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/OpenSearch.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Paimon.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Pinot.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Presto.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Prometheus.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/Redshift.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/SQLServer.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/StarRocks.png delete mode 100644 scaleph-ui-react2/public/images/DataSource/Backup/TiDB.png delete mode 100644 scaleph-ui-react2/public/images/bg.png rename {scaleph-ui-react => scaleph-ui-react2}/src/app.d.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/assets/styles/reset.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/assets/styles/variable.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/HeaderDropdown/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/HeaderDropdown/index.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/HeaderSearch/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/HeaderSearch/index.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/NoticeIcon/NoticeIcon.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/NoticeIcon/NoticeList.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/NoticeIcon/NoticeList.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/NoticeIcon/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/NoticeIcon/index.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/RightContent/AvatarDropdown.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/RightContent/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/RightContent/index.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/components/index.md (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/e2e/baseLayout.e2e.spec.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/models/jobDetail.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/404.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Admin/Dict/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/DataService/index.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/graph-cut.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/graph-help.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/graph-params-modal.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/graph-preview.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/graph-publish.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/graph-submit.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/index.js (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/cmd-extensions/step-edit-modal.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/config-cmd.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/config-dnd-panel.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/config-graph.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/config-keybinding.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/config-menu.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/config-toolbar.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/constant.tsx (100%) delete mode 100644 scaleph-ui-react2/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/node/steps/step-form.tsx rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/react-node/base-node.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/react-node/base-node.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/service.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/column.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/dataSource.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/fields.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/helper.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/schema.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-cassandra-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-clickhouse-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-console-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-datahub-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-dingtalk-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-doris-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-dynamodb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-elasticsearch-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-email-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-feishu-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-ftp-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-hbase-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-hdfs-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-hive-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-http-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-influxdb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-iotdb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-jdbc-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-kafka-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-kudu-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-local-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-maxcompute-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-mongodb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-neo4j-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-oss-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-ossjindo-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-paimon-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-redis-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-rocketmq-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-s3-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-s3redshift-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-sentry-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-sftp-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-socket-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-starrocks-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/sink/sink-wechat-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-cassandra-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-cdc-mongodb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-cdc-mysql-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-cdc-sqlserver-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-clickhouse-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-dynamodb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-elasticsearch-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-fake-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-ftp-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-hdfs-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-hive-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-http-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-hudi-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-iceberg-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-influxdb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-iotdb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-jdbc-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-kafka-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-kudu-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-local-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-maxcompute-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-mongodb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-neo4j-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-openmldb-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-oss-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-ossjindo-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-paimon-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-pulsar-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-redis-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-rocketmq-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-s3-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-sftp-file-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-socket-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/source/source-starrocks-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-copy-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-field-mapper-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-filter-row-kind-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-filter-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-replace-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-split-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobFlow/Dag/steps/transform/transform-sql-step.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobView/components/DiJobForm.tsx (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/Project/Workspace/Artifact/DI/DiJobView/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/User/Login/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/pages/User/Register/index.less (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/services/project/WsFlinkArtifactSqlService.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/services/project/flinkArtifact.service.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/src/services/project/flinkArtifactJar.service.ts (100%) rename {scaleph-ui-react => scaleph-ui-react2}/tests/run-tests.js (100%) rename {scaleph-ui-react => scaleph-ui-react2}/tests/setupTests.js (100%) diff --git a/.github/workflows/ci-docker-build.yml b/.github/workflows/ci-docker-build.yml index 0a9661d07..034c42b4c 100644 --- a/.github/workflows/ci-docker-build.yml +++ b/.github/workflows/ci-docker-build.yml @@ -53,9 +53,9 @@ jobs: timeout-minutes: 360 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Set up QEMU uses: docker/setup-qemu-action@v2 with: diff --git a/.github/workflows/ci-maven.yml b/.github/workflows/ci-maven.yml index d842a21db..816561a87 100644 --- a/.github/workflows/ci-maven.yml +++ b/.github/workflows/ci-maven.yml @@ -35,11 +35,11 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Setup Java JDK ${{ matrix.jdk }} - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: ${{ matrix.jdk }} distribution: temurin @@ -51,7 +51,7 @@ jobs: timeout-minutes: 360 run: mvn -B -U -T 4C clean package - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./**/target/site/jacoco/jacoco.xml diff --git a/.github/workflows/ci-npm.yml b/.github/workflows/ci-npm.yml index c78d6b889..e83042b6a 100644 --- a/.github/workflows/ci-npm.yml +++ b/.github/workflows/ci-npm.yml @@ -34,9 +34,9 @@ jobs: runs-on: ${{ matrix.os }} steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Build scaleph-ui-react-dist run: mvn -B -U package -pl scaleph-ui-react -am -DskipTests - name: Build with NPM diff --git a/.github/workflows/release-dist-bin.yml b/.github/workflows/release-dist-bin.yml index 9a7ab0fbf..bf4c40b09 100644 --- a/.github/workflows/release-dist-bin.yml +++ b/.github/workflows/release-dist-bin.yml @@ -32,10 +32,10 @@ jobs: steps: - id: checkout name: Checkout Codes - uses: actions/checkout@v3 + uses: actions/checkout@v4 - id: prepare_jdk name: Prepare JDK 17 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: temurin java-version: 17 diff --git a/.github/workflows/release-manual-docker-flink-cdc.yml b/.github/workflows/release-manual-docker-flink-cdc.yml index c39e5fdde..00453d9de 100644 --- a/.github/workflows/release-manual-docker-flink-cdc.yml +++ b/.github/workflows/release-manual-docker-flink-cdc.yml @@ -47,9 +47,9 @@ jobs: timeout-minutes: 360 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Log in to the Container registry uses: docker/login-action@v1.10.0 with: diff --git a/.github/workflows/release-manual-docker-flink.yml b/.github/workflows/release-manual-docker-flink.yml index 31d04e6cc..52d81cb25 100644 --- a/.github/workflows/release-manual-docker-flink.yml +++ b/.github/workflows/release-manual-docker-flink.yml @@ -40,9 +40,9 @@ jobs: timeout-minutes: 30 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Log in to the Container registry uses: docker/login-action@v1.10.0 with: diff --git a/.github/workflows/release-manual-docker-seatunnel.yml b/.github/workflows/release-manual-docker-seatunnel.yml index 837bc74d1..67dad6a46 100644 --- a/.github/workflows/release-manual-docker-seatunnel.yml +++ b/.github/workflows/release-manual-docker-seatunnel.yml @@ -47,9 +47,9 @@ jobs: timeout-minutes: 360 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Log in to the Container registry uses: docker/login-action@v1.10.0 with: diff --git a/.github/workflows/release-manual-docker-sql-template.yml b/.github/workflows/release-manual-docker-sql-template.yml index a1ca226df..89bda2b96 100644 --- a/.github/workflows/release-manual-docker-sql-template.yml +++ b/.github/workflows/release-manual-docker-sql-template.yml @@ -40,9 +40,9 @@ jobs: timeout-minutes: 30 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Setup Java JDK 11 uses: actions/setup-java@v3 with: diff --git a/.github/workflows/release-master-docker-scaleph.yml b/.github/workflows/release-master-docker-scaleph.yml index 4da639b64..3e09c2197 100644 --- a/.github/workflows/release-master-docker-scaleph.yml +++ b/.github/workflows/release-master-docker-scaleph.yml @@ -39,9 +39,9 @@ jobs: timeout-minutes: 360 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Log in to the Container registry uses: docker/login-action@v1.10.0 with: diff --git a/.github/workflows/release-tag-docker-scaleph.yml b/.github/workflows/release-tag-docker-scaleph.yml index 3869ac4e0..86ed86d2c 100644 --- a/.github/workflows/release-tag-docker-scaleph.yml +++ b/.github/workflows/release-tag-docker-scaleph.yml @@ -37,9 +37,9 @@ jobs: timeout-minutes: 360 steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Log in to the Container registry uses: docker/login-action@v1.10.0 with: diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 626536cde..3fce6a7f4 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -31,11 +31,11 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: - fetch-depth: 0 + fetch-depth: 1 - name: Setup Java JDK - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: java-version: 11 distribution: adopt diff --git a/pom.xml b/pom.xml index 9ac9fddd4..1117ecd55 100644 --- a/pom.xml +++ b/pom.xml @@ -162,10 +162,10 @@ 2.6.21 3.21.5 4.1.82.Final - 1.18.0 - 1.17 - 3.1.1 - 0.5.0-incubating + 1.18.1 + 1.18 + 3.1.2 + 0.7.0-incubating 6.2.0 3.1.7 0.4.14 diff --git a/scaleph-ui-react/.env b/scaleph-ui-react/.env new file mode 100644 index 000000000..3646d14ff --- /dev/null +++ b/scaleph-ui-react/.env @@ -0,0 +1 @@ +PORT=8000 diff --git a/scaleph-ui-react2/.hintrc b/scaleph-ui-react/.hintrc similarity index 100% rename from scaleph-ui-react2/.hintrc rename to scaleph-ui-react/.hintrc diff --git a/scaleph-ui-react2/.npmrc b/scaleph-ui-react/.npmrc similarity index 100% rename from scaleph-ui-react2/.npmrc rename to scaleph-ui-react/.npmrc diff --git a/scaleph-ui-react/config/config.ts b/scaleph-ui-react/config/config.ts index 5aab3d1e5..f7cc7d3a2 100644 --- a/scaleph-ui-react/config/config.ts +++ b/scaleph-ui-react/config/config.ts @@ -1,66 +1,120 @@ // https://umijs.org/config/ -import {defineConfig} from '@umijs/max'; -import defaultSettings from './defaultSettings'; -import proxy from './proxy'; -import routes from './routes'; +import { defineConfig } from "@umijs/max"; +import defaultSettings from "./defaultSettings"; +import proxy from "./proxy"; +import routes from "./routes"; -const {REACT_APP_ENV} = process.env; +const { REACT_APP_ENV = "dev" } = process.env; export default defineConfig({ - publicPath: REACT_APP_ENV === 'dist' ? '/scaleph/ui/' : '/', - outputPath: REACT_APP_ENV === 'dist' ? 'dist-bin' : 'dist', - history: { - type: 'hash' - }, + /** + * @name 开启 hash 模式 + * @description 让 build 之后的产物包含 hash 后缀。通常用于增量发布和避免浏览器加载缓存。 + * @doc https://umijs.org/docs/api/config#hash + */ hash: true, - antd: {}, - request: {}, - initialState: {}, + + /** + * @name 兼容性设置 + * @description 设置 ie11 不一定完美兼容,需要检查自己使用的所有依赖 + * @doc https://umijs.org/docs/api/config#targets + */ + // targets: { + // ie: 11, + // }, + /** + * @name 路由的配置,不在路由中引入的文件不会编译 + * @description 只支持 path,component,routes,redirect,wrappers,title 的配置 + * @doc https://umijs.org/docs/guides/routes + */ + // umi routes: https://umijs.org/docs/routing + routes, + /** + * @name 主题的配置 + * @description 虽然叫主题,但是其实只是 less 的变量设置 + * @doc antd的主题设置 https://ant.design/docs/react/customize-theme-cn + * @doc umi 的theme 配置 https://umijs.org/docs/api/config#theme + */ + theme: { + // 如果不想要 configProvide 动态设置主题需要把这个设置为 default + // 只有设置为 variable, 才能使用 configProvide 动态设置主色调 + "root-entry-name": "variable", + }, + /** + * @name moment 的国际化配置 + * @description 如果对国际化没有要求,打开之后能减少js的包大小 + * @doc https://umijs.org/docs/api/config#ignoremomentlocale + */ + ignoreMomentLocale: true, + /** + * @name 代理配置 + * @description 可以让你的本地服务器代理到你的服务器上,这样你就可以访问服务器的数据了 + * @see 要注意以下 代理只能在本地开发时使用,build 之后就无法使用了。 + * @doc 代理介绍 https://umijs.org/docs/guides/proxy + * @doc 代理配置 https://umijs.org/docs/api/config#proxy + */ + proxy: proxy[REACT_APP_ENV as keyof typeof proxy], + /** + * @name 快速热更新配置 + * @description 一个不错的热更新组件,更新时可以保留 state + */ + fastRefresh: true, + //============== 以下都是max的插件配置 =============== + /** + * @name 数据流插件 + * @@doc https://umijs.org/docs/max/data-flow + */ model: {}, + dva: {}, + /** + * 一个全局的初始数据流,可以用它在插件之间共享数据 + * @description 可以用来存放一些全局的数据,比如用户信息,或者一些全局的状态,全局初始状态在整个 Umi 项目的最开始创建。 + * @doc https://umijs.org/docs/max/data-flow#%E5%85%A8%E5%B1%80%E5%88%9D%E5%A7%8B%E7%8A%B6%E6%80%81 + */ + initialState: {}, + /** + * @name layout 插件 + * @doc https://umijs.org/docs/max/layout-menu + */ layout: { - // https://umijs.org/zh-CN/plugins/plugin-layout locale: true, - siderWidth: 208, ...defaultSettings, }, - // https://umijs.org/zh-CN/plugins/plugin-locale + /** + * @name 国际化插件 + * @doc https://umijs.org/docs/max/i18n + */ locale: { - default: 'zh-CN', + // default zh-CN + default: "zh-CN", antd: true, - title: true, + // default true, when it is true, will use `navigator.language` overwrite default baseNavigator: true, - baseSeparator: '-', }, - - targets: { - chrome: '86', - }, - // umi routes: https://umijs.org/docs/routing - routes, + /** + * @name antd 插件 + * @description 内置了 babel import 插件 + * @doc https://umijs.org/docs/max/antd#antd + */ + antd: {}, + /** + * @name 网络请求配置 + * @description 它基于 axios 和 ahooks 的 useRequest 提供了一套统一的网络请求和错误处理方案。 + * @doc https://umijs.org/docs/max/request + */ + request: {}, + /** + * @name 权限插件 + * @description 基于 initialState 的权限插件,必须先打开 initialState + * @doc https://umijs.org/docs/max/access + */ access: {}, - // Theme for antd: https://ant.design/docs/react/customize-theme-cn - theme: { - // 如果不想要 configProvide 动态设置主题需要把这个设置为 default - // 只有设置为 variable, 才能使用 configProvide 动态设置主色调 - // https://ant.design/docs/react/customize-theme-variable-cn - 'root-entry-name': 'variable', - }, - ignoreMomentLocale: true, - proxy: proxy[REACT_APP_ENV || 'dev'], - manifest: { - basePath: '/', + icons: {}, + //================ pro 插件配置 ================= + presets: ["umi-presets-pro"], + mfsu: { + strategy: "normal", }, - // Fast Refresh 热更新 - fastRefresh: true, - presets: ['umi-presets-pro'], - dva: {} - // openAPI: [ - // { - // requestLibPath: "import { request } from '@umijs/max'", - // schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json', - // projectName: 'swagger', - // }, - // ], + requestRecord: {}, + esbuildMinifyIIFE: true, }); - - diff --git a/scaleph-ui-react/config/defaultSettings.ts b/scaleph-ui-react/config/defaultSettings.ts index 8fa2fecb7..648ecc655 100644 --- a/scaleph-ui-react/config/defaultSettings.ts +++ b/scaleph-ui-react/config/defaultSettings.ts @@ -1,26 +1,30 @@ -import { Settings as LayoutSettings } from '@ant-design/pro-components'; +import { Settings as LayoutSettings } from "@ant-design/pro-components"; const {PUBLIC_PATH} = process.env; const baseURL = PUBLIC_PATH ? (PUBLIC_PATH.endsWith("/") ? PUBLIC_PATH.substring(0, PUBLIC_PATH.length - 1) : PUBLIC_PATH) : '' +/** + * @name + */ const Settings: LayoutSettings & { pwa?: boolean; logo?: string; } = { - navTheme: 'light', - primaryColor: '#1890ff', - layout: 'mix', - contentWidth: 'Fluid', + navTheme: "light", + colorPrimary: "#1890ff", + layout: "mix", + contentWidth: "Fluid", fixedHeader: true, fixSiderbar: true, colorWeak: false, - splitMenus: true, - title: 'Scaleph', + title: "Scaleph", pwa: false, logo: `${baseURL}/scaleph.svg`, - iconfontUrl: '', + iconfontUrl: "", + splitMenus: true, + siderMenuType: "sub", }; export default Settings; diff --git a/scaleph-ui-react/config/proxy.ts b/scaleph-ui-react/config/proxy.ts index a0933c378..da93dfad7 100644 --- a/scaleph-ui-react/config/proxy.ts +++ b/scaleph-ui-react/config/proxy.ts @@ -1,10 +1,13 @@ /** - * 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 + * @name 代理的配置 + * @see 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 * ------------------------------- * The agent cannot take effect in the production environment * so there is no configuration of the production environment * For details, please see * https://pro.ant.design/docs/deploy + * + * @doc https://umijs.org/docs/guides/proxy */ export default { dev: { @@ -13,18 +16,10 @@ export default { changeOrigin: true, }, }, - test: { - '/api/': { - target: 'https://proapi.azurewebsites.net', - changeOrigin: true, - pathRewrite: { '^': '' }, - }, - }, pre: { '/api/': { - target: 'your pre url', + target: 'http://localhost:8080/scaleph', changeOrigin: true, - pathRewrite: { '^': '' }, }, }, }; diff --git a/scaleph-ui-react/config/routes.ts b/scaleph-ui-react/config/routes.ts index 66e8e0a36..3b75a326b 100644 --- a/scaleph-ui-react/config/routes.ts +++ b/scaleph-ui-react/config/routes.ts @@ -1,21 +1,39 @@ -export default [ +import { PRIVILEGES } from "../src/constants"; + +/** + * @name umi 的路由配置 + * @description 只支持 path,component,routes,redirect,wrappers,name,icon 的配置 + * @param path path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。 + * @param component 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径,也可以是相对路径,如果是相对路径,会从 src/pages 开始找起。 + * @param routes 配置子路由,通常在需要为多个路径增加 layout 组件时使用。 + * @param redirect 配置路由跳转 + * @param wrappers 配置路由组件的包装组件,通过包装组件可以为当前的路由组件组合进更多的功能。 比如,可以用于路由级别的权限校验 + * @param name 配置路由的标题,默认读取国际化文件 menu.ts 中 menu.xxxx 的值,如配置 name 为 login,则读取 menu.ts 中 menu.login 的取值作为标题 + * @param icon 配置路由的图标,取值参考 https://ant.design/components/icon-cn, 注意去除风格后缀和大小写,如想要配置图标为 则取值应为 stepBackward 或 StepBackward,如想要配置图标为 则取值应为 user 或者 User + * @doc https://umijs.org/docs/guides/routes + */ +export default [ { - path: '/', - redirect: '/studio/databoard', - }, - { - path: '/login', - layout: false, - component: './User/Login', - }, - { - path: '/register', + path: "/user", layout: false, - component: './User/Register', + routes: [ + { + name: "login", + path: "/user/login", + component: "./User/Login", + exact: true, + }, + { + name: "register", + path: "/user/register", + component: "./User/Register", + exact: true, + }, + ], }, { - path: '/user/center', - component: './User', + path: "/", + redirect: "/studio", }, { name: 'studio', @@ -49,148 +67,219 @@ path: '/workspace', routes: [ { - path: '/workspace', - redirect: '/workspace/artifact', - }, - { - name: 'project.artifact', - path: '/workspace/artifact', - icon: 'code', + name: 'project.engine', + path: '/workspace/engine', + icon: 'deploymentUnit', routes: [ { - path: '/workspace/artifact', - redirect: '/workspace/artifact/jar', - }, - { - name: 'jar', - path: '/workspace/artifact/jar', - component: './Project/Workspace/Artifact/Jar', - }, - { - path: '/workspace/artifact/history', - component: './Project/Workspace/Artifact/Jar/History', + name: 'lake', + path: '/workspace/engine/lake', + icon: 'apartment', + routes: [ + { + name: 'iceberg', + path: '/workspace/engine/lake/iceberg', + icon: 'apartment', + component: './Project/Workspace/Engine/Lake/Iceberg', + }, + { + name: 'paimon', + path: '/workspace/engine/lake/paimon', + icon: 'apartment', + component: './Project/Workspace/Engine/Lake/Paimon', + } + ] }, { - name: 'sql', - path: '/workspace/artifact/sql', - component: './Project/Workspace/Artifact/Sql', + name: 'olap', + path: '/workspace/engine/olap', + icon: 'apartment', + routes: [ + { + name: 'doris', + path: '/workspace/engine/olap/doris', + icon: 'apartment', + routes: [ + { + name: 'template', + path: '/workspace/engine/olap/doris/template', + component: './Project/Workspace/Engine/OLAP/Doris/OperatorTemplate', + }, + { + path: '/workspace/engine/olap/doris/template/steps', + component: './Project/Workspace/Engine/OLAP/Doris/OperatorTemplate/Steps', + }, + { + path: '/workspace/engine/olap/doris/template/detail', + component: './Project/Workspace/Engine/OLAP/Doris/OperatorTemplate/Detail', + }, + { + name: 'instance', + path: '/workspace/engine/olap/doris/instance', + component: './Project/Workspace/Engine/OLAP/Doris/OperatorInstance', + }, + { + path: '/workspace/engine/olap/doris/instance/steps', + component: './Project/Workspace/Engine/OLAP/Doris/OperatorInstance/Steps', + }, + { + path: '/workspace/engine/olap/doris/instance/detail', + component: './Project/Workspace/Engine/OLAP/Doris/OperatorInstance/Detail', + }, + ] + }, + { + name: 'starrocks', + path: '/workspace/engine/olap/starrocks', + icon: 'apartment', + component: './Project/Workspace/Engine/OLAP/StarRocks', + } + ] }, { - path: '/workspace/artifact/editor', - component: './Project/Workspace/Artifact/Sql/CodeEditor', - }, - { - name: 'seatunnel', - path: '/workspace/artifact/seatunnel', - component: './Project/Workspace/Artifact/DI/DiJobView', - }, - { - path: '/workspace/artifact/seatunnel/dag', - component: './Project/Workspace/Artifact/DI/DiJobFlow', + name: 'compute', + path: '/workspace/engine/compute', + icon: 'apartment', + routes: [ + { + name: 'flink', + path: '/workspace/engine/compute/flink', + icon: 'apartment', + routes: [ + { + name: 'template', + path: '/workspace/engine/compute/flink/template', + component: './Project/Workspace/Engine/Compute/Flink/Template', + }, + { + path: '/workspace/engine/compute/flink/template/steps/new', + component: './Project/Workspace/Engine/Compute/Flink/Template/Steps/New', + }, + { + path: '/workspace/engine/compute/flink/template/steps/update', + component: './Project/Workspace/Engine/Compute/Flink/Template/Steps/Update', + }, + { + name: 'session-cluster', + path: '/workspace/engine/compute/flink/session-cluster', + component: './Project/Workspace/Engine/Compute/Flink/SessionCluster', + }, + { + path: '/workspace/engine/compute/flink/session-cluster/steps/new', + component: './Project/Workspace/Engine/Compute/Flink/SessionCluster/Steps/New', + }, + { + path: '/workspace/engine/compute/flink/session-cluster/steps/update', + component: './Project/Workspace/Engine/Compute/Flink/SessionCluster/Steps/Update', + }, + { + path: '/workspace/engine/compute/flink/session-cluster/detail', + component: './Project/Workspace/Engine/Compute/Flink/SessionCluster/Detail', + }, + { + name: 'deployment', + path: '/workspace/engine/compute/flink/deployment', + component: './Project/Workspace/Engine/Compute/Flink/Deployment', + }, + { + path: '/workspace/engine/compute/flink/deployment/steps/new', + component: './Project/Workspace/Engine/Compute/Flink/Deployment/Steps/New', + }, + { + path: '/workspace/engine/compute/flink/deployment/steps/update', + component: './Project/Workspace/Engine/Compute/Flink/Deployment/Steps/Update', + }, + { + path: '/workspace/engine/compute/flink/deployment/detail', + component: './Project/Workspace/Engine/Compute/Flink/Deployment/Detail', + }, + { + name: 'job', + path: '/workspace/engine/compute/flink/job', + component: './Project/Workspace/Engine/Compute/Flink/Job', + }, + { + path: '/workspace/engine/compute/flink/job/detail', + component: './Project/Workspace/Engine/Compute/Flink/Job/Detail', + }, + ] + } + ] }, ] }, { - name: 'project.flink.kubernetes', - path: '/workspace/flink/kubernetes', + name: 'project.data-integration', + path: '/workspace/data-integration', icon: 'deploymentUnit', routes: [ { - path: '/workspace/flink/kubernetes', - redirect: '/workspace/flink/kubernetes/template', - }, - { - name: 'template', - path: '/workspace/flink/kubernetes/template', - component: './Project/Workspace/Kubernetes/Template', - }, - { - path: '/workspace/flink/kubernetes/template/steps/new', - component: './Project/Workspace/Kubernetes/Template/Steps/New', - }, - { - path: '/workspace/flink/kubernetes/template/steps/update', - component: './Project/Workspace/Kubernetes/Template/Steps/Update', - }, - { - name: 'session-cluster', - path: '/workspace/flink/kubernetes/session-cluster', - component: './Project/Workspace/Kubernetes/SessionCluster', - }, - { - path: '/workspace/flink/kubernetes/session-cluster/steps/new', - component: './Project/Workspace/Kubernetes/SessionCluster/Steps/New', - }, - { - path: '/workspace/flink/kubernetes/session-cluster/steps/update', - component: './Project/Workspace/Kubernetes/SessionCluster/Steps/Update', + name: 'seatunnel', + path: '/workspace/data-integration/seatunnel', + icon: 'apartment', + component: './Project/Workspace/DataIntegration/SeaTunnel', }, { - path: '/workspace/flink/kubernetes/session-cluster/detail', - component: './Project/Workspace/Kubernetes/SessionCluster/Detail', + path: '/workspace/data-integration/seatunnel/dag', + component: './Project/Workspace/DataIntegration/SeaTunnel/Dag', }, { - name: 'deployment', - path: '/workspace/flink/kubernetes/deployment', - component: './Project/Workspace/Kubernetes/Deployment', + name: 'flink-cdc', + path: '/workspace/data-integration/flink-cdc', + icon: 'apartment', + component: './Project/Workspace/DataIntegration/FlinkCDC', }, { - path: '/workspace/flink/kubernetes/deployment/steps/new', - component: './Project/Workspace/Kubernetes/Deployment/Steps/New', - }, + path: '/workspace/data-integration/flink-cdc/dag', + component: './Project/Workspace/DataIntegration/FlinkCDC/Dag', + } + ] + }, + { + name: 'project.data-develop', + path: '/workspace/data-develop', + icon: 'deploymentUnit', + routes: [ { - path: '/workspace/flink/kubernetes/deployment/steps/update', - component: './Project/Workspace/Kubernetes/Deployment/Steps/Update', + name: 'flink-jar', + path: '/workspace/data-develop/flink/jar', + icon: 'apartment', + component: './Project/Workspace/DataDevelop/Flink/Jar', }, { - path: '/workspace/flink/kubernetes/deployment/detail', - component: './Project/Workspace/Kubernetes/Deployment/Detail', + path: '/workspace/data-develop/flink/jar/history', + component: './Project/Workspace/DataDevelop/Flink/Jar/History', }, { - name: 'job', - path: '/workspace/flink/kubernetes/job', - component: './Project/Workspace/Kubernetes/Job', + name: 'flink-sql', + path: '/workspace/data-develop/flink/sql', + icon: 'apartment', + component: './Project/Workspace/DataDevelop/Flink/SQL', }, { - path: '/workspace/flink/kubernetes/job/detail', - component: './Project/Workspace/Kubernetes/Job/Detail', - }, + path: '/workspace/data-develop/flink/sql/editor', + component: './Project/Workspace/DataDevelop/Flink/SQL/CodeEditor', + } ] }, { - name: 'project.doris', - path: '/workspace/doris', + name: 'project.dag-scheduler', + path: '/workspace/dag-scheduler', + icon: 'deploymentUnit', + }, + { + name: 'project.data-service', + path: '/workspace/data-service', icon: 'solution', routes: [ { - path: '/workspace/doris', - redirect: '/workspace/doris/template', - }, - { - name: 'template', - path: '/workspace/doris/template', - component: './Project/Workspace/Doris/OperatorTemplate', - }, - { - path: '/workspace/doris/template/steps', - component: './Project/Workspace/Doris/OperatorTemplate/Steps', - }, - { - path: '/workspace/doris/template/detail', - component: './Project/Workspace/Doris/OperatorTemplate/Detail', - }, - { - name: 'instance', - path: '/workspace/doris/instance', - component: './Project/Workspace/Doris/OperatorInstance', - }, - { - path: '/workspace/doris/instance/steps', - component: './Project/Workspace/Doris/OperatorInstance/Steps', + name: 'config', + path: '/workspace/data-service/config', + component: './Project/Workspace/DataService/Config', }, { - path: '/workspace/doris/instance/detail', - component: './Project/Workspace/Doris/OperatorInstance/Detail', + path: '/workspace/data-service/config/steps', + component: './Project/Workspace/DataService/Config/Steps', }, ] }, @@ -358,6 +447,31 @@ ], }, { - component: './404', + path: "/user/center", + component: "./User", + exact: true, + }, + { + path: "/403", + component: "./Abnormal/403", + layout: false, + exact: true, + }, + { + path: "/404", + component: "./Abnormal/404", + layout: false, + exact: true, + }, + { + path: "/500", + component: "./Abnormal/500", + layout: false, + exact: true, + }, + { + path: "*", + layout: false, + component: "./Abnormal/404", }, ]; diff --git a/scaleph-ui-react/package.json b/scaleph-ui-react/package.json index 0213df0c2..55029a4ca 100644 --- a/scaleph-ui-react/package.json +++ b/scaleph-ui-react/package.json @@ -1,10 +1,9 @@ { "name": "scaleph", - "version": "1.0", + "version": "2.0.3", "private": true, "description": "Scaleph", "scripts": { - "postinstall": "max setup", "analyze": "cross-env ANALYZE=1 max build", "build": "max build", "dist-build": "cross-env REACT_APP_ENV=dist max build", @@ -12,24 +11,27 @@ "dev": "npm run start:dev", "gh-pages": "gh-pages -d dist", "i18n-remove": "pro i18n-remove --locale=zh-CN --write", + "postinstall": "max setup", + "jest": "jest", "lint": "npm run lint:js && npm run lint:prettier && npm run tsc", "lint-staged": "lint-staged", "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", "lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src ", "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", - "lint:prettier": "prettier -c --write \"src/**/*\" --end-of-line auto", + "lint:prettier": "prettier -c --write \"**/**.{js,jsx,tsx,ts,less,md,json}\" --end-of-line auto", "openapi": "max openapi", - "playwright": "playwright install && playwright test", - "prettier": "prettier -c --write \"src/**/*\"", + "prettier": "prettier -c --write \"**/**.{js,jsx,tsx,ts,less,md,json}\"", + "preview": "npm run build && max preview --port 8000", + "record": "cross-env NODE_ENV=development REACT_APP_ENV=test max record --scene=login", "serve": "umi-serve", "start": "cross-env UMI_ENV=dev max dev", "start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev max dev", "start:no-mock": "cross-env MOCK=none UMI_ENV=dev max dev", "start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev max dev", "start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev max dev", - "test": "max test", - "test:component": "max test ./src/components", - "test:e2e": "node ./tests/run-tests.js", + "test": "jest", + "test:coverage": "npm run jest -- --coverage", + "test:update": "npm run jest -- -u", "tsc": "tsc --noEmit" }, "lint-staged": { @@ -45,91 +47,67 @@ ], "dependencies": { "@ant-design/icons": "^4.7.0", - "@ant-design/pro-components": "2.3.8", - "@antv/xflow": "^1.0.51", - "@fortawesome/fontawesome-svg-core": "^6.1.2", - "@fortawesome/free-regular-svg-icons": "^6.1.2", - "@fortawesome/free-solid-svg-icons": "^6.1.2", - "@fortawesome/react-fontawesome": "^0.2.0", + "@ant-design/pro-components": "^2.3.47", + "@antv/xflow": "^2.0.3", + "@antv/xflow-diff": "^1.0.0", + "@antv/layout": "^0.3.2", + "@antv/x6-react-components": "^2.0.8", + "@ant-design/pro-layout": "^7.10.3", + "@ant-design/use-emotion-css": "1.0.4", "@monaco-editor/react": "^4.4.6", - "@umijs/route-utils": "^2.0.0", - "ali-react-table": "^2.6.1", - "antd": "^4.23.2", - "classnames": "^2.3.0", - "lodash": "^4.17.0", - "moment": "^2.29.0", + "@types/babel__template": "^7.4.1", + "@umijs/route-utils": "^2.1.3", + "ag-grid-community": "^29.2.0", + "ag-grid-react": "^29.2.0", + "antd": "^5.0.0", + "classnames": "^2.3.2", + "highlight.js": "^10.7.3", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "monaco-editor": "^0.37.0", + "monaco-themes": "^0.4.4", "omit.js": "^2.0.2", - "rc-menu": "^9.1.0", - "rc-util": "^5.16.0", - "react": "^17.0.0", - "react-dev-inspector": "^1.7.0", - "react-dom": "^17.0.0", - "react-helmet-async": "^1.2.0", + "rc-menu": "^9.6.4", + "rc-util": "^5.24.4", + "react": "^18.0.0", + "react-cookies": "^0.1.1", + "react-dev-inspector": "^1.8.1", + "react-dom": "^18.0.0", + "react-helmet-async": "^1.3.0", "react-split": "^2.0.14", "sql-formatter": "^12.2.4", - "yaml": "^2.2.1" + "socket.io-client": "^4.7.2" }, "devDependencies": { "@ant-design/pro-cli": "^2.1.0", - "@antv/xflow-core": "^1.0.51", - "@antv/xflow-extension": "^1.0.51", - "@playwright/test": "^1.17.0", + "@testing-library/react": "^13.4.0", "@types/classnames": "^2.3.1", - "@types/express": "^4.17.0", - "@types/history": "^4.7.0", - "@types/jest": "^26.0.0", - "@types/lodash": "^4.14.0", + "@types/express": "^4.17.14", + "@types/history": "^4.7.11", + "@types/highlight.js": "^9.12.4", + "@types/jest": "^29.2.1", + "@types/lodash": "^4.14.186", "@types/react": "^17.0.0", "@types/react-dom": "^17.0.0", - "@types/react-helmet": "^6.1.0", - "@umijs/fabric": "^2.11.1", - "@umijs/max": "^4.0.0-rc.22", - "@umijs/openapi": "^1.3.0", - "cross-env": "^7.0.0", - "cross-port-killer": "^1.3.0", - "detect-installer": "^1.0.0", - "eslint": "^7.32.0", + "@types/react-helmet": "^6.1.5", + "@umijs/lint": "^4.0.34", + "@umijs/max": "^4.0.33", + "cross-env": "^7.0.3", + "eslint": "^8.0.0", + "express": "^4.18.2", "gh-pages": "^3.2.0", - "husky": "^7.0.4", - "jsdom-global": "^3.0.0", + "jest": "^29.2.2", + "jest-environment-jsdom": "^29.2.2", "lint-staged": "^10.0.0", - "mana-syringe": "^0.2.2", "mockjs": "^1.1.0", - "prettier": "^2.5.0", - "swagger-ui-dist": "^4.12.0", - "typescript": "^4.5.0", - "umi-presets-pro": "^1.0.1" + "monaco-editor-webpack-plugin": "^7.0.1", + "prettier": "^2.7.1", + "swagger-ui-dist": "^4.14.2", + "ts-node": "^10.9.1", + "typescript": "^4.8.4", + "umi-presets-pro": "^2.0.0" }, "engines": { "node": ">=12.0.0" - }, - "create-umi": { - "ignoreScript": [ - "docker*", - "functions*", - "site", - "generateMock" - ], - "ignoreDependencies": [ - "netlify*", - "serverless" - ], - "ignore": [ - ".dockerignore", - ".git", - ".github", - ".gitpod.yml", - "CODE_OF_CONDUCT.md", - "Dockerfile", - "Dockerfile.*", - "lambda", - "LICENSE", - "netlify.toml", - "README.*.md", - "azure-pipelines.yml", - "docker", - "CNAME", - "create-umi" - ] } } diff --git a/scaleph-ui-react/pom.xml b/scaleph-ui-react/pom.xml index c332c3b37..e4a8ce593 100644 --- a/scaleph-ui-react/pom.xml +++ b/scaleph-ui-react/pom.xml @@ -27,7 +27,6 @@ 2.0.3-SNAPSHOT ../pom.xml - scaleph-ui-react scaleph-ui-react @@ -38,12 +37,12 @@ - - dist - - run dist-build - - + + dist + + run dist-build + + @@ -66,7 +65,7 @@ generate-resources - install --force + install diff --git a/scaleph-ui-react/public/CNAME b/scaleph-ui-react/public/CNAME index 30c2d4d36..a0cc5ea31 100644 --- a/scaleph-ui-react/public/CNAME +++ b/scaleph-ui-react/public/CNAME @@ -1 +1 @@ -preview.pro.ant.design \ No newline at end of file +basedt.dms \ No newline at end of file diff --git a/scaleph-ui-react/src/access.ts b/scaleph-ui-react/src/access.ts index c22ab2b67..c13fb4d4c 100644 --- a/scaleph-ui-react/src/access.ts +++ b/scaleph-ui-react/src/access.ts @@ -1,16 +1,19 @@ +import { AuthService } from "./services/admin/auth.service"; + /** * @see https://umijs.org/zh-CN/plugins/plugin-access * */ +export default function access( + initialState: { currentUser?: Scaleph.SysUser } | undefined +) { + const { currentUser } = initialState ?? {}; -import { AuthService } from './services/auth'; - -export default function access() { return { canAccess: (code: string) => { - return AuthService.hasPrivilege(code); + return Promise.resolve(true); }, normalRouteFilter: (route: any) => { - return AuthService.hasPrivilege(route?.pCode); + return Promise.resolve(true); }, }; } diff --git a/scaleph-ui-react/src/app.tsx b/scaleph-ui-react/src/app.tsx index 0e06389cc..f8a933bec 100644 --- a/scaleph-ui-react/src/app.tsx +++ b/scaleph-ui-react/src/app.tsx @@ -1,45 +1,70 @@ -import Footer from '@/components/Footer'; -import RightContent from '@/components/RightContent'; -import { LinkOutlined } from '@ant-design/icons'; -import { Settings as LayoutSettings } from '@ant-design/pro-components'; -import type { RunTimeLayoutConfig } from '@umijs/max'; -import { message, notification, Space } from 'antd'; -import { useEffect, useState } from 'react'; -import { history, Link, RequestConfig } from 'umi'; -import defaultSettings from '../config/defaultSettings'; -import { OnlineUserInfo, ResponseBody } from './app.d'; -import { USER_AUTH } from './constants/constant'; +import {useEffect, useState} from "react"; +import {Space} from "antd"; +import {LinkOutlined} from "@ant-design/icons"; +import {Settings as LayoutSettings} from "@ant-design/pro-components"; +import type {RunTimeLayoutConfig} from "@umijs/max"; +import {history, Link} from "@umijs/max"; +import defaultSettings from "../config/defaultSettings"; +import RightContent from "@/components/Header/RightContent"; +import Footer from "@/components/Footer"; +import {errorConfig} from "./requestErrorConfig"; +import {USER_AUTH} from "@/constants"; import Icon from './icon'; -import { UserService } from './services/admin/user.service'; -import { AuthService } from './services/auth'; +import {OnlineUserInfo, ResponseBody} from "@/typings"; +import {UserService} from "@/services/admin/user.service"; +import {AuthService} from "@/services/auth"; + +const isDev = process.env.NODE_ENV === "development"; +const whiteList: string[] = ["/user/login", "/user/register"]; -const isDev = process.env.NODE_ENV === 'development'; -const whiteList: string[] = ['login', 'register']; /** * @see https://umijs.org/zh-CN/plugins/plugin-initial-state * */ export async function getInitialState(): Promise<{ settings?: Partial; currentUser?: OnlineUserInfo; + loading?: boolean; + collapsed?: boolean; + fetchUserInfo?: () => Promise; }> { - const token = localStorage.getItem(USER_AUTH.token); - if (token != null && token != undefined && token != '') { - const info = await UserService.getOnlineUserInfo(token); - if (info.success) { - await AuthService.setSession(info.data || {}); + const fetchUserInfo = async () => { + let user: OnlineUserInfo = {}; + try { + await UserService.getOnlineUserInfo(localStorage.getItem(USER_AUTH.token)).then((resp) => { + if (resp.success && resp.data) { + user = resp.data; + } else { + history.push("/user/login"); + } + }); + } catch (error) { + history.push("/user/login"); } + return user; + }; + + // 如果不是登录页面,执行 + const {location} = history; + if (!whiteList.includes(location.pathname)) { + const currentUser = await fetchUserInfo(); + return { + fetchUserInfo, + currentUser, + collapsed: false, + settings: defaultSettings, + }; } - const user: OnlineUserInfo = JSON.parse(localStorage.getItem(USER_AUTH.userInfo) || ''); return { + fetchUserInfo, + collapsed: false, settings: defaultSettings, - currentUser: user, }; } // ProLayout 支持的api https://procomponents.ant.design/components/layout -export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => { - const [defaultMenus, setDefaultMenus] = useState<{}[]>([]); +export const layout: RunTimeLayoutConfig = ({initialState, setInitialState}) => { + const [defaultMenus, setDefaultMenus] = useState<{}[]>([]); useEffect(() => { const fetchData = async () => { const dataList: ResponseBody = await AuthService.menuRoutes(); @@ -47,161 +72,104 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) = setDefaultMenus(dataList); } }; - fetchData(); }, []); + return { - rightContentRender: () => , - disableContentMargin: false, - contentStyle: { margin: 12 }, - footerRender: () =>