Skip to content

Commit 59d8e64

Browse files
committed
Dialog parameter passing etc. using Blazored Modal
1 parent 872c058 commit 59d8e64

File tree

2 files changed

+37
-7
lines changed

2 files changed

+37
-7
lines changed

IMS/Client/Pages/DialogTest.razor

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,34 @@
22

33
@using IMS.Shared
44

5-
<h3>Blazor Dialog Sample</h3>
6-
<button @onclick="@(() => Modal.Show<DialogOk_Cancel>("My Movies"))" class="btn btn-primary">View Movies</button>
5+
<h3>Blazored Dialog Sample</h3>
6+
<div class="card mb-4">
7+
<div class="card-body">
8+
<p class="card-text">
9+
<code>
10+
</code>
11+
</p>
12+
</div>
13+
</div>
14+
@*<button @onclick="@(() => Modal.Show<DialogOk_Cancel>("My Movies"))" class="btn btn-primary">View Movies</button>*@
715
<button @onclick="ShowModal" class="btn btn-primary">Show Modal</button>
816
@res
917

1018
@code {
19+
1120
[CascadingParameter]
1221
public IModalService Modal { get; set; }
1322
string res = "";
1423
bool showDialog;
1524
async Task ShowModal()
1625
{
26+
1727
var dialog = Modal.Show<DialogOk_Cancel>("Welcome!");
1828
var result = await dialog.Result;
1929
if (result.Cancelled)
2030
res = "Cancel clicked";
2131
else
22-
res = "";
32+
res = (string)result.Data; //cast to the the type that is expected.
2333
2434

2535

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,33 @@
1-
<h2>Your data was saved successfully!</h2>
1+
<h2>Would you like to proceed?</h2>
22

3-
<button @onclick="Cancel" class="btn btn-secondary">Cancel</button>
4-
<button @onclick="Cancel" class="btn btn-secondary">Ok</button>
3+
4+
<button class="btn btn-success" @onclick="Yes" >Yes</button>
5+
<button @onclick="No" class="btn btn-dark">No</button>
6+
<button @onclick="Cancel" class="btn btn-dark">Cancel</button>
57
@code{
68
[CascadingParameter] BlazoredModalInstance BlazoredModal { get; set; }
79

810
void Cancel()
911
{
1012
BlazoredModal.Cancel(); //send cancel info to the calling parent
11-
13+
14+
}
15+
public class Amjad
16+
{
17+
string member1;
18+
string member2;
19+
}
20+
void Yes()
21+
{
22+
23+
//closes dialog and send data back to the calling component (DialogTest.razor)
24+
//BlazoredModal.Close(ModalResult.Ok<Amjad>(new Amjad())); //can send an object like this
25+
BlazoredModal.Close(ModalResult.Ok<string>("Yes button was clicked."));
26+
27+
}
28+
void No()
29+
{
30+
BlazoredModal.Close(ModalResult.Ok<string>("The No button was clicked."));
31+
1232
}
1333
}

0 commit comments

Comments
 (0)