Initial commit

This commit is contained in:
oqtane
2019-05-04 20:32:08 -04:00
committed by Shaun Walker
parent 2f232eea7e
commit d71de1c21f
177 changed files with 8536 additions and 0 deletions

View File

@ -0,0 +1,61 @@
@using Microsoft.AspNetCore.Components.Routing
@using Oqtane.Modules
@using Oqtane.Client.Modules.HtmlText.Services
@using Oqtane.Shared.Modules.HtmlText.Models
@using System.Net.Http;
@using Oqtane.Client.Modules.Controls
@inherits ModuleBase
@inject IUriHelper UriHelper
@inject HttpClient http
<form>
<table class="form-group">
<tr>
<td>
<label for="Name" class="control-label">Content: </label>
</td>
<td>
<textarea class="form-control" bind="@content" rows="5" style="width:400px;" />
</td>
</tr>
</table>
<button class="btn btn-success" onclick="@SaveContent">Save</button>
<NavLink class="btn btn" href="@NavigateUrl()">Cancel</NavLink>
</form>
@functions {
public override SecurityAccessLevelEnum SecurityAccessLevel { get { return SecurityAccessLevelEnum.Edit; } }
public override string Title { get { return "Edit Html/Text"; } }
HtmlTextInfo htmltext;
string content;
protected override async Task OnInitAsync()
{
HtmlTextService htmltextservice = new HtmlTextService(http, UriHelper);
List<HtmlTextInfo> htmltextlist = await htmltextservice.GetHtmlTextAsync(ModuleState.ModuleId);
if (htmltextlist != null)
{
htmltext = htmltextlist.FirstOrDefault();
content = htmltext.Content;
}
}
private async Task SaveContent()
{
HtmlTextService htmltextservice = new HtmlTextService(http, UriHelper);
if (htmltext != null)
{
htmltext.Content = content;
await htmltextservice.UpdateHtmlTextAsync(htmltext);
}
else
{
htmltext = new HtmlTextInfo();
htmltext.ModuleId = ModuleState.ModuleId;
htmltext.Content = content;
await htmltextservice.AddHtmlTextAsync(htmltext);
}
UriHelper.NavigateTo(NavigateUrl(), true);
}
}

View File

@ -0,0 +1,26 @@
@using Oqtane.Client.Modules.HtmlText.Services
@using Oqtane.Modules
@using Oqtane.Shared.Modules.HtmlText.Models
@using System.Net.Http;
@using Oqtane.Client.Modules.Controls
@inherits ModuleBase
@inject HttpClient http
@inject IUriHelper UriHelper
@((MarkupString)content)
<br /><ActionLink Action="Edit" /><br /><br />
@functions {
string content;
protected override async Task OnInitAsync()
{
HtmlTextService htmltextservice = new HtmlTextService(http, UriHelper);
List<HtmlTextInfo> htmltext = await htmltextservice.GetHtmlTextAsync(ModuleState.ModuleId);
if (htmltext != null)
{
content = htmltext.FirstOrDefault().Content;
}
}
}

View File

@ -0,0 +1,16 @@
using Oqtane.Modules;
namespace Oqtane.Client.Modules.HtmlText
{
public class Module : IModule
{
public string Name { get { return "HtmlText"; } }
public string Description { get { return "Renders HTML or Text"; } }
public string Version { get { return "1.0.0"; } }
public string Owner { get { return ""; } }
public string Url { get { return ""; } }
public string Contact { get { return ""; } }
public string License { get { return ""; } }
public string Dependencies { get { return ""; } }
}
}

View File

@ -0,0 +1,46 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Net.Http;
using Microsoft.AspNetCore.Components;
using Oqtane.Services;
using Oqtane.Shared.Modules.HtmlText.Models;
namespace Oqtane.Client.Modules.HtmlText.Services
{
public class HtmlTextService : ServiceBase, IHtmlTextService
{
private readonly HttpClient http;
private readonly string apiurl;
public HtmlTextService(HttpClient http, IUriHelper urihelper)
{
this.http = http;
apiurl = CreateApiUrl(urihelper.GetAbsoluteUri(), "HtmlText");
}
public async Task<List<HtmlTextInfo>> GetHtmlTextAsync(int ModuleId)
{
List<HtmlTextInfo> htmltext = await http.GetJsonAsync<List<HtmlTextInfo>>(apiurl);
htmltext = htmltext
.Where(item => item.ModuleId == ModuleId)
.ToList();
return htmltext;
}
public async Task AddHtmlTextAsync(HtmlTextInfo htmltext)
{
await http.PostJsonAsync(apiurl, htmltext);
}
public async Task UpdateHtmlTextAsync(HtmlTextInfo htmltext)
{
await http.PutJsonAsync(apiurl + "/" + htmltext.HtmlTextId.ToString(), htmltext);
}
public async Task DeleteHtmlTextAsync(int HtmlTextId)
{
await http.DeleteAsync(apiurl + "/" + HtmlTextId.ToString());
}
}
}

View File

@ -0,0 +1,17 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Oqtane.Shared.Modules.HtmlText.Models;
namespace Oqtane.Client.Modules.HtmlText.Services
{
public interface IHtmlTextService
{
Task<List<HtmlTextInfo>> GetHtmlTextAsync(int ModuleId);
Task AddHtmlTextAsync(HtmlTextInfo htmltext);
Task UpdateHtmlTextAsync(HtmlTextInfo htmltext);
Task DeleteHtmlTextAsync(int HtmlTextId);
}
}