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
|
@inherits ModuleBase
|
||||||
@inject IJSRuntime JSRuntime
|
@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">
|
<div @ref="@ToolBar">
|
||||||
@ToolbarContent
|
@ToolbarContent
|
||||||
</div>
|
</div>
|
||||||
|
@ -13,26 +22,24 @@
|
||||||
public RenderFragment ToolbarContent { get; set; }
|
public RenderFragment ToolbarContent { get; set; }
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public bool ReadOnly { get; set; }
|
public bool ReadOnly { get; set; } = false;
|
||||||
= false;
|
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public string Placeholder { get; set; }
|
public string Placeholder { get; set; } = "Enter Your Content...";
|
||||||
= "Compose an epic...";
|
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public string Theme { get; set; }
|
public string Theme { get; set; } = "snow";
|
||||||
= "snow";
|
|
||||||
|
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public string DebugLevel { get; set; }
|
public string DebugLevel { get; set; } = "info";
|
||||||
= "info";
|
|
||||||
|
|
||||||
private ElementReference EditorElement;
|
private ElementReference EditorElement;
|
||||||
private ElementReference ToolBar;
|
private ElementReference ToolBar;
|
||||||
|
bool filemanagervisible = false;
|
||||||
|
FileManager filemanager;
|
||||||
|
string message = "";
|
||||||
|
|
||||||
protected override async Task
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
||||||
OnAfterRenderAsync(bool firstRender)
|
|
||||||
{
|
{
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
|
@ -82,10 +89,29 @@
|
||||||
EditorElement, mode);
|
EditorElement, mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task InsertImage(string ImageURL)
|
public async Task InsertImage()
|
||||||
|
{
|
||||||
|
if (filemanagervisible)
|
||||||
|
{
|
||||||
|
int fileid = filemanager.GetFileId();
|
||||||
|
if (fileid != -1)
|
||||||
{
|
{
|
||||||
await RichTextEditorInterop.InsertImage(
|
await RichTextEditorInterop.InsertImage(
|
||||||
JSRuntime,
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -159,7 +159,7 @@ namespace Oqtane.Repository
|
||||||
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
|
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
|
||||||
ControlTypeRoutes = "",
|
ControlTypeRoutes = "",
|
||||||
AssemblyName = assembly.FullName.Split(",")[0],
|
AssemblyName = assembly.FullName.Split(",")[0],
|
||||||
Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"Administrators\"}]"
|
Permissions = ""
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -181,14 +181,18 @@ namespace Oqtane.Repository
|
||||||
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
|
ControlTypeTemplate = ModuleType + "." + Constants.ActionToken + ", " + typename[1],
|
||||||
ControlTypeRoutes = "",
|
ControlTypeRoutes = "",
|
||||||
AssemblyName = assembly.FullName.Split(",")[0],
|
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 + "\"}]";
|
moduledefinition.Permissions = "[{\"PermissionName\":\"Utilize\",\"Permissions\":\"" + Constants.AdminRole + ";" + Constants.RegisteredRole + "\"}]";
|
||||||
}
|
}
|
||||||
}
|
|
||||||
moduledefinitions.Add(moduledefinition);
|
moduledefinitions.Add(moduledefinition);
|
||||||
index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == QualifiedModuleType);
|
index = moduledefinitions.FindIndex(item => item.ModuleDefinitionName == QualifiedModuleType);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user