@angular-generic-table/core
Version:
A generic table component for Angular
52 lines (51 loc) • 4.65 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Pipe } from '@angular/core';
export class GtChunkPipe {
/**
* @param {?} array
* @param {?} gtInfo
* @param {?} chunkSize
* @param {?} page
* @param {?} refreshPageArray
* @param {?} refreshData
* @param {?} gtEvent
* @param {?} data
* @return {?}
*/
transform(array, gtInfo, chunkSize, page, refreshPageArray, refreshData, gtEvent, data) {
if (!Array.isArray(array)) {
return array;
}
data.exportData = array; // store data for export
const /** @type {?} */ PAGES = [];
const /** @type {?} */ ENTRIES = array.length;
for (let /** @type {?} */ i = 0; i < ENTRIES; i += chunkSize) {
PAGES.push(array.slice(i, i + chunkSize));
}
gtInfo.visibleRecords = !PAGES[page - 1] ? [] : [...PAGES[page - 1]]; // add visible rows
gtInfo.pageTotal = PAGES.length; // add number of pages
setTimeout(() => gtEvent.emit({
name: 'gt-info',
value: gtInfo
}), 0);
return PAGES[page - 1];
}
}
GtChunkPipe.decorators = [
{ type: Pipe, args: [{
name: 'gtChunk'
},] },
];
function GtChunkPipe_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
GtChunkPipe.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
GtChunkPipe.ctorParameters;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtY2h1bmsucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhbmd1bGFyLWdlbmVyaWMtdGFibGUvY29yZS8iLCJzb3VyY2VzIjpbInBpcGVzL2d0LWNodW5rLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBTWxFLE1BQU07Ozs7Ozs7Ozs7OztJQUNMLFNBQVMsQ0FDUixLQUFZLEVBQ1osTUFBcUIsRUFDckIsU0FBaUIsRUFDakIsSUFBWSxFQUNaLGdCQUF5QixFQUN6QixXQUFtQixFQUNuQixPQUE4QixFQUM5QixJQUFnQztRQUVoQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzNCLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDYjtRQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1FBRXhCLHVCQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDakIsdUJBQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFN0IsR0FBRyxDQUFDLENBQUMscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxFQUFFLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUM3QyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsTUFBTSxDQUFDLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRSxNQUFNLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFaEMsVUFBVSxDQUNULEdBQUcsRUFBRSxDQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDWixJQUFJLEVBQUUsU0FBUztZQUNmLEtBQUssRUFBRSxNQUFNO1NBQ2IsQ0FBQyxFQUNILENBQUMsQ0FDRCxDQUFDO1FBQ0YsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUM7S0FDdkI7OztZQXJDRCxJQUFJLFNBQUM7Z0JBQ0wsSUFBSSxFQUFFLFNBQVM7YUFDZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0sIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgR3RJbmZvcm1hdGlvbiwgR3RFdmVudCB9IGZyb20gJy4uJztcblxuQFBpcGUoe1xuXHRuYW1lOiAnZ3RDaHVuaydcbn0pXG5leHBvcnQgY2xhc3MgR3RDaHVua1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblx0dHJhbnNmb3JtKFxuXHRcdGFycmF5OiBhbnlbXSxcblx0XHRndEluZm86IEd0SW5mb3JtYXRpb24sXG5cdFx0Y2h1bmtTaXplOiBudW1iZXIsXG5cdFx0cGFnZTogbnVtYmVyLFxuXHRcdHJlZnJlc2hQYWdlQXJyYXk6IGJvb2xlYW4sXG5cdFx0cmVmcmVzaERhdGE6IG51bWJlcixcblx0XHRndEV2ZW50OiBFdmVudEVtaXR0ZXI8R3RFdmVudD4sXG5cdFx0ZGF0YTogeyBleHBvcnREYXRhOiBBcnJheTxhbnk+IH1cblx0KTogYW55W10ge1xuXHRcdGlmICghQXJyYXkuaXNBcnJheShhcnJheSkpIHtcblx0XHRcdHJldHVybiBhcnJheTtcblx0XHR9XG5cdFx0ZGF0YS5leHBvcnREYXRhID0gYXJyYXk7IC8vIHN0b3JlIGRhdGEgZm9yIGV4cG9ydFxuXG5cdFx0Y29uc3QgUEFHRVMgPSBbXTtcblx0XHRjb25zdCBFTlRSSUVTID0gYXJyYXkubGVuZ3RoO1xuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBFTlRSSUVTOyBpICs9IGNodW5rU2l6ZSkge1xuXHRcdFx0UEFHRVMucHVzaChhcnJheS5zbGljZShpLCBpICsgY2h1bmtTaXplKSk7XG5cdFx0fVxuXHRcdGd0SW5mby52aXNpYmxlUmVjb3JkcyA9ICFQQUdFU1twYWdlIC0gMV0gPyBbXSA6IFsuLi5QQUdFU1twYWdlIC0gMV1dOyAvLyBhZGQgdmlzaWJsZSByb3dzXG5cdFx0Z3RJbmZvLnBhZ2VUb3RhbCA9IFBBR0VTLmxlbmd0aDsgLy8gYWRkIG51bWJlciBvZiBwYWdlc1xuXG5cdFx0c2V0VGltZW91dChcblx0XHRcdCgpID0+XG5cdFx0XHRcdGd0RXZlbnQuZW1pdCh7XG5cdFx0XHRcdFx0bmFtZTogJ2d0LWluZm8nLFxuXHRcdFx0XHRcdHZhbHVlOiBndEluZm9cblx0XHRcdFx0fSksXG5cdFx0XHQwXG5cdFx0KTtcblx0XHRyZXR1cm4gUEFHRVNbcGFnZSAtIDFdO1xuXHR9XG59XG4iXX0=