@@ -83,10 +83,12 @@ Returns structured class tree with all classes available in current namespace</D
8383<Description >
8484Return structured data about class.</Description >
8585<ClassMethod >1</ClassMethod >
86- <FormalSpec >oData:%ZEN.proxyObject,className:%String</FormalSpec >
86+ <FormalSpec >oData:%ZEN.proxyObject,className:%String,level:%String="",currLevel:%Integer=0 </FormalSpec >
8787<Private >1</Private >
8888<ReturnType >%ZEN.proxyObject</ReturnType >
8989<Implementation ><![CDATA[
90+ if ((level'="")&&(+currLevel>+level)) quit ""
91+ set currLevel=$increment(currLevel)
9092 set classDefinition = ##class(%Dictionary.ClassDefinition).%OpenId(className)
9193 set compiledClassDefinition = ##class(%Dictionary.CompiledClass).%OpenId(className)
9294 if (classDefinition = "") || (oData.classes.%DispatchGetProperty(classDefinition.Name) '= "") quit ""
@@ -135,10 +137,10 @@ Return structured data about class.</Description>
135137 }
136138 if (..classExists(package _ "." _ p.Type)) {
137139 set oProp.Type = package _ "." _ p.Type
138- do ..fillClassData(oData, package _ "." _ p.Type)
140+ do ..fillClassData(oData, package _ "." _ p.Type, level, currLevel )
139141 } elseif (..classExists(..extendClassFromType(p.Type))) {
140142 set oProp.Type = ..extendClassFromType(p.Type)
141- do ..fillClassData(oData, ..extendClassFromType(p.Type))
143+ do ..fillClassData(oData, ..extendClassFromType(p.Type), level, currLevel )
142144 } else {
143145 set oProp.Type = ..extendClassFromType(p.Type)
144146 }
@@ -353,14 +355,14 @@ Returns if class with given name exists.</Description>
353355<Description >
354356Returns structured class data</Description >
355357<ClassMethod >1</ClassMethod >
356- <FormalSpec >className:%String,namespace:%String</FormalSpec >
358+ <FormalSpec >className:%String,namespace:%String,level:%Integer </FormalSpec >
357359<ReturnType >%ZEN.proxyObject</ReturnType >
358360<Implementation ><![CDATA[
359361 set baseNamespace = $namespace
360362 zn:$GET(namespace)'="" namespace
361363 set package = $LISTTOSTRING($LIST($LISTFROMSTRING(className, "."), 1, *-1), ".")
362364 set oData = ..getBaseOData(package, baseNamespace, "CLASS:"_className)
363- do ..fillClassData(oData, className)
365+ do ..fillClassData(oData, className, level )
364366 quit oData
365367]]> </Implementation >
366368</Method >
@@ -447,7 +449,7 @@ Returns classTree by given class name</Description>
447449<ReturnType >%Status</ReturnType >
448450<Implementation ><![CDATA[
449451 set className = %request.Get("name")
450- set classData = ##class(ClassView).getClassView(className, %request.Get("namespace"))
452+ set classData = ##class(ClassView).getClassView(className, %request.Get("namespace"), %request.Get("level") )
451453 do classData.%ToJSON(, "o")
452454 return $$$OK
453455]]> </Implementation >
@@ -461,7 +463,6 @@ Saves the view preferences</Description>
461463<Implementation ><![CDATA[
462464 set name = %request.Get("name")
463465 set content = %request.Content.Read($$$MaxStringLength) // ~ 7mb
464- set ^test = name
465466 set ^ClassExplorer("savedView", name) = content
466467 write "{""OK"":true}"
467468 return $$$OK
0 commit comments