UNPKG

@angular-generic-table/core

Version:
51 lines (50 loc) 4.51 kB
/** * @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=