public override async Task Action(MessageResult message) { var call = message.GetData <CallbackData>(); await message.ConfirmAction(); await message.DeleteMessage(); message.Handled = true; if (call.Value == "testform1") { var tf = new TestForm(); await this.NavigateTo(tf); } else if (call.Value == "alert") { AlertDialog ad = new AlertDialog("This is a message", "Ok"); ad.ButtonClicked += async(s, en) => { var fto = new TestForm2(); await this.NavigateTo(fto); }; await this.NavigateTo(ad); } else if (call.Value == "confirm") { ConfirmDialog pd = new ConfirmDialog("Please confirm", new ButtonBase("Ok", "ok"), new ButtonBase("Cancel", "cancel")); pd.ButtonClicked += async(s, en) => { var tf = new TestForm2(); await pd.NavigateTo(tf); }; await this.NavigateTo(pd); } else if (call.Value == "prompt") { PromptDialog pd = new PromptDialog("Please tell me your name ?"); pd.Completed += async(s, en) => { await this.Device.Send("Hello " + pd.Value); }; await this.OpenModal(pd); } }
public override async Task Action(MessageResult message) { if (message.Handled) { return; } if (!message.IsFirstHandler) { return; } var call = message.GetData <CallbackData>(); if (call == null) { return; } message.Handled = true; await message.ConfirmAction(); await message.DeleteMessage(); ButtonBase button = this.Buttons.FirstOrDefault(a => a.Value == call.Value); if (button == null) { return; } OnButtonClicked(new ButtonClickedEventArgs(button) { Tag = this.Tag }); if (AutoCloseOnClick) { await CloseForm(); } }
public override async Task Action(MessageResult message) { var call = message.GetData <CallbackData>(); message.Handled = true; if (!message.IsAction) { return; } await message.ConfirmAction(); await message.DeleteMessage(); var buttons = this.Buttons.Aggregate((a, b) => a.Union(b).ToArray()).ToList(); if (call == null) { return; } ButtonBase button = buttons.FirstOrDefault(a => a.Value == call.Value); if (button == null) { return; } OnButtonClicked(new ButtonClickedEventArgs(button) { Tag = this.Tag }); FormBase fb = ButtonForms.ContainsKey(call.Value) ? ButtonForms[call.Value] : null; if (fb != null) { await this.NavigateTo(fb); } }
public override async Task Action(MessageResult message) { var call = message.GetData <CallbackData>(); if (call == null) { return; } message.Handled = true; await message.ConfirmAction(); await message.DeleteMessage(); ButtonBase button = this.Buttons.FirstOrDefault(a => a.Value == call.Value); if (button == null) { return; } OnButtonClicked(new ButtonClickedEventArgs(button)); }