From bd264e6aedc9031aaac0d77bbcc94dbd40215384 Mon Sep 17 00:00:00 2001 From: Giteabot Date: Tue, 12 Dec 2023 21:14:04 +0800 Subject: [PATCH] Don't show unnecessary citation JS error on UI (#28433) (#28437) Backport #28433 by wxiaoguang Fix #28226 Co-authored-by: wxiaoguang (cherry picked from commit 5e2bae7716bf1991ff5ac95788cf3acb2ae59f71) --- web_src/js/features/citation.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/web_src/js/features/citation.js b/web_src/js/features/citation.js index 65666864f6..61f378f0f2 100644 --- a/web_src/js/features/citation.js +++ b/web_src/js/features/citation.js @@ -2,7 +2,7 @@ import $ from 'jquery'; const {pageData} = window.config; -const initInputCitationValue = async ($citationCopyApa, $citationCopyBibtex) => { +async function initInputCitationValue($citationCopyApa, $citationCopyBibtex) { const [{Cite, plugins}] = await Promise.all([ import(/* webpackChunkName: "citation-js-core" */'@citation-js/core'), import(/* webpackChunkName: "citation-js-formats" */'@citation-js/plugin-software-formats'), @@ -19,9 +19,9 @@ const initInputCitationValue = async ($citationCopyApa, $citationCopyBibtex) => const bibtexOutput = citationFormatter.format('bibtex', {lang}); $citationCopyBibtex.attr('data-text', bibtexOutput); $citationCopyApa.attr('data-text', apaOutput); -}; +} -export function initCitationFileCopyContent() { +export async function initCitationFileCopyContent() { const defaultCitationFormat = 'apa'; // apa or bibtex if (!pageData.citationFileContent) return; @@ -39,7 +39,14 @@ export function initCitationFileCopyContent() { $citationCopyBibtex.toggleClass('primary', isBibtex); $citationCopyApa.toggleClass('primary', !isBibtex); }; - initInputCitationValue($citationCopyApa, $citationCopyBibtex).then(updateUi); + + try { + await initInputCitationValue($citationCopyApa, $citationCopyBibtex); + } catch (e) { + console.error(`initCitationFileCopyContent error: ${e}`, e); + return; + } + updateUi(); $citationCopyApa.on('click', () => { localStorage.setItem('citation-copy-format', 'apa');