@raphy/ngx-equalizer
Version:
A library to equalize height and width of elements with Angular4+
31 lines (30 loc) • 3.71 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable } from '@angular/core';
export class EqualizerService {
/**
* @param {?} renderer
* @param {?} elementRefs
* @param {?=} params
* @return {?}
*/
equalize(renderer, elementRefs, params = { property: 'height', reset: true }) {
let /** @type {?} */ maxValue = 0;
elementRefs.map((elementRef) => {
if (params.reset) {
renderer.setStyle(elementRef.nativeElement, params.property, 'initial');
}
const /** @type {?} */ value = elementRef.nativeElement['offset' + params.property[0].toUpperCase() + params.property.slice(1)];
maxValue = value > maxValue ? value : maxValue;
});
elementRefs.map((elementRef) => {
renderer.setStyle(elementRef.nativeElement, params.property, maxValue + 'px');
});
}
}
EqualizerService.decorators = [
{ type: Injectable },
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWxpemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcmFwaHkvbmd4LWVxdWFsaXplci8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy9lcXVhbGl6ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFjLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUtsRSxNQUFNOzs7Ozs7O0lBQ0ssUUFBUSxDQUNYLFFBQW1CLEVBQ25CLFdBQXlCLEVBQ3pCLFNBQXlCLEVBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFDO1FBRzFELHFCQUFJLFFBQVEsR0FBVyxDQUFDLENBQUM7UUFFekIsV0FBVyxDQUFDLEdBQUcsQ0FDWCxDQUFDLFVBQXNCLEVBQUUsRUFBRTtZQUN2QixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDZixRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQzthQUMzRTtZQUVELHVCQUFNLEtBQUssR0FBVyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkgsUUFBUSxHQUFHLEtBQUssR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1NBQ2xELENBQ0osQ0FBQztRQUVGLFdBQVcsQ0FBQyxHQUFHLENBQ1gsQ0FBQyxVQUFzQixFQUFFLEVBQUU7WUFDdkIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxRQUFRLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ2pGLENBQ0osQ0FBQzs7OztZQXpCVCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVxdWFsaXplUGFyYW1zIH0gZnJvbSAnLi4vZXF1YWxpemUtcGFyYW1zJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVxdWFsaXplclNlcnZpY2Uge1xuICAgIHB1YmxpYyBlcXVhbGl6ZShcbiAgICAgICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgZWxlbWVudFJlZnM6IEVsZW1lbnRSZWZbXSxcbiAgICAgICAgcGFyYW1zOiBFcXVhbGl6ZVBhcmFtcyA9IHtwcm9wZXJ0eTogJ2hlaWdodCcsIHJlc2V0OiB0cnVlfVxuICAgICkge1xuXG4gICAgICAgIGxldCBtYXhWYWx1ZTogbnVtYmVyID0gMDtcblxuICAgICAgICBlbGVtZW50UmVmcy5tYXAoXG4gICAgICAgICAgICAoZWxlbWVudFJlZjogRWxlbWVudFJlZikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwYXJhbXMucmVzZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBwYXJhbXMucHJvcGVydHksICdpbml0aWFsJyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFsdWU6IG51bWJlciA9IGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudFsnb2Zmc2V0JyArIHBhcmFtcy5wcm9wZXJ0eVswXS50b1VwcGVyQ2FzZSgpICsgcGFyYW1zLnByb3BlcnR5LnNsaWNlKDEpXTtcbiAgICAgICAgICAgICAgICBtYXhWYWx1ZSA9IHZhbHVlID4gbWF4VmFsdWUgPyB2YWx1ZSA6IG1heFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGVsZW1lbnRSZWZzLm1hcChcbiAgICAgICAgICAgIChlbGVtZW50UmVmOiBFbGVtZW50UmVmKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCBwYXJhbXMucHJvcGVydHksIG1heFZhbHVlICsgJ3B4Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxufVxuIl19