AIManage/public/onnx/onnx_view/onnx_view.js

1 line
111 KiB
JavaScript
Raw Normal View History

2024-06-06 22:17:58 +08:00
var view=view||{};var grapher=grapher||window.grapher;var python=python||window.python;var markdown=markdown||{};view.View=class{constructor(host){this._host=host;this._defaultOptions={weights:true,attributes:false,names:false,direction:"vertical",mousewheel:"scroll"};this._options=Object.assign({},this._defaultOptions);this._model=null;this._graphs=[];this._selection=[];this._sidebar=new view.Sidebar(this._host);this._searchText=""}async start(){try{this._element("sidebar-button").addEventListener("click",()=>{this.showModelProperties()});this._element("zoom-in-button").addEventListener("click",()=>{this.zoomIn()});this._element("zoom-out-button").addEventListener("click",()=>{this.zoomOut()});this._element("toolbar-path-back-button").addEventListener("click",()=>{this.popGraph()});this._element("sidebar").addEventListener("mousewheel",e=>{if(e.shiftKey||e.ctrlKey){e.preventDefault()}},{passive:true});this._host.document.addEventListener("keydown",()=>{if(this._graph){this._graph.select(null)}});this._menu=new view.Menu(this._host);this._menu.add({accelerator:"Backspace",execute:()=>this.popGraph()});if(this._host.environment&&this._host.environment("menu")){this._menu.attach(this._element("menu"),this._element("menu-button"));const file=this._menu.group("&File");file.add({label:"Export as &PNG",accelerator:"CmdOrCtrl+Shift+E",execute:()=>this.export(this._host.document.title+".png"),enabled:()=>this.activeGraph});file.add({label:"Export as &SVG",accelerator:"CmdOrCtrl+Alt+E",execute:()=>this.export(this._host.document.title+".svg"),enabled:()=>this.activeGraph});const edit=this._menu.group("&Edit");edit.add({label:"&Find...",accelerator:"CmdOrCtrl+F",execute:()=>this.find(),enabled:()=>this.activeGraph});const view=this._menu.group("&View");view.add({label:()=>this.options.attributes?"Hide &Attributes":"Show &Attributes",accelerator:"CmdOrCtrl+D",execute:()=>this.toggle("attributes"),enabled:()=>this.activeGraph});view.add({label:()=>this.options.weights?"Hide &Weights":"Show &Weights",accelerator:"CmdOrCtrl+I",execute:()=>this.toggle("weights"),enabled:()=>this.activeGraph});view.add({label:()=>this.options.names?"Hide &Names":"Show &Names",accelerator:"CmdOrCtrl+U",execute:()=>this.toggle("names"),enabled:()=>this.activeGraph});view.add({label:()=>this.options.direction==="vertical"?"Show &Horizontal":"Show &Vertical",accelerator:"CmdOrCtrl+K",execute:()=>this.toggle("direction"),enabled:()=>this.activeGraph});view.add({label:()=>this.options.mousewheel==="scroll"?"&Mouse Wheel: Zoom":"&Mouse Wheel: Scroll",accelerator:"CmdOrCtrl+M",execute:()=>this.toggle("mousewheel"),enabled:()=>this.activeGraph});view.add({});view.add({label:"Zoom &In",accelerator:"Shift+Up",execute:()=>this.zoomIn(),enabled:()=>this.activeGraph});view.add({label:"Zoom &Out",accelerator:"Shift+Down",execute:()=>this.zoomOut(),enabled:()=>this.activeGraph});view.add({label:"Actual &Size",accelerator:"Shift+Backspace",execute:()=>this.resetZoom(),enabled:()=>this.activeGraph});view.add({});view.add({label:"&Properties...",accelerator:"CmdOrCtrl+Enter",execute:()=>this.showModelProperties(),enabled:()=>this.activeGraph})}}catch(err){this.error(err,null,null)}}show(page){if(!page){page=!this._model&&!this.activeGraph?"welcome":"default"}if(this._sidebar){this._sidebar.close()}if(this._menu){this._menu.close()}this._host.document.body.classList.remove(...Array.from(this._host.document.body.classList).filter(_=>_!=="active"));this._host.document.body.classList.add(...page.split(" "));if(page==="default"){this._activate()}else{this._deactivate()}this._page=page}progress(percent){const bar=this._element("progress-bar");if(bar){bar.style.width=percent.toString()+"%"}}cut(){this._host.document.execCommand("cut")}copy(){this._host.document.execCommand("copy")}paste(){this._host.document.execCommand("paste")}selectAll(){this._host.document.execCommand("selectall")}find(){if(this._graph){this._graph.select(null);const content=new view.FindSidebar(this._host,this.activeGraph);content.on("search-text-changed",(sender,text)=>{this._searchText=text});content.on(