UNPKG

@raphy/ngx-equalizer

Version:

A library to equalize height and width of elements with Angular4+

136 lines (135 loc) 10.2 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { ContentChildren, Directive, ElementRef, HostListener, Input, QueryList, Renderer2 } from '@angular/core'; import { EqualizerService } from '../services/index'; import { EqualizerWatcherDirective } from './equalizer-watcher.directive'; var EqualizerDirective = /** @class */ (function () { function EqualizerDirective(_elementRef, _renderer, _equalizerService) { this._elementRef = _elementRef; this._renderer = _renderer; this._equalizerService = _equalizerService; this._params = 'height'; this._watchers = new QueryList(); } Object.defineProperty(EqualizerDirective.prototype, "params", { get: /** * @return {?} */ function () { return this._params; }, set: /** * @param {?} value * @return {?} */ function (value) { this._params = value; this.equalize(); }, enumerable: true, configurable: true }); Object.defineProperty(EqualizerDirective.prototype, "elementRef", { get: /** * @return {?} */ function () { return this._elementRef; }, enumerable: true, configurable: true }); Object.defineProperty(EqualizerDirective.prototype, "id", { get: /** * @return {?} */ function () { return this._id; }, set: /** * @param {?} value * @return {?} */ function (value) { this._id = value; }, enumerable: true, configurable: true }); /** * @return {?} */ EqualizerDirective.prototype.ngAfterViewChecked = /** * @return {?} */ function () { this.equalize(); }; /** * @return {?} */ EqualizerDirective.prototype._onResize = /** * @return {?} */ function () { this.equalize(); }; /** * @return {?} */ EqualizerDirective.prototype.equalize = /** * @return {?} */ function () { var _this = this; if (!this._params) { this._params = 'height'; } var /** @type {?} */ params = Object.assign({ property: 'height', reset: true }, typeof this._params === 'string' ? { property: this._params } : this._params); var /** @type {?} */ watchers = this._watchers.filter(function (watcher) { console.log('ID matching', watcher.id, _this.id); if (watcher.id || _this.id) { return watcher.id === _this.id; } return watcher.elementRef.nativeElement !== _this._elementRef.nativeElement; }).map(function (watcher) { return watcher.elementRef; }); this._equalizerService.equalize(this._renderer, watchers, params); }; EqualizerDirective.decorators = [ { type: Directive, args: [{ selector: '[equalizer]', exportAs: 'equalizer' },] }, ]; /** @nocollapse */ EqualizerDirective.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 }, { type: EqualizerService } ]; }; EqualizerDirective.propDecorators = { _params: [{ type: Input, args: ['equalizer',] }], _id: [{ type: Input, args: ['equalizerId',] }], _watchers: [{ type: ContentChildren, args: [EqualizerWatcherDirective, { read: EqualizerWatcherDirective },] }], _onResize: [{ type: HostListener, args: ['window:resize',] }] }; return EqualizerDirective; }()); export { EqualizerDirective }; function EqualizerDirective_tsickle_Closure_declarations() { /** @type {?} */ EqualizerDirective.prototype._params; /** @type {?} */ EqualizerDirective.prototype._id; /** @type {?} */ EqualizerDirective.prototype._watchers; /** @type {?} */ EqualizerDirective.prototype._elementRef; /** @type {?} */ EqualizerDirective.prototype._renderer; /** @type {?} */ EqualizerDirective.prototype._equalizerService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWxpemVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0ByYXBoeS9uZ3gtZXF1YWxpemVyLyIsInNvdXJjZXMiOlsibGliL2RpcmVjdGl2ZXMvZXF1YWxpemVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFvQixlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHcEksT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O0lBdUN0RSw0QkFDWSxhQUNBLFdBQ0E7UUFGQSxnQkFBVyxHQUFYLFdBQVc7UUFDWCxjQUFTLEdBQVQsU0FBUztRQUNULHNCQUFpQixHQUFqQixpQkFBaUI7dUJBakMwQixRQUFRO3lCQU1MLElBQUksU0FBUyxFQUE2QjtLQTZCbkc7SUEzQkQsc0JBQUksc0NBQU07Ozs7UUFBVjtZQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1NBQ3ZCOzs7OztRQUVELFVBQVcsS0FBSztZQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBRXJCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUNuQjs7O09BTkE7SUFRRCxzQkFBSSwwQ0FBVTs7OztRQUFkO1lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDM0I7OztPQUFBO0lBRUQsc0JBQUksa0NBQUU7Ozs7UUFBTjtZQUNJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ25COzs7OztRQUVELFVBQU8sS0FBc0I7WUFDekIsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7U0FDcEI7OztPQUpBOzs7O0lBYU0sK0NBQWtCOzs7O1FBQ3JCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQzs7Ozs7SUFJWixzQ0FBUzs7O0lBRGpCO1FBRUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ25COzs7O0lBRU0scUNBQVE7Ozs7O1FBQ1gsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQztTQUMzQjtRQUVELHFCQUFNLE1BQU0sR0FBbUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxFQUFFLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVKLHFCQUFNLFFBQVEsR0FBaUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBQyxPQUFPO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsS0FBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hELEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksS0FBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUksQ0FBQyxFQUFFLENBQUM7YUFDakM7WUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEtBQUssS0FBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7U0FDOUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFDLE9BQU8sSUFBSyxPQUFBLE9BQU8sQ0FBQyxVQUFVLEVBQWxCLENBQWtCLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUMzQixJQUFJLENBQUMsU0FBUyxFQUNkLFFBQVEsRUFDUixNQUFNLENBQ1QsQ0FBQzs7O2dCQXZFVCxTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRSxXQUFXO2lCQUN4Qjs7OztnQkFWc0QsVUFBVTtnQkFBa0MsU0FBUztnQkFHbkcsZ0JBQWdCOzs7MEJBU3BCLEtBQUssU0FBQyxXQUFXO3NCQUdqQixLQUFLLFNBQUMsYUFBYTs0QkFHbkIsZUFBZSxTQUFDLHlCQUF5QixFQUFFLEVBQUMsSUFBSSxFQUFFLHlCQUF5QixFQUFDOzRCQW9DNUUsWUFBWSxTQUFDLGVBQWU7OzZCQXREakM7O1NBV2Esa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3Q2hlY2tlZCwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIFF1ZXJ5TGlzdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEVxdWFsaXplUGFyYW1zIH0gZnJvbSAnLi4vZXF1YWxpemUtcGFyYW1zJztcbmltcG9ydCB7IEVxdWFsaXplclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9pbmRleCc7XG5pbXBvcnQgeyBFcXVhbGl6ZXJXYXRjaGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9lcXVhbGl6ZXItd2F0Y2hlci5kaXJlY3RpdmUnO1xuXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2VxdWFsaXplcl0nLFxuICAgIGV4cG9ydEFzOiAnZXF1YWxpemVyJ1xufSlcbmV4cG9ydCBjbGFzcyBFcXVhbGl6ZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdDaGVja2VkIHtcbiAgICBASW5wdXQoJ2VxdWFsaXplcicpXG4gICAgcHJpdmF0ZSBfcGFyYW1zOiAnaGVpZ2h0JyB8ICd3aWR0aCcgfCBFcXVhbGl6ZVBhcmFtcyA9ICdoZWlnaHQnO1xuXG4gICAgQElucHV0KCdlcXVhbGl6ZXJJZCcpXG4gICAgcHJpdmF0ZSBfaWQ6IHN0cmluZyB8IG51bWJlcjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXF1YWxpemVyV2F0Y2hlckRpcmVjdGl2ZSwge3JlYWQ6IEVxdWFsaXplcldhdGNoZXJEaXJlY3RpdmV9KVxuICAgIHByaXZhdGUgX3dhdGNoZXJzOiBRdWVyeUxpc3Q8RXF1YWxpemVyV2F0Y2hlckRpcmVjdGl2ZT4gPSBuZXcgUXVlcnlMaXN0PEVxdWFsaXplcldhdGNoZXJEaXJlY3RpdmU+KCk7XG5cbiAgICBnZXQgcGFyYW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fcGFyYW1zO1xuICAgIH1cblxuICAgIHNldCBwYXJhbXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5fcGFyYW1zID0gdmFsdWU7XG5cbiAgICAgICAgdGhpcy5lcXVhbGl6ZSgpO1xuICAgIH1cblxuICAgIGdldCBlbGVtZW50UmVmKCk6IEVsZW1lbnRSZWYge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICBnZXQgaWQoKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lkO1xuICAgIH1cblxuICAgIHNldCBpZCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuX2lkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX2VxdWFsaXplclNlcnZpY2U6IEVxdWFsaXplclNlcnZpY2VcbiAgICApIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmVxdWFsaXplKCk7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScpXG4gICAgcHJpdmF0ZSBfb25SZXNpemUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXF1YWxpemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXF1YWxpemUoKSB7XG4gICAgICAgIGlmICghdGhpcy5fcGFyYW1zKSB7XG4gICAgICAgICAgICB0aGlzLl9wYXJhbXMgPSAnaGVpZ2h0JztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHBhcmFtczogRXF1YWxpemVQYXJhbXMgPSBPYmplY3QuYXNzaWduKHtwcm9wZXJ0eTogJ2hlaWdodCcsIHJlc2V0OiB0cnVlfSwgdHlwZW9mIHRoaXMuX3BhcmFtcyA9PT0gJ3N0cmluZycgPyB7cHJvcGVydHk6IHRoaXMuX3BhcmFtc30gOiB0aGlzLl9wYXJhbXMpO1xuICAgICAgICBjb25zdCB3YXRjaGVyczogRWxlbWVudFJlZltdID0gdGhpcy5fd2F0Y2hlcnMuZmlsdGVyKCh3YXRjaGVyKSA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnSUQgbWF0Y2hpbmcnLCB3YXRjaGVyLmlkLCB0aGlzLmlkKTtcbiAgICAgICAgICAgIGlmICh3YXRjaGVyLmlkIHx8IHRoaXMuaWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gd2F0Y2hlci5pZCA9PT0gdGhpcy5pZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHdhdGNoZXIuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICE9PSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH0pLm1hcCgod2F0Y2hlcikgPT4gd2F0Y2hlci5lbGVtZW50UmVmKTtcblxuICAgICAgICB0aGlzLl9lcXVhbGl6ZXJTZXJ2aWNlLmVxdWFsaXplKFxuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIsXG4gICAgICAgICAgICB3YXRjaGVycyxcbiAgICAgICAgICAgIHBhcmFtc1xuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==