Skip to content

Commit 83ce852

Browse files
committed
Stop using CascadingAuthenticationState (components will use AuthenticationStateProvider/AuthState task as needed)
1 parent ceaae6a commit 83ce852

File tree

8 files changed

+567
-591
lines changed

8 files changed

+567
-591
lines changed

src/Modix.Web.Wasm/Components/Configuration/Channels.razor

Lines changed: 68 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -9,81 +9,79 @@
99
<PageTitle>Modix - Channels</PageTitle>
1010
<MudText Typo="Typo.h4">Channel Designations</MudText>
1111

12-
<CascadingAuthenticationState>
13-
@if (DesignatedChannelMappings is not null && DesignatedChannelTypes is not null)
14-
{
15-
<MudDialog @bind-IsVisible="_createDialogVisible" Options="new DialogOptions { FullWidth= true }">
16-
<TitleContent>
17-
<MudText Typo="Typo.h5">Assign a Channel</MudText>
18-
</TitleContent>
19-
<DialogContent>
20-
<AutoComplete T="ChannelInformation"
21-
SearchFunc="(query) => AutoCompleteChannels(query)"
22-
Placeholder="@("#general")"
23-
SelectedItemChanged="SelectedChannelChanged"
24-
Title="Channel Name" />
25-
<MudText Class="mt-5" Typo="Typo.h5">Designation</MudText>
26-
<MudSelect T="DesignatedChannelType?" @bind-Value="_selectedDesignatedChannelType">
27-
@foreach (var designation in DesignatedChannelTypes)
28-
{
29-
<MudSelectItem T="DesignatedChannelType?" Value="@designation"></MudSelectItem>
30-
}
31-
</MudSelect>
32-
</DialogContent>
33-
<DialogActions>
34-
<MudButton Variant="Variant.Filled"
35-
Disabled="_selectedDesignatedChannelType is null || _selectedChannel is null"
36-
Color="Color.Success"
37-
OnClick="SaveDesignation">
38-
Assign
39-
</MudButton>
40-
<MudSpacer />
41-
<MudButton Variant="Variant.Filled" Color="Color.Error" OnClick="ToggleCreateDialog">Cancel</MudButton>
42-
</DialogActions>
43-
</MudDialog>
44-
45-
<MudPaper>
46-
<MudList Clickable="true" DisablePadding="true">
47-
@foreach (var designatedChannelType in DesignatedChannelTypes.OrderBy(x => x.ToString()))
12+
@if (DesignatedChannelMappings is not null && DesignatedChannelTypes is not null)
13+
{
14+
<MudDialog @bind-IsVisible="_createDialogVisible" Options="new DialogOptions { FullWidth= true }">
15+
<TitleContent>
16+
<MudText Typo="Typo.h5">Assign a Channel</MudText>
17+
</TitleContent>
18+
<DialogContent>
19+
<AutoComplete T="ChannelInformation"
20+
SearchFunc="(query) => AutoCompleteChannels(query)"
21+
Placeholder="@("#general")"
22+
SelectedItemChanged="SelectedChannelChanged"
23+
Title="Channel Name" />
24+
<MudText Class="mt-5" Typo="Typo.h5">Designation</MudText>
25+
<MudSelect T="DesignatedChannelType?" @bind-Value="_selectedDesignatedChannelType">
26+
@foreach (var designation in DesignatedChannelTypes)
4827
{
49-
<MudListItem DisableRipple="true">
50-
<div class="d-flex align-center">
51-
<div>
52-
<MudText>
53-
<b>@designatedChannelType.ToString().Titleize()</b>
28+
<MudSelectItem T="DesignatedChannelType?" Value="@designation"></MudSelectItem>
29+
}
30+
</MudSelect>
31+
</DialogContent>
32+
<DialogActions>
33+
<MudButton Variant="Variant.Filled"
34+
Disabled="_selectedDesignatedChannelType is null || _selectedChannel is null"
35+
Color="Color.Success"
36+
OnClick="SaveDesignation">
37+
Assign
38+
</MudButton>
39+
<MudSpacer />
40+
<MudButton Variant="Variant.Filled" Color="Color.Error" OnClick="ToggleCreateDialog">Cancel</MudButton>
41+
</DialogActions>
42+
</MudDialog>
43+
44+
<MudPaper>
45+
<MudList Clickable="true" DisablePadding="true">
46+
@foreach (var designatedChannelType in DesignatedChannelTypes.OrderBy(x => x.ToString()))
47+
{
48+
<MudListItem DisableRipple="true">
49+
<div class="d-flex align-center">
50+
<div>
51+
<MudText>
52+
<b>@designatedChannelType.ToString().Titleize()</b>
53+
</MudText>
54+
@if (!DesignatedChannelMappings.TryGetValue(designatedChannelType, out var channelDesignations) || !channelDesignations.Any())
55+
{
56+
<MudText Style="color: grey; letter-spacing: 1px" Typo="Typo.caption">
57+
<b>NONE ASSIGNED</b>
5458
</MudText>
55-
@if (!DesignatedChannelMappings.TryGetValue(designatedChannelType, out var channelDesignations) || !channelDesignations.Any())
56-
{
57-
<MudText Style="color: grey; letter-spacing: 1px" Typo="Typo.caption">
58-
<b>NONE ASSIGNED</b>
59-
</MudText>
60-
}
61-
else
59+
}
60+
else
61+
{
62+
@foreach (var designatedChannelMapping in channelDesignations)
6263
{
63-
@foreach (var designatedChannelMapping in channelDesignations)
64-
{
65-
<IndividualDesignation AuthorizationRoleForDelete="@nameof(AuthorizationClaim.DesignatedChannelMappingDelete)"
66-
Id="@designatedChannelMapping.Id"
67-
NamePrefix="@("#")"
68-
Name="@designatedChannelMapping.Name"
69-
RemoveDesignation="(id) => RemoveDesignation(id, designatedChannelMapping.ChannelDesignation)" />
70-
}
64+
<IndividualDesignation AuthorizationRoleForDelete="@nameof(AuthorizationClaim.DesignatedChannelMappingDelete)"
65+
Id="@designatedChannelMapping.Id"
66+
NamePrefix="@("#")"
67+
Name="@designatedChannelMapping.Name"
68+
RemoveDesignation="(id) => RemoveDesignation(id, designatedChannelMapping.ChannelDesignation)" />
7169
}
72-
</div>
73-
<MudSpacer />
74-
<div>
75-
<AuthorizeView Roles="@nameof(AuthorizationClaim.DesignatedChannelMappingCreate)">
76-
<MudIconButton OnClick="ToggleCreateDialog" Icon="@Icons.Material.Filled.Add" Variant="Variant.Filled" Color="Color.Success" />
77-
</AuthorizeView>
78-
</div>
70+
}
7971
</div>
80-
</MudListItem>
81-
<MudDivider />
82-
}
83-
</MudList>
84-
</MudPaper>
85-
}
86-
</CascadingAuthenticationState>
72+
<MudSpacer />
73+
<div>
74+
<AuthorizeView Roles="@nameof(AuthorizationClaim.DesignatedChannelMappingCreate)">
75+
<MudIconButton OnClick="ToggleCreateDialog" Icon="@Icons.Material.Filled.Add" Variant="Variant.Filled" Color="Color.Success" />
76+
</AuthorizeView>
77+
</div>
78+
</div>
79+
</MudListItem>
80+
<MudDivider />
81+
}
82+
</MudList>
83+
</MudPaper>
84+
}
8785

8886
@code {
8987
[Inject]

src/Modix.Web.Wasm/Components/Configuration/IndividualDesignation.razor

Lines changed: 41 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,47 @@
11
@using Microsoft.AspNetCore.Components.Authorization
22
@using MudBlazor
33

4-
<CascadingAuthenticationState>
5-
<MudButtonGroup Class="mr-1" OverrideStyles="false">
6-
<MudButton Style="text-transform: unset"
7-
DisableElevation="true"
8-
Size="Size.Small"
9-
Variant="Variant.Filled"
10-
Color="Color.Info">
11-
@NamePrefix@Name
12-
</MudButton>
13-
<AuthorizeView Roles="@AuthorizationRoleForDelete">
14-
@if (!_showConfirm)
15-
{
16-
<MudButton OnClick="() => _showConfirm = true"
17-
Style="min-width: unset"
18-
DisableElevation="true"
19-
Size="Size.Small"
20-
Variant="Variant.Filled"
21-
Color="Color.Error">
22-
X
23-
</MudButton>
24-
}
25-
else
26-
{
27-
<MudButton Disabled="true">Remove Designation?</MudButton>
28-
29-
<MudButton OnClick="() => RemoveDesignation.InvokeAsync(Id)"
30-
DisableElevation="true"
31-
Size="Size.Small"
32-
Variant="Variant.Filled"
33-
Color="Color.Success">
34-
Yes
35-
</MudButton>
36-
<MudButton OnClick="() => _showConfirm = false"
37-
DisableElevation="true"
38-
Size="Size.Small"
39-
Variant="Variant.Filled"
40-
Color="Color.Error">
41-
No
42-
</MudButton>
43-
}
44-
</AuthorizeView>
45-
</MudButtonGroup>
46-
</CascadingAuthenticationState>
4+
<MudButtonGroup Class="mr-1" OverrideStyles="false">
5+
<MudButton Style="text-transform: unset"
6+
DisableElevation="true"
7+
Size="Size.Small"
8+
Variant="Variant.Filled"
9+
Color="Color.Info">
10+
@NamePrefix@Name
11+
</MudButton>
12+
<AuthorizeView Roles="@AuthorizationRoleForDelete">
13+
@if (!_showConfirm)
14+
{
15+
<MudButton OnClick="() => _showConfirm = true"
16+
Style="min-width: unset"
17+
DisableElevation="true"
18+
Size="Size.Small"
19+
Variant="Variant.Filled"
20+
Color="Color.Error">
21+
X
22+
</MudButton>
23+
}
24+
else
25+
{
26+
<MudButton Disabled="true">Remove Designation?</MudButton>
27+
28+
<MudButton OnClick="() => RemoveDesignation.InvokeAsync(Id)"
29+
DisableElevation="true"
30+
Size="Size.Small"
31+
Variant="Variant.Filled"
32+
Color="Color.Success">
33+
Yes
34+
</MudButton>
35+
<MudButton OnClick="() => _showConfirm = false"
36+
DisableElevation="true"
37+
Size="Size.Small"
38+
Variant="Variant.Filled"
39+
Color="Color.Error">
40+
No
41+
</MudButton>
42+
}
43+
</AuthorizeView>
44+
</MudButtonGroup>
4745

4846
@code {
4947
[Parameter, EditorRequired]

src/Modix.Web.Wasm/Components/Configuration/Roles.razor

Lines changed: 70 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -8,83 +8,81 @@
88
<PageTitle>Modix - Roles</PageTitle>
99
<MudText Typo="Typo.h4">Role Designations</MudText>
1010

11-
<CascadingAuthenticationState>
12-
@if (DesignatedRoleMappings is not null && DesignatedRoleTypes is not null)
13-
{
14-
<MudDialog @bind-IsVisible="_createDialogVisible" Options="new DialogOptions { FullWidth= true }">
15-
<TitleContent>
16-
<MudText Typo="Typo.h5">Assign a Role</MudText>
17-
</TitleContent>
18-
<DialogContent>
19-
<AutoComplete T="RoleInformation"
20-
SearchFunc="(query) => AutoCompleteRoles(query)"
21-
Placeholder="@("@Administrator")"
22-
SelectedItemChanged="SelectedRoleChanged"
23-
Title="Role Name"
24-
/>
25-
26-
<MudText Class="mt-5" Typo="Typo.h5">Designation</MudText>
27-
<MudSelect T="DesignatedRoleType?" @bind-Value="_selectedDesignatedRoleType">
28-
@foreach (var designation in DesignatedRoleTypes)
29-
{
30-
<MudSelectItem T="DesignatedRoleType?" Value="@designation"></MudSelectItem>
31-
}
32-
</MudSelect>
33-
</DialogContent>
34-
<DialogActions>
35-
<MudButton Variant="Variant.Filled"
36-
Disabled="_selectedDesignatedRoleType is null || _selectedRole is null"
37-
Color="Color.Success"
38-
OnClick="SaveDesignation">
39-
Assign
40-
</MudButton>
41-
<MudSpacer />
42-
<MudButton Variant="Variant.Filled" Color="Color.Error" OnClick="ToggleCreateDialog">Cancel</MudButton>
43-
</DialogActions>
44-
</MudDialog>
45-
46-
<MudPaper>
47-
<MudList Clickable="true" DisablePadding="true">
48-
@foreach (var designatedRoleType in DesignatedRoleTypes.OrderBy(x => x.ToString()))
11+
@if (DesignatedRoleMappings is not null && DesignatedRoleTypes is not null)
12+
{
13+
<MudDialog @bind-IsVisible="_createDialogVisible" Options="new DialogOptions { FullWidth= true }">
14+
<TitleContent>
15+
<MudText Typo="Typo.h5">Assign a Role</MudText>
16+
</TitleContent>
17+
<DialogContent>
18+
<AutoComplete T="RoleInformation"
19+
SearchFunc="(query) => AutoCompleteRoles(query)"
20+
Placeholder="@("@Administrator")"
21+
SelectedItemChanged="SelectedRoleChanged"
22+
Title="Role Name"
23+
/>
24+
25+
<MudText Class="mt-5" Typo="Typo.h5">Designation</MudText>
26+
<MudSelect T="DesignatedRoleType?" @bind-Value="_selectedDesignatedRoleType">
27+
@foreach (var designation in DesignatedRoleTypes)
4928
{
50-
<MudListItem DisableRipple="true">
51-
<div class="d-flex align-center">
52-
<div>
53-
<MudText>
54-
<b>@designatedRoleType.ToString().Titleize()</b>
29+
<MudSelectItem T="DesignatedRoleType?" Value="@designation"></MudSelectItem>
30+
}
31+
</MudSelect>
32+
</DialogContent>
33+
<DialogActions>
34+
<MudButton Variant="Variant.Filled"
35+
Disabled="_selectedDesignatedRoleType is null || _selectedRole is null"
36+
Color="Color.Success"
37+
OnClick="SaveDesignation">
38+
Assign
39+
</MudButton>
40+
<MudSpacer />
41+
<MudButton Variant="Variant.Filled" Color="Color.Error" OnClick="ToggleCreateDialog">Cancel</MudButton>
42+
</DialogActions>
43+
</MudDialog>
44+
45+
<MudPaper>
46+
<MudList Clickable="true" DisablePadding="true">
47+
@foreach (var designatedRoleType in DesignatedRoleTypes.OrderBy(x => x.ToString()))
48+
{
49+
<MudListItem DisableRipple="true">
50+
<div class="d-flex align-center">
51+
<div>
52+
<MudText>
53+
<b>@designatedRoleType.ToString().Titleize()</b>
54+
</MudText>
55+
@if (!DesignatedRoleMappings.TryGetValue(designatedRoleType, out var roleDesignations) || !roleDesignations.Any())
56+
{
57+
<MudText Style="color: grey; letter-spacing: 1px" Typo="Typo.caption">
58+
<b>NONE ASSIGNED</b>
5559
</MudText>
56-
@if (!DesignatedRoleMappings.TryGetValue(designatedRoleType, out var roleDesignations) || !roleDesignations.Any())
57-
{
58-
<MudText Style="color: grey; letter-spacing: 1px" Typo="Typo.caption">
59-
<b>NONE ASSIGNED</b>
60-
</MudText>
61-
}
62-
else
60+
}
61+
else
62+
{
63+
@foreach (var designatedRoleMapping in roleDesignations)
6364
{
64-
@foreach (var designatedRoleMapping in roleDesignations)
65-
{
66-
<IndividualDesignation AuthorizationRoleForDelete="@nameof(AuthorizationClaim.DesignatedRoleMappingDelete)"
67-
Id="@designatedRoleMapping.Id"
68-
NamePrefix="@("@")"
69-
Name="@designatedRoleMapping.Name"
70-
RemoveDesignation="(id) => RemoveDesignation(id, designatedRoleMapping.RoleDesignation)" />
71-
}
65+
<IndividualDesignation AuthorizationRoleForDelete="@nameof(AuthorizationClaim.DesignatedRoleMappingDelete)"
66+
Id="@designatedRoleMapping.Id"
67+
NamePrefix="@("@")"
68+
Name="@designatedRoleMapping.Name"
69+
RemoveDesignation="(id) => RemoveDesignation(id, designatedRoleMapping.RoleDesignation)" />
7270
}
73-
</div>
74-
<MudSpacer />
75-
<div>
76-
<AuthorizeView Roles="@nameof(AuthorizationClaim.DesignatedRoleMappingCreate)">
77-
<MudIconButton OnClick="ToggleCreateDialog" Icon="@Icons.Material.Filled.Add" Variant="Variant.Filled" Color="Color.Success" />
78-
</AuthorizeView>
79-
</div>
71+
}
8072
</div>
81-
</MudListItem>
82-
<MudDivider />
83-
}
84-
</MudList>
85-
</MudPaper>
86-
}
87-
</CascadingAuthenticationState>
73+
<MudSpacer />
74+
<div>
75+
<AuthorizeView Roles="@nameof(AuthorizationClaim.DesignatedRoleMappingCreate)">
76+
<MudIconButton OnClick="ToggleCreateDialog" Icon="@Icons.Material.Filled.Add" Variant="Variant.Filled" Color="Color.Success" />
77+
</AuthorizeView>
78+
</div>
79+
</div>
80+
</MudListItem>
81+
<MudDivider />
82+
}
83+
</MudList>
84+
</MudPaper>
85+
}
8886

8987
@code {
9088
[Inject]

0 commit comments

Comments
 (0)