From b362024b12c3a029d15af1425c48be35ed6565e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?aron=20bergur=20j=C3=B3hannsson?= Date: Thu, 2 Mar 2023 22:20:10 +0000 Subject: [PATCH] Static assets for markdown widget --- netbox/project-static/dist/netbox-dark.css | Bin 375170 -> 375167 bytes netbox/project-static/dist/netbox-light.css | Bin 232615 -> 232612 bytes netbox/project-static/dist/netbox-print.css | Bin 726960 -> 726951 bytes netbox/project-static/dist/netbox.js | Bin 380966 -> 381450 bytes netbox/project-static/dist/netbox.js.map | Bin 353776 -> 354185 bytes netbox/project-static/src/buttons/index.ts | 2 + .../src/buttons/markdownPreview.ts | 44 ++++++++++++++++++ netbox/project-static/styles/netbox.scss | 2 +- 8 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 netbox/project-static/src/buttons/markdownPreview.ts diff --git a/netbox/project-static/dist/netbox-dark.css b/netbox/project-static/dist/netbox-dark.css index 51bea53766516ea59105e0dfcc154f50e64742f6..f64c24233e36071880de68c1c96b830103d10f62 100644 GIT binary patch delta 66 zcmZqrEcXACSVIeA3sVbo3(FQ()2(dfnJMY1CDU!Tvbw|Af48zKPv5YHm23L;t*rJ? K(d|IdR%QT&%^LCm delta 74 zcmezWNv!F!SVIeA3sVbo3(FQ()2-|UMX6<(spZqHx3ap!IjsD5K NWMP%pI!WGgH!2OQvt_WLAZ-A9gZ(A+eRWhjuXsF#!OMycQ4u delta 55 xcmZ27lW+MpIyBic-rmQ_H7s>10-gbMALCd%-x{^}Co$nE+)36<`1W diff --git a/netbox/project-static/dist/netbox-print.css b/netbox/project-static/dist/netbox-print.css index faf8a0438934adc386d8fbe499cfd237154929b2..ecff7b50cfc996041bd80b5d9a74a93ff695cead 100644 GIT binary patch delta 195 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 delta 17550 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 delta 52 zcmeA?FZ$uM=mrh@W?%buUwcL%W&&d7?Y{Ob2mP2W-3q4H_p_K!w>`zo&X}_ONI%Qb F>i`1<6M_H$ diff --git a/netbox/project-static/src/buttons/index.ts b/netbox/project-static/src/buttons/index.ts index e677ff599..fe2ccaaef 100644 --- a/netbox/project-static/src/buttons/index.ts +++ b/netbox/project-static/src/buttons/index.ts @@ -4,6 +4,7 @@ import { initMoveButtons } from './moveOptions'; import { initReslug } from './reslug'; import { initSelectAll } from './selectAll'; import { initSelectMultiple } from './selectMultiple'; +import { initMarkdownPreviews } from './markdownPreview'; export function initButtons(): void { for (const func of [ @@ -13,6 +14,7 @@ export function initButtons(): void { initSelectAll, initSelectMultiple, initMoveButtons, + initMarkdownPreviews, ]) { func(); } diff --git a/netbox/project-static/src/buttons/markdownPreview.ts b/netbox/project-static/src/buttons/markdownPreview.ts new file mode 100644 index 000000000..11414bef0 --- /dev/null +++ b/netbox/project-static/src/buttons/markdownPreview.ts @@ -0,0 +1,44 @@ +import { isTruthy } from 'src/util'; + +/** + * interface for htmx configRequest event + */ +declare global { + interface HTMLElementEventMap { + 'htmx:configRequest': CustomEvent<{ + parameters: Record; + headers: Record; + }>; + } +} + +function initMarkdownPreview(markdownWidget: HTMLDivElement) { + const previewButton = markdownWidget.querySelector('button.preview-button') as HTMLButtonElement; + const textarea = markdownWidget.querySelector('textarea') as HTMLTextAreaElement; + const preview = markdownWidget.querySelector('div.preview') as HTMLDivElement; + + /** + * Make sure the textarea has style attribute height + * So that it can be copied over to preview div. + */ + if (!isTruthy(textarea.style.height)) { + const { height } = textarea.getBoundingClientRect(); + textarea.style.height = `${height}px`; + } + + /** + * Add the value of the textarea to the body of the htmx request + * and copy the height of text are to the preview div + */ + previewButton.addEventListener('htmx:configRequest', e => { + e.detail.parameters = { text: textarea.value || '' }; + e.detail.headers['X-CSRFToken'] = window.CSRF_TOKEN; + preview.style.minHeight = textarea.style.height; + }); +} + +export function initMarkdownPreviews(): void { + for (const markdownWidget of document.querySelectorAll('.markdown-widget')) { + initMarkdownPreview(markdownWidget); + } +} diff --git a/netbox/project-static/styles/netbox.scss b/netbox/project-static/styles/netbox.scss index 17d8f9713..7f9e1a4bf 100644 --- a/netbox/project-static/styles/netbox.scss +++ b/netbox/project-static/styles/netbox.scss @@ -999,7 +999,7 @@ div.card-overlay { } /* Markdown widget */ -.markdown-preview { +.markdown-widget { .nav-link { border-bottom: 0;