FruitBankHybridApp/FruitBankHybrid.Shared/Components/Grids
Loretta 42f5c86ce4 Add environment guard & EKÁER NAV submit; test safety
- Integration tests now fail fast if run against PROD, using a new TestServerGuard and async [TestInitialize] methods.
- Test config is unified via shared appsettings.json, loaded at assembly init.
- SignalR protocol extended: server announces environment on connect; client hydrates and verifies environment, logging changes.
- EKÁER grid supports NAV submission with async UI and status updates.
- Backend and protocol updated for SendEkaerToNav support.
- Minor UI and error handling improvements.
2026-07-13 19:00:13 +02:00
..
Cargos Add EKÁER XML generation, validation, and tests 2026-06-10 18:09:33 +02:00
Ekaers Add environment guard & EKÁER NAV submit; test safety 2026-07-13 19:00:13 +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 EKÁER XML generation, validation, and tests 2026-06-10 18:09:33 +02:00
Products Improve toolbar controls and async UX in stock taking 2026-02-07 08:55:00 +01:00
ShippingDocuments Isolate InfoPanel templates, document DataItem contract 2026-07-13 08:57:07 +02:00
ShippingItems .Net10, VS2026; StockTaking in progress... 2025-12-01 16:18:47 +01:00
Shippings Add EKÁER XML generation, validation, and tests 2026-06-10 18:09:33 +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