correct URLs for AJAX / img requests in stexaminer
[scpubgit/stemmaweb.git] / root / js / stexaminer.js
index b68c3c2..0509c66 100644 (file)
@@ -5,12 +5,12 @@ var original_svg;
 function handle_row_click( row ) {
        var ridx = row.parent().parent().index()
        var rs = readingstats[ridx];
-    var imghtml = '<img src="../images/ajax-loader.gif" alt="Loading SVG..."/>'
+    var imghtml = $('<img>').attr( 'src', baseurl + "../images/ajax-loader.gif" ).attr( 'alt', "Loading SVG..." );
     $('#stemma_graph').empty();
     $('#stemma_graph').append( imghtml );
        if( rs.layerwits ) {
                var stemma_form = { 'dot': graphdot, 'layerwits': rs.layerwits };
-               $('#stemma_graph').load( 'graphsvg', stemma_form, function() {
+               $('#stemma_graph').load( baseurl + 'graphsvg', stemma_form, function() {
                        color_row( row );
                        show_stats( rs );
                });
@@ -62,24 +62,39 @@ function color_nodes( column_index, arr_node_ids, arr_greynode_ids ) {
 function show_stats( rs ) {
        var rshtml = $('#stats_template').clone();
        rshtml.find('#statrank').append( rs.id );
-       $.each( rs.readings, function( idx, rdghash ) {
-               var rdgstats = $('#reading_template').clone();
-               rdgstats.find('.readinglabel').append( rdghash.text );
-               rdgstats.find('.reading_copied').append( rdghash.followed );
-               rdgstats.find('.reading_changed').append( rdghash.not_followed );
-               rdgstats.find('.reading_unclear').append( rdghash.follow_unknown );
-               rdgstats.find('.readingroots').append( rdghash.independent_occurrence );
-               if( rdghash.is_reverted ) {
-                       rdgstats.find('.reversionroots').append( rdghash.reversions );
+       if( "unsolved" in rs ) {
+               var nocalcmsg;
+               if( rs.unsolved == 'IDP error' ) {
+                       nocalcmsg = $('<span>').attr('class', 'error').append(
+                               "(Could not reach calculation server - are you offline?)" );
                } else {
-                       rdgstats.find('.readingreversions').empty();
+                       nocalcmsg = "(Not yet calculated for this location - please try later)";
                }
-               rdgstats.find('.reading_statistics').append( 
-                       fill_parent_template( rdghash, 'source' ) );
-               rdgstats.find('.reading_statistics').append( 
-                       fill_parent_template( rdghash, 'reversion' ) );
-               rshtml.append( rdgstats.contents() );
-       });
+               rshtml.find('.solutionstatus').append( nocalcmsg );
+       } else {
+               $.each( rs.readings, function( idx, rdghash ) {
+                       var rdgstats = $('#reading_template').clone();
+                       rdgstats.find('.readinglabel').append( rdghash.text );
+                       rdgstats.find('.reading_copied').append( rdghash.followed );
+                       rdgstats.find('.reading_changed').append( rdghash.not_followed );
+                       rdgstats.find('.reading_unclear').append( rdghash.follow_unknown );
+                       rdgstats.find('.readingroots').append( rdghash.independent_occurrence );
+                       if( rdghash.is_reverted ) {
+                               rdgstats.find('.reversionroots').append( rdghash.reversions );
+                       } else {
+                               rdgstats.find('.readingreversions').empty();
+                       }
+                       var rdgsourcehtml = fill_parent_template( rdghash, 'source' );
+                       var rdgreverthtml = fill_parent_template( rdghash, 'reversion' );
+                       rdgstats.find('.reading_statistics').append( rdgsourcehtml );
+                       rdgstats.find('.reading_statistics').append( rdgreverthtml );
+                       // If neither, append a small spacer
+                       if( !rdgsourcehtml && !rdgreverthtml ) {
+                               rdgstats.find('.reading_statistics').append( '<br/>' );
+                       }
+                       rshtml.append( rdgstats.contents() );
+               });
+       }
        $('#row_statistics').empty();
        $('#row_statistics').append( rshtml.contents() );