From cc4988aa11828421f73515f13418ca292815fc4c Mon Sep 17 00:00:00 2001 From: risiko79 <> Date: Sat, 6 Feb 2016 17:30:56 +0000 Subject: [PATCH] 98_weekprofile: widget: transfer day settings to other days git-svn-id: https://svn.fhem.de/fhem/trunk@10743 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/www/pgm2/fhemweb_weekprofile.js | 42 ++++++++++++++++++++++++---- 2 files changed, 38 insertions(+), 5 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 283ca67b2..3b6028d5d 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. + - feature: 98_weekprofile: widget: transfer day settings to other days - bugfix: FB_CALLMONITOR: corrected internal_connection mapping. especially FON1-FON3. Please check your configuration. - change: 98_weekprofile: return sorted lists diff --git a/fhem/www/pgm2/fhemweb_weekprofile.js b/fhem/www/pgm2/fhemweb_weekprofile.js index f8d44646c..087ba6077 100644 --- a/fhem/www/pgm2/fhemweb_weekprofile.js +++ b/fhem/www/pgm2/fhemweb_weekprofile.js @@ -70,7 +70,7 @@ function FW_weekprofileInputDialog(title,inp,def,parent,callback) }); } -function FW_weekprofileMultiSelDialog(title, elementNames, elementLabels, selected,parent,callback) +function FW_weekprofileMultiSelDialog(title, elementNames, elementLabels, selected,freeInp,parent,callback) { var table = ""; if (elementNames) { @@ -94,7 +94,8 @@ function FW_weekprofileMultiSelDialog(title, elementNames, elementLabels, select var div = $("
"); $(div).append(title); $(div).append(table); - $(div).append(''); + if (freeInp && freeInp == 1) + $(div).append(''); $("body").append(div); $(div).dialog({ @@ -210,7 +211,7 @@ function FW_weekprofileSendToDev(devName,bnt) var selected = []; if (widget.MASTERDEV) selected.push(widget.MASTERDEV); - FW_weekprofileMultiSelDialog("Device(s):",devicesNames,devicesAlias,selected,bnt, + FW_weekprofileMultiSelDialog("Device(s):",devicesNames,devicesAlias,selected,1,bnt, function(sndDevs) { if (!sndDevs || sndDevs.length==0) return; @@ -482,16 +483,47 @@ function FW_weekprofileEditDelInterval(tr) FW_weekprofileEditRowStyle(parent) } +function FW_weekprofileTransDay(devName,day,bnt) +{ + var widget = $('div[informid="'+devName+'"]').get(0) + var srcDay = $(widget.CONTENT).find("table[id*=\"weekprofile."+widget.DEVICE+"."+shortDays[day]+"\"]"); + + var dayNames = []; + var dayAlias = []; + for (var k=0; k < shortDays.length; k++) { + if (k != day) { + dayNames.push(shortDays[k]); + dayAlias.push(widget.WEEKDAYS[k]); + } + } + var selected = []; + FW_weekprofileMultiSelDialog("Days(s):",dayNames,dayAlias,selected,0,bnt, + function(selDays) { + if (!selDays || selDays.length==0) + return; + for (var k=0; k < selDays.length; k++) { + var destDay = $(widget.CONTENT).find("table[id*=\"weekprofile."+widget.DEVICE+"."+selDays[k]+"\"]"); + destDay.empty(); + destDay.append(srcDay.clone().contents()); + } + }); +} + function FW_weekprofileEditDay(widget,day) { var div = $("
").get(0); - $(div).append("
"+widget.WEEKDAYS[day]+"
"); + var html= ''; + html += "
"; + html += ""+widget.WEEKDAYS[day]+""; + html += "-->"; + html += "
"; + $(div).append(html); var table = $("
").get(0); $(table).attr('id',"weekprofile."+widget.DEVICE+"."+shortDays[day]); $(table).attr('class',"block wide weekprofile"); - var html; + html = ''; var times = widget.PROFILE[shortDays[day]]['time']; var temps = widget.PROFILE[shortDays[day]]['temp'];