Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }