TestGraphviz.razor.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Microsoft.AspNetCore.Components;
  2. using Microsoft.JSInterop;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Threading.Tasks;
  7. namespace wispro.sp.web.Pages
  8. {
  9. public partial class TestGraphviz
  10. {
  11. private ElementReference _renderTo;
  12. [Inject]
  13. IJSRuntime JsRuntime { get; set; }
  14. protected override async Task OnInitializedAsync()
  15. {
  16. var diagramModule = await JsRuntime
  17. .InvokeAsync<IJSObjectReference>("import", "/diagrams.js");
  18. //n,ne,e,se,s,sw,w,nw
  19. var diagram = "digraph {label=\"案件系数申诉流程图\" rankdir=\"TB\" center=\"true\"\r\n" +
  20. "start[label=开始 shape=circle size=\"2pt,2pt\" fixedsize=true fontsize=8]\r\n" +
  21. "shensu[label=申诉, shape=box,fillcolor=chartreuse,style=filled href=\"http://www.baidu.com\"]\r\n" +
  22. "review[label=审核, shape=box,fillcolor=chartreuse,style=filled]\r\n" +
  23. "end[label=结束, shape=doublecircle fillcolor=gray,style=filled fixedsize=true fontsize=8 size=\"2pt,2pt\"]\r\n" +
  24. "start->shensu->review->end\r\n" +
  25. "review:w->shensu:w}";
  26. await diagramModule.InvokeVoidAsync("renderDot", diagram, _renderTo,1100,800);
  27. }
  28. void ClickNode()
  29. {
  30. //Console.WriteLine("ClickNode!");
  31. }
  32. }
  33. }