Merge pull request #217 from sbwalker/master
Ability to insert image in RichTextEditor
This commit is contained in:
commit
ae24b0f3be
|
@ -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()
|
||||
{
|
||||
await RichTextEditorInterop.InsertImage(
|
||||
JSRuntime,
|
||||
EditorElement, ImageURL);
|
||||
if (filemanagervisible)
|
||||
{
|
||||
int fileid = filemanager.GetFileId();
|
||||
if (fileid != -1)
|
||||
{
|
||||
await RichTextEditorInterop.InsertImage(
|
||||
JSRuntime,
|
||||
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();
|
||||
}
|
||||
}
|
|
@ -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,13 +181,17 @@ 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")
|
||||
{
|
||||
moduledefinition.Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"" + Constants.AdminRole + ";" + Constants.RegisteredRole + "\"}]";
|
||||
}
|
||||
}
|
||||
// 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);
|
||||
|
|
Loading…
Reference in New Issue
Block a user