Skip to content

Commit

Permalink
ISSUE #4642 - Changed gotoview to just use the viewpoint, avoiding cl…
Browse files Browse the repository at this point in the history
…ashes with other views
  • Loading branch information
sanmont3drepo committed Jan 18, 2024
1 parent 8b87353 commit b1d20cb
Showing 1 changed file with 11 additions and 18 deletions.
29 changes: 11 additions & 18 deletions frontend/src/v5/helpers/viewpoint.helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,8 @@ import { generateViewpoint as generateViewpointV4, getNodesIdsFromSharedIds, toS
import { formatMessage } from '@/v5/services/intl';
import { dispatch, getState } from '@/v4/modules/store';
import { isEmpty, isString } from 'lodash';
import { TreeActions } from '@/v4/modules/tree';
import { selectCurrentTeamspace } from '../store/teamspaces/teamspaces.selectors';
import { TicketsCardActionsDispatchers } from '../services/actionsDispatchers';
import { ViewpointsActions } from '@/v4/modules/viewpoints';
import { GroupsActions } from '@/v4/modules/groups';
import { SequencesActions } from '@/v4/modules/sequences';

export const convertToV5GroupNodes = (objects) => objects.map((object) => ({
container: object.model as string,
Expand Down Expand Up @@ -133,6 +129,8 @@ const convertToV4Group = (groupOverride: GroupOverride) => {
return group;
};

const mergeGroups = (groups: any[]) => ({ objects: groups.flatMap((group) => group.objects) });

export const viewpointV5ToV4 = (viewpoint: Viewpoint) => {
let v4Viewpoint:any = {};
if (viewpoint.camera) {
Expand All @@ -153,6 +151,15 @@ export const viewpointV5ToV4 = (viewpoint: Viewpoint) => {
v4Viewpoint.transformation_groups = viewpoint.state.transformed.map(convertToV4Group);
}


if (!isEmpty(viewpoint.state?.colored)) {
v4Viewpoint.override_groups = viewpoint.state.colored.map(convertToV4Group);
}

if (!isEmpty(viewpoint.state?.hidden)) {
v4Viewpoint.hidden_group = mergeGroups(viewpoint.state.hidden.map(convertToV4Group));
}

return { viewpoint: v4Viewpoint };
};

Expand Down Expand Up @@ -207,19 +214,5 @@ export const goToView = async (view: Viewpoint) => {
return;
}

// This is not very clean but will be fixed with the overrides refactor
dispatch(GroupsActions.clearColorOverridesSuccess());
dispatch(ViewpointsActions.clearColorOverrides());
dispatch(SequencesActions.clearColorOverrides());

const overrides = toGroupPropertiesDicts(view?.state?.colored || []);
TicketsCardActionsDispatchers.setOverrides(overrides);
const v4HiddenObjects = convertToV4GroupNodes(view.state?.hidden?.flatMap((hiddenOverride) => (hiddenOverride.group as Group)?.objects || []));
if (v4HiddenObjects.length) {
dispatch(TreeActions.hideNodesBySharedIds(v4HiddenObjects, true));
} else {
dispatch(TreeActions.showAllNodes());
}

dispatch(ViewpointsActions.showViewpoint(null, null, viewpointV5ToV4(view)));
};

0 comments on commit b1d20cb

Please sign in to comment.