Skip to content

Commit 8c1aa2e

Browse files
committed
Cursor position after adding preset in sequence mode causes an incorrect sequence formation
#6272
1 parent 5bf9f53 commit 8c1aa2e

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

packages/ketcher-core/src/application/editor/modes/SequenceMode.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,7 +1676,6 @@ export class SequenceMode extends BaseMode {
16761676
const history = new EditorHistory(editor);
16771677
const modelChanges = new Command();
16781678
const selections = SequenceRenderer.selections;
1679-
const wasCanvasEmptyBeforeInsertion = SequenceRenderer.isEmptyCanvas();
16801679

16811680
if (selections.length > 0) {
16821681
if (this.isSelectionsContainAntisenseChains(selections)) {
@@ -1760,11 +1759,6 @@ export class SequenceMode extends BaseMode {
17601759
);
17611760
history.update(modelChanges);
17621761
}
1763-
1764-
if (wasCanvasEmptyBeforeInsertion) {
1765-
this.turnOnEditMode();
1766-
SequenceRenderer.moveCaretForward();
1767-
}
17681762
}
17691763

17701764
private createRnaPresetNode(preset: IRnaPreset, position: Vec2) {

packages/ketcher-core/src/application/render/renderers/sequence/SequenceRenderer.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -468,8 +468,8 @@ export class SequenceRenderer {
468468

469469
SequenceRenderer.forEachNode(({ twoStrandedNode, nodeIndexOverall }) => {
470470
if (
471-
twoStrandedNode.senseNode?.monomer === monomer ||
472-
twoStrandedNode.antisenseNode?.monomer === monomer
471+
twoStrandedNode.senseNode?.monomers.includes(monomer) ||
472+
twoStrandedNode.antisenseNode?.monomers.includes(monomer)
473473
) {
474474
newCaretPosition = nodeIndexOverall;
475475
}
@@ -483,8 +483,8 @@ export class SequenceRenderer {
483483

484484
SequenceRenderer.forEachNode(({ twoStrandedNode, nodeIndexOverall }) => {
485485
if (
486-
twoStrandedNode.senseNode?.monomer === monomer ||
487-
twoStrandedNode.antisenseNode?.monomer === monomer
486+
twoStrandedNode.senseNode?.monomers.includes(monomer) ||
487+
twoStrandedNode.antisenseNode?.monomers.includes(monomer)
488488
) {
489489
newCaretPosition = nodeIndexOverall;
490490
}
@@ -1154,8 +1154,8 @@ export class SequenceRenderer {
11541154

11551155
SequenceRenderer.forEachNode(({ twoStrandedNode }) => {
11561156
if (
1157-
twoStrandedNode.senseNode?.monomer === monomer ||
1158-
twoStrandedNode.antisenseNode?.monomer === monomer
1157+
twoStrandedNode.senseNode?.monomers.includes(monomer) ||
1158+
twoStrandedNode.antisenseNode?.monomers.includes(monomer)
11591159
) {
11601160
rendererToReturn =
11611161
twoStrandedNode.senseNode?.renderer ||

0 commit comments

Comments
 (0)