|
<SfFileManager @ref="filemanager" TValue="FileManagerDirectoryContent">
<FileManagerEvents TValue="FileManagerDirectoryContent" MenuOpened="menuOpen"></FileManagerEvents>
<FileManagerAjaxSettings Url="/api/Home/FileOperations"
UploadUrl="/api/Home/Upload"
DownloadUrl="/api/Home/Download"
GetImageUrl="/api/Home/GetImage">
</FileManagerAjaxSettings>
<FileManagerToolbarSettings Items="@ToolbarItems"></FileManagerToolbarSettings>
<FileManagerContextMenuSettings File="@Items"></FileManagerContextMenuSettings>
</SfFileManager>
@code{
private string menuTargetData { get; set; }
SfFileManager<FileManagerDirectoryContent> filemanager;
public string[] Items = new string[] { "Open", "|", "Delete", "Download", "Rename", "|", "Details", "TextFile" ,"PDF" };
public string[] ToolbarItems = new string[] { "NewFolder", "Upload", "Delete", "Download", "Rename", "SortBy", "Refresh", "Selection", "View", "Details", "TextFile", "PDF" };
public void menuOpen(Syncfusion.Blazor.FileManager.MenuOpenEventArgs<FileManagerDirectoryContent> args)
{
menuTargetData = JsonConvert.SerializeObject(args.FileDetails);
Dictionary<string, dynamic>[] fileDetails = JsonConvert.DeserializeObject<Dictionary<string, dynamic>[]>(menuTargetData);
if (fileDetails[0]["Type"] == ".txt")
{
// Remove the items from context menu if it is not a DRT folder.
args.Items.RemoveRange(8, 1);
this.filemanager.EnableToolbarItems(new string[] { "TextFile" });
this.filemanager.DisableToolbarItems(new string[] { "PDF" });
}
else if(fileDetails[0]["Type"] == ".pdf")
{
args.Items.RemoveRange(7, 1);
this.filemanager.EnableToolbarItems(new string[] { "PDF" });
this.filemanager.DisableToolbarItems(new string[] { "TextFile" });
}
}
} |