diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-08-15 15:49:14 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2023-08-15 15:49:14 +1000 |
| commit | 8e94a12be4a56447e78d68c37def772bef8cade4 (patch) | |
| tree | 0a12c64f8e34da45df8ac8e4c484c83385aedb45 /Pages/Component/Dialog.razor | |
| parent | 5b00f23b28e3a09a4120101a8be8802d009e5d84 (diff) | |
Convert Razor pages to Blazor
Diffstat (limited to 'Pages/Component/Dialog.razor')
| -rw-r--r-- | Pages/Component/Dialog.razor | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Pages/Component/Dialog.razor b/Pages/Component/Dialog.razor new file mode 100644 index 0000000..1e2929a --- /dev/null +++ b/Pages/Component/Dialog.razor @@ -0,0 +1,38 @@ +<div style="@style" class="@(visible ? "visible" : "")"> + @if(Title is not null) { + <p>@Title</p> + <hr/> + } + @ChildContent +</div> + +@code { + [Parameter] + public string? Title { get; set; } + + [Parameter] + public RenderFragment ChildContent { get; set; } + + public bool Visible { + get => visible; + set { + visible = value; + StateHasChanged(); + } + } + + [Parameter] + public int HeightPixels { set => height = $"{value}px"; } + [Parameter] + public int HeightPercent { set => height = $"{value}%"; } + + public void Show() => Visible = true; + public void Hide() => Visible = false; + + private bool visible = false; + + private string? height; + + private string style => + $"{(height is null ? "" : $"max-height:{height};")}"; +} |
