Merge pull request #3009 from ajahangard/dev
Using DynamicComponent Instead of RenderFragment in ContainerBuilder
This commit is contained in:
commit
90c1eeb312
@ -9,12 +9,12 @@
|
|||||||
@if (_useadminborder)
|
@if (_useadminborder)
|
||||||
{
|
{
|
||||||
<div class="app-pane-admin-border">
|
<div class="app-pane-admin-border">
|
||||||
@DynamicComponent
|
<DynamicComponent Type="@ComponentType"></DynamicComponent>
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@DynamicComponent
|
<DynamicComponent Type="@ComponentType"></DynamicComponent>
|
||||||
}
|
}
|
||||||
</CascadingValue>
|
</CascadingValue>
|
||||||
|
|
||||||
@ -23,6 +23,7 @@
|
|||||||
@code {
|
@code {
|
||||||
private bool _visible = true;
|
private bool _visible = true;
|
||||||
private bool _useadminborder = false;
|
private bool _useadminborder = false;
|
||||||
|
public Type ComponentType { get; set; }
|
||||||
|
|
||||||
[CascadingParameter]
|
[CascadingParameter]
|
||||||
protected PageState PageState { get; set; }
|
protected PageState PageState { get; set; }
|
||||||
@ -30,8 +31,6 @@
|
|||||||
[Parameter]
|
[Parameter]
|
||||||
public Module ModuleState { get; set; }
|
public Module ModuleState { get; set; }
|
||||||
|
|
||||||
RenderFragment DynamicComponent { get; set; }
|
|
||||||
|
|
||||||
protected override void OnInitialized()
|
protected override void OnInitialized()
|
||||||
{
|
{
|
||||||
((INotifyPropertyChanged)SiteState.Properties).PropertyChanged += PropertyChanged;
|
((INotifyPropertyChanged)SiteState.Properties).PropertyChanged += PropertyChanged;
|
||||||
@ -54,17 +53,7 @@
|
|||||||
_useadminborder = false;
|
_useadminborder = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
DynamicComponent = builder =>
|
ComponentType = Type.GetType(container) ?? Type.GetType(Constants.DefaultContainer);
|
||||||
{
|
|
||||||
Type containerType = Type.GetType(container);
|
|
||||||
if (containerType == null)
|
|
||||||
{
|
|
||||||
// fallback
|
|
||||||
containerType = Type.GetType(Constants.DefaultContainer);
|
|
||||||
}
|
|
||||||
builder.OpenComponent(0, containerType);
|
|
||||||
builder.CloseComponent();
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void PropertyChanged(object sender, PropertyChangedEventArgs e)
|
private void PropertyChanged(object sender, PropertyChangedEventArgs e)
|
||||||
@ -83,4 +72,6 @@
|
|||||||
{
|
{
|
||||||
((INotifyPropertyChanged)SiteState.Properties).PropertyChanged -= PropertyChanged;
|
((INotifyPropertyChanged)SiteState.Properties).PropertyChanged -= PropertyChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user