From f2ffa13962c67bcca6c41bfa179071bbad98fc8e Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Wed, 27 Apr 2016 12:07:21 +0000 Subject: [PATCH] fhemweb.js: fixing inline attribtue changes (Forum #52379) git-svn-id: https://svn.fhem.de/fhem/trunk@11328 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/01_FHEMWEB.pm | 2 +- fhem/www/pgm2/fhemweb.js | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/fhem/FHEM/01_FHEMWEB.pm b/fhem/FHEM/01_FHEMWEB.pm index 4d3a28e4d..f2fc0b754 100755 --- a/fhem/FHEM/01_FHEMWEB.pm +++ b/fhem/FHEM/01_FHEMWEB.pm @@ -2512,7 +2512,7 @@ FW_Notify($$) if($dev->{CHANGED}) { $dn = $1 if($dev->{CHANGED}->[0] =~ m/^MODIFIED (.*)$/); - if($dev->{CHANGED}->[0] =~ m/^ATTR ([^ ]+) ([^ ]+) (.*)$/) { + if($dev->{CHANGED}->[0] =~ m/^ATTR ([^ ]+) ([^ ]+) (.*)$/s) { $dn = $1; my @a = ("$2: $3"); $events = \@a; diff --git a/fhem/www/pgm2/fhemweb.js b/fhem/www/pgm2/fhemweb.js index 43aa6e2df..76d600f09 100644 --- a/fhem/www/pgm2/fhemweb.js +++ b/fhem/www/pgm2/fhemweb.js @@ -500,10 +500,10 @@ FW_inlineModify() // Do not generate a new HTML page upon pressing modify var newDef = typeof cm !== 'undefined' ? cm.getValue() : $(this).closest("form").find("textarea").val(); var cmd = $(this).attr("name")+"="+$(this).attr("value")+" "+newDef; - var noDef; + var isDef = true; if( newDef == undefined ) { - noDef = true; + isDef = false; var div = $(this).closest("div.makeSelect"); var devName = $(div).attr("dev"), cmd = $(div).attr("cmd"); @@ -527,9 +527,9 @@ FW_inlineModify() // Do not generate a new HTML page upon pressing modify newDef = newDef.replace(/&/g, '&') // Same as in 01_FHEMWEB .replace(//g, '>'); - if(newDef.indexOf("\n") >= 0) - newDef = '
'+newDef+'
'; - if(!noDef) { + if(isDef) { + if(newDef.indexOf("\n") >= 0) + newDef = '
'+newDef+'
'; $("div#disp").html(newDef).css("display", ""); $("div#edit").css("display", "none"); } @@ -580,9 +580,11 @@ FW_doUpdate() } else { $("[informId='"+d[0]+"']").each(function(){ if(this.setValueFn) { // change the select/etc value - this.setValueFn(d[1]); + this.setValueFn(d[1].replace(/\n/g, '\u2424')); } else { + if(d[2].match(/\n/)) + d[2] = '
'+d[2]+'
'; $(this).html(d[2]); // Readings-Value if(d[0].match(/-ts$/)) // timestamps $(this).addClass('changed'); @@ -823,7 +825,7 @@ FW_createTextField(elName, devName, vArr, currVal, set, params, cmd) $("#td_longText").val(txt); var cm; - if( typeof AddCodeMirror == 'function' && !$("#td_longText").get(0).editor) { + if(typeof AddCodeMirror == 'function' && !$("#td_longText").get(0).editor) { $("#td_longText").get(0).editor = true; AddCodeMirror($("#td_longText").get(0), function(pcm) {cm = pcm;}); }