Skip to content

Commit

Permalink
Merge pull request #227 from CSCfi/CSCFC4EMSCR-561
Browse files Browse the repository at this point in the history
CSCFC4EMSCR-561 pull request to develop
  • Loading branch information
masillan authored Nov 11, 2024
2 parents c23d9aa + c128dc3 commit 20830aa
Showing 1 changed file with 33 additions and 8 deletions.
41 changes: 33 additions & 8 deletions mscr-ui/src/modules/crosswalk-editor/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,10 @@ export default function CrosswalkEditor({
const [isOneToManyMapping, setIsOneToManyMapping] = useState<boolean>(false);
const [isPatchMappingOperation, setIsMappingPatchOperation] =
useState<boolean>(false);
const [scrollToSelectedNodeId, setScrollToSelectedNodeId] = useState<
const [scrollToSelectedSourceNodeId, setScrollToSelectedSourceNodeId] = useState<
string | undefined
>('');
const [scrollToSelectedTargetNodeId, setScrollToSelectedTargetNodeId] = useState<
string | undefined
>('');
const [mappingToBeEdited, setMappingToBeEdited] = useState<
Expand Down Expand Up @@ -395,29 +398,51 @@ export default function CrosswalkEditor({
}
};

function handleScrolling(mapping: NodeMapping, nodeId? : string) {
if (nodeId === undefined) {
setScrollToSelectedSourceNodeId(nodeId);
setScrollToSelectedTargetNodeId(nodeId);
} else {
if (nodeId === mapping.source[0].id) {
setScrollToSelectedSourceNodeId(nodeId);
setScrollToSelectedTargetNodeId(mapping.target[0].id);
} else {
setScrollToSelectedTargetNodeId(nodeId);
setScrollToSelectedSourceNodeId(mapping.source[0].id);
}
}
}

const performCallbackFromAccordionAction = (
mapping: NodeMapping,
action: string,
nodeId?: string,
mappingOrHighlightOperationId?: string,
isSourceTree?: boolean
) => {
setScrollToSelectedNodeId('');
setScrollToSelectedSourceNodeId('');
setScrollToSelectedTargetNodeId('');
// TODO: implement add notes from accordion if needed?
if (action === 'remove') {
removeMapping(mapping);
} else if (action === 'selectFromTreesByMapping') {
setScrollToSelectedNodeId(nodeId);
if (isSourceTree === true) {
setScrollToSelectedSourceNodeId(nodeId);
setScrollToSelectedTargetNodeId(mapping.target[0].id);
} else {
setScrollToSelectedTargetNodeId(nodeId);
setScrollToSelectedSourceNodeId(mapping.source[0].id);
}
selectFromTreeByNodeMapping(mapping, true);
selectFromTreeByNodeMapping(mapping, false);
} else if (action === 'openMappingDetails') {
setScrollToSelectedNodeId(nodeId);
handleScrolling(mapping, nodeId);
setIsMappingPatchOperation(true);
setPatchPid(mapping.pid ? mapping.pid : '');
selectFromTreeByNodeMapping(mapping, true);
selectFromTreeByNodeMapping(mapping, false);
} else if (action === 'highlightFunctionField') {
setScrollToSelectedNodeId(nodeId);
handleScrolling(mapping, nodeId);
setHighlightOperation({
operationId: mappingOrHighlightOperationId
? mappingOrHighlightOperationId
Expand All @@ -429,7 +454,7 @@ export default function CrosswalkEditor({
selectFromTreeByNodeMapping(mapping, true);
selectFromTreeByNodeMapping(mapping, false);
} else if (action === 'removeMapping') {
setScrollToSelectedNodeId(nodeId);
handleScrolling(mapping, nodeId);
removeMapping(mapping.pid);
}
};
Expand Down Expand Up @@ -495,7 +520,7 @@ export default function CrosswalkEditor({
treeSelection={sourceTreeSelection}
caption={t('crosswalk-editor.search-from-source-schema')}
schemaUrn={sourceSchemaUrn}
scrollToSelectedNodeId={scrollToSelectedNodeId}
scrollToSelectedNodeId={scrollToSelectedSourceNodeId}
/>
</div>

Expand Down Expand Up @@ -541,7 +566,7 @@ export default function CrosswalkEditor({
treeSelection={targetTreeSelection}
caption={t('crosswalk-editor.search-from-target-schema')}
schemaUrn={targetSchemaUrn}
scrollToSelectedNodeId={scrollToSelectedNodeId}
scrollToSelectedNodeId={scrollToSelectedTargetNodeId}
/>
</div>
</div>
Expand Down

0 comments on commit 20830aa

Please sign in to comment.