UNPKG

angular2-data-table

Version:

angular2-data-table is a Angular2 component for presenting large and complex data.

72 lines 2.12 kB
"use strict"; var utils_1 = require('../utils'); /** * Sets the column defaults * * @export * @param {any[]} columns * @returns */ function setColumnDefaults(columns) { if (!columns) return; for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) { var column = columns_1[_i]; if (!column.$$id) { column.$$id = utils_1.id(); } // translate name => prop if (!column.prop && column.name) { column.prop = utils_1.camelCase(column.name); } // format props if no name passed if (column.prop && !column.name) { column.name = utils_1.deCamelCase(column.prop); } if (!column.hasOwnProperty('resizeable')) { column.resizeable = true; } if (!column.hasOwnProperty('sortable')) { column.sortable = true; } if (!column.hasOwnProperty('draggable')) { column.draggable = true; } if (!column.hasOwnProperty('canAutoResize')) { column.canAutoResize = true; } if (!column.hasOwnProperty('width')) { column.width = 150; } } } exports.setColumnDefaults = setColumnDefaults; /** * Translates templates definitions to objects * * @export * @param {DataTableColumnDirective[]} templates * @returns {any[]} */ function translateTemplates(templates) { var result = []; for (var _i = 0, templates_1 = templates; _i < templates_1.length; _i++) { var temp = templates_1[_i]; var col = {}; var props = Object.getOwnPropertyNames(temp); for (var _a = 0, props_1 = props; _a < props_1.length; _a++) { var prop = props_1[_a]; col[prop] = temp[prop]; } if (temp.headerTemplate) { col.headerTemplate = temp.headerTemplate; } if (temp.cellTemplate) { col.cellTemplate = temp.cellTemplate; } result.push(col); } return result; } exports.translateTemplates = translateTemplates; //# sourceMappingURL=column-helper.js.map