1@using Escali.LicenseControl.Client.ClientModels
2@using Escali.LicenseControl.Client.ViewModels
4@using Escali.LicenseControl.Client.Pages
5@using Escali.LicenseControl.DataAccess.Models
6@using System.Diagnostics.CodeAnalysis
7@inject ModuleViewModel _moduleViewService
8@inject ProductViewModel _productViewService
9@inject PriceListViewModel _priceListViewService
10@inject StateService _stateService
11@implements IDisposable
13<div class="button-menu-container">
15 <div class="button-menu-group button-menu-group-left">
19 <div class="button-menu-group button-menu-group-right">
21 <input type="checkbox" checked="@ShowInactiveModules" onchange="@InactiveFilterChanged" class="btn-check" id="btn-check-outlined" autocomplete="off">
22 <label class="btn btn-outline-primary" for="btn-check-outlined">
24 @if (ShowInactiveModules)
26 <img style="width: 15px;" src="Icons/correct-signal-icon.svg" alt="" />
31 <div style="display: inline-block; margin-left: 1rem">
32 <select class="form-select form-select-button form-select-sm d-none d-md-block" @bind="_selectedPriceListSeq">
33 <option selected disabled>
36 @if (_priceListViewService.PriceLists != null)
38 @foreach (var p in _priceListViewService.PriceLists.Where(p => p.ProductSeq == _stateService.SelectedProductSeq.Value))
40 <option value="@p.PriceListSeq">
53 private int _selectedPriceListSeq
55 get => _stateService.SelectedPriceListSeq.Value;
56 set => _stateService.SelectedPriceListSeq.Value = value;
59 private bool ShowInactiveModules { get; set; }
62 public EventCallback<bool> FilterModules { get; set; }
64 private async Task InactiveFilterChanged(ChangeEventArgs e)
66 ShowInactiveModules = (bool) e.Value!;
67 await FilterModules.InvokeAsync(ShowInactiveModules);
70 protected override void OnInitialized()
72 _priceListViewService.DataChanged += StateHasChanged;
75 void IDisposable.Dispose()
77 _priceListViewService.DataChanged -= StateHasChanged;