Beispiel #1
0
        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();
            }
        }
Beispiel #3
0
        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));
        }