Client fixes

Client is partially done.
227 warnings left out of 1500
I like Rider
This commit is contained in:
Pavel Vesely
2020-03-15 15:18:32 +01:00
parent 5b3feaf26f
commit cf6643aef3
92 changed files with 1283 additions and 1262 deletions

View File

@ -1,7 +1,7 @@
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
@if (visible)
@if (_visible)
{
<div class="app-admin-modal">
<div class="modal" tabindex="-1" role="dialog">
@ -26,7 +26,7 @@
</div>
</div>
}
@if (authorized)
@if (_authorized)
{
if (Disabled)
{
@ -66,9 +66,9 @@
[Parameter]
public Action OnClick { get; set; } // required if an Action is specified - executes a method in the calling component
bool visible = false;
bool editmode = true;
bool authorized = false;
bool _visible = false;
bool _editmode = true;
bool _authorized = false;
protected override void OnParametersSet()
{
@ -82,15 +82,15 @@
}
if (!string.IsNullOrEmpty(EditMode))
{
editmode = bool.Parse(EditMode);
_editmode = bool.Parse(EditMode);
}
authorized = IsAuthorized();
_authorized = IsAuthorized();
}
private bool IsAuthorized()
{
bool authorized = false;
if (PageState.EditMode || !editmode)
if (PageState.EditMode || !_editmode)
{
SecurityAccessLevel security = SecurityAccessLevel.Host;
if (Security == null)
@ -135,7 +135,7 @@
private void DisplayModal()
{
visible = !visible;
_visible = !_visible;
StateHasChanged();
}

View File

@ -2,15 +2,15 @@
@inherits ModuleBase
@inject IUserService UserService
@if (authorized)
@if (_authorized)
{
if (Disabled)
{
<NavLink class="@classname" href="@url" style="@style" disabled>@text</NavLink>
<NavLink class="@_classname" href="@_url" style="@_style" disabled>@_text</NavLink>
}
else
{
<NavLink class="@classname" href="@url" style="@style">@text</NavLink>
<NavLink class="@_classname" href="@_url" style="@_style">@_text</NavLink>
}
}
@ -39,50 +39,50 @@
[Parameter]
public string EditMode { get; set; } // optional - specifies if a user must be in edit mode to see the action - default is true
string text = "";
string url = "";
string parameters = "";
string classname = "btn btn-primary";
string style = "";
bool editmode = true;
bool authorized = false;
string _text = "";
string _url = "";
string _parameters = "";
string _classname = "btn btn-primary";
string _style = "";
bool _editmode = true;
bool _authorized = false;
protected override void OnParametersSet()
{
text = Action;
_text = Action;
if (!string.IsNullOrEmpty(Text))
{
text = Text;
_text = Text;
}
if (!string.IsNullOrEmpty(Parameters))
{
parameters = Parameters;
_parameters = Parameters;
}
if (!string.IsNullOrEmpty(Class))
{
classname = Class;
_classname = Class;
}
if (!string.IsNullOrEmpty(Style))
{
style = Style;
_style = Style;
}
if (!string.IsNullOrEmpty(EditMode))
{
editmode = bool.Parse(EditMode);
_editmode = bool.Parse(EditMode);
}
url = EditUrl(Action, parameters);
authorized = IsAuthorized();
_url = EditUrl(Action, _parameters);
_authorized = IsAuthorized();
}
private bool IsAuthorized()
{
bool authorized = false;
if (PageState.EditMode || !editmode)
if (PageState.EditMode || !_editmode)
{
SecurityAccessLevel security = SecurityAccessLevel.Host;
if (Security == null)

View File

@ -1,9 +1,9 @@
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
@if (text != "")
@if (_text != "")
{
@((MarkupString)@text)
@((MarkupString)_text)
}
@code {
@ -31,51 +31,51 @@
[Parameter]
public string Style { get; set; }
string text = "";
string _text = "";
protected override void OnParametersSet()
{
text = "";
_text = "";
if (!String.IsNullOrEmpty(CreatedBy) || CreatedOn != null)
{
text += "<p style=\"" + Style + "\">Created ";
_text += "<p style=\"" + Style + "\">Created ";
if (!String.IsNullOrEmpty(CreatedBy))
{
text += " by <b>" + CreatedBy + "</b>";
_text += " by <b>" + CreatedBy + "</b>";
}
if (CreatedOn != null)
{
text += " on <b>" + CreatedOn.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
_text += " on <b>" + CreatedOn.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
}
text += "</p>";
_text += "</p>";
}
if (!String.IsNullOrEmpty(ModifiedBy) || ModifiedOn != null)
{
text += "<p style=\"" + Style + "\">Last modified ";
_text += "<p style=\"" + Style + "\">Last modified ";
if (!String.IsNullOrEmpty(ModifiedBy))
{
text += " by <b>" + ModifiedBy + "</b>";
_text += " by <b>" + ModifiedBy + "</b>";
}
if (ModifiedOn != null)
{
text += " on <b>" + ModifiedOn.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
_text += " on <b>" + ModifiedOn.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
}
text += "</p>";
_text += "</p>";
}
if (!String.IsNullOrEmpty(DeletedBy) || DeletedOn.HasValue)
{
text += "<p style=\"" + Style + "\">Deleted ";
_text += "<p style=\"" + Style + "\">Deleted ";
if (!String.IsNullOrEmpty(DeletedBy))
{
text += " by <b>" + DeletedBy + "</b>";
_text += " by <b>" + DeletedBy + "</b>";
}
if (DeletedOn != null)
{
text += " on <b>" + DeletedOn.Value.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
_text += " on <b>" + DeletedOn.Value.ToString("MMM dd yyyy HH:mm:ss") + "</b>";
}
text += "</p>";
_text += "</p>";
}
}
}

View File

@ -2,9 +2,9 @@
@inherits ModuleBase
@inject IFolderService FolderService
@inject IFileService FileService
@inject IJSRuntime jsRuntime
@inject IJSRuntime JsRuntime
@if (folders != null)
@if (_folders != null)
{
<div class="container-fluid px-0">
<div class="row">
@ -15,9 +15,9 @@
{
<option value="-1">&lt;Select Folder&gt;</option>
}
@foreach (Folder folder in folders)
@foreach (Folder folder in _folders)
{
if (folder.FolderId == folderid)
if (folder.FolderId == _folderid)
{
<option value="@(folder.FolderId)" selected>@(new string('-', folder.Level * 2))@(folder.Name)</option>
}
@ -28,14 +28,14 @@
}
</select>
</div>
@if (showfiles)
@if (_showfiles)
{
<div>
<select class="form-control" @onchange="(e => FileChanged(e))">
<option value="-1">&lt;Select File&gt;</option>
@foreach (File file in files)
@foreach (File file in _files)
{
if (file.FileId == fileid)
if (file.FileId == _fileid)
{
<option value="@(file.FileId)" selected>@(file.Name)</option>
}
@ -47,33 +47,33 @@
</select>
</div>
}
@if (haseditpermission)
@if (_haseditpermission)
{
<div>
@if (uploadmultiple)
@if (_uploadmultiple)
{
<input type="file" id="@fileinputid" name="file" accept="@filter" multiple />
<input type="file" id="@_fileinputid" name="file" accept="@_filter" multiple />
}
else
{
<input type="file" id="@fileinputid" name="file" accept="@filter" />
<input type="file" id="@_fileinputid" name="file" accept="@_filter" />
}
<span id="@progressinfoid"></span><progress id="@progressbarid" style="width: 150px; visibility: hidden;"></progress>
<span id="@_progressinfoid"></span><progress id="@_progressbarid" style="width: 150px; visibility: hidden;"></progress>
<span class="float-right">
<button type="button" class="btn btn-success" @onclick="UploadFile">Upload</button>
@if (showfiles && GetFileId() != -1)
@if (_showfiles && GetFileId() != -1)
{
<button type="button" class="btn btn-danger" @onclick="DeleteFile">Delete</button>
}
</span>
</div>
@((MarkupString)@message)
@((MarkupString)_message)
}
</div>
@if (@image != "")
@if (_image != "")
{
<div class="col-auto">
@((MarkupString)@image)
@((MarkupString)_image)
</div>
}
</div>
@ -99,143 +99,142 @@
[Parameter]
public string UploadMultiple { get; set; } // optional - enable multiple file uploads - default false
string id;
List<Folder> folders;
int folderid = -1;
List<File> files = new List<File>();
int fileid = -1;
bool showfiles = true;
string fileinputid = "";
string progressinfoid = "";
string progressbarid = "";
string filter = "*";
bool uploadmultiple = false;
bool haseditpermission = false;
string message = "";
string image = "";
string _id;
List<Folder> _folders;
int _folderid = -1;
List<File> _files = new List<File>();
int _fileid = -1;
bool _showfiles = true;
string _fileinputid = "";
string _progressinfoid = "";
string _progressbarid = "";
string _filter = "*";
bool _uploadmultiple = false;
bool _haseditpermission = false;
string _message = "";
string _image = "";
protected override async Task OnInitializedAsync()
{
if (!string.IsNullOrEmpty(Folder))
{
folders = new List<Folder>();
folders.Add(new Folder { FolderId = -1, Name = Folder });
folderid = -1;
_folders = new List<Folder> {new Folder {FolderId = -1, Name = Folder}};
_folderid = -1;
}
else
{
folders = await FolderService.GetFoldersAsync(ModuleState.SiteId);
_folders = await FolderService.GetFoldersAsync(ModuleState.SiteId);
if (!string.IsNullOrEmpty(FolderId))
{
folderid = int.Parse(FolderId);
_folderid = int.Parse(FolderId);
}
}
if (!string.IsNullOrEmpty(FileId))
{
fileid = int.Parse(FileId);
_fileid = int.Parse(FileId);
await SetImage();
if (fileid != -1)
if (_fileid != -1)
{
File file = await FileService.GetFileAsync(int.Parse(FileId));
if (file != null)
{
folderid = file.FolderId;
_folderid = file.FolderId;
}
}
}
if (!string.IsNullOrEmpty(ShowFiles))
{
showfiles = bool.Parse(ShowFiles);
_showfiles = bool.Parse(ShowFiles);
}
if (!string.IsNullOrEmpty(Filter))
{
filter = "." + Filter.Replace(",",",.");
_filter = "." + Filter.Replace(",",",.");
}
await GetFiles();
// create unique id for component
id = Guid.NewGuid().ToString("N");
fileinputid = id + "FileInput";
progressinfoid = id + "ProgressInfo";
progressbarid = id + "ProgressBar";
_id = Guid.NewGuid().ToString("N");
_fileinputid = _id + "FileInput";
_progressinfoid = _id + "ProgressInfo";
_progressbarid = _id + "ProgressBar";
if (!string.IsNullOrEmpty(UploadMultiple))
{
uploadmultiple = bool.Parse(UploadMultiple);
_uploadmultiple = bool.Parse(UploadMultiple);
}
}
private async Task GetFiles()
{
haseditpermission = false;
_haseditpermission = false;
if (!string.IsNullOrEmpty(Folder))
{
haseditpermission = UserSecurity.IsAuthorized(PageState.User, Constants.HostRole);
files = await FileService.GetFilesAsync(Folder);
_haseditpermission = UserSecurity.IsAuthorized(PageState.User, Constants.HostRole);
_files = await FileService.GetFilesAsync(Folder);
}
else
{
Folder folder = folders.Where(item => item.FolderId == folderid).FirstOrDefault();
Folder folder = _folders.FirstOrDefault(item => item.FolderId == _folderid);
if (folder != null)
{
haseditpermission = UserSecurity.IsAuthorized(PageState.User,PermissionNames.Edit, folder.Permissions);
files = await FileService.GetFilesAsync(folderid);
_haseditpermission = UserSecurity.IsAuthorized(PageState.User,PermissionNames.Edit, folder.Permissions);
_files = await FileService.GetFilesAsync(_folderid);
}
else
{
haseditpermission = false;
files = new List<File>();
_haseditpermission = false;
_files = new List<File>();
}
}
if (filter != "*")
if (_filter != "*")
{
List<File> filtered = new List<File>();
foreach (File file in files)
foreach (File file in _files)
{
if (filter.ToUpper().IndexOf("." + file.Extension.ToUpper()) != -1)
if (_filter.ToUpper().IndexOf("." + file.Extension.ToUpper()) != -1)
{
filtered.Add(file);
}
}
files = filtered;
_files = filtered;
}
}
private async Task FolderChanged(ChangeEventArgs e)
{
message = "";
_message = "";
try
{
folderid = int.Parse((string)e.Value);
_folderid = int.Parse((string)e.Value);
await GetFiles();
fileid = -1;
image = "";
_fileid = -1;
_image = "";
StateHasChanged();
}
catch (Exception ex)
{
await logger.LogError(ex, "Error Loading Files {Error}", ex.Message);
message = "<br /><div class=\"alert alert-danger\" role=\"alert\">Error Loading Files</div>";
_message = "<br /><div class=\"alert alert-danger\" role=\"alert\">Error Loading Files</div>";
}
}
private async Task FileChanged(ChangeEventArgs e)
{
message = "";
fileid = int.Parse((string)e.Value);
_message = "";
_fileid = int.Parse((string)e.Value);
await SetImage();
StateHasChanged();
}
private async Task SetImage()
{
image = "";
if (fileid != -1)
_image = "";
if (_fileid != -1)
{
File file = await FileService.GetFileAsync(fileid);
File file = await FileService.GetFileAsync(_fileid);
if (file.ImageHeight != 0 && file.ImageWidth != 0)
{
int maxwidth = 200;
@ -245,7 +244,7 @@
double ratioY = (double)maxheight / (double)file.ImageHeight;
double ratio = ratioX < ratioY ? ratioX : ratioY;
image = "<img src=\"" + ContentUrl(fileid) + "\" alt=\"" + file.Name +
_image = "<img src=\"" + ContentUrl(_fileid) + "\" alt=\"" + file.Name +
"\" width=\"" + Convert.ToInt32(file.ImageWidth * ratio).ToString() +
"\" height=\"" + Convert.ToInt32(file.ImageHeight * ratio).ToString() + "\" />";
}
@ -254,8 +253,8 @@
private async Task UploadFile()
{
var interop = new Interop(jsRuntime);
string[] upload = await interop.GetFiles(fileinputid);
var interop = new Interop(JsRuntime);
string[] upload = await interop.GetFiles(_fileinputid);
if (upload.Length > 0)
{
try
@ -263,23 +262,23 @@
string result;
if (!string.IsNullOrEmpty(Folder))
{
result = await FileService.UploadFilesAsync(Folder, upload, id);
result = await FileService.UploadFilesAsync(Folder, upload, _id);
}
else
{
result = await FileService.UploadFilesAsync(folderid, upload, id);
result = await FileService.UploadFilesAsync(_folderid, upload, _id);
}
if (result == "")
{
await logger.LogInformation("File Upload Succeeded {Files}", upload);
message = "<br /><div class=\"alert alert-success\" role=\"alert\">File Upload Succeeded</div>";
_message = "<br /><div class=\"alert alert-success\" role=\"alert\">File Upload Succeeded</div>";
await GetFiles();
if (upload.Length == 1)
{
File file = files.Where(item => item.Name == upload[0]).FirstOrDefault();
File file = _files.Where(item => item.Name == upload[0]).FirstOrDefault();
if (file != null)
{
fileid = file.FileId;
_fileid = file.FileId;
await SetImage();
}
}
@ -288,44 +287,44 @@
else
{
await logger.LogError("File Upload Failed For {Files}", result.Replace(",", ", "));
message = "<br /><div class=\"alert alert-danger\" role=\"alert\">File Upload Failed</div>";
_message = "<br /><div class=\"alert alert-danger\" role=\"alert\">File Upload Failed</div>";
}
}
catch (Exception ex)
{
await logger.LogError(ex, "File Upload Failed {Error}", ex.Message);
message = "<br /><div class=\"alert alert-danger\" role=\"alert\">File Upload Failed</div>";
_message = "<br /><div class=\"alert alert-danger\" role=\"alert\">File Upload Failed</div>";
}
}
else
{
message = "<br /><div class=\"alert alert-warning\" role=\"alert\">You Have Not Selected A File To Upload</div>";
_message = "<br /><div class=\"alert alert-warning\" role=\"alert\">You Have Not Selected A File To Upload</div>";
}
}
private async Task DeleteFile()
{
message = "";
_message = "";
try
{
await FileService.DeleteFileAsync(fileid);
await logger.LogInformation("File Deleted {File}", fileid);
message = "<br /><div class=\"alert alert-success\" role=\"alert\">File Deleted</div>";
await FileService.DeleteFileAsync(_fileid);
await logger.LogInformation("File Deleted {File}", _fileid);
_message = "<br /><div class=\"alert alert-success\" role=\"alert\">File Deleted</div>";
await GetFiles();
fileid = -1;
_fileid = -1;
await SetImage();
StateHasChanged();
}
catch (Exception ex)
{
await logger.LogError(ex, "Error Deleting File {File} {Error}", fileid, ex.Message);
message = "<br /><div class=\"alert alert-danger\" role=\"alert\">Error Deleting File</div>";
await logger.LogError(ex, "Error Deleting File {File} {Error}", _fileid, ex.Message);
_message = "<br /><div class=\"alert alert-danger\" role=\"alert\">Error Deleting File</div>";
}
}
public int GetFileId()
{
return fileid;
return _fileid;
}
}

View File

@ -1,6 +1,6 @@
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
@typeparam TableItem
@typeparam TAbleItem
<p>
@if(Format == "Table")
@ -36,40 +36,40 @@
</div>
}
<div class="mx-auto text-center">
@if (Page > MaxPages)
@if (_page > _maxPages)
{
<button class="btn btn-secondary" @onclick=@(async () => SetPagerSize("back"))><span class="oi oi-media-skip-backward" title="back" aria-hidden="true"></span></button>
}
@if (EndPage > 1)
@if (_endPage > 1)
{
<button class="btn btn-secondary" @onclick=@(async () => NavigateToPage("previous"))><span class="oi oi-chevron-left" title="previous" aria-hidden="true"></span></button>
@for (int i = StartPage; i <= EndPage; i++)
@for (int i = _startPage; i <= _endPage; i++)
{
var pager = i;
<button class="btn @((pager == Page) ? "btn-primary" : "btn-link")" @onclick=@(async () => UpdateList(pager))>
<button class="btn @((pager == _page) ? "btn-primary" : "btn-link")" @onclick=@(async () => UpdateList(pager))>
@pager
</button>
}
<button class="btn btn-secondary" @onclick=@(async () => NavigateToPage("next"))><span class="oi oi-chevron-right" title="next" aria-hidden="true"></span></button>
}
@if (EndPage < Pages)
@if (_endPage < _pages)
{
<button class="btn btn-secondary" @onclick=@(async () => SetPagerSize("forward"))><span class="oi oi-media-skip-forward" title="forward" aria-hidden="true"></span></button>
}
@if (EndPage > 1)
@if (_endPage > 1)
{
<span class="btn btn-link disabled">Page @Page of @Pages</span>
<span class="btn btn-link disabled">Page @_page of @_pages</span>
}
</div>
</p>
@code {
int Pages = 0;
int Page = 1;
int MaxItems;
int MaxPages;
int StartPage;
int EndPage;
int _pages = 0;
int _page = 1;
int _maxItems;
int _maxPages;
int _startPage;
int _endPage;
[Parameter]
public string Format { get; set; }
@ -78,13 +78,13 @@
public RenderFragment Header { get; set; }
[Parameter]
public RenderFragment<TableItem> Row { get; set; }
public RenderFragment<TAbleItem> Row { get; set; }
[Parameter]
public RenderFragment<TableItem> Detail { get; set; }
public RenderFragment<TAbleItem> Detail { get; set; }
[Parameter]
public IEnumerable<TableItem> Items { get; set; }
public IEnumerable<TAbleItem> Items { get; set; }
[Parameter]
public string PageSize { get; set; }
@ -95,7 +95,7 @@
[Parameter]
public string Class { get; set; }
IEnumerable<TableItem> ItemList { get; set; }
IEnumerable<TAbleItem> ItemList { get; set; }
protected override void OnParametersSet()
{
@ -116,34 +116,34 @@
}
if (string.IsNullOrEmpty(PageSize))
{
MaxItems = 10;
_maxItems = 10;
}
else
{
MaxItems = int.Parse(PageSize);
_maxItems = int.Parse(PageSize);
}
if (string.IsNullOrEmpty(DisplayPages))
{
MaxPages = 5;
_maxPages = 5;
}
else
{
MaxPages = int.Parse(DisplayPages);
_maxPages = int.Parse(DisplayPages);
}
if (Items != null)
{
ItemList = Items.Skip((Page - 1) * MaxItems).Take(MaxItems);
Pages = (int)Math.Ceiling(Items.Count() / (decimal)MaxItems);
ItemList = Items.Skip((_page - 1) * _maxItems).Take(_maxItems);
_pages = (int)Math.Ceiling(Items.Count() / (decimal)_maxItems);
}
SetPagerSize("forward");
}
public void UpdateList(int CurrentPage)
public void UpdateList(int currentPage)
{
ItemList = Items.Skip((CurrentPage - 1) * MaxItems).Take(MaxItems);
Page = CurrentPage;
ItemList = Items.Skip((currentPage - 1) * _maxItems).Take(_maxItems);
_page = currentPage;
StateHasChanged();
}
@ -151,29 +151,29 @@
{
if (direction == "forward")
{
if (EndPage + 1 < Pages)
if (_endPage + 1 < _pages)
{
StartPage = EndPage + 1;
_startPage = _endPage + 1;
}
else
{
StartPage = 1;
_startPage = 1;
}
if (EndPage + MaxPages < Pages)
if (_endPage + _maxPages < _pages)
{
EndPage = StartPage + MaxPages - 1;
_endPage = _startPage + _maxPages - 1;
}
else
{
EndPage = Pages;
_endPage = _pages;
}
StateHasChanged();
}
else if (direction == "back")
{
EndPage = StartPage - 1;
StartPage = StartPage - MaxPages;
_endPage = _startPage - 1;
_startPage = _startPage - _maxPages;
}
}
@ -181,26 +181,26 @@
{
if (direction == "next")
{
if (Page < Pages)
if (_page < _pages)
{
if (Page == EndPage)
if (_page == _endPage)
{
SetPagerSize("forward");
}
Page += 1;
_page += 1;
}
}
else if (direction == "previous")
{
if (Page > 1)
if (_page > 1)
{
if (Page == StartPage)
if (_page == _startPage)
{
SetPagerSize("back");
}
Page -= 1;
_page -= 1;
}
}
UpdateList(Page);
UpdateList(_page);
}
}

View File

@ -3,23 +3,23 @@
@inject IRoleService RoleService
@inject IUserService UserService
@if (permissions != null)
@if (_permissions != null)
{
<br />
<table class="table">
<tbody>
<tr>
<th>Role</th>
@foreach (PermissionString permission in permissions)
@foreach (PermissionString permission in _permissions)
{
<th style="text-align: center;">@permission.PermissionName @EntityName</th>
}
</tr>
@foreach (Role role in roles)
@foreach (Role role in _roles)
{
<tr>
<td>@role.Name</td>
@foreach (PermissionString permission in permissions)
@foreach (PermissionString permission in _permissions)
{
var p = permission;
<td style="text-align: center;">
@ -30,25 +30,25 @@
}
</tbody>
</table>
@if (@users.Count != 0)
@if (_users.Count != 0)
{
<table class="table">
<thead>
<tr>
<th>User</th>
@foreach (PermissionString permission in permissions)
@foreach (PermissionString permission in _permissions)
{
<th style="text-align: center;">@permission.PermissionName @EntityName</th>
}
</tr>
</thead>
<tbody>
@foreach (User user in users)
@foreach (User user in _users)
{
string userid = "[" + user.UserId.ToString() + "]";
<tr>
<td>@user.DisplayName</td>
@foreach (PermissionString permission in permissions)
@foreach (PermissionString permission in _permissions)
{
var p = permission;
<td style="text-align: center;">
@ -64,13 +64,13 @@
<tbody>
<tr>
<td style="text-align: right;"><label for="Username" class="control-label">User: </label></td>
<td><input type="text" name="Username" class="form-control" placeholder="Enter Username" @bind="@username" /></td>
<td><input type="text" name="Username" class="form-control" placeholder="Enter Username" @bind="@_username" /></td>
<td style="text-align: left;"><button type="button" class="btn btn-primary" @onclick="AddUser">Add</button></td>
</tr>
</tbody>
</table>
<br />
<ModuleMessage Type="MessageType.Error" Message="@message" />
<ModuleMessage Type="MessageType.Error" Message="@_message" />
}
@code {
@ -83,38 +83,38 @@
[Parameter]
public string Permissions { get; set; }
string permissionnames = "";
List<Role> roles;
List<PermissionString> permissions;
List<User> users = new List<User>();
string username = "";
string message = "";
string _permissionnames = "";
List<Role> _roles;
List<PermissionString> _permissions;
List<User> _users = new List<User>();
string _username = "";
string _message = "";
protected override async Task OnInitializedAsync()
{
if (string.IsNullOrEmpty(PermissionNames))
{
permissionnames = "View,Edit";
_permissionnames = "View,Edit";
}
else
{
permissionnames = PermissionNames;
_permissionnames = PermissionNames;
}
roles = await RoleService.GetRolesAsync(ModuleState.SiteId);
roles.Insert(0, new Role { Name = Constants.AllUsersRole });
_roles = await RoleService.GetRolesAsync(ModuleState.SiteId);
_roles.Insert(0, new Role { Name = Constants.AllUsersRole });
if (!string.IsNullOrEmpty(Permissions))
{
permissions = new List<PermissionString>();
foreach (string permissionname in permissionnames.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
_permissions = new List<PermissionString>();
foreach (string permissionname in _permissionnames.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
permissions.Add(new PermissionString { PermissionName = permissionname, Permissions = "" });
_permissions.Add(new PermissionString { PermissionName = permissionname, Permissions = "" });
}
foreach (PermissionString permissionstring in UserSecurity.GetPermissionStrings(Permissions))
{
if (permissions.Find(item => item.PermissionName == permissionstring.PermissionName) != null)
if (_permissions.Find(item => item.PermissionName == permissionstring.PermissionName) != null)
{
permissions[permissions.FindIndex(item => item.PermissionName == permissionstring.PermissionName)].Permissions = permissionstring.Permissions;
_permissions[_permissions.FindIndex(item => item.PermissionName == permissionstring.PermissionName)].Permissions = permissionstring.Permissions;
}
if (permissionstring.Permissions.Contains("["))
{
@ -123,9 +123,9 @@
if (user.Contains("]"))
{
int userid = int.Parse(user.Substring(0, user.IndexOf("]")));
if (users.Where(item => item.UserId == userid).FirstOrDefault() == null)
if (_users.Where(item => item.UserId == userid).FirstOrDefault() == null)
{
users.Add(await UserService.GetUserAsync(userid, ModuleState.SiteId));
_users.Add(await UserService.GetUserAsync(userid, ModuleState.SiteId));
}
}
}
@ -134,15 +134,15 @@
}
}
private bool? GetPermissionValue(string Permissions, string SecurityKey)
private bool? GetPermissionValue(string permissions, string securityKey)
{
if ((";" + Permissions + ";").Contains(";" + "!" + SecurityKey + ";"))
if ((";" + permissions + ";").Contains(";" + "!" + securityKey + ";"))
{
return false; // deny permission
}
else
{
if ((";" + Permissions + ";").Contains(";" + SecurityKey + ";"))
if ((";" + permissions + ";").Contains(";" + securityKey + ";"))
{
return true; // grant permission
}
@ -153,9 +153,9 @@
}
}
private bool GetPermissionDisabled(string RoleName)
private bool GetPermissionDisabled(string roleName)
{
if (RoleName == Constants.AdminRole)
if (roleName == Constants.AdminRole)
{
return true;
}
@ -167,67 +167,67 @@
private async Task AddUser()
{
if (users.Where(item => item.Username == username).FirstOrDefault() == null)
if (_users.Where(item => item.Username == _username).FirstOrDefault() == null)
{
try
{
User user = await UserService.GetUserAsync(username, ModuleState.SiteId);
User user = await UserService.GetUserAsync(_username, ModuleState.SiteId);
if (user != null)
{
users.Add(user);
_users.Add(user);
}
}
catch
{
message = "Username Does Not Exist";
_message = "Username Does Not Exist";
}
}
username = "";
_username = "";
}
private void PermissionChanged(bool? Value, string PermissionName, string SecurityId)
private void PermissionChanged(bool? value, string permissionName, string securityId)
{
bool? selected = Value;
PermissionString permission = permissions.Find(item => item.PermissionName == PermissionName);
bool? selected = value;
PermissionString permission = _permissions.Find(item => item.PermissionName == permissionName);
if (permission != null)
{
List<string> ids = permission.Permissions.Split(';').ToList();
ids.Remove(SecurityId); // remove grant permission
ids.Remove("!" + SecurityId); // remove deny permission
ids.Remove(securityId); // remove grant permission
ids.Remove("!" + securityId); // remove deny permission
switch (selected)
{
case true:
ids.Add(SecurityId); // add grant permission
ids.Add(securityId); // add grant permission
break;
case false:
ids.Add("!" + SecurityId); // add deny permission
ids.Add("!" + securityId); // add deny permission
break;
case null:
break; // permission not specified
}
permissions[permissions.FindIndex(item => item.PermissionName == PermissionName)].Permissions = string.Join(";", ids.ToArray());
_permissions[_permissions.FindIndex(item => item.PermissionName == permissionName)].Permissions = string.Join(";", ids.ToArray());
}
}
public string GetPermissions()
{
ValidatePermissions();
return UserSecurity.SetPermissionStrings(permissions);
return UserSecurity.SetPermissionStrings(_permissions);
}
private void ValidatePermissions()
{
PermissionString permission;
for (int i = 0; i < permissions.Count; i++)
for (int i = 0; i < _permissions.Count; i++)
{
permission = permissions[i];
permission = _permissions[i];
List<string> ids = permission.Permissions.Split(';').ToList();
ids.Remove("!" + Constants.AllUsersRole); // remove deny all users
ids.Remove("!" + Constants.RegisteredRole); // remove deny registered users
permission.Permissions = string.Join(";", ids.ToArray());
permissions[i] = permission;
_permissions[i] = permission;
}
}
}

View File

@ -1,16 +1,16 @@
@namespace Oqtane.Modules.Controls
@inherits ModuleBase
@inject IJSRuntime JSRuntime
@inject IJSRuntime JsRuntime
@if (filemanagervisible)
@if (_filemanagervisible)
{
<FileManager @ref="filemanager" Filter="@Constants.ImageFiles" />
@((MarkupString)@message)
<FileManager @ref="_fileManager" Filter="@Constants.ImageFiles" />
@((MarkupString)_message)
<br />
}
<div class="row justify-content-center">
<button type="button" class="btn btn-success" @onclick="InsertImage">Insert Image</button>
@if (filemanagervisible)
@if (_filemanagervisible)
{
@((MarkupString)"&nbsp;&nbsp;")
<button type="button" class="btn btn-secondary" @onclick="CloseFileManager">Close</button>
@ -18,10 +18,10 @@
</div>
<div class="row">
<div class ="col">
<div @ref="@ToolBar">
<div @ref="@_toolBar">
@ToolbarContent
</div>
<div @ref="@EditorElement">
<div @ref="@_editorElement">
</div>
</div>
</div>
@ -42,20 +42,20 @@
[Parameter]
public string DebugLevel { get; set; } = "info";
private ElementReference EditorElement;
private ElementReference ToolBar;
bool filemanagervisible = false;
FileManager filemanager;
string message = "";
private ElementReference _editorElement;
private ElementReference _toolBar;
bool _filemanagervisible = false;
FileManager _fileManager;
string _message = "";
protected override async Task OnAfterRenderAsync(bool firstRender)
{
if (firstRender)
{
await RichTextEditorInterop.CreateEditor(
JSRuntime,
EditorElement,
ToolBar,
JsRuntime,
_editorElement,
_toolBar,
ReadOnly,
Placeholder,
Theme,
@ -66,68 +66,68 @@
public async Task<string> GetText()
{
return await RichTextEditorInterop.GetText(
JSRuntime,
EditorElement);
JsRuntime,
_editorElement);
}
public async Task<string> GetHTML()
public async Task<string> GetHtml()
{
return await RichTextEditorInterop.GetHTML(
JSRuntime,
EditorElement);
return await RichTextEditorInterop.GetHtml(
JsRuntime,
_editorElement);
}
public async Task<string> GetContent()
{
return await RichTextEditorInterop.GetContent(
JSRuntime,
EditorElement);
JsRuntime,
_editorElement);
}
public async Task LoadContent(string Content)
public async Task LoadContent(string content)
{
await RichTextEditorInterop.LoadEditorContent(
JSRuntime,
EditorElement, Content);
JsRuntime,
_editorElement, content);
}
public async Task EnableEditor(bool mode)
{
await RichTextEditorInterop.EnableEditor(
JSRuntime,
EditorElement, mode);
JsRuntime,
_editorElement, mode);
}
public async Task InsertImage()
{
if (filemanagervisible)
if (_filemanagervisible)
{
int fileid = filemanager.GetFileId();
int fileid = _fileManager.GetFileId();
if (fileid != -1)
{
await RichTextEditorInterop.InsertImage(
JSRuntime,
EditorElement, ContentUrl(fileid));
filemanagervisible = false;
message = "";
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>";
_message = "<br /><div class=\"alert alert-warning\" role=\"alert\">You Must Select An Image To Insert</div>";
}
}
else
{
filemanagervisible = true;
message = "";
_filemanagervisible = true;
_message = "";
}
StateHasChanged();
}
public void CloseFileManager()
{
filemanagervisible = false;
message = "";
_filemanagervisible = false;
_message = "";
StateHasChanged();
}

View File

@ -3,7 +3,7 @@
<CascadingValue Value="this">
<div>
@foreach (TabPanel tabPanel in TabPanels)
@foreach (TabPanel tabPanel in _tabPanels)
{
<button type="button"
class="btn @GetButtonClass(tabPanel)"
@ -21,12 +21,12 @@
public RenderFragment ChildContent { get; set; }
public TabPanel ActiveTabPanel { get; set; }
List<TabPanel> TabPanels = new List<TabPanel>();
List<TabPanel> _tabPanels = new List<TabPanel>();
internal void AddTabPanel(TabPanel tabPanel)
{
TabPanels.Add(tabPanel);
if (TabPanels.Count == 1)
_tabPanels.Add(tabPanel);
if (_tabPanels.Count == 1)
ActiveTabPanel = tabPanel;
StateHasChanged();
}

View File

@ -1,6 +1,6 @@
@namespace Oqtane.Modules.Controls
<img src="@src" title="@title" @onclick="SetValue" />
<img src="@_src" title="@_title" @onclick="SetValue" />
@code {
[Parameter]
@ -12,13 +12,13 @@
[Parameter]
public Action<bool?> OnChange { get; set; }
bool? value = null;
string title;
string src = "";
bool? _value = null;
string _title;
string _src = "";
protected override void OnInitialized()
{
value = Value;
_value = Value;
SetImage();
}
@ -26,38 +26,38 @@
{
if (!Disabled)
{
switch (value)
switch (_value)
{
case true:
value = false;
_value = false;
break;
case false:
value = null;
_value = null;
break;
case null:
value = true;
_value = true;
break;
}
SetImage();
OnChange(value);
OnChange(_value);
}
}
private void SetImage()
{
switch (value)
switch (_value)
{
case true:
src = "images/checked.png";
title = "Permission Granted";
_src = "images/checked.png";
_title = "Permission Granted";
break;
case false:
src = "images/unchecked.png";
title = "Permission Denied";
_src = "images/unchecked.png";
_title = "Permission Denied";
break;
case null:
src = "images/null.png";
title = "";
_src = "images/null.png";
_title = "";
break;
}
StateHasChanged();