From d629fa9b3d6abf5cd060136729921aebd1fb2a5d Mon Sep 17 00:00:00 2001 From: asadeg02 Date: Thu, 6 Dec 2018 01:59:29 -0500 Subject: [PATCH] resolve the bug regarding non-covelant-binding --- lib/interactions/non-covelant-binding.js | 11 ++++++++--- lib/interactions/stimulation.js | 3 +-- lib/segment.js | 3 ++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/interactions/non-covelant-binding.js b/lib/interactions/non-covelant-binding.js index b251d29..3417c9f 100644 --- a/lib/interactions/non-covelant-binding.js +++ b/lib/interactions/non-covelant-binding.js @@ -21,9 +21,14 @@ function render(design, interaction, segments, interactions) { let productOffset = 0; let width = 0; for (let i in interaction.participants) { - + + if (!interaction.participants[i].segment) { + console.log(interaction.participants[i], "partcipant") + console.log(interaction, "interaction") + } //clear all the previous rolles attached to participant segment interaction.participants[i].segment.role = null; + if (interaction.participants[i].role === "reactant") { reactantNumber++; @@ -36,7 +41,7 @@ function render(design, interaction, segments, interactions) { var segment = Segment.render(design, interaction.participants[i].segment, interactions); if (i == 0) { - productOffset = interaction.participants.segmentWidth; + productOffset = interaction.segmentWidth; } @@ -44,7 +49,7 @@ function render(design, interaction, segments, interactions) { //segment.dx(110); segment.dx(productOffset); - + } else if (interaction.participants[i].segment.role === "reactant2") { diff --git a/lib/interactions/stimulation.js b/lib/interactions/stimulation.js index 7f2f731..1cae515 100644 --- a/lib/interactions/stimulation.js +++ b/lib/interactions/stimulation.js @@ -46,7 +46,6 @@ function render(design, interaction, segments, interactions) { //update participant offset design.geom.participantOffset = Helper.find_participant_offset(interaction.participants[i], interaction.displayId, "simulation"); var segment = Segment.render(design, interaction.participants[i].segment, interactions); - console.log(sgment.bbox().height) nonDNAVerticalOffset = segment.bbox().height + 30; nonDNAshorizontalOffset = (segment.bbox().width)/2; } @@ -62,7 +61,7 @@ function render(design, interaction, segments, interactions) { if (isCircuit ) { //segment.dx( (design.geom.participantOffset -1) * (design.geom.defaultGlyphSize.x + design.geom.glyphPadding) + design.geom.glyphPadding + design.geom.defaultGlyphSize.x/2) segment.dx(nonDNAshorizontalOffset - segment.bbox().width); - segment.dy(-nonDNAVerticalOffset - segment.bbox().height); + segment.dy(-nonDNAVerticalOffset); } else if (!isCircuit) { segment.dx(0) diff --git a/lib/segment.js b/lib/segment.js index 84263c7..9257a95 100755 --- a/lib/segment.js +++ b/lib/segment.js @@ -280,7 +280,8 @@ function renderSegment(design, segment, interactions,) { var arrowGlyph = arrowProps.glyph; arrowGlyph.transform({ matrix: Matrix.toSVGString(arrowTransform) }); group.add(arrowGlyph); - interaction.participants.segmentWidth = group.bbox().width + //interaction.participants.segmentWidth = group.bbox().width + interaction.segmentWidth = group.bbox().width } //if glyph is the first reactant in a non-covelant-binding-reaction modify direction of arrow