UNPKG

@angular-generic-table/core

Version:
66 lines (65 loc) 6.51 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Pipe } from '@angular/core'; export class GtRowClassPipe { /** * @param {?} array * @param {?} gtFields * @return {?} */ transform(array, gtFields) { if (array) { // find columns with rowClass property defined const /** @type {?} */ COLUMNS_WITH_CLASS = gtFields .map(column => column) .filter(column => column.rowClass); COLUMNS_WITH_CLASS.map(column => { // for each column with rowClass property defined... array.map(row => { // loop through rows and set row class if (typeof column.rowClass === 'function') { // if row class is a function, try using the function... try { if (row.$$gtRowClass) { row.$$gtRowClass = row.$$gtRowClass.concat(' ' + column.rowClass(row, column)); } else { row.$$gtRowClass = column.rowClass(row, column); } } catch (/** @type {?} */ error) { console.log('Error when trying to get row class name using formula.', error); } } else { // if not a function, return plain string value if (row.$$gtRowClass) { row.$$gtRowClass = row.$$gtRowClass.concat(' ' + column.rowClass); } else { row.$$gtRowClass = column.rowClass; } } }); }); } return array; } } GtRowClassPipe.decorators = [ { type: Pipe, args: [{ name: 'gtRowClass' },] }, ]; function GtRowClassPipe_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ GtRowClassPipe.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ GtRowClassPipe.ctorParameters; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3Qtcm93LWNsYXNzLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYW5ndWxhci1nZW5lcmljLXRhYmxlL2NvcmUvIiwic291cmNlcyI6WyJwaXBlcy9ndC1yb3ctY2xhc3MucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFNcEQsTUFBTTs7Ozs7O0lBQ0wsU0FBUyxDQUFDLEtBQWlCLEVBQUUsUUFBd0M7UUFDcEUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQzs7WUFFWCx1QkFBTSxrQkFBa0IsR0FBRyxRQUFRO2lCQUNqQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUM7aUJBQ3JCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNwQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7O2dCQUUvQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFOztvQkFFZixFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQzs7d0JBRTNDLElBQUksQ0FBQzs0QkFDSixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztnQ0FDdEIsR0FBRyxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FDekMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUNsQyxDQUFDOzZCQUNGOzRCQUFDLElBQUksQ0FBQyxDQUFDO2dDQUNQLEdBQUcsQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7NkJBQ2hEO3lCQUNEO3dCQUFDLEtBQUssQ0FBQyxDQUFDLGlCQUFBLEtBQUssRUFBRSxDQUFDOzRCQUNoQixPQUFPLENBQUMsR0FBRyxDQUNWLHdEQUF3RCxFQUN4RCxLQUFLLENBQ0wsQ0FBQzt5QkFDRjtxQkFDRDtvQkFBQyxJQUFJLENBQUMsQ0FBQzs7d0JBRVAsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7NEJBQ3RCLEdBQUcsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQzt5QkFDbEU7d0JBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ1AsR0FBRyxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO3lCQUNuQztxQkFDRDtpQkFDRCxDQUFDLENBQUM7YUFDSCxDQUFDLENBQUM7U0FDSDtRQUNELE1BQU0sQ0FBQyxLQUFLLENBQUM7S0FDYjs7O1lBMUNELElBQUksU0FBQztnQkFDTCxJQUFJLEVBQUUsWUFBWTthQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEd0Q29uZmlnRmllbGQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LWNvbmZpZy1maWVsZCc7XG5cbkBQaXBlKHtcblx0bmFtZTogJ2d0Um93Q2xhc3MnXG59KVxuZXhwb3J0IGNsYXNzIEd0Um93Q2xhc3NQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdHRyYW5zZm9ybShhcnJheTogQXJyYXk8YW55PiwgZ3RGaWVsZHM6IEFycmF5PEd0Q29uZmlnRmllbGQ8YW55LCBhbnk+Pik6IGFueSB7XG5cdFx0aWYgKGFycmF5KSB7XG5cdFx0XHQvLyBmaW5kIGNvbHVtbnMgd2l0aCByb3dDbGFzcyBwcm9wZXJ0eSBkZWZpbmVkXG5cdFx0XHRjb25zdCBDT0xVTU5TX1dJVEhfQ0xBU1MgPSBndEZpZWxkc1xuXHRcdFx0XHQubWFwKGNvbHVtbiA9PiBjb2x1bW4pXG5cdFx0XHRcdC5maWx0ZXIoY29sdW1uID0+IGNvbHVtbi5yb3dDbGFzcyk7XG5cdFx0XHRDT0xVTU5TX1dJVEhfQ0xBU1MubWFwKGNvbHVtbiA9PiB7XG5cdFx0XHRcdC8vIGZvciBlYWNoIGNvbHVtbiB3aXRoIHJvd0NsYXNzIHByb3BlcnR5IGRlZmluZWQuLi5cblx0XHRcdFx0YXJyYXkubWFwKHJvdyA9PiB7XG5cdFx0XHRcdFx0Ly8gbG9vcCB0aHJvdWdoIHJvd3MgYW5kIHNldCByb3cgY2xhc3Ncblx0XHRcdFx0XHRpZiAodHlwZW9mIGNvbHVtbi5yb3dDbGFzcyA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdFx0Ly8gaWYgcm93IGNsYXNzIGlzIGEgZnVuY3Rpb24sIHRyeSB1c2luZyB0aGUgZnVuY3Rpb24uLi5cblx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdGlmIChyb3cuJCRndFJvd0NsYXNzKSB7XG5cdFx0XHRcdFx0XHRcdFx0cm93LiQkZ3RSb3dDbGFzcyA9IHJvdy4kJGd0Um93Q2xhc3MuY29uY2F0KFxuXHRcdFx0XHRcdFx0XHRcdFx0JyAnICsgY29sdW1uLnJvd0NsYXNzKHJvdywgY29sdW1uKVxuXHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cm93LiQkZ3RSb3dDbGFzcyA9IGNvbHVtbi5yb3dDbGFzcyhyb3csIGNvbHVtbik7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFxuXHRcdFx0XHRcdFx0XHRcdCdFcnJvciB3aGVuIHRyeWluZyB0byBnZXQgcm93IGNsYXNzIG5hbWUgdXNpbmcgZm9ybXVsYS4nLFxuXHRcdFx0XHRcdFx0XHRcdGVycm9yXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdC8vIGlmIG5vdCBhIGZ1bmN0aW9uLCByZXR1cm4gcGxhaW4gc3RyaW5nIHZhbHVlXG5cdFx0XHRcdFx0XHRpZiAocm93LiQkZ3RSb3dDbGFzcykge1xuXHRcdFx0XHRcdFx0XHRyb3cuJCRndFJvd0NsYXNzID0gcm93LiQkZ3RSb3dDbGFzcy5jb25jYXQoJyAnICsgY29sdW1uLnJvd0NsYXNzKTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHJvdy4kJGd0Um93Q2xhc3MgPSBjb2x1bW4ucm93Q2xhc3M7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRyZXR1cm4gYXJyYXk7XG5cdH1cbn1cbiJdfQ==