inizio anim

This commit is contained in:
zaccaria.majid
2023-05-18 11:13:48 +02:00
parent e23d29a72a
commit d50b167b9d
7 changed files with 240 additions and 110 deletions
@@ -4,7 +4,18 @@
}
else
{
<table class="">
<div>
COORDS:
X=@screenX
Y=@screenY
<br />
SIZE:
HEIGHT: @Height
WIDTH: @Width
</div>
<table class="@getElementCoords">
<thead>
<tr class="">
<td></td>
@@ -20,26 +31,55 @@ else
</tr>
</thead>
<tbody>
@foreach (var item in ListOrdersStatus)
@if (Ord2Show == null)
{
<tr>
<td><a class="btn btn-sm btn-warning" href="OrderDetails?idOrd=@item.OrderId&orderStat=@item.OrderStatus" target="_blank"><i class="fa-solid fa-pen-to-square"></i></a></td>
<td>@item.DateIns</td>
<td>@item.OrderExtCode</td>
<td>@item.OrderDescript</td>
<td class="text-end">@item.NumDoors</td>
<td class="text-end">@item.NumType</td>
<td class="text-end">@getOrderStatusLabel(item.OrderStatus)</td>
<td class="text-end">@($"{item.TotCost:C2}")</td>
@foreach (var item in ListOrdersStatus)
{
<tr id="@item.OrderId" @onclick="getElementCoords">
@*<a class="btn btn-sm btn-warning" href="OrderDetails?idOrd=@item.OrderId&orderStat=@item.OrderStatus" target="_blank"><i class="fa-solid fa-pen-to-square"></i></a>*@
<td><button class="btn btn-sm btn-warning" @onclick="()=>setOrd2Show(item.OrderId)"><i class="fa-solid fa-pen-to-square"></i></button></td>
<td>@item.DateIns</td>
<td>@item.OrderExtCode</td>
<td>@item.OrderDescript</td>
<td class="text-end">@item.NumDoors</td>
<td class="text-end">@item.NumType</td>
<td class="text-end">@getOrderStatusLabel(item.OrderStatus)</td>
<td class="text-end">@($"{item.TotCost:C2}")</td>
@*<td>
<div class="progress">
<div class="progress-bar" role="progressbar" aria-label="Basic example" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: calc(20%item.OrderStatus); background-color: @setPgColor(item.OrderStatus)"></div>
</div>
</td>*@
<td class="text-end">
@if (item.OrderStatus <= 10)
{
<button class="btn btn-sm btn-danger" @onclick="() => deleteRecord(item)"><i class="fa-solid fa-trash-can"></i></button>
}
</td>
</tr>
}
}
else
{
<tr class="slideUp" style="--elFirstY: @($"{(Height) + screenY}px")">
@*<a class="btn btn-sm btn-warning" href="OrderDetails?idOrd=@item.OrderId&orderStat=@item.OrderStatus" target="_blank"><i class="fa-solid fa-pen-to-square"></i></a>*@
<td><a class="btn btn-sm btn-warning"><i class="fa-solid fa-pen-to-square"></i></a></td>
<td>@Ord2Show.DateIns</td>
<td>@Ord2Show.OrderExtCode</td>
<td>@Ord2Show.OrderDescript</td>
<td class="text-end">@Ord2Show.NumDoors</td>
<td class="text-end">@Ord2Show.NumType</td>
<td class="text-end">@getOrderStatusLabel(Ord2Show.OrderStatus)</td>
<td class="text-end">@($"{Ord2Show.TotCost:C2}")</td>
@*<td>
<div class="progress">
<div class="progress-bar" role="progressbar" aria-label="Basic example" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: calc(20%item.OrderStatus); background-color: @setPgColor(item.OrderStatus)"></div>
</div>
</td>*@
<td class="text-end">
@if (item.OrderStatus <= 10)
@if (Ord2Show.OrderStatus <= 10)
{
<button class="btn btn-sm btn-danger" @onclick="() => deleteRecord(item)"><i class="fa-solid fa-trash-can"></i></button>
<button class="btn btn-sm btn-danger" @onclick="() => deleteRecord(Ord2Show)"><i class="fa-solid fa-trash-can"></i></button>
}
</td>
</tr>
@@ -1,13 +1,16 @@
using EgwCoreLib.Razor;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Components.Web;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Identity;
using Microsoft.Build.Framework;
using Microsoft.JSInterop;
using NLog.LayoutRenderers;
using System.Linq;
using WebDoorCreator.Data.DbModels;
using WebDoorCreator.UI.Data;
using static Microsoft.AspNetCore.Razor.Language.TagHelperMetadata;
using static WebDoorCreator.Core.Enum;
namespace WebDoorCreator.UI.Components.Order
@@ -16,39 +19,33 @@ namespace WebDoorCreator.UI.Components.Order
{
[Parameter]
public bool B_doorChaged { get; set; }
[Parameter]
public int UserCurrCompany { get; set; }
[Parameter]
public EventCallback<int> E_currOrderStatus { get; set; }
[Parameter]
public int UserCurrCompany { get; set; }
#region Protected Properties
private bool sortAsc = true;
private string sortField = "";
[Parameter]
public OrderSelectFilter actFilter { get; set; } = new OrderSelectFilter();
[Parameter]
public EventCallback<int> updateRecordCount { get; set; }
public OrderStatusViewModel? Ord2Show { get; set; }
protected string currUser { get; set; } = "";
[Inject]
protected IJSRuntime JSRuntime { get; set; } = null!;
[Inject]
protected WebDoorCreatorService WDService { get; set; } = null!;
private bool sortAsc = true;
private string sortField = "";
protected async Task SortRequested(Sorter.SortCallBack e)
{
sortField = e.ParamName;
sortAsc = e.IsAscending;
await ReloadData();
}
[Parameter]
public EventCallback<int> updateRecordCount { get; set; }
[Parameter]
public OrderSelectFilter actFilter { get; set; } = new OrderSelectFilter();
protected string currUser { get; set; } = "";
private int _totalCount { get; set; } = 0;
private int currPage
{
@@ -56,16 +53,6 @@ namespace WebDoorCreator.UI.Components.Order
set => actFilter.CurrPage = value;
}
private int numRecord
{
get => actFilter.NumRec;
set => actFilter.NumRec = value;
}
private string searchVal
{
get => actFilter.searchValue;
set => actFilter.searchValue = value;
}
private DateTime dateFrom
{
get => actFilter.DateFrom;
@@ -77,13 +64,25 @@ namespace WebDoorCreator.UI.Components.Order
get => actFilter.DateTo;
set => actFilter.DateTo = value;
}
private int numRecord
{
get => actFilter.NumRec;
set => actFilter.NumRec = value;
}
private int orderStatus
{
get => actFilter.OrderStatus;
set => actFilter.OrderStatus = value;
}
private int _totalCount { get; set; } = 0;
private string searchVal
{
get => actFilter.searchValue;
set => actFilter.searchValue = value;
}
private int totalCount
{
get => _totalCount;
@@ -97,6 +96,12 @@ namespace WebDoorCreator.UI.Components.Order
}
}
protected async Task SortRequested(Sorter.SortCallBack e)
{
sortField = e.ParamName;
sortAsc = e.IsAscending;
await ReloadData();
}
#endregion Protected Properties
#region Protected Methods
@@ -120,10 +125,73 @@ namespace WebDoorCreator.UI.Components.Order
#region Private Methods
protected Core.Enum.orderTypeEnum orderType = Core.Enum.orderTypeEnum.none;
protected OrderStatusViewModel? currOrder { get; set; } = null;
protected bool isModRole { get; set; } = false;
protected bool ordByCode { get; set; } = false;
protected bool ordByDate { get; set; } = false;
protected List<string>? userClaims
{
get => WDCUService.userClaims;
}
protected int userCurrCompany
{
get => WDCUService.userCurrComp;
}
protected string userRole
{
get => WDCUService.userRole;
}
[Inject]
protected WDCUserService WDCUService { get; set; } = null!;
protected async Task deleteRecord(OrderStatusViewModel currRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Order Deletion requested: are you sure to remove {currRec.OrderExtCode}?"))
return;
await Task.Delay(1);
var done = await WDService.OrderRem(currRec.OrderId);
await WDService.OrdersFlushCache();
await ReloadData();
}
protected async Task orderByCode()
{
ordByCode = !ordByCode;
if (ordByDate)
{
orderType = orderTypeEnum.CodeAscending;
}
else
{
orderType = orderTypeEnum.CodeDescending;
}
await ReloadData();
}
protected async Task orderByDate()
{
ordByDate = !ordByDate;
if (ordByDate)
{
orderType = orderTypeEnum.DateAscending;
}
else
{
orderType = orderTypeEnum.DateDescending;
}
await ReloadData();
}
protected string setPgColor(int progress)
{
string answ = "";
@@ -150,20 +218,6 @@ namespace WebDoorCreator.UI.Components.Order
return answ;
}
[Inject]
protected WDCUserService WDCUService { get; set; } = null!;
protected List<string>? userClaims
{
get => WDCUService.userClaims;
}
protected string userRole
{
get => WDCUService.userRole;
}
protected int userCurrCompany
{
get => WDCUService.userCurrComp;
}
private async Task ReloadData()
{
var domani = DateTime.Today.AddDays(1);
@@ -225,58 +279,14 @@ namespace WebDoorCreator.UI.Components.Order
await Task.Delay(1);
await InvokeAsync(StateHasChanged);
}
#if false
private async Task setCurrOrder(int currOrd)
{
await Task.Delay(1);
await E_currOrderStatus.InvokeAsync(currOrd);
}
protected async Task deleteRecord(OrderStatusViewModel currRec)
{
if (!await JSRuntime.InvokeAsync<bool>("confirm", $"Order Deletion requested: are you sure to remove {currRec.OrderExtCode}?"))
return;
await Task.Delay(1);
var done = await WDService.OrderRem(currRec.OrderId);
await WDService.OrdersFlushCache();
await ReloadData();
}
protected bool ordByDate { get; set; } = false;
protected bool ordByCode { get; set; } = false;
protected async Task orderByDate()
{
ordByDate = !ordByDate;
if (ordByDate)
{
orderType = orderTypeEnum.DateAscending;
}
else
{
orderType = orderTypeEnum.DateDescending;
}
await ReloadData();
}
protected async Task orderByCode()
{
ordByCode = !ordByCode;
if (ordByDate)
{
orderType = orderTypeEnum.CodeAscending;
}
else
{
orderType = orderTypeEnum.CodeDescending;
}
await ReloadData();
}
protected Core.Enum.orderTypeEnum orderType = Core.Enum.orderTypeEnum.none;
}
#endif
#endregion Private Methods
protected string getOrderStatusLabel(int orderStat)
@@ -294,5 +304,48 @@ namespace WebDoorCreator.UI.Components.Order
return answ;
}
protected async Task setOrd2Show(int orderId)
{
await Task.Delay(1);
if (ListOrdersStatus != null)
{
var chosenOrd = ListOrdersStatus.Where(x => x.OrderId == orderId).FirstOrDefault();
if(chosenOrd != null)
{
Ord2Show = chosenOrd;
await getDim();
}
}
}
protected int screenX { get; set; } = 0;
protected int screenY { get; set; } = 0;
private void getElementCoords(MouseEventArgs e)
{
screenX = (int)(e.ClientX);
screenY = (int)(e.ClientY);
}
public int Height { get; set; }
public int Width { get; set; }
[Inject]
protected IJSRuntime JsRuntime { get; set; } = null!;
private async Task getDim()
{
var dimension = await JsRuntime.InvokeAsync<WindowDimension>("getWindowDimensions");
Height = dimension.Height;
Width = dimension.Width;
}
public class WindowDimension
{
public int Width { get; set; }
public int Height { get; set; }
}
}
}
@@ -11,4 +11,15 @@ table {
}
td {
padding: 0.5rem;
}
@keyframes slideUp {
0% {
transform: translate(0, var(--elFirstY));
}
100% {
transform: translate(0, 0);
}
}
.slideUp {
animation: slideUp 1s;
}
@@ -15,3 +15,21 @@ td{
padding: 0.5rem;
}
@keyframes slideUp {
0% {
transform: translate(0, var(--elFirstY));
}
100% {
transform: translate(0, 0);
}
}
.slideUp {
animation: slideUp 1s;
}
+1 -1
View File
@@ -1 +1 @@
tr{padding:.5rem;border-bottom:1px solid;font-weight:bold;background-color:#fff;color:#000;}table{width:100%;height:100%;}td{padding:.5rem;}
tr{padding:.5rem;border-bottom:1px solid;font-weight:bold;background-color:#fff;color:#000;}table{width:100%;height:100%;}td{padding:.5rem;}@keyframes slideUp{0%{transform:translate(0,var(--elFirstY));}100%{transform:translate(0,0);}}.slideUp{animation:slideUp 1s;}
+1
View File
@@ -105,6 +105,7 @@
<script src="~/Identity/lib/jquery/dist/jquery.min.js"></script>
<script src="~/lib/bootstrap/js/bootstrap.bundle.js"></script>
<script src="~/Identity/js/site.js" asp-append-version="true"></script>
<script src="~/lib/SiteHelper.js" asp-append-version="true"></script>
<script src="_framework/blazor.server.js"></script>
+8 -1
View File
@@ -3,4 +3,11 @@
}
window.disableSelect = function (elementId) {
document.getElementById(elementId).disabled = true;
}
}
window.getWindowDimensions = function () {
return {
width: window.innerWidth,
height: window.innerHeight
};
};