FruitBankHybridApp/FruitBankHybrid.Shared/Components/Grids/README.md

2.4 KiB

Grids

Domain-specific grid components, one per entity type. All inherit FruitBankGridBase<TEntity>.

For the MgGrid framework reference see: AyCode.Blazor/AyCode.Blazor.Components/docs/MGGRID/README.md

FruitBankGridBase

FruitBankGridBase<TDataItem> is the project-specific adapter that fixes the generic parameters:

MgGridBase<SignalRDataSourceObservable<TDataItem>, TDataItem, int, LoggerClient>

Adds these defaults in OnParametersSet (based on IsMasterGrid):

Setting Master Detail
SizeMode Small Small
ShowGroupPanel true false
ShowSearchBox true false
ShowFilterRow true false
FilterMenuButtonDisplayMode Never Always
DetailRowDisplayMode Auto Never
DetailExpandButtonDisplayMode Auto Never
PagerVisible true true
PageSize 20 (Small) / 15 10
AllowColumnReorder true true
AllowGroup true false
EditMode EditRow EditRow
FocusedRowEnabled true true
ColumnResizeMode NextColumn NextColumn
PageSizeSelectorVisible true true

Also adds OnCustomizeElement: alternating row colors (.alt-item), header background (#E6E6E6), hideDetailButton for non-admin users.

Legacy MgGridBase

Components/MgGridBase.cs — a non-generic legacy class that directly extends DxGrid and implements IMgGridBase. Used by older pages that predate the generic MgGridBase<…>. New grids should use FruitBankGridBase<TEntity> instead.

Subfolders

Folder Entity Notes
GenericAttributes/ GridGenericAttributeBase Context-based (ContextIds: EntityId, KeyGroup, StoreId). Parent type switching: Product, Order, OrderItem
OrderItems/ GridOrderItem Commented out — placeholder
Partners/ GridPartnerBase Simple master grid with CRUD tags
Products/ GridStockQuantityHistoryDtoBase Detail grid under ProductDto
ShippingDocuments/ GridShippingDocumentBase Parent type switching: Shipping, Product, Partner. Sets ContextIds/KeyFieldNameToParentId per parent type
ShippingItems/ GridShippingItemBase Parent type switching: ShippingDocument, Shipping, Partner
Shippings/ GridShippingBase Simple master grid with CRUD tags
StockTakingItems/ GridStockTakingItemBase Simple master grid, GetAll only