@angular-generic-table/core
Version:
A generic table component for Angular
51 lines (50 loc) • 4.51 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Pipe } from '@angular/core';
export class GtColumnClassPipe {
/**
* @param {?} gtFields
* @param {?} column
* @param {?=} row
* @return {?}
*/
transform(gtFields, column, row) {
// find columns with columnClass property defined
const /** @type {?} */ COLUMN_WITH_CLASS = gtFields
.map(field => field)
.filter(field => field.columnClass && field.objectKey === column.objectKey)[0];
if (!COLUMN_WITH_CLASS) {
return;
}
else if (typeof COLUMN_WITH_CLASS.columnClass === 'function') {
// if column class is a function, try using the function...
try {
return COLUMN_WITH_CLASS.columnClass(row, column);
}
catch (/** @type {?} */ error) {
console.log('Error when trying to get column class name using formula.', error);
}
}
else {
// if not a function, return plain string value
return COLUMN_WITH_CLASS.columnClass;
}
}
}
GtColumnClassPipe.decorators = [
{ type: Pipe, args: [{
name: 'gtColumnClass'
},] },
];
function GtColumnClassPipe_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
GtColumnClassPipe.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
GtColumnClassPipe.ctorParameters;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtY29sdW1uLWNsYXNzLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW5ndWxhci1nZW5lcmljLXRhYmxlL2NvcmUvIiwic291cmNlcyI6WyJwaXBlcy9ndC1jb2x1bW4tY2xhc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPcEQsTUFBTTs7Ozs7OztJQUNMLFNBQVMsQ0FDUixRQUF3QyxFQUN4QyxNQUFpQyxFQUNqQyxHQUFXOztRQUdYLHVCQUFNLGlCQUFpQixHQUFHLFFBQVE7YUFDaEMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDO2FBQ25CLE1BQU0sQ0FDTixLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLENBQUMsU0FBUyxDQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ04sRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDeEIsTUFBTSxDQUFDO1NBQ1A7UUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQzs7WUFFaEUsSUFBSSxDQUFDO2dCQUNKLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ2xEO1lBQUMsS0FBSyxDQUFDLENBQUMsaUJBQUEsS0FBSyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQ1YsMkRBQTJELEVBQzNELEtBQUssQ0FDTCxDQUFDO2FBQ0Y7U0FDRDtRQUFDLElBQUksQ0FBQyxDQUFDOztZQUVQLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7U0FDckM7S0FDRDs7O1lBL0JELElBQUksU0FBQztnQkFDTCxJQUFJLEVBQUUsZUFBZTthQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEd0Q29uZmlnRmllbGQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LWNvbmZpZy1maWVsZCc7XG5pbXBvcnQgeyBHdFJvdyB9IGZyb20gJy4uL2ludGVyZmFjZXMvZ3Qtcm93JztcblxuQFBpcGUoe1xuXHRuYW1lOiAnZ3RDb2x1bW5DbGFzcydcbn0pXG5leHBvcnQgY2xhc3MgR3RDb2x1bW5DbGFzc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblx0dHJhbnNmb3JtKFxuXHRcdGd0RmllbGRzOiBBcnJheTxHdENvbmZpZ0ZpZWxkPGFueSwgYW55Pj4sXG5cdFx0Y29sdW1uOiBHdENvbmZpZ0ZpZWxkPEd0Um93LCBhbnk+LFxuXHRcdHJvdz86IEd0Um93XG5cdCk6IGFueSB7XG5cdFx0Ly8gZmluZCBjb2x1bW5zIHdpdGggY29sdW1uQ2xhc3MgcHJvcGVydHkgZGVmaW5lZFxuXHRcdGNvbnN0IENPTFVNTl9XSVRIX0NMQVNTID0gZ3RGaWVsZHNcblx0XHRcdC5tYXAoZmllbGQgPT4gZmllbGQpXG5cdFx0XHQuZmlsdGVyKFxuXHRcdFx0XHRmaWVsZCA9PiBmaWVsZC5jb2x1bW5DbGFzcyAmJiBmaWVsZC5vYmplY3RLZXkgPT09IGNvbHVtbi5vYmplY3RLZXlcblx0XHRcdClbMF07XG5cdFx0aWYgKCFDT0xVTU5fV0lUSF9DTEFTUykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIENPTFVNTl9XSVRIX0NMQVNTLmNvbHVtbkNsYXNzID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHQvLyBpZiBjb2x1bW4gY2xhc3MgaXMgYSBmdW5jdGlvbiwgdHJ5IHVzaW5nIHRoZSBmdW5jdGlvbi4uLlxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0cmV0dXJuIENPTFVNTl9XSVRIX0NMQVNTLmNvbHVtbkNsYXNzKHJvdywgY29sdW1uKTtcblx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKFxuXHRcdFx0XHRcdCdFcnJvciB3aGVuIHRyeWluZyB0byBnZXQgY29sdW1uIGNsYXNzIG5hbWUgdXNpbmcgZm9ybXVsYS4nLFxuXHRcdFx0XHRcdGVycm9yXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIGlmIG5vdCBhIGZ1bmN0aW9uLCByZXR1cm4gcGxhaW4gc3RyaW5nIHZhbHVlXG5cdFx0XHRyZXR1cm4gQ09MVU1OX1dJVEhfQ0xBU1MuY29sdW1uQ2xhc3M7XG5cdFx0fVxuXHR9XG59XG4iXX0=