UI/Window/Query.razor
@using Sandbox
@using Sandbox.UI
@using System

@namespace HC3.UI
@inherits Window

<root class="column">
    <label class="padding">@Text</label>
	<div class="buttons">
		<button onclick=@(() => Submit())><i>check</i></button>
        <button onclick=@(() => CloseWindow())><i>close</i></button>
	</div>
</root>

@code
{
    public string Text { get; set; }
    public override bool CanShrink => false;

    public static void Create( string title, string text, Action onSubmit = null, Action onClose = null )
    {
        var x = new Query();
        x.Title = title;
        x.Text = text;
        x.OnSubmitAction = onSubmit;
        x.OnCloseAction = onClose;

        WindowManager.Instance.Open( x );
    }

    public Action OnSubmitAction;
    public Action OnCloseAction;

    private void CloseWindow()
    {
        OnCloseAction?.Invoke();
        Close();
    }

    private void Submit()
    {
        OnSubmitAction?.Invoke();
        Close();
    }
}