Paint cells with errors differently
This commit is contained in:
@ -25,34 +25,36 @@
|
||||
</RadzenRow>
|
||||
<RadzenRow>
|
||||
<RadzenColumn SizeMD="12">
|
||||
<RadzenDataGrid @ref="@campaignsDataGrid" TItem="Campaign" Data="@campaigns" RowExpand="@RowExpandAsync" RowCollapse="@RowCollapse" IsLoading="@(state != PageState.Idle)" AllowFiltering="true" AllowPaging="true" ShowPagingSummary="true" PageSizeOptions=@(new int[] { 5, 10, 20, 30 }) AllowSorting="true" AllowColumnResize="true" ExpandMode="DataGridExpandMode.Single">
|
||||
<Template Context="campaign">
|
||||
<RadzenDataGrid @ref="@operationsDataGrid" Data="@campaign.Operations" AllowFiltering="true" AllowPaging="true" ShowPagingSummary="true" PageSizeOptions=@(new int[] { 5, 10, 20, 30 }) AllowSorting="true" AllowColumnResize="true">
|
||||
<Columns>
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.Id)" Title="ID" SortOrder="SortOrder.Descending" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.Type)" Title="Тип операции" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.CreatedAt)" Title="Дата создания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.StartedAt)" Title="Дата начала" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.EndedAt)" Title="Дата окончания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.MessageGuid)" Title="ID сообщения" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.FailureReason)" Title="Причина ошибки" />
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
</Template>
|
||||
<Columns>
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.Id)" Title="ID" SortOrder="SortOrder.Descending" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.Type)" Title="Тип кампании" />
|
||||
<RadzenDataGridColumn Title="Прогресс" Filterable="false" Sortable="false" Resizable="false" Width="70px" MaxWidth="70px">
|
||||
<Template Context="campaign">
|
||||
<RadzenProgressBar ProgressBarStyle="@(campaign.EndedAt.HasValue ? (string.IsNullOrEmpty(campaign.FailureReason) ? ProgressBarStyle.Success : ProgressBarStyle.Danger) : ProgressBarStyle.Primary)" Value="@campaign.Progress" ShowValue="false" />
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.CreatedAt)" Title="Дата создания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.StartedAt)" Title="Дата начала" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.EndedAt)" Title="Дата окончания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.FailureReason)" Title="Причина ошибки" />
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
<div>
|
||||
<RadzenDataGrid @ref="@campaignsDataGrid" TItem="Campaign" Data="@campaigns" RowExpand="@RowExpandAsync" RowCollapse="@RowCollapse" IsLoading="@(state != PageState.Idle)" CellRender="@OnCellRender" AllowFiltering="true" AllowPaging="true" ShowPagingSummary="true" PageSizeOptions=@(new int[] { 5, 10, 20, 30 }) AllowSorting="true" AllowColumnResize="true" ExpandMode="DataGridExpandMode.Single">
|
||||
<Template Context="campaign">
|
||||
<RadzenDataGrid @ref="@operationsDataGrid" Data="@campaign.Operations" CellRender="@OnCellRender" AllowFiltering="true" AllowPaging="true" ShowPagingSummary="true" PageSizeOptions=@(new int[] { 5, 10, 20, 30 }) AllowSorting="true" AllowColumnResize="true">
|
||||
<Columns>
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.Id)" Title="ID" SortOrder="SortOrder.Descending" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.Type)" Title="Тип операции" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.CreatedAt)" Title="Дата создания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.StartedAt)" Title="Дата начала" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.EndedAt)" Title="Дата окончания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.MessageGuid)" Title="ID сообщения" />
|
||||
<RadzenDataGridColumn Property="@nameof(Operation.FailureReason)" Title="Причина ошибки" />
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
</Template>
|
||||
<Columns>
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.Id)" Title="ID" SortOrder="SortOrder.Descending" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.Type)" Title="Тип кампании" />
|
||||
<RadzenDataGridColumn Title="Прогресс" Filterable="false" Sortable="false" Resizable="false" Width="70px" MaxWidth="70px">
|
||||
<Template Context="campaign">
|
||||
<RadzenProgressBar ProgressBarStyle="@(campaign.EndedAt.HasValue ? (string.IsNullOrEmpty(campaign.FailureReason) ? ProgressBarStyle.Success : ProgressBarStyle.Danger) : ProgressBarStyle.Primary)" Value="@campaign.Progress" ShowValue="false" />
|
||||
</Template>
|
||||
</RadzenDataGridColumn>
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.CreatedAt)" Title="Дата создания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.StartedAt)" Title="Дата начала" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.EndedAt)" Title="Дата окончания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Campaign" Property="@nameof(Campaign.FailureReason)" Title="Причина ошибки" />
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
</div>
|
||||
</RadzenColumn>
|
||||
</RadzenRow>
|
||||
</RadzenStack>
|
||||
@ -113,6 +115,24 @@
|
||||
campaign.Operations = null;
|
||||
}
|
||||
|
||||
void OnCellRender(DataGridCellRenderEventArgs<Campaign> args)
|
||||
{
|
||||
if (args.Column.Property == nameof(Campaign.FailureReason))
|
||||
{
|
||||
args.Attributes.Add("class", "white-text");
|
||||
args.Attributes.Add("style", $"background-color: {(!string.IsNullOrEmpty(args.Data.FailureReason) ? "var(--rz-danger)" : "var(--rz-base-background-color)")};");
|
||||
}
|
||||
}
|
||||
|
||||
void OnCellRender(DataGridCellRenderEventArgs<Operation> args)
|
||||
{
|
||||
if (args.Column.Property == nameof(Operation.FailureReason))
|
||||
{
|
||||
args.Attributes.Add("class", "white-text");
|
||||
args.Attributes.Add("style", $"background-color: {(!string.IsNullOrEmpty(args.Data.FailureReason) ? "var(--rz-danger)" : "var(--rz-base-background-color)")};");
|
||||
}
|
||||
}
|
||||
|
||||
void ChangeState(PageState state)
|
||||
{
|
||||
if (this.state == state) return;
|
||||
|
||||
3
Hcs.WebApp/Components/Pages/Campaigns.razor.css
Normal file
3
Hcs.WebApp/Components/Pages/Campaigns.razor.css
Normal file
@ -0,0 +1,3 @@
|
||||
::deep td.white-text span {
|
||||
color: white !important;
|
||||
}
|
||||
@ -24,18 +24,20 @@
|
||||
</RadzenRow>
|
||||
<RadzenRow>
|
||||
<RadzenColumn SizeMD="12">
|
||||
<RadzenDataGrid @ref="@dataGrid" TItem="Operation" Data="@operations" IsLoading="@(state != PageState.Idle)" AllowFiltering="true" AllowPaging="true" ShowPagingSummary="true" PageSizeOptions=@(new int[] { 5, 10, 20, 30 }) AllowSorting="true" AllowColumnResize="true">
|
||||
<Columns>
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.Id)" Title="ID" SortOrder="SortOrder.Descending" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.CampaignId)" Title="ID кампании" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.Type)" Title="Тип операции" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.CreatedAt)" Title="Дата создания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.StartedAt)" Title="Дата начала" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.EndedAt)" Title="Дата окончания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.MessageGuid)" Title="ID сообщения" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.FailureReason)" Title="Причина ошибки" />
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
<div>
|
||||
<RadzenDataGrid @ref="@dataGrid" TItem="Operation" Data="@operations" IsLoading="@(state != PageState.Idle)" CellRender="@OnCellRender" AllowFiltering="true" AllowPaging="true" ShowPagingSummary="true" PageSizeOptions=@(new int[] { 5, 10, 20, 30 }) AllowSorting="true" AllowColumnResize="true">
|
||||
<Columns>
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.Id)" Title="ID" SortOrder="SortOrder.Descending" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.CampaignId)" Title="ID кампании" Resizable="false" Width="100px" MaxWidth="100px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.Type)" Title="Тип операции" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.CreatedAt)" Title="Дата создания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.StartedAt)" Title="Дата начала" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.EndedAt)" Title="Дата окончания" Resizable="false" Width="150px" MaxWidth="150px" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.MessageGuid)" Title="ID сообщения" />
|
||||
<RadzenDataGridColumn TItem="Operation" Property="@nameof(Operation.FailureReason)" Title="Причина ошибки" />
|
||||
</Columns>
|
||||
</RadzenDataGrid>
|
||||
</div>
|
||||
</RadzenColumn>
|
||||
</RadzenRow>
|
||||
</RadzenStack>
|
||||
@ -70,6 +72,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
void OnCellRender(DataGridCellRenderEventArgs<Operation> args)
|
||||
{
|
||||
if (args.Column.Property == nameof(Operation.FailureReason))
|
||||
{
|
||||
args.Attributes.Add("class", "white-text");
|
||||
args.Attributes.Add("style", $"background-color: {(!string.IsNullOrEmpty(args.Data.FailureReason) ? "var(--rz-danger)" : "var(--rz-base-background-color)")};");
|
||||
}
|
||||
}
|
||||
|
||||
void ChangeState(PageState state)
|
||||
{
|
||||
if (this.state == state) return;
|
||||
|
||||
3
Hcs.WebApp/Components/Pages/Operations.razor.css
Normal file
3
Hcs.WebApp/Components/Pages/Operations.razor.css
Normal file
@ -0,0 +1,3 @@
|
||||
::deep td.white-text span {
|
||||
color: white !important;
|
||||
}
|
||||
Reference in New Issue
Block a user