X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=root%2Fjs%2Frelationship.js;h=9a4a1690cb6e17ee63539ade0012aeea39a893b4;hb=89aae3eec7a0e23f314597cd09bd3ffc696c7412;hp=b2a6f2df75f1f6e4164230cf1379f12b3bb78bee;hpb=cfa6ff766d71f99550b215cf31b9d5f82bdfcde4;p=scpubgit%2Fstemmaweb.git diff --git a/root/js/relationship.js b/root/js/relationship.js index b2a6f2d..9a4a169 100644 --- a/root/js/relationship.js +++ b/root/js/relationship.js @@ -4,6 +4,7 @@ var svg_root_element = null; var start_element_height = 0; var reltypes = {}; var readingdata = {}; +var text_direction = 'LR'; jQuery.removeFromArray = function(value, arr) { return jQuery.grep(arr, function(elem, index) { @@ -224,7 +225,10 @@ function svgEnlargementLoaded() { //initialize marquee marquee = new Marquee(); - + + if (text_direction == 'RL') { + scrollToEnd(); + } } function add_relations( callback_fn ) { @@ -818,22 +822,22 @@ function merge_nodes( source_node_id, target_node_id, consequences ) { parent_g = svg.group( $('#svgenlargement svg g') ); var ids_text = node_ids[0] + '-' + node_ids[1]; var merge_id = 'merge-' + ids_text; - svg.image( parent_g, xC, (yC-8), 16, 16, merge_button_yes, { id: merge_id } ); - svg.image( parent_g, (xC+20), (yC-8), 16, 16, merge_button_no, { id: 'no' + merge_id } ); - $( '#' + merge_id ).hover( function(){ $(this).addClass( 'draggable' ) }, function(){ $(this).removeClass( 'draggable' ) } ); - $( '#no' + merge_id ).hover( function(){ $(this).addClass( 'draggable' ) }, function(){ $(this).removeClass( 'draggable' ) } ); - $( '#' + merge_id ).click( function( evt ){ + var yes = svg.image( parent_g, xC, (yC-8), 16, 16, merge_button_yes, { id: merge_id } ); + var no = svg.image( parent_g, (xC+20), (yC-8), 16, 16, merge_button_no, { id: 'no' + merge_id } ); + $(yes).hover( function(){ $(this).addClass( 'draggable' ) }, function(){ $(this).removeClass( 'draggable' ) } ); + $(no).hover( function(){ $(this).addClass( 'draggable' ) }, function(){ $(this).removeClass( 'draggable' ) } ); + $(yes).click( function( evt ){ merge_node( node_ids[0], node_ids[1] ); temp_relation.remove(); - $( '#' + merge_id ).parent().remove(); + $(evt.target).parent().remove(); //notify backend var ncpath = getTextURL( 'merge' ); var form_values = "source_id=" + node_ids[0] + "&target_id=" + node_ids[1] + "&single=true"; $.post( ncpath, form_values ); } ); - $( '#no' + merge_id ).click( function( evt ) { + $(no).click( function( evt ) { temp_relation.remove(); - $( '#' + merge_id ).parent().remove(); + $(evt.target).parent().remove(); } ); } ); } @@ -981,6 +985,21 @@ function readings_equivalent( source, target ) { return false; } +function scrollToEnd() { + var stateTf = svg_root_element.getCTM().inverse(); + + var vbdim = svg_root.viewBox.baseVal; + var width = Math.floor(svg_root_element.getBoundingClientRect().width) - vbdim.width; + + var p = svg_root.createSVGPoint(); + p.x = width; + p.y = 0; + p = p.matrixTransform(stateTf); + + var matrix = stateTf.inverse().translate(-p.x, -100); + var s = "matrix(" + matrix.a + "," + matrix.b + "," + matrix.c + "," + matrix.d + "," + matrix.e + "," + matrix.f + ")"; + svg_root_element.setAttribute("transform", s); +} $(document).ready(function () { @@ -1468,7 +1487,9 @@ function expandFillPageClients() { }); } -function loadSVG(svgData) { +function loadSVG(svgData, direction) { + text_direction = direction; + var svgElement = $('#svgenlargement'); $(svgElement).svg('destroy');