@@ -18,6 +18,8 @@ var ClassView = function (parent, container) {
1818 this . MIN_PAPER_SCALE = 0.2 ;
1919 this . MAX_PAPER_SCALE = 4 ;
2020
21+ this . CLASS_DOC_PATH = "/csp/documatic/%25CSP.Documatic.cls" ;
22+
2123 this . init ( ) ;
2224
2325} ;
@@ -60,6 +62,16 @@ ClassView.prototype.resetView = function () {
6062
6163} ;
6264
65+ ClassView . prototype . openClassDoc = function ( className , nameSpace ) {
66+
67+ window . open (
68+ this . CLASS_DOC_PATH + "?LIBRARY=" + encodeURIComponent ( nameSpace )
69+ + "&CLASSNAME=" + encodeURIComponent ( className ) ,
70+ "_blank"
71+ ) ;
72+
73+ } ;
74+
6375/**
6476 * @param {string } name
6577 * @param classMetaData
@@ -70,7 +82,8 @@ ClassView.prototype.createClassInstance = function (name, classMetaData) {
7082 var attrArr , methArr ,
7183 classParams = classMetaData [ "parameters" ] ,
7284 classProps = classMetaData [ "properties" ] ,
73- classMethods = classMetaData [ "methods" ] ;
85+ classMethods = classMetaData [ "methods" ] ,
86+ self = this ;
7487
7588 var insertString = function ( array , string , extraString ) {
7689 string . match ( / .{ 1 , 44 } / g) . forEach ( function ( p ) {
@@ -79,7 +92,7 @@ ClassView.prototype.createClassInstance = function (name, classMetaData) {
7992 } ;
8093
8194 return new joint . shapes . uml . Class ( {
82- name : name ,
95+ name : name + "\x1b" + JSON . stringify ( { url : function ( ) { alert ( name ) } } ) ,
8396 attributes : attrArr = ( function ( params , ps ) {
8497 var arr = [ ] , n ;
8598 for ( n in params ) {
@@ -108,6 +121,11 @@ ClassView.prototype.createClassInstance = function (name, classMetaData) {
108121 }
109122 return arr ;
110123 } ) ( classMethods ) ,
124+ directProps : {
125+ nameClickHandler : function ( ) {
126+ self . openClassDoc ( name , classMetaData [ "NAMESPACE" ] ) ;
127+ }
128+ } ,
111129 size : {
112130 width : 300 ,
113131 height : Math . max ( attrArr . length * 12.1 , 15 ) + Math . max ( methArr . length * 12.1 , 15 ) + 40
0 commit comments