all files / grid/services/ freeze-row-model-generator.js

100% Statements 22/22
100% Branches 21/21
100% Functions 4/4
100% Lines 22/22
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37   118× 118×   279× 279× 12×   267× 133×     134×   279×     275×   275× 5084×     275×        
define(["require", "exports", "../services/row-model-generator", "../base/util"], function (require, exports, row_model_generator_1, util_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var FreezeRowModelGenerator = (function () {
        function FreezeRowModelGenerator(parent) {
            this.parent = parent;
            this.rowModelGenerator = new row_model_generator_1.RowModelGenerator(this.parent);
        }
        FreezeRowModelGenerator.prototype.generateRows = function (data, notifyArgs, virtualRows) {
            var tableName;
            if (notifyArgs.renderFrozenRightContent || (notifyArgs.renderMovableContent && !this.parent.enableVirtualization)) {
                tableName = 'frozen-right';
            }
            else if (notifyArgs.renderMovableContent || notifyArgs.isFrozen) {
                tableName = 'movable';
            }
            else {
                tableName = this.parent.getFrozenLeftCount() ? 'frozen-left' : 'frozen-right';
            }
            if (notifyArgs.requestType === 'virtualscroll' && notifyArgs.virtualInfo.sentinelInfo.axis === 'X') {
                if (tableName !== 'movable') {
                    return null;
                }
            }
            var row = this.parent.enableVirtualization && !notifyArgs.isFrozenRowsRender ? virtualRows
                : this.rowModelGenerator.generateRows(data, notifyArgs);
            for (var i = 0, len = row.length; i < len; i++) {
                row[parseInt(i.toString(), 10)].cells =
                    util_1.splitFrozenRowObjectCells(this.parent, row[parseInt(i.toString(), 10)].cells, tableName);
            }
            return row;
        };
        return FreezeRowModelGenerator;
    }());
    exports.FreezeRowModelGenerator = FreezeRowModelGenerator;
});