inizio anim
This commit is contained in:
@@ -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 @@
|
||||
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;}
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -3,4 +3,11 @@
|
||||
}
|
||||
window.disableSelect = function (elementId) {
|
||||
document.getElementById(elementId).disabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
window.getWindowDimensions = function () {
|
||||
return {
|
||||
width: window.innerWidth,
|
||||
height: window.innerHeight
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user