@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
78 lines (77 loc) • 5.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { AsiFileService } from './../../services/asi-file.service';
import { Component, Input, Renderer, ElementRef, HostBinding } from '@angular/core';
export class AsiBindHtml {
/**
* @param {?} renderer
* @param {?} elementRef
* @param {?} fileService
*/
constructor(renderer, elementRef, fileService) {
this.renderer = renderer;
this.elementRef = elementRef;
this.fileService = fileService;
this.class = 'asi-component asi-bind-html';
}
/**
* @return {?}
*/
ngOnChanges() {
this.initContent();
}
/**
* @return {?}
*/
initContent() {
if (this.fromUrl != null) {
this.fileService.getFileAsText(this.fromUrl).subscribe((result) => {
this.value = result;
this.renderer.setElementProperty(this.elementRef.nativeElement, 'innerHTML', this.value);
});
}
else {
this.renderer.setElementProperty(this.elementRef.nativeElement, 'innerHTML', this.value);
}
}
}
AsiBindHtml.decorators = [
{ type: Component, args: [{
selector: 'asi-bind-html',
template: '<div><div>'
}] }
];
/** @nocollapse */
AsiBindHtml.ctorParameters = () => [
{ type: Renderer },
{ type: ElementRef },
{ type: AsiFileService }
];
AsiBindHtml.propDecorators = {
class: [{ type: HostBinding, args: ['class',] }],
value: [{ type: Input }],
fromUrl: [{ type: Input }]
};
if (false) {
/** @type {?} */
AsiBindHtml.prototype.class;
/**
* Bind html from string value
* @type {?}
*/
AsiBindHtml.prototype.value;
/**
* Load html from an url
* @type {?}
*/
AsiBindHtml.prototype.fromUrl;
/** @type {?} */
AsiBindHtml.prototype.renderer;
/** @type {?} */
AsiBindHtml.prototype.elementRef;
/** @type {?} */
AsiBindHtml.prototype.fileService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWJpbmQtaHRtbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYXNpLW5ndG9vbHMvbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYXNpLWJpbmQtaHRtbC9hc2ktYmluZC1odG1sLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBTS9GLE1BQU07Ozs7OztJQVVKLFlBQW9CLFFBQWtCLEVBQVUsVUFBc0IsRUFBVSxXQUEyQjtRQUF2RixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtxQkFSN0UsNkJBQTZCO0tBUzFEOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNwQjs7OztJQUVELFdBQVc7UUFDVCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNoRSxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzFGLENBQUMsQ0FBQztTQUNKO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUY7S0FDRjs7O1lBOUJGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFLFlBQVk7YUFDdkI7Ozs7WUFMMEIsUUFBUTtZQUFFLFVBQVU7WUFEdEMsY0FBYzs7O29CQVNwQixXQUFXLFNBQUMsT0FBTztvQkFHbkIsS0FBSztzQkFHTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXNpRmlsZVNlcnZpY2UgfSBmcm9tICcuLy4uLy4uL3NlcnZpY2VzL2FzaS1maWxlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBSZW5kZXJlciwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhc2ktYmluZC1odG1sJyxcclxuICB0ZW1wbGF0ZTogJzxkaXY+PGRpdj4nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNpQmluZEh0bWwgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnYXNpLWNvbXBvbmVudCBhc2ktYmluZC1odG1sJztcclxuXHJcbiAgLyoqIEJpbmQgaHRtbCBmcm9tIHN0cmluZyB2YWx1ZSAqL1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XHJcblxyXG4gIC8qKiBMb2FkIGh0bWwgZnJvbSBhbiB1cmwgKi9cclxuICBASW5wdXQoKSBmcm9tVXJsOiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyLCBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgZmlsZVNlcnZpY2U6IEFzaUZpbGVTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuaW5pdENvbnRlbnQoKTtcclxuICB9XHJcblxyXG4gIGluaXRDb250ZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZnJvbVVybCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuZmlsZVNlcnZpY2UuZ2V0RmlsZUFzVGV4dCh0aGlzLmZyb21VcmwpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy52YWx1ZSA9IHJlc3VsdDtcclxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEVsZW1lbnRQcm9wZXJ0eSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lubmVySFRNTCcsIHRoaXMudmFsdWUpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0RWxlbWVudFByb3BlcnR5KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5uZXJIVE1MJywgdGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==