diff --git a/GPW.CORE.Comp/CalendarEvent.cs b/GPW.CORE.Comp/CalendarEvent.cs index 0a999fe..e8be9a4 100644 --- a/GPW.CORE.Comp/CalendarEvent.cs +++ b/GPW.CORE.Comp/CalendarEvent.cs @@ -8,6 +8,19 @@ namespace GPW.CORE.Comp { public class CalendarEvent { + public CalendarEvent(int id, DateTime Inizio, DateTime Fine, string cssClass, string Title, string Description, string Icon, string Type, string ToolTip) + { + this.id = id; + this.Inizio = Inizio; + this.Fine = Fine; + this.CssClass = CssClass; + this.Title = Title; + this.Description = Description; + this.Icon = Icon; + this.Type = Type; + this.ToolTip = ToolTip; + + } public int id { get; set; } = 0; public DateTime Inizio { get; set; } = DateTime.Today.AddHours(8); public DateTime Fine { get; set; } = DateTime.Today.AddHours(10); diff --git a/GPW.CORE.Comp/CalendarMonth.razor b/GPW.CORE.Comp/CalendarMonth.razor index 04d9f98..251a1b7 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor +++ b/GPW.CORE.Comp/CalendarMonth.razor @@ -39,6 +39,35 @@ else @($"{giorno:dd}") + @if (!(giorno.DayOfWeek == DayOfWeek.Saturday || giorno.DayOfWeek == DayOfWeek.Sunday)) + { +
+ @if (hasDot(giorno, "MAL")) + { +
+   +
+ } + @if (hasDot(giorno, "FER")) + { +
+   +
+ } + @if (hasDot(giorno, "PERM")) + { +
+   +
+ } + @if (hasDot(giorno, "104")) + { +
+   +
+ } +
+ } } diff --git a/GPW.CORE.Comp/CalendarMonth.razor.cs b/GPW.CORE.Comp/CalendarMonth.razor.cs index 3c7ea23..ae533da 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.cs +++ b/GPW.CORE.Comp/CalendarMonth.razor.cs @@ -1,4 +1,7 @@ using Microsoft.AspNetCore.Components; +using Microsoft.Extensions.ObjectPool; +using System.Formats.Asn1; +using System.Text; namespace GPW.CORE.Comp { @@ -162,6 +165,22 @@ namespace GPW.CORE.Comp #region Private Methods + private bool hasDot(DateTime dtCurr, string type) + { + bool answ = false; + if(EventList != null) + { + foreach(var item in EventList) + { + if(item.Inizio.Date == dtCurr.Date && item.Type == type) + { + answ = true; + } + } + } + return answ; + } + private async Task clickDay(DateTime dtClick) { // se è mese prec/successivo --> sposto data rif @@ -181,6 +200,10 @@ namespace GPW.CORE.Comp { // altrimenti riporto evento await DateSelected.InvokeAsync(dtClick); + if (EventList != null) + { + var eventListWeekly = EventList.Where(x => SingleWeekRow.Contains(dtClick)).ToList(); + } } await Task.Delay(1); } diff --git a/GPW.CORE.Comp/CalendarMonth.razor.css b/GPW.CORE.Comp/CalendarMonth.razor.css index e41e55d..b9a1f8c 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.css +++ b/GPW.CORE.Comp/CalendarMonth.razor.css @@ -3,6 +3,7 @@ width: 100%; height: 100%; background-color: #34495E; + transition: height 0.3s cubic-bezier(0.54, 0.57, 0.36, 0.98) 0.2s; } .cssTable tr { margin: 0 1rem 0 1rem; @@ -27,4 +28,91 @@ .selDate { background-color: #E67E22; color: #000; +} +.pallini { + display: flex; + justify-content: space-evenly; +} +.divAll { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; +} +@keyframes dotEntranceMal { + 0% { + left: -50px; + } + 100% { + left: 0; + } +} +@keyframes dotEntranceFer { + 0% { + left: -50px; + } + 100% { + left: 0; + } +} +@keyframes dotEntrancePerm { + 0% { + left: -50px; + } + 100% { + left: 0; + } +} +@keyframes dotEntranceCent { + 0% { + left: -50px; + } + 100% { + left: 0; + } +} +.malattie { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #039BE5; + position: relative; + animation-name: dotEntranceMal; + animation-duration: 1.1s; +} +.ferie { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #00FF00; + position: relative; + animation-name: dotEntranceFer; + animation-duration: 0.8s; +} +.permessi { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #9966DE; + position: relative; + animation-name: dotEntrancePerm; + animation-duration: 0.5s; +} +.permessi104 { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #DE00AB; + position: relative; + animation-name: dotEntranceCent; + animation-duration: 0.3s; } \ No newline at end of file diff --git a/GPW.CORE.Comp/CalendarMonth.razor.less b/GPW.CORE.Comp/CalendarMonth.razor.less index efdd79c..8d9fa50 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.less +++ b/GPW.CORE.Comp/CalendarMonth.razor.less @@ -3,6 +3,7 @@ width: 100%; height: 100%; background-color: #34495E; + transition: height 0.3s cubic-bezier(0.54, 0.57, 0.36, 0.98) 0.2s; } .cssTable tr { @@ -34,3 +35,82 @@ color: #000; } + +.pallini { + display: flex; + justify-content: space-evenly; +} + +.divAll { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; +} +@keyframes dotEntranceMal { + 0% { + left: -50px + } + + 100% { + left: 0 + } +} + +@keyframes dotEntranceFer { + 0% { + left: -50px + } + + 100% { + left: 0 + } +} +@keyframes dotEntrancePerm { + 0% { + left: -50px + } + + 100% { + left: 0 + } +} +@keyframes dotEntranceCent { + 0% { + left: -50px + } + + 100% { + left: 0 + } +} + +.malattie { + .divAll; + background-color: #039BE5; + position: relative; + animation-name: dotEntranceMal; + animation-duration: 1.1s; +} +.ferie { + .divAll; + background-color: #00FF00; + position: relative; + animation-name: dotEntranceFer; + animation-duration: 0.8s; +} +.permessi { + .divAll; + background-color: #9966DE; + position: relative; + animation-name: dotEntrancePerm; + animation-duration: 0.5s; +} +.permessi104 { + .divAll; + background-color: #DE00AB; + position: relative; + animation-name: dotEntranceCent; + animation-duration: 0.3s; +} \ No newline at end of file diff --git a/GPW.CORE.Comp/CalendarMonth.razor.min.css b/GPW.CORE.Comp/CalendarMonth.razor.min.css index 4817159..9baf567 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.min.css +++ b/GPW.CORE.Comp/CalendarMonth.razor.min.css @@ -1 +1 @@ -.cssTable{border-radius:12px;width:100%;height:100%;background-color:#34495e;}.cssTable tr{margin:0 1rem 0 1rem;}.cssTable td{padding:.6rem 0 .4rem 0;border:0;}.cssTable thead tr{margin-top:.625rem;}.meseAnno{text-transform:capitalize;color:#fff;}.containerBtnTemp{position:relative;align-items:center;display:flex;justify-content:center;}.selDate{background-color:#e67e22;color:#000;} \ No newline at end of file +.cssTable{border-radius:12px;width:100%;height:100%;background-color:#34495e;transition:height .3s cubic-bezier(.54,.57,.36,.98) .2s;}.cssTable tr{margin:0 1rem 0 1rem;}.cssTable td{padding:.6rem 0 .4rem 0;border:0;}.cssTable thead tr{margin-top:.625rem;}.meseAnno{text-transform:capitalize;color:#fff;}.containerBtnTemp{position:relative;align-items:center;display:flex;justify-content:center;}.selDate{background-color:#e67e22;color:#000;}.pallini{display:flex;justify-content:space-evenly;}.divAll{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;}@keyframes dotEntranceMal{0%{left:-50px;}100%{left:0;}}@keyframes dotEntranceFer{0%{left:-50px;}100%{left:0;}}@keyframes dotEntrancePerm{0%{left:-50px;}100%{left:0;}}@keyframes dotEntranceCent{0%{left:-50px;}100%{left:0;}}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#039be5;position:relative;animation-name:dotEntranceMal;animation-duration:1.1s;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#0f0;position:relative;animation-name:dotEntranceFer;animation-duration:.8s;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#9966de;position:relative;animation-name:dotEntrancePerm;animation-duration:.5s;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#de00ab;position:relative;animation-name:dotEntranceCent;animation-duration:.3s;} \ No newline at end of file diff --git a/GPW.CORE.SMART/Pages/DayOff.razor b/GPW.CORE.SMART/Pages/DayOff.razor index 4d75832..4508456 100644 --- a/GPW.CORE.SMART/Pages/DayOff.razor +++ b/GPW.CORE.SMART/Pages/DayOff.razor @@ -33,7 +33,7 @@
@if (!isLoading) { - + }
diff --git a/GPW.CORE.SMART/Pages/DayOff.razor.cs b/GPW.CORE.SMART/Pages/DayOff.razor.cs index f97d3d0..97f82c6 100644 --- a/GPW.CORE.SMART/Pages/DayOff.razor.cs +++ b/GPW.CORE.SMART/Pages/DayOff.razor.cs @@ -183,8 +183,8 @@ namespace GPW.CORE.Smart.Pages string cssOkComm = "bg-success text-light rounded-circle p-2"; string cssOkLav = "bg-warning text-light rounded-circle p-2"; string cssToday = "bg-info text-dark rounded-circle p-2"; - string cssFest = "bg-danger text-warning"; - string cssChius = "bg-warning text-dark"; + string cssFest = "bg-danger text-warning rounded-pill "; + string cssChius = "bg-warning text-dark rounded-pill "; string cssRichFer = "bg-warning text-dark rounded-circle p-2"; string cssRichPerm = "bg-info text-light rounded-circle p-2"; string cssMal = "bg-dark text-light rounded-circle p-2"; @@ -216,7 +216,10 @@ namespace GPW.CORE.Smart.Pages cssSpec = item.codGiust == "FEST" ? cssFest : cssChius; if (!DateCFF.ContainsKey(item.data)) { - DateCFF.Add(item.data, cssSpec); + if (item.data.DayOfWeek != DayOfWeek.Saturday && item.data.DayOfWeek != DayOfWeek.Sunday) + { + DateCFF.Add(item.data, cssSpec); + } } } } @@ -266,8 +269,10 @@ namespace GPW.CORE.Smart.Pages if (!DateRDip.ContainsKey(dtIns)) { DateRDip.Add(dtIns, cssSpec); + } } + eventList.Add(new CalendarEvent(0, item.DtStart, item.DtEnd, item.CodGiust, "", item.CodGiust, "", item.CodGiust, "")); } } // recupero e converto le malattie... @@ -303,6 +308,7 @@ namespace GPW.CORE.Smart.Pages DateRDip.Add(dtIns, cssSpec); } } + eventList.Add(new CalendarEvent(0, item.DtInizio, item.DtInizio.AddDays(item.NumGG), "MAL", "MAL", "MAL", "", "MAL", "")); } } await Task.Delay(1); @@ -325,6 +331,7 @@ namespace GPW.CORE.Smart.Pages } private Dictionary DateCFF = new Dictionary(); private Dictionary DateRDip = new Dictionary(); + private List eventList = new List(); private async void updateDetail() { diff --git a/GPW.CORE.SMART/wwwroot/images/nightWallpaper.jpg b/GPW.CORE.SMART/wwwroot/images/nightWallpaper.jpg new file mode 100644 index 0000000..9a46674 Binary files /dev/null and b/GPW.CORE.SMART/wwwroot/images/nightWallpaper.jpg differ