public override Task InitAsync() { var model1 = new Model1(); model1.Model2Litems = new List <Model2>(); var response = DetailResponse <Model1> .Create(model1); var frmEditPasswordLink = FormField.Create("EditPassword", new LagoVista.Core.Attributes.FormFieldAttribute(FieldType: LagoVista.Core.Attributes.FieldTypes.LinkButton)); response.View["linkButton"].Command = new RelayCommand(HideLinkButton); frmEditPasswordLink.Label = "Edit Password"; frmEditPasswordLink.Name = "editPassword"; frmEditPasswordLink.Watermark = "-edit password-"; frmEditPasswordLink.IsVisible = true; frmEditPasswordLink.Command = new RelayCommand(EditPasswordTap); response.View.Add("editPassword", frmEditPasswordLink); FormAdapter = new EditFormAdapter(this, response.View, this.ViewModelNavigation); FormAdapter.AddViewCell(nameof(Model1.TextField1)); FormAdapter.AddViewCell(nameof(Model1.DropDownBox1)); FormAdapter.AddViewCell(nameof(Model1.CheckBox1)); FormAdapter.AddViewCell("editPassword"); FormAdapter.AddViewCell(nameof(Model1.LinkButton)); FormAdapter.AddViewCell(nameof(Model1.Password)); FormAdapter.AddViewCell(nameof(Model1.MultiLine1)); FormAdapter.AddChildList <ViewModel2>(nameof(Model1.Model2Litems), model1.Model2Litems); return(base.InitAsync()); }
protected override void BuildForm(EditFormAdapter form) { View[nameof(Model.Key).ToFieldKey()].IsUserEditable = LaunchArgs.LaunchType == LaunchTypes.Create; View[nameof(Model.DefaultTransport).ToFieldKey()].IsEnabled = LaunchArgs.LaunchType == LaunchTypes.Create; var frmEditPasswordLink = FormField.Create(EDIT_PASSWORD_CONTROL, new LagoVista.Core.Attributes.FormFieldAttribute(FieldType: LagoVista.Core.Attributes.FieldTypes.LinkButton)); frmEditPasswordLink.Label = SimulatorCoreResources.SimulatorEdit_EditPassword; frmEditPasswordLink.Name = EDIT_PASSWORD_CONTROL.ToFieldKey(); frmEditPasswordLink.Watermark = SimulatorCoreResources.SimulatorEdit_EditPassword_Link; frmEditPasswordLink.Command = EditPasswordCommand; frmEditPasswordLink.IsVisible = false; View.Add(EDIT_PASSWORD_CONTROL.ToFieldKey(), frmEditPasswordLink); var frmEditAccessKey = FormField.Create(EDIT_PASSWORD_CONTROL, new LagoVista.Core.Attributes.FormFieldAttribute(FieldType: LagoVista.Core.Attributes.FieldTypes.LinkButton)); frmEditAccessKey.Label = SimulatorCoreResources.SimulatorEdit_EditAccessKey; frmEditAccessKey.Name = EDIT_ACCESSKEY_CONTROL.ToFieldKey(); frmEditAccessKey.Watermark = SimulatorCoreResources.SimulatorEdit_EditAccesKey_Link; frmEditAccessKey.Command = EditAccessKeyCommand; frmEditAccessKey.IsVisible = false; View.Add(EDIT_ACCESSKEY_CONTROL.ToFieldKey(), frmEditAccessKey); form.AddViewCell(nameof(Model.Name)); form.AddViewCell(nameof(Model.Key)); form.AddViewCell(nameof(Model.DefaultTransport)); form.AddViewCell(nameof(Model.DefaultEndPoint)); form.AddViewCell(nameof(Model.DefaultPort)); form.AddViewCell(nameof(Model.DeviceId)); form.AddViewCell(nameof(Model.Anonymous)); form.AddViewCell(nameof(Model.BasicAuth)); form.AddViewCell(nameof(Model.UserName)); form.AddViewCell(nameof(Model.CredentialStorage)); form.AddViewCell(nameof(Model.Password)); form.AddViewCell(EDIT_PASSWORD_CONTROL); form.AddViewCell(nameof(Model.AccessKeyName)); form.AddViewCell(EDIT_ACCESSKEY_CONTROL); form.AddViewCell(nameof(Model.AccessKey)); form.AddViewCell(nameof(Model.HubName)); form.AddViewCell(nameof(Model.QueueName)); form.AddViewCell(nameof(Model.Subscription)); form.AddViewCell(nameof(Model.DefaultPayloadType)); form.AddViewCell(nameof(Model.Description)); form.AddChildList <MessageEditorViewModel>(nameof(Model.MessageTemplates), Model.MessageTemplates); ModelToView(Model, form); FormAdapter = form; if (Model.DefaultTransport != null) { ShowFieldsForTransport(Model.DefaultTransport.Value); } else { HideAll(); this.HideRow(nameof(Model.MessageTemplates)); } }
protected override void BuildForm(EditFormAdapter form) { View[nameof(Model.Key).ToFieldKey()].IsUserEditable = LaunchArgs.LaunchType == LaunchTypes.Create; View[nameof(Model.DefaultTransport).ToFieldKey()].IsEnabled = LaunchArgs.LaunchType == LaunchTypes.Create; form.AddViewCell(nameof(Model.Name)); form.AddViewCell(nameof(Model.Key)); form.AddViewCell(nameof(Model.DefaultTransport)); form.AddViewCell(nameof(Model.DefaultEndPoint)); // form.AddViewCell(nameof(Model.TLSSSL)); form.AddViewCell(nameof(Model.DefaultPort)); form.AddViewCell(nameof(Model.DeviceId)); form.AddViewCell(nameof(Model.Anonymous)); form.AddViewCell(nameof(Model.BasicAuth)); form.AddViewCell(nameof(Model.UserName)); form.AddViewCell(nameof(Model.CredentialStorage)); form.AddViewCell(nameof(Model.Password)); form.AddViewCell(nameof(Model.AccessKeyName)); form.AddViewCell(nameof(Model.AccessKey)); form.AddViewCell(nameof(Model.HubName)); form.AddViewCell(nameof(Model.QueueName)); form.AddViewCell(nameof(Model.Subscription)); form.AddViewCell(nameof(Model.DefaultPayloadType)); form.AddViewCell(nameof(Model.Description)); form.AddChildList <MessageEditorViewModel>(nameof(Model.MessageTemplates), Model.MessageTemplates); ModelToView(Model, form); FormAdapter = form; if (Model.DefaultTransport != null) { ShowFieldsForTransport(Model.DefaultTransport.Value); } else { HideAll(); this.HideRow(nameof(Model.MessageTemplates)); } }
protected override void BuildForm(EditFormAdapter form) { if (IsCreate) { var parent = LaunchArgs.GetParent <IoT.Simulator.Admin.Models.Simulator>(); Model.EndPoint = parent.DefaultEndPoint; Model.Port = parent.DefaultPort; Model.Transport = parent.DefaultTransport; Model.QueueName = parent.QueueName; Model.PayloadType = parent.DefaultPayloadType; View[nameof(Model.TextPayload).ToFieldKey()].IsVisible = false; View[nameof(Model.BinaryPayload).ToFieldKey()].IsVisible = false; } if (!EntityHeader.IsNullOrEmpty(Model.Transport)) { ShowErrorMessage = false; HasTransport = true; View[nameof(Model.TextPayload).ToFieldKey()].IsVisible = Model.PayloadType.Value == PaylodTypes.String; View[nameof(Model.BinaryPayload).ToFieldKey()].IsVisible = Model.PayloadType.Value == PaylodTypes.Binary; form.OptionSelected += Form_OptionSelected; form.DeleteItem += Form_DeleteItem; View[nameof(Model.Key).ToFieldKey()].IsUserEditable = IsCreate; form.AddViewCell(nameof(Model.Name)); form.AddViewCell(nameof(Model.Key)); /* At some point we may want to allow one simulator to target different transports/endpoint/ports * form.AddViewCell(nameof(Model.Transport)); * form.AddViewCell(nameof(Model.EndPoint)); * form.AddViewCell(nameof(Model.Port)); */ form.AddViewCell(nameof(Model.QualityOfServiceLevel)); form.AddViewCell(nameof(Model.RetainFlag)); form.AddViewCell(nameof(Model.To)); form.AddViewCell(nameof(Model.MessageId)); form.AddViewCell(nameof(Model.QueueName)); form.AddViewCell(nameof(Model.Topic)); form.AddViewCell(nameof(Model.AppendCR)); form.AddViewCell(nameof(Model.AppendLF)); form.AddViewCell(nameof(Model.PayloadType)); form.AddViewCell(nameof(Model.ContentType)); form.AddViewCell(nameof(Model.HttpVerb)); form.AddViewCell(nameof(Model.TextPayload)); form.AddViewCell(nameof(Model.BinaryPayload)); form.AddViewCell(nameof(Model.PathAndQueryString)); if (Model.Transport.Value == TransportTypes.RestHttp || Model.Transport.Value == TransportTypes.RestHttps) { form.AddChildList <MessageHeaderViewModel>(nameof(Model.MessageHeaders), Model.MessageHeaders); } form.AddChildList <DynamicAttributeViewModel>(nameof(Model.DynamicAttributes), Model.DynamicAttributes); ModelToView(Model, form); HideAll(); switch (Model.Transport.Value) { case TransportTypes.AzureIoTHub: SetForAzureIoTHub(); break; case TransportTypes.AzureEventHub: SetForAzureEventHub(); break; case TransportTypes.MQTT: SetForMQTT(); break; case TransportTypes.TCP: SetForTCP(); break; case TransportTypes.UDP: SetForUDP(); break; case TransportTypes.AzureServiceBus: SetForServiceBus(); break; case TransportTypes.RestHttp: case TransportTypes.RestHttps: SetForREST(); break; } } else { ShowErrorMessage = true; HasTransport = false; } }