diff --git a/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor b/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor index 078ad4c..5620a7b 100644 --- a/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor +++ b/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor @@ -8,6 +8,12 @@
+
+
+ +
+
+
@@ -29,12 +35,6 @@
-
-
- -
-
-
@($"{dtCurr:ddd dd.MM.yyyy}") diff --git a/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor.cs b/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor.cs index 0a44c93..9b39d1d 100644 --- a/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor.cs +++ b/EgwCoreLib.BlazorTest/Pages/TestCalendario.razor.cs @@ -34,6 +34,46 @@ namespace EgwCoreLib.BlazorTest.Pages } } + /// + /// Forza ricaricamento week + /// + protected void ForceReloadWeek() + { + // preparo calendario settimanale... + setupWeekSim(); + } + + protected void SetDayDetail(DateTime selDate) + { + var tmpDays = new List(); + var tmpEv = new List(); + + tmpDays.Add(selDate); + // genero qualche evento da 0 a 6... + int numEv = rnd.Next(0, 8); + if (numEv > 0) + { + for (int e = 0; e < numEv; e++) + { + double duration = 9 + 8 * rnd.NextDouble(); + CalendarEvent newEv = new CalendarEvent() + { + CssClass = "bg-success opacity-25", + Description = $"Permesso #{e}", + Type = "PERM", + Inizio = selDate.AddHours(8), + Fine = selDate.AddHours(duration), + Title = "O.S.", + ToolTip = $"O.S. {selDate.AddHours(8)} - {selDate.AddHours(duration)}" + }; + tmpEv.Add(newEv); + } + } + // salvo valori simulati + ListDate = tmpDays; + EventListWeek = tmpEv; + } + protected Random rnd = new Random(); private void setupWeekSim() { @@ -53,9 +93,9 @@ namespace EgwCoreLib.BlazorTest.Pages { CssClass = "bg-success opacity-25", Description = $"Permesso #{e}", - Type = "FER", + Type = "PERM", Inizio = oggi.AddDays(i).AddHours(8), - Fine = oggi.AddDays(i).AddHours(17), + Fine = oggi.AddDays(i).AddHours(9 + 8 * rnd.NextDouble()), Title = "O.S.", ToolTip = $"O.S. {oggi.AddDays(i).AddHours(8)} - {oggi.AddDays(i).AddHours(17)}" }; diff --git a/EgwCoreLib.Razor/CalendarWeek.razor b/EgwCoreLib.Razor/CalendarWeek.razor index a4bea0a..63b6e39 100644 --- a/EgwCoreLib.Razor/CalendarWeek.razor +++ b/EgwCoreLib.Razor/CalendarWeek.razor @@ -7,10 +7,10 @@ else - + @foreach (var item in DateList) { -
+
@($"{item:ddd}".Substring(0, 1).ToUpper())
diff --git a/EgwCoreLib.Razor/CalendarWeek.razor.cs b/EgwCoreLib.Razor/CalendarWeek.razor.cs index f687ef8..a61afa8 100644 --- a/EgwCoreLib.Razor/CalendarWeek.razor.cs +++ b/EgwCoreLib.Razor/CalendarWeek.razor.cs @@ -41,6 +41,13 @@ namespace EgwCoreLib.Razor [Parameter] public EventCallback backToCalendar{ get; set; } + + /// + /// Evento selezione data singola giornata da header + /// + [Parameter] + public EventCallback EC_HeadDateSel { get; set; } + /// /// Ora fine visualizzazione calendario /// @@ -221,10 +228,17 @@ namespace EgwCoreLib.Razor return answ; } - protected async Task openCalendarMonth() + protected async Task OpenCalendarMonth() { await backToCalendar.InvokeAsync(true); } + + protected async Task SelectDate( DateTime selDate) + { + await EC_HeadDateSel.InvokeAsync(selDate); + } + + #endregion Protected Methods } } \ No newline at end of file