Fix: redeclaration of const and add: tranlation placeholder for Session Expiry Messages (#2158)

Fix: redeclaration of const
This commit is contained in:
Ludy 2024-11-03 08:24:16 +01:00 committed by GitHub
parent a8d0d1a871
commit cf13803fd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 326 additions and 276 deletions

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=يجب ألا يكون الملف فارغًا أو خ
database.failedImportFile=فشل استيراد الملف database.failedImportFile=فشل استيراد الملف
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Файлът не трябва да е нулев ил
database.failedImportFile=Неуспешно импортиране на файл database.failedImportFile=Неуспешно импортиране на файл
session.expired=Вашата сесия е изтекла. Моля, опреснете страницата и опитайте отново. session.expired=Вашата сесия е изтекла. Моля, опреснете страницата и опитайте отново.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Fil må ikke være null eller tom
database.failedImportFile=Kunne ikke importere fil database.failedImportFile=Kunne ikke importere fil
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Datei darf nicht null oder leer sein
database.failedImportFile=Dateiimport fehlgeschlagen database.failedImportFile=Dateiimport fehlgeschlagen
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed to import file database.failedImportFile=Failed to import file
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=El archivo no debe ser nulo o vacío.
database.failedImportFile=Archivo de importación fallido database.failedImportFile=Archivo de importación fallido
session.expired=Tu sesión ha caducado. Actualice la página e inténtelo de nuevo. session.expired=Tu sesión ha caducado. Actualice la página e inténtelo de nuevo.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Votre session a expiré. Veuillez recharger la page et réessayer. session.expired=Votre session a expiré. Veuillez recharger la page et réessayer.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Níor cheart go mbeadh an comhad ar neamhní nó folamh
database.failedImportFile=Theip ar iompórtáil an chomhaid database.failedImportFile=Theip ar iompórtáil an chomhaid
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Berkas tidak boleh null atau kosong
database.failedImportFile=Impor Berkas Gagal database.failedImportFile=Impor Berkas Gagal
session.expired=Sesi Anda telah kedaluwarsa. Silakan muat ulang halaman dan coba lagi. session.expired=Sesi Anda telah kedaluwarsa. Silakan muat ulang halaman dan coba lagi.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Il file non deve essere nullo o vuoto
database.failedImportFile=Importazione file non riuscita database.failedImportFile=Importazione file non riuscita
session.expired=La tua sessione è scaduta. Aggiorna la pagina e riprova. session.expired=La tua sessione è scaduta. Aggiorna la pagina e riprova.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=ファイルは null または空であってはなり
database.failedImportFile=ファイルのインポートに失敗 database.failedImportFile=ファイルのインポートに失敗
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Fil må ikke være tom eller null
database.failedImportFile=Import av fil mislyktes database.failedImportFile=Import av fil mislyktes
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Plik nie może być pusty
database.failedImportFile=Nie udało się zaimportować pliku database.failedImportFile=Nie udało się zaimportować pliku
session.expired=Twoja sesja wygasła. Odśwież stronę i spróbuj ponownie. session.expired=Twoja sesja wygasła. Odśwież stronę i spróbuj ponownie.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=O arquivo não pode estar nulo ou vazio
database.failedImportFile=Falha ao importar arquivo database.failedImportFile=Falha ao importar arquivo
session.expired=Sua sessão expirou. Por gentileza atualize a página e tente novamente. session.expired=Sua sessão expirou. Por gentileza atualize a página e tente novamente.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Fișierul nu trebuie să fie nul sau gol
database.failedImportFile=Importul Fișierului a Eșuat database.failedImportFile=Importul Fișierului a Eșuat
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Filen får inte vara null eller tom
database.failedImportFile=Misslyckades med att importera fil database.failedImportFile=Misslyckades med att importera fil
session.expired=Din session har löpt ut. Uppdatera sidan och försök igen. session.expired=Din session har löpt ut. Uppdatera sidan och försök igen.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=ไฟล์ต้องไม่ว่างเปล
database.failedImportFile=การนำเข้าไฟล์ล้มเหลว database.failedImportFile=การนำเข้าไฟล์ล้มเหลว
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Dosya yok veya boş olmamalıdır
database.failedImportFile=Dosya İçe Aktarılamadı database.failedImportFile=Dosya İçe Aktarılamadı
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=File must not be null or empty
database.failedImportFile=Failed Import File database.failedImportFile=Failed Import File
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=Tệp không được để trống hoặc rỗng
database.failedImportFile=Không thể nhập tệp database.failedImportFile=Không thể nhập tệp
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=文件不能为空
database.failedImportFile=导入文件失败 database.failedImportFile=导入文件失败
session.expired=Your session has expired. Please refresh the page and try again. session.expired=Your session has expired. Please refresh the page and try again.
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -246,6 +246,7 @@ database.fileNullOrEmpty=檔案不得為空或空白
database.failedImportFile=匯入檔案失敗 database.failedImportFile=匯入檔案失敗
session.expired=您的工作階段已過期。請重新整理頁面並再試一次。 session.expired=您的工作階段已過期。請重新整理頁面並再試一次。
session.refreshPage=Refresh Page
############# #############
# HOME-PAGE # # HOME-PAGE #

View File

@ -1,29 +1,33 @@
function showErrorBanner(message, stackTrace) { (function() {
const { pdfPasswordPrompt, multipleInputsForSingleRequest, disableMultipleFiles, remoteCall, sessionExpired, refreshPage, error } = window.stirlingPDF;
function showErrorBanner(message, stackTrace) {
const errorContainer = document.getElementById("errorContainer"); const errorContainer = document.getElementById("errorContainer");
errorContainer.style.display = "block"; // Display the banner errorContainer.style.display = "block"; // Display the banner
document.querySelector("#errorContainer .alert-heading").textContent = "Error"; errorContainer.querySelector(".alert-heading").textContent = error;
document.querySelector("#errorContainer p").textContent = message; errorContainer.querySelector("p").textContent = message;
document.querySelector("#traceContent").textContent = stackTrace; document.querySelector("#traceContent").textContent = stackTrace;
} }
function showSessionExpiredPrompt() { function showSessionExpiredPrompt() {
const errorContainer = document.getElementById("errorContainer"); const errorContainer = document.getElementById("errorContainer");
errorContainer.style.display = "block"; errorContainer.style.display = "block";
document.querySelector("#errorContainer .alert-heading").textContent = sessionExpired; errorContainer.querySelector(".alert-heading").textContent = sessionExpired;
document.querySelector("#errorContainer p").textContent = sessionExpired; errorContainer.querySelector("p").textContent = sessionExpired;
document.querySelector("#traceContent").textContent = ""; document.querySelector("#traceContent").textContent = "";
// Optional: Add a refresh button // Optional: Add a refresh button
const refreshButton = document.createElement("button"); const refreshButton = document.createElement("button");
refreshButton.textContent = "Refresh Page"; refreshButton.textContent = refreshPage;
refreshButton.className = "btn btn-primary mt-3"; refreshButton.className = "btn btn-primary mt-3";
refreshButton.onclick = () => location.reload(); refreshButton.onclick = () => location.reload();
errorContainer.appendChild(refreshButton); errorContainer.appendChild(refreshButton);
} }
let firstErrorOccurred = false; let firstErrorOccurred = false;
$(document).ready(function () { $(document).ready(function () {
$("form").submit(async function (event) { $("form").submit(async function (event) {
event.preventDefault(); event.preventDefault();
firstErrorOccurred = false; firstErrorOccurred = false;
@ -87,9 +91,9 @@ $(document).ready(function () {
console.error(error); console.error(error);
} }
}); });
}); });
async function handleSingleDownload(url, formData, isMulti = false, isZip = false) { async function handleSingleDownload(url, formData, isMulti = false, isZip = false) {
try { try {
const response = await fetch(url, { method: "POST", body: formData }); const response = await fetch(url, { method: "POST", body: formData });
const contentType = response.headers.get("content-type"); const contentType = response.headers.get("content-type");
@ -120,9 +124,9 @@ async function handleSingleDownload(url, formData, isMulti = false, isZip = fals
console.error("Error in handleSingleDownload:", error); console.error("Error in handleSingleDownload:", error);
throw error; throw error;
} }
} }
function getFilenameFromContentDisposition(contentDisposition) { function getFilenameFromContentDisposition(contentDisposition) {
let filename; let filename;
if (contentDisposition && contentDisposition.indexOf("attachment") !== -1) { if (contentDisposition && contentDisposition.indexOf("attachment") !== -1) {
@ -133,9 +137,9 @@ function getFilenameFromContentDisposition(contentDisposition) {
} }
return filename; return filename;
} }
async function handleJsonResponse(response) { async function handleJsonResponse(response) {
const json = await response.json(); const json = await response.json();
const errorMessage = JSON.stringify(json, null, 2); const errorMessage = JSON.stringify(json, null, 2);
if ( if (
@ -150,9 +154,9 @@ async function handleJsonResponse(response) {
} else { } else {
showErrorBanner(json.error + ":" + json.message, json.trace); showErrorBanner(json.error + ":" + json.message, json.trace);
} }
} }
async function handleResponse(blob, filename, considerViewOptions = false, isZip = false) { async function handleResponse(blob, filename, considerViewOptions = false, isZip = false) {
if (!blob) return; if (!blob) return;
const downloadOption = localStorage.getItem("downloadOption"); const downloadOption = localStorage.getItem("downloadOption");
if (considerViewOptions) { if (considerViewOptions) {
@ -170,16 +174,16 @@ async function handleResponse(blob, filename, considerViewOptions = false, isZip
downloadFile(blob, filename); downloadFile(blob, filename);
} }
return { filename, blob }; return { filename, blob };
} }
function handleDownloadError(error) { function handleDownloadError(error) {
const errorMessage = error.message; const errorMessage = error.message;
showErrorBanner(errorMessage); showErrorBanner(errorMessage);
} }
let urls = []; // An array to hold all the URLs let urls = []; // An array to hold all the URLs
function downloadFile(blob, filename) { function downloadFile(blob, filename) {
if (!(blob instanceof Blob)) { if (!(blob instanceof Blob)) {
console.error("Invalid blob passed to downloadFile function"); console.error("Invalid blob passed to downloadFile function");
return; return;
@ -192,9 +196,9 @@ function downloadFile(blob, filename) {
urls.push(url); // Store the URL so it doesn't get garbage collected too soon urls.push(url); // Store the URL so it doesn't get garbage collected too soon
return { filename, blob }; return { filename, blob };
} }
async function submitMultiPdfForm(url, files) { async function submitMultiPdfForm(url, files) {
const zipThreshold = parseInt(localStorage.getItem("zipThreshold"), 10) || 4; const zipThreshold = parseInt(localStorage.getItem("zipThreshold"), 10) || 4;
const zipFiles = files.length > zipThreshold; const zipFiles = files.length > zipThreshold;
let jszip = null; let jszip = null;
@ -274,15 +278,17 @@ async function submitMultiPdfForm(url, files) {
} }
progressBar.css("width", "100%"); progressBar.css("width", "100%");
progressBar.attr("aria-valuenow", Array.from(files).length); progressBar.attr("aria-valuenow", Array.from(files).length);
} }
function updateProgressBar(progressBar, files) { function updateProgressBar(progressBar, files) {
let progress = (progressBar.attr("aria-valuenow") / files.length) * 100 + 100 / files.length; let progress = (progressBar.attr("aria-valuenow") / files.length) * 100 + 100 / files.length;
progressBar.css("width", progress + "%"); progressBar.css("width", progress + "%");
progressBar.attr("aria-valuenow", parseInt(progressBar.attr("aria-valuenow")) + 1); progressBar.attr("aria-valuenow", parseInt(progressBar.attr("aria-valuenow")) + 1);
} }
window.addEventListener("unload", () => { window.addEventListener("unload", () => {
for (const url of urls) { for (const url of urls) {
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
} }
}); });
})();

View File

@ -21,6 +21,10 @@
<meta name="msapplication-TileColor" content="#00aba9"> <meta name="msapplication-TileColor" content="#00aba9">
<meta name="theme-color" content="#ffffff"> <meta name="theme-color" content="#ffffff">
<script>
window.stirlingPDF = window.stirlingPDF || {};
</script>
<!-- jQuery --> <!-- jQuery -->
<script th:src="@{'/js/thirdParty/jquery.min.js'}"></script> <script th:src="@{'/js/thirdParty/jquery.min.js'}"></script>
<script th:src="@{'/js/thirdParty/jquery.validate.min.js'}"></script> <script th:src="@{'/js/thirdParty/jquery.validate.min.js'}"></script>
@ -187,11 +191,15 @@
<th:block th:fragment="fileSelector(name, multipleInputsForSingleRequest)" th:with="accept=${accept} ?: '*/*', inputText=${inputText} ?: #{pdfPrompt}, remoteCall=${remoteCall} ?: true, disableMultipleFiles=${disableMultipleFiles} ?: false, notRequired=${notRequired} ?: false"> <th:block th:fragment="fileSelector(name, multipleInputsForSingleRequest)" th:with="accept=${accept} ?: '*/*', inputText=${inputText} ?: #{pdfPrompt}, remoteCall=${remoteCall} ?: true, disableMultipleFiles=${disableMultipleFiles} ?: false, notRequired=${notRequired} ?: false">
<script th:inline="javascript"> <script th:inline="javascript">
const pdfPasswordPrompt = /*[[#{error.pdfPassword}]]*/ ''; (function() {
const multipleInputsForSingleRequest = /*[[${multipleInputsForSingleRequest}]]*/ false; window.stirlingPDF.pdfPasswordPrompt = /*[[#{error.pdfPassword}]]*/ '';
const disableMultipleFiles = /*[[${disableMultipleFiles}]]*/ false; window.stirlingPDF.multipleInputsForSingleRequest = /*[[${multipleInputsForSingleRequest}]]*/ false;
const remoteCall = /*[[${remoteCall}]]*/ true; window.stirlingPDF.disableMultipleFiles = /*[[${disableMultipleFiles}]]*/ false;
const sessionExpired = /*[[#{session.expired}]]*/ ''; window.stirlingPDF.remoteCall = /*[[${remoteCall}]]*/ true;
window.stirlingPDF.sessionExpired = /*[[#{session.expired}]]*/ '';
window.stirlingPDF.refreshPage = /*[[#{session.refreshPage}]]*/ 'Refresh Page';
window.stirlingPDF.error = /*[[#{error}]]*/ "Error";
})();
</script> </script>
<script th:src="@{'/js/downloader.js'}"></script> <script th:src="@{'/js/downloader.js'}"></script>