Merge pull request #217 from sbwalker/master

Ability to insert image in RichTextEditor
This commit is contained in:
Shaun Walker 2020-02-19 14:53:08 -05:00 committed by GitHub
commit ae24b0f3be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 21 deletions

View File

@ -2,6 +2,15 @@
@inherits ModuleBase
@inject IJSRuntime JSRuntime
@if (filemanagervisible)
{
<FileManager @ref="filemanager" Filter=".jpg,.jpeg,.jpe,.gif,.png" />
@((MarkupString)@message)
}
<div class="row justify-content-center">
<button type="button" class="btn btn-success" @onclick="InsertImage">Insert Image</button>
</div>
<br />
<div @ref="@ToolBar">
@ToolbarContent
</div>
@ -13,26 +22,24 @@
public RenderFragment ToolbarContent { get; set; }
[Parameter]
public bool ReadOnly { get; set; }
= false;
public bool ReadOnly { get; set; } = false;
[Parameter]
public string Placeholder { get; set; }
= "Compose an epic...";
public string Placeholder { get; set; } = "Enter Your Content...";
[Parameter]
public string Theme { get; set; }
= "snow";
public string Theme { get; set; } = "snow";
[Parameter]
public string DebugLevel { get; set; }
= "info";
public string DebugLevel { get; set; } = "info";
private ElementReference EditorElement;
private ElementReference ToolBar;
bool filemanagervisible = false;
FileManager filemanager;
string message = "";
protected override async Task
OnAfterRenderAsync(bool firstRender)
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
@ -82,10 +89,29 @@
EditorElement, mode);
}
public async Task InsertImage(string ImageURL)
public async Task InsertImage()
{
if (filemanagervisible)
{
int fileid = filemanager.GetFileId();
if (fileid != -1)
{
await RichTextEditorInterop.InsertImage(
JSRuntime,
EditorElement, ImageURL);
EditorElement, ContentUrl(fileid));
filemanagervisible = false;
message = "";
}
else
{
message = "<br /><div class=\"alert alert-warning\" role=\"alert\">You Must Select An Image To Insert</div>";
}
}
else
{
filemanagervisible = true;
message = "";
}
StateHasChanged();
}
}

View File

@ -159,7 +159,7 @@ namespace Oqtane.Repository
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
ControlTypeRoutes = "",
AssemblyName = assembly.FullName.Split(",")[0],
Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"Administrators\"}]"
Permissions = ""
};
}
else
@ -181,14 +181,18 @@ namespace Oqtane.Repository
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
ControlTypeRoutes = "",
AssemblyName = assembly.FullName.Split(",")[0],
Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"" + Constants.AdminRole + "\"}]"
Permissions = ""
};
// make non-admin modules available by default to registered users on personalized pages
if (moduledefinition.Categories != "Admin")
}
// permissions
if (moduledefinition.Categories == "Admin")
{
moduledefinition.Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"" + Constants.AdminRole + "\"}]";
}
else
{
moduledefinition.Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"" + Constants.AdminRole + ";" + Constants.RegisteredRole + "\"}]";
}
}
moduledefinitions.Add(moduledefinition);
index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == QualifiedModuleType);
}