Refactor docs: topic folders, TOON, XCUT, protocol sync - Migrated all topic documentation into dedicated folders with canonical `README.md`, `ISSUES.md`, and `TODO.md` per topic (e.g., `LOGGING/`, `SIGNALR/`, `BINARY/`, `TOON/`). - Added comprehensive TOON serializer documentation: design, format, options, attributes, inference, issues, and TODOs. - Introduced `XCUT` folder for cross-cutting issues and TODOs, with canonical entries and topic cross-references. - Updated all references and navigation to use new folder-based doc paths; fixed links and clarified doc structure. - Enhanced AI agent protocol: enforce session skill preloading, `[LOADED_DOCS: ...]` short-name prefix, and mandatory `docs-check` skill for doc/code sync. - Updated `.csproj` to include all `README.md` files for IDE visibility. - Improved and clarified SignalR, grid, and project-level documentation. - Minor code/test tweaks and doc content corrections for consistency. |
||
|---|---|---|
| .. | ||
| 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 |