Commit | Line | Data |
81422c40 |
1 | var colors = ['#ffeeaa','#afc6e9','#d5fff6','#ffccaa','#ffaaaa','#e5ff80','#e5d5ff','#ffd5e5']; |
361134f0 |
2 | var row_triggered = false; |
f8d13166 |
3 | var original_svg; |
4 | |
5 | function handle_row_click( row ) { |
6 | var ridx = row.parent().parent().index() |
7 | var rs = readingstats[ridx]; |
8 | var imghtml = '<img src="../images/ajax-loader.gif" alt="Loading SVG..."/>' |
9 | $('#stemma_graph').empty(); |
10 | $('#stemma_graph').append( imghtml ); |
11 | if( rs.layerwits ) { |
12 | var stemma_form = { 'dot': graphdot, 'layerwits': rs.layerwits }; |
13 | $('#stemma_graph').load( 'graphsvg', stemma_form, function() { |
14 | color_row( row ); |
15 | show_stats( rs ); |
16 | }); |
17 | } else { |
18 | $('#stemma_graph').empty(); |
19 | $('#stemma_graph').append( original_svg ); |
20 | color_row( row ); |
21 | show_stats( rs ); |
22 | } |
23 | } |
23306161 |
24 | |
25 | function color_row( row ) { |
361134f0 |
26 | row_triggered = true; |
57acbbe2 |
27 | $('ellipse').attr( {stroke:'white', fill:'#fff'} ); |
119157ee |
28 | $('.node').children('polygon').attr( {stroke:'#fff', fill:'#fff'} ); |
29 | $('.node').children('text').attr( {stroke:'none', fill:'#000'} ); |
d5c17cec |
30 | $('tr.active_variant_row').children('td').removeClass('cellb0 cellb1 cellb2 cellb3 cellb4 cellb5 cellb6 cellb7'); |
23306161 |
31 | row.parent().nextAll('.clickable').children('span').click(); |
d5c17cec |
32 | $('td.active_variant_cell').removeClass('active_variant_cell'); |
361134f0 |
33 | row_triggered = false; |
23306161 |
34 | } |
35 | |
82fd8e05 |
36 | function color_nodes( column_index, arr_node_ids, arr_greynode_ids ) { |
d5c17cec |
37 | if( !row_triggered ) { |
38 | $('tr.active_variant_row').children('td').removeClass('cellb0 cellb1 cellb2 cellb3 cellb4 cellb5 cellb6 cellb7'); |
39 | $('td.active_variant_cell').removeClass('active_variant_cell'); |
57acbbe2 |
40 | $('ellipse').attr( {stroke:'white', fill:'#fff'} ); |
119157ee |
41 | $('.node').children('polygon').attr( {stroke:'#fff', fill:'#fff'} ); |
42 | $('.node').children('text').attr( {stroke:'none', fill:'#000'} ); |
82fd8e05 |
43 | }; |
d5c17cec |
44 | $('tr.active_variant_row').removeClass('active_variant_row') |
82fd8e05 |
45 | jQuery.each( arr_greynode_ids, function(index,value) { |
119157ee |
46 | nodes = $('.node').children('title').filter( function(index) { |
82fd8e05 |
47 | return $(this).text() == value; |
119157ee |
48 | }) |
49 | nodes.siblings('ellipse, polygon, text').each( function( index ) { |
50 | $(this).attr( {stroke:'#ddd', fill:'#f8f8f8'} ); |
82fd8e05 |
51 | }); |
52 | }); |
dbcf12a6 |
53 | jQuery.each( arr_node_ids, function(index,value) { |
54 | $('.node').children('title').filter( function(index) { |
55 | return $(this).text() == value; |
94a077d6 |
56 | }).siblings('ellipse').each( function( index ) { |
361134f0 |
57 | $(this).attr( {stroke:'black', fill:colors[column_index-1]} ); |
58 | }); |
dbcf12a6 |
59 | }); |
60 | } |
3751a3c2 |
61 | |
f8d13166 |
62 | function show_stats( rs ) { |
3751a3c2 |
63 | var rshtml = $('#stats_template').clone(); |
64 | rshtml.find('#statrank').append( rs.id ); |
65 | $.each( rs.readings, function( idx, rdghash ) { |
3751a3c2 |
66 | var rdgstats = $('#reading_template').clone(); |
e41080b6 |
67 | rdgstats.find('.readinglabel').append( rdghash.text ); |
3751a3c2 |
68 | rdgstats.find('.reading_copied').append( rdghash.followed ); |
69 | rdgstats.find('.reading_changed').append( rdghash.not_followed ); |
70 | rdgstats.find('.reading_unclear').append( rdghash.follow_unknown ); |
e41080b6 |
71 | rdgstats.find('.readingroots').append( rdghash.independent_occurrence ); |
3751a3c2 |
72 | if( ! $.isEmptyObject( rdghash.reading_parents ) ) { |
73 | var parentstats = $('#reading_parent_template').clone(); |
74 | $.each( rdghash.reading_parents, function( parentid, pdata ) { |
75 | var parentdesc = pdata.label; |
76 | if( pdata.relation ) { |
77 | parentdesc += ' - variant type ' + pdata.relation.type; |
78 | if( pdata.relation.annotation ) { |
79 | parentdesc += ' [ ' + pdata.relation.annotation + ' ]'; |
80 | } |
81 | } else { |
82 | parentdesc += ' - no syntactic relation'; |
83 | } |
84 | var parentitem = $('<li>').append( parentdesc ); |
85 | parentstats.find('.reading_parent_list').append( parentitem ); |
86 | }); |
87 | rdgstats.find('.reading_statistics').append( parentstats.contents() ); |
88 | } |
89 | rshtml.append( rdgstats.contents() ); |
90 | }); |
91 | $('#row_statistics').empty(); |
92 | $('#row_statistics').append( rshtml.contents() ); |
93 | }; |
f8d13166 |
94 | |
95 | // Save the original unextended SVG for when we need it. |
96 | $(document).ready(function () { |
97 | original_svg = $('#stemma_graph > svg').clone(); |
26cea87c |
98 | |
99 | $('#aboutlink').popupWindow({ |
100 | height:500, |
101 | width:800, |
102 | top:50, |
103 | left:50, |
104 | scrollbars:1 |
105 | }); |
106 | $('#options').dialog({ |
107 | autoOpen: false, |
108 | height: 200, |
109 | width: 300, |
110 | modal: true, |
111 | buttons: { |
112 | Cancel: function() { |
113 | $(this).dialog( "close" ); |
114 | }, |
115 | Reanalyze: function() { |
116 | $('#use_variants_form').submit(); |
117 | }, |
118 | } |
119 | }); |
120 | |
f8d13166 |
121 | }); |