//obsolete get request
var search_value = new URL(location.href).searchParams.get('search');
$( document ).ready(function() {
if (search_value) {
$('#generate_spreadsheet').DataTable().search( search_value ).draw();
$('#generate_other').DataTable().search( search_value ).draw();
}
});
//new hash search
var search_hash = location.hash;
$( document ).ready(function() {
if (search_hash) {
if (search_hash.includes('#search=')) {
search_hash = search_hash.replace('#search=', '');
search_hash = decodeURI(search_hash);
$('#generate_spreadsheet').DataTable().search( search_hash ).draw();
$('#generate_other').DataTable().search( search_hash ).draw();
}
}
});
function clearSearch() {
document.querySelector('input[type=search]').value = '';
$('#generate_spreadsheet').DataTable().search('').draw();
$('#generate_other').DataTable().search('').draw();
}
let searchValue = '';
let copylink = '';
const currentPage = window.location.href.replace(location.hash,"");
function copySearch() {
//link to copy
copylink = currentPage + '#search=' + searchValue;
//Tooltip
if ($("#copy-search").attr("data-clicked") != 1) {
$("#copy-search").attr("data-first-title", $("#copy-search").attr("data-original-title"));
}
$("#copy-search").attr("data-clicked", 1);
/*$("#copy-search")
.tooltip('hide')
.attr('data-original-title', "Copied!")
.attr('data-click-title', "Copied!")
.tooltip('update')
.tooltip('show');*/
$(".tipsy").html("Copied!");
$( "#copy-search" ).mouseout(function() {
$("#copy-search").attr('data-original-title', $("#copy-search").attr("data-first-title"));
});
//Copy Text
let copyfield = document.createElement("textarea");
copyfield.style.position = 'absolute';
copyfield.style.left = '-999px';
copyfield.setAttribute('readonly', '');
document.body.appendChild(copyfield);
copyfield.value = copylink;
copyfield.select();
document.execCommand("copy");
document.body.removeChild(copyfield);
}
function createClearButton() {
let newNode = document.createElement("button");
let parNode = document.querySelector('input[type=search]').parentNode;
let refNode = document.querySelector('input[type=search]');
newNode.setAttribute('id', 'clear-search');
newNode.setAttribute('class', 'searcher');
newNode.setAttribute('onclick', 'clearSearch()');
newNode.setAttribute('style', 'color:inherit;border:none;position:relative;background-color:transparent;float:right;margin-left:-2rem;margin-top:0.3rem;appearance:none;margin-right:0.5rem;opacity:0.5;line-height:1;font-size:1rem;');
newNode.innerHTML = '';
parNode.insertBefore(newNode, refNode);
}
function createLinkShare() {
let newNode = document.createElement("button");
let parNode = document.querySelector('input[type=search]').parentNode;
let refNode = document.querySelector('input[type=search]');
newNode.setAttribute('id', 'copy-search');
newNode.setAttribute('class', 'tooltips');
newNode.setAttribute('onclick', 'copySearch()');
newNode.setAttribute('data-toggle', 'searcher tooltip');
newNode.setAttribute('title', 'Copy Search Link');
newNode.setAttribute('data-original-title', 'Copy Search Link');
newNode.setAttribute('data-click-title', 'Copied!');
newNode.setAttribute('style', 'color:inherit;border:none;background-color:transparent;margin-left:0.3rem;margin-top:0.1rem;appearance:none;margin-right:-0.2rem;opacity:0.7;color:inherit;line-height:1;font-size:1rem;');
newNode.innerHTML = '';
parNode.insertBefore(newNode, refNode);
}
function checkSearch() {
if (document.querySelector('input[type=search]')) {
if (document.querySelector('input[type=search]').value != '') {
createClearButton(); //initialize if page starts with search
createLinkShare();
spawn_tooltips();
let searchValue = '';
searchValue = encodeURIComponent(document.querySelector('input[type=search]').value);
}
}
}
$( document ).ready(function() {
if ($('#generate_spreadsheet').length) {
var table = $('#generate_spreadsheet').DataTable();
} else {
var table = $('#generate_other').DataTable();
}
table.on( 'search.dt', function () {
searchValue = encodeURIComponent(document.querySelector('input[type=search]').value);
//if search is not empty
if (document.querySelector('input[type=search]').value != '') {
//add button
if (!document.querySelector('button#clear-search')) {
createClearButton();
createLinkShare();
spawn_tooltips();
}
}
//if search is empty
if (document.querySelector('input[type=search]').value == '') {
if (document.getElementById("clear-search")) {
document.getElementById("clear-search").remove();
}
if (document.getElementById("copy-search")) {
document.getElementById("copy-search").remove();
}
}
} );
checkSearch();
});