@page "/reports/tasks"
@using Microsoft.AspNetCore.Authorization
@using TaskTrackingSystem.Shared
@using TaskTrackingSystem.Shared.Models.Report
@using TaskTrackingSystem.Shared.Enums
@using TaskTrackingSystem.Shared.Models.Project
@using System.Text
@rendermode @(new InteractiveServerRenderMode(prerender: false))
@attribute [Authorize]
@inject ApiClientService ApiClient
@inject IJSRuntime JS
@inject AuthenticationStateProvider AuthStateProvider
@inject MenuAuthorizationService MenuAuthorization
@AppLocalization.PageDescription("taskReport", "Analyze task activity and export task reports.")
@AppLocalization.Text("report.couldNotLoad", "Task report could not load.")
@errorMessage
| @AppLocalization.Text("common.index", "No.") | @AppLocalization.Text("common.task", "Task") | @AppLocalization.Text("common.project", "Project") | @AppLocalization.Text("common.status", "Status") | @AppLocalization.Text("common.priority", "Priority") | @AppLocalization.Text("report.health", "Health") | @AppLocalization.Text("common.issue", "Issues") |
|---|---|---|---|---|---|---|
| @AppLocalization.Number((currentPage - 1) * pageSize + entry.index + 1) | @Content.GetText(t.ProjectName, t.ProjectNameMy) | @AppLocalization.StatusLabel(t.StatusId) | @AppLocalization.PriorityLabel(t.PriorityId) | @GetHealthLabel(t.TaskHealth) | @if (t.OpenIssues == 0 && t.OverdueIssues == 0 && t.BlockedIssues == 0) { @AppLocalization.Text("report.noIssues", "No issues") } else { @($"{AppLocalization.Number(t.OpenIssues)} {AppLocalization.Text("report.open", "open")}, {AppLocalization.Number(t.OverdueIssues)} {AppLocalization.Text("status.overdue", "overdue")}, {AppLocalization.Number(t.BlockedIssues)} {AppLocalization.Text("status.blocked", "blocked")}") } | |
|
@AppLocalization.Text("common.assignee", "Assignee"): @(string.IsNullOrWhiteSpace(Content.GetText(t.AssignedToUser, t.AssignedToUserMy)) ? AppLocalization.Text("common.unassigned", "Unassigned") : Content.GetText(t.AssignedToUser, t.AssignedToUserMy))
@DisplayFormats.Date(t.DueDate)
@AppLocalization.Text("report.openIssues", "Open issues"): @t.OpenIssues
@AppLocalization.Text("report.lastActivity", "Last activity"): @DisplayFormats.Date(t.LastActivity)
|
||||||
@AppLocalization.Text("report.noTasksFound", "No Tasks Found")@AppLocalization.Text("report.noTasksFoundDesc", "There are no tasks matching your filters. Try adjusting your search query or filters.") |
||||||
{label}
{value}