92 lines
2.6 KiB
Plaintext
92 lines
2.6 KiB
Plaintext
<Grid
|
|
TItem="InspectionEntry"
|
|
@ref="Grid"
|
|
DataProvider="EmployeesDataProvider"
|
|
Responsive="true"
|
|
>
|
|
<GridColumns>
|
|
<GridColumn TItem="InspectionEntry"
|
|
PropertyName="Author"
|
|
HeaderText="Auteur">
|
|
@context.Author
|
|
</GridColumn>
|
|
|
|
<GridColumn TItem="InspectionEntry"
|
|
PropertyName="When"
|
|
HeaderText="Horodatage">
|
|
@FormatDate(context.When)
|
|
</GridColumn>
|
|
|
|
<GridColumn TItem="InspectionEntry"
|
|
HeaderText="Description">
|
|
@FormatEntry(context)
|
|
</GridColumn>
|
|
|
|
</GridColumns>
|
|
</Grid>
|
|
|
|
@code {
|
|
[Parameter]
|
|
public InspectionRegister Register { get; set; }
|
|
|
|
[Parameter]
|
|
public string ItemId { get; set; }
|
|
|
|
private System.Timers.Timer Timer = new(1000);
|
|
Grid<InspectionEntry> Grid = default!;
|
|
|
|
private async Task<GridDataProviderResult<InspectionEntry>> EmployeesDataProvider(GridDataProviderRequest<InspectionEntry> request)
|
|
{
|
|
var entries = Register.GetEntriesOrdered(ItemId);
|
|
return await Task.FromResult(request.ApplyTo(entries));
|
|
}
|
|
|
|
protected override void OnInitialized()
|
|
{
|
|
base.OnInitialized();
|
|
Timer.Elapsed += async (object? sender, ElapsedEventArgs e) =>
|
|
{
|
|
await InvokeAsync(async() => {
|
|
await Grid.RefreshDataAsync();
|
|
StateHasChanged();
|
|
});
|
|
};
|
|
Timer.Enabled = true;
|
|
}
|
|
|
|
public string FormatDate(DateTime dt)
|
|
{
|
|
return dt.ToString("M MMM hh:mm");
|
|
}
|
|
|
|
public string FormatEntry(InspectionEntry e)
|
|
{
|
|
if (e.Type == InspectionEntry.EntryType.Attachement)
|
|
return "Ajout d'une pièce jointe.";
|
|
else if(e.Type == InspectionEntry.EntryType.Set)
|
|
return $"Changement de l'état vers {FormatState(e.State)}.";
|
|
else
|
|
return e.Type.ToString();
|
|
}
|
|
|
|
public string FormatState(ItemAnswer.State? s)
|
|
{
|
|
if (s is null)
|
|
return "(null)";
|
|
else if (s == ItemAnswer.State.NotAnswed)
|
|
return "non répondu";
|
|
else if (s == ItemAnswer.State.Compliant)
|
|
return "conforme";
|
|
else if (s == ItemAnswer.State.PartiallyCompliant)
|
|
return "partiellement conforme";
|
|
else if (s == ItemAnswer.State.Improper)
|
|
return "non conforme";
|
|
else if (s == ItemAnswer.State.Invalid)
|
|
return "sans objet";
|
|
else if (s == ItemAnswer.State.Ignored)
|
|
return "non instruit";
|
|
|
|
return s.ToString();
|
|
}
|
|
}
|