Devexpress v24.1.3; TransferStatusType filter in progress....

This commit is contained in:
Loretta 2024-06-26 07:42:35 +02:00
parent d40d256ab7
commit 8537933931
6 changed files with 129 additions and 18 deletions

View File

@ -88,15 +88,15 @@
</ItemGroup>
<ItemGroup>
<PackageReference Update="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.60" />
<PackageReference Update="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.61" />
</ItemGroup>
<ItemGroup>
<PackageReference Update="Microsoft.Maui.Controls" Version="8.0.60" />
<PackageReference Update="Microsoft.Maui.Controls" Version="8.0.61" />
</ItemGroup>
<ItemGroup>
<PackageReference Update="Microsoft.Maui.Controls.Compatibility" Version="8.0.60" />
<PackageReference Update="Microsoft.Maui.Controls.Compatibility" Version="8.0.61" />
</ItemGroup>
</Project>

View File

@ -19,6 +19,7 @@
@using AyCode.Core.Consts
@using AyCode.Core
@using AyCode.Core.Helpers
@using DevExpress.Data.Filtering
@using TIAM.Entities.Emails
@layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@ -189,7 +190,14 @@
</DxFormLayout>
</EditFormTemplate>
<ToolbarTemplate>
<div>
<DxTagBox Data="@Statuses" Values="@SelectedCategories"
ValuesChanged="(IEnumerable<TransferStatusModel> values) => TagBox_ValuesChanged(values)"
ValueFieldName="StatusValue" TextFieldName="StatusName" NullText="Select category..."
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" aria-label="Select category" />
</div>
</ToolbarTemplate>
</TransferGrid>
</div>
</DxTabPage>
@ -223,12 +231,25 @@
@code {
void TagBox_ValuesChanged(IEnumerable<TransferStatusModel> newSelectedCategories)
{
SelectedCategories = newSelectedCategories.ToList();
var filterCriteria = SelectedCategories.Any()
? new InOperator("TransferStatusType", SelectedCategories.Select(c => c.StatusValue))
: null;
_gridTransfer.SetFieldFilterCriteria("TransferStatusType", filterCriteria);
}
private LoggerClient<ManageTransfers> _logger;
private bool _popupVisible;
private bool _autoCollapseDetailRow;
private TransferGrid _gridTransfer;
List<TransferStatusModel> SelectedCategories { get; set; } = [];//[Statuses.FirstOrDefault(x => x.StatusValue == (byte)TransferStatusType.Finished)!];
public List<string> IgnoreList =
[
"ReceiverEmailAddress",
@ -240,17 +261,17 @@
"ContextId",
];
public List<TransferStatusModel> Statuses { get; set; } =
public static List<TransferStatusModel> Statuses { get; set; } =
[
new(Convert.ToInt16(TransferStatusType.OrderSubmitted), "Order submitted"),
new(Convert.ToInt16(TransferStatusType.OrderConfirmed), "Order confirmed"),
new(Convert.ToInt16(TransferStatusType.AssignedToDriver), "Assigned to driver"),
new(Convert.ToInt16(TransferStatusType.DriverConfirmed), "Driver confirmed"),
new(Convert.ToInt16(TransferStatusType.DriverEnRoute), "Driver enroute"),
new(Convert.ToInt16(TransferStatusType.PassengerPickup), "Passenger in car"),
new(Convert.ToInt16(TransferStatusType.Finished), "Finished"),
new(Convert.ToInt16(TransferStatusType.UserCanceled), "User cancelled"),
new(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
];
private MessageWizardModel _messageWizardModel = new();
@ -369,6 +390,14 @@
_logger.Info("DataSourceChanged called");
InitializeAppointments(transfers);
// if(!SelectedCategories.Any())
// SelectedCategories = [Statuses.FirstOrDefault(x => x.StatusValue == (byte)TransferStatusType.Finished)!];
// var filterTransferStatusType = Statuses.FirstOrDefault(x => x.StatusValue == (byte)TransferStatusType.Finished)!;
// if (SelectedCategories.All(x => x.StatusValue != filterTransferStatusType.StatusValue))
// SelectedCategories.Add(filterTransferStatusType);
}
private void DataSourceItemChanging(GridDataItemChangingEventArgs<Transfer> args)

View File

@ -114,7 +114,7 @@ namespace TIAMSharedUI.Shared.Components.Grids
Logger.Debug($"{_gridLogName} OnDataSourceLoaded");
Reload();
_dataSource.LoadItem(_dataSource.First().Id).Forget();
//_dataSource.LoadItem(_dataSource.First().Id).Forget();
return OnDataSourceChanged.InvokeAsync(_dataSource);
}

View File

@ -14,7 +14,7 @@
<ItemGroup>
<PackageReference Include="Blazor.AnimateOnScroll" Version="1.1.0" />
<PackageReference Include="BlazorAnimation" Version="2.2.0" />
<PackageReference Include="DevExpress.Blazor" Version="23.2.3" />
<PackageReference Include="DevExpress.Blazor" Version="24.1.3" />
<PackageReference Include="MessagePack" Version="2.5.168" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.6" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.6" />

View File

@ -0,0 +1,82 @@
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<SupportedPlatform Include="browser" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Blazor.AnimateOnScroll" Version="1.1.0" />
<PackageReference Include="BlazorAnimation" Version="2.2.0" />
<PackageReference Include="DevExpress.Blazor" Version="23.2.3" />
<PackageReference Include="MessagePack" Version="2.5.168" />
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.6" />
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.6" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Aycode.Blazor\AyCode.Blazor.Components\AyCode.Blazor.Components.csproj" />
<ProjectReference Include="..\..\Aycode.Blazor\AyCode.Blazor.Models\AyCode.Blazor.Models.csproj" />
<ProjectReference Include="..\TIAM.Entities\TIAM.Entities.csproj" />
<ProjectReference Include="..\TIAM.Models\TIAM.Models.csproj" />
<ProjectReference Include="..\TIAMResources\TIAM.Resources.csproj" />
<ProjectReference Include="..\TIAMWebApp\Shared\TIAMWebApp.Shared.Application.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="AyCode.Core">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.dll</HintPath>
</Reference>
<Reference Include="AyCode.Core.Server">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.Server.dll</HintPath>
</Reference>
<Reference Include="AyCode.Entities">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.dll</HintPath>
</Reference>
<Reference Include="AyCode.Interfaces">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.dll</HintPath>
</Reference>
<Reference Include="AyCode.Models">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.dll</HintPath>
</Reference>
<Reference Include="AyCode.Services">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll</HintPath>
</Reference>
<Reference Include="AyCode.Utils">
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Utils.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Update="Resources\MyResources.Designer.cs">
<DependentUpon>MyResources.resx</DependentUpon>
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Resources\MyResources.resx">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<LastGenOutput>MyResources.Designer.cs</LastGenOutput>
<Generator>PublicResXFileCodeGenerator</Generator>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Folder Include="Pages\User\Guides\" />
</ItemGroup>
<ItemGroup>
<Content Update="Pages\User\SysAdmins\AddressDetailGridComponent.razor">
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</Content>
</ItemGroup>
</Project>

View File

@ -2,10 +2,10 @@
{
public class TransferStatusModel
{
public int StatusValue { get; set; }
public byte StatusValue { get; set; }
public string StatusName { get; set; }
public TransferStatusModel(int statusValue, string statusName)
public TransferStatusModel(byte statusValue, string statusName)
{
StatusValue = statusValue;
StatusName = statusName;