Skip to content

Commit

Permalink
[Fix] Fixed the issue that the historical version was not refreshed a…
Browse files Browse the repository at this point in the history
…fter the task was pushed (#4265)
  • Loading branch information
aiwenmo authored Feb 27, 2025
1 parent 9b1b2f0 commit 5c7c89c
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 26 deletions.
10 changes: 5 additions & 5 deletions dinky-web/src/components/VersionList/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ import { ListItemTypeProps } from 'antd/es/list/Item';

export type TaskVersionListItem = {
id: number;
taskId?: number;
taskId: number;
name?: string;
dialect?: string;
type?: string;
statement: string;
versionId?: string;
versionId: number;
createTime?: string;
isLatest?: boolean;
};
export interface VersionListProps {
data: TaskVersionListItem[];
onSelectListen?: (value: TaskVersionListItem) => void;
onDeleteListen?: (value: TaskVersionListItem) => void;
onRollBackListen?: (value: TaskVersionListItem) => void;
onSelectListen: (value: TaskVersionListItem) => void;
onDeleteListen: (value: TaskVersionListItem) => void;
onRollBackListen: (value: TaskVersionListItem) => void;
loading?: boolean;
header?: string;
options?: ListItemTypeProps;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
*/

import { API_CONSTANTS } from '@/services/endpoints';
import React, { useRef, useState } from 'react';
import React, { useCallback, useRef, useState } from 'react';
import { TaskVersionListItem } from '@/types/Studio/data';
import { l } from '@/utils/intl';
import moment from 'moment';
Expand All @@ -30,13 +30,22 @@ import { handleOption, handleRemoveById } from '@/services/BusinessCrud';
import VersionList from '@/components/VersionList';
import { useRequest } from '@umijs/max';

export const HistoryVersion = (props: { taskId: number; statement: string; updateTime: Date }) => {
const { taskId, statement, updateTime } = props;
export const HistoryVersion = (props: {
taskId: number;
statement: string;
updateTime: Date;
lastVersionId: number;
rollbackTask: (taskId: number, versionId: number) => void;
}) => {
const { taskId, statement, updateTime, lastVersionId, rollbackTask } = props;

const { data, refresh, loading } = useRequest({
url: API_CONSTANTS.GET_JOB_VERSION,
params: { taskId: taskId }
});
const { data, refresh, loading } = useRequest(
{
url: API_CONSTANTS.GET_JOB_VERSION,
params: { taskId: taskId }
},
{ refreshDeps: [lastVersionId] }
);

const [versionDiffVisible, setVersionDiffVisible] = useState<boolean>(false);
const [versionDiffRow, setVersionDiffRow] = useState<TaskVersionListItem>();
Expand Down Expand Up @@ -113,17 +122,7 @@ export const HistoryVersion = (props: { taskId: number; statement: string; updat
}),
okText: l('button.confirm'),
cancelText: l('button.cancel'),
onOk: async () => {
const TaskVersionRollbackItem = {
taskId: row.taskId,
versionId: row.versionId
};
await handleOption(
'api/task/rollbackTask',
l('pages.datastudio.label.version.rollback.flinksql'),
TaskVersionRollbackItem
);
}
onOk: async () => rollbackTask(row.taskId, row.versionId)
});
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ export const SqlTask = memo((props: FlinkSqlProps & any) => {
subscribeTopic: model.subscribeTopic
}));
const [isRunning, setIsRunning] = useState<boolean>(false);
const [lastVersion, setLastVersion] = useState<number>(currentState.versionId);

const [pushDolphinState, setPushDolphinState] = useState<{
modalVisible: boolean;
Expand Down Expand Up @@ -401,6 +402,25 @@ export const SqlTask = memo((props: FlinkSqlProps & any) => {
taskOwnerLockingStrategy
);

const handleRollbackVersion = async (taskId: number, versionId: number) => {
const result = await handleOption(
API_CONSTANTS.ROLLBACK_TASK,
l('pages.datastudio.label.version.rollback.flinksql'),
{
taskId,
versionId
}
);
if (result && result.success) {
// 更新当前编辑器内的sql语句
const task = await getTaskDetails(taskId);
if (task) {
setOriginStatementValue(task.statement);
setCurrentState((prevState) => ({ ...prevState, ...task }));
}
}
};

const rightToolbarItem: TabsProps['items'] = [];
if (
isSql(currentState.dialect) ||
Expand Down Expand Up @@ -429,6 +449,8 @@ export const SqlTask = memo((props: FlinkSqlProps & any) => {
taskId={currentState.taskId}
statement={currentState.statement}
updateTime={currentState.updateTime}
lastVersionId={lastVersion}
rollbackTask={handleRollbackVersion}
/>
)
});
Expand Down Expand Up @@ -649,11 +671,17 @@ export const SqlTask = memo((props: FlinkSqlProps & any) => {
currentState.step = JOB_LIFE_CYCLE.DEVELOP;
} else {
await handleSave();
await changeTaskLife(
const result = await changeTaskLife(
l('global.table.lifecycle.publishing'),
currentState.taskId,
JOB_LIFE_CYCLE.PUBLISH
);
if (result.success) {
const taskDetails = await getTaskDetails(currentState.taskId);
if (taskDetails) {
setLastVersion(taskDetails.versionId);
}
}
currentState.step = JOB_LIFE_CYCLE.PUBLISH;
}
setCurrentState((prevState) => ({ ...prevState, step: currentState.step }));
Expand Down
1 change: 1 addition & 0 deletions dinky-web/src/services/endpoints.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,7 @@ export enum API_CONSTANTS {
CATALOGUE_GET_CATALOGUE_SORT_TYPE_DATA = '/api/catalogue/getCatalogueSortType',
GET_JOB_VERSION = '/api/task/version',
RESTART_TASK = '/api/task/restartTask',
ROLLBACK_TASK = '/api/task/rollbackTask',
SAVEPOINT = '/api/task/savepoint',
RESTART_TASK_FROM_CHECKPOINT = '/api/task/selectSavePointRestartTask',
LIST_FLINK_SQL_ENV = '/api/task/listFlinkSQLEnv',
Expand Down
4 changes: 2 additions & 2 deletions dinky-web/src/types/Studio/data.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,12 @@ export type SavePoint = {

export type TaskVersionListItem = {
id: number;
taskId?: number;
taskId: number;
name?: string;
dialect?: string;
type?: string;
statement: string;
versionId?: string;
versionId: number;
createTime?: string;
isLatest?: boolean;
};
Expand Down

0 comments on commit 5c7c89c

Please sign in to comment.