oqtane.framework/Oqtane.Client/UI/ModuleInstance.razor
Hisham Bin Ateya 66ad089088
Refactoring (#314)
* Refactoring

* Refactoring

* Check for a valid email.

* Fixed missing character.

* Moved logic to  the Utilities class.

* Rename template .sql file

* Modified null and empty string check.

* Check for a valid email.

* Fixed missing character.

* Moved logic to  the Utilities class.

* Added Favicon support, Progressive Web App support, page title and url support, and private/public user registration options

* Refactoring

* Refactoring

* Check for a valid email.

* Moved logic to  the Utilities class.

Co-authored-by: Aubrey <aubrey.b@treskcow.tech>
Co-authored-by: MIchael Atwood <matwood@dragonmastery.com>
Co-authored-by: Shaun Walker <shaun.walker@siliqon.com>
2020-03-31 10:21:05 -04:00

81 lines
2.1 KiB
Plaintext

@namespace Oqtane.UI
<ModuleMessage Message="@_message" Type="MessageType.Error" />
<CascadingValue Value="this">
<ModuleMessage @ref="ModuleMessage" />
@DynamicComponent
</CascadingValue>
@if (_progressindicator)
{
<div class="app-progress-indicator"></div>
}
@code {
private string _message;
private bool _progressindicator = false;
[CascadingParameter]
protected PageState PageState { get; set; }
[CascadingParameter]
private Module ModuleState { get; set; }
private ModuleMessage ModuleMessage { get; set; }
private RenderFragment DynamicComponent { get; set; }
protected override void OnParametersSet()
{
DynamicComponent = builder =>
{
string typename = ModuleState.ModuleType;
// check for core module actions component
if (Constants.DefaultModuleActions.Contains(PageState.Action))
{
typename = Constants.DefaultModuleActionsTemplate.Replace(Constants.ActionToken, PageState.Action);
}
Type moduleType = null;
if (typename != null)
{
moduleType = Type.GetType(typename);
if (moduleType != null)
{
builder.OpenComponent(0, moduleType);
builder.CloseComponent();
}
else
{
// module does not exist with typename specified
_message = "Module Does Not Have A Component Named " + Utilities.GetTypeNameLastSegment(typename, 0) + ".razor";
}
}
else
{
_message = "Something is wrong with moduletype";
}
};
}
public void AddModuleMessage(string message, MessageType type)
{
_progressindicator = false;
StateHasChanged();
ModuleMessage.SetModuleMessage(message, type);
}
public void ShowProgressIndicator()
{
_progressindicator = true;
StateHasChanged();
}
public void HideProgressIndicator()
{
_progressindicator = false;
StateHasChanged();
}
}