From 709cb8adfd081d760e415f832649b7dff721b5da Mon Sep 17 00:00:00 2001
From: Ellert <>
Date: Fri, 7 Apr 2017 17:41:40 +0000
Subject: [PATCH] 98_DOIFtools.pm: fixed browser issues for Chrome(event
monitor dialog) and IE(lookup window and event selection in event monitor)
git-svn-id: https://svn.fhem.de/fhem/trunk@13921 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/CHANGED | 1 +
fhem/FHEM/98_DOIFtools.pm | 17 ++++++++++++-----
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/fhem/CHANGED b/fhem/CHANGED
index d5d94fd07..e3fe76370 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
+ - bugfix: 98_DOIFtools: fixed browser issues for Chrome and IE
- feature: 98_monitoring: whitelist attribute added
- feature: 93_DbRep: support of primary key (set in table history/current)
- update: 88_HMCCU: Optimized reading update performance
diff --git a/fhem/FHEM/98_DOIFtools.pm b/fhem/FHEM/98_DOIFtools.pm
index 35090cd7f..c74cf52d7 100644
--- a/fhem/FHEM/98_DOIFtools.pm
+++ b/fhem/FHEM/98_DOIFtools.pm
@@ -57,11 +57,13 @@ function doiftoolsCopyToClipboard() {
var txtarea = document.getElementById("console");
var start = txtarea.selectionStart;
var finish = txtarea.selectionEnd;
- var txt = txtarea.value.substring(start, finish);
+ var txt = $("textarea#console").text().substring(start, finish);
var hlp = lang ? "Bitte, genau eine komplette Event-Zeile markieren." : "Please highlight exactly one complete event line";
+ $('#console').attr('disabled', 'disabled');
+ $('#console').removeAttr('disabled');
if(!txt)
return FW_okDialog(hlp);
- var redi=/^....-..-..\s..:..:..(\....)?\s([^\s]+)\s([^\s]+)\s([^\s]+:\s)?(.*)([\r\n]*)?$/;
+ var redi=/^....-..-..\s..:..:..(\....)?\s([^\s]+)\s([^\s]+)\s([^\s]+:\s)?(.*)([\n]*)?$/;
var retdi = txt.match(redi);
if(!retdi)
return FW_okDialog(hlp);
@@ -220,6 +222,9 @@ function doiftoolsOptChanged() {
inpt.setSelectionRange(7,17+N);
}
}
+function doiftoolsReplaceBR() {
+ $("textarea#console").html($("textarea#console").html().replace(/
/g,""));
+}
function delbutton() {
if ($('#doiftoolstype').attr('embefore') == 1) {
@@ -238,6 +243,8 @@ function delbutton() {
//execute
$( window ).on( "load", delbutton );
$('#console').on('select', doiftoolsCopyToClipboard);
+ $('#console').on('mouseover',doiftoolsReplaceBR);
+ $('#console').on('mousedown',doiftoolsReplaceBR);
EOF
my $DOIFtoolsJSfuncStart = <<'EOF';
@@ -254,20 +261,20 @@ function doiftoolsAddLookUp () {
var devList = JSON.parse(data);
var dev = devList.Results[0];
var row = 0;
- for (item in dev.Internals) {
+ for (var item in dev.Internals) {
if (item == "DEF") {dev.Internals[item] = "
"+dev.Internals[item]+"
"}
var cla = ((row++&1)?"odd":"even");
txt += ""+item+" | "+dev.Internals[item].replace(/\n/g," ")+" |
\n";
}
txt += "Readings
";
row = 0;
- for (item in dev.Readings) {
+ for (var item in dev.Readings) {
var cla = ((row++&1)?"odd":"even");
txt += ""+item+" | "+dev.Readings[item].Value+" | "+dev.Readings[item].Time+" |
\n";
}
txt += "
Attributes
";
row = 0;
- for (item in dev.Attributes) {
+ for (var item in dev.Attributes) {
if (item.match(/(userReadings|wait|setList)/) ) {dev.Attributes[item] = ""+dev.Attributes[item]+"
"}
var cla = ((row++&1)?"odd":"even");
txt += ""+item+" | "+dev.Attributes[item]+" |
\n";