From e054fe8edea2ecfd8fd08b29e067f937cd37c6cc Mon Sep 17 00:00:00 2001 From: M Fahru Date: Mon, 19 May 2025 10:52:31 -0700 Subject: [PATCH] Merge pull request #22908 from overleaf/mf-fix-disable-element-bs5-anchor-tag [web] Fix `disableElement` won't properly disable the element if using bs5 and applied on anchor tag GitOrigin-RevId: 49ce8514be3e44e5e3a45f41751c94c77f34399b --- .../frontend/js/features/utils/disableElement.js | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/services/web/frontend/js/features/utils/disableElement.js b/services/web/frontend/js/features/utils/disableElement.js index a60f1e9b98..7d423a26a3 100644 --- a/services/web/frontend/js/features/utils/disableElement.js +++ b/services/web/frontend/js/features/utils/disableElement.js @@ -1,9 +1,19 @@ +import { isBootstrap5 } from './bootstrap-5' + export function disableElement(el) { - el.setAttribute('disabled', '') + if (isBootstrap5() && el.tagName.toLowerCase() === 'a') { + el.classList.add('disabled') + } else { + el.disabled = true + } el.setAttribute('aria-disabled', 'true') } export function enableElement(el) { - el.removeAttribute('disabled') + if (isBootstrap5() && el.tagName.toLowerCase() === 'a') { + el.classList.remove('disabled') + } else { + el.disabled = false + } el.removeAttribute('aria-disabled') }