Hi,
Can you provide the code that the genogram will uses multiple links per node.
In the above screenshot, for one key/node I can use only two side vertical links, one vertical link and one horizontal link. If I will use another link then it is not displaying to genogram. Why it happens?
Please see the below code:
diagramData = [
{ key: 0, name: "Arron Father",s: "M",age:"59"},
{ key: 1, name: "Arron Mother",s: "F",age:"57",vir:0},
{ key: 2, name: "Arron",s: "M",age:"25",m:1,f:0,sh:0,ssnlad:1,cs:3,d:4},
{ key: 3, name: "Arron Sister",s: "F",age:"21",m:1,f:0},
{ key: 4, name: "Arron Brother",s: "M",age:"18",m:1,f:0},
];
I given the above genogram Data but in Aaron key, d is distant. It is not displaying.
It is taking limit links like one two side vertical links, one vertical link and one horizontal link. If I will give extra link then genogram is not accepting.
sh:0,ssnlad:1,cs:3,d:4
sh,ssnladcs and d are customized like the below :
// cs
PathPatterns.add("CloseAndStrong", $(go.Shape,{geometryString: "M 0,0 l 0,-5", fill: "transparent",stroke: "black",strokeWidth: 1,strokeCap: "square"}));
// d
PathPatterns.add("LivingTogether", $(go.Shape,{geometryString: "M0 0 M3 0 L6 0", fill: "transparent",stroke: "black",strokeWidth: 1,strokeCap: "square"}));
// h
PathPatterns.add("CloseHostile", $(go.Shape,{geometryString: "M0 3 L1 0 3 10 5 4 M0 4 L5 4 M0 5 L5 5 M0 6 L5 6", fill: "transparent",stroke: "black",strokeWidth: 1,strokeCap: "square"}));
//nlad
PathPatterns.add("NotLegallyAdoptedDistant", $(go.Shape,{geometryString: "M0 8 M3 8 L6 8 M0 3 M3 3 L6 3", fill: "transparent",stroke: "black",strokeWidth: 1,strokeCap: "square"}));
For h and nlad I am using prefix as s and ss for links if have side verticals links.
Because I am using code like below:
function init() {
document.getElementById('previewImage').style.display = "none";
var selectGenderToFocus;
if (window.goSamples) goSamples();
var $ = go.GraphObject.make;
myDiagram =
$(go.Diagram, "myDiagramDiv",
{
initialAutoScale: go.Diagram.Uniform,
initialContentAlignment: go.Spot.Center,
"undoManager.isEnabled": true,
layout: // use a custom layout, defined below
$(GenogramLayout, { direction: 90, layerSpacing: 90, columnSpacing: 10})
});
diagramData = [
{ key: 0, name: "Arron Father",s: "M",age:"59"},
{ key: 1, name: "Arron Mother",s: "F",age:"57",vir:0},
{ key: 2, name: "Arron",s: "M",age:"25",m:1,f:0,sh:0,ssnlad:1,cs:3,d:4},
{ key: 3, name: "Arron Sister",s: "F",age:"21",m:1,f:0},
{ key: 4, name: "Arron Brother",s: "M",age:"18",m:1,f:0},
];
setupDiagram(myDiagram, diagramData);
}
calling setupDiagram inside the init() method which is calling from html page.
function setupDiagram(diagram, array) {
diagram.model =
go.GraphObject.make(go.GraphLinksModel,
{
linkLabelKeysProperty: "labelKeys",
nodeCategoryProperty: "s",
nodeDataArray: array
});
var model = diagram.model;
var nodeDataArray = model.nodeDataArray;
var data = null;
for (var i = 0; i < nodeDataArray.length; i++) {
data = nodeDataArray[i];
if(data.sla !== undefined) {
setupParentChild(diagram);
}
// multiple links for side verticals
if(data.shl !== undefined || data.scs !== undefined || data.sh !== undefined || data.snla !== undefined ||data.sch !== undefined ||
data.snlacs !== undefined || data.snlad !== undefined || data.snlah !== undefined || data.snlach !== undefined ||
data.slacs !== undefined || data.sslad !== undefined || data.slah !== undefined || data.slach !== undefined || (data.f != undefined && data.m == undefined)
|| (data.m != undefined && data.f == undefined) || data.la !== undefined || data.nla != undefined) {
setNodeLinks(diagram,data,model);
}
if(data.sshl !== undefined || data.sscs !== undefined || data.ssh !== undefined || data.ssnla !== undefined || data.ssch !== undefined ||
data.ssnlacs !== undefined || data.ssnlad !== undefined || data.ssnlah !== undefined || data.ssnlach !== undefined ||
data.sslacs !== undefined || data.sslad !== undefined || data.sslah !== undefined || data.sslach !== undefined) {
setNodeLinks1(diagram,data,model);
}
}
setupMarriages(diagram);
setupParents(diagram);
}
function setupParentChild(diagram) {
var model = diagram.model;
var nodeDataArray = model.nodeDataArray;
for (var i = 0; i < nodeDataArray.length; i++) {
var data = nodeDataArray[i];
var key = data.key; // 2,f:0,h:1(in place of m:1)
var father = data.f; // : 0
var mother = data.m;
var relationText = data.relationText;
if(relationText == undefined) {
relationText = "";
}
var SinglelegallyAdopted = data.sla;
var ctdata = null;
if(key !== undefined && father !== undefined && mother == undefined && SinglelegallyAdopted !== undefined) {
var remarks_single_mother = data.m;
ctdata ={ from: father, to: key,category: "Child_NewLinkFormats",relationText:remarks(relationText,father,remarks_single_mother,key), patt: "LegallyAdopted", toArrow: "OpenTriangle" };
} else if(key !== undefined && father == undefined && mother !== undefined && SinglelegallyAdopted !== undefined ) {
var remarks_single_father = data.f;
ctdata ={ from: mother, to: key,category: "Child_NewLinkFormats",relationText:remarks(relationText,mother,remarks_single_father,key),patt: "LegallyAdopted", toArrow: "OpenTriangle" };
}
myDiagram.model.addLinkData(ctdata);
}
}
function findMarriage(diagram, a, b) { // A and B are node keys
var nodeA = diagram.findNodeForKey(a);
var nodeB = diagram.findNodeForKey(b);
//con
if (nodeA !== null && nodeB !== null) {
var it = nodeA.findLinksBetween(nodeB); // in either direction
while (it.next()) {
var link = it.value;
if (link.data !== null && link.data.category === "Marriage")return link;
if (link.data !== null && link.data.category === "NewLinkFormats") return link;
if (link.data !== null && link.data.category === "SingleNode_NewLinkFormats") return link;
if (link.data !== null && link.data.category === "SeparationLinkFormat") return link;
if (link.data !== null && link.data.category === "DivorceLinkFormat") return link;
if (link.data !== null && link.data.category === "DomesticWorker") return link;
if (link.data !== null && link.data.category === "Child_NewLinkFormats") return link;
if (link.data !== null && link.data.category === "ParentChild") return link;
}
}
return null;
}
var flag = 0;
function setupMarriages(diagram) {
var model = diagram.model;
var nodeDataArray = model.nodeDataArray;
var data;
for (var i = 0; i < nodeDataArray.length; i++) {
data = nodeDataArray[i];
if(data.s !== "MFDW" && data.s !== "FFDW") {
var key = data.key;
var uxs = data.ux;
var virs = data.vir;
var relationText = data.relationText;
if(relationText == undefined) {
relationText = "";
}
var closeAndStrong = data.cs;
var livingTogether = data.liv;
var hostile = data.h;
var closeHostile = data.ch;
var mfdw;
var ffdw;
//alert("key --> "+key+"closeAndStrong --> "+closeAndStrong);
var divorce = data.div;
var divorceCloseAndStrong = data.divcs;
var divorceDistant = data.divd;
var divorceHostile = data.divh;
var divorceCloseHostile = data.divch;
var marriageCloseAndStrong = data.mcs;
var marriageDistant = data.md;
var marriageHostile = data.mh;
var marriageCloseHostile = data.mch;
// var legallyAdoptedCloseAndStrong
var maritalSeparation = data.ms;
var maritalSeparationCloseAndStrong = data.mscs;
var maritalSeparationDistant = data.msd;
var maritalSeparationHostile = data.msh;
var maritalSeparationCloseHostile = data.msch;
var legallyAdoptedCloseAndStrong = data.lacs;
var legallyAdoptedDistant = data.lad;
var legallyAdoptedHostile = data.lah;
var legallyAdoptedCloseHostile = data.lach;
var livingTogetherCloseAndStrong = data.livcs;
var livingTogetherDistant = data.livd;
var livingTogetherHostile = data.livh;
var livingTogetherCloseHostile = data.livch;
var lfCategory = null;
if (uxs !== undefined) {
lfCategory = uxs;
}
if (virs !== undefined) {
lfCategory = virs;
}
if (closeAndStrong !== undefined) {
lfCategory = closeAndStrong;
}
if (livingTogether !== undefined) {
lfCategory = livingTogether;
}
if (hostile !== undefined) {
lfCategory = hostile;
}
if (closeHostile !== undefined) {
lfCategory = closeHostile;
}
if (divorce !== undefined) {
lfCategory = divorce;
}
if (divorceCloseAndStrong !== undefined) {
lfCategory = divorceCloseAndStrong;
}
if (divorceDistant !== undefined) {
lfCategory = divorceDistant;
}
if (divorceHostile !== undefined) {
lfCategory = divorceHostile;
}
if (divorceCloseHostile !== undefined) {
lfCategory = divorceCloseHostile;
}
if (marriageCloseAndStrong !== undefined) {
lfCategory = marriageCloseAndStrong;
}
if (marriageDistant !== undefined) {
lfCategory = marriageDistant;
}
if (marriageHostile !== undefined) {
lfCategory = marriageHostile;
}
if (marriageCloseHostile !== undefined) {
lfCategory = marriageCloseHostile;
}
if (maritalSeparation !== undefined) {
lfCategory = maritalSeparation;
}
if (maritalSeparationCloseAndStrong !== undefined) {
lfCategory = maritalSeparationCloseAndStrong;
}
if (maritalSeparationDistant !== undefined) {
lfCategory = maritalSeparationDistant;
}
if (maritalSeparationHostile !== undefined) {
lfCategory = maritalSeparationHostile;
}
if (maritalSeparationCloseHostile !== undefined) {
lfCategory = maritalSeparationCloseHostile;
}
if (legallyAdoptedCloseAndStrong !== undefined) {
lfCategory = legallyAdoptedCloseAndStrong;
}
if (legallyAdoptedDistant !== undefined) {
lfCategory = legallyAdoptedDistant;
}
if (legallyAdoptedHostile !== undefined) {
lfCategory = legallyAdoptedHostile;
}
if (legallyAdoptedCloseHostile !== undefined) {
lfCategory = legallyAdoptedCloseHostile;
}
if (livingTogetherCloseAndStrong !== undefined) {
lfCategory = livingTogetherCloseAndStrong;
}
if (livingTogetherDistant !== undefined) {
lfCategory = livingTogetherDistant;
}
if (livingTogetherHostile !== undefined) {
lfCategory = livingTogetherHostile;
}
if (livingTogetherCloseHostile !== undefined) {
lfCategory = livingTogetherCloseHostile;
}
console.log("new");
/* alert("key :"+key);
alert("relationText :"+relationText);
alert("lfCategory :"+(lfCategory));*/
if (typeof lfCategory === "number") lfCategory = [ lfCategory ];
if(lfCategory !== null) {
for (var j = 0; j < lfCategory.length; j++) {
var husband = lfCategory[j];
if (key === husband) {
continue;
}
var link = findMarriage(diagram, key, husband);
if (link === null) {
var mlab = { s: "LinkLabel" };
model.addNodeData(mlab);
var mdata = null;
var msgKey = null;
if(relationText == undefined) {
relationText = "";
} else {
//doubt
if (lfCategory == uxs || lfCategory == virs) {
var remarks_m = data.m;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "Child_NewLinkFormats" , relationText:remarks(relationText,husband,remarks_m,key)};
}
if (lfCategory == closeAndStrong) {
var remarks_cs = data.cs;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category:"NewLinkFormats" , relationText:remarks(relationText,husband,remarks_cs,key), patt: "CloseAndStrong", toArrow: "OpenTriangle" };
}
if (lfCategory == livingTogether) {
var remarks_liv = data.liv;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_liv,key), patt: "LivingTogether", toArrow: "OpenTriangle" };
}
if (lfCategory == hostile) {
var remarks_h = data.h;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_h,key), patt: "Hostile", toArrow: "OpenTriangle" };
}
if (lfCategory == closeHostile) {
var remarks_ch = data.ch;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_ch,key), patt: "CloseHostile", toArrow: "OpenTriangle" };
}
if (lfCategory == marriageCloseAndStrong) {
var remarks_mcs = data.mcs;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats",relationText:remarks(relationText,husband,remarks_mcs,key), patt: "MarriageCloseAndStrong", toArrow: "OpenTriangle" };
}
if (lfCategory == marriageDistant) {
var remarks_md = data.md;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats",relationText:remarks(relationText,husband,remarks_md,key), patt: "MarriageDistant", toArrow: "OpenTriangle" };
}
if (lfCategory == marriageHostile) {
var remarks_mh = data.mh;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats",relationText:remarks(relationText,husband,remarks_mh,key), patt: "MarriageHostile", toArrow: "OpenTriangle" };
}
if (lfCategory == marriageCloseHostile) {
var remarks_mch = data.mch;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats",relationText:remarks(relationText,husband,remarks_mch,key),patt: "MarriageCloseHostile", toArrow: "OpenTriangle" };
}
if (lfCategory == divorce) {
var remarks_d = data.d;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "DivorceLinkFormat", relationText:remarks(relationText,husband,remarks_d,key), patt: "Divorce", toArrow: "Standard" ,text:"m:1945 d:1950" };
}
if (lfCategory == divorceCloseAndStrong) {
var remarks_dcs = data.dcs;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "DivorceLinkFormat", relationText:remarks(relationText,husband,remarks_dcs,key), patt: "DivorceCloseAndStrong", toArrow: "Standard" };
}
if (lfCategory == divorceDistant) {
var remarks_dd = data.dd;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "DivorceLinkFormat", relationText:remarks(relationText,husband,remarks_dd,key), patt: "DivorceDistant", toArrow: "Standard" };
}
if (lfCategory == divorceHostile) {
var remarks_dh = data.dh;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "DivorceLinkFormat", relationText:remarks(relationText,husband,remarks_dh,key),patt: "DivorceHostile", toArrow: "Standard" };
}
if (lfCategory == divorceCloseHostile) {
var remarks_dh = data.dch;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "DivorceLinkFormat", relationText:remarks(relationText,husband,remarks_dh,key), patt: "DivorceCloseHostile", toArrow: "Standard" };
}
if (lfCategory == maritalSeparation) {
var remarks_ms = data.ms;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "SeparationLinkFormat",relationText:remarks(relationText,husband,remarks_ms,key), patt: "MaritalSeparation", toArrow: "Standard" };
}
if (lfCategory == maritalSeparationCloseAndStrong) {
var remarks_mscs = data.mscs;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "SeparationLinkFormat", relationText:remarks(relationText,husband,remarks_mscs,key), patt: "MaritalSeparationCloseAndStrong", toArrow: "Standard" };
}
if (lfCategory == maritalSeparationDistant) {
var remarks_msd = data.msd;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "SeparationLinkFormat", relationText:remarks(relationText,husband,remarks_msd,key), patt: "MaritalSeparationDistant", toArrow: "Standard" };
}
if (lfCategory == maritalSeparationHostile) {
var remarks_msh = data.msh;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "SeparationLinkFormat", relationText:remarks(relationText,husband,remarks_msh,key), patt: "MaritalSeparationHostile", toArrow: "Standard" };
}
if (lfCategory == maritalSeparationCloseHostile) {
var remarks_msch = data.msch;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "SeparationLinkFormat", relationText:remarks(relationText,husband,remarks_msch,key), patt: "MaritalSeparationCloseHostile", toArrow: "Standard" };
}
/*if (lfCategory == legallyAdoptedCloseAndStrong) {
var remarks_lacs = data.lacs;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_lacs,key), patt: "LegallyAdoptedCloseAndStrong", toArrow: "OpenTriangle" };
}
if (lfCategory == legallyAdoptedDistant) {
var remarks_laliv = data.laliv;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_laliv,key), patt: "LegallyAdoptedDistant", toArrow: "OpenTriangle" };
}
if (lfCategory == legallyAdoptedHostile) {
var remarks_lah = data.lah;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_lah,key), patt: "LegallyAdoptedHostile", toArrow: "OpenTriangle" };
}
if (lfCategory == legallyAdoptedCloseHostile) {
var remarks_lach = data.lach;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_lach,key), patt: "LegallyAdoptedCloseHostile", toArrow: "OpenTriangle" };
}*/
if (lfCategory == livingTogetherCloseAndStrong) {
var remarks_lacs = data.livcs;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_lacs,key), patt: "LivingTogetherCloseAndStrong", toArrow: "OpenTriangle" };
}
if (lfCategory == livingTogetherDistant) {
var remarks_livd = data.livd;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_livd,key), patt: "LivingTogetherDistant", toArrow: "OpenTriangle" };
}
if (lfCategory == livingTogetherHostile) {
var remarks_livh = data.livh;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_livh,key), patt: "LivingTogetherHostile", toArrow: "OpenTriangle" };
}
if (lfCategory == livingTogetherCloseHostile) {
var remarks_livch = data.livch;
mdata = { from: key, to: husband, labelKeys: [mlab.key], category: "NewLinkFormats", relationText:remarks(relationText,husband,remarks_livch,key), patt: "LivingTogetherCloseHostile", toArrow: "OpenTriangle" };
}
}
model.addLinkData(mdata);
// }
}
}//lfCategory
}
}
}
}
function setupParents(diagram) {
var model = diagram.model;
var nodeDataArray = model.nodeDataArray;
for (var i = 0; i < nodeDataArray.length; i++) {
var data = nodeDataArray[i];
var key = data.key;
var mother = data.m;
var father = data.f;
var adopted = data.la;
var lacs = data.lacs;
var lad = data.lad;
var lah = data.lah;
var lach = data.lach;
var nla = data.nla;
var nlacs = data.nlacs;
var nlad = data.nlad;
var nlah = data.nlah;
var nlach = data.nlach;
var relationText = data.relationText;
if(relationText == undefined) {
relationText = "";
}
if(adopted !== undefined) {
//alert("adopted "+relationText);
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_la;
remarks_la = data.la;
//alert("adopted :"+adopted);
// var cdata = { from: mlabkey, to: key, category: "NewLinkFormats",patt: "LegallyAdopted", relationText:relationText};
var cdata = { from: mlabkey, to: key, patt: "LegallyAdopted",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_la,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(lacs !== undefined) {
//alert("adopted "+relationText);
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_lacs;
remarks_lacs = data.lacs;
//alert("adopted :"+adopted);
// var cdata = { from: mlabkey, to: key, category: "NewLinkFormats",patt: "LegallyAdopted", relationText:relationText};
var cdata = { from: mlabkey, to: key, patt: "LegallyAdoptedCloseAndStrong",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_lacs,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(lad !== undefined) {
//alert("adopted "+relationText);
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_lad;
remarks_lad = data.lad;
//alert("adopted :"+adopted);
// var cdata = { from: mlabkey, to: key, category: "NewLinkFormats",patt: "LegallyAdopted", relationText:relationText};
var cdata = { from: mlabkey, to: key, patt: "LegallyAdoptedDistant",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_lad,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(lah !== undefined) {
//alert("adopted "+relationText);
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_lah;
remarks_lah = data.lah;
//alert("adopted :"+adopted);
// var cdata = { from: mlabkey, to: key, category: "NewLinkFormats",patt: "LegallyAdopted", relationText:relationText};
var cdata = { from: mlabkey, to: key, patt: "LegallyAdoptedHostile",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_lah,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(lach !== undefined) {
//alert("adopted "+relationText);
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_lach;
remarks_lach = data.lach;
//alert("adopted :"+adopted);
// var cdata = { from: mlabkey, to: key, category: "NewLinkFormats",patt: "LegallyAdopted", relationText:relationText};
var cdata = { from: mlabkey, to: key, patt: "LegallyAdoptedCloseHostile",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_lach,key)};
myDiagram.model.addLinkData(cdata);//
}
}
else if(nla !== undefined) {
//alert("nla "+relationText);
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_nla;
remarks_nla = data.nla;
var cdata = { from: mlabkey, to: key, patt: "NotLegallyAdopted",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_nla,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(nlacs !== undefined) {
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_nla;
remarks_nla = data.nlacs;
var cdata = { from: mlabkey, to: key, patt: "NotLegallyAdoptedCloseAndStrong",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_nla,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(nlad !== undefined) {
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_nla = data.nlad;
var cdata = { from: mlabkey, to: key, patt: "NotLegallyAdoptedDistant",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_nla,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(nlah !== undefined) {
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_nla = data.nlah;
var cdata = { from: mlabkey, to: key, patt: "NotLegallyAdoptedHostile",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_nla,key)};
myDiagram.model.addLinkData(cdata);//
}
} else if(nlach !== undefined) {
if (mother !== undefined && father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_nla = data.nlach;
var cdata = { from: mlabkey, to: key, patt: "NotLegallyAdoptedCloseHostile",category: "Child_NewLinkFormats",relationText:remarks(relationText,mlabkey,remarks_nla,key)};
myDiagram.model.addLinkData(cdata);//
}
} else {
if(mother !== undefined || father !== undefined) {
var link = findMarriage(diagram, mother, father);
if (link === null) {
if (window.console) window.console.log("unknown marriage: " + mother + " & " + father);
continue;
}
var mdata = link.data;
var mlabkey = mdata.labelKeys[0];
var remarks_m = data.m;
var cdata = { from: mlabkey, to: key,category: "ParentChild",relationText:remarks(relationText,mlabkey,remarks_m,key)};
myDiagram.model.addLinkData(cdata);
}
}
}
}
This is my code for links display in genogram.
Please help me or send me any code which does not take any limits to display links.
This is very important to complete ASAP.
Thanks,
Prameela.D