Escali License control 1
EditModuleModal.razor
Gå til dokumentasjonen til denne filen.
1@using Escali.LicenseControl.Client.ViewModels
2@using Escali.LicenseControl.Client.ClientModels
3@using AutoMapper
4@using System.ComponentModel
5@inject ProductViewModel _productViewService
6@inject ModuleViewModel _moduleViewService
7@inject StateService _stateService
8@inject IMapper _mapper
9@implements IDisposable
10
11@if (_stateService.EditModule.Value != null)
12{
13 <EditForm Model="_stateService.EditModule.Value" OnValidSubmit="UpdateModule" OnInvalidSubmit="EventCallback.Empty">
14 <StandardModal Header="Endre modul" SubmitButtonName="Oppdater modul" ShowModal="true" OnModalClosed="ResetModal">
15
16 <div class="create-modal-container">
17 <ObjectGraphDataAnnotationsValidator />
18
19 <div class="input-split">
20 <div class="input-container form-floating mb-3">
21 <InputText @bind-Value="_stateService.EditModule.Value.ModuleName" type="text" class="form-control input-text" id="floatingInput" placeholder="Modulnavn" />
22 <label for="floatingInput">Modulnavn</label>
23 </div>
24
25 <InputCheckbox @bind-Value="_stateService.EditModule.Value.IsActive" class="form-check-input is-active-module-checkbox" title="Activate/deactivate module"></InputCheckbox>
26 </div>
27
28 <div class="module-level-modal-list">
29
30 <h6 class="modal-header-second">Modulnivå</h6>
31
32 @foreach (var ml in _stateService.EditModule.Value.ModuleLevels)
33 {
34 <InputModuleLevel NewModuleLevel="ml" OnChange="OnModuleLevelChange">
35 <RightContent>
36 <InputCheckbox disabled="@(!_stateService.EditModule.Value.IsActive)" @bind-Value="ml.IsActive" class="form-check-input is-active-module-level-checkbox" title="Activate/deactivate module level"></InputCheckbox>
37 </RightContent>
38 </InputModuleLevel>
39 }
40
41 <button class="add-module-level-button" type="button" @onclick="() => AddModuleLevelToModule(_stateService.EditModule.Value.ModuleLevels)">
42 <img class="" src="Icons/add-icon-black.svg" alt=""/>
43 </button>
44
45 </div>
46 </div>
47
48 </StandardModal>
49 </EditForm>
50}
51
52@code {
53
54 private EventCallback<ChangeEventArgs> OnModuleLevelChange { get; set; }
55
56 [Parameter]
57 public EventCallback SetEditModalToNull { get; set; }
58
59 private async Task UpdateModule()
60 {
61 var updatedModule = await _moduleViewService.UpdateModule(_stateService.EditModule.Value!)!;
62 if (updatedModule != null) ResetModal();
63 }
64
65 private async Task AddModuleLevelToModule(List<ModuleLevelClientModel> moduleLevels)
66 {
67 _stateService.EditModule.Value!.ModuleLevels!.Add(new ModuleLevelClientModel());
68 }
69
70 private void ResetModal()
71 {
72 _stateService.UpdateEditModule(null);
73 }
74
75 protected override void OnInitialized()
76 {
77 _stateService.EditModule.ValueChanged += StateHasChanged;
78 }
79
80 void IDisposable.Dispose()
81 {
82 _stateService.EditModule.ValueChanged -= StateHasChanged;
83 }
84
85}