protected override void BuildRenderTree(RenderTreeBuilder builder) { base.BuildRenderTree(builder); EnsureTypeCacheBuilt(); if (!widgetTypeCodeLookup.ContainsKey(DesignNode.WidgetTypeCode)) { Console.WriteLine("[Forms] Unknown toolbox item: " + DesignNode.WidgetTypeCode); return; } var linkedConfigType = widgetTypeCodeLookup[DesignNode.WidgetTypeCode]; var activated = Activator.CreateInstance(Type.GetType(linkedConfigType.AssemblyQualifiedName)); activated.SetPropertyValues(DesignNode.Parameters, x => true); var useComponentType = componentLookupByInterface[linkedConfigType]; Console.WriteLine("[Forms] Activating " + useComponentType.FullName); var localSeq = 0; builder.OpenComponent(localSeq++, useComponentType); builder.AddAttribute(localSeq++, nameof(IConfiguratorComponent <TextboxToolboxItem> .Config), activated); if (activated is ISupportsSubContent) { var pageStructure = new PageStructure(); pageStructure.ChildNodes = DesignNode.ChildNodes; var formDescription = new ConfiguratorFormDescription { Layout = pageStructure }; builder.AddAttribute(localSeq++, nameof(IRendersSubLayout.DesignNode), formDescription); } builder.CloseComponent(); Console.WriteLine("[Forms] Activated " + useComponentType.FullName); }
public ConfiguratorFormDescription GetConfiguratorForm(string widgetTypeCode) { var toolboxItem = new ToolboxManager().GetToolboxItemByCode(widgetTypeCode); var toolboxItemNativeType = new CmsPageContentActivator().GetToolboxItemNativeType(toolboxItem); var defaultForm = new ConfiguratorCmsPageContentBuilder().GenerateDefaultForm(toolboxItemNativeType, FormStyle.Edit); // new CmsPageContentActivator().GetDefaultContentParameterValues(toolboxItem) //.ToDictionary(x => x.Key, x => x.Value) var description = new ConfiguratorFormDescription { Layout = new StructureNodeConverter().GetPageStructure(defaultForm), DefaultValues = new Dictionary <string, string>() }; return(description); }
public ConfiguratorFormDescription GetConfiguratorForm(Guid formId) { var form = new FormRepository().FindContentVersions(By.ContentId(formId), WarpCore.Platform.Orm.ContentEnvironment.Live).Result.Single(); var description = new ConfiguratorFormDescription { Layout = new StructureNodeConverter().GetPageStructure(form), DefaultValues = new Dictionary <string, string>() }; var repo = RepositoryActivator.ActivateRepository <ISupportsCmsForms>(form.RepositoryUid); var entityType = repo.New().GetType(); var dtd = Dependency.Resolve <IDynamicTypeDefinitionResolver>().Resolve(entityType); description.Metadata = new EntityMetadata { TitleProperty = dtd?.TitleProperty }; return(description); }