MediaWiki

Common.js: Difference between revisions

From Underfoot

No edit summary
No edit summary
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */
function filterImages1 () {
  var x = document.getElementsByClassName("image1");
  var input, filter;
  var text= "";


   if (document.getElementById("image1input") !== null && document.getElementById("image1input").value !== null)
function filterAll () {
  var input, filter, td, i, description, keywords, txtValue;
  var map      = document.getElementsByClassName("leaflet-marker-icon");
  var objects  = document.getElementsByClassName("ObjectLine");
  var timeline  = document.getElementsByClassName("TimelineLine");
  var gallery  = document.getElementsByClassName("galleryline");
  var documents = document.getElementsByClassName("documentline");
  var table    = document.getElementById("Table");
  if (table)    {var tabletr = table.getElementsByTagName("tr")}
 
   if (document.getElementById("filterinput") !== null && document.getElementById("filterinput").value !== null)
   {
   {
     input = document.getElementById("image1input");
     input = document.getElementById("filterinput");
     filter = input.value.toUpperCase();  
     filter = input.value.toUpperCase().replace("_"," ");
    filter1 = input.value.toUpperCase().replace(" ","_");
     if (filter.search("!") == 0) {
     if (filter.search("!") == 0) {
       filter="^((?!"+filter.substr(1)+").)*$";  
       if (filter.length > 1) {
    }  
        for (i = 0; i < map.length; i++) {
  }  
          if (map[i].id !== "" && map[i].id.toUpperCase().search(filter.substr(1)) == -1) {
            map[i].style.opacity="1.0";
          } else {
            map[i].style.opacity="0.05";
          }
        }
        for (i = 0; i < objects.length; i++) {
          if (objects[i].id.toUpperCase().search(filter1.substr(1)) == -1) {
            objects[i].style.display = 'inline-block';
          } else {
            objects[i].style.display = 'none';
          }
        }


  for (i = 0; i < x.length; i++) {
        for (i = 0; i < timeline.length; i++) {
    if (x[i].id.toUpperCase().search(filter) > -1) {
          if (timeline[i].id !== "" && timeline[i].id.toUpperCase().search(filter1.substr(1)) == -1) {
      x[i].style.display = '';
            timeline[i].style.opacity="1.0";
      text=x[i].innerHTML;
          } else {
      x[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'include");
            timeline[i].style.opacity="0.1";
    } else {
          }
      x[i].style.display = 'none';
        }
      text=x[i].innerHTML;
      x[i].innerHTML = text.replace(/slideshowGroup:'include/,"slideshowGroup:'exclude");
    }
  }
}


        for (i = 0; i < gallery.length; i++) {
          if (gallery[i].id.toUpperCase().search(filter.substr(1)) == -1) {
            gallery[i].style.display = '';
            text=gallery[i].innerHTML;
            gallery[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'gallery");
          } else {
            gallery[i].style.display = 'none';
            text=gallery[i].innerHTML;
            gallery[i].innerHTML = text.replace(/slideshowGroup:'gallery/,"slideshowGroup:'exclude");
          }
        }


function filterMap () {
         for (i = 0; i < documents.length; i++) {
  var input, filter, table, tr, td, i, description, keywords, txtValue;
           if (documents[i].id.toUpperCase().search(filter.substr(1)) == -1) {
  var x = document.getElementsByClassName("leaflet-marker-icon");
             documents[i].style.display = '';
  table = document.getElementById("maptable");
            text=documents[i].innerHTML;
  tr = table.getElementsByTagName("tr");
            documents[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'documents");
 
  if (document.getElementById("mapinput") !== null && document.getElementById("mapinput").value !== null)
  {
    input = document.getElementById("mapinput");
    filter = input.value.toUpperCase(); 
    if (filter.search("!") == 0) {
      if (filter.length > 1) {
         for (i = 0; i < x.length; i++) {
           if (x[i].id !== "" && x[i].id.toUpperCase().search(filter.substr(1)) == -1) {
             x[i].style.opacity="0.05";
           } else {
           } else {
             x[i].style.opacity="1.0";
             documents[i].style.display = 'none';
            text=documents[i].innerHTML;
            documents[i].innerHTML = text.replace(/slideshowGroup:'documents/,"slideshowGroup:'exclude");
           }
           }
         }
         }
         for (i = 0; i < tr.length; i++) {
     
          if (tr[i].getElementsByTagName("td")[0]) {
         if (table) {
            // match text in all columns
          for (i = 0; i < tabletr.length; i++) {
            txtValue = tr[i].getElementsByTagName("td")[0].textContent +
            // match text in four columns
                       tr[i].getElementsByTagName("td")[1].textContent +  
            if (tabletr[i].getElementsByTagName("td")[0]) {
                       tr[i].getElementsByTagName("td")[2].textContent;
              txtValue = tabletr[i].getElementsByTagName("td")[0].textContent
            if (txtValue !== "" && txtValue.toUpperCase().search(filter.substr(1)) == -1) {
                       + tabletr[i].getElementsByTagName("td")[1].textContent  
              tr[i].style.display = "";
                      + tabletr[i].getElementsByTagName("td")[2].textContent
            } else {
                       + tabletr[i].getElementsByTagName("td")[3].textContent;
              tr[i].style.display = "none";
              if (txtValue.toUpperCase().search(filter.substr(1)) == -1) {
                tabletr[i].style.display = "";
              } else {
                tabletr[i].style.display = "none";
              }
             }
             }
           }
           }
Line 62: Line 83:
       }
       }
     } else {
     } else {
       for (i = 0; i < x.length; i++) {
       for (i = 0; i < map.length; i++) {
         if (x[i].id !== "" && x[i].id.toUpperCase().search(filter) > -1) {
         if (map[i].id !== "" && map[i].id.toUpperCase().search(filter) > -1) {
           x[i].style.opacity="1.0";
           map[i].style.opacity="1.0";
         } else {
         } else {
           x[i].style.opacity="0.05";
           map[i].style.opacity="0.05";
         }
         }
       }
       }
       for (i = 0; i < tr.length; i++) {
       for (i = 0; i < objects.length; i++) {
         if (tr[i].getElementsByTagName("td")[0]) {
         if (objects[i].id.toUpperCase().search(filter1) > -1) {
          // match text in all columns
          objects[i].style.display = 'inline-block';
          txtValue = tr[i].getElementsByTagName("td")[0].textContent +
        } else {
                    tr[i].getElementsByTagName("td")[1].textContent +
          objects[i].style.display = 'none';
                    tr[i].getElementsByTagName("td")[2].textContent;
          if (txtValue !== "" && txtValue.toUpperCase().search(filter) > -1) {
            tr[i].style.display = "";
          } else {
            tr[i].style.display = "none";
          }
         }
         }
      }
      }
    }
  }
}
function filterTimeline () {
  var input, filter, i, description, keywords, txtValue, table, tr;
  var x = document.getElementsByClassName("TimelineLine");
  table = document.getElementById("timelinetable");
  tr = table.getElementsByTagName("tr");


  if (document.getElementById("timelineinput") !== null && document.getElementById("timelineinput").value !== null)
       for (i = 0; i < timeline.length; i++) {
  {
         if (timeline[i].id !== "" && timeline[i].id.toUpperCase().search(filter1) > -1) {
    input = document.getElementById("timelineinput");
           timeline[i].style.opacity="1.0";
    filter = input.value.toUpperCase(); 
    if (filter.search("!") == 0) {
       for (i = 0; i < x.length; i++) {
         if (x[i].id !== "" && x[i].id.toUpperCase().search(filter.substr(1)) > -1) {
           x[i].style.opacity="0.1";
         } else {
         } else {
           x[i].style.opacity="1.0";
           timeline[i].style.opacity="0.1";
         }
         }
       }
       }
       for (i = 0; i < tr.length; i++) {
 
         // match text in two columns
       for (i = 0; i < gallery.length; i++) {
        description = tr[i].getElementsByTagName("td")[0];
         if (gallery[i].id.toUpperCase().search(filter) > -1) {
        if (description) {
           gallery[i].style.display = '';
           keywords    = tr[i].getElementsByTagName("td")[1];  
           text=gallery[i].innerHTML;
           txtValue = description.textContent + keywords.textContent;
           gallery[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'gallery");
           if (txtValue.toUpperCase().search(filter.substr(1)) > -1) {
        } else {
            tr[i].style.display = "";
          gallery[i].style.display = 'none';
           } else {
           text=gallery[i].innerHTML;
            tr[i].style.display = "none";
          gallery[i].innerHTML = text.replace(/slideshowGroup:'gallery/,"slideshowGroup:'exclude");
          }
         }
         }
       }
       }
    } else {
 
       for (i = 0; i < x.length; i++) {
       for (i = 0; i < documents.length; i++) {
         if (x[i].id !== "" && x[i].id.toUpperCase().search(filter) > -1) {
         if (documents[i].id.toUpperCase().search(filter) > -1) {
           x[i].style.opacity="1.0";
           documents[i].style.display = '';
          text=documents[i].innerHTML;
          documents[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'documents");
         } else {
         } else {
           x[i].style.opacity="0.1";
           documents[i].style.display = 'none';
          text=documents[i].innerHTML;
          documents[i].innerHTML = text.replace(/slideshowGroup:'documents/,"slideshowGroup:'exclude");
         }
         }
       }
       }
       for (i = 0; i < tr.length; i++) {
        
        // match text in two columns
      if (table) {
        description = tr[i].getElementsByTagName("td")[0];
        for (i = 0; i < tabletr.length; i++) {
        if (description) {
          // match text in four columns
          keywords    = tr[i].getElementsByTagName("td")[1];
          if (tabletr[i].getElementsByTagName("td")[0]) {
          txtValue = description.textContent + keywords.textContent;
            txtValue = tabletr[i].getElementsByTagName("td")[0].textContent
          if (txtValue.toUpperCase().search(filter) > -1) {
                    + tabletr[i].getElementsByTagName("td")[1].textContent
            tr[i].style.display = "";
                    + tabletr[i].getElementsByTagName("td")[2].textContent  
          } else {
                    + tabletr[i].getElementsByTagName("td")[3].textContent;
            tr[i].style.display = "none";
            if (txtValue !== "" && txtValue.toUpperCase().search(filter) > -1) {
              tabletr[i].style.display = "";
            } else {
              tabletr[i].style.display = "none";
            }
           }
           }
         }
         }
Line 141: Line 150:
}
}


function filterDocuments () {
$('#filterbox').html('<input type="text" id="filterinput" onkeyup="filterAll()" value="" placeholder="Filter" title="Filter">');
  var x = document.getElementsByClassName("document");
  var input, filter;
 
  if (document.getElementById("documentinput") !== null && document.getElementById("documentinput").value !== null)
  {
    input = document.getElementById("documentinput");
    filter = input.value.toUpperCase(); 
    if (filter.search("!") == 0) {
      filter="^((?!"+filter.substr(1)+").)*$";
    }
  }
 
  for (i = 0; i < x.length; i++) {
    if (txtValue.toUpperCase().search(filter) > -1) {
      x[i].style.display = '';
    } else {
      x[i].style.display = 'none';
    }
  }
}
 
function filterShortTable() {
  var input, filter, table, tr, td, i, start, description, keywords, notes, txtValue;
  input = document.getElementById("shorttableinput");
  filter = input.value.toUpperCase();
  if (filter.search("!") == 0) {
    filter="^((?!"+filter.substr(1)+").)*$";
  }
  table = document.getElementById("shorttable");
  tr = table.getElementsByTagName("tr");
  for (i = 0; i < tr.length; i++) {
    // match text in four columns
    title= tr[i].getElementsByTagName("td")[0];
    if (title) {
      start      = tr[i].getElementsByTagName("td")[0];
      description = tr[i].getElementsByTagName("td")[1];
      keywords    = tr[i].getElementsByTagName("td")[2];
      notes      = tr[i].getElementsByTagName("td")[3];
      txtValue = start.textContent + description.textContent + keywords.textContent + notes.textContent;
      if (txtValue.toUpperCase().search(filter) > -1) {
        tr[i].style.display = "";
      } else {
        tr[i].style.display = "none";
      }
    }
  }
}
 
function filterLongTable() {
  var input, filter, table, tr, td, i, start, description, keywords, notes, txtValue;
  input = document.getElementById("longtableinput");
  filter = input.value.toUpperCase();
  if (filter.search("!") == 0) {
    filter="^((?!"+filter.substr(1)+").)*$";
  }
  table = document.getElementById("longtable");
  tr = table.getElementsByTagName("tr");
  for (i = 0; i < tr.length; i++) {
    // match text in four columns
    title= tr[i].getElementsByTagName("td")[0];
    if (title) {
      start      = tr[i].getElementsByTagName("td")[0];
      description = tr[i].getElementsByTagName("td")[1];
      keywords    = tr[i].getElementsByTagName("td")[2];
      notes      = tr[i].getElementsByTagName("td")[3];
      txtValue = start.textContent + description.textContent + keywords.textContent + notes.textContent;
      if (txtValue.toUpperCase().search(filter) > -1) {
        tr[i].style.display = "";
      } else {
        tr[i].style.display = "none";
      }
    }
  }
}
 
$('#shorttablebox').html('<input type="text" id="shorttableinput" onkeyup="filterShortTable()" value="" placeholder="Filter table" title="Type in a name">');
 
$('#longtablebox').html('<input type="text" id="longtableinput" onkeyup="filterLongTable()" value="" placeholder="Filter table" title="Type in a name">');
 
$('#image1box').html('<input type="text" id="image1input" onkeyup="filterImages1()" value="" placeholder="Filter images" title="Type in a name1">');
 
$('#documentbox').html('<input type="text" id="documentinput" onkeyup="filterDocuments()" value="" placeholder="Filter documents" title="Type in a name">');
 
$('#mapbox').html('<input type="text" id="mapinput" onkeyup="filterMap()" value="" placeholder="Filter map and table" title="Type in a name">');
 
$('#timelinebox').html('<input type="text" id="timelineinput" onkeyup="filterTimeline()" value="" placeholder="Filter timeline" title="Type in a name">');

Revision as of 06:57, 30 January 2024

/* Any JavaScript here will be loaded for all users on every page load. */

function filterAll () {
  var input, filter, td, i, description, keywords, txtValue;
  var map       = document.getElementsByClassName("leaflet-marker-icon"); 
  var objects   = document.getElementsByClassName("ObjectLine");
  var timeline  = document.getElementsByClassName("TimelineLine"); 
  var gallery   = document.getElementsByClassName("galleryline");
  var documents = document.getElementsByClassName("documentline");
  var table     = document.getElementById("Table");
  if (table)    {var tabletr = table.getElementsByTagName("tr")}

  if (document.getElementById("filterinput") !== null && document.getElementById("filterinput").value !== null)
  {
    input = document.getElementById("filterinput");
    filter = input.value.toUpperCase().replace("_"," "); 
    filter1 = input.value.toUpperCase().replace(" ","_");  
    if (filter.search("!") == 0) {
      if (filter.length > 1) {
        for (i = 0; i < map.length; i++) {
          if (map[i].id !== "" && map[i].id.toUpperCase().search(filter.substr(1)) == -1) {
            map[i].style.opacity="1.0";
          } else {
            map[i].style.opacity="0.05";
          }
        }
        for (i = 0; i < objects.length; i++) {
          if (objects[i].id.toUpperCase().search(filter1.substr(1)) == -1) {
            objects[i].style.display = 'inline-block';
          } else {
            objects[i].style.display = 'none';
          }
        }

        for (i = 0; i < timeline.length; i++) {
          if (timeline[i].id !== "" && timeline[i].id.toUpperCase().search(filter1.substr(1)) == -1) {
            timeline[i].style.opacity="1.0";
          } else {
            timeline[i].style.opacity="0.1";
          }
        }

        for (i = 0; i < gallery.length; i++) {
          if (gallery[i].id.toUpperCase().search(filter.substr(1)) == -1) {
            gallery[i].style.display = '';
            text=gallery[i].innerHTML;
            gallery[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'gallery");
          } else {
            gallery[i].style.display = 'none';
            text=gallery[i].innerHTML;
            gallery[i].innerHTML = text.replace(/slideshowGroup:'gallery/,"slideshowGroup:'exclude");
          }
        }

        for (i = 0; i < documents.length; i++) {
          if (documents[i].id.toUpperCase().search(filter.substr(1)) == -1) {
            documents[i].style.display = '';
            text=documents[i].innerHTML;
            documents[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'documents");
          } else {
            documents[i].style.display = 'none';
            text=documents[i].innerHTML;
            documents[i].innerHTML = text.replace(/slideshowGroup:'documents/,"slideshowGroup:'exclude");
          }
        }
      
        if (table) {
          for (i = 0; i < tabletr.length; i++) {
            // match text in four columns
            if (tabletr[i].getElementsByTagName("td")[0]) {
              txtValue = tabletr[i].getElementsByTagName("td")[0].textContent
                       + tabletr[i].getElementsByTagName("td")[1].textContent 
                       + tabletr[i].getElementsByTagName("td")[2].textContent 
                       + tabletr[i].getElementsByTagName("td")[3].textContent;
              if (txtValue.toUpperCase().search(filter.substr(1)) == -1) {
                tabletr[i].style.display = "";
              } else {
                tabletr[i].style.display = "none";
              }
            }
          }
        }
      }
    } else {
      for (i = 0; i < map.length; i++) {
        if (map[i].id !== "" && map[i].id.toUpperCase().search(filter) > -1) {
          map[i].style.opacity="1.0";
        } else {
          map[i].style.opacity="0.05";
        }
      }
      for (i = 0; i < objects.length; i++) {
        if (objects[i].id.toUpperCase().search(filter1) > -1) {
          objects[i].style.display = 'inline-block';
        } else {
          objects[i].style.display = 'none';
        }
       }

      for (i = 0; i < timeline.length; i++) {
        if (timeline[i].id !== "" && timeline[i].id.toUpperCase().search(filter1) > -1) {
          timeline[i].style.opacity="1.0";
        } else {
          timeline[i].style.opacity="0.1";
        }
      }

      for (i = 0; i < gallery.length; i++) {
        if (gallery[i].id.toUpperCase().search(filter) > -1) {
          gallery[i].style.display = '';
          text=gallery[i].innerHTML;
          gallery[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'gallery");
        } else {
          gallery[i].style.display = 'none';
          text=gallery[i].innerHTML;
          gallery[i].innerHTML = text.replace(/slideshowGroup:'gallery/,"slideshowGroup:'exclude");
        }
      }

      for (i = 0; i < documents.length; i++) {
        if (documents[i].id.toUpperCase().search(filter) > -1) {
          documents[i].style.display = '';
          text=documents[i].innerHTML;
          documents[i].innerHTML = text.replace(/slideshowGroup:'exclude/,"slideshowGroup:'documents");
        } else {
          documents[i].style.display = 'none';
          text=documents[i].innerHTML;
          documents[i].innerHTML = text.replace(/slideshowGroup:'documents/,"slideshowGroup:'exclude");
        }
      }
      
      if (table) {
        for (i = 0; i < tabletr.length; i++) {
          // match text in four columns
          if (tabletr[i].getElementsByTagName("td")[0]) {
            txtValue = tabletr[i].getElementsByTagName("td")[0].textContent
                     + tabletr[i].getElementsByTagName("td")[1].textContent 
                     + tabletr[i].getElementsByTagName("td")[2].textContent 
                     + tabletr[i].getElementsByTagName("td")[3].textContent;
            if (txtValue !== "" && txtValue.toUpperCase().search(filter) > -1) {
              tabletr[i].style.display = "";
            } else {
              tabletr[i].style.display = "none";
            }
          }
        }
      }
    }
  } 
}

$('#filterbox').html('<input type="text" id="filterinput" onkeyup="filterAll()" value="" placeholder="Filter" title="Filter">');