public buildMatrix()

in src/dataViewBuilder/matrixBuilder.ts [609:653]


    public buildMatrix(): DataViewMatrix {
        let dataViewMatrix: DataViewMatrix = {
            rows: {
                levels: [{ sources: [this.levelColumn] }],
                root: {
                    children: [],
                    // childIdentityFields: [SQExprBuilder.fieldExpr({ column: { name: 'col', schema: 's', entity: 'e' } })],
                }
            },
            columns: {
                levels: [],
                root: undefined,
            },
            valueSources: []
        };

        for (let index in this.valueColumns) {
            dataViewMatrix.valueSources.push(this.valueColumns[index]);
        }

        let matrixRowsChildren = dataViewMatrix.rows.root.children;
        for (let index in this.level) {
            let node: DataViewMatrixNode = {
                values: [],
                level: 0,
                levelValues: [],
                value: this.level[index],
                // identity: mocks.dataViewScopeIdentity(this.level[index])
            };
            if (this.levelIdentities) {
                node.identity = this.levelIdentities[index];
            }

            if (this.levelObjects) {
                node.objects = this.levelObjects[index];
            }

            for (let i = 0; i < this.valueColumns.length; i++) {
                node.values[i] = { value: this.values[i][index], valueSourceIndex: i, highlight: this.highlights[i][index] };
            }

            matrixRowsChildren.push(node);
        }
        return dataViewMatrix;
    }