From a8860841a3218e7c1950e2913489b84d555f279d Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Fri, 14 Mar 2025 11:57:22 +0100 Subject: [PATCH 1/2] Add shift and modifier key handling again --- src/Elastic.Markdown/Assets/main.ts | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/Elastic.Markdown/Assets/main.ts b/src/Elastic.Markdown/Assets/main.ts index e20fb4745..67dd801d8 100644 --- a/src/Elastic.Markdown/Assets/main.ts +++ b/src/Elastic.Markdown/Assets/main.ts @@ -8,6 +8,22 @@ import {initCopyButton} from "./copybutton"; import {initNav} from "./pages-nav"; import {$, $$} from "select-dom" + +import { UAParser } from 'ua-parser-js'; +const { getOS } = new UAParser(); + +document.addEventListener('htmx:beforeRequest', function(event) { + if (event.detail.requestConfig.verb === 'get' && event.detail.requestConfig.triggeringEvent) { + const { ctrlKey, metaKey, shiftKey }: PointerEvent = event.detail.requestConfig.triggeringEvent; + const { name: os } = getOS(); + const modifierKey: boolean = os === 'macOS' ? metaKey : ctrlKey; + if (shiftKey || modifierKey) { + event.preventDefault(); + window.open(event.detail.requestConfig.path, '_blank', 'noopener,noreferrer'); + } + } +}); + document.addEventListener('htmx:load', function() { initTocNav(); initHighlight(); From ee4f5a597872eabd7bb7e9c1befdbfc4fae83aa7 Mon Sep 17 00:00:00 2001 From: Jan Calanog Date: Fri, 14 Mar 2025 12:02:11 +0100 Subject: [PATCH 2/2] Cleanup --- src/Elastic.Markdown/Assets/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Elastic.Markdown/Assets/main.ts b/src/Elastic.Markdown/Assets/main.ts index 67dd801d8..71b5ad68d 100644 --- a/src/Elastic.Markdown/Assets/main.ts +++ b/src/Elastic.Markdown/Assets/main.ts @@ -1,5 +1,5 @@ // @ts-nocheck -import htmx from "htmx.org" +import "htmx.org" import "htmx-ext-preload" import {initTocNav} from "./toc-nav"; import {initHighlight} from "./hljs";