mirror of
https://gitlab.com/CodeSolutionsProject/CodeShare.git
synced 2026-02-16 10:01:34 +01:00
Infinite scroll
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row nomargin">
|
<div class="row nomargin">
|
||||||
{% for lang in value[0] %}
|
{% for lang in value[0] %}
|
||||||
<div class='codeFilterCheckBox'><input type='checkbox' class='codeFilterCheckBoxInput' checked='true' value='{{ lang[0] }}' onclick="getAjax()"> {{ lang[1] }}</div>
|
<div class='codeFilterCheckBox'><input type='checkbox' class='codeFilterCheckBoxInput' checked='true' value='{{ lang[0] }}' onclick="getAjax(true)"> {{ lang[1] }}</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="codeFilterSearch col-md-12">
|
<div class="codeFilterSearch col-md-12">
|
||||||
<input type="text" class="codeFilterSearchInput" id="search" name="search" placeholder="Code's name or description" onkeyup="getAjax()">
|
<input type="text" class="codeFilterSearchInput" id="search" name="search" placeholder="Code's name or description" onkeyup="getAjax(true)">
|
||||||
</div>
|
</div>
|
||||||
{#<div class="codeFilterButton col-md-4"><button class="btn btn-default" onclick="getAjax()">Filter</button></div>#}
|
{#<div class="codeFilterButton col-md-4"><button class="btn btn-default" onclick="getAjax()">Filter</button></div>#}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -11,9 +11,16 @@ function doAjax(postValue) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function ajaxresponse(){
|
function ajaxresponse(){
|
||||||
if(conexion.readyState == 4){ //Esto es para que cambie cuando haya respuesta, que no es en todos los momentos
|
if(conexion.readyState == 4){ //Esto es para que cambie cuando haya respuesta, que no es en todos los momentos
|
||||||
document.getElementById('ajaxPut').innerHTML = conexion.responseText; //Pondra todo lo devuelto por "file" (Que sera un php que de //echos dependiendo de lo enviado) en un div
|
o++;
|
||||||
}
|
var ajaxPut = document.getElementById('ajaxPut');
|
||||||
|
if(newFilter){
|
||||||
|
newFilter=false;
|
||||||
|
ajaxPut.innerHTML = conexion.responseText; //Pondra todo lo devuelto por "file" (Que sera un php que de //echos dependiendo de lo enviado) en un div
|
||||||
|
}else{
|
||||||
|
ajaxPut.innerHTML = ajaxPut.innerHTML+conexion.responseText;
|
||||||
|
}
|
||||||
|
}
|
||||||
reHightlight();
|
reHightlight();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +37,11 @@ function mostrar(div) {
|
|||||||
//obj.style.display = (obj.style.display == 'none') ? 'block' : 'none';
|
//obj.style.display = (obj.style.display == 'none') ? 'block' : 'none';
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAjax() {
|
function getAjax(reset=false) {
|
||||||
|
if(reset){
|
||||||
|
resetFilter();
|
||||||
|
}
|
||||||
|
|
||||||
var checkboxes = document.getElementsByClassName("codeFilterCheckBoxInput");
|
var checkboxes = document.getElementsByClassName("codeFilterCheckBoxInput");
|
||||||
var i;
|
var i;
|
||||||
var count = false;
|
var count = false;
|
||||||
@@ -47,6 +58,7 @@ function getAjax() {
|
|||||||
}
|
}
|
||||||
if(document.getElementById("search").value!="")
|
if(document.getElementById("search").value!="")
|
||||||
send = send+"&search="+document.getElementById("search").value;
|
send = send+"&search="+document.getElementById("search").value;
|
||||||
|
send = send+"&o="+o;
|
||||||
doAjax(send);
|
doAjax(send);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,7 +115,7 @@ function unselectAll() {
|
|||||||
checkboxes[i].innerHTML = "Select all";
|
checkboxes[i].innerHTML = "Select all";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getAjax();
|
getAjax(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function selectAll() {
|
function selectAll() {
|
||||||
@@ -117,10 +129,27 @@ function selectAll() {
|
|||||||
checkboxes[i].innerHTML = "Unselect all";
|
checkboxes[i].innerHTML = "Unselect all";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getAjax();
|
getAjax(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
//From https://stackoverflow.com/questions/35297919/javascript-select-all-text-inside-a-pre-code-block-on-double-click
|
function resetOffset(){
|
||||||
|
o=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
function resetFilter(){
|
||||||
|
newFilter=true;
|
||||||
|
resetOffset();
|
||||||
|
}
|
||||||
|
|
||||||
|
resetOffset();
|
||||||
|
|
||||||
|
$(window).scroll(function () {
|
||||||
|
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 10) {
|
||||||
|
getAjax();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
//From https://stackoverflow.com/questions/35297919/javascript-select-all-text-inside-a-pre-code-block-on-double-click
|
||||||
window.onload = function(){
|
window.onload = function(){
|
||||||
|
|
||||||
document.body.addEventListener('dblclick', function(e){
|
document.body.addEventListener('dblclick', function(e){
|
||||||
|
|||||||
Reference in New Issue
Block a user