====== GoJS 가이드 ====== GoJS 연동 개요에 대한 예시 화면이다. GoJS는 https://gojs.net 사이트에서 제공하는 HTML5 기반 다이어그램 솔루션 버전을 의미한다. xFrame5와 GoJS 솔루션 연동에 필요한 요소는 GoJS 라이브러리와 DIV오브젝트가 있다. DIV오브젝트는 GoJS 다이어그램을 표시하기 위한 xFrame5 컴포넌트이다. 관련 API는 loadjs, getjdom가 있다. ※관련 사이트 아래 참조 ===== 예시 ===== 템플릿 위치: /HTML5/3RD/GOJS/gojs_basic 템플릿 파일 * [[xf5projecthome>template/screen/HTML5/3RD/GOJS/gojs_basic.xml|gojs_basic.xml]] * [[xf5projecthome>template/screen/HTML5/3RD/GOJS/gojs_basic.js|gojs_basic.js]] * [[xf5projecthome>template/template.html?xframe_screen_url=/HTML5/3RD/GOJS/gojs_basic|새창으로 실행]] echo ''; echo ''; echo ''; ==== 화면 스크립트 ==== this.myDiagram; // GoJS 다이어그램 오브젝트용 전역 변수 function screen_on_load() { // GoJS 라이브러리 URL 경로 // 주의: GO_JS_URL 변수에 대한 값은 프로젝트 상황에 맞추어 변경해야 한다. var GO_JS_URL = "./ext/lib/flowchart/go.js"; // GoJS 라이브러리 로드 this.screen.loadjs(GO_JS_URL); // for conciseness in defining templates var $ = go.GraphObject.make; // GoJS 다이어그램을 그리기 위해 DIV 컴포넌트의 DOM 오브젝트를 취득 let divId = this.div_gojs.getjdom()[0].id; // DIV의 DOM오브젝트에 GoJS 다이어그램 연결 this.myDiagram = $(go.Diagram, divId); // GoJS 다이어그램에 표현할 노드 기본템플릿 등록 this.myDiagram.nodeTemplate = $(go.Node, "Auto", // the Shape will go around the TextBlock $(go.Shape, "RoundedRectangle", new go.Binding("fill", "color")), $(go.TextBlock, { margin: 8 }, new go.Binding("text", "key")) ); // GoJS 다이어그램에 노드와 링크를 생성 this.myDiagram.model = new go.GraphLinksModel( [ // a JavaScript Array of JavaScript objects, one per node; // the "color" property is added specifically for this app { key: "Alpha", color: "lightblue" }, { key: "Beta", color: "orange" }, { key: "Gamma", color: "lightgreen" }, { key: "Delta", color: "pink" } ], [ // a JavaScript Array of JavaScript objects, one per link { from: "Alpha", to: "Beta" }, { from: "Alpha", to: "Gamma" }, { from: "Beta", to: "Beta" }, { from: "Gamma", to: "Delta" }, { from: "Delta", to: "Alpha" } ] ); }