示例#1
0
        public async Task HandleAsync(BMarkdownEditor 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);
        }
示例#2
0
        public async Task HandleAsync(BMarkdownEditor 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);
                }
            }
        }
示例#3
0
        public async Task HandleAsync(BMarkdownEditor editor)
        {
            var parameters = new Dictionary <string, object>();

            parameters.Add(nameof(FileUpload.UploadUrl), editor.UploadUrl);
            parameters.Add(nameof(FileUpload.MaxSize), editor.FileMaxSize);
            parameters.Add(nameof(FileUpload.AllowExtensions), editor.AllowFileExtensions);
            parameters.Add(nameof(FileUpload.DisableUpload), editor.DisableFileUpload);
            parameters.Add(nameof(FileUpload.Tip), editor.FileUploadTip);
            var result = await dialogService.ShowDialogAsync <FileUpload, 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(BMarkdownEditor editor)
        {
            var model = await dialogService.ShowDialogAsync <CreateTable, CreateTableModel>("插入表格", 400);

            if (model.Result != null && model.Result.Columns > 0)
            {
                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));
            }
        }
示例#5
0
        public async Task HandleAsync(BMarkdownEditor 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(ImageUpload.Image), imageModel);
            parameters.Add(nameof(ImageUpload.UploadUrl), editor.UploadUrl);
            parameters.Add(nameof(ImageUpload.MaxSize), editor.ImageMaxSize);
            parameters.Add(nameof(ImageUpload.Width), editor.ImageWidth);
            parameters.Add(nameof(ImageUpload.Height), editor.ImageHeight);
            parameters.Add(nameof(ImageUpload.AllowExtensions), editor.AllowImageExtensions);
            parameters.Add(nameof(ImageUpload.DisableUpload), editor.DisableImageUpload);
            parameters.Add(nameof(ImageUpload.Tip), editor.ImageUploadTip);
            var result = await dialogService.ShowDialogAsync <ImageUpload, ImageModel>("插入图片", parameters);

            imageModel = result.Result;
            if (imageModel != null)
            {
                var title = imageModel.Title;
                if (!string.IsNullOrWhiteSpace(title))
                {
                    title = $"\"{title}\"";
                }
                if (imageModel.Urls != null)
                {
                    var images = imageModel.Urls.Select(url => $"![{imageModel.Alt}]({url} {title})");
                    var image  = string.Join("\n", images);
                    await jSRuntime.InvokeVoidAsync("replaceSelection", editor.Textarea, image);
                }
            }
        }
示例#6
0
 public async Task HandleAsync(BMarkdownEditor editor)
 {
     await jSRuntime.InvokeVoidAsync("wrapSelection", editor.Textarea, "> ", "");
 }
 public async Task HandleAsync(BMarkdownEditor editor)
 {
     await jSRuntime.InvokeVoidAsync("append", editor.Textarea, "---\n");
 }