From c18ebd0f895154e3a862676a5d3178622a6a6ffa Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 19 Jan 2023 12:16:39 +0100 Subject: [PATCH 1/5] aggiunta gestione calendario con dot --- GPW.CORE.Comp/CalendarEvent.cs | 13 +++++++ GPW.CORE.Comp/CalendarMonth.razor | 29 +++++++++++++++ GPW.CORE.Comp/CalendarMonth.razor.cs | 19 ++++++++++ GPW.CORE.Comp/CalendarMonth.razor.css | 43 +++++++++++++++++++++++ GPW.CORE.Comp/CalendarMonth.razor.less | 31 ++++++++++++++++ GPW.CORE.Comp/CalendarMonth.razor.min.css | 2 +- GPW.CORE.SMART/Pages/DayOff.razor | 2 +- GPW.CORE.SMART/Pages/DayOff.razor.cs | 6 +++- 8 files changed, 142 insertions(+), 3 deletions(-) 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..0dbca66 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..2ba3fa5 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 string hasDot(DateTime dtCurr) + { + string answ = ""; + if(EventList != null) + { + foreach(var item in EventList) + { + if(item.Inizio.Date == dtCurr.Date) + { + answ = item.Type; + } + } + } + return answ; + } + private async Task clickDay(DateTime dtClick) { // se è mese prec/successivo --> sposto data rif diff --git a/GPW.CORE.Comp/CalendarMonth.razor.css b/GPW.CORE.Comp/CalendarMonth.razor.css index e41e55d..a2183c6 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.css +++ b/GPW.CORE.Comp/CalendarMonth.razor.css @@ -27,4 +27,47 @@ .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; +} +.malattie { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #8E24AA; +} +.ferie { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #009688; +} +.permessi { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #F57F17; +} +.permessi104 { + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; + background-color: #FAFAFA; } \ No newline at end of file diff --git a/GPW.CORE.Comp/CalendarMonth.razor.less b/GPW.CORE.Comp/CalendarMonth.razor.less index efdd79c..b14885f 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.less +++ b/GPW.CORE.Comp/CalendarMonth.razor.less @@ -34,3 +34,34 @@ color: #000; } + +.pallini{ + display: flex; + justify-content: space-evenly; +} + +.divAll { + + padding: 0; + margin: 0; + height: 0.3rem; + border-radius: 50%; + color: transparent; +} + +.malattie { + .divAll; + background-color: #8E24AA; +} +.ferie { + .divAll; + background-color: #009688; +} +.permessi { + .divAll; + background-color: #F57F17; +} +.permessi104 { + .divAll; + background-color: #FAFAFA; +} \ 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..1666136 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;}.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;}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#8e24aa;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#009688;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#f57f17;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#fafafa;} \ 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 0f4bbba..302434e 100644 --- a/GPW.CORE.SMART/Pages/DayOff.razor.cs +++ b/GPW.CORE.SMART/Pages/DayOff.razor.cs @@ -268,9 +268,11 @@ namespace GPW.CORE.Smart.Pages dtIns = item.DtStart.Date.AddDays(i); if (!DateRDip.ContainsKey(dtIns)) { - DateRDip.Add(dtIns, cssSpec); + DateRDip.Add(dtIns, cssSpec); + } } + eventList.Add(new CalendarEvent(0, item.DtStart, item.DtEnd, item.CodGiust, "", item.CodGiust, "", item.CodGiust, "")); } } // recupero e converto le malattie... @@ -302,6 +304,7 @@ namespace GPW.CORE.Smart.Pages if (!DateRDip.ContainsKey(dtIns)) { DateRDip.Add(dtIns, cssSpec); + eventList.Add(new CalendarEvent(i, item.DtInizio, item.DtInizio.AddDays(item.NumGG),"MAL" , "MAL", "MAL", "", "MAL", "")); } } } @@ -326,6 +329,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() { From 64701ff758467344187fb081ba5bb1fb2e529af3 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 19 Jan 2023 14:29:10 +0100 Subject: [PATCH 2/5] =?UTF-8?q?fix=20css=20x=20festivit=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GPW.CORE.SMART/Pages/DayOff.razor.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/GPW.CORE.SMART/Pages/DayOff.razor.cs b/GPW.CORE.SMART/Pages/DayOff.razor.cs index feeb662..2598492 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); + } } } } @@ -265,8 +268,8 @@ namespace GPW.CORE.Smart.Pages dtIns = item.DtStart.Date.AddDays(i); if (!DateRDip.ContainsKey(dtIns)) { - DateRDip.Add(dtIns, cssSpec); - + DateRDip.Add(dtIns, cssSpec); + } } eventList.Add(new CalendarEvent(0, item.DtStart, item.DtEnd, item.CodGiust, "", item.CodGiust, "", item.CodGiust, "")); @@ -303,7 +306,7 @@ namespace GPW.CORE.Smart.Pages if (!DateRDip.ContainsKey(dtIns)) { DateRDip.Add(dtIns, cssSpec); - eventList.Add(new CalendarEvent(i, item.DtInizio, item.DtInizio.AddDays(item.NumGG),"MAL" , "MAL", "MAL", "", "MAL", "")); + eventList.Add(new CalendarEvent(i, item.DtInizio, item.DtInizio.AddDays(item.NumGG), "MAL", "MAL", "MAL", "", "MAL", "")); } } } From fc430a40af4ad5133e79c472e2df2f0f07b306de Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 19 Jan 2023 15:27:56 +0100 Subject: [PATCH 3/5] =?UTF-8?q?gestione=20x=20filtro=20settimanale=20attiv?= =?UTF-8?q?it=C3=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GPW.CORE.Comp/CalendarMonth.razor.cs | 4 ++++ GPW.CORE.Comp/CalendarMonth.razor.css | 6 +++--- GPW.CORE.Comp/CalendarMonth.razor.less | 6 +++--- GPW.CORE.Comp/CalendarMonth.razor.min.css | 2 +- GPW.CORE.SMART/Pages/DayOff.razor.cs | 2 +- .../wwwroot/images/nightWallpaper.jpg | Bin 0 -> 19648 bytes 6 files changed, 12 insertions(+), 8 deletions(-) create mode 100644 GPW.CORE.SMART/wwwroot/images/nightWallpaper.jpg diff --git a/GPW.CORE.Comp/CalendarMonth.razor.cs b/GPW.CORE.Comp/CalendarMonth.razor.cs index 2ba3fa5..440e53c 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.cs +++ b/GPW.CORE.Comp/CalendarMonth.razor.cs @@ -200,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 a2183c6..dc1f35f 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.css +++ b/GPW.CORE.Comp/CalendarMonth.razor.css @@ -53,7 +53,7 @@ height: 0.3rem; border-radius: 50%; color: transparent; - background-color: #009688; + background-color: #00FF00; } .permessi { padding: 0; @@ -61,7 +61,7 @@ height: 0.3rem; border-radius: 50%; color: transparent; - background-color: #F57F17; + background-color: #9966DE; } .permessi104 { padding: 0; @@ -69,5 +69,5 @@ height: 0.3rem; border-radius: 50%; color: transparent; - background-color: #FAFAFA; + background-color: #DE00AB; } \ No newline at end of file diff --git a/GPW.CORE.Comp/CalendarMonth.razor.less b/GPW.CORE.Comp/CalendarMonth.razor.less index b14885f..1f5014a 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.less +++ b/GPW.CORE.Comp/CalendarMonth.razor.less @@ -55,13 +55,13 @@ } .ferie { .divAll; - background-color: #009688; + background-color: #00FF00; } .permessi { .divAll; - background-color: #F57F17; + background-color: #9966DE; } .permessi104 { .divAll; - background-color: #FAFAFA; + background-color: #DE00AB; } \ 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 1666136..6d7f0bc 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;}.pallini{display:flex;justify-content:space-evenly;}.divAll{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#8e24aa;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#009688;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#f57f17;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#fafafa;} \ No newline at end of file +.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;}.pallini{display:flex;justify-content:space-evenly;}.divAll{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#8e24aa;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#0f0;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#9966de;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#de00ab;} \ No newline at end of file diff --git a/GPW.CORE.SMART/Pages/DayOff.razor.cs b/GPW.CORE.SMART/Pages/DayOff.razor.cs index 2598492..496da02 100644 --- a/GPW.CORE.SMART/Pages/DayOff.razor.cs +++ b/GPW.CORE.SMART/Pages/DayOff.razor.cs @@ -334,7 +334,7 @@ namespace GPW.CORE.Smart.Pages private List eventList = new List(); private async void updateDetail() { - + } private async Task ReloadMonth(DateTime dtSel) { diff --git a/GPW.CORE.SMART/wwwroot/images/nightWallpaper.jpg b/GPW.CORE.SMART/wwwroot/images/nightWallpaper.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9a466741c9550a15f99e06414cd8ba869e4828b8 GIT binary patch literal 19648 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 literal 0 HcmV?d00001 From 537793cb8ff4ce61d707024d9fff3a03a31c985b Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 19 Jan 2023 17:43:18 +0100 Subject: [PATCH 4/5] =?UTF-8?q?gestione=20attivit=C3=A0=20aggiornata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GPW.CORE.Comp/CalendarMonth.razor | 16 ++++++++-------- GPW.CORE.Comp/CalendarMonth.razor.cs | 8 ++++---- GPW.CORE.Comp/CalendarMonth.razor.css | 2 +- GPW.CORE.Comp/CalendarMonth.razor.less | 2 +- GPW.CORE.Comp/CalendarMonth.razor.min.css | 2 +- GPW.CORE.SMART/Pages/DayOff.razor.cs | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/GPW.CORE.Comp/CalendarMonth.razor b/GPW.CORE.Comp/CalendarMonth.razor index 0dbca66..251a1b7 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor +++ b/GPW.CORE.Comp/CalendarMonth.razor @@ -42,28 +42,28 @@ else @if (!(giorno.DayOfWeek == DayOfWeek.Saturday || giorno.DayOfWeek == DayOfWeek.Sunday)) {
- @if (hasDot(giorno) == "MAL") + @if (hasDot(giorno, "MAL")) {
- . +  
} - @if (hasDot(giorno) == "FER") + @if (hasDot(giorno, "FER")) {
- . +  
} - @if (hasDot(giorno) == "PERM") + @if (hasDot(giorno, "PERM")) {
- . +  
} - @if (hasDot(giorno) == "104") + @if (hasDot(giorno, "104")) {
- . +  
}
diff --git a/GPW.CORE.Comp/CalendarMonth.razor.cs b/GPW.CORE.Comp/CalendarMonth.razor.cs index 440e53c..ae533da 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.cs +++ b/GPW.CORE.Comp/CalendarMonth.razor.cs @@ -165,16 +165,16 @@ namespace GPW.CORE.Comp #region Private Methods - private string hasDot(DateTime dtCurr) + private bool hasDot(DateTime dtCurr, string type) { - string answ = ""; + bool answ = false; if(EventList != null) { foreach(var item in EventList) { - if(item.Inizio.Date == dtCurr.Date) + if(item.Inizio.Date == dtCurr.Date && item.Type == type) { - answ = item.Type; + answ = true; } } } diff --git a/GPW.CORE.Comp/CalendarMonth.razor.css b/GPW.CORE.Comp/CalendarMonth.razor.css index dc1f35f..5bf7bc0 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.css +++ b/GPW.CORE.Comp/CalendarMonth.razor.css @@ -45,7 +45,7 @@ height: 0.3rem; border-radius: 50%; color: transparent; - background-color: #8E24AA; + background-color: #039BE5; } .ferie { padding: 0; diff --git a/GPW.CORE.Comp/CalendarMonth.razor.less b/GPW.CORE.Comp/CalendarMonth.razor.less index 1f5014a..099b002 100644 --- a/GPW.CORE.Comp/CalendarMonth.razor.less +++ b/GPW.CORE.Comp/CalendarMonth.razor.less @@ -51,7 +51,7 @@ .malattie { .divAll; - background-color: #8E24AA; + background-color: #039BE5; } .ferie { .divAll; diff --git a/GPW.CORE.Comp/CalendarMonth.razor.min.css b/GPW.CORE.Comp/CalendarMonth.razor.min.css index 6d7f0bc..b4beb9c 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;}.pallini{display:flex;justify-content:space-evenly;}.divAll{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#8e24aa;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#0f0;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#9966de;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#de00ab;} \ No newline at end of file +.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;}.pallini{display:flex;justify-content:space-evenly;}.divAll{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#039be5;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#0f0;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#9966de;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#de00ab;} \ No newline at end of file diff --git a/GPW.CORE.SMART/Pages/DayOff.razor.cs b/GPW.CORE.SMART/Pages/DayOff.razor.cs index 496da02..97f82c6 100644 --- a/GPW.CORE.SMART/Pages/DayOff.razor.cs +++ b/GPW.CORE.SMART/Pages/DayOff.razor.cs @@ -306,9 +306,9 @@ namespace GPW.CORE.Smart.Pages if (!DateRDip.ContainsKey(dtIns)) { DateRDip.Add(dtIns, cssSpec); - eventList.Add(new CalendarEvent(i, item.DtInizio, item.DtInizio.AddDays(item.NumGG), "MAL", "MAL", "MAL", "", "MAL", "")); } } + eventList.Add(new CalendarEvent(0, item.DtInizio, item.DtInizio.AddDays(item.NumGG), "MAL", "MAL", "MAL", "", "MAL", "")); } } await Task.Delay(1); @@ -334,7 +334,7 @@ namespace GPW.CORE.Smart.Pages private List eventList = new List(); private async void updateDetail() { - + } private async Task ReloadMonth(DateTime dtSel) { From 1789e9f40a5a0d0307a88aff1a9c483dd6cf6ce5 Mon Sep 17 00:00:00 2001 From: "zaccaria.majid" Date: Thu, 19 Jan 2023 18:06:51 +0100 Subject: [PATCH 5/5] aggiunta animazione dots --- GPW.CORE.Comp/CalendarMonth.razor.css | 45 +++++++++++++++++++ GPW.CORE.Comp/CalendarMonth.razor.less | 55 +++++++++++++++++++++-- GPW.CORE.Comp/CalendarMonth.razor.min.css | 2 +- 3 files changed, 98 insertions(+), 4 deletions(-) diff --git a/GPW.CORE.Comp/CalendarMonth.razor.css b/GPW.CORE.Comp/CalendarMonth.razor.css index 5bf7bc0..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; @@ -39,6 +40,38 @@ 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; @@ -46,6 +79,9 @@ border-radius: 50%; color: transparent; background-color: #039BE5; + position: relative; + animation-name: dotEntranceMal; + animation-duration: 1.1s; } .ferie { padding: 0; @@ -54,6 +90,9 @@ border-radius: 50%; color: transparent; background-color: #00FF00; + position: relative; + animation-name: dotEntranceFer; + animation-duration: 0.8s; } .permessi { padding: 0; @@ -62,6 +101,9 @@ border-radius: 50%; color: transparent; background-color: #9966DE; + position: relative; + animation-name: dotEntrancePerm; + animation-duration: 0.5s; } .permessi104 { padding: 0; @@ -70,4 +112,7 @@ 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 099b002..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 { @@ -35,33 +36,81 @@ } -.pallini{ +.pallini { display: flex; - justify-content: space-evenly; + 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 b4beb9c..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;}.pallini{display:flex;justify-content:space-evenly;}.divAll{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;}.malattie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#039be5;}.ferie{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#0f0;}.permessi{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#9966de;}.permessi104{padding:0;margin:0;height:.3rem;border-radius:50%;color:transparent;background-color:#de00ab;} \ 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