チェンジセット 258 : SPARQLBuilderWWW/web
- 更新日時:
- 2015/10/08 17:57:53 (9 年 前)
- パス:
- SPARQLBuilderWWW/web
- ファイル:
-
- 3 変更
凡例:
- 変更なし
- 追加
- 削除
-
SPARQLBuilderWWW/web/classselect.css
r253 r258 2 2 3 3 div.wrap { 4 width: 100%; 5 height: 800px; 4 position: absolute; 5 top: 0px; 6 bottom: 0px; 7 left: 0px; 8 right: 0px; 9 background-color: rgba(0,0,0,0.8); 10 } 11 12 div.classselect { 13 position: absolute; 14 top: 0px; 15 bottom: 0px; 16 left: 0px; 17 right: 0px; 18 margin: auto; 19 width: 90%; 20 height: 90%; 6 21 overflow: hidden; 22 background: #fafafa; 7 23 } 8 24 … … 11 27 width: 50%; 12 28 height: 100%; 29 padding: 5px 0px; 13 30 } 14 31 … … 17 34 width: 50%; 18 35 height: 100%; 36 padding: 5px 0px; 19 37 } 20 38 21 39 div.startclass, div.endclass { 22 padding: 5px; 40 padding: 5px 0px; 41 } 42 43 #searchstarttext, #searchendtext { 44 width: 100%; 45 } 46 47 span.startclassuri:hover { 48 cursor: pointer; 49 50 -moz-border-radius: 10px; 51 -webkit-border-radius: 10px; 52 border-radius: 10px; 53 padding: 3px; 54 55 background-color: hsl(40, 50%, 75%); 56 } 57 58 span.endclassuri:hover { 59 cursor: pointer; 60 61 -moz-border-radius: 10px; 62 -webkit-border-radius: 10px; 63 border-radius: 10px; 64 padding: 3px; 65 66 background-color: hsl(150, 50%, 75%); 67 } 68 69 span.selectedstart { 70 cursor: pointer; 71 72 -moz-border-radius: 10px; 73 -webkit-border-radius: 10px; 74 border-radius: 10px; 75 padding: 2px; 76 border: 2px hsl(40, 50%, 50%) solid; 77 78 background-color: hsl(40, 50%, 75%); 79 } 80 81 span.selectedend { 82 cursor: pointer; 83 84 -moz-border-radius: 10px; 85 -webkit-border-radius: 10px; 86 border-radius: 10px; 87 padding: 2px; 88 89 border: 2px hsl(150, 50%, 50%) solid; 90 91 background-color: hsl(150, 50%, 75%); 23 92 } 24 93 -
SPARQLBuilderWWW/web/classselect.html
r253 r258 9 9 <body> 10 10 <div class="wrap"> 11 <div class="left"> 12 <div> 13 <input id="searchstart" type="text"> 11 <div class="classselect"> 12 <div class="left"> 13 <div class="searchstart"> 14 Search startclass<br> 15 <input id="searchstarttext" type="text"> 16 </div> 17 <div class="startclass"> 18 <img src="images/ajax-loader.gif"> 19 </div> 14 20 </div> 15 <div class="startclass"> 16 <img src="images/ajax-loader.gif"> 17 </div> 18 </div> 19 <div class="right"> 20 <div> 21 <input id="searchend" type="text"> 22 </div> 23 <div class="endclass"> 21 <div class="right"> 22 <div class="searchend"> 23 Search endclass<br> 24 <input id="searchendtext" type="text"> 25 </div> 26 <div class="endclass"> 27 </div> 24 28 </div> 25 29 </div> -
SPARQLBuilderWWW/web/classselect.js
r253 r258 1 2 // 繝壹�繧ク隱ュ縺ソ霎シ縺ソ螳御コ�ャ。隨ャ 1 3 $(function(){ 2 4 5 // 繧ッ繝ゥ繧ケ驕ク謚樒畑div縺ョ繧ケ繧ッ繝ュ繝シ繝ォ險ュ螳� 3 6 scrolldiv(); 4 7 8 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ隱ュ縺ソ霎シ縺ソ 5 9 loadStartClass(); 6 10 7 8 $('#searchstart').keypress(function(e) { 11 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ繝サ繧ィ繝ウ繝峨け繝ゥ繧ケ縺ョ讀懃エ「逕ィ繝�く繧ケ繝医�繝�け繧ケ縺昴l縺槭l縺ォ縺、縺�※ 12 // 繧ュ繝シ縺梧款縺輔l縺溘→縺� 13 $('#searchstarttext, #searchendtext').keypress(function(e) { 14 // 繧ィ繝ウ繧ソ繝シ繧ュ繝シ縺縺」縺溘ifalse繧定ソ斐☆�医ユ繧ュ繧ケ繝医�繝�け繧ケ縺ョ繝�ヵ繧ゥ繝ォ繝域ゥ溯�繧偵く繝」繝ウ繧サ繝ォ�� 9 15 if ( e.which == 13 ) { 10 16 return false; 11 17 } 12 18 }); 13 $('#searchstart').keyup(function(e) { 19 // 繧ュ繝シ縺梧款縺輔l縲�屬縺輔l縺滓凾�磯屬縺輔l縺滓凾繧偵う繝吶Φ繝医ワ繝ウ繝峨Λ縺ォ縺励↑縺�→縺昴�譎ょ�蜉帙@縺滓枚蟄励′蜿肴丐縺輔l縺ェ縺�シ� 20 $('#searchstarttext, #searchendtext').keyup(function(e) { 21 // 讀懃エ「繧定。後≧ 14 22 search(); 15 23 }); 16 $('#searchend').keypress(function(e) {17 if ( e.which == 13 ) {18 return false;19 }20 });21 $('#searchend').keyup(function(e) {22 search();23 });24 24 }); 25 25 26 // 繧ッ繝ゥ繧ケ驕ク謚樒畑div縺ョ繧ケ繧ッ繝ュ繝シ繝ォ險ュ螳� 26 27 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 28 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ荳隕ァ縺ョ繝��繝悶Ν縺ィ繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ讀懃エ「逕ィ繝�く繧ケ繝医�繝�け繧ケ谺��鬮倥&縺ョ蜷郁ィ医′謖�ョ壽ク医∩縺ョ蟾ヲ繧ォ繝ゥ繝縺ョ鬮倥&繧医j螟ァ縺阪¢繧後� 29 if(($('div.startclass table').height() + $('div.searchstart').height()) > $('div.left').height()){ 30 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ荳隕ァ逕ィdiv縺ョ邵ヲ繧ケ繧ッ繝ュ繝シ繝ォ險ュ螳壹r繧ェ繝ウ縺ォ 31 $('div.startclass').css('overflow-y', 'scroll'); 32 // 鬮倥&繧貞キヲ繧ォ繝ゥ繝縺九i讀懃エ「逕ィ繝�く繧ケ繝医�繝�け繧ケ谺�→20px��addingテ��牙シ輔>縺溷、縺ォ縺吶k 33 $('div.startclass').css('height', ($('div.left').height() - $('div.searchstart').height() - 20) + 'px'); 34 // 蟆上&縺代l縺ー 35 }else{ 36 // 邵ヲ繧ケ繧ッ繝ュ繝シ繝ォ繧偵が繝� 37 $('div.startclass').css('overflow-y', 'hidden'); 38 } 39 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ォ縺、縺�※蜷梧ァ倥�蜃ヲ逅� 40 if(($('div.endclass table').height() + $('div.searchend').height()) > $('div.right').height()){ 41 $('div.endclass').css('overflow-y', 'scroll'); 42 $('div.endclass').css('height', ($('div.right').height() - $('div.searchend').height() - 20) + 'px'); 43 }else{ 44 $('div.endclass').css('overflow-y', 'hidden'); 45 } 46 } 47 48 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ隱ュ縺ソ霎シ縺ソ 39 49 function loadStartClass(){ 50 // SPARQL Builder縺ョ繧ケ繧ソ繝シ繝医け繝ゥ繧ケ荳隕ァ蜿門セ礼畑API繧「繝峨Ξ繧ケ繧剃ス懈��域圻螳壹〒迚ケ螳壹お繝ウ繝峨�繧、繝ウ繝医r繧サ繝�ヨ�� 40 51 var url = "http://www.sparqlbuilder.org/api/clist?ep=" + encodeURIComponent("http://www.ebi.ac.uk/rdf/services/reactome/sparql"); 52 // AJAX髢句ァ� 41 53 $.ajax({ 54 // 繝。繧ス繝�ラ繧ソ繧、繝暦シ壹ご繝�ヨ 42 55 type : "GET", 56 // URL�壼�縺サ縺ゥ繧サ繝�ヨ縺励◆繧ゅ� 43 57 url : url, 58 // 蜿門セ玲�蜉溘@縺溘i 44 59 success : function(data) { 60 // 蟶ー縺」縺ヲ縺阪◆邨先棡繧谷SON縺ォ繝代�繧ケ縺怜叙蠕� 45 61 var list = eval(data); 62 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ荳隕ァ驛ィ蛻�r遨コ縺ォ 46 63 $('div.startclass').empty(); 47 64 65 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ繝��繝悶Ν繧剃ス懈� 48 66 var startclasstable = $('<table>'); 49 67 68 // 蜿門セ励@縺溘け繝ゥ繧ケ繝ェ繧ケ繝医�謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 50 69 for (var i = 0; i < list.length; ++i) { 70 // 蛻励r霑ス蜉 51 71 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 72 } 53 73 74 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ荳隕ァ縺ォ霑ス蜉 54 75 $('div.startclass').append(startclasstable); 55 76 77 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ョ繝ェ繧ッ繧ィ繧ケ繝域ゥ溯�繧呈怏蜉ケ蛹� 56 78 requestEndClass(); 79 // 繧ッ繝ゥ繧ケ驕ク謚樒畑div縺ョ繧ケ繧ッ繝ュ繝シ繝ォ險ュ螳� 57 80 scrolldiv(); 58 81 } … … 60 83 } 61 84 85 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ョ繝ェ繧ッ繧ィ繧ケ繝域ゥ溯�繧呈怏蜉ケ蛹� 62 86 function requestEndClass(){ 63 $('.startclasscell').each(function(){ 87 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ逕ィ縺ョ蜷ФRI縺ォ縺、縺�※ 88 $('.startclassuri').each(function(){ 89 // 迴セ蝨ィ縺ョ繧ッ繝ェ繝�け繧、繝吶Φ繝医r蜑企勁�亥、夐㍾蛹門ッセ遲厄シ� 64 90 $(this).unbind('click'); 91 // 繧ッ繝ェ繝�け繧、繝吶Φ繝医�霑ス蜉 65 92 $(this).click(function(){ 93 94 // 驕ク謚樊ク医∩繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ繧ッ繝ゥ繧ケ縺後≠繧後�髯、蜴サ 95 $('.selectedstart').each(function(){ 96 $(this).removeClass('selectedstart'); 97 }); 98 // 繧ッ繝ェ繝�け縺輔l縺溯ヲ∫エ縺ォ驕ク謚樊ク医∩繧ケ繧ソ繝シ繝医け繝ゥ繧ケ繧定ソス蜉 99 $(this).addClass('selectedstart'); 100 101 // 繧ィ繝ウ繝峨け繝ゥ繧ケ荳隕ァ驛ィ蛻�r遨コ縺ォ 66 102 $('.endclass').empty(); 103 // AJAX繝ュ繝シ繝�ぅ繝ウ繧ー逕サ蜒上r霑ス蜉 67 104 $('.endclass').append('<img src="images/ajax-loader.gif">'); 68 var ep = $(this).children('.endpointuri').attr('title'); 69 var sc = $(this).children('.startclassuri').attr('title'); 105 106 // 繧ッ繝ェ繝�け縺輔l縺溘け繝ゥ繧ケ縺ョ繧ィ繝ウ繝峨�繧、繝ウ繝医r蜿門セ� 107 var ep = $(this).parent().children('.endpointuri').attr('title'); 108 // 繧ッ繝ェ繝�け縺輔l縺溘け繝ゥ繧ケ縺ョURI繧貞叙蠕� 109 var sc = $(this).attr('title'); 110 // SPARQL Builder縺ョ繧ィ繝ウ繝峨け繝ゥ繧ケ荳隕ァ蜿門セ礼畑API繧「繝峨Ξ繧ケ繧剃ス懈� 70 111 var url = "http://www.sparqlbuilder.org/api/clist?ep=" + encodeURIComponent(ep) + '&class=' + encodeURIComponent(sc); 112 // AJAX髢句ァ� 71 113 $.ajax({ 114 // 繝。繧ス繝�ラ繧ソ繧、繝暦シ壹ご繝�ヨ 72 115 type : "GET", 116 // URL�壼�縺サ縺ゥ繧サ繝�ヨ縺励◆繧ゅ� 73 117 url : url, 118 // 蜿門セ玲�蜉溘@縺溘i 74 119 success : function(data) { 120 // 蟶ー縺」縺ヲ縺阪◆邨先棡繧谷SON縺ォ繝代�繧ケ縺怜叙蠕� 75 121 var list = eval(data); 122 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ョ荳隕ァ驛ィ蛻�r遨コ縺ォ 76 123 $('.endclass').empty(); 124 125 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ョ繝��繝悶Ν繧剃ス懈� 77 126 var endclasstable = $('<table>'); 78 127 128 // 蜿門セ励@縺溘け繝ゥ繧ケ繝ェ繧ケ繝医�謨ー縺縺醍ケー繧願ソ斐@縺ェ縺後i 79 129 for (var i = 0; i < list.length; ++i) { 130 // 蛻励r霑ス蜉 80 131 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 132 } 82 133 134 // 繧ィ繝ウ繝峨け繝ゥ繧ケ荳隕ァ縺ォ霑ス蜉 83 135 $('.endclass').append(endclasstable); 84 136 137 // SPARQL Builder縺ョ繝ェ繧ッ繧ィ繧ケ繝域ゥ溯�繧呈怏蜉ケ蛹� 85 138 requestSPARQLBuilder(); 139 // 繧ッ繝ゥ繧ケ驕ク謚樒畑div縺ョ繧ケ繧ッ繝ュ繝シ繝ォ險ュ螳� 140 scrolldiv(); 86 141 } 87 142 }); … … 90 145 } 91 146 147 // SPARQL Builder縺ョ繝ェ繧ッ繧ィ繧ケ繝域ゥ溯�繧呈怏蜉ケ蛹� 92 148 function requestSPARQLBuilder(){ 93 $('.endclasscell').each(function(){ 149 150 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ョURI縺昴l縺槭l縺ォ縺、縺�※ 151 $('.endclassuri').each(function(){ 152 // 繧ッ繝ェ繝�け繧、繝吶Φ繝医�蜑企勁�亥、夐㍾蛹門撫鬘悟ッセ遲厄シ� 94 153 $(this).unbind('click'); 154 // 繧ッ繝ェ繝�け繧、繝吶Φ繝医�霑ス蜉 95 155 $(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'); 156 157 // 驕ク謚樊ク医∩繧ィ繝ウ繝峨け繝ゥ繧ケ繧帝勁蜴サ 158 $('.selectedend').each(function(){ 159 $(this).removeClass('selectedend'); 160 }); 161 // 莉雁屓縺ョ隕∫エ繧帝∈謚樊ク医∩繧ィ繝ウ繝峨け繝ゥ繧ケ縺ォ縺吶k 162 $(this).addClass('selectedend'); 163 164 // 繧ィ繝ウ繝峨�繧、繝ウ繝�RL繝サ繧ケ繧ソ繝シ繝医け繝ゥ繧ケURI繝サ繧ィ繝ウ繝峨け繝ゥ繧ケURI繧貞叙蠕� 165 var ep = $(this).parent().children('.endpointuri').attr('title'); 166 var sc = $(this).parent().children('.startclassuri').attr('title'); 167 var ec = $(this).attr('title'); 168 169 // SPARQL Builder縺ョ蜻シ縺ウ蜃コ縺礼畑URL繧剃ス懈� 99 170 var url = "http://www.sparqlbuilder.org/?ep=" + encodeURIComponent(ep) + '&st=' + encodeURIComponent(sc) + '&en=' + encodeURIComponent(ec); 100 171 172 // 荳翫〒菴懈�縺励◆URL繧呈眠縺励>繧ヲ繧」繝ウ繝峨え縺ァ髢九¥ 101 173 window.open(url); 102 174 }); … … 104 176 } 105 177 178 // URI縺ョ讀懃エ「 106 179 function search(){ 107 if($('#searchstart').val() == ''){ 180 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ逕ィ讀懃エ「谺��蛟、縺檎ゥコ縺ェ繧� 181 if($('#searchstarttext').val() == ''){ 182 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ繝弱�繝偵ャ繝医け繝ゥ繧ケ繧貞炎髯、 108 183 $('.startclasscell').parent().removeClass('nohit'); 109 }else{ 110 var keyword = $('#searchstart').val().toLowerCase(); 184 // 遨コ縺ァ縺ェ縺代l縺ー 185 }else{ 186 // 蜈・蜉帙&繧後◆蛟、繧貞ー乗枚蟄励↓縺励※蜿門セ� 187 var keyword = $('#searchstarttext').val().toLowerCase(); 188 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ荳隕ァ縺昴l縺槭l縺ォ縺、縺�※ 111 189 $('.startclasscell').each(function(){ 190 // 繧ケ繧ソ繝シ繝医け繝ゥ繧ケ縺ョ陦ィ遉コ蜷埼Κ蛻�r蟆乗枚蟄励↓縺励※蜿門セ� 112 191 var label = $(this).children('.startclassuri').text().toLowerCase(); 192 // 蜿門セ励@縺滓枚蟄怜�縺ォ讀懃エ「繝ッ繝シ繝峨′蜷ォ縺セ繧後※縺�k縺九メ繧ァ繝�け�井ク。譁ケ蟆乗枚蟄励↓螟画鋤貂医∩縺ェ縺ョ縺ァ螟ァ譁�ュ怜ー乗枚蟄励r蝠上o縺ェ縺�シ� 113 193 if(label.indexOf(keyword) != -1){ 194 // 蜷ォ縺セ繧後※縺�l縺ー繝弱�繝偵ャ繝医け繝ゥ繧ケ繧帝勁蜴サ 114 195 $(this).parent().removeClass('nohit'); 115 196 }else{ 197 // 蜷ォ縺セ繧後※縺�↑縺代l縺ー繝弱�繝偵ャ繝医け繝ゥ繧ケ繧定ソス蜉�磯撼陦ィ遉コ縺ォ縺ェ繧具シ� 116 198 $(this).parent().addClass('nohit'); 117 199 } 118 200 }); 119 201 } 120 if($('#searchend').val() == ''){ 202 // 繧ィ繝ウ繝峨け繝ゥ繧ケ縺ォ縺、縺�※蜷梧ァ倥�蜃ヲ逅� 203 if($('#searchendtext').val() == ''){ 121 204 $('.endclasscell').parent().removeClass('nohit'); 122 205 }else{ 123 var keyword = $('#searchend ').val().toLowerCase();206 var keyword = $('#searchendtext').val().toLowerCase(); 124 207 $('.endclasscell').each(function(){ 125 208 var label = $(this).children('.endclassuri').text().toLowerCase(); … … 132 215 } 133 216 217 // 30ms蠕�▲縺ヲ縺九i繧ケ繧ッ繝ュ繝シ繝ォ蜀阪そ繝�ヨ�域緒逕サ螟画峩縺ォ縺九°繧区凾髢薙r閠���� 134 218 setTimeout('scrolldiv()',30); 135 219 }