Browse Source

Converted ExtraProperties to a dynamic object

pull/13082/head
malik masis 4 years ago
parent
commit
f751f89d89
  1. 25
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml
  2. 24
      modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/BlogPost.cshtml

25
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/CmsKit/Shared/Components/Pages/Default.cshtml

@ -1,5 +1,6 @@
@addTagHelper *, Volo.Abp.AspNetCore.Mvc.UI.Bootstrap
@using System.Dynamic
@using Volo.CmsKit.Public.Web.Renderers
@using Volo.Abp.Data
@using Volo.CmsKit.Contents
@ -18,12 +19,26 @@
}
else if (contentFragment.Type == "Widget") //TODO: Constant
{
@await Component.InvokeAsync(contentFragment.GetProperty<string>("Type"), new
{
extraProperties = contentFragment.ExtraProperties
}
)
@await Component.InvokeAsync(contentFragment.GetProperty<string>("Type"), ConvertToDynamicObject(contentFragment.ExtraProperties))
}
}
</abp-card-body>
</abp-card>
@{
dynamic ConvertToDynamicObject(Dictionary<string, object> dict)
{
var eo = new ExpandoObject();
var eoColl = (ICollection<KeyValuePair<string, object>>)eo;
foreach (var kvp in dict)
{
eoColl.Add(kvp);
}
dynamic eoDynamic = eo;
return eoDynamic;
}
}

24
modules/cms-kit/src/Volo.CmsKit.Public.Web/Pages/Public/CmsKit/Blogs/BlogPost.cshtml

@ -1,5 +1,6 @@
@page
@using System.Dynamic
@using Volo.Abp.Data
@using Volo.CmsKit.Public.Blogs
@using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Blogs.BlogPostComment
@ -75,11 +76,7 @@
}
else if (contentFragment.Type == "Widget") //TODO: Constant
{
@await Component.InvokeAsync(contentFragment.GetProperty<string>("Type"), new
{
extraProperties = contentFragment.ExtraProperties
}
)
@await Component.InvokeAsync(contentFragment.GetProperty<string>("Type"), ConvertToDynamicObject(contentFragment.ExtraProperties))
}
}
<p class="mb-3">
@ -167,4 +164,21 @@
entityId = Model.BlogPost.Id.ToString()
})
}
}
@{
dynamic ConvertToDynamicObject(Dictionary<string, object> dict)
{
var eo = new ExpandoObject();
var eoColl = (ICollection<KeyValuePair<string, object>>)eo;
foreach (var kvp in dict)
{
eoColl.Add(kvp);
}
dynamic eoDynamic = eo;
return eoDynamic;
}
}
Loading…
Cancel
Save