@hxui/angular
Version:
This README includes the steps that are necessary to import the HxUi-angular into a project or to contribute with development.
68 lines (67 loc) • 5 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} 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) {
var /** @type {?} */ 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 };
function PositioningService_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
PositioningService.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
PositioningService.ctorParameters;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpb25pbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoeHVpL2FuZ3VsYXIvIiwic291cmNlcyI6WyJsaWIvcG9zaXRpb25pbmcvcG9zaXRpb25pbmcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7Ozs7O0lBTTNDLHFDQUFROzs7O2NBQUMsT0FBMkI7UUFDbEMsSUFBQSx5QkFBTyxFQUFFLHVCQUFNLEVBQUUsK0JBQVUsRUFBRSxtQ0FBWSxDQUFZO1FBQzVELGdCQUFnQixDQUNkLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQzVCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLG9CQUN4QixVQUFVLEdBQ2YsWUFBWSxDQUFDLENBQUM7Ozs7OztJQUdYLGtEQUFxQjs7OztjQUFDLE9BQW9CO1FBQy9DLHFCQUFNLElBQUksR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUM3QyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUU7Ozs7OztJQUcxRCw0Q0FBZTs7OztjQUFDLE9BQVk7O1FBRWxDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDaEMsTUFBTSxtQkFBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBZ0IsRUFBQztTQUN2RDtRQUVELEVBQUUsQ0FBQyxDQUFDLE9BQU8sWUFBWSxVQUFVLENBQUMsQ0FBQyxDQUFDO1lBQ2xDLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDO1NBQzlCO1FBRUQsTUFBTSxtQkFBQyxPQUFzQixFQUFDOzs7Z0JBMUJqQyxVQUFVOzs2QkFMWDs7U0FNYSxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHBvc2l0aW9uRWxlbWVudHMgfSBmcm9tICcuL25nLXBvc2l0aW9uaW5nJztcclxuaW1wb3J0IHtQb3NpdGlvbmluZ09wdGlvbnN9IGZyb20gJy4vcG9zaXRpb25pbmcub3B0aW9ucyc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUG9zaXRpb25pbmdTZXJ2aWNlIHtcclxuICBwdWJsaWMgcG9zaXRpb24ob3B0aW9uczogUG9zaXRpb25pbmdPcHRpb25zKTogdm9pZCB7XHJcbiAgICBjb25zdCB7ZWxlbWVudCwgdGFyZ2V0LCBhdHRhY2htZW50LCBhcHBlbmRUb0JvZHl9ID0gb3B0aW9ucztcclxuICAgIHBvc2l0aW9uRWxlbWVudHMoXHJcbiAgICAgIHRoaXMuX2dldEh0bWxFbGVtZW50KHRhcmdldCksXHJcbiAgICAgIHRoaXMuX2dldEh0bWxFbGVtZW50KGVsZW1lbnQpLFxyXG4gICAgICA8YW55PmF0dGFjaG1lbnQsXHJcbiAgICAgIGFwcGVuZFRvQm9keSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNFbGVtZW50QmVsb3dUaGVGb2xkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiAoKHJlY3QudG9wICsgcmVjdC5oZWlnaHQpID4gZG9jdW1lbnQuYm9keS5jbGllbnRIZWlnaHQpIDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldEh0bWxFbGVtZW50KGVsZW1lbnQ6IGFueSk6IEhUTUxFbGVtZW50IHtcclxuICAgIC8vIGl0IG1lYW5zIHRoYXQgd2UgZ290IGEgc2VsZWN0b3JcclxuICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZWxlbWVudCkgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50UmVmKSB7XHJcbiAgICAgIHJldHVybiBlbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==