Widget:KeywordSearch: Difference between revisions
Jump to navigation
Jump to search
Matt Pijoan (talk | contribs) No edit summary |
Matt Pijoan (talk | contribs) No edit summary |
||
(56 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<includeonly> | <includeonly> | ||
<style type="text/css"> | |||
.WBRButton{ | |||
font-family:Arial; | |||
float:left; | |||
background-color:#3366CC; | |||
height:40px; | |||
font-weight:bold; | |||
width:150px; | |||
display: table-cell; | |||
cursor: pointer; | |||
color:#FFFFFF; | |||
text-align: center; | |||
vertical-align: middle; | |||
margin-right:10px; | |||
} | |||
</style> | |||
<script type="text/javascript"> | <script type="text/javascript"> | ||
$(document).ready(function(){CoK();}); | |||
$( | function CoK() { | ||
var stuffs ="<div id='formSpace'></div><div class='WBRButton' id='orOp'><br />OR</div><div class='WBRButton' id='andOp'><br />AND</div><div class='WBRButton' id='showQueries'><br />SHOW</div>"; | |||
$("#examSpace").append(stuffs); | |||
var orBox = "<div class='query'> <input type='text' class='queryString' /> </div><br />"; | var orBox = "<div class='query'> <input type='text' class='queryString' /> </div><br />"; | ||
var andBox = " <input type='text' class='queryString' /> "; | var andBox = " <input type='text' class='queryString' /> "; | ||
$("#formSpace").html(orBox); | $("#formSpace").html(orBox); | ||
$(".queryString"). | $(".queryString").focusin(function () { | ||
$(".focused").removeClass("focused"); | $(".focused").removeClass("focused"); | ||
$(this).parent().addClass("focused"); | $(this).parent().addClass("focused"); | ||
Line 13: | Line 33: | ||
$(this).remove(); | $(this).remove(); | ||
} | } | ||
clearEmptyDivs(); | |||
}); | }); | ||
}); | }); | ||
function clearEmptyDivs(){ | |||
$.each($(":br"), function(){ | |||
console.log($(this).parent()); | |||
} | |||
$.each($(".query"), function(){ | |||
if($(this).children().length === 0){ | |||
$(this).remove(); | |||
} | |||
}); | |||
} | |||
$("#orOp").click(function () { | $("#orOp").click(function () { | ||
$("#formSpace").append(orBox); | $("#formSpace").append(orBox); | ||
Line 25: | Line 55: | ||
$(this).remove(); | $(this).remove(); | ||
} | } | ||
clearEmptyDivs(); | |||
}); | }); | ||
}); | }); | ||
Line 39: | Line 70: | ||
$(this).remove(); | $(this).remove(); | ||
} | } | ||
clearEmptyDivs(); | |||
}); | }); | ||
}); | }); | ||
Line 46: | Line 78: | ||
function showQueries(event) { | function showQueries(event) { | ||
event.data.queries = []; | event.data.queries = []; | ||
event.data.questionListAll = []; | |||
event.data.keyword = {}; | event.data.keyword = {}; | ||
event.data.keyword.iterator = 0; | event.data.keyword.iterator = 0; | ||
Line 57: | Line 90: | ||
} | } | ||
function runQueries(obj) { | function runQueries(obj) { | ||
var api = new mw.Api(); | var api = new mw.Api(); | ||
api.get({ | api.get({ | ||
Line 65: | Line 97: | ||
}) | }) | ||
.always(function (data) { | .always(function (data) { | ||
if (obj.keyword.iterator < | $.each(data.query.results, function(index, value){ | ||
obj.questionListAll.push(value.fulltext); | |||
}); | |||
if ((obj.keyword.iterator+1) < obj.queries.length) { | |||
obj.keyword.iterator++; | obj.keyword.iterator++; | ||
runQueries(obj); | runQueries(obj); | ||
} else { | |||
} else {} | removeDuplicates(obj); | ||
} | |||
}); | }); | ||
} | |||
function removeDuplicates(obj){ | |||
for(var i=0;i<obj.questionListAll.length;i++){ | |||
$.each(obj.questionListAll, function(index, value){ | |||
if(obj.questionListAll[i] === value && i != index){ | |||
console.log(value); | |||
console.log(obj.questionListAll[i]); | |||
obj.questionListAll.splice(index, 1); | |||
return false; | |||
} | |||
}); | |||
} | |||
console.log(obj.questionListAll); | |||
} | |||
} | } | ||
</script> | |||
<div id="examSpace"></div> | |||
</includeonly> | </includeonly> |