view src/app/result-type.js @ 58:3b4046e0cc02 default

Merge from ng2-table branch. d7c947909ab888c013171b8c037e4f9fab30fe57
author casties
date Wed, 29 Mar 2017 17:19:12 +0200
parents
children
line wrap: on
line source

"use strict";
var result_column_1 = require('./result-column');
var ResultType = (function () {
    function ResultType(name, idAttribute, allowedAttributes, deniedAttributes) {
        if (allowedAttributes === void 0) { allowedAttributes = []; }
        if (deniedAttributes === void 0) { deniedAttributes = []; }
        this.name = name;
        this.idAttribute = idAttribute;
        this.allowedAttributes = allowedAttributes;
        this.deniedAttributes = deniedAttributes;
    }
    /**
     * Return columns for the given list of attributes.
     */
    ResultType.prototype.getColumns = function (attributes, allAttributes) {
        var _this = this;
        if (allAttributes === void 0) { allAttributes = true; }
        var atts = attributes.slice();
        var cols = [];
        // allowed attributes
        this.allowedAttributes.forEach(function (att) {
            var idx = atts.indexOf(att);
            if (idx > -1) {
                cols.push(new result_column_1.ResultColumn(att, att, '', true));
                atts[idx] = null;
            }
        });
        // then other attributes
        if (allAttributes) {
            atts.forEach(function (att) {
                if (att != null && att[0] != '_' && _this.deniedAttributes.indexOf(att) < 0) {
                    cols.push(new result_column_1.ResultColumn(att, att, '', false));
                }
            });
        }
        return cols;
    };
    return ResultType;
}());
exports.ResultType = ResultType;
function getResultType(name, resultTypes) {
    var rt = resultTypes[name];
    if (rt == null) {
        rt = resultTypes['*'];
    }
    return rt;
}
exports.getResultType = getResultType;
//# sourceMappingURL=result-type.js.map