@@ -19,8 +19,6 @@ Method ToProxyObject(Output pStatus As %Status) As %ZEN.proxyObject
1919 return " "
2020 }
2121
22- set tQueryKey = ..%QueryKey
23-
2422 /*set st = ..%GetQueryStatus(..%Cube,tQueryKey)
2523 if (st < 100) {
2624 hang 1
@@ -95,11 +93,10 @@ Method AxesToListOfObjects() As %ListOfObjects
9593 }
9694
9795 set axes =$$$NewDynObjList
98-
9996 for a = 1 :1 :tAxisCount {
10097 set tAxisSize (a ) = ..%GetAxisSize (a )
10198 set tAxisKeys (a ) = $G ($$$DeepSeeResultsGLVN(tCubeIndex ,tQueryKey ," axis" ,a ))
102- $$$Insert(axes ,..ProcessOneAxis (tCubeIndex ,tAxisKeys (a ),a ))
99+ $$$Insert(axes ,..ProcessOneAxis (tCubeIndex ,tAxisKeys (a ),a , tAxisSize ( a ) ))
103100 }
104101
105102 if ($$$ListSize(axes )=0 ) {
@@ -109,32 +106,31 @@ Method AxesToListOfObjects() As %ListOfObjects
109106 return axes
110107}
111108
112- Method ProcessOneAxis (CubeIndex , AxisKey , AxisNumber ) As %ZEN .proxyObject [ Internal ]
109+ Method ProcessOneAxis (CubeIndex , AxisKey , AxisNumber , AxisSize ) As %ZEN .proxyObject [ Internal ]
113110{
114111 set tCubeName = $$$UPPER(..%Cube )
115112 set tQueryKey = ..%QueryKey
116113
117114 set axis =$$$NewDynObj
118- set axis .tuples = ..ProcessOneAxisCell (CubeIndex , AxisKey , tCubeName , tQueryKey , AxisNumber , 1 )
115+ set axis .tuples = ..ProcessOneAxisCell (CubeIndex , AxisKey , tCubeName , tQueryKey , AxisNumber , 1 , AxisSize )
119116
120117 return axis
121118}
122119
123- Method ProcessOneAxisCell (CubeIndex , AxisKey , CubeName , QueryKey , AxisNumber , Node ) As %ZEN .proxyObject [ Internal ]
120+ Method ProcessOneAxisCell (CubeIndex , AxisKey , CubeName , QueryKey , AxisNumber , Node , AxisSize ) As %ZEN .proxyObject [ Internal ]
124121{
125122 set cell =$$$NewDynObj
126123
127124 set tNode = $G ($$$DeepSeeAxisGLVN(CubeIndex ,AxisKey ," axes" ,Node ))
128-
129125 set cell .caption = ##class (%DeepSee.UserPortal.Utils ).%ResolveText ($LG (tNode ,5 )) // text caption
130126 set cell .vis = $LG (tNode ,2 ) // visibility helper - does not help (apperently it shows if the cell is the lowest level)
131-
132127 // now we process cell children, if any exist
133128 if ($D ($$$DeepSeeAxisGLVN(CubeIndex , AxisKey , " axes" , Node , " ch" )) = 10 ) {
134129 set cell .children = $$$NewDynObjList
135- set key = $O ($$$DeepSeeAxisGLVN(CubeIndex , AxisKey , " axes" , Node , " ch" , " " ))
136- while (key '=" " ) {
137- set children = ..ProcessOneAxisCell (CubeIndex , AxisKey , CubeName , QueryKey , AxisNumber , key )
130+ for i =1 :1 :AxisSize
131+ {
132+ set key = $G (@..%ResultCacheLocation @(..%CubeKey ,..%QueryKey ," leaf" ,AxisNumber ,i ))
133+ set children = ..ProcessOneAxisCell (CubeIndex , AxisKey , CubeName , QueryKey , AxisNumber , key ,)
138134 // Append children to cell
139135 if $isobject (children ) {
140136 if ((children .%IsA (" %ZEN.proxyObject" )) || (children .%IsA (" %Library.Object" ))) {
@@ -145,8 +141,6 @@ Method ProcessOneAxisCell(CubeIndex, AxisKey, CubeName, QueryKey, AxisNumber, No
145141 }
146142 }
147143 }
148-
149- set key = $O ($$$DeepSeeAxisGLVN(CubeIndex , AxisKey , " axes" , Node , " ch" , key ))
150144 }
151145 }
152146
0 commit comments