diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 206266f30..d8ff2daff 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -2405,11 +2405,8 @@ FW_makeEdit($$$) # Toggle Edit-Window visibility script. my $psc = AttrVal("global", "perlSyntaxCheck", ($featurelevel>5.7) ? 1 : 0); - my $pgm = "var old = \$('#edit').css('display');". - "\$('#edit').css('display', old=='none' ? 'block' : 'none');". - "\$('#disp').css('display', old=='none' ? 'none' : 'block');"; FW_pO ""; - FW_pO "$n"; + FW_pO "$n"; FW_pO ""; $val =~ s,\\\n,\n,g; diff --git a/fhem/www/pgm2/fhemweb.js b/fhem/www/pgm2/fhemweb.js index 4b3d2056b..5ce6bb15c 100644 --- a/fhem/www/pgm2/fhemweb.js +++ b/fhem/www/pgm2/fhemweb.js @@ -473,9 +473,24 @@ FW_replaceLink(el) function FW_inlineModify() // Do not generate a new HTML page upon pressing modify { + var cm; + + $('#DEFa').click(function(){ + var old = $('#edit').css('display'); + $('#edit').css('display', old=='none' ? 'block' : 'none'); + $('#disp').css('display', old=='none' ? 'none' : 'block'); + if( typeof AddCodeMirror == 'function' ) { + var s=document.getElementById("edit").getElementsByTagName("textarea"); + if(!s[0].editor) { + s[0].editor=true; AddCodeMirror(s[0], function(pcm) {cm = pcm;}); + } + } + }); + $("div input.psc[type=submit]").click(function(e){ e.preventDefault(); - var newDef = $(this).closest("form").find("textarea").val(); + var newDef = typeof cm !== 'undefined' ? cm.getValue() + : $(this).closest("form").find("textarea").val(); var cmd = $(this).attr("name")+"="+$(this).attr("value")+" "+newDef; if( newDef == undefined ) {