FruitBankHybridApp/FruitBankHybrid.Shared/Components/Grids
Loretta e393718c20 Document FruitBankGridBase and update grid conventions
Expanded and clarified grid documentation:
- Grids/README.md now details FruitBankGridBase<TEntity> usage, default settings, and legacy MgGridBase.
- Main README.md and ARCHITECTURE.md reference Grids/README.md for grid details.
- Subfolder table in Grids/README.md includes descriptive notes.
- CONVENTIONS.md: removed outdated layout key section, streamlined code reuse guidance.
- GLOSSARY.md links to canonical MgGrid docs and new grid base docs.
- copilot-instructions.md: clarified .md sync rules and documentation layering.
These changes ensure clear, layered, and non-redundant grid documentation.
2026-03-29 18:30:33 +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 user layout management to grids with toolbar actions 2025-12-23 11:10:19 +01: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 shipping updates 2026-03-02 12:14:20 +01: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 Document FruitBankGridBase and update grid conventions 2026-03-29 18:30:33 +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/docs/MGGRID.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