Compare commits
3 Commits
8e5b13e90c
...
7322af703b
| Author | SHA1 | Date |
|---|---|---|
|
|
7322af703b | |
|
|
7c47d212f2 | |
|
|
04f0d7d3e3 |
File diff suppressed because one or more lines are too long
|
|
@ -16,7 +16,6 @@
|
||||||
<PackageReference Include="DevExpress.Data" Version="25.1.3" />
|
<PackageReference Include="DevExpress.Data" Version="25.1.3" />
|
||||||
<PackageReference Include="MessagePack" Version="3.1.4" />
|
<PackageReference Include="MessagePack" Version="3.1.4" />
|
||||||
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Core" Version="1.2.0" />
|
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.11" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.11" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="9.0.11" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="9.0.11" />
|
||||||
|
|
||||||
|
|
@ -41,9 +40,6 @@
|
||||||
<Reference Include="AyCode.Services">
|
<Reference Include="AyCode.Services">
|
||||||
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\$(_AyCodeCoresReferenceBuildSubPath)\AyCode.Services.dll</HintPath>
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\$(_AyCodeCoresReferenceBuildSubPath)\AyCode.Services.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="AyCode.Services.Server">
|
|
||||||
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\$(_AyCodeCoresReferenceBuildSubPath)\AyCode.Services.Server.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="AyCode.Utils">
|
<Reference Include="AyCode.Utils">
|
||||||
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\$(_AyCodeCoresReferenceBuildSubPath)\AyCode.Utils.dll</HintPath>
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\$(_AyCodeCoresReferenceBuildSubPath)\AyCode.Utils.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ using AyCode.Core.Enums;
|
||||||
using AyCode.Core.Helpers;
|
using AyCode.Core.Helpers;
|
||||||
using AyCode.Core.Interfaces;
|
using AyCode.Core.Interfaces;
|
||||||
using AyCode.Core.Loggers;
|
using AyCode.Core.Loggers;
|
||||||
using AyCode.Services.Server.SignalRs;
|
|
||||||
using AyCode.Services.SignalRs;
|
using AyCode.Services.SignalRs;
|
||||||
using AyCode.Utils.Extensions;
|
using AyCode.Utils.Extensions;
|
||||||
using DevExpress.Blazor;
|
using DevExpress.Blazor;
|
||||||
|
|
|
||||||
|
|
@ -256,12 +256,19 @@ public partial class MgGridInfoPanel : ComponentBase, IAsyncDisposable, IInfoPan
|
||||||
return displayText;
|
return displayText;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply column's DisplayFormat if available
|
// Apply column's DisplayFormat if available.
|
||||||
|
// A DxGrid kétféle formátumot fogad: kompozit ("{0:yyyy.MM.dd}") és sima formátum-specifikáló
|
||||||
|
// ("yyyy.MM.dd HH:mm"). A string.Format csak a kompozitot érti — placeholder nélküli formátumnál
|
||||||
|
// NEM dob hibát, hanem a format-stringet adja vissza szó szerint, ezért külön ág kell.
|
||||||
if (!string.IsNullOrEmpty(column.DisplayFormat))
|
if (!string.IsNullOrEmpty(column.DisplayFormat))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return string.Format(column.DisplayFormat, value);
|
if (column.DisplayFormat.Contains("{0"))
|
||||||
|
return string.Format(column.DisplayFormat, value);
|
||||||
|
|
||||||
|
if (value is IFormattable formattable)
|
||||||
|
return formattable.ToString(column.DisplayFormat, null);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
using AyCode.Core.Helpers;
|
using AyCode.Core.Helpers;
|
||||||
using AyCode.Core.Interfaces;
|
using AyCode.Core.Interfaces;
|
||||||
using AyCode.Core.Loggers;
|
using AyCode.Core.Loggers;
|
||||||
using AyCode.Services.Server.SignalRs;
|
|
||||||
using AyCode.Services.SignalRs;
|
using AyCode.Services.SignalRs;
|
||||||
using DevExpress.Blazor;
|
using DevExpress.Blazor;
|
||||||
using DevExpress.Data.Filtering;
|
using DevExpress.Data.Filtering;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
# MgGrid — DataSource
|
# MgGrid — DataSource
|
||||||
|
|
||||||
> Part of the MgGrid system. See `README.md` for overview and component hierarchy.
|
> Part of the MgGrid system. See `README.md` for overview and component hierarchy.
|
||||||
> For the underlying `AcSignalRDataSource`: `AyCode.Services.Server/docs/SIGNALR_DATASOURCE/README.md` (in AyCode.Core repo)
|
> For the underlying `AcSignalRDataSource`: `AyCode.Services/docs/SIGNALR_DATASOURCE/README.md` (in AyCode.Core repo)
|
||||||
|
|
||||||
## MgGridSignalRDataSource
|
## MgGridSignalRDataSource
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@
|
||||||
| `UpdateMessageTag` | `int` | Tag for "update item" request |
|
| `UpdateMessageTag` | `int` | Tag for "update item" request |
|
||||||
| `RemoveMessageTag` | `int` | Tag for "remove item" request |
|
| `RemoveMessageTag` | `int` | Tag for "remove item" request |
|
||||||
|
|
||||||
These are bundled into a `SignalRCrudTags` during `OnInitializedAsync`. See `AyCode.Services.Server/docs/SIGNALR_DATASOURCE/README.md` (in AyCode.Core repo) for details.
|
These are bundled into a `SignalRCrudTags` during `OnInitializedAsync`. See `AyCode.Services/docs/SIGNALR_DATASOURCE/README.md` (in AyCode.Core repo) for details.
|
||||||
|
|
||||||
## Data & Context Parameters
|
## Data & Context Parameters
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
> Comprehensive documentation for the **MgGrid** component family — the primary UI data grid pattern in the AyCode.Blazor framework.
|
> Comprehensive documentation for the **MgGrid** component family — the primary UI data grid pattern in the AyCode.Blazor framework.
|
||||||
> Source: `Components/Grids/`
|
> Source: `Components/Grids/`
|
||||||
> For SignalR transport: `AyCode.Services/docs/SIGNALR/README.md` (in AyCode.Core repo)
|
> For SignalR transport: `AyCode.Services/docs/SIGNALR/README.md` (in AyCode.Core repo)
|
||||||
> For `AcSignalRDataSource`: `AyCode.Services.Server/docs/SIGNALR_DATASOURCE/README.md` (in AyCode.Core repo)
|
> For `AcSignalRDataSource`: `AyCode.Services/docs/SIGNALR_DATASOURCE/README.md` (in AyCode.Core repo)
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
|
@ -59,7 +59,7 @@ MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClient>
|
||||||
|
|
||||||
| Parameter | Constraint | Purpose |
|
| Parameter | Constraint | Purpose |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| `TSignalRDataSource` | `: AcSignalRDataSource<…>` | SignalR-backed data source (see `AyCode.Services.Server/docs/SIGNALR_DATASOURCE/README.md` in AyCode.Core repo) |
|
| `TSignalRDataSource` | `: AcSignalRDataSource<…>` | SignalR-backed data source (see `AyCode.Services/docs/SIGNALR_DATASOURCE/README.md` in AyCode.Core repo) |
|
||||||
| `TDataItem` | `: class, IId<TId>` | Entity type displayed in the grid |
|
| `TDataItem` | `: class, IId<TId>` | Entity type displayed in the grid |
|
||||||
| `TId` | `: struct` | Primary key type (`int`, `Guid`) |
|
| `TId` | `: struct` | Primary key type (`int`, `Guid`) |
|
||||||
| `TLoggerClient` | `: AcLoggerBase` | Logger for diagnostics |
|
| `TLoggerClient` | `: AcLoggerBase` | Logger for diagnostics |
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ Blazor/MAUI UI terminology. For core framework terms see `AyCode.Core/docs/GLOSS
|
||||||
|---|---|
|
|---|---|
|
||||||
| **DxGrid** | DevExpress Blazor data grid. Used with `AcSignalRDataSource` for real-time SignalR data. |
|
| **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. |
|
| **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/README.md` in AyCode.Core repo. |
|
| **AcSignalRDataSource** | Grid data source backed by SignalR. Handles load, CRUD, filtering, and change tracking. See `AyCode.Services/docs/SIGNALR_DATASOURCE/README.md` in AyCode.Core repo. |
|
||||||
| **AcExpressionNode** | Serializable LINQ expression tree. Grid filters are serialized as expression nodes and sent to server. |
|
| **AcExpressionNode** | Serializable LINQ expression tree. Grid filters are serialized as expression nodes and sent to server. |
|
||||||
|
|
||||||
## MgGrid System
|
## MgGrid System
|
||||||
|
|
@ -26,7 +26,7 @@ For full technical reference see `AyCode.Blazor.Components/docs/MGGRID/README.md
|
||||||
| **MgGridSignalRDataSource** | `GridCustomDataSource` wrapping `AcSignalRDataSource`. Local cache, background refresh. |
|
| **MgGridSignalRDataSource** | `GridCustomDataSource` wrapping `AcSignalRDataSource`. Local cache, background refresh. |
|
||||||
| **IMgGridBase** | Public interface: `IsSyncing`, `GridEditState`, `ParentGrid`, `StepPrevRow/NextRow`, layout persistence methods. |
|
| **IMgGridBase** | Public interface: `IsSyncing`, `GridEditState`, `ParentGrid`, `StepPrevRow/NextRow`, layout persistence methods. |
|
||||||
| **MgGridEditState** | Enum: `None` (no edit), `New` (adding item), `Edit` (modifying item). |
|
| **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/README.md` in AyCode.Core repo. |
|
| **SignalRCrudTags** | Bundle of 5 integer message tags (GetAll, GetItem, Add, Update, Remove) for one entity type. See `AyCode.Services/docs/SIGNALR_DATASOURCE/README.md` in AyCode.Core repo. |
|
||||||
| **IsMasterGrid** | `true` when `ParentDataItem == null` — top-level grid (not detail). |
|
| **IsMasterGrid** | `true` when `ParentDataItem == null` — top-level grid (not detail). |
|
||||||
| **AutoSaveLayoutName** | Base name for localStorage layout keys. Default: `"Grid{TDataItem.Name}"`. |
|
| **AutoSaveLayoutName** | Base name for localStorage layout keys. Default: `"Grid{TDataItem.Name}"`. |
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue