From b7c2b3972b3ae59e33123d219b3d2c0dfebc1413 Mon Sep 17 00:00:00 2001 From: Ludovic DANIEL Date: Wed, 6 Sep 2023 17:12:53 +0200 Subject: [PATCH] #8 adding link to dataset on success and handling parameters in language keys --- src/js/fileupload2.js | 9 +++++---- src/js/lang.js | 14 ++++++++++---- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/src/js/fileupload2.js b/src/js/fileupload2.js index f984da2..eee2d81 100644 --- a/src/js/fileupload2.js +++ b/src/js/fileupload2.js @@ -184,8 +184,8 @@ function initTranslation() { function initSpanTxt(htmlId, key) { $('#'+htmlId).text(getLocalizedString(dvLocale, key)); } -function addMessage(type, key) { - $('#messages').html('').append($('
').addClass(type).text(getLocalizedString(dvLocale, key))); +function addMessage(type, key, ...keyArgs) { + $('#messages').html('').append($('
').addClass(type).html(getLocalizedString(dvLocale, key, keyArgs))); } async function populatePageMetadata(data) { var mdFields = data.metadataBlocks.citation.fields; @@ -853,8 +853,9 @@ async function directUploadFinished() { data: fd, processData: false, success: function(body, statusText, jqXHR) { - console.log("All files sent to " + siteUrl + '/dataset.xhtml?persistentId=doi:' + datasetPid + '&version=DRAFT'); - addMessage('success', 'msgUploadComplete'); + var datasetUrl = siteUrl + '/dataset.xhtml?persistentId=' + datasetPid + '&version=DRAFT'; + console.log("All files sent to " + datasetUrl); + addMessage('success', 'msgUploadComplete', datasetUrl); }, error: function(jqXHR, textStatus, errorThrown) { console.log('Failure: ' + jqXHR.status); diff --git a/src/js/lang.js b/src/js/lang.js index c6ea7ba..840d3e8 100644 --- a/src/js/lang.js +++ b/src/js/lang.js @@ -14,7 +14,7 @@ const translations = { msgStartUpload: "Checked files will be uploaded.", msgNoFile: "No files to upload. Check some files, or refresh to start over.", msgUploadCompleteRegistering: "Uploads to S3 complete. Now registering all files with the dataset. This may take some time for large numbers of files.", - msgUploadComplete: "Upload complete, all files in dataset. Close this window and refresh your dataset page to see the uploaded files.", + msgUploadComplete: "Upload complete, all files in dataset. Close this window and refresh your dataset page to see the uploaded files : {0}", }, fr: { title: "Envoi d'un dossier", @@ -30,17 +30,23 @@ const translations = { msgStartUpload: "Les fichiers cochés seront envoyés.", msgNoFile: "Aucun fichier à envoyer. Cochez certains fichiers ou rafraîchissez la page pour recommencer.", msgUploadCompleteRegistering: "Envois vers S3 terminés. Enregistrement de tous les fichiers en cours dans le jeu de données. Cela peut prendre du temps pour un grand nombre de fichiers.", - msgUploadComplete: "Envoi terminé, tous les fichiers sont dans le jeu de données. Fermez cette fenêtre et rafraîchissez la page de votre jeu de données pour voir les fichiers envoyés.", + msgUploadComplete: "Envoi terminé, tous les fichiers sont dans le jeu de données. Fermez cette fenêtre et rafraîchissez la page de votre jeu de données pour voir les fichiers envoyés : {0}", }, }; -export default function getLocalizedString(locale, key) { +export default function getLocalizedString(locale, key, keyArgs) { if(!locale || !translations[locale]) { locale = defaultLocale; console.log('getLocalizedString - locale empty or unknown, using defaultLocale: '+defaultLocale) } if (translations[locale] && translations[locale][key]) { - return translations[locale][key]; + var tr = translations[locale][key]; + if(keyArgs && Array.isArray(keyArgs)) { + for (var i = 0; i < keyArgs.length; i++) { + tr = tr.replaceAll('{'+i+'}',keyArgs[i]); + } + } + return tr; } console.log('getLocalizedString - transalation not found with locale: '+locale+' and key:'+key); return key;