client: Fix highlighting for JavaScript

This commit is contained in:
Elian Doran 2024-10-27 11:21:08 +02:00
parent c4bd4eb440
commit 3a609d54ab
No known key found for this signature in database
2 changed files with 9 additions and 4 deletions

View File

@ -189,17 +189,22 @@ function getHighlightJsNameForMime(mimeType) {
mimeToHighlightJsMapping = {}; mimeToHighlightJsMapping = {};
for (const mimeType of mimeTypes) { for (const mimeType of mimeTypes) {
// The mime stored by CKEditor is text-x-csrc instead of text/x-csrc so we keep this format for faster lookup. // The mime stored by CKEditor is text-x-csrc instead of text/x-csrc so we keep this format for faster lookup.
const normalizedMime = mimeType.mime.replace(/\//g, "-"); const normalizedMime = normalizeMimeTypeForCKEditor(mimeType.mime);
mimeToHighlightJsMapping[normalizedMime] = mimeType.highlightJs; mimeToHighlightJsMapping[normalizedMime] = mimeType.highlightJs;
} }
} }
console.log("Mappings ", mimeToHighlightJsMapping);
return mimeToHighlightJsMapping[mimeType]; return mimeToHighlightJsMapping[mimeType];
} }
function normalizeMimeTypeForCKEditor(mimeType) {
return mimeType.toLowerCase()
.replace(/[\W_]+/g,"-");
}
export default { export default {
getMimeTypes, getMimeTypes,
loadMimeTypes, loadMimeTypes,
getHighlightJsNameForMime getHighlightJsNameForMime,
normalizeMimeTypeForCKEditor
} }

View File

@ -112,7 +112,7 @@ export default class EditableTextTypeWidget extends AbstractTextTypeWidget {
(mimeTypesService.getMimeTypes()) (mimeTypesService.getMimeTypes())
.filter(mt => mt.enabled) .filter(mt => mt.enabled)
.map(mt => ({ .map(mt => ({
language: mt.mime.toLowerCase().replace(/[\W_]+/g,"-"), language: mimeTypesService.normalizeMimeTypeForCKEditor(mt.mime),
label: mt.title label: mt.title
})); }));