public View GetView(OutputFieldMetadata outputField, object value, MyFormHandler myFormHandler, FormMetadata formMetadata, List <FormInputManager> inputsManager) { this.Layout = new FlexboxLayout(Application.Context); var tabstrip = value.CastTObject <Tabstrip>(); var currentTab = tabstrip.Tabs.SingleOrDefault(a => a.Form == tabstrip.CurrentTab); foreach (var tab in tabstrip.Tabs) { if (tab != null) { var tv = new TextView(Application.Context) { Text = tab.Label }; tv.Click += async(sender, args) => { var metadata = myFormHandler.GetFormMetadata(tab.Form); myFormHandler.FormWrapper.UpdateView(myFormHandler, new FormParameter(metadata, tab.InputFieldValues)); }; myFormHandler.ManagersCollection.StyleRegister.ApplyStyle(tab == currentTab ? "Tab CurrentTab" : "Tab", tv); this.Layout.AddView(tv); this.Layout.FlexDirection = FlexboxLayout.FlexDirectionRow; this.Layout.FlexWrap = FlexboxLayout.FlexWrapWrap; } } return(this.Layout); }
public TextView InitializeLink(FormLink btn, MyFormHandler myFormHandler) { var text = new TextView(Application.Context) { Text = btn.Label }; text.Click += async(sender, args) => { var formMetadata = myFormHandler.GetFormMetadata(btn.Form); myFormHandler.FormWrapper.UpdateView(myFormHandler, new FormParameter(formMetadata, btn.InputFieldValues)); }; return(text); }
public Button InitializeActionButton(FormLink btn, MyFormHandler myFormHandler) { var button = new Button(Application.Context) { Text = btn.Label }; button.Click += async(sender, args) => { var formMetadata = myFormHandler.GetFormMetadata(btn.Form); var action = btn.Action ?? FormLinkActions.OpenModal; myFormHandler.FormWrapper.UpdateView(myFormHandler, new FormParameter(formMetadata, btn.InputFieldValues), action); }; return(button); }