Exemplo n.º 1
0
        string GetEntityRender()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append($"<{EntityOrigin.Name}");
            foreach (var item in EntityOrigin.Attributes)
            {
                string attrValue = item.Value;
                switch (item.Key)
                {
                case "src":
                case "href":
                    attrValue = MetadataContainerOwner.ResolveUrl(attrValue);
                    break;
                }
                if (!string.IsNullOrEmpty(attrValue))
                {
                    sb.Append($" {item.Key}=\"{attrValue}\"");
                }
                else
                {
                    sb.Append($" {item.Key}");
                }
            }
            if (EntityOrigin.Name == "script" || !string.IsNullOrEmpty(EntityOrigin.Content))
            {
                sb.Append(">");
                if (EntityOrigin.Name == "title")
                {
                    sb.Append(string.Format(TitleFormat, EntityOrigin.Content));
                }
                else
                {
                    sb.Append(EntityOrigin.Content);
                }
                sb.Append($"</{EntityOrigin.Name}>");
            }
            else
            {
                sb.Append("/>");
            }
            sb.Append(Environment.NewLine);
            return(sb.ToString());
        }
Exemplo n.º 2
0
        protected override void BuildRenderTree(RenderTreeBuilder builder)
        {
            var    entities    = MetadataContainerOwner.Metadata.Entities.GroupBy(x => x.Key).Select(x => x.OrderBy(i => i.Priority).Last().Origin).ToList();
            string titleFormat = entities.FirstOrDefault(x => x.Name == "titleFormat")?.Content ?? "{0}";

            builder.AddContent(0, new MarkupString(Environment.NewLine));
            foreach (var entity in entities)
            {
                if (!MetadataContainerOwner.CheckBeforeRender(entity))
                {
                    continue;
                }
                builder.OpenComponent <DocumentMetadataEntityComponent>(1);
                builder.SetKey(entity.Key);
                builder.AddAttribute(2, "EntityOrigin", entity);
                builder.AddAttribute(3, "TitleFormat", titleFormat);
                builder.CloseComponent();
            }
        }