UNPKG

@angular-generic-table/core

Version:
71 lines (70 loc) 5.49 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Pipe } from '@angular/core'; // unsupported: template constraints. /** * @template R */ export class GtVisiblePipe { constructor() { /** * Sort by column order */ this.getColumnOrder = function (a, b) { if (a.columnOrder < b.columnOrder) { return -1; } if (a.columnOrder > b.columnOrder || typeof a.columnOrder === 'undefined') { return 1; } return 0; }; } /** * @param {?} array * @param {?} settings * @param {?=} refreshPipe * @return {?} */ transform(array, settings, refreshPipe) { const /** @type {?} */ visibleColumns = settings .sort(this.getColumnOrder) .map((setting) => { if (setting.visible !== false && setting.enabled !== false) { return setting.objectKey; } }); return array .filter((column) => { return visibleColumns.indexOf(column.objectKey) !== -1; }) .sort(function (a, b) { return visibleColumns.indexOf(a.objectKey) < visibleColumns.indexOf(b.objectKey) ? -1 : 1; }); } } GtVisiblePipe.decorators = [ { type: Pipe, args: [{ name: 'gtVisible' },] }, ]; function GtVisiblePipe_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ GtVisiblePipe.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ GtVisiblePipe.ctorParameters; /** * Sort by column order * @type {?} */ GtVisiblePipe.prototype.getColumnOrder; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtdmlzaWJsZS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItZ2VuZXJpYy10YWJsZS9jb3JlLyIsInNvdXJjZXMiOlsicGlwZXMvZ3QtdmlzaWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRcEQsTUFBTTs7Ozs7OEJBR29CLFVBQVMsQ0FBTSxFQUFFLENBQU07WUFDL0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ1Y7WUFDRCxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLENBQUMsV0FBVyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQzNFLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDVDtZQUNELE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDVDs7Ozs7Ozs7SUFFRCxTQUFTLENBQ1IsS0FBaUIsRUFDakIsUUFBZ0MsRUFDaEMsV0FBcUI7UUFFckIsdUJBQU0sY0FBYyxHQUFHLFFBQVE7YUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7YUFDekIsR0FBRyxDQUFDLENBQUMsT0FBd0IsRUFBRSxFQUFFO1lBQ2pDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7YUFDekI7U0FDRCxDQUFDLENBQUM7UUFFSixNQUFNLENBQUMsS0FBSzthQUNWLE1BQU0sQ0FBQyxDQUFDLE1BQVcsRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN2RCxDQUFDO2FBQ0QsSUFBSSxDQUFDLFVBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbEIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDekMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDTCxDQUFDLENBQUM7S0FDSjs7O1lBdkNELElBQUksU0FBQztnQkFDTCxJQUFJLEVBQUUsV0FBVzthQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEd0Q29uZmlnRmllbGQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LWNvbmZpZy1maWVsZCc7XG5pbXBvcnQgeyBHdENvbmZpZ1NldHRpbmcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LWNvbmZpZy1zZXR0aW5nJztcbmltcG9ydCB7IEd0Um93IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1yb3cnO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdndFZpc2libGUnXG59KVxuZXhwb3J0IGNsYXNzIEd0VmlzaWJsZVBpcGU8UiBleHRlbmRzIEd0Um93PiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHQvLyBUT0RPOiBtb3ZlIHRvIGhlbHBlciBmdW5jdGlvbnNcblx0LyoqIFNvcnQgYnkgY29sdW1uIG9yZGVyICovXG5cdHByaXZhdGUgZ2V0Q29sdW1uT3JkZXIgPSBmdW5jdGlvbihhOiBhbnksIGI6IGFueSkge1xuXHRcdGlmIChhLmNvbHVtbk9yZGVyIDwgYi5jb2x1bW5PcmRlcikge1xuXHRcdFx0cmV0dXJuIC0xO1xuXHRcdH1cblx0XHRpZiAoYS5jb2x1bW5PcmRlciA+IGIuY29sdW1uT3JkZXIgfHwgdHlwZW9mIGEuY29sdW1uT3JkZXIgPT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cdFx0cmV0dXJuIDA7XG5cdH07XG5cblx0dHJhbnNmb3JtKFxuXHRcdGFycmF5OiBBcnJheTxhbnk+LFxuXHRcdHNldHRpbmdzOiBBcnJheTxHdENvbmZpZ1NldHRpbmc+LFxuXHRcdHJlZnJlc2hQaXBlPzogYm9vbGVhblxuXHQpOiBBcnJheTxHdENvbmZpZ0ZpZWxkPFIsIGFueT4+IHwgQXJyYXk8R3RDb25maWdTZXR0aW5nPiB7XG5cdFx0Y29uc3QgdmlzaWJsZUNvbHVtbnMgPSBzZXR0aW5nc1xuXHRcdFx0LnNvcnQodGhpcy5nZXRDb2x1bW5PcmRlcilcblx0XHRcdC5tYXAoKHNldHRpbmc6IEd0Q29uZmlnU2V0dGluZykgPT4ge1xuXHRcdFx0XHRpZiAoc2V0dGluZy52aXNpYmxlICE9PSBmYWxzZSAmJiBzZXR0aW5nLmVuYWJsZWQgIT09IGZhbHNlKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHNldHRpbmcub2JqZWN0S2V5O1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdHJldHVybiBhcnJheVxuXHRcdFx0LmZpbHRlcigoY29sdW1uOiBhbnkpID0+IHtcblx0XHRcdFx0cmV0dXJuIHZpc2libGVDb2x1bW5zLmluZGV4T2YoY29sdW1uLm9iamVjdEtleSkgIT09IC0xO1xuXHRcdFx0fSlcblx0XHRcdC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdFx0cmV0dXJuIHZpc2libGVDb2x1bW5zLmluZGV4T2YoYS5vYmplY3RLZXkpIDxcblx0XHRcdFx0XHR2aXNpYmxlQ29sdW1ucy5pbmRleE9mKGIub2JqZWN0S2V5KVxuXHRcdFx0XHRcdD8gLTFcblx0XHRcdFx0XHQ6IDE7XG5cdFx0XHR9KTtcblx0fVxufVxuIl19