[mhk] r1071 committed - family tree view @mhk_families

4 views
Skip to first unread message

codesite...@google.com

unread,
May 27, 2013, 8:08:33 PM5/27/13
to mhk-dis...@googlegroups.com
Revision: 1071
Author: tbc...@gmail.com
Date: Mon May 27 17:06:04 2013
Log: family tree view @mhk_families
http://code.google.com/p/mhk/source/detail?r=1071

Modified:
/branches/mhk_families/idb/etc/template/new/rperson_family.vm

=======================================
--- /branches/mhk_families/idb/etc/template/new/rperson_family.vm Tue May
21 10:39:41 2013
+++ /branches/mhk_families/idb/etc/template/new/rperson_family.vm Mon May
27 17:06:04 2013
@@ -21,35 +21,49 @@
#set ( $help = "rperson")

#set($rperson_id=$req.getParameter("rid"))
-#set($person_id=$id)

#set($Entity=$db.getEntityBrief($rperson_id))

-#set($pf=$fm.createFamilies($rperson_id))
+#set($pf=$fm.createFamilies($rperson_id,0))



#parse("new/head.vm")
<link type="text/css" href="/mhk/stylesheets/pralls.css" rel="stylesheet"
/>
-##<script type="text/javascript" src="/mhk/scripts/jit.js"></script>
-##<script type="text/javascript" src="/mhk/scripts/tree.js"></script>
<script type="text/javascript"
src="/mhk/scripts/autoshape-min.js"></script>
<script language="javascript" type="text/javascript"
src="/mhk/scripts/familytree.js"></script>
-##<script type="text/javascript" src="/mhk/scripts/pralls.js"></script>
<script type="text/javascript"</script>
window['drawPrallTree'] = function() {
var ftree = new FamilyTreeJS.FamilyTree();
ftree.config.node.width = 100;
ftree.config.node.height = 40;
ftree.config.node.spacingVertical = 60;
- var nodes=new Array();
- var hash=new Object();
+
+ var nodes=new Array();
var i=0;
-
+ var hash=new Array();
+ var max_level = document.getElementById('level').value;
+ var max_level,min_level;
+
#set($level=$pf.get(0).getLevel())

+ if(max_level==0){
+ max_level="${pf.get(0).getLevel()}";
+ min_level=-Math.pow(2,53);
+ }
+ else if (max_level>"${pf.get(0).getLevel()}"){
+ min_level=-max_level;
+ max_level="${pf.get(0).getLevel()}";
+ }
+ else{
+ min_level=-max_level;
+ }
+
+ alert(max_level);
+
#foreach($person in $pf)
- #if($person.getLevel()==$level)
+ if("${person.getLevel()}"==max_level){
+ alert("ADD "+ "${person.getId()}");
#if($person.getSex()=="M" || $person.getSex()=="m")
nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(192,219,243)'}, line: {color:'rgb(100,100,100)'} }});
#elseif($person.getSex()=="F" || $person.getSex()=="f")
@@ -59,46 +73,53 @@
#end
hash["${person.getId()}"]=i;
i++;
- #end
+ }
#end

#foreach($person in $pf)
- if(!hash.hasOwnProperty("${person.getId()}")){
- #if($person.getSex()=="M" || $person.getSex()=="m")
- nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(192,219,243)'}, line: {color:'rgb(100,100,100)'} }});
- #elseif($person.getSex()=="F" || $person.getSex()=="f")
- nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(255,212,212)'}, line: {color:'rgb(100,100,100)'} }});
- #else
- nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(0,0,0)'}, line: {color:'rgb(100,100,100)'} }});
- #end
- hash["${person.getId()}"]=i;
- i++;
- }
- #foreach($family in $person.getFamiliesMpn())
-
- var
father="${family.getFather()}",mother="${family.getMother()}",child="${family.getChild()}";
+ alert("${person.getLevel()}"+">"+min_level+"
&& "+ "${person.getLevel()}"+"<"+max_level);
+ if("${person.getLevel()}">min_level
&& "${person.getLevel()}"<=max_level){
+ if(!hash.hasOwnProperty("${person.getId()}")){
+ alert("ADD2 "+ "${person.getId()}" + " LEVEL="+"${person.getLevel()}");
+ #if($person.getSex()=="M" || $person.getSex()=="m")
+ nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(192,219,243)'}, line: {color:'rgb(100,100,100)'} }});
+ #elseif($person.getSex()=="F" || $person.getSex()=="f")
+ nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(255,212,212)'}, line: {color:'rgb(100,100,100)'} }});
+ #else
+ nodes[i]=ftree.AddPerson("${person.getName()}",{config: {node:
{background: 'rgb(0,0,0)'}, line: {color:'rgb(100,100,100)'} }});
+ #end
+ hash["${person.getId()}"]=i;
+ i++;
+ }
+ #foreach($family in $person.getFamiliesMpn())

- #if($family.getChild()!="")
- if(!hash.hasOwnProperty("${family.getChild()}")){
- #if($family.getFather()!="" && $family.getMother()!="")
- nodes[i] =
nodes[hash[father]].birth("${family.getChildName()}",{partner:nodes[hash[mother]]});
- #elseif(!$family.getFather() && $family.getMother()!="")
- nodes[i] = nodes[hash[mother]].birth("${family.getChildName()}");
- #elseif($family.getFather()!="" && !$family.getMother())
- nodes[i] = nodes[hash[father]].birth("${family.getChildName()}");
- #end
- hash["${family.getChild()}"]=i;
- i++;
- }
+ var
father="${family.getFather()}",mother="${family.getMother()}",child="${family.getChild()}";
+
+ #if($family.getChild()!="")
+ if(!hash.hasOwnProperty("${family.getChild()}")){
+ alert("ADDC "+"${family.getChild()}");
+ #if($family.getFather()!="" && $family.getMother()!="")
+ nodes[i] =
nodes[hash[father]].birth("${family.getChildName()}",{partner:nodes[hash[mother]]});
+ #elseif(!$family.getFather() && $family.getMother()!="")
+ nodes[i] = nodes[hash[mother]].birth("${family.getChildName()}");
+ #elseif($family.getFather()!="" && !$family.getMother())
+ nodes[i] = nodes[hash[father]].birth("${family.getChildName()}");
+ #end
+ hash["${family.getChild()}"]=i;
+ i++;
+ }
+ #end
#end
- #end
+ }
#end

ftree.Render(document.getElementById('pralltree'));
- ftree.center(nodes[hash["${person_id}"]]);
+ ftree.center(nodes[0]);
+ ftree.center(hash["${rperson_id}"]);
}

-</script>
+</script>
+
<script type="text/javascript">
function newwindowgedcom() {

window=window.open('${uri}?dbname=$!dbname&action=exec&script=PreExportGEDCOM.vm&rid=$rid&netid=$net','gedcomWindow','menubar=no,resizable=no,toolbar=no,location=no,status=no,scrollbars=no,width=400,height=200')
@@ -167,12 +188,11 @@


## JS tree
+<input type="button" value="Draw Family Tree" onclick="drawPrallTree();">
+<input type="text" value="0" id="level">
<div id="pralltree">
-<input type="button" value="Draw Family Tree"
onclick="drawPrallTree();"></div>
</div>

-
-
<p><b><a href="javascript:newwindowgedcom();">Export Family as
GEDCOM</a></b>
| <b><a href="javascript:newwindowgedcomall();">Export All as
GEDCOM</a></b>

Reply all
Reply to author
Forward
0 new messages