diff --git a/package.json b/package.json index 6b494a68d..17c7064a7 100644 --- a/package.json +++ b/package.json @@ -42,11 +42,13 @@ "@fullcalendar/vue3": "^6.1.4", "@popperjs/core": "^2.9.2", "@types/leaflet": "^1.9.3", + "@types/dompurify": "^3.0.5", "dropzone": "^5.7.6", "es6-promise": "^4.2.8", "leaflet": "^1.7.1", + "marked": "^12.0.2", "masonry-layout": "^4.2.2", - "mime": "^3.0.0", + "mime": "^4.0.0", "swagger-ui": "^4.15.5", "vis-network": "^9.1.0", "vue": "^3.2.37", diff --git a/src/Bundle/ChillMainBundle/Resources/public/lib/download-report/download-report.js b/src/Bundle/ChillMainBundle/Resources/public/lib/download-report/download-report.js index 041e94c45..e7dce2d48 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/lib/download-report/download-report.js +++ b/src/Bundle/ChillMainBundle/Resources/public/lib/download-report/download-report.js @@ -43,7 +43,14 @@ var download_report = (url, container) => { content = URL.createObjectURL(blob); } - extension = mime.getExtension(type); + const extensions = new Map(); + extensions.set('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', 'xlsx'); + extensions.set('application/vnd.oasis.opendocument.spreadsheet', 'ods'); + extensions.set('application/vnd.ms-excel', 'xlsx'); + extensions.set('text/csv', 'csv'); + extensions.set('text/csv; charset=utf-8', 'csv'); + + extension = extensions.get(type); link.appendChild(document.createTextNode(download_text)); link.classList.add("btn", "btn-action"); @@ -55,7 +62,7 @@ var download_report = (url, container) => { container.innerHTML = ""; container.appendChild(link); }).catch(function(error) { - console.log(error); + console.error(error); var problem_text = document.createTextNode("Problem during download"); diff --git a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/NewsItem.vue b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/NewsItem.vue index bbad4315c..d3b499cac 100644 --- a/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/NewsItem.vue +++ b/src/Bundle/ChillMainBundle/Resources/public/vuejs/HomepageWidget/DashboardWidgets/NewsItem.vue @@ -139,8 +139,8 @@ const postprocess = (html: string): string => { } const convertMarkdownToHtml = (markdown: string): string => { - marked.use({'hooks': {postprocess, preprocess}}); - const rawHtml = marked(markdown); + marked.use({'hooks': {postprocess, preprocess}, 'async': false}); + const rawHtml = marked(markdown) as string; return rawHtml; };