Compare commits
No commits in common. "8d4dd5aa90946519480035cc85021193f326dc49" and "935b6abf9a76796f63201c39d088b5b392f52e16" have entirely different histories.
8d4dd5aa90
...
935b6abf9a
|
|
@ -10,8 +10,8 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="DevExpress.Blazor" Version="25.1.3" />
|
|
||||||
<PackageReference Include="DevExpress.Data" Version="25.1.3" />
|
<PackageReference Include="DevExpress.Data" Version="25.1.3" />
|
||||||
|
<PackageReference Include="DevExpress.Blazor" Version="24.2.3" />
|
||||||
<PackageReference Include="MessagePack" Version="3.1.4" />
|
<PackageReference Include="MessagePack" Version="3.1.4" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.10" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="9.0.10" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.10" />
|
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.10" />
|
||||||
|
|
|
||||||
|
|
@ -12,29 +12,28 @@ using System.ComponentModel;
|
||||||
|
|
||||||
namespace AyCode.Blazor.Components.Components.Grids;
|
namespace AyCode.Blazor.Components.Components.Grids;
|
||||||
|
|
||||||
public interface IMgGridBase : IGrid
|
public interface IMgGridBase
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClient> : DxGrid, IMgGridBase
|
public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClient> : DxGrid, IMgGridBase
|
||||||
where TSignalRDataSource : AcSignalRDataSource<TDataItem, TId, List<TDataItem>>
|
where TSignalRDataSource : AcSignalRDataSource<TDataItem, TId, IList<TDataItem>>
|
||||||
where TDataItem : class, IId<TId>
|
where TDataItem : class, IId<TId> where TId : struct
|
||||||
where TId : struct
|
|
||||||
where TLoggerClient : AcLoggerBase
|
where TLoggerClient : AcLoggerBase
|
||||||
{
|
{
|
||||||
private readonly EqualityComparer<TId> _equalityComparer = EqualityComparer<TId>.Default;
|
private readonly EqualityComparer<TId> _equalityComparer = EqualityComparer<TId>.Default;
|
||||||
|
|
||||||
protected bool IsFirstInitializeParameters;
|
protected bool IsFirstInitializeParameters;
|
||||||
private TSignalRDataSource _dataSource = null!;
|
private TSignalRDataSource _dataSource = null!;
|
||||||
private List<TDataItem> _dataSourceParam = [];
|
private IList<TDataItem> _dataSourceParam = [];
|
||||||
private string _gridLogName;
|
private string _gridLogName;
|
||||||
|
|
||||||
public MgGridBase() : base()
|
public MgGridBase() : base()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected bool HasIdValue(TDataItem dataItem) => !_equalityComparer.Equals(dataItem.Id, default);//dataItem.Id.IsNullOrEmpty();
|
protected bool HasIdValue(TDataItem dataItem) => _equalityComparer.Equals(dataItem.Id, default);//dataItem.Id.IsNullOrEmpty();
|
||||||
protected bool IdEquals(TId id1, TId id2) => _equalityComparer.Equals(id1, id2);
|
protected bool IdEquals(TId id1, TId id2) => _equalityComparer.Equals(id1, id2);
|
||||||
|
|
||||||
[Parameter] public TLoggerClient Logger { get; set; }
|
[Parameter] public TLoggerClient Logger { get; set; }
|
||||||
|
|
@ -99,7 +98,7 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
|
||||||
}
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
_dataSourceParam = value as List<TDataItem>;
|
_dataSourceParam = value;
|
||||||
|
|
||||||
if (_dataSource != null!)// && _dataSourceParam is List<TDataItem> workingReferenceList)
|
if (_dataSource != null!)// && _dataSourceParam is List<TDataItem> workingReferenceList)
|
||||||
_dataSource.SetWorkingReferenceList(_dataSourceParam);
|
_dataSource.SetWorkingReferenceList(_dataSourceParam);
|
||||||
|
|
@ -168,21 +167,17 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
|
||||||
await base.OnAfterRenderAsync(firstRender);
|
await base.OnAfterRenderAsync(firstRender);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SetNewId(TDataItem dataItem)
|
|
||||||
{
|
|
||||||
//TODO: int !!! - J.
|
|
||||||
if (dataItem.Id is Guid) TypeDescriptor.GetConverter(Guid.NewGuid()).ConvertTo(dataItem.Id, typeof(TId));
|
|
||||||
}
|
|
||||||
|
|
||||||
public Task AddDataItem(TDataItem dataItem)
|
public Task AddDataItem(TDataItem dataItem)
|
||||||
{
|
{
|
||||||
if (!HasIdValue(dataItem)) SetNewId(dataItem);
|
//TODO: !!! - J.
|
||||||
|
//if (!HasIdValue(dataItem)) dataItem.Id = Guid.NewGuid();
|
||||||
return _dataSource.Add(dataItem, true);
|
return _dataSource.Add(dataItem, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task AddDataItemAsync(TDataItem dataItem)
|
public Task AddDataItemAsync(TDataItem dataItem)
|
||||||
{
|
{
|
||||||
if (!HasIdValue(dataItem)) SetNewId(dataItem);
|
//TODO: !!! - J.
|
||||||
|
//if (!HasIdValue(dataItem)) dataItem.Id = Guid.NewGuid();
|
||||||
_dataSource.Add(dataItem);
|
_dataSource.Add(dataItem);
|
||||||
|
|
||||||
return SaveChangesToServerAsync();
|
return SaveChangesToServerAsync();
|
||||||
|
|
@ -192,7 +187,8 @@ public abstract class MgGridBase<TSignalRDataSource, TDataItem, TId, TLoggerClie
|
||||||
{
|
{
|
||||||
var dataItem = (e.EditModel as TDataItem)!;
|
var dataItem = (e.EditModel as TDataItem)!;
|
||||||
|
|
||||||
if (e.IsNew && !HasIdValue(dataItem)) SetNewId(dataItem);
|
//TODO: !!! - J.
|
||||||
|
//if (e.IsNew && !HasIdValue(dataItem)) dataItem.Id = Guid.NewGuid();
|
||||||
|
|
||||||
var logText = e.IsNew ? "add" : "update";
|
var logText = e.IsNew ? "add" : "update";
|
||||||
Logger.Debug($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}");
|
Logger.Debug($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue