@hxui/angular
Version:
* * *
59 lines • 4.74 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc
*/
import { Injectable, ElementRef } from '@angular/core';
import { positionElements } from './ng-positioning';
var PositioningService = /** @class */ (function () {
function PositioningService() {
}
/**
* @param {?} options
* @return {?}
*/
PositioningService.prototype.position = /**
* @param {?} options
* @return {?}
*/
function (options) {
var element = options.element, target = options.target, attachment = options.attachment, appendToBody = options.appendToBody;
positionElements(this._getHtmlElement(target), this._getHtmlElement(element), (/** @type {?} */ (attachment)), appendToBody);
};
/**
* @param {?} element
* @return {?}
*/
PositioningService.prototype.isElementBelowTheFold = /**
* @param {?} element
* @return {?}
*/
function (element) {
/** @type {?} */
var rect = element.getBoundingClientRect();
return ((rect.top + rect.height) > document.body.clientHeight);
};
/**
* @param {?} element
* @return {?}
*/
PositioningService.prototype._getHtmlElement = /**
* @param {?} element
* @return {?}
*/
function (element) {
// it means that we got a selector
if (typeof element === 'string') {
return (/** @type {?} */ (document.querySelector(element)));
}
if (element instanceof ElementRef) {
return element.nativeElement;
}
return (/** @type {?} */ (element));
};
PositioningService.decorators = [
{ type: Injectable },
];
return PositioningService;
}());
export { PositioningService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb25pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcG9zaXRpb25pbmcvcG9zaXRpb25pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJcEQ7SUFBQTtJQTRCQSxDQUFDOzs7OztJQTFCUSxxQ0FBUTs7OztJQUFmLFVBQWdCLE9BQTJCO1FBQ2xDLElBQUEseUJBQU8sRUFBRSx1QkFBTSxFQUFFLCtCQUFVLEVBQUUsbUNBQVk7UUFDaEQsZ0JBQWdCLENBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFDN0IsbUJBQUssVUFBVSxFQUFBLEVBQ2YsWUFBWSxDQUFDLENBQUM7SUFDbEIsQ0FBQzs7Ozs7SUFFTSxrREFBcUI7Ozs7SUFBNUIsVUFBNkIsT0FBb0I7O1lBQ3pDLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUU7UUFDNUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBRTtJQUNsRSxDQUFDOzs7OztJQUVPLDRDQUFlOzs7O0lBQXZCLFVBQXdCLE9BQVk7UUFDbEMsa0NBQWtDO1FBQ2xDLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQy9CLE9BQU8sbUJBQUEsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBZSxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxPQUFPLFlBQVksVUFBVSxFQUFFO1lBQ2pDLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQztTQUM5QjtRQUVELE9BQU8sbUJBQUEsT0FBTyxFQUFlLENBQUM7SUFDaEMsQ0FBQzs7Z0JBM0JGLFVBQVU7O0lBNEJYLHlCQUFDO0NBQUEsQUE1QkQsSUE0QkM7U0EzQlksa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBwb3NpdGlvbkVsZW1lbnRzIH0gZnJvbSAnLi9uZy1wb3NpdGlvbmluZyc7XHJcbmltcG9ydCB7UG9zaXRpb25pbmdPcHRpb25zfSBmcm9tICcuL3Bvc2l0aW9uaW5nLm9wdGlvbnMnO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uaW5nU2VydmljZSB7XHJcbiAgcHVibGljIHBvc2l0aW9uKG9wdGlvbnM6IFBvc2l0aW9uaW5nT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgY29uc3Qge2VsZW1lbnQsIHRhcmdldCwgYXR0YWNobWVudCwgYXBwZW5kVG9Cb2R5fSA9IG9wdGlvbnM7XHJcbiAgICBwb3NpdGlvbkVsZW1lbnRzKFxyXG4gICAgICB0aGlzLl9nZXRIdG1sRWxlbWVudCh0YXJnZXQpLFxyXG4gICAgICB0aGlzLl9nZXRIdG1sRWxlbWVudChlbGVtZW50KSxcclxuICAgICAgPGFueT5hdHRhY2htZW50LFxyXG4gICAgICBhcHBlbmRUb0JvZHkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRWxlbWVudEJlbG93VGhlRm9sZChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICByZXR1cm4gKChyZWN0LnRvcCArIHJlY3QuaGVpZ2h0KSA+IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0KSA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9nZXRIdG1sRWxlbWVudChlbGVtZW50OiBhbnkpOiBIVE1MRWxlbWVudCB7XHJcbiAgICAvLyBpdCBtZWFucyB0aGF0IHdlIGdvdCBhIHNlbGVjdG9yXHJcbiAgICBpZiAodHlwZW9mIGVsZW1lbnQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGVsZW1lbnQpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChlbGVtZW50IGluc3RhbmNlb2YgRWxlbWVudFJlZikge1xyXG4gICAgICByZXR1cm4gZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlbGVtZW50IGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxufVxyXG4iXX0=