From 6b201aec3f1f67275bdd25d59f981a29389a7111 Mon Sep 17 00:00:00 2001 From: Marco Dickert Date: Mon, 8 Jun 2020 17:03:31 +0200 Subject: [PATCH] Fix editor options Signed-off-by: Marco Dickert --- src/ifm.js | 50 +++++++++++---------- src/templates/modal.file_editoroptions.html | 2 + 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/ifm.js b/src/ifm.js index 04f4ac7..d284552 100644 --- a/src/ifm.js +++ b/src/ifm.js @@ -484,7 +484,7 @@ function IFM(params) { // $(ihatethisfuckingpopoverworkaround.tip).find( '.popover-body' ).empty(); var aceSession = self.editor.getSession(); - var content = self.getNodesFromString( + var content = self.getNodeFromString( Mustache.render( self.templates.file_editoroptions, { @@ -499,28 +499,32 @@ function IFM(params) { } ) ); - content.forEach( function( el ) { - if( el.id == "editor-wordwrap" ) - el.addEventListener( 'change', function( e ) { - self.editor.setOption( 'wrap', e.srcElement.checked ); - }); - else if( el.id == "editor-softtabs" ) - el.addEventListener( 'change', function( e ) { - self.editor.setOption( 'useSoftTabs', e.srcElement.checked ); - }); - else if( el.lastChild && el.lastChild.id == "editor-tabsize" ) - el.lastChild.addEventListener( 'keydown', function( e ) { - if( e.key == 'Enter' ) { - e.preventDefault(); - self.editor.setOption( 'tabSize', e.srcElement.value ); - } - }); - else if( el.id == "editor-syntax" ) - el.addEventListener( 'change', function( e ) { - self.editor.getSession().setMode( e.target.value ); - }); - }); - return $(content); + if( el = content.querySelector("#editor-wordwrap" )) { + el.addEventListener( 'change', function( e ) { + aceSession.setOption( 'wrap', e.srcElement.checked ); + }); + } + if( el = content.querySelector("#editor-softtabs" )) + el.addEventListener( 'change', function( e ) { + aceSession.setOption( 'useSoftTabs', e.srcElement.checked ); + }); + if( el = content.querySelector("#editor-tabsize" )) { + console.log("Found tabSize"); + el.addEventListener( 'keydown', function( e ) { + console.log("Got keydown"); + console.log("Set tabsize to "+e.srcElement.value); + if( e.key == 'Enter' ) { + console.log("Saw ENTER key"); + e.preventDefault(); + aceSession.setOption( 'tabSize', e.srcElement.value ); + } + }); + } + if( el = content.querySelector("#editor-syntax" )) + el.addEventListener( 'change', function( e ) { + aceSession.getSession().setMode( e.target.value ); + }); + return content; } }); diff --git a/src/templates/modal.file_editoroptions.html b/src/templates/modal.file_editoroptions.html index 16547a4..de4ef78 100644 --- a/src/templates/modal.file_editoroptions.html +++ b/src/templates/modal.file_editoroptions.html @@ -1,3 +1,4 @@ +
{{/ace_includes}} +