Ejemplo n.º 1
0
        public static View Render(AdaptiveAction action, AdaptiveRenderContext context)
        {
            if (!context.Config.SupportsInteractivity || !context.ActionHandlers.IsSupported(action.GetType()))
            {
                return(null);
            }
            var button = CreateActionButton(action, context);
            var view   = CreateActionButton(action, context);

            button.Clicked += new EventHandler((object sender, EventArgs e) =>
            {
                bool isInputMissing = false;
                if (context.InputBindings.Count > 0)
                {
                    isInputMissing = true;
                    var dict       = context.UserInputs.AsDictionary();
                    foreach (var binding in dict.Values)
                    {
                        if (!string.IsNullOrWhiteSpace(binding))
                        {
                            isInputMissing = false;
                            break;
                        }
                    }
                }
                if (isInputMissing)
                {
                    var missingInput     = new MissingAdaptiveInput();
                    missingInput.Message = "Select at least one option.";
                    context.InvokeMissingInput(action, new MissingInputEventArgs(missingInput, button));
                }
                else
                {
                    context.InvokeAction(button, new AdaptiveActionEventArgs(action));
                    button.IsEnabled = false;
                }
            });
            return(button);
        }
Ejemplo n.º 2
0
 public MissingInputEventArgs(MissingAdaptiveInput input, View view)
 {
     this.View          = view;
     this.AdaptiveInput = input;
 }