change overlay close button to be more visible
fix inventory sorting on salesRep pages
This commit is contained in:
parent
1afbf20b15
commit
15dfabb36d
35 changed files with 92 additions and 85 deletions
|
@ -23,10 +23,6 @@
|
|||
<div class="list-group mt-2">
|
||||
<div class="list-group-item d-print-none">
|
||||
<div class="row">
|
||||
@*
|
||||
<div class="col-sm-4 action-link-element" onclick="@(() => SortProducts(ProductSort.Description))"><i class="bi-sort-alpha-down"></i> Navn <i class="bi-sort-alpha-up-alt"></i></div>
|
||||
<div class="col-sm-3 action-link-element" onclick="@(() => SortProducts(ProductSort.Sku))"><i class="bi-sort-alpha-down"></i> Varenr <i class="bi-sort-alpha-up-alt"></i></div>
|
||||
*@
|
||||
<div class="col-sm-7 text-end">
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" id="sortOrder" checked @onclick="@SetSortOrder"/>
|
||||
|
@ -34,17 +30,17 @@
|
|||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="description" value="description"
|
||||
onclick="@(() => SortProducts(ProductSort.Description))">
|
||||
onclick="@(() => SortDisplayList(SortColumn.Description))">
|
||||
<label class="form-check-label" for="description">Navn</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="itemNumber" value="itemNumber"
|
||||
onclick="@(() => SortProducts(ProductSort.Sku))">
|
||||
onclick="@(() => SortDisplayList(SortColumn.Sku))">
|
||||
<label class="form-check-label" for="itemNumber">Vare Nr.</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="lastInvoiceDate" value="itemDate"
|
||||
onclick="@(() => SortProducts(ProductSort.LastInvoiceDate))" checked>
|
||||
onclick="@(() => SortDisplayList(SortColumn.LastInvoiceDate))" checked>
|
||||
<label class="form-check-label" for="lastInvoiceDate">Sidst leveret</label>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -53,7 +49,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@foreach (var product in FilteredList)
|
||||
@foreach (var product in DisplayList)
|
||||
{
|
||||
<div class="list-group-item">
|
||||
<div class="row align-items-center">
|
||||
|
|
|
@ -36,46 +36,47 @@ public partial class CustomerInventoryListComponent
|
|||
|
||||
// ##############################################3333############
|
||||
// private variables
|
||||
private List<ProductInventoryItemView> DisplayList { get; set; }
|
||||
private bool Descending { get; set; } = true;
|
||||
private string SearchTerm { get; set; } = "";
|
||||
private List<ProductInventoryItemView> FilteredList { get; set; }
|
||||
private ProductSort SortColumn { get; set; } = ProductSort.LastInvoiceDate;
|
||||
private string DisplayFilter { get; set; } = "";
|
||||
private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate;
|
||||
|
||||
protected override void OnInitialized()
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
// sort base list
|
||||
// sort the base Inventory
|
||||
Inventory = Utils.SortInventory(Inventory, SortColumn, Descending);
|
||||
// initialize FilteredList
|
||||
FilterItems(SearchTerm);
|
||||
ApplyInventoryFilter(DisplayFilter);
|
||||
}
|
||||
|
||||
|
||||
private void SetSortOrder()
|
||||
{
|
||||
Descending = !Descending;
|
||||
FilteredList = Utils.SortInventory(FilteredList, SortColumn, Descending);
|
||||
SortDisplayList(SortColumn);
|
||||
}
|
||||
|
||||
|
||||
private void SortDisplayList(SortColumn sortColumn)
|
||||
{
|
||||
SortColumn = sortColumn;
|
||||
DisplayList = Utils.SortInventory(DisplayList, SortColumn, Descending);
|
||||
}
|
||||
|
||||
|
||||
private void OnSearchChanged(string searchTerm)
|
||||
{
|
||||
// use search input to filter list
|
||||
FilterItems(searchTerm);
|
||||
ApplyInventoryFilter(searchTerm);
|
||||
}
|
||||
|
||||
|
||||
private void FilterItems(string filter)
|
||||
private void ApplyInventoryFilter(string searchTerm)
|
||||
{
|
||||
SearchTerm = filter;
|
||||
FilteredList = string.IsNullOrWhiteSpace(filter)
|
||||
DisplayFilter = searchTerm;
|
||||
DisplayList = string.IsNullOrWhiteSpace(searchTerm)
|
||||
? Inventory
|
||||
: Inventory.Where(i => i.Description.ToLower().Contains(filter.ToLower())).ToList();
|
||||
}
|
||||
|
||||
|
||||
private void SortProducts(ProductSort column)
|
||||
{
|
||||
FilteredList = Utils.SortInventory(FilteredList, column, Descending);
|
||||
: Inventory.Where(i => i.Description.ToLower().Contains(searchTerm.ToLower())).ToList();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -33,17 +33,17 @@
|
|||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="description" value="description"
|
||||
onclick="@(() => SortProducts(ProductSort.Description))">
|
||||
onclick="@(() => SortDisplayList(SortColumn.Description))">
|
||||
<label class="form-check-label" for="description">Navn</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="itemNumber" value="itemNumber"
|
||||
onclick="@(() => SortProducts(ProductSort.Sku))">
|
||||
onclick="@(() => SortDisplayList(SortColumn.Sku))">
|
||||
<label class="form-check-label" for="itemNumber">Vare Nr.</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="lastInvoiceDate" value="itemDate"
|
||||
onclick="@(() => SortProducts(ProductSort.LastInvoiceDate))" checked>
|
||||
onclick="@(() => SortDisplayList(SortColumn.LastInvoiceDate))" checked>
|
||||
<label class="form-check-label" for="lastInvoiceDate">Sidst leveret</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -25,46 +25,53 @@ using Wonky.Entity.Views;
|
|||
namespace Wonky.Client.Components;
|
||||
public partial class CustomerProductCheckListComponent
|
||||
{
|
||||
// ##############################################################
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
|
||||
// ##############################################################
|
||||
[Parameter] public List<ProductInventoryItemView> Inventory { get; set; } = new();
|
||||
[Parameter] public string CompanyId { get; set; } = "";
|
||||
[Inject] public ILocalStorageService Storage { get; set; }
|
||||
// private variables
|
||||
|
||||
// ##############################################################
|
||||
private bool Descending { get; set; } = true;
|
||||
private string SearchTerm { get; set; } = "";
|
||||
private List<ProductInventoryItemView> FilteredList { get; set; } = new();
|
||||
private string DisplayFilter { get; set; } = "";
|
||||
private List<ProductInventoryItemView> DisplayList { get; set; } = new();
|
||||
private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate;
|
||||
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
Inventory = Utils.SortInventory(Inventory, ProductSort.LastInvoiceDate, Descending);
|
||||
FilterItems(SearchTerm);
|
||||
Inventory = Utils.SortInventory(Inventory, SortColumn, Descending);
|
||||
ApplyInventoryFilter(DisplayFilter);
|
||||
}
|
||||
|
||||
|
||||
private void SetSortOrder()
|
||||
{
|
||||
Descending = !Descending;
|
||||
FilteredList = Utils.SortInventory(FilteredList, ProductSort.LastInvoiceDate, Descending);
|
||||
DisplayList = Utils.SortInventory(DisplayList, SortColumn, Descending);
|
||||
}
|
||||
|
||||
|
||||
private void OnSearchChanged(string searchTerm)
|
||||
{
|
||||
FilterItems(searchTerm);
|
||||
ApplyInventoryFilter(searchTerm);
|
||||
}
|
||||
|
||||
|
||||
private void FilterItems(string filter)
|
||||
private void ApplyInventoryFilter(string filter)
|
||||
{
|
||||
SearchTerm = filter;
|
||||
FilteredList = string.IsNullOrWhiteSpace(filter)
|
||||
DisplayFilter = filter;
|
||||
DisplayList = string.IsNullOrWhiteSpace(filter)
|
||||
? Inventory
|
||||
: Inventory.Where(i => i.Description.ToLower().Contains(filter.ToLower())).ToList();
|
||||
}
|
||||
|
||||
|
||||
private void SortProducts(ProductSort column)
|
||||
private void SortDisplayList(SortColumn column)
|
||||
{
|
||||
FilteredList = Utils.SortInventory(Inventory, column, Descending);
|
||||
SortColumn = column;
|
||||
DisplayList = Utils.SortInventory(DisplayList, SortColumn, Descending);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -33,17 +33,17 @@
|
|||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="description" value="description"
|
||||
onclick="@(() => SortProducts(ProductSort.Description))">
|
||||
onclick="@(() => SortProducts(Enums.SortColumn.Description))">
|
||||
<label class="form-check-label" for="description">Navn</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="itemNumber" value="itemNumber"
|
||||
onclick="@(() => SortProducts(ProductSort.Sku))">
|
||||
onclick="@(() => SortProducts(Enums.SortColumn.Sku))">
|
||||
<label class="form-check-label" for="itemNumber">Vare Nr.</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="lastInvoiceDate" value="itemDate"
|
||||
onclick="@(() => SortProducts(ProductSort.LastInvoiceDate))" checked>
|
||||
onclick="@(() => SortProducts(Enums.SortColumn.LastInvoiceDate))" checked>
|
||||
<label class="form-check-label" for="lastInvoiceDate">Sidst leveret</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -41,7 +41,7 @@ public partial class OfficeCustomerInventoryListComponent
|
|||
private bool Descending { get; set; } = true;
|
||||
private string SearchTerm { get; set; } = "";
|
||||
private List<ProductInventoryItemView> FilteredList { get; set; } = new();
|
||||
private ProductSort SortColumn { get; set; } = ProductSort.LastInvoiceDate;
|
||||
private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate;
|
||||
|
||||
|
||||
protected override void OnParametersSet()
|
||||
|
@ -73,7 +73,7 @@ public partial class OfficeCustomerInventoryListComponent
|
|||
}
|
||||
|
||||
|
||||
private void SortProducts(ProductSort column)
|
||||
private void SortProducts(SortColumn column)
|
||||
{
|
||||
FilteredList = Utils.SortInventory(FilteredList, column, Descending);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
|
||||
namespace Wonky.Client.Enums;
|
||||
|
||||
public enum ProductSort
|
||||
public enum SortColumn
|
||||
{
|
||||
Description,
|
||||
Sku,
|
|
@ -28,17 +28,17 @@ namespace Wonky.Client.Helpers;
|
|||
public static class Utils
|
||||
{
|
||||
public static List<ProductInventoryItemView> SortInventory(IEnumerable<ProductInventoryItemView> inventory,
|
||||
ProductSort column, bool descending)
|
||||
SortColumn sortColumn, bool descending)
|
||||
{
|
||||
return column switch
|
||||
return sortColumn switch
|
||||
{
|
||||
ProductSort.Description => descending
|
||||
SortColumn.Description => descending
|
||||
? inventory.OrderByDescending(x => x.Description).ToList()
|
||||
: inventory.OrderBy(x => x.Description).ToList(),
|
||||
ProductSort.Sku => descending
|
||||
SortColumn.Sku => descending
|
||||
? inventory.OrderByDescending(x => x.Sku).ToList()
|
||||
: inventory.OrderBy(x => x.Sku).ToList(),
|
||||
ProductSort.LastInvoiceDate => descending
|
||||
SortColumn.LastInvoiceDate => descending
|
||||
? inventory.OrderByDescending(x => x.LastInvoiceDate).ToList()
|
||||
: inventory.OrderBy(x => x.LastInvoiceDate).ToList(),
|
||||
_ => inventory.OrderByDescending(x => x.LastInvoiceDate).ToList()
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">@CompanyName - Aktivitet oversigt</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<CustomerActivityListComponent Activities="Activities"/>
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
<div class="modal-dialog modal-dialog-scrollable modal-fullscreen">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card">
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">@CompanyName - Produktoversigt</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<CustomerInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@CompanyId" Inventory="@Inventory"/>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (SalesItem.Discontinued)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
{
|
||||
<h3 class="modal-title">@Company.Name - Faktura Oversigt</h3>
|
||||
}
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<CustomerInvoiceListComponent OnShowInvoice="@CallInvoiceModal" CompanyId="@Company.CompanyId" InvoiceList="@Invoices"/>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{
|
||||
<h3 class="modal-title">Faktura @Invoice.DocumentNumber</h3>
|
||||
}
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (!string.IsNullOrWhiteSpace(Invoice.Company.Name))
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">@Company.Name - Aktivitet oversigt</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@* activity list *@
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<div class="modal-dialog modal-dialog-scrollable modal-fullscreen">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="card">
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">@Company.Name - Produkt oversigt</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
|
@ -43,17 +43,17 @@
|
|||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="description" value="description"
|
||||
onclick="@(() => SortProducts(ProductSort.Description))">
|
||||
onclick="@(() => SortProducts(SortColumn.Description))">
|
||||
<label class="form-check-label" for="description">Navn</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="itemNumber" value="itemNumber"
|
||||
onclick="@(() => SortProducts(ProductSort.Sku))">
|
||||
onclick="@(() => SortProducts(SortColumn.Sku))">
|
||||
<label class="form-check-label" for="itemNumber">Vare Nr.</label>
|
||||
</div>
|
||||
<div class="form-check form-check-inline">
|
||||
<input class="form-check-input" type="radio" name="sortCol" id="lastInvoiceDate" value="itemDate"
|
||||
onclick="@(() => SortProducts(ProductSort.LastInvoiceDate))" checked>
|
||||
onclick="@(() => SortProducts(SortColumn.LastInvoiceDate))" checked>
|
||||
<label class="form-check-label" for="lastInvoiceDate">Sidst leveret</label>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -47,7 +47,7 @@ public partial class OfficeCustomerInventoryListOverlay : IDisposable
|
|||
private bool Descending { get; set; } = true;
|
||||
private string SearchTerm { get; set; } = "";
|
||||
private List<ProductInventoryItemView> FilteredList { get; set; } = new();
|
||||
private ProductSort SortColumn { get; set; } = ProductSort.LastInvoiceDate;
|
||||
private SortColumn SortColumn { get; set; } = SortColumn.LastInvoiceDate;
|
||||
|
||||
|
||||
protected override void OnInitialized()
|
||||
|
@ -66,7 +66,7 @@ public partial class OfficeCustomerInventoryListOverlay : IDisposable
|
|||
}
|
||||
|
||||
|
||||
private void SortProducts(ProductSort column)
|
||||
private void SortProducts(SortColumn column)
|
||||
{
|
||||
Descending = !Descending;
|
||||
FilteredList = Utils.SortInventory(FilteredList, column, Descending);
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (SalesItem.Discontinued)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">@Company.Name - Faktura oversigt</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@* component listing invoices*@
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Faktura</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (!string.IsNullOrWhiteSpace(Invoice.Company.Name))
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">@Company.Name - Produktoversigt</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<OfficeCustomerInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@Company.CompanyId" Inventory="@Inventory"/>
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h4 class="modal-title">@SalesItem.Name @SalesItem.Sku (@SalesItem.BoxSize stk/colli)</h4>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (SalesItem.Discontinued)
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Pris Katalog</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="sticky-top bg-dark rounded-2 p-3">
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h2 class="modal-title">PRODUKT GENNEMGANG</h2>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@((MarkupString) BodyMessage)
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">@ProductName</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (!string.IsNullOrWhiteSpace(ProductName))
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">@ProductName</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if (!string.IsNullOrWhiteSpace(ProductName))
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<CustomerInventoryListComponent OnReorderSelected="OnReorderCallback" CompanyId="@CompanyId" Inventory="@Inventory"/>
|
||||
<CustomerInventoryReorderOverlay OnSelected="@OnSelectedItem" CompanyId="@CompanyId" SalesItem="@SalesItem" @ref="ReorderOverlay"/>
|
||||
<CustomerInventoryListComponent OnReorderSelected="@OnReorderCallback" CompanyId="@CompanyId" Inventory="@Inventory"/>
|
||||
<CustomerInventoryReorderOverlay OnSelected="@OnSelectedItem" CompanyId="@CompanyId" SalesItem="@SalesItem" @ref="@ReorderOverlay"/>
|
||||
|
||||
@if (Working)
|
||||
{
|
||||
|
|
|
@ -76,6 +76,7 @@ public partial class AdvisorCustomerInventoryListPage : IDisposable
|
|||
ReorderOverlay.Show();
|
||||
}
|
||||
|
||||
|
||||
private async Task OnSelectedItem(DraftItem draftItem)
|
||||
{
|
||||
// add item to order draft
|
||||
|
@ -85,6 +86,7 @@ public partial class AdvisorCustomerInventoryListPage : IDisposable
|
|||
await DraftStateProvider.SaveChangesAsync();
|
||||
}
|
||||
|
||||
|
||||
private async Task FetchProductInventory()
|
||||
{
|
||||
Inventory = new List<ProductInventoryItemView>();
|
||||
|
@ -94,6 +96,7 @@ public partial class AdvisorCustomerInventoryListPage : IDisposable
|
|||
|
||||
}
|
||||
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
Interceptor.DisposeEvent();
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header text-bg-danger">
|
||||
<h2 class="modal-title">Bekræft Sletning</h2>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@((MarkupString)BodyMessage)
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h3 class="modal-title">Bekræft Venligst</h3>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p class="fw-bold">@BodyMessage</p>
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h2 class="modal-title">Bekræft Venligst</h2>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@((MarkupString) BodyMessage)
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">@CompanyName</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<EditForm Model="SelectedContact" OnValidSubmit="SubmitContact">
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header bg-info">
|
||||
<h5 class="modal-title">Info</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="alert alert-info">
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">CVR opslag</h5>
|
||||
<button type="button" class="btn-close" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"></button>
|
||||
<button type="button" class="btn btn-danger" @onclick="@Hide" data-bs-dismiss="modal" aria-label="Luk"><i class="bi-x-lg"></i></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<VatNumberInputComponent VatNumber="@ThisVatNumber" OnValidSubmit="GetInfoFromVat"/>
|
||||
|
|
Loading…
Reference in a new issue