<SfFileManager View="ViewType.Details" @ref="Filemanager"> <FileManagerAjaxSettings Url="/api/FileData/FileOperations" DownloadUrl="/api/FileData/Download" GetImageUrl="/api/FileData/GetImage" UploadUrl="/api/FileData/Upload"> FileManagerAjaxSettings> <FileManagerEvents OnMenuClick="menuClick">FileManagerEvents> <FileManagerContextMenuSettings File="@Items" Folder="@Items">FileManagerContextMenuSettings> SfFileManager>
SfFileManager Filemanager; public string[] Items = new string[] { "Open", "|", "Delete", "Download", "Rename", "|", "Details", "Copy link" }; public async Task menuClick(MenuClickEventArgs args) { if (args.Item.Text == "Copy link") { var selectedFiles = await Filemanager.GetSelectedFiles(); //paste the URL into the Clipboard... //your code goes here: } }
|
public async Task click(MenuClickEventArgs args)
{
if (args.Item.Text == "Copy link")
{
this.value = true;
//Fetching the root path.
string Rootpath = JsonConvert.SerializeObject(this.file.AjaxSettings);
Dictionary<string, dynamic> Root_path = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(Rootpath);
// Get selceted items.
var selected_item = await this.file.GetSelectedFiles();
string dataString = JsonConvert.SerializeObject(selected_item[0]);
Dictionary<string, dynamic> items_value = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(dataString);
// Combine the root path and selected item path.
value1 = Root_path["getImageUrl"] + "?path=" + (items_value["filterPath"] +items_value["name"] ).Replace('\\', '/');
this.StateHasChanged();
}
} |