public async Task HandleAsync(BMarkdownEditorBase editor) { var selection = await jSRuntime.InvokeAsync <string>("getSelection", editor.textarea); var result = $"``{Environment.NewLine}{(string.IsNullOrWhiteSpace(selection) ? "code" : selection)}{Environment.NewLine}``"; await jSRuntime.InvokeVoidAsync("append", editor.Textarea, result); }
public async Task HandleAsync(BMarkdownEditorBase editor) { var parameters = new Dictionary <string, object>(); parameters.Add(nameof(File.UploadUrl), editor.UploadUrl); parameters.Add(nameof(File.MaxSize), editor.FileMaxSize); parameters.Add(nameof(File.AllowExtensions), editor.AllowFileExtensions); parameters.Add(nameof(File.DisableUpload), editor.DisableFileUpload); parameters.Add(nameof(File.Tip), editor.FileUploadTip); var result = await dialogService.ShowDialogAsync <File, FileModel>("插入文件", parameters); var fileModel = result.Result; if (fileModel != null) { var title = fileModel.Title; if (!string.IsNullOrWhiteSpace(title)) { title = $"\"{title}\""; } if (fileModel.Urls != null) { var files = fileModel.Urls.Select(x => $"[{fileModel?.Name}]({x} {title})"); var file = string.Join("\n", files); await jSRuntime.InvokeVoidAsync("replaceSelection", editor.Textarea, file); } } }
public async Task HandleAsync(BMarkdownEditorBase editor) { var linkName = await jSRuntime.InvokeAsync <string>("getSelection", editor.Textarea); var linkModel = new LinkModel { Name = linkName, Title = linkName }; var parameters = new Dictionary <string, object>(); parameters.Add(nameof(Link.Link), linkModel); var result = await dialogService.ShowDialogAsync <Link, LinkModel>("插入链接", parameters); linkModel = result.Result; if (linkModel != null) { var title = linkModel.Title; if (!string.IsNullOrWhiteSpace(title)) { title = $"\"{title}\""; } if (!string.IsNullOrWhiteSpace(linkModel.Name) && !string.IsNullOrWhiteSpace(linkModel.Url)) { var link = $"[{linkModel.Name}]({linkModel.Url} {title})"; await jSRuntime.InvokeVoidAsync("replaceSelection", editor.Textarea, link); } } }
public async Task HandleAsync(BMarkdownEditorBase editor) { var imageName = await jSRuntime.InvokeAsync <string>("getSelection", editor.textarea); var imageModel = new ImageModel { Alt = imageName, Title = imageName }; var parameters = new Dictionary <string, object>(); parameters.Add(nameof(Image.Image), imageModel); parameters.Add(nameof(Image.UploadUrl), editor.UploadUrl); parameters.Add(nameof(Image.MaxSize), editor.ImageMaxSize); parameters.Add(nameof(Image.Width), editor.ImageWidth); parameters.Add(nameof(Image.Height), editor.ImageHeight); parameters.Add(nameof(Image.AllowExtensions), editor.AllowImageExtensions); parameters.Add(nameof(Image.DisableUpload), editor.DisableImageUpload); parameters.Add(nameof(Image.Tip), editor.ImageUploadTip); var result = await dialogService.ShowDialogAsync <Image, ImageModel>("插入图片", parameters); imageModel = result.Result; var title = imageModel.Title; if (!string.IsNullOrWhiteSpace(title)) { title = $"\"{title}\""; } var images = imageModel.Urls.Select(url => $"![{imageModel.Alt}]({url} {title})"); var image = string.Join("\n", images); await jSRuntime.InvokeVoidAsync("replaceSelection", editor.Textarea, image); }
public async Task HandleAsync(BMarkdownEditorBase editor) { var model = await dialogService.ShowDialogAsync <CreateTable, CreateTableModel>("插入表格", 400); var headers = Enumerable.Range(1, model.Result.Columns).Select(x => " 列" + x + " ").ToArray(); var lines = Enumerable.Range(1, model.Result.Columns).Select(x => " :-------").ToArray(); var columns = Enumerable.Range(1, model.Result.Columns).Select(x => " ").ToArray(); var rows = new List <string>(); rows.Add("|" + string.Join("|", headers) + "|"); rows.Add("|" + string.Join("|", lines) + "|"); rows.Add("|" + string.Join("|", columns) + "|"); await jSRuntime.InvokeVoidAsync("append", editor.Textarea, string.Join(Environment.NewLine, rows)); }
public async Task HandleAsync(BMarkdownEditorBase editor) { await jSRuntime.InvokeVoidAsync("wrapSelection", editor.Textarea, "**", "**"); }
public async Task HandleAsync(BMarkdownEditorBase editor) { await jSRuntime.InvokeVoidAsync("append", editor.Textarea, "---\n"); }