Files
codeocean/app/assets/javascripts/editor.js
2024-03-25 10:00:04 +01:00

32 lines
1.1 KiB
JavaScript

$(document).on('turbolinks:load', function(event) {
//Merge all editor components.
$.extend(
CodeOceanEditor,
CodeOceanEditorAJAX,
CodeOceanEditorEvaluation,
CodeOceanEditorFlowr,
CodeOceanEditorSubmissions,
CodeOceanEditorTurtle,
CodeOceanEditorWebsocket,
CodeOceanEditorPrompt,
CodeOceanEditorRequestForComments
);
if ($('#editor').isPresent() && CodeOceanEditor && event.originalEvent.data.url.includes("/implement")) {
// This call will (amon other things) initializeEditors and load the content except for the last line
// It must not be called during page navigation. Otherwise, content will be duplicated!
// Search for insertFullLines and Turbolinks reload / cache control
CodeOceanEditor.initializeEverything();
}
function handleThemeChangeEvent(event) {
if (CodeOceanEditor) {
CodeOceanEditor.THEME = event.detail.currentTheme === 'dark' ? 'ace/theme/tomorrow_night' : 'ace/theme/tomorrow';
document.dispatchEvent(new Event('theme:change:ace'));
}
}
$(document).on('theme:change', handleThemeChangeEvent.bind(this));
});