UNPKG

@uex/web-extensions

Version:

Uex extensions for Angular 6+ web projects

123 lines 8.68 kB
/** * @fileoverview added by tsickle * Generated from: lib/modules/image/image.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, ElementRef } from "@angular/core"; import { DomSanitizer } from "@angular/platform-browser"; export class ImageComponent { /** * @param {?} _domSanitizer * @param {?} elementRef */ constructor(_domSanitizer, elementRef) { this._domSanitizer = _domSanitizer; this.elementRef = elementRef; this.src = null; this.formatted_src = null; this.width = null; this.height = null; } /** * @private * @param {?} newValue * @return {?} */ set _src(newValue) { this.src = newValue ? this._domSanitizer.bypassSecurityTrustResourceUrl(newValue) : null; this.formatted_src = this.src ? `url(${newValue})` : null; } /** * @private * @param {?} newValue * @return {?} */ set _width(newValue) { this.width = this._checkUnit(newValue); } /** * @private * @param {?} newValue * @return {?} */ set _height(newValue) { this.height = this._checkUnit(newValue); } /** * @private * @param {?} newValue * @return {?} */ set size(newValue) { this.width = this._checkUnit(newValue); this.height = this._checkUnit(newValue); } /** * @return {?} */ get offsetTop() { return this.elementRef.nativeElement.offsetTop; } /** * @private * @param {?} value * @return {?} */ _checkUnit(value) { if (typeof value === "number") { return `${value}px`; } /** @type {?} */ const hasPx = value.indexOf("px") >= 0; /** @type {?} */ const hasRem = value.indexOf("rem") >= 0; /** @type {?} */ const hasPercent = value.indexOf("%") >= 0; if (hasPx || hasRem || hasPercent) return value; return `${value}px`; } } ImageComponent.decorators = [ { type: Component, args: [{ selector: "uex-image", template: "<img hidden [src]=\"src\" />\r\n<span hidden>{{formatted_src}}</span>\r\n", host: { class: "uex-image", "[style.background-image]": "formatted_src", "[style.width]": "width", "[style.height]": "height" } }] } ]; /** @nocollapse */ ImageComponent.ctorParameters = () => [ { type: DomSanitizer }, { type: ElementRef } ]; ImageComponent.propDecorators = { _src: [{ type: Input, args: ["src",] }], _width: [{ type: Input, args: ["width",] }], _height: [{ type: Input, args: ["height",] }], size: [{ type: Input, args: ["size",] }] }; if (false) { /** @type {?} */ ImageComponent.prototype.src; /** @type {?} */ ImageComponent.prototype.formatted_src; /** @type {?} */ ImageComponent.prototype.width; /** @type {?} */ ImageComponent.prototype.height; /** * @type {?} * @private */ ImageComponent.prototype._domSanitizer; /** @type {?} */ ImageComponent.prototype.elementRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHVleC93ZWItZXh0ZW5zaW9ucy8iLCJzb3VyY2VzIjpbImxpYi9tb2R1bGVzL2ltYWdlL2ltYWdlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7QUFZbEUsTUFBTSxPQUFPLGNBQWM7Ozs7O0lBa0J6QixZQUNVLGFBQTJCLEVBQzVCLFVBQXNCO1FBRHJCLGtCQUFhLEdBQWIsYUFBYSxDQUFjO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFHeEIsUUFBRyxHQUFZLElBQUksQ0FBQztRQUNwQixrQkFBYSxHQUFXLElBQUksQ0FBQztRQUM3QixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLFdBQU0sR0FBVyxJQUFJLENBQUM7SUFMMUIsQ0FBQzs7Ozs7O0lBcEJKLElBQTBCLElBQUksQ0FBQyxRQUFnQjtRQUM3QyxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVE7WUFDakIsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsOEJBQThCLENBQUMsUUFBUSxDQUFDO1lBQzdELENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDVCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUM1RCxDQUFDOzs7Ozs7SUFDRCxJQUE0QixNQUFNLENBQUMsUUFBeUI7UUFDMUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Ozs7OztJQUNELElBQTZCLE9BQU8sQ0FBQyxRQUF5QjtRQUM1RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7Ozs7O0lBQ0QsSUFBMkIsSUFBSSxDQUFDLFFBQXlCO1FBQ3ZELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OztJQVlELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7SUFFTyxVQUFVLENBQUMsS0FBc0I7UUFDdkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFDN0IsT0FBTyxHQUFHLEtBQUssSUFBSSxDQUFDO1NBQ3JCOztjQUVLLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7O2NBQ2hDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7O2NBQ2xDLFVBQVUsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFFMUMsSUFBSSxLQUFLLElBQUksTUFBTSxJQUFJLFVBQVU7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUVoRCxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUM7SUFDdEIsQ0FBQzs7O1lBdERGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIscUZBQXFDO2dCQUNyQyxJQUFJLEVBQUU7b0JBQ0osS0FBSyxFQUFFLFdBQVc7b0JBQ2xCLDBCQUEwQixFQUFFLGVBQWU7b0JBQzNDLGVBQWUsRUFBRSxPQUFPO29CQUN4QixnQkFBZ0IsRUFBRSxRQUFRO2lCQUMzQjthQUNGOzs7O1lBWFEsWUFBWTtZQURNLFVBQVU7OzttQkFjbEMsS0FBSyxTQUFDLEtBQUs7cUJBTVgsS0FBSyxTQUFDLE9BQU87c0JBR2IsS0FBSyxTQUFDLFFBQVE7bUJBR2QsS0FBSyxTQUFDLE1BQU07Ozs7SUFVYiw2QkFBMkI7O0lBQzNCLHVDQUFvQzs7SUFDcEMsK0JBQTRCOztJQUM1QixnQ0FBNkI7Ozs7O0lBUDNCLHVDQUFtQzs7SUFDbkMsb0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgRWxlbWVudFJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJ1ZXgtaW1hZ2VcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2ltYWdlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6IFwidWV4LWltYWdlXCIsXHJcbiAgICBcIltzdHlsZS5iYWNrZ3JvdW5kLWltYWdlXVwiOiBcImZvcm1hdHRlZF9zcmNcIixcclxuICAgIFwiW3N0eWxlLndpZHRoXVwiOiBcIndpZHRoXCIsXHJcbiAgICBcIltzdHlsZS5oZWlnaHRdXCI6IFwiaGVpZ2h0XCJcclxuICB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbWFnZUNvbXBvbmVudCB7XHJcbiAgQElucHV0KFwic3JjXCIpIHByaXZhdGUgc2V0IF9zcmMobmV3VmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5zcmMgPSBuZXdWYWx1ZVxyXG4gICAgICA/IHRoaXMuX2RvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0UmVzb3VyY2VVcmwobmV3VmFsdWUpXHJcbiAgICAgIDogbnVsbDtcclxuICAgIHRoaXMuZm9ybWF0dGVkX3NyYyA9IHRoaXMuc3JjID8gYHVybCgke25ld1ZhbHVlfSlgIDogbnVsbDtcclxuICB9XHJcbiAgQElucHV0KFwid2lkdGhcIikgcHJpdmF0ZSBzZXQgX3dpZHRoKG5ld1ZhbHVlOiBudW1iZXIgfCBzdHJpbmcpIHtcclxuICAgIHRoaXMud2lkdGggPSB0aGlzLl9jaGVja1VuaXQobmV3VmFsdWUpO1xyXG4gIH1cclxuICBASW5wdXQoXCJoZWlnaHRcIikgcHJpdmF0ZSBzZXQgX2hlaWdodChuZXdWYWx1ZTogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLmhlaWdodCA9IHRoaXMuX2NoZWNrVW5pdChuZXdWYWx1ZSk7XHJcbiAgfVxyXG4gIEBJbnB1dChcInNpemVcIikgcHJpdmF0ZSBzZXQgc2l6ZShuZXdWYWx1ZTogbnVtYmVyIHwgc3RyaW5nKSB7XHJcbiAgICB0aGlzLndpZHRoID0gdGhpcy5fY2hlY2tVbml0KG5ld1ZhbHVlKTtcclxuICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy5fY2hlY2tVbml0KG5ld1ZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge31cclxuXHJcbiAgcHVibGljIHNyYzogU2FmZVVybCA9IG51bGw7XHJcbiAgcHVibGljIGZvcm1hdHRlZF9zcmM6IHN0cmluZyA9IG51bGw7XHJcbiAgcHVibGljIHdpZHRoOiBzdHJpbmcgPSBudWxsO1xyXG4gIHB1YmxpYyBoZWlnaHQ6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIHB1YmxpYyBnZXQgb2Zmc2V0VG9wKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2hlY2tVbml0KHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikge1xyXG4gICAgICByZXR1cm4gYCR7dmFsdWV9cHhgO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGhhc1B4ID0gdmFsdWUuaW5kZXhPZihcInB4XCIpID49IDA7XHJcbiAgICBjb25zdCBoYXNSZW0gPSB2YWx1ZS5pbmRleE9mKFwicmVtXCIpID49IDA7XHJcbiAgICBjb25zdCBoYXNQZXJjZW50ID0gdmFsdWUuaW5kZXhPZihcIiVcIikgPj0gMDtcclxuXHJcbiAgICBpZiAoaGFzUHggfHwgaGFzUmVtIHx8IGhhc1BlcmNlbnQpIHJldHVybiB2YWx1ZTtcclxuXHJcbiAgICByZXR1cm4gYCR7dmFsdWV9cHhgO1xyXG4gIH1cclxufVxyXG4iXX0=