Enhance grids: add links, format dates, show modifiers

- Made ID columns clickable links to related edit pages
- Added ModifierId and Modified columns to item/pallet grids
- Applied consistent date formatting ("yyyy.MM.dd hh:mm")
- Updated usings for required namespaces
- Cleaned up lazy loading code and added null checks for safety
This commit is contained in:
Loretta 2026-02-23 18:04:43 +01:00
parent a7387f88cf
commit 73ee9fade1
5 changed files with 28 additions and 13 deletions

View File

@ -20,7 +20,7 @@
<Columns>
<MgGridDataColumn FieldName="Id" SortIndex="0" SortOrder="GridColumnSortOrder.Descending"
UrlLink=@(FruitBankConstClient.BaseUrl+"/Admin/Order/Edit/{Id}") />
<DxGridDataColumn FieldName="CustomerId" />
<MgGridDataColumn FieldName="CustomerId" UrlLink=@(FruitBankConstClient.BaseUrl + "/Admin/Customer/Edit/{CustomerId}") />
<DxGridDataColumn FieldName="@("Customer.Company")" Caption="Company" ReadOnly="true" />
<DxGridDataColumn FieldName="OrderStatus" />
<DxGridDataColumn FieldName="IsMeasurable" ReadOnly="true" />
@ -31,10 +31,10 @@
<DxGridDataColumn FieldName="IsAllOrderItemAvgWeightValid" ReadOnly="true" Caption="AvgWeightValid" />
<DxGridDataColumn FieldName="RevisorId" ReadOnly="true" />
<DxGridDataColumn FieldName="MeasurementOwnerId" ReadOnly="true" />
<DxGridDataColumn FieldName="DateOfReceipt" />
<DxGridDataColumn FieldName="CreatedOnUtc" ReadOnly="true" />
<MgGridDataColumn FieldName="RevisorId" ReadOnly="true" UrlLink=@(FruitBankConstClient.BaseUrl + "/Admin/Customer/Edit/{RevisorId}") />
<MgGridDataColumn FieldName="MeasurementOwnerId" ReadOnly="true" UrlLink=@(FruitBankConstClient.BaseUrl + "/Admin/Customer/Edit/{MeasurementOwnerId}") />
<DxGridDataColumn FieldName="DateOfReceipt" DisplayFormat="yyyy.MM.dd hh:mm" />
<DxGridDataColumn FieldName="CreatedOnUtc" ReadOnly="true" DisplayFormat="yyyy.MM.dd hh:mm" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="120"></DxGridCommandColumn>
</Columns>
<DetailRowTemplate>

View File

@ -1,6 +1,7 @@
@using AyCode.Blazor.Components.Components.Grids
@using AyCode.Core.Helpers
@using AyCode.Utils.Extensions
@using FruitBank.Common
@using FruitBank.Common.Dtos
@using FruitBank.Common.Models
@using FruitBankHybrid.Shared.Components.Grids.GenericAttributes
@ -18,7 +19,7 @@
FilterMenuButtonDisplayMode="@(IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always)">
<Columns>
<DxGridDataColumn FieldName="Id" />
<DxGridDataColumn FieldName="OrderId" />
<MgGridDataColumn FieldName="OrderId" UrlLink=@(FruitBankConstClient.BaseUrl + "/Admin/Order/Edit/{OrderId}") />
<DxGridDataColumn FieldName="@("OrderDto.Customer.Company")" Caption="Company" ReadOnly="true" />
<DxGridDataColumn FieldName="ProductId">
<EditSettings>
@ -49,7 +50,7 @@
<DxGridDataColumn FieldName="AverageWeightDifference" ReadOnly="true" Visible="false" Caption="AvgWeightDiff" />
<DxGridDataColumn FieldName="AverageWeightIsValid" ReadOnly="true" Caption="AvgWeightValid" />
<DxGridDataColumn FieldName="IsAudited" ReadOnly="true" />
<DxGridDataColumn FieldName="@("OrderDto.CreatedOnUtc")" Caption="Rendelés ideje" ReadOnly="true" />
<DxGridDataColumn FieldName="@("OrderDto.CreatedOnUtc")" Caption="Rendelés ideje" ReadOnly="true" DisplayFormat="yyyy.MM.dd hh:mm" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="120"></DxGridCommandColumn>
</Columns>
<DetailRowTemplate>

View File

@ -1,5 +1,6 @@
@using AyCode.Blazor.Components.Components.Grids
@using AyCode.Utils.Extensions
@using FruitBank.Common
@using FruitBank.Common.Dtos
@using FruitBank.Common.Entities
@using FruitBank.Common.Models
@ -32,6 +33,10 @@
<DxGridDataColumn FieldName="IsMeasured" ReadOnly="true" />
<DxGridDataColumn FieldName="IsAudited" ReadOnly="true" />
<MgGridDataColumn FieldName="@nameof(OrderItemPallet.ModifierId)" ReadOnly="true" UrlLink=@(FruitBankConstClient.BaseUrl + "/Admin/Customer/Edit/{ModifierId}") />
<DxGridDataColumn FieldName="@nameof(OrderItemPallet.Modified)" ReadOnly="true" DisplayFormat="yyyy.MM.dd hh:mm" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="120"></DxGridCommandColumn>
</Columns>
<ToolbarTemplate>

View File

@ -1,10 +1,14 @@
@using AyCode.Utils.Extensions
@using AyCode.Blazor.Components.Components.Grids
@using AyCode.Utils.Extensions
@using FruitBank.Common
@using FruitBank.Common.Dtos
@using FruitBank.Common.Entities
@using FruitBank.Common.Models
@using FruitBankHybrid.Shared.Databases
@using FruitBankHybrid.Shared.Services.SignalRs
@inject FruitBankSignalRClient FruitBankSignalRClient
@inject LoggedInModel LoggedInModel
<MgGridBase @ref="gridOrderItemPallet" Data="ShippingItemPallets" IsMasterGrid="IsMasterGrid" AutoSaveLayoutName="GridShippingItemPallets"
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
@ -26,6 +30,10 @@
<DxGridDataColumn FieldName="NetWeight" />
<DxGridDataColumn FieldName="IsMeasured" ReadOnly="true" />
<MgGridDataColumn FieldName="@nameof(ShippingItemPallet.ModifierId)" ReadOnly="true" UrlLink=@(FruitBankConstClient.BaseUrl + "/Admin/Customer/Edit/{ModifierId}") />
<DxGridDataColumn FieldName="@nameof(ShippingItemPallet.Modified)" ReadOnly="true" DisplayFormat="yyyy.MM.dd hh:mm" />
<DxGridCommandColumn Visible="!IsMasterGrid" Width="120"></DxGridCommandColumn>
</Columns>
<GroupSummary>

View File

@ -72,15 +72,16 @@
</table>
}
<MgLazyLoadContent @ref="_lazyContentRef"
@* <MgLazyLoadContent @ref="_lazyContentRef"
MinHeight="800px"
RootMargin="50px"
OnContentVisible="OnPdfContainerVisibleAsync"
ContainerStyle="margin-top: 30px;">
<div id="pdfContainer" style="width: 100%; height: 800px; overflow-y: auto;">
</div>
</MgLazyLoadContent>
</AfterColumnsTemplate>
</MgLazyLoadContent>*@
</AfterColumnsTemplate>
@* <FooterTemplate Context="ctx">
<div class="p-2 border-top d-flex gap-2">
@ -113,13 +114,13 @@
if (dataItem is not ShippingDocument && dataItem is not ShippingItem) return;
ShippingDocument? shippingDocument = null;
if (dataItem is ShippingItem shippingItem) shippingDocument = shippingItem.ShippingDocument;
else shippingDocument = dataItem as ShippingDocument;
if (shippingDocument == null) return;
if (shippingDocument.ShippingDocumentToFiles?.Count > 0)
if (_lazyContentRef != null && shippingDocument.ShippingDocumentToFiles?.Count > 0)
{
// Store the PDF to render
_randomPdf = _pdfFiles[Random.Shared.Next(_pdfFiles.Length)];