# Glossary Blazor/MAUI UI terminology. For core framework terms see `AyCode.Core/docs/GLOSSARY.md`. ## UI Components | Term | Definition | |---|---| | **DxGrid** | DevExpress Blazor data grid. Used with `AcSignalRDataSource` for real-time SignalR data. | | **CardView** | Card-style layout wrapping DxGrid. Mobile-friendly alternative to table grids. | | **AcSignalRDataSource** | Grid data source backed by SignalR. Handles load, CRUD, filtering, and change tracking. See `AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md` in AyCode.Core repo. | | **AcExpressionNode** | Serializable LINQ expression tree. Grid filters are serialized as expression nodes and sent to server. | ## MgGrid System For full technical reference see `AyCode.Blazor.Components/docs/MGGRID.md`. | Term | Definition | |---|---| | **MgGridBase** | Abstract generic grid component extending `DxGrid` with SignalR CRUD, layout persistence, master-detail, InfoPanel, fullscreen. | | **MgGridWithInfoPanel** | `DxSplitter` wrapper: grid (left pane) + InfoPanel (right pane), fullscreen overlay, splitter size persistence. | | **MgGridToolbarBase** | `DxToolbar` base with `Grid` (`IMgGridBase`) reference and `RefreshClick` callback. | | **MgGridToolbarTemplate** | Full toolbar: New/Edit/Delete/Save/Cancel, row navigation, layout menu, export, fullscreen. Extensible via `ToolbarItemsExtended`. | | **MgGridDataColumn** | Extended `DxGridDataColumn` with InfoPanel parameters and `UrlLink` template (`{Property}` placeholders). | | **MgGridInfoPanel** | Default InfoPanel: column-value pairs for focused row, responsive columns, edit mode with typed editors, template system. | | **MgGridSignalRDataSource** | `GridCustomDataSource` wrapping `AcSignalRDataSource`. Local cache, background refresh. | | **IMgGridBase** | Public interface: `IsSyncing`, `GridEditState`, `ParentGrid`, `StepPrevRow/NextRow`, layout persistence methods. | | **MgGridEditState** | Enum: `None` (no edit), `New` (adding item), `Edit` (modifying item). | | **SignalRCrudTags** | Bundle of 5 integer message tags (GetAll, GetItem, Add, Update, Remove) for one entity type. See `AyCode.Services.Server/docs/SIGNALR_DATASOURCE.md` in AyCode.Core repo. | | **IsMasterGrid** | `true` when `ParentDataItem == null` — top-level grid (not detail). | | **AutoSaveLayoutName** | Base name for localStorage layout keys. Default: `"Grid{TDataItem.Name}"`. | ## Architecture | Term | Definition | |---|---| | **Blazor Hybrid** | MAUI app hosting Blazor components via WebView. Shares UI code between web and native. | | **DLL Reference** | AyCode.Core projects are referenced as DLLs (not ProjectReference). This is intentional — separates solution build graphs. | | **AcBinaryHubProtocol** | Custom SignalR hub protocol using AcBinary serializer instead of default JSON. Used for performance. | ## Authentication | Term | Definition | |---|---| | **AcBlazorLoginServiceBase** | Client-side login service managing JWT tokens, SecureStorage, and auto-refresh. | | **AcAuthenticationStateProvider** | Custom Blazor auth state provider backed by JWT claims. | ## MAUI Platforms | Term | Definition | |---|---| | **Platforms/** | Per-platform code folders: Android, iOS, Windows. MAUI SDK auto-includes based on target. | | **API 33+** | Minimum Android API level (Android 13). |