[253] | 1 | $(function(){
|
---|
| 2 |
|
---|
| 3 | scrolldiv();
|
---|
| 4 |
|
---|
| 5 | loadStartClass();
|
---|
| 6 |
|
---|
| 7 |
|
---|
| 8 | $('#searchstart').keypress(function(e) {
|
---|
| 9 | if ( e.which == 13 ) {
|
---|
| 10 | return false;
|
---|
| 11 | }
|
---|
| 12 | });
|
---|
| 13 | $('#searchstart').keyup(function(e) {
|
---|
| 14 | search();
|
---|
| 15 | });
|
---|
| 16 | $('#searchend').keypress(function(e) {
|
---|
| 17 | if ( e.which == 13 ) {
|
---|
| 18 | return false;
|
---|
| 19 | }
|
---|
| 20 | });
|
---|
| 21 | $('#searchend').keyup(function(e) {
|
---|
| 22 | search();
|
---|
| 23 | });
|
---|
| 24 | });
|
---|
| 25 |
|
---|
| 26 | function scrolldiv(){
|
---|
| 27 | if(($('div.startclass').height() + $('#searchstart').height()) > $('div.left').height()){
|
---|
| 28 | $('div.left').css('overflow-y', 'scroll');
|
---|
| 29 | }else{
|
---|
| 30 | $('div.left').css('overflow-y', 'hidden');
|
---|
| 31 | }
|
---|
| 32 | if(($('div.endclass').height() + $('#searchend').height()) > $('div.right').height()){
|
---|
| 33 | $('div.right').css('overflow-y', 'scroll');
|
---|
| 34 | }else{
|
---|
| 35 | $('div.right').css('overflow-y', 'hidden');
|
---|
| 36 | }
|
---|
| 37 | }
|
---|
| 38 |
|
---|
| 39 | function loadStartClass(){
|
---|
| 40 | var url = "http://www.sparqlbuilder.org/api/clist?ep=" + encodeURIComponent("http://www.ebi.ac.uk/rdf/services/reactome/sparql");
|
---|
| 41 | $.ajax({
|
---|
| 42 | type : "GET",
|
---|
| 43 | url : url,
|
---|
| 44 | success : function(data) {
|
---|
| 45 | var list = eval(data);
|
---|
| 46 | $('div.startclass').empty();
|
---|
| 47 |
|
---|
| 48 | var startclasstable = $('<table>');
|
---|
| 49 |
|
---|
| 50 | for (var i = 0; i < list.length; ++i) {
|
---|
| 51 | startclasstable.append('<tr><td class="startclasscell"><span class="endpointuri" title="http://www.ebi.ac.uk/rdf/services/reactome/sparql"></span><span class="startclassuri" title="' + list[i]['uri'] + '">' + list[i]['label'] + ' (' + list[i]['number'] + ')' + '</span></td></tr>');
|
---|
| 52 | }
|
---|
| 53 |
|
---|
| 54 | $('div.startclass').append(startclasstable);
|
---|
| 55 |
|
---|
| 56 | requestEndClass();
|
---|
| 57 | scrolldiv();
|
---|
| 58 | }
|
---|
| 59 | });
|
---|
| 60 | }
|
---|
| 61 |
|
---|
| 62 | function requestEndClass(){
|
---|
| 63 | $('.startclasscell').each(function(){
|
---|
| 64 | $(this).unbind('click');
|
---|
| 65 | $(this).click(function(){
|
---|
| 66 | $('.endclass').empty();
|
---|
| 67 | $('.endclass').append('<img src="images/ajax-loader.gif">');
|
---|
| 68 | var ep = $(this).children('.endpointuri').attr('title');
|
---|
| 69 | var sc = $(this).children('.startclassuri').attr('title');
|
---|
| 70 | var url = "http://www.sparqlbuilder.org/api/clist?ep=" + encodeURIComponent(ep) + '&class=' + encodeURIComponent(sc);
|
---|
| 71 | $.ajax({
|
---|
| 72 | type : "GET",
|
---|
| 73 | url : url,
|
---|
| 74 | success : function(data) {
|
---|
| 75 | var list = eval(data);
|
---|
| 76 | $('.endclass').empty();
|
---|
| 77 | var endclasstable = $('<table>');
|
---|
| 78 |
|
---|
| 79 | for (var i = 0; i < list.length; ++i) {
|
---|
| 80 | endclasstable.append('<tr><td class="endclasscell"><span class="endpointuri" title="' + ep + '"></span><span class="startclassuri" title="' + sc + '"></span><span class="endclassuri" title="' + list[i]['uri'] + '">' + list[i]['label'] + ' (' + list[i]['number'] + ')' + '</span></td></tr>');
|
---|
| 81 | }
|
---|
| 82 |
|
---|
| 83 | $('.endclass').append(endclasstable);
|
---|
| 84 |
|
---|
| 85 | requestSPARQLBuilder();
|
---|
| 86 | }
|
---|
| 87 | });
|
---|
| 88 | });
|
---|
| 89 | });
|
---|
| 90 | }
|
---|
| 91 |
|
---|
| 92 | function requestSPARQLBuilder(){
|
---|
| 93 | $('.endclasscell').each(function(){
|
---|
| 94 | $(this).unbind('click');
|
---|
| 95 | $(this).click(function(){
|
---|
| 96 | var ep = $(this).children('.endpointuri').attr('title');
|
---|
| 97 | var sc = $(this).children('.startclassuri').attr('title');
|
---|
| 98 | var ec = $(this).children('.endclassuri').attr('title');
|
---|
| 99 | var url = "http://www.sparqlbuilder.org/?ep=" + encodeURIComponent(ep) + '&st=' + encodeURIComponent(sc) + '&en=' + encodeURIComponent(ec);
|
---|
| 100 |
|
---|
| 101 | window.open(url);
|
---|
| 102 | });
|
---|
| 103 | })
|
---|
| 104 | }
|
---|
| 105 |
|
---|
| 106 | function search(){
|
---|
| 107 | if($('#searchstart').val() == ''){
|
---|
| 108 | $('.startclasscell').parent().removeClass('nohit');
|
---|
| 109 | }else{
|
---|
| 110 | var keyword = $('#searchstart').val().toLowerCase();
|
---|
| 111 | $('.startclasscell').each(function(){
|
---|
| 112 | var label = $(this).children('.startclassuri').text().toLowerCase();
|
---|
| 113 | if(label.indexOf(keyword) != -1){
|
---|
| 114 | $(this).parent().removeClass('nohit');
|
---|
| 115 | }else{
|
---|
| 116 | $(this).parent().addClass('nohit');
|
---|
| 117 | }
|
---|
| 118 | });
|
---|
| 119 | }
|
---|
| 120 | if($('#searchend').val() == ''){
|
---|
| 121 | $('.endclasscell').parent().removeClass('nohit');
|
---|
| 122 | }else{
|
---|
| 123 | var keyword = $('#searchend').val().toLowerCase();
|
---|
| 124 | $('.endclasscell').each(function(){
|
---|
| 125 | var label = $(this).children('.endclassuri').text().toLowerCase();
|
---|
| 126 | if(label.indexOf(keyword) != -1){
|
---|
| 127 | $(this).parent().removeClass('nohit');
|
---|
| 128 | }else{
|
---|
| 129 | $(this).parent().addClass('nohit');
|
---|
| 130 | }
|
---|
| 131 | });
|
---|
| 132 | }
|
---|
| 133 |
|
---|
| 134 | setTimeout('scrolldiv()',30);
|
---|
| 135 | } |
---|