UNPKG

ngx-tags

Version:
78 lines 5.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, Input, ElementRef } from '@angular/core'; /* tslint:disable:directive-selector */ var InViewDirective = /** @class */ (function () { function InViewDirective(el) { this.el = el; this.dropdown = this.el.nativeElement.closest('.dropdown'); } /** * @param {?} values * @return {?} */ InViewDirective.prototype.ngOnChanges = /** * @param {?} values * @return {?} */ function (values) { if (values.InView.currentValue) { this.setInView(); } }; /** * @return {?} */ InViewDirective.prototype.setInView = /** * @return {?} */ function () { /** @type {?} */ var dropdown = this.el.nativeElement.closest('.dropdown'); /** @type {?} */ var currentPos = this.el.nativeElement.offsetTop; /** @type {?} */ var dropdownScrollPos = dropdown.scrollTop; /** @type {?} */ var dropdownHeight = dropdown.offsetHeight; /** @type {?} */ var elHeight = this.el.nativeElement.offsetHeight; if ((currentPos + elHeight) > (dropdownScrollPos + dropdownHeight)) { dropdown.scrollTop = currentPos; } else if (dropdownScrollPos > currentPos) { dropdown.scrollTop = currentPos; } }; InViewDirective.decorators = [ { type: Directive, args: [{ selector: '[InView]' },] } ]; /** @nocollapse */ InViewDirective.ctorParameters = function () { return [ { type: ElementRef } ]; }; InViewDirective.propDecorators = { InView: [{ type: Input }] }; return InViewDirective; }()); export { InViewDirective }; if (false) { /** @type {?} */ InViewDirective.prototype.InView; /** * @type {?} * @private */ InViewDirective.prototype.dropdown; /** * @type {?} * @private */ InViewDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW4tdmlldy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtdGFncy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2luLXZpZXcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBR3hFO0lBT0UseUJBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBRjFCLGFBQVEsR0FBZ0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXJDLENBQUM7Ozs7O0lBRXZDLHFDQUFXOzs7O0lBQVgsVUFBWSxNQUFNO1FBQ2hCLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7OztJQUVELG1DQUFTOzs7SUFBVDs7WUFDUSxRQUFRLEdBQWdCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUM7O1lBQ2xFLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTOztZQUM1QyxpQkFBaUIsR0FBRyxRQUFRLENBQUMsU0FBUzs7WUFDdEMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxZQUFZOztZQUN0QyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsWUFBWTtRQUNuRCxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEdBQUcsY0FBYyxDQUFDLEVBQUU7WUFDbEUsUUFBUSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7U0FDakM7YUFBTSxJQUFJLGlCQUFpQixHQUFHLFVBQVUsRUFBRTtZQUN6QyxRQUFRLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQztTQUNqQztJQUNILENBQUM7O2dCQTFCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCOzs7O2dCQUwwQixVQUFVOzs7eUJBT2xDLEtBQUs7O0lBdUJSLHNCQUFDO0NBQUEsQUEzQkQsSUEyQkM7U0F4QlksZUFBZTs7O0lBQzFCLGlDQUFnQjs7Ozs7SUFDaEIsbUNBQTJFOzs7OztJQUUvRCw2QkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBFbGVtZW50UmVmLCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyogdHNsaW50OmRpc2FibGU6ZGlyZWN0aXZlLXNlbGVjdG9yICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbSW5WaWV3XSdcbn0pXG5leHBvcnQgY2xhc3MgSW5WaWV3RGlyZWN0aXZlIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgSW5WaWV3O1xuICBwcml2YXRlIGRyb3Bkb3duOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcuZHJvcGRvd24nKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cblxuICBuZ09uQ2hhbmdlcyh2YWx1ZXMpIHtcbiAgICBpZiAodmFsdWVzLkluVmlldy5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMuc2V0SW5WaWV3KCk7XG4gICAgfVxuICB9XG5cbiAgc2V0SW5WaWV3KCkge1xuICAgIGNvbnN0IGRyb3Bkb3duOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbG9zZXN0KCcuZHJvcGRvd24nKTtcbiAgICBjb25zdCBjdXJyZW50UG9zID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFRvcDtcbiAgICBjb25zdCBkcm9wZG93blNjcm9sbFBvcyA9IGRyb3Bkb3duLnNjcm9sbFRvcDtcbiAgICBjb25zdCBkcm9wZG93bkhlaWdodCA9IGRyb3Bkb3duLm9mZnNldEhlaWdodDtcbiAgICBjb25zdCBlbEhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgaWYgKChjdXJyZW50UG9zICsgZWxIZWlnaHQpID4gKGRyb3Bkb3duU2Nyb2xsUG9zICsgZHJvcGRvd25IZWlnaHQpKSB7XG4gICAgICBkcm9wZG93bi5zY3JvbGxUb3AgPSBjdXJyZW50UG9zO1xuICAgIH0gZWxzZSBpZiAoZHJvcGRvd25TY3JvbGxQb3MgPiBjdXJyZW50UG9zKSB7XG4gICAgICBkcm9wZG93bi5zY3JvbGxUb3AgPSBjdXJyZW50UG9zO1xuICAgIH1cbiAgfVxufVxuIl19