FruitBankHybridApp/FruitBankHybrid.Shared/Components/Grids
Loretta 254ef5ef4c Deduplicate property overrides; Shipping carrier nullable
- Fix property enumeration to dedupe overridden/shadowed properties, ensuring only the most-derived is included (affects serialization and schema).
- Update TOON_ISSUES.md: close duplicate property issue, document root cause and resolution.
- Make CargoPartnerId nullable in Shipping and IShipping; clarify ToonDescription for carrier/truck/trailer fields.
- Refine ShippingDocument ToonDescription for clarity.
- Minor null-safety and style cleanup in GridShipping.razor.
2026-05-31 14:52:40 +02:00
..
Cargos Add CargoPartner/CargoTruck entities and logistics links 2026-05-31 14:00:44 +02:00
GenericAttributes Improve docs, naming, and reference handling for Toon/DTOs 2026-01-16 09:28:17 +01:00
OrderItems improvements, fixes 2025-11-26 09:42:17 +01:00
Partners Add CargoPartner management UI and API integration 2026-05-28 19:48:18 +02:00
Products Improve toolbar controls and async UX in stock taking 2026-02-07 08:55:00 +01:00
ShippingDocuments Enhance grids: add links, format dates, show modifiers 2026-02-23 18:04:43 +01:00
ShippingItems .Net10, VS2026; StockTaking in progress... 2025-12-01 16:18:47 +01:00
Shippings Deduplicate property overrides; Shipping carrier nullable 2026-05-31 14:52:40 +02:00
StockTakingItems Allow info panel collapse, improve grids, update SignalR 2026-03-22 16:04:17 +01:00
FruitBankGridBase.cs Add user layout management to grids with toolbar actions 2025-12-23 11:10:19 +01:00
README.md [LOADED_DOCS: 4 files, no new loads] 2026-04-24 21:54:04 +02:00

README.md

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