From be8a04c0235b129e5fd29cb01208628f1a8b8649 Mon Sep 17 00:00:00 2001 From: nasseeder1 Date: Thu, 13 Feb 2020 17:45:33 +0000 Subject: [PATCH] 57_SSCal: contrib 1.10.0 git-svn-id: https://svn.fhem.de/fhem/trunk@21192 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/contrib/DS_Starter/57_SSCal.pm | 80 ++++++++++++++++++++--------- 1 file changed, 55 insertions(+), 25 deletions(-) diff --git a/fhem/contrib/DS_Starter/57_SSCal.pm b/fhem/contrib/DS_Starter/57_SSCal.pm index 92984ccd5..5237cef8c 100644 --- a/fhem/contrib/DS_Starter/57_SSCal.pm +++ b/fhem/contrib/DS_Starter/57_SSCal.pm @@ -3255,6 +3255,7 @@ sub SSCal_calAsHtml($;$) { my ($symbol,$begin,$begind,$begint,$end,$endd,$endt,$summary,$location,$status,$desc,$gps,$gpsa,$gpsc); my ($di,$cal,$completion,$tz,$dleft,$dleftlong,$weekday,$edleft,$id,$isallday); + my ($colSymbolAlign,$colBeginAlign,$colEndAlign,$colDayAlign,$colDLongAlign,$colWeekdayAlign,$colTzAlign,$colSummaryAlign,$colDescAlign,$colStatusAlign,$colCompAlign,$colLocAlign,$colMapAlign,$colCalAlign,$colIdAlign); # alle Readings in Array einlesen my @allrds = keys%{$defs{$name}{READINGS}}; @@ -3287,8 +3288,8 @@ sub SSCal_calAsHtml($;$) { Log3($name, 1, "$name - Syntax error in attribute \"tableSpecs\" near \"cellStyle\": $@") if($@); $headalign = "cal".$headalign; - # Tabelle - my $out = ""; + # Tabelle erstellen + my $out = ""; $out .= ""; $out .= ""; $out .= ""; @@ -3296,8 +3297,15 @@ sub SSCal_calAsHtml($;$) { $out .= ""; $out .= ""; + # Wenn Table class=block alleine steht, zieht es bei manchen Styles die Ausgabe auf 100% Seitenbreite + # lässt sich durch einbetten in eine zusätzliche Table roomoverview eindämmen + $out .= ""; + $out .= ""; + $out .= ""; + $out .= ""; $out .= "
"; + $out .= ""; + # Tabellenheader if(!$nohead) { $out .= ""; $out .= "" if($seen{Symbol}); @@ -3343,6 +3351,7 @@ sub SSCal_calAsHtml($;$) { ($begind,$begint,$endd,$endt,$gps) = ("","","","",""); + # Readings auslesen $summary = ReadingsVal($name, $bnr."_01_Summary", ""); $desc = ReadingsVal($name, $bnr."_03_Description", ""); $begin = ReadingsVal($name, $bnr."_05_Begin", ""); @@ -3446,37 +3455,58 @@ sub SSCal_calAsHtml($;$) { Log3($name, 1, "$name - Syntax error in attribute \"tableSpecs\" near \"columnSymbolIcon\": $@") if($@); # Gestaltung Spaltentext - my $colalign = "center"; # Ausrichtung der Spalte, default: center - eval { $colalign = SSCal_evalTableSpecs ($hash,$colalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnAlign},"",\@allrds,"string"); }; + my $coldefalign = "center"; # Ausrichtung der Spalte, default: center + eval { + $coldefalign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnAlign} ,"",\@allrds,"string"); + $colSymbolAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnSymbolAlign} ,"",\@allrds,"string"); + $colBeginAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnBeginAlign} ,"",\@allrds,"string"); + $colEndAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnEndAlign} ,"",\@allrds,"string"); + $colDayAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnDaysLeftAlign} ,"",\@allrds,"string"); + $colDLongAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnDaysLeftLongAlign} ,"",\@allrds,"string"); + $colWeekdayAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnWeekdayAlign} ,"",\@allrds,"string"); + $colTzAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnTimezoneAlign} ,"",\@allrds,"string"); + $colSummaryAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnSummaryAlign} ,"",\@allrds,"string"); + $colDescAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnDescriptionAlign} ,"",\@allrds,"string"); + $colStatusAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnStatusAlign} ,"",\@allrds,"string"); + $colCompAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnCompletionAlign} ,"",\@allrds,"string"); + $colLocAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnLocationAlign} ,"",\@allrds,"string"); + $colMapAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnMapAlign} ,"",\@allrds,"string"); + $colCalAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnCalendarAlign} ,"",\@allrds,"string"); + $colIdAlign = "cal".SSCal_evalTableSpecs ($hash,$coldefalign,$hash->{HELPER}{tableSpecs}{cellStyle}{columnEventIdAlign} ,"",\@allrds,"string"); + }; Log3($name, 1, "$name - Syntax error in attribute \"tableSpecs\" near \"cellStyle\": $@") if($@); - $colalign = "cal".$colalign; - + my $colalign = $coldefalign; + + # TabellenBody $out .= ""; - $out .= "" if($seen{Symbol}); + $out .= "" if($seen{Symbol}); if($small) { - $out .= "" if($seen{Begin}); - $out .= "" if($seen{End}); + $out .= "" if($seen{Begin}); + $out .= "" if($seen{End}); } else { - $out .= "" if($seen{Begin}); - $out .= "" if($seen{Begin}); - $out .= "" if($seen{End}); - $out .= "" if($seen{End}); + $out .= "" if($seen{Begin}); + $out .= "" if($seen{Begin}); + $out .= "" if($seen{End}); + $out .= "" if($seen{End}); } - $out .= "" if($seen{DaysLeft}); - $out .= "" if($seen{DaysLeftLong}); - $out .= "" if($seen{Weekday}); - $out .= "" if($seen{Timezone}); - $out .= "" if($seen{Summary}); - $out .= "" if($seen{Description}); - $out .= "" if($seen{Status}); - $out .= "" if($seen{Completion}); - $out .= "" if($seen{Location}); - $out .= "" if($seen{Map}); - $out .= "" if($seen{Calendar}); - $out .= "" if($seen{EventId}); + $out .= "" if($seen{DaysLeft}); + $out .= "" if($seen{DaysLeftLong}); + $out .= "" if($seen{Weekday}); + $out .= "" if($seen{Timezone}); + $out .= "" if($seen{Summary}); + $out .= "" if($seen{Description}); + $out .= "" if($seen{Status}); + $out .= "" if($seen{Completion}); + $out .= "" if($seen{Location}); + $out .= "" if($seen{Map}); + $out .= "" if($seen{Calendar}); + $out .= "" if($seen{EventId}); $out .= ""; } + $out .= "
".(($de)?'Symbol' :'Symbol')."
$symbol $symbol ".$begind." ".$begint. " ".$endd ." ".$endt. " ".$begind." ".$begint. " ".$endd ." ".$endt. " $begind $begint $endd $endt $begind $begint $endd $endt $dleft $dleftlong $weekday $tz $summary $desc $status $completion $location $gps $cal $id $dleft $dleftlong $weekday $tz $summary $desc $status $completion $location $gps $cal $id
"; + $out .= "
"; $out .= "";