@angular-generic-table/core
Version:
A generic table component for Angular
79 lines (78 loc) • 5.76 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Pipe } from '@angular/core';
// unsupported: template constraints.
/**
* @template R
*/
var GtVisiblePipe = /** @class */ (function () {
function GtVisiblePipe() {
/**
* 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 {?}
*/
GtVisiblePipe.prototype.transform = /**
* @param {?} array
* @param {?} settings
* @param {?=} refreshPipe
* @return {?}
*/
function (array, settings, refreshPipe) {
var /** @type {?} */ visibleColumns = settings
.sort(this.getColumnOrder)
.map(function (setting) {
if (setting.visible !== false && setting.enabled !== false) {
return setting.objectKey;
}
});
return array
.filter(function (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'
},] },
];
return GtVisiblePipe;
}());
export { GtVisiblePipe };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtdmlzaWJsZS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFuZ3VsYXItZ2VuZXJpYy10YWJsZS9jb3JlLyIsInNvdXJjZXMiOlsicGlwZXMvZ3QtdmlzaWJsZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7Ozs4QkFXMUIsVUFBUyxDQUFNLEVBQUUsQ0FBTTtZQUMvQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDVjtZQUNELEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQztnQkFDM0UsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUNUO1lBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUNUOzs7Ozs7OztJQUVELGlDQUFTOzs7Ozs7SUFBVCxVQUNDLEtBQWlCLEVBQ2pCLFFBQWdDLEVBQ2hDLFdBQXFCO1FBRXJCLHFCQUFNLGNBQWMsR0FBRyxRQUFRO2FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ3pCLEdBQUcsQ0FBQyxVQUFDLE9BQXdCO1lBQzdCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDNUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7YUFDekI7U0FDRCxDQUFDLENBQUM7UUFFSixNQUFNLENBQUMsS0FBSzthQUNWLE1BQU0sQ0FBQyxVQUFDLE1BQVc7WUFDbkIsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3ZELENBQUM7YUFDRCxJQUFJLENBQUMsVUFBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQixNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUN6QyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNMLENBQUMsQ0FBQztLQUNKOztnQkF2Q0QsSUFBSSxTQUFDO29CQUNMLElBQUksRUFBRSxXQUFXO2lCQUNqQjs7d0JBUEQ7O1NBUWEsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEd0Q29uZmlnRmllbGQgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LWNvbmZpZy1maWVsZCc7XG5pbXBvcnQgeyBHdENvbmZpZ1NldHRpbmcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2d0LWNvbmZpZy1zZXR0aW5nJztcbmltcG9ydCB7IEd0Um93IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ndC1yb3cnO1xuXG5AUGlwZSh7XG5cdG5hbWU6ICdndFZpc2libGUnXG59KVxuZXhwb3J0IGNsYXNzIEd0VmlzaWJsZVBpcGU8UiBleHRlbmRzIEd0Um93PiBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuXHQvLyBUT0RPOiBtb3ZlIHRvIGhlbHBlciBmdW5jdGlvbnNcblx0LyoqIFNvcnQgYnkgY29sdW1uIG9yZGVyICovXG5cdHByaXZhdGUgZ2V0Q29sdW1uT3JkZXIgPSBmdW5jdGlvbihhOiBhbnksIGI6IGFueSkge1xuXHRcdGlmIChhLmNvbHVtbk9yZGVyIDwgYi5jb2x1bW5PcmRlcikge1xuXHRcdFx0cmV0dXJuIC0xO1xuXHRcdH1cblx0XHRpZiAoYS5jb2x1bW5PcmRlciA+IGIuY29sdW1uT3JkZXIgfHwgdHlwZW9mIGEuY29sdW1uT3JkZXIgPT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cdFx0cmV0dXJuIDA7XG5cdH07XG5cblx0dHJhbnNmb3JtKFxuXHRcdGFycmF5OiBBcnJheTxhbnk+LFxuXHRcdHNldHRpbmdzOiBBcnJheTxHdENvbmZpZ1NldHRpbmc+LFxuXHRcdHJlZnJlc2hQaXBlPzogYm9vbGVhblxuXHQpOiBBcnJheTxHdENvbmZpZ0ZpZWxkPFIsIGFueT4+IHwgQXJyYXk8R3RDb25maWdTZXR0aW5nPiB7XG5cdFx0Y29uc3QgdmlzaWJsZUNvbHVtbnMgPSBzZXR0aW5nc1xuXHRcdFx0LnNvcnQodGhpcy5nZXRDb2x1bW5PcmRlcilcblx0XHRcdC5tYXAoKHNldHRpbmc6IEd0Q29uZmlnU2V0dGluZykgPT4ge1xuXHRcdFx0XHRpZiAoc2V0dGluZy52aXNpYmxlICE9PSBmYWxzZSAmJiBzZXR0aW5nLmVuYWJsZWQgIT09IGZhbHNlKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHNldHRpbmcub2JqZWN0S2V5O1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdHJldHVybiBhcnJheVxuXHRcdFx0LmZpbHRlcigoY29sdW1uOiBhbnkpID0+IHtcblx0XHRcdFx0cmV0dXJuIHZpc2libGVDb2x1bW5zLmluZGV4T2YoY29sdW1uLm9iamVjdEtleSkgIT09IC0xO1xuXHRcdFx0fSlcblx0XHRcdC5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcblx0XHRcdFx0cmV0dXJuIHZpc2libGVDb2x1bW5zLmluZGV4T2YoYS5vYmplY3RLZXkpIDxcblx0XHRcdFx0XHR2aXNpYmxlQ29sdW1ucy5pbmRleE9mKGIub2JqZWN0S2V5KVxuXHRcdFx0XHRcdD8gLTFcblx0XHRcdFx0XHQ6IDE7XG5cdFx0XHR9KTtcblx0fVxufVxuIl19