UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

75 lines (74 loc) 6.31 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Pipe } from '@angular/core'; var /** @type {?} */ NAME = "phx_columnize"; var ColumnizePipe = /** @class */ (function () { function ColumnizePipe() { } /** * @param {?} value * @param {?=} cols * @param {?=} ceiling * @return {?} */ ColumnizePipe.prototype.transform = /** * @param {?} value * @param {?=} cols * @param {?=} ceiling * @return {?} */ function (value, cols, ceiling) { if (value === null || value === undefined || !Array.isArray(value)) { return value; } if (cols === null || cols === undefined || typeof cols !== 'number') { cols = 0; } if (ceiling === null || ceiling === undefined || typeof ceiling !== 'boolean') { ceiling = true; } if (cols <= 0) { // Column count <= 0 means do not perform columnization. return value; } var /** @type {?} */ remainder = value.length % cols; var /** @type {?} */ colLen = (value.length - remainder) / cols; if (remainder > 0 && ceiling) { // In ceiling mode, the last column will always be the shortest. // Or else, in flooring mode, the lst column will always be the longest. colLen++; } var /** @type {?} */ re = []; for (var /** @type {?} */ i = 0; i < cols; i++) { var /** @type {?} */ stIdx = i * colLen; var /** @type {?} */ enIdx = stIdx + colLen; if (i === cols - 1) { // This is the last column. // Always set enIdx to the end of the array. enIdx = value.length; } re.push(value.slice(stIdx, enIdx)); } return re; }; ColumnizePipe.decorators = [ { type: Pipe, args: [{ name: NAME, pure: false },] }, ]; return ColumnizePipe; }()); export { ColumnizePipe }; function ColumnizePipe_tsickle_Closure_declarations() { /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */ ColumnizePipe.decorators; /** * @nocollapse * @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>} */ ColumnizePipe.ctorParameters; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sdW1uaXplUGlwZS5waXBlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vY29tLnBobG94dWkvIiwic291cmNlcyI6WyJsaWIvcGlwZS9Db2x1bW5pemVQaXBlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFckMscUJBQU0sSUFBSSxHQUFXLGVBQWUsQ0FBQzs7Ozs7Ozs7OztJQVE1QixpQ0FBUzs7Ozs7O2NBQUMsS0FBVSxFQUFFLElBQWEsRUFBRSxPQUFpQjtRQUMzRCxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuRSxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2Q7UUFDRCxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxTQUFTLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1NBQ1Y7UUFDRCxFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksT0FBTyxPQUFPLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztZQUM5RSxPQUFPLEdBQUcsSUFBSSxDQUFDO1NBQ2hCO1FBRUQsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7O1lBRWQsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNkO1FBRUQscUJBQUksU0FBUyxHQUFXLEtBQUssQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1FBQzVDLHFCQUFJLE1BQU0sR0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRXZELEVBQUUsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLENBQUMsQ0FBQzs7O1lBRzdCLE1BQU0sRUFBRSxDQUFDO1NBQ1Y7UUFFRCxxQkFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBRVosR0FBRyxDQUFDLENBQUMscUJBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDOUIscUJBQUksS0FBSyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUM7WUFDdkIscUJBQUksS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLENBQUM7WUFFM0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOzs7Z0JBR25CLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO2FBQ3RCO1lBRUQsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsTUFBTSxDQUFDLEVBQUUsQ0FBQzs7O2dCQTlDYixJQUFJLFNBQUM7b0JBQ0osSUFBSSxFQUFFLElBQUk7b0JBQ1YsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7O3dCQVBEOztTQVFhLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmNvbnN0IE5BTUU6IHN0cmluZyA9IFwicGh4X2NvbHVtbml6ZVwiO1xuXG5AUGlwZSh7XG4gIG5hbWU6IE5BTUUsXG4gIHB1cmU6IGZhbHNlXG59KVxuZXhwb3J0IGNsYXNzIENvbHVtbml6ZVBpcGUge1xuXG4gIHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IGFueSwgY29scz86IG51bWJlciwgY2VpbGluZz86IGJvb2xlYW4pOiBhbnkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8ICFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBpZiAoY29scyA9PT0gbnVsbCB8fCBjb2xzID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIGNvbHMgIT09ICdudW1iZXInKSB7XG4gICAgICBjb2xzID0gMDtcbiAgICB9XG4gICAgaWYgKGNlaWxpbmcgPT09IG51bGwgfHwgY2VpbGluZyA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiBjZWlsaW5nICE9PSAnYm9vbGVhbicpIHtcbiAgICAgIGNlaWxpbmcgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjb2xzIDw9IDApIHtcbiAgICAgIC8vIENvbHVtbiBjb3VudCA8PSAwIG1lYW5zIGRvIG5vdCBwZXJmb3JtIGNvbHVtbml6YXRpb24uXG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgbGV0IHJlbWFpbmRlcjogbnVtYmVyID0gdmFsdWUubGVuZ3RoICUgY29scztcbiAgICBsZXQgY29sTGVuOiBudW1iZXIgPSAodmFsdWUubGVuZ3RoIC0gcmVtYWluZGVyKSAvIGNvbHM7XG5cbiAgICBpZiAocmVtYWluZGVyID4gMCAmJiBjZWlsaW5nKSB7XG4gICAgICAvLyBJbiBjZWlsaW5nIG1vZGUsIHRoZSBsYXN0IGNvbHVtbiB3aWxsIGFsd2F5cyBiZSB0aGUgc2hvcnRlc3QuXG4gICAgICAvLyBPciBlbHNlLCBpbiBmbG9vcmluZyBtb2RlLCB0aGUgbHN0IGNvbHVtbiB3aWxsIGFsd2F5cyBiZSB0aGUgbG9uZ2VzdC5cbiAgICAgIGNvbExlbisrO1xuICAgIH1cblxuICAgIGxldCByZSA9IFtdO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xzOyBpKyspIHtcbiAgICAgIGxldCBzdElkeCA9IGkgKiBjb2xMZW47XG4gICAgICBsZXQgZW5JZHggPSBzdElkeCArIGNvbExlbjtcblxuICAgICAgaWYgKGkgPT09IGNvbHMgLSAxKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgdGhlIGxhc3QgY29sdW1uLlxuICAgICAgICAvLyBBbHdheXMgc2V0IGVuSWR4IHRvIHRoZSBlbmQgb2YgdGhlIGFycmF5LlxuICAgICAgICBlbklkeCA9IHZhbHVlLmxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgcmUucHVzaCh2YWx1ZS5zbGljZShzdElkeCwgZW5JZHgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmU7XG4gIH1cblxufVxuIl19