private static IModelInstance CreateFormInstance(NameValueCollection form) { var name = form["__type"]; var model = ModelsFacade.GetModel <FormModel>(name); return(new Form(model)); }
public WizardStep(WizardStepModel model) { var formModel = ModelsFacade.GetModel <FormModel>(model.FormName); Model = model; Form = new Form(formModel); }
public override void OnInitialize(object sender, EventArgs e) { if (BindingExist("Label")) { return; } var model = ModelsFacade.GetModel <FormModel>(FieldEntityToken.FormName); var field = model.Fields.Get(FieldEntityToken.FieldName); Bindings.Add("Label", GetValue("Label") ?? field.Label); SetupFormXml(); }
public override void OnFinish(object sender, EventArgs e) { var label = GetBinding <string>("Label"); using (var writer = ResourceFacade.GetResourceWriter()) { writer.AddResource(GetKey("Label"), label); var model = ModelsFacade.GetModel <FormModel>(FieldEntityToken.FormName); var field = model.Fields.Get(FieldEntityToken.FieldName); if (field.Attributes.OfType <PlaceholderTextAttribute>().Any()) { var placeholderText = GetBinding <string>("PlaceholderText"); writer.AddResource(GetKey("PlaceholderText"), placeholderText); } if (field.Attributes.OfType <FieldHelpAttribute>().Any()) { var help = GetBinding <string>("Help"); writer.AddResource(GetKey("Help"), help); } var validationAttributes = field.Attributes.OfType <FormValidationAttribute>(); foreach (var attr in validationAttributes) { var name = attr.GetType().Name; var key = "Validation." + name; var binding = "Validation-" + name; var value = GetBinding <string>(binding); writer.AddResource(GetKey(key), value); } } var treeRefresher = CreateParentTreeRefresher(); treeRefresher.PostRefreshMessages(EntityToken); SetSaveStatus(true); }
public IEnumerable <Element> Provide(ElementProviderContext context, EntityToken token) { var folder = (FormFolderEntityToken)token; if (folder.FolderType != "Fields") { yield break; } var form = ModelsFacade.GetModel(folder.FormName); if (form == null) { yield break; } if (_entityTokenHandlers == null) { _entityTokenHandlers = new ProviderContainer <IElementProviderFor>("FormBuilder"); } foreach (var field in form.Fields) { var elementHandle = context.CreateElementHandle(new FormFieldEntityToken(form.Name, field.Name)); var fieldElement = new Element(elementHandle) { VisualData = new ElementVisualizedData { Label = field.Name, ToolTip = field.Name, HasChildren = _entityTokenHandlers.GetProvidersFor(elementHandle.EntityToken).Any(), Icon = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"), OpenedIcon = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root") } }; yield return(fieldElement); } }
public void AddActions(Element element) { if (element.Actions.Any(a => a.TagValue == "edit")) { return; } var resourceWriter = ResourceFacade.GetResourceWriter(UserSettings.ActiveLocaleCultureInfo); if (resourceWriter == null) { return; } var token = (FormFieldEntityToken)element.ElementHandle.EntityToken; var model = ModelsFacade.GetModel(token.FormName); var field = model.Fields.Get(token.FieldName); if (!field.Attributes.OfType <FieldLabelAttribute>().Any()) { return; } var editFieldActionToken = new WorkflowActionToken(typeof(EditFormFieldSettingsWorkflow)); element.AddAction(new ElementAction(new ActionHandle(editFieldActionToken)) { TagValue = "edit", VisualData = new ActionVisualizedData { Label = "Edit", ToolTip = "Edit", Icon = new ResourceHandle("Composite.Icons", "generated-type-data-edit"), ActionLocation = ActionLocation } }); }
private void SetupFormXml() { XDocument formDocument; var markupProvider = new FormDefinitionFileMarkupProvider(XmlFilePath); using (var reader = markupProvider.GetReader()) { formDocument = XDocument.Load(reader); } if (formDocument.Root == null) { return; } var model = ModelsFacade.GetModel <FormModel>(FieldEntityToken.FormName); var field = model.Fields.Get(FieldEntityToken.FieldName); var bindingsXElement = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Bindings); var layoutElement = formDocument.Root.Element(Namespaces.BindingForms10 + FormKeyTagNames.Layout); if (bindingsXElement == null || layoutElement == null) { return; } var tabPanelsElement = layoutElement.Element(Namespaces.BindingFormsStdUiControls10 + "TabPanels"); if (tabPanelsElement == null) { return; } var basicFieldGroup = tabPanelsElement.Element(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder").Element(Namespaces.BindingFormsStdUiControls10 + "FieldGroup"); if (field.Attributes.OfType <PlaceholderTextAttribute>().Any()) { var binding = "PlaceholderText"; AddDynamicBinding(bindingsXElement, binding, GetValue(binding) ?? field.PlaceholderText); AddTextBox(basicFieldGroup, "Placeholder text", binding); } if (field.Attributes.OfType <FieldHelpAttribute>().Any()) { var binding = "Help"; AddDynamicBinding(bindingsXElement, binding, GetValue(binding) ?? field.Help); AddTextBox(basicFieldGroup, "Help", binding); } var validationAttributes = field.Attributes.OfType <FormValidationAttribute>(); if (!validationAttributes.Any()) { DeliverFormData(FieldEntityToken.FieldName, StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules); return; } basicFieldGroup.Attribute("Label").Remove(); tabPanelsElement.Element(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder").Add(new XAttribute("Label", "Basic")); var fieldGroup = new XElement(Namespaces.BindingFormsStdUiControls10 + "FieldGroup"); foreach (var attr in validationAttributes) { var name = attr.GetType().Name; var label = attr.AttributeName(); var binding = "Validation-" + name; AddTextBox(fieldGroup, label, binding); AddDynamicBinding(bindingsXElement, binding, GetValue("Validation." + name) ?? attr.GetValidationMessage(field)); } tabPanelsElement.Add( new XElement(Namespaces.BindingFormsStdUiControls10 + "PlaceHolder", new XAttribute("Label", "Validation"), fieldGroup ) ); DeliverFormData(FieldEntityToken.FieldName, StandardUiContainerTypes.Document, formDocument.ToString(), Bindings, BindingsValidationRules); }