Restore title-url functionality on group titles
This commit is contained in:
parent
6af666b58c
commit
79779eb721
3 changed files with 21 additions and 2 deletions
|
@ -1,6 +1,6 @@
|
|||
import { setupPopovers } from './popover.js';
|
||||
import { setupMasonries } from './masonry.js';
|
||||
import { throttledDebounce, isElementVisible } from './utils.js';
|
||||
import { throttledDebounce, isElementVisible, openURLInNewTab } from './utils.js';
|
||||
|
||||
async function fetchPageContent(pageData) {
|
||||
// TODO: handle non 200 status codes/time outs
|
||||
|
@ -255,8 +255,23 @@ function setupGroups() {
|
|||
|
||||
for (let t = 0; t < titles.length; t++) {
|
||||
const title = titles[t];
|
||||
|
||||
if (title.dataset.titleUrl !== undefined) {
|
||||
title.addEventListener("auxclick", (event) => {
|
||||
if (event.button != 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
openURLInNewTab(title.dataset.titleUrl);
|
||||
});
|
||||
}
|
||||
|
||||
title.addEventListener("click", () => {
|
||||
if (t == current) {
|
||||
if (title.dataset.titleUrl !== undefined) {
|
||||
openURLInNewTab(title.dataset.titleUrl);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,3 +27,7 @@ export function isElementVisible(element) {
|
|||
export function clamp(value, min, max) {
|
||||
return Math.min(Math.max(value, min), max);
|
||||
}
|
||||
|
||||
export function openURLInNewTab(url) {
|
||||
window.open(url, '_blank', 'noopener,noreferrer')?.focus();
|
||||
}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<div class="widget-group-header">
|
||||
<div class="widget-header gap-20">
|
||||
{{ range $i, $widget := .Widgets }}
|
||||
<button class="widget-group-title{{ if eq $i 0 }} widget-group-title-current{{ end }}">{{ $widget.Title }}</button>
|
||||
<button class="widget-group-title{{ if eq $i 0 }} widget-group-title-current{{ end }}"{{ if ne "" .TitleURL }} data-title-url="{{ .TitleURL }}"{{ end }}>{{ $widget.Title }}</button>
|
||||
{{ end }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue