Pedigree editor may fail to load some pedigrees with multi-generation relationships

Description

Note: there is no data loss unless the user overwrites the pedigree after failing to load the existing one

The problem is that after some layout changes come nodes may get coordinates which have a fractional part (as opposed to being an integer). Pedigree editor mistakenly identifies those are incorrect coordinates (which is bug #1), and fails to correctly ignore those as designed (which is bug #2) and display the pedigree using the rest of the data

Both bugs are in the _generateOrdersAndPositionsFromLayout() method in import.js


How to reproduce:

1) draw any pedigree with a multi-generation edge, and save
(e.g mother-father-child, then make the child a partner of one of the parents)

2) go to the family page and view the family as an object (http://localhost:8080/edit/Families/FAM0000001?editor=object)

3) edit "pedigree data" in "PedigreeClass 0", and modiy the "x" value of some relationship to a non-integer value (depending on layout, may need to modify "x" values of only certain relationships. For the example above - mother-father-child-who-is-a-partner the very first relationship works):

e.g.

->

(the same can happen via UI, but only for a more complicated pedigree)

...or just replace pedigree data with the pedigree below:

Environment

None

Status

Assignee

Andrew Misyura

Reporter

Andrew Misyura

Labels

None

External issue ID

None

External issue ID

None

Epic Link

Components

Fix versions

Affects versions

Priority

Major
Configure