(depth: number)
| 213 | */ |
| 214 | |
| 215 | getSortQuery(depth: number): QueryExp { |
| 216 | let sortQuery = this.baseQuery; // recCountQuery |
| 217 | |
| 218 | const sortCols = this.sortKey.map((p) => p[0]); |
| 219 | const aggMap = this.aggMap; |
| 220 | const sortColAggs: any = |
| 221 | aggMap != null ? sortCols.map((cid) => [aggMap[cid], cid]) : sortCols; |
| 222 | const gbCols = this.pivotColumns.slice(0, depth); |
| 223 | sortQuery = sortQuery.groupBy(gbCols, sortColAggs); |
| 224 | let colMap: { [cid: string]: { id: string } } = {}; |
| 225 | |
| 226 | for (let i = 0; i < gbCols.length; i++) { |
| 227 | const pathColName = "_path" + i; |
| 228 | colMap[gbCols[i]] = { |
| 229 | id: pathColName, |
| 230 | }; |
| 231 | } |
| 232 | |
| 233 | sortQuery = sortQuery.mapColumns(colMap); |
| 234 | const pathLevel = depth - 1; |
| 235 | let sortColMap: { [cid: string]: { id: string } } = {}; |
| 236 | |
| 237 | for (let i = 0; i < sortCols.length; i++) { |
| 238 | let colIndex = gbCols.length + i; |
| 239 | let colName = "_sortVal_" + pathLevel.toString() + "_" + i.toString(); |
| 240 | sortColMap[colIndex.toString()] = { |
| 241 | id: colName, |
| 242 | }; |
| 243 | } |
| 244 | |
| 245 | sortQuery = sortQuery.mapColumnsByIndex(sortColMap); |
| 246 | return sortQuery; |
| 247 | } |
| 248 | /* |
| 249 | * get query for full tree state from a set of openPaths |
| 250 | */ |
no test coverage detected