MediaWiki:AdvancedLBSSearch.js: Difference between revisions
Jcblmaster (talk | contribs) No edit summary |
Jcblmaster (talk | contribs) No edit summary |
||
| Line 7: | Line 7: | ||
xmlHttpRequest.onreadystatechange = function() | xmlHttpRequest.onreadystatechange = function() | ||
{ | { | ||
console.log("first"); | |||
var READYSTATE_COMPLETED = 4; | var READYSTATE_COMPLETED = 4; | ||
if(this.readyState == READYSTATE_COMPLETED){ | if(this.readyState == READYSTATE_COMPLETED){ | ||
console.log("second"); | |||
var HTTP_STATUS_OK = 200; | var HTTP_STATUS_OK = 200; | ||
if(this.status == HTTP_STATUS_OK) { | if(this.status == HTTP_STATUS_OK) { | ||
| Line 40: | Line 42: | ||
xmlHttpRequest.responseType = 'text'; | xmlHttpRequest.responseType = 'text'; | ||
xmlHttpRequest.send(null); | xmlHttpRequest.send(null); | ||
console.log("third"); | |||
Revision as of 09:49, 24 April 2017
mw.loader.load( ['jquery.ui.autocomplete'] );
$(function() {
var url = '/mediawiki/api.php?action=query&prop=revisions&redirects=1&titles=Persist:ListMainchain&rvprop=content&rvparse=1&format=xml';
var xmlHttpRequest = new XMLHttpRequest();
xmlHttpRequest.onreadystatechange = function()
{
console.log("first");
var READYSTATE_COMPLETED = 4;
if(this.readyState == READYSTATE_COMPLETED){
console.log("second");
var HTTP_STATUS_OK = 200;
if(this.status == HTTP_STATUS_OK) {
// success
var xml = this.response.trim();
var parser = new DOMParser();
console.log(xml);
var dom = parser.parseFromString(xml, 'text/xml');
var choices = dom.getElementsByTagName("rev")[0].innerHTML.replace(",</li></ul>","").split("</li><li>");
console.log(choices.length);
for(var i = 0; i < choices.length; i ++){
choices[i] = choices[i].replace(/^.*=/, "").replace(/,$/,"");
}
choices = Array.from(new Set(choices)); // 重複を削除
console.log(choices.length);
$('#advanced_polysaccharide_sequence').autocomplete({
source: choices,
autoFocus: false,
delay: 0,
minLength: 3
});
} else {
// error
console.log('retrieving is failed. ' + this.status + ':' + this.statusText + "/" + this.readyState);
}
}
}
// search
xmlHttpRequest.open('GET', url, true);
xmlHttpRequest.responseType = 'text';
xmlHttpRequest.send(null);
console.log("third");
var submit = document.getElementById("advanced_search_button");
submit.onclick = function(){
var mainchain = document.getElementById("advanced_polysaccharide_sequence").value;
var searchchain = mainchain.replace(/\?/g, "\\?");
window.open("/wiki/Volatile:ListMol/LBS?my_1=" + searchchain + "&my_2=&my_3=" + mainchain, "_blank");
}
});