218 lines
12 KiB
Plaintext
218 lines
12 KiB
Plaintext
@page "/"
|
|
@page "/Dashboard"
|
|
|
|
<PageTitle>Dashboard</PageTitle>
|
|
|
|
<MudPaper Class="p-2 m-2">
|
|
<MudText Typo="Typo.h3" Align="Align.Center">Dashboard</MudText>
|
|
</MudPaper>
|
|
|
|
<MudPaper Class="p-2 m-2">
|
|
<MudTabs Class="p-2" Rounded Centered Color="Color.Info" MinimumTabWidth="50%">
|
|
<MudTabPanel Text="My Active Approvals" Style="min-width:50%; text-align: center;">
|
|
@if (stateProvider.CurrentUser is not null && approvalList is not null && !myApprovalsProcessing) {
|
|
<MudPaper Outlined="true"
|
|
Class="p-2 m-2 d-flex flex-column justify-center">
|
|
<MudText Typo="Typo.h4" Align="Align.Center">My Active Approvals</MudText>
|
|
<MudDivider DividerType="DividerType.Middle" Class="my-2" />
|
|
<MudTable Items="@approvalList"
|
|
Class="m-2"
|
|
Striped
|
|
SortLabel="Sort by">
|
|
<HeaderContent>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<Approval,object>(x=>x.IssueID)">
|
|
Issue ID
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<Approval,object>(x=>x.SubRoleCategoryItem)">
|
|
Role
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel InitialDirection="SortDirection.Descending" SortBy="new Func<Approval,object>(x=>x.AssignedDate)">
|
|
Assigned Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<Approval,object>(x=>x.Step)">
|
|
Step
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
</HeaderContent>
|
|
<RowTemplate>
|
|
<MudTd DataLabel="Issue ID">
|
|
@if (context.IssueID > 0) {
|
|
<MudLink OnClick="@(() => FollowLink(context.IssueID))">@context.IssueID</MudLink>
|
|
}
|
|
</MudTd>
|
|
<MudTd DataLabel="Role">@context.SubRoleCategoryItem</MudTd>
|
|
<MudTd DataLabel="Assigned Date">@DateTimeUtilities.GetDateAsStringMinDefault(context.AssignedDate)</MudTd>
|
|
<MudTd DataLabel="Step">@context.Step</MudTd>
|
|
</RowTemplate>
|
|
<PagerContent>
|
|
<MudTablePager />
|
|
</PagerContent>
|
|
</MudTable>
|
|
</MudPaper>
|
|
} else {
|
|
<MudOverlay Visible DarkBackground="true" AutoClose="false">
|
|
<MudText Align="Align.Center" Typo="Typo.h3">Processing</MudText>
|
|
<MudProgressCircular Color="Color.Info" Size="Size.Large" Indeterminate="true" />
|
|
</MudOverlay>
|
|
}
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="My MRBs" Style="min-width:50%; text-align: center;">
|
|
@if (stateProvider.CurrentUser is not null && myMRBs is not null && !myMrbsProcessing) {
|
|
<MudPaper Outlined="true"
|
|
Class="p-2 m-2 d-flex flex-column justify-center">
|
|
<MudText Typo="Typo.h4" Align="Align.Center">My MRBs</MudText>
|
|
<MudDivider DividerType="DividerType.Middle" Class="my-2" />
|
|
<MudTable Items="@myMRBs"
|
|
Class="m-2"
|
|
Striped
|
|
SortLabel="Sort by"
|
|
Filter="new Func<MRB, bool>(FilterFuncForMRBTable)">
|
|
<ToolBarContent>
|
|
<MudSpacer />
|
|
<MudTextField @bind-Value="mrbSearchString"
|
|
Placeholder="Search"
|
|
Immediate
|
|
Adornment="Adornment.Start"
|
|
AdornmentIcon="@Icons.Material.Filled.Search"
|
|
IconSize="Size.Medium"
|
|
Class="mt-0" />
|
|
</ToolBarContent>
|
|
<HeaderContent>
|
|
<MudTh>
|
|
<MudTableSortLabel InitialDirection="SortDirection.Descending" SortBy="new Func<MRB,object>(x=>x.MRBNumber)">
|
|
MRB#
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<MRB,object>(x=>x.Title)">
|
|
Title
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<MRB,object>(x=>x.SubmittedDate)">
|
|
Submitted Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<MRB,object>(x=>x.ApprovalDate)">
|
|
Approval Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<MRB,object>(x=>x.CancelDate)">
|
|
Cancel Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<MRB,object>(x=>x.CloseDate)">
|
|
Completed Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
</HeaderContent>
|
|
<RowTemplate>
|
|
<MudTd DataLabel="MRB#">
|
|
<MudLink OnClick="@(() => GoTo($"mrb/{context.MRBNumber}"))">@context.MRBNumber</MudLink>
|
|
</MudTd>
|
|
<MudTd DataLabel="Title">@context.Title</MudTd>
|
|
<MudTd DataLabel="Submitted Date">@DateTimeUtilities.GetDateAsStringMinDefault(context.SubmittedDate)</MudTd>
|
|
<MudTd DataLabel="Approval Date">@DateTimeUtilities.GetDateAsStringMaxDefault(context.ApprovalDate)</MudTd>
|
|
<MudTd DataLabel="Cancel Date">@DateTimeUtilities.GetDateAsStringMaxDefault(context.CancelDate)</MudTd>
|
|
<MudTd DataLabel="Completed Date">@DateTimeUtilities.GetDateAsStringMaxDefault(context.CloseDate)</MudTd>
|
|
</RowTemplate>
|
|
<PagerContent>
|
|
<MudTablePager />
|
|
</PagerContent>
|
|
</MudTable>
|
|
</MudPaper>
|
|
} else {
|
|
<MudOverlay Visible DarkBackground="true" AutoClose="false">
|
|
<MudText Align="Align.Center" Typo="Typo.h3">Processing</MudText>
|
|
<MudProgressCircular Color="Color.Info" Size="Size.Large" Indeterminate="true" />
|
|
</MudOverlay>
|
|
}
|
|
</MudTabPanel>
|
|
<MudTabPanel Text="My PCRBs" Style="min-width:50%; text-align: center;">
|
|
@if (stateProvider.CurrentUser is not null && myPCRBs is not null && !myPcrbsProcessing) {
|
|
<MudPaper Outlined="true"
|
|
Class="p-2 m-2 d-flex flex-column justify-center">
|
|
<MudText Typo="Typo.h4" Align="Align.Center">My PCRBs</MudText>
|
|
<MudDivider DividerType="DividerType.Middle" Class="my-2" />
|
|
<MudTable Items="@myPCRBs"
|
|
Class="m-2"
|
|
Striped
|
|
SortLabel="Sort by"
|
|
Filter="new Func<PCRB, bool>(FilterFuncForPCRBTable)">
|
|
<ToolBarContent>
|
|
<MudSpacer />
|
|
<MudTextField @bind-Value="pcrbSearchString"
|
|
Placeholder="Search"
|
|
Adornment="Adornment.Start"
|
|
Immediate
|
|
AdornmentIcon="@Icons.Material.Filled.Search"
|
|
IconSize="Size.Medium"
|
|
Class="mt-0" />
|
|
</ToolBarContent>
|
|
<HeaderContent>
|
|
<MudTh>
|
|
<MudTableSortLabel InitialDirection="SortDirection.Descending" SortBy="new Func<PCRB,object>(x=>x.PlanNumber)">
|
|
PCRB#
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<PCRB,object>(x=>x.Title)">
|
|
Title
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<PCRB,object>(x=>x.CurrentStep)">
|
|
Current Step
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<PCRB,object>(x=>x.InsertTimeStamp)">
|
|
Submitted Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<PCRB,object>(x=>x.LastUpdateDate)">
|
|
Last Updated
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
<MudTh>
|
|
<MudTableSortLabel SortBy="new Func<PCRB,object>(x=>x.ClosedDate)">
|
|
Completed Date
|
|
</MudTableSortLabel>
|
|
</MudTh>
|
|
</HeaderContent>
|
|
<RowTemplate>
|
|
<MudTd DataLabel="PCRB#">
|
|
<MudLink OnClick="@(() => GoTo($"pcrb/{context.PlanNumber}"))">@context.PlanNumber</MudLink>
|
|
</MudTd>
|
|
<MudTd DataLabel="Title">@context.Title</MudTd>
|
|
<MudTd DataLabel="Current Step">@(GetCurrentPCRBStep(context.CurrentStep))</MudTd>
|
|
<MudTd DataLabel="Submitted Date">@DateTimeUtilities.GetDateAsStringMinDefault(context.InsertTimeStamp)</MudTd>
|
|
<MudTd DataLabel="Last Updated">@DateTimeUtilities.GetDateAsStringMinDefault(context.LastUpdateDate)</MudTd>
|
|
<MudTd DataLabel="Completed Date">@DateTimeUtilities.GetDateAsStringMaxDefault(context.ClosedDate)</MudTd>
|
|
</RowTemplate>
|
|
<PagerContent>
|
|
<MudTablePager />
|
|
</PagerContent>
|
|
</MudTable>
|
|
</MudPaper>
|
|
} else {
|
|
<MudOverlay Visible DarkBackground="true" AutoClose="false">
|
|
<MudText Align="Align.Center" Typo="Typo.h3">Processing</MudText>
|
|
<MudProgressCircular Color="Color.Info" Size="Size.Large" Indeterminate="true" />
|
|
</MudOverlay>
|
|
}
|
|
</MudTabPanel>
|
|
</MudTabs>
|
|
</MudPaper>
|