@@ -21,8 +21,7 @@ import { goBack } from 'connected-react-router';
2121import { all , put , select , take , takeLatest } from 'redux-saga/effects' ;
2222
2323import { TicketsCardActions } from '@/v5/store/tickets/card/ticketsCard.redux' ;
24- import { ROUTES } from '../../constants/routes' ;
25- import { INITIAL_HELICOPTER_SPEED , VIEWER_GIZMO_MODES , VIEWER_EVENTS } from '../../constants/viewer' ;
24+ import { INITIAL_HELICOPTER_SPEED , VIEWER_GIZMO_MODES , VIEWER_EVENTS , VIEWER_CLIP_MODES } from '../../constants/viewer' ;
2625import * as API from '../../services/api' ;
2726import { MultiSelect } from '../../services/viewer/multiSelect' ;
2827import { Viewer } from '../../services/viewer/viewer' ;
@@ -44,7 +43,7 @@ import { SequencesActions } from '../sequences';
4443import { StarredActions } from '../starred' ;
4544import { dispatch } from '../store' ;
4645import { TreeActions } from '../tree' ;
47- import { selectInitialView , selectViewpointsDomain , selectViewpointsList , ViewpointsActions , ViewpointsTypes } from '../viewpoints' ;
46+ import { selectInitialView , selectViewpointsDomain , ViewpointsActions , ViewpointsTypes } from '../viewpoints' ;
4847import { ViewerGuiActions , ViewerGuiTypes } from './viewerGui.redux' ;
4948import {
5049 selectClippingMode ,
@@ -291,14 +290,11 @@ function* setClippingMode({ mode }) {
291290 try {
292291 const currentClipMode = yield select ( selectClippingMode ) ;
293292 if ( currentClipMode !== mode ) {
294- yield all ( [
295- put ( ViewerGuiActions . setClipModeSuccess ( mode ) ) ,
296- Viewer . setClipMode ( mode ) ,
297- put ( ViewerGuiActions . setGizmoMode ( VIEWER_GIZMO_MODES . TRANSLATE ) ) ,
298- ] )
299- }
300- if ( ! mode ) {
301- yield put ( ViewerGuiActions . setClipEdit ( false ) ) ;
293+ yield put ( ViewerGuiActions . setClipModeSuccess ( mode ) ) ;
294+ if ( ! mode ) {
295+ yield Viewer . clipToolDelete ( ) ;
296+ yield put ( ViewerGuiActions . setClipEdit ( false ) ) ;
297+ }
302298 }
303299 } catch ( error ) {
304300 yield put ( DialogActions . showErrorDialog ( 'set' , 'clip mode' , error ) ) ;
@@ -328,8 +324,9 @@ function* setClipEdit({ isClipEdit }) {
328324 try {
329325 const currentClipEdit = yield select ( selectIsClipEdit ) ;
330326 if ( currentClipEdit !== isClipEdit ) {
327+ const clippingMode = yield select ( selectClippingMode ) ;
331328 yield all ( [
332- isClipEdit ? Viewer . startClipEdit ( ) : Viewer . stopClipEdit ( ) ,
329+ isClipEdit ? Viewer . startClip ( clippingMode === VIEWER_CLIP_MODES . SINGLE ) : Viewer . stopClipEdit ( ) ,
333330 put ( ViewerGuiActions . setClipEditSuccess ( isClipEdit ) ) ,
334331 ] )
335332 }
0 commit comments