Files
gpw_next/GPW.CORE.WRKLOG/Components/Compo/CalendarioAziendale.razor
T

113 lines
5.7 KiB
Plaintext

@using BlazorCalendar
@using BlazorCalendar.Models
<div class="card bg-dark text-light">
<div class="card-header ">
<div class="row">
<div class="col-4 text-start">
<Toggler SelFilter="@ToggleData" FilterChanged="evToggled"></Toggler>
</div>
<div class="col-4 text-center text-uppercase h5">
<b>Calendario Aziendale</b>
</div>
<div class="col-4 text-end">
<div class="d-flex justify-content-around">
@if (UseRadz)
{
@if (currView == "year" || currView == "planner")
{
<div class="small">
<RadzenStack Orientation="Orientation.Horizontal" AlignItems="AlignItems.Center" Gap="0.5rem" class="rz-px-2">
<RadzenLabel Text="Mese:" />
<RadzenDropDown @bind-Value="@startMonth" Change="StartMonthChange" TextProperty="Text" ValueProperty="Value" Data="@(Enum.GetValues(typeof(Month)).Cast<Month>().Where(x => ((int)x % 3 == 0)).Select(t => new { Text = $"{t}", Value = t }))" class="rz-display-inline-flex small" />
</RadzenStack>
</div>
}
}
else
{
@if (ModoDisplay == DisplayedView.Monthly)
{
<div>
@if (firstDate > minDate)
{
<button class="btn btn-sm btn-primary px-3" @onclick="() => addMonth(-1)"><i class="fas fa-caret-left"></i></button>
}
else
{
<button class="btn btn-sm btn-secondary px-3" disabled><i class="fas fa-caret-left"></i></button>
}
</div>
<div style="min-width: 6rem; font-size: 0.9rem;">
<div>
<b class="text-uppercase">@CurrMonth</b>
</div>
<div class="small">
@firstDate.Year
</div>
</div>
<div>
@if (firstDate < maxDate)
{
<button class="btn btn-sm btn-primary px-3" @onclick="() => addMonth(+1)"><i class="fas fa-caret-right"></i></button>
}
else
{
<button class="btn btn-sm btn-secondary px-3" disabled><i class="fas fa-caret-right"></i></button>
}
</div>
}
else
{
<div class="input-group">
<span class="input-group-text"># mesi</span>
<input type="number" class="form-control text-end" @bind="@currMonth" />
</div>
}
}
</div>
</div>
</div>
</div>
<div class="card-body bg-body text-dark p-1">
@if (UseRadz)
{
<div style="@schedHeight">
<RadzenScheduler @ref=@scheduler style="height: 100%;" Culture=@(new System.Globalization.CultureInfo("it-IT"))
TItem="EventDTO" Data="@EvDtoFilt" SelectedIndex="@selectedIndex" Date="@SelDate"
StartProperty="DtStart" EndProperty="DtEnd" TextProperty="CodTipo"
SlotRender=@OnSlotRender SlotSelect=@OnSlotSelect
AppointmentSelect=@OnAppointmentSelect AppointmentRender=@OnAppointmentRender
LoadData=OnLoadData>
<Template Context="EvDTO">
<div>
<strong>@EvDTO.CodTipo</strong> | @EvDTO.Abbrev
</div>
<small>
@if (EvDTO.CodTipo == "PERM" || EvDTO.CodTipo == "104")
{
@($"{EventDTO.DateForm(EvDTO.CodTipo, EvDTO.DtStart)} --> {EventDTO.DateForm(EvDTO.CodTipo, EvDTO.DtEnd)}")
}
</small>
</Template>
<ChildContent>
<RadzenDayView />
<RadzenWeekView />
<RadzenMonthView MaxAppointmentsInSlot="4" />
<RadzenYearPlannerView StartMonth="@startMonth" MaxAppointmentsInSlot="3" />
@* <RadzenYearTimelineView StartMonth="@startMonth" /> *@
<RadzenYearView StartMonth="@startMonth" />
</ChildContent>
</RadzenScheduler>
</div>
}
else
{
<CalendarContainer DisplayedView="@ModoDisplay" TasksList="TaskList.ToArray()" FirstDate="@firstDate" Draggable="false">
<AnnualView Months="@MonthDispl" TaskClick="SetWeek" EmptyDayClick="SetWeek" />
<MonthlyView TaskClick="SetWeek" DayClick="SetWeek" />
<WeekView TaskClick="ResetCal" EmptyDayClick="ResetCal" DayClick="ResetCal" />
</CalendarContainer>
}
</div>
</div>