From 5e2f2ecf316e95eb22009e3311023a0eae54ca24 Mon Sep 17 00:00:00 2001 From: Boris Sekachev Date: Wed, 25 Mar 2020 19:28:34 +0300 Subject: [PATCH] Fixed create object URL after first save, fixed URL itself --- cvat-ui/src/actions/annotation-actions.ts | 8 +++++++- .../src/containers/annotation-page/annotation-page.tsx | 9 +++++---- .../standard-workspace/objects-side-bar/object-item.tsx | 2 +- cvat-ui/src/reducers/annotation-reducer.ts | 2 ++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/cvat-ui/src/actions/annotation-actions.ts b/cvat-ui/src/actions/annotation-actions.ts index fbb02587..7d35d529 100644 --- a/cvat-ui/src/actions/annotation-actions.ts +++ b/cvat-ui/src/actions/annotation-actions.ts @@ -973,6 +973,8 @@ export function getJobAsync( export function saveAnnotationsAsync(sessionInstance: any): ThunkAction, {}, {}, AnyAction> { return async (dispatch: ActionCreator): Promise => { + const { filters, frame, showAllInterpolationTracks } = receiveAnnotationsParameters(); + dispatch({ type: AnnotationActionTypes.SAVE_ANNOTATIONS, payload: {}, @@ -992,6 +994,8 @@ ThunkAction, {}, {}, AnyAction> { }); }); + const states = await sessionInstance + .annotations.get(frame, showAllInterpolationTracks, filters); await saveJobEvent.close(); await sessionInstance.logger.log( LogType.sendTaskInfo, @@ -1001,7 +1005,9 @@ ThunkAction, {}, {}, AnyAction> { dispatch({ type: AnnotationActionTypes.SAVE_ANNOTATIONS_SUCCESS, - payload: {}, + payload: { + states, + }, }); } catch (error) { dispatch({ diff --git a/cvat-ui/src/containers/annotation-page/annotation-page.tsx b/cvat-ui/src/containers/annotation-page/annotation-page.tsx index 8d2972ba..a47b3572 100644 --- a/cvat-ui/src/containers/annotation-page/annotation-page.tsx +++ b/cvat-ui/src/containers/annotation-page/annotation-page.tsx @@ -63,10 +63,11 @@ function mapDispatchToProps(dispatch: any, own: OwnProps): DispatchToProps { } } - if (searchParams.has('object')) { - const searchObject = +(searchParams.get('object') as string); - if (!Number.isNaN(searchObject)) { - initialFilters.push(`serverID==${searchObject}`); + if (searchParams.has('serverID') && searchParams.has('type')) { + const serverID = searchParams.get('serverID'); + const type = searchParams.get('type'); + if (serverID && !Number.isNaN(+serverID)) { + initialFilters.push(`serverID==${serverID} & type=="${type}"`); } } diff --git a/cvat-ui/src/containers/annotation-page/standard-workspace/objects-side-bar/object-item.tsx b/cvat-ui/src/containers/annotation-page/standard-workspace/objects-side-bar/object-item.tsx index 4efc8803..b7a18933 100644 --- a/cvat-ui/src/containers/annotation-page/standard-workspace/objects-side-bar/object-item.tsx +++ b/cvat-ui/src/containers/annotation-page/standard-workspace/objects-side-bar/object-item.tsx @@ -255,7 +255,7 @@ class ObjectItemContainer extends React.PureComponent { pathname, } = window.location; - const search = `frame=${frameNumber}&object=${objectState.serverID}`; + const search = `frame=${frameNumber}&type=${objectState.objectType}&serverID=${objectState.serverID}`; const url = `${origin}${pathname}?${search}`; copy(url); }; diff --git a/cvat-ui/src/reducers/annotation-reducer.ts b/cvat-ui/src/reducers/annotation-reducer.ts index 6f13b16f..1dd788b9 100644 --- a/cvat-ui/src/reducers/annotation-reducer.ts +++ b/cvat-ui/src/reducers/annotation-reducer.ts @@ -267,10 +267,12 @@ export default (state = defaultState, action: AnyAction): AnnotationState => { }; } case AnnotationActionTypes.SAVE_ANNOTATIONS_SUCCESS: { + const { states } = action.payload; return { ...state, annotations: { ...state.annotations, + states, saving: { ...state.annotations.saving, uploading: false,