- 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. |
||
|---|---|---|
| .. | ||
| Cargos | ||
| GenericAttributes | ||
| OrderItems | ||
| Partners | ||
| Products | ||
| ShippingDocuments | ||
| ShippingItems | ||
| Shippings | ||
| StockTakingItems | ||
| FruitBankGridBase.cs | ||
| README.md | ||
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 |