Hash (tag) takeover

This commit is contained in:
Wayland-Smithy 2022-04-10 19:50:39 -07:00 committed by Hans5958
parent e86d3f4258
commit f00f68a17a
3 changed files with 6 additions and 23 deletions

View file

@ -31,7 +31,7 @@ function createInfoBlock(entry) {
let headerElement = document.createElement("h2");
let linkElement = document.createElement("a");
linkElement.href = "#id=" + entry.id;
linkElement.href = "#" + entry.id;
linkElement.innerText = entry.name;
headerElement.appendChild(linkElement);

View file

@ -113,9 +113,9 @@ async function init(){
// Backwards compatibility for old links using "search" id arg
if(args.includes("id=")){
let idHash = "id=" + args.split("id=")[1].split("&")[0];
let idHash = args.split("id=")[1].split("&")[0];
window.location.hash = idHash;
let idArgMatch = new RegExp(`${idHash}&?`); // Patten for the id plus a following & if present
let idArgMatch = new RegExp(`id=${idHash}&?`); // Patten for the id plus a following & if present
window.location.search = window.location.search.substring(1).replace(idArgMatch, "");
}
}

View file

@ -53,7 +53,6 @@ var defaultSort = "shuffle";
document.getElementById("sort").value = defaultSort;
var lastPos = [0, 0];
var idLastHighlight; // track the last id to prevent highlighting from different hash arg updates
var fixed = false; // Fix hovered items in place, so that clicking on links is possible
@ -679,20 +678,7 @@ function highlightEntryFromUrl(){
var objectsContainer = document.getElementById("objectsList");
var id = 0;
var args = window.location.hash;
if(args){
id = args.split("id=")[1];
if(id){
id = id.split("&")[0];
}
}
if(id === idLastHighlight){
return;
}
idLastHighlight = id;
var id = window.location.hash.substring(1); //Remove hash prefix
var entries = atlas.filter(function(e){
return e.id === id;
@ -759,12 +745,9 @@ function initView(){
updateLines();
var args = window.location.hash;
if(args){
id = args.split("id=")[1];
if(id){
if(args){ // both "/" and just "/#" will be an empty hash string
highlightEntryFromUrl();
}
}
}