@uex/web-extensions
Version:
Uex extensions for Angular 6+ web projects
123 lines • 8.68 kB
JavaScript
/**
* @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=