Improvements, fixes, etc...
This commit is contained in:
parent
955d7ec963
commit
c1f8dcbf5d
|
|
@ -43,9 +43,6 @@
|
||||||
<Reference Include="Mango.Nop.Core">
|
<Reference Include="Mango.Nop.Core">
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll</HintPath>
|
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nop.Core">
|
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
using FruitBank.Common.Interfaces;
|
using FruitBank.Common.Interfaces;
|
||||||
using Mango.Nop.Core.Dtos;
|
using Mango.Nop.Core.Dtos;
|
||||||
using Nop.Core.Domain.Catalog;
|
//using Nop.Core.Domain.Catalog;
|
||||||
|
|
||||||
namespace FruitBank.Common.Dtos;
|
namespace FruitBank.Common.Dtos;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ using Mango.Nop.Core.Extensions;
|
||||||
using Mango.Nop.Core.Interfaces;
|
using Mango.Nop.Core.Interfaces;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Nop.Core;
|
using Nop.Core;
|
||||||
using Nop.Core.Domain.Catalog;
|
//using Nop.Core.Domain.Catalog;
|
||||||
using Nop.Core.Domain.Common;
|
using Nop.Core.Domain.Common;
|
||||||
using Nop.Core.Domain.Orders;
|
using Nop.Core.Domain.Orders;
|
||||||
using System.Diagnostics.CodeAnalysis;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ using Mango.Nop.Core.Dtos;
|
||||||
using Mango.Nop.Core.Extensions;
|
using Mango.Nop.Core.Extensions;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using Nop.Core;
|
using Nop.Core;
|
||||||
using Nop.Core.Domain.Catalog;
|
//using Nop.Core.Domain.Catalog;
|
||||||
using Nop.Core.Domain.Common;
|
using Nop.Core.Domain.Common;
|
||||||
using Nop.Core.Domain.Orders;
|
using Nop.Core.Domain.Orders;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
|
|
@ -16,7 +16,7 @@ public class ProductDto : MgProductDto, IProductDto
|
||||||
{
|
{
|
||||||
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
||||||
private static Expression<Func<ProductDto, GenericAttribute, bool>> RelationWithGenericAttribute => (orderItemDto, genericAttribute) =>
|
private static Expression<Func<ProductDto, GenericAttribute, bool>> RelationWithGenericAttribute => (orderItemDto, genericAttribute) =>
|
||||||
orderItemDto.Id == genericAttribute.EntityId && genericAttribute.KeyGroup == nameof(Product);
|
orderItemDto.Id == genericAttribute.EntityId && genericAttribute.KeyGroup == "Product";// nameof(Product);
|
||||||
|
|
||||||
|
|
||||||
[Association(ThisKey = nameof(Id), OtherKey = nameof(GenericAttribute.EntityId), ExpressionPredicate = nameof(RelationWithGenericAttribute), CanBeNull = false)]
|
[Association(ThisKey = nameof(Id), OtherKey = nameof(GenericAttribute.EntityId), ExpressionPredicate = nameof(RelationWithGenericAttribute), CanBeNull = false)]
|
||||||
|
|
@ -26,8 +26,8 @@ public class ProductDto : MgProductDto, IProductDto
|
||||||
{ }
|
{ }
|
||||||
public ProductDto(int productId) : base(productId)
|
public ProductDto(int productId) : base(productId)
|
||||||
{ }
|
{ }
|
||||||
public ProductDto(Product product) : base(product)
|
//public ProductDto(Product product) : base(product)
|
||||||
{ }
|
//{ }
|
||||||
|
|
||||||
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
[NotColumn, JsonIgnore, System.Text.Json.Serialization.JsonIgnore]
|
||||||
public bool IsMeasurable
|
public bool IsMeasurable
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ using Mango.Nop.Core.Entities;
|
||||||
using Nop.Core.Domain.Customers;
|
using Nop.Core.Domain.Customers;
|
||||||
using Nop.Core.Domain.Orders;
|
using Nop.Core.Domain.Orders;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using Nop.Core.Domain.Catalog;
|
//using Nop.Core.Domain.Catalog;
|
||||||
using DataType = LinqToDB.DataType;
|
using DataType = LinqToDB.DataType;
|
||||||
using FruitBank.Common.Dtos;
|
using FruitBank.Common.Dtos;
|
||||||
using FruitBank.Common.Enums;
|
using FruitBank.Common.Enums;
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,6 @@
|
||||||
<Reference Include="Mango.Nop.Core">
|
<Reference Include="Mango.Nop.Core">
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll</HintPath>
|
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nop.Core">
|
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ using FruitBank.Common.Entities;
|
||||||
using FruitBank.Common.Enums;
|
using FruitBank.Common.Enums;
|
||||||
using Mango.Nop.Core.Dtos;
|
using Mango.Nop.Core.Dtos;
|
||||||
using Mango.Nop.Core.Interfaces;
|
using Mango.Nop.Core.Interfaces;
|
||||||
using Nop.Core.Domain.Catalog;
|
//using Nop.Core.Domain.Catalog;
|
||||||
|
|
||||||
namespace FruitBank.Common.Interfaces;
|
namespace FruitBank.Common.Interfaces;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
using AyCode.Interfaces.TimeStampInfo;
|
using AyCode.Interfaces.TimeStampInfo;
|
||||||
using FruitBank.Common.Dtos;
|
using FruitBank.Common.Dtos;
|
||||||
using FruitBank.Common.Entities;
|
using FruitBank.Common.Entities;
|
||||||
using Nop.Core.Domain.Catalog;
|
//using Nop.Core.Domain.Catalog;
|
||||||
|
|
||||||
namespace FruitBank.Common.Interfaces;
|
namespace FruitBank.Common.Interfaces;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,9 +37,6 @@
|
||||||
<Reference Include="Mango.Nop.Services">
|
<Reference Include="Mango.Nop.Services">
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Services\bin\FruitBank\Debug\net9.0\Mango.Nop.Services.dll</HintPath>
|
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Services\bin\FruitBank\Debug\net9.0\Mango.Nop.Services.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nop.Core">
|
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
@inject FruitBankSignalRClient FruitBankSignalRClient
|
@inject FruitBankSignalRClient FruitBankSignalRClient
|
||||||
|
|
||||||
<MgGridBase Data="OrderDtos" IsMasterGrid="IsMasterGrid"
|
<MgGridBase Data="OrderDtos" IsMasterGrid="IsMasterGrid" AutoSaveLayoutName="GridDetailOrderDto"
|
||||||
ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
||||||
AutoExpandAllGroupRows="false"
|
AutoExpandAllGroupRows="false"
|
||||||
ColumnResizeMode="GridColumnResizeMode.NextColumn" VirtualScrollingEnabled="IsMasterGrid"
|
ColumnResizeMode="GridColumnResizeMode.NextColumn" VirtualScrollingEnabled="IsMasterGrid"
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
<MgGridBase Data="OrderItemDtos" IsMasterGrid="IsMasterGrid"
|
<MgGridBase Data="OrderItemDtos" IsMasterGrid="IsMasterGrid"
|
||||||
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
||||||
AutoExpandAllGroupRows="false"
|
AutoExpandAllGroupRows="false" AutoSaveLayoutName="GridDetailOrderItemDto"
|
||||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||||
FilterMenuButtonDisplayMode="@(IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always)">
|
FilterMenuButtonDisplayMode="@(IsMasterGrid ? GridFilterMenuButtonDisplayMode.Never : GridFilterMenuButtonDisplayMode.Always)">
|
||||||
<Columns>
|
<Columns>
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
@inject FruitBankSignalRClient FruitBankSignalRClient
|
@inject FruitBankSignalRClient FruitBankSignalRClient
|
||||||
|
|
||||||
<MgGridBase @ref="gridOrderItemPallet" Data="OrderItemPallets" IsMasterGrid="IsMasterGrid"
|
<MgGridBase @ref="gridOrderItemPallet" Data="OrderItemPallets" IsMasterGrid="IsMasterGrid" AutoSaveLayoutName="GridDetailOrderItemPallets"
|
||||||
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
||||||
AutoExpandAllGroupRows="false"
|
AutoExpandAllGroupRows="false"
|
||||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
@inject FruitBankSignalRClient FruitBankSignalRClient
|
@inject FruitBankSignalRClient FruitBankSignalRClient
|
||||||
|
|
||||||
<GridProductDto Data="ProductDtos" IsMasterGrid="IsMasterGrid" FocusedRowChanged="OnFocusedRowChanged">
|
<GridProductDto Data="ProductDtos" IsMasterGrid="IsMasterGrid" FocusedRowChanged="OnFocusedRowChanged" AutoSaveLayoutName="GridProductDtoTemplate">
|
||||||
<Columns>
|
<Columns>
|
||||||
<DxGridDataColumn FieldName="Id" SortIndex="0" SortOrder="GridColumnSortOrder.Ascending" />
|
<DxGridDataColumn FieldName="Id" SortIndex="0" SortOrder="GridColumnSortOrder.Ascending" />
|
||||||
<DxGridDataColumn FieldName="Name" />
|
<DxGridDataColumn FieldName="Name" />
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
@inject FruitBankSignalRClient FruitBankSignalRClient
|
@inject FruitBankSignalRClient FruitBankSignalRClient
|
||||||
|
|
||||||
<MgGridBase @ref="Grid" Data="Shippings" IsMasterGrid="IsMasterGrid"
|
<MgGridBase @ref="Grid" Data="Shippings" IsMasterGrid="IsMasterGrid" AutoSaveLayoutName="GridShipping"
|
||||||
EditOnKeyPress="true"
|
EditOnKeyPress="true"
|
||||||
ValidationEnabled="false"
|
ValidationEnabled="false"
|
||||||
EditModelSaving="Grid_EditModelSaving">
|
EditModelSaving="Grid_EditModelSaving">
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
@inject FruitBankSignalRClient FruitBankSignalRClient
|
@inject FruitBankSignalRClient FruitBankSignalRClient
|
||||||
|
|
||||||
<MgGridBase @ref="Grid" CssClass="@GridCss" Data="@ShippingDocuments" IsMasterGrid="@IsMasterGrid"
|
<MgGridBase @ref="Grid" CssClass="@GridCss" Data="@ShippingDocuments" IsMasterGrid="@IsMasterGrid" AutoSaveLayoutName="GridShippingDocument"
|
||||||
ValidationEnabled="false" EditMode="GridEditMode.EditRow"
|
ValidationEnabled="false" EditMode="GridEditMode.EditRow"
|
||||||
EditModelSaving="Grid_EditModelSaving"
|
EditModelSaving="Grid_EditModelSaving"
|
||||||
FocusedRowChanged="Grid_FocusedRowChanged">
|
FocusedRowChanged="Grid_FocusedRowChanged">
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
Contact Phone: @OrderDto.Email
|
Contact Phone: @OrderDto.Email
|
||||||
</div> *@
|
</div> *@
|
||||||
|
|
||||||
<MgGridBase @ref="Grid" Data="ShippingItems" IsMasterGrid="IsMasterGrid" CssClass="@GridCss"
|
<MgGridBase @ref="Grid" Data="ShippingItems" IsMasterGrid="IsMasterGrid" CssClass="@GridCss" AutoSaveLayoutName="GridShippingItem"
|
||||||
ValidationEnabled="false" EditMode="GridEditMode.EditRow"
|
ValidationEnabled="false" EditMode="GridEditMode.EditRow"
|
||||||
EditModelSaving="Grid_EditModelSaving"
|
EditModelSaving="Grid_EditModelSaving"
|
||||||
FocusedRowChanged="Grid_FocusedRowChanged">
|
FocusedRowChanged="Grid_FocusedRowChanged">
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
@inject FruitBankSignalRClient FruitBankSignalRClient
|
@inject FruitBankSignalRClient FruitBankSignalRClient
|
||||||
|
|
||||||
<MgGridBase @ref="gridOrderItemPallet" Data="ShippingItemPallets" IsMasterGrid="IsMasterGrid"
|
<MgGridBase @ref="gridOrderItemPallet" Data="ShippingItemPallets" IsMasterGrid="IsMasterGrid" AutoSaveLayoutName="GridShippingItemPallets"
|
||||||
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
PageSize="@(IsMasterGrid ? 15 : 50)" ShowFilterRow="IsMasterGrid" ShowGroupPanel="IsMasterGrid"
|
||||||
AutoExpandAllGroupRows="false"
|
AutoExpandAllGroupRows="false"
|
||||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
<Columns>
|
<Columns>
|
||||||
<DxGridDataColumn FieldName="Id" Width="125" />
|
<DxGridDataColumn FieldName="Id" Width="125" />
|
||||||
<DxGridDataColumn FieldName="ShippingItemId" Caption="siId" Width="125" />
|
<DxGridDataColumn FieldName="ShippingItemId" Caption="siId" Width="125" />
|
||||||
<DxGridDataColumn FieldName="ShippingItem.ShippingId" Caption="aId" Width="125" />
|
<DxGridDataColumn FieldName="ShippingItem.ShippingId" Caption="sId" Width="125" />
|
||||||
<DxGridDataColumn Name="ProductId" FieldName="ShippingItem.ProductId" Caption="pId" Width="125" Visible="false" />
|
<DxGridDataColumn Name="ProductId" FieldName="ShippingItem.ProductId" Caption="pId" Width="125" Visible="false" />
|
||||||
<DxGridDataColumn Name="ProductName" FieldName="ShippingItem.ProductDto.Name" Caption="ProductName" Visible="false" />
|
<DxGridDataColumn Name="ProductName" FieldName="ShippingItem.ProductDto.Name" Caption="ProductName" Visible="false" />
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,14 @@
|
||||||
using AyCode.Core.Loggers;
|
using AyCode.Core.Extensions;
|
||||||
|
using AyCode.Core.Loggers;
|
||||||
|
using AyCode.Utils.Extensions;
|
||||||
using DevExpress.Blazor;
|
using DevExpress.Blazor;
|
||||||
using DevExpress.Data.Helpers;
|
using DevExpress.Data.Helpers;
|
||||||
using DevExpress.Utils.Filtering.Internal;
|
using DevExpress.Utils.Filtering.Internal;
|
||||||
|
using FruitBank.Common.Models;
|
||||||
using FruitBankHybrid.Shared.Services.SignalRs;
|
using FruitBankHybrid.Shared.Services.SignalRs;
|
||||||
using Microsoft.AspNetCore.Components;
|
using Microsoft.AspNetCore.Components;
|
||||||
|
using Microsoft.JSInterop;
|
||||||
|
using System.Collections.ObjectModel;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
namespace FruitBankHybrid.Shared.Components;
|
namespace FruitBankHybrid.Shared.Components;
|
||||||
|
|
@ -12,11 +17,15 @@ public class MgGridBase : DxGrid
|
||||||
{
|
{
|
||||||
private bool _isFirstInitializeParameterCore;
|
private bool _isFirstInitializeParameterCore;
|
||||||
private bool _isFirstInitializeParameters;
|
private bool _isFirstInitializeParameters;
|
||||||
|
public bool PreRendered { get; set; }
|
||||||
|
|
||||||
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
|
[Inject] public required IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
|
||||||
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
|
[Inject] public required FruitBankSignalRClient FruitBankSignalRClient { get; set; }
|
||||||
|
[Inject] public required LoggedInModel LoggedInModel { get; set; }
|
||||||
|
[Inject] public required IJSRuntime JSRuntime { get; set; }
|
||||||
|
|
||||||
[Parameter] public bool IsMasterGrid { get; set; } = false;
|
[Parameter] public bool IsMasterGrid { get; set; } = false;
|
||||||
|
[Parameter] public string AutoSaveLayoutName { get; set; }
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public required object DataSource
|
public required object DataSource
|
||||||
|
|
@ -25,6 +34,13 @@ public class MgGridBase : DxGrid
|
||||||
set => Data = value;
|
set => Data = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
//var json = await GetLocalStorageItemAsync(LocalStorageItemsKey);
|
||||||
|
//if (!string.IsNullOrEmpty(json))
|
||||||
|
// Layouts = JsonSerializer.Deserialize<ObservableCollection<UserLayout>>(json);
|
||||||
|
}
|
||||||
|
|
||||||
protected void OnCustomizeElement(GridCustomizeElementEventArgs e)
|
protected void OnCustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
{
|
{
|
||||||
//if (!IsMasterGrid) e.CssClass = "hideDetailButton";
|
//if (!IsMasterGrid) e.CssClass = "hideDetailButton";
|
||||||
|
|
@ -34,7 +50,8 @@ public class MgGridBase : DxGrid
|
||||||
e.CssClass = " alt-item";
|
e.CssClass = " alt-item";
|
||||||
}
|
}
|
||||||
|
|
||||||
if(e.ElementType == GridElementType.HeaderCell) {
|
if (e.ElementType == GridElementType.HeaderCell)
|
||||||
|
{
|
||||||
e.Style = "background-color: #E6E6E6;";
|
e.Style = "background-color: #E6E6E6;";
|
||||||
//e.CssClass = "header-bold";
|
//e.CssClass = "header-bold";
|
||||||
}
|
}
|
||||||
|
|
@ -91,12 +108,83 @@ public class MgGridBase : DxGrid
|
||||||
//VirtualScrollingEnabled = IsMasterGrid;
|
//VirtualScrollingEnabled = IsMasterGrid;
|
||||||
PageSizeSelectorVisible = true;
|
PageSizeSelectorVisible = true;
|
||||||
|
|
||||||
|
if (IsMasterGrid && !AutoSaveLayoutName.IsNullOrWhiteSpace())
|
||||||
|
{
|
||||||
|
LayoutAutoLoading = Grid_LayoutAutoLoading;
|
||||||
|
LayoutAutoSaving = Grid_LayoutAutoSaving;
|
||||||
|
}
|
||||||
|
|
||||||
_isFirstInitializeParameters = true;
|
_isFirstInitializeParameters = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
base.OnParametersSet();
|
base.OnParametersSet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected override void OnAfterRender(bool firstRender)
|
||||||
|
{
|
||||||
|
if (firstRender)
|
||||||
|
{
|
||||||
|
PreRendered = true;
|
||||||
|
//StateHasChanged();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task Grid_LayoutAutoLoading(GridPersistentLayoutEventArgs e)
|
||||||
|
{
|
||||||
|
e.Layout = await LoadLayoutFromLocalStorageAsync($"{AutoSaveLayoutName}_AutoSave_{LoggedInModel.CustomerDto?.Id ?? 0}");
|
||||||
|
}
|
||||||
|
async Task Grid_LayoutAutoSaving(GridPersistentLayoutEventArgs e)
|
||||||
|
{
|
||||||
|
await SaveLayoutToLocalStorageAsync(e.Layout, $"{AutoSaveLayoutName}_AutoSave_{LoggedInModel.CustomerDto?.Id ?? 0}");
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task<GridPersistentLayout?> LoadLayoutFromLocalStorageAsync(string localStorageKey)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var json = await JSRuntime.InvokeAsync<string>("localStorage.getItem", localStorageKey);
|
||||||
|
|
||||||
|
if (!json.IsNullOrWhiteSpace()) return json.JsonTo<GridPersistentLayout>();
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// Mute exceptions for the server prerender stage
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
async Task SaveLayoutToLocalStorageAsync(GridPersistentLayout layout, string localStorageKey)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
var json = layout.ToJson();
|
||||||
|
await JSRuntime.InvokeVoidAsync("localStorage.setItem", localStorageKey, json);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// Mute exceptions for the server prerender stage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async Task RemoveLayoutFromLocalStorageAsync()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
await JSRuntime.InvokeVoidAsync("localStorage.removeItem", AutoSaveLayoutName);
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
// Mute exceptions for the server prerender stage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async Task ReloadPageButton_ClickAsync()
|
||||||
|
{
|
||||||
|
await JSRuntime.InvokeVoidAsync("location.reload");
|
||||||
|
}
|
||||||
|
async Task ResetLayoutButton_ClickAsync()
|
||||||
|
{
|
||||||
|
await RemoveLayoutFromLocalStorageAsync();
|
||||||
|
await JSRuntime.InvokeVoidAsync("location.reload");
|
||||||
|
}
|
||||||
//public RenderFragment AddCommandColumn()
|
//public RenderFragment AddCommandColumn()
|
||||||
//{
|
//{
|
||||||
// RenderFragment columns = b =>
|
// RenderFragment columns = b =>
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,5 @@
|
||||||
<Reference Include="Mango.Nop.Core">
|
<Reference Include="Mango.Nop.Core">
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll</HintPath>
|
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Mango.Nop.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="Nop.Core">
|
|
||||||
<HintPath>..\..\NopCommerce.Common\4.70\Libraries\Mango.Nop.Core\bin\FruitBank\Debug\net9.0\Nop.Core.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
Text="Adatok szinkronizálása folyamatban...">
|
Text="Adatok szinkronizálása folyamatban...">
|
||||||
|
|
||||||
@* @bind-ActiveTabIndex="@ActiveTabIndex" *@
|
@* @bind-ActiveTabIndex="@ActiveTabIndex" *@
|
||||||
<DxTabs ActiveTabIndexChanged="(i) => OnActiveTabChanged(i)">
|
<DxTabs ActiveTabIndexChanged="(i) => OnActiveTabChanged(i)" RenderMode="TabsRenderMode.AllTabs" AllowTabReorder="true">
|
||||||
<DxTabPage Text="Termékek">
|
<DxTabPage Text="Termékek">
|
||||||
<GridProductDtoTemplate ProductDtos="ProductDtos" IsMasterGrid="true"></GridProductDtoTemplate>
|
<GridProductDtoTemplate ProductDtos="ProductDtos" IsMasterGrid="true"></GridProductDtoTemplate>
|
||||||
</DxTabPage>
|
</DxTabPage>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
Text="Adatok szinkronizálása folyamatban...">
|
Text="Adatok szinkronizálása folyamatban...">
|
||||||
|
|
||||||
@* @bind-ActiveTabIndex="@ActiveTabIndex" *@
|
@* @bind-ActiveTabIndex="@ActiveTabIndex" *@
|
||||||
<DxTabs ActiveTabIndexChanged="(i) => OnActiveTabChanged(i)">
|
<DxTabs ActiveTabIndexChanged="(i) => OnActiveTabChanged(i)" RenderMode="TabsRenderMode.AllTabs" AllowTabReorder="true">
|
||||||
<DxTabPage Text="Termékek">
|
<DxTabPage Text="Termékek">
|
||||||
<GridProductDtoTemplate IsMasterGrid="true"></GridProductDtoTemplate>
|
<GridProductDtoTemplate IsMasterGrid="true"></GridProductDtoTemplate>
|
||||||
</DxTabPage>
|
</DxTabPage>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
using AyCode.Core.Loggers;
|
using AyCode.Core.Loggers;
|
||||||
using FruitBank.Common.Loggers;
|
using FruitBank.Common.Loggers;
|
||||||
using FruitBank.Common.Models;
|
using FruitBank.Common.Models;
|
||||||
|
using FruitBankHybrid.Shared.Databases;
|
||||||
using FruitBankHybrid.Shared.Services;
|
using FruitBankHybrid.Shared.Services;
|
||||||
using FruitBankHybrid.Shared.Services.SignalRs;
|
using FruitBankHybrid.Shared.Services.SignalRs;
|
||||||
using FruitBankHybrid.Web.Client.Services;
|
using FruitBankHybrid.Web.Client.Services;
|
||||||
|
|
@ -13,15 +14,15 @@ builder.Services.AddDevExpressBlazor(configure => configure.SizeMode = DevExpres
|
||||||
|
|
||||||
// Add device-specific services used by the FruitBankHybrid.Shared project
|
// Add device-specific services used by the FruitBankHybrid.Shared project
|
||||||
builder.Services.AddSingleton<IFormFactor, FormFactor>();
|
builder.Services.AddSingleton<IFormFactor, FormFactor>();
|
||||||
//builder.Services.AddScoped<ISignalRService, SignalRService>();
|
|
||||||
|
|
||||||
builder.Services.AddSingleton<LoggedInModel>();
|
|
||||||
builder.Services.AddScoped<FruitBankSignalRClient>();
|
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
builder.Services.AddScoped<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
|
builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
builder.Services.AddScoped<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
|
builder.Services.AddSingleton<LoggedInModel>();
|
||||||
|
builder.Services.AddSingleton<FruitBankSignalRClient>();
|
||||||
|
builder.Services.AddSingleton<DatabaseClient>();
|
||||||
|
|
||||||
|
builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
|
||||||
|
|
||||||
await builder.Build().RunAsync();
|
await builder.Build().RunAsync();
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using FruitBank.Common;
|
||||||
using FruitBank.Common.Models;
|
using FruitBank.Common.Models;
|
||||||
using FruitBank.Common.Server.Services.Loggers;
|
using FruitBank.Common.Server.Services.Loggers;
|
||||||
using FruitBank.Common.Server.Services.SignalRs;
|
using FruitBank.Common.Server.Services.SignalRs;
|
||||||
|
using FruitBankHybrid.Shared.Databases;
|
||||||
using FruitBankHybrid.Shared.Services;
|
using FruitBankHybrid.Shared.Services;
|
||||||
using FruitBankHybrid.Shared.Services.SignalRs;
|
using FruitBankHybrid.Shared.Services.SignalRs;
|
||||||
using FruitBankHybrid.Web.Components;
|
using FruitBankHybrid.Web.Components;
|
||||||
|
|
@ -14,16 +15,19 @@ builder.Services.AddRazorComponents().AddInteractiveServerComponents().AddIntera
|
||||||
builder.Services.AddDevExpressBlazor(configure => configure.SizeMode = DevExpress.Blazor.SizeMode.Medium);
|
builder.Services.AddDevExpressBlazor(configure => configure.SizeMode = DevExpress.Blazor.SizeMode.Medium);
|
||||||
builder.Services.AddMvc();
|
builder.Services.AddMvc();
|
||||||
|
|
||||||
|
builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 256 * 1024);
|
||||||
builder.Services.AddSingleton<IFormFactor, FormFactor>();
|
builder.Services.AddSingleton<IFormFactor, FormFactor>();
|
||||||
|
|
||||||
|
builder.Services.AddSingleton<IAcLogWriterBase, ConsoleLogWriter>();
|
||||||
builder.Services.AddSingleton<LoggedInModel>();
|
builder.Services.AddSingleton<LoggedInModel>();
|
||||||
builder.Services.AddScoped<IAcLogWriterBase, ConsoleLogWriter>();
|
|
||||||
|
builder.Services.AddSingleton<FruitBankSignalRClient>();
|
||||||
|
builder.Services.AddSingleton<DatabaseClient>();
|
||||||
|
|
||||||
//builder.Services.AddScoped<LoggerToLoggerApiController>();
|
//builder.Services.AddScoped<LoggerToLoggerApiController>();
|
||||||
//builder.Services.AddSingleton<SessionService>();
|
//builder.Services.AddSingleton<SessionService>();
|
||||||
|
|
||||||
//builder.Services.AddScoped<IFruitBankDataControllerServer, FruitBankDataController>();
|
//builder.Services.AddScoped<IFruitBankDataControllerServer, FruitBankDataController>();
|
||||||
builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 256 * 1024);
|
|
||||||
builder.Services.AddScoped<FruitBankSignalRClient>();
|
|
||||||
var app = builder.Build();
|
var app = builder.Build();
|
||||||
|
|
||||||
// Configure the HTTP request pipeline.
|
// Configure the HTTP request pipeline.
|
||||||
|
|
|
||||||
|
|
@ -29,16 +29,14 @@ namespace FruitBankHybrid
|
||||||
// Add device-specific services used by the FruitBankHybrid.Shared project
|
// Add device-specific services used by the FruitBankHybrid.Shared project
|
||||||
builder.Services.AddSingleton<IFormFactor, FormFactor>();
|
builder.Services.AddSingleton<IFormFactor, FormFactor>();
|
||||||
|
|
||||||
|
#if DEBUG
|
||||||
|
builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
|
||||||
|
#endif
|
||||||
|
|
||||||
builder.Services.AddSingleton<LoggedInModel>();
|
builder.Services.AddSingleton<LoggedInModel>();
|
||||||
builder.Services.AddScoped<FruitBankSignalRClient>();
|
builder.Services.AddScoped<FruitBankSignalRClient>();
|
||||||
builder.Services.AddSingleton<DatabaseClient>();
|
builder.Services.AddSingleton<DatabaseClient>();
|
||||||
|
|
||||||
|
|
||||||
#if DEBUG
|
|
||||||
builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
|
builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue