@asi-ngtools/lib
Version:
This project is a little components library, simple to use, which will help you to simplify your project.
107 lines (106 loc) • 9.12 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, PLATFORM_ID, Inject } from '@angular/core';
import { AsiFileService } from './../../services/asi-file.service';
import { isPlatformBrowser } from '@angular/common';
var AsiCodeViewer = /** @class */ (function () {
function AsiCodeViewer(fileService, platformId) {
this.fileService = fileService;
this.platformId = platformId;
/**
* language of the code to be displayed
*/
this.language = 'typescript';
}
/**
* @return {?}
*/
AsiCodeViewer.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
if (isPlatformBrowser(this.platformId)) {
if (this.fromUrl != null) {
this.fileService.getFileAsText(this.fromUrl).subscribe(function (result) {
_this.value = result;
if (_this.value != null) {
_this.hightlightCode = Prism.highlight(_this.value, Prism.languages[_this.language]);
}
});
}
else if (this.value != null) {
this.hightlightCode = Prism.highlight(this.value, Prism.languages[this.language]);
}
}
};
/**
* @param {?} change
* @return {?}
*/
AsiCodeViewer.prototype.ngOnChanges = /**
* @param {?} change
* @return {?}
*/
function (change) {
var _this = this;
if (isPlatformBrowser(this.platformId)) {
if (change["value"] != null && change["value"].currentValue != null) {
this.hightlightCode = Prism.highlight(change["value"].currentValue, Prism.languages[this.language]);
}
else if (change["fromUrl"] != null) {
this.fileService.getFileAsText(change["fromUrl"].currentValue).subscribe(function (result) {
_this.value = result;
if (_this.value != null) {
_this.hightlightCode = Prism.highlight(_this.value, Prism.languages[_this.language]);
}
});
}
}
};
AsiCodeViewer.decorators = [
{ type: Component, args: [{
selector: 'asi-code-viewer',
host: { 'class': 'asi-component asi-code-viewer' },
template: "<pre [ngClass]=\"'language-' + language\" [innerHTML]=\"hightlightCode\"></pre>\n"
}] }
];
/** @nocollapse */
AsiCodeViewer.ctorParameters = function () { return [
{ type: AsiFileService },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
]; };
AsiCodeViewer.propDecorators = {
language: [{ type: Input }],
fromUrl: [{ type: Input }],
value: [{ type: Input }]
};
return AsiCodeViewer;
}());
export { AsiCodeViewer };
if (false) {
/**
* language of the code to be displayed
* @type {?}
*/
AsiCodeViewer.prototype.language;
/**
* load code from url
* @type {?}
*/
AsiCodeViewer.prototype.fromUrl;
/**
* code from string value
* @type {?}
*/
AsiCodeViewer.prototype.value;
/** @type {?} */
AsiCodeViewer.prototype.hightlightCode;
/** @type {?} */
AsiCodeViewer.prototype.fileService;
/** @type {?} */
AsiCodeViewer.prototype.platformId;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWNvZGUtdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9hc2ktY29kZS12aWV3ZXIvYXNpLWNvZGUtdmlld2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWdCLFdBQVcsRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7SUFvQmxELHVCQUFvQixXQUEyQixFQUErQixVQUFlO1FBQXpFLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFLOzs7O3dCQVJ6RSxZQUFZO0tBUWtFOzs7O0lBRWxHLGdDQUFROzs7SUFBUjtRQUFBLGlCQWFDO1FBWkMsRUFBRSxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2QyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBQyxNQUFNO29CQUM1RCxLQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztvQkFDcEIsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN2QixLQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO3FCQUNuRjtpQkFDRixDQUFDLENBQUM7YUFDSjtZQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDbkY7U0FDRjtLQUNGOzs7OztJQUVELG1DQUFXOzs7O0lBQVgsVUFBWSxNQUE0QztRQUF4RCxpQkFhQztRQVpDLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsRUFBRSxDQUFDLENBQUMsTUFBTSxhQUFVLElBQUksSUFBSSxNQUFNLFVBQU8sWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLFVBQU8sWUFBWSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDbEc7WUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxlQUFZLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE1BQU0sWUFBUyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBQyxNQUFNO29CQUMzRSxLQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQztvQkFDcEIsRUFBRSxDQUFDLENBQUMsS0FBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUN2QixLQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO3FCQUNuRjtpQkFDRixDQUFDLENBQUM7YUFDSjtTQUNGO0tBQ0Y7O2dCQTlDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLCtCQUErQixFQUFFO29CQUNsRCw2RkFBK0M7aUJBQ2hEOzs7O2dCQVRRLGNBQWM7Z0RBcUI2QixNQUFNLFNBQUMsV0FBVzs7OzJCQVJuRSxLQUFLOzBCQUVMLEtBQUs7d0JBRUwsS0FBSzs7d0JBbEJSOztTQVdhLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTaW1wbGVDaGFuZ2UsIFBMQVRGT1JNX0lELCBJbmplY3QsIE9uSW5pdCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFzaUZpbGVTZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi9zZXJ2aWNlcy9hc2ktZmlsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuZGVjbGFyZSBjb25zdCBQcmlzbTogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhc2ktY29kZS12aWV3ZXInLFxyXG4gIGhvc3Q6IHsgJ2NsYXNzJzogJ2FzaS1jb21wb25lbnQgYXNpLWNvZGUtdmlld2VyJyB9LFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hc2ktY29kZS12aWV3ZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc2lDb2RlVmlld2VyIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cclxuICAvKiogbGFuZ3VhZ2Ugb2YgdGhlIGNvZGUgdG8gYmUgZGlzcGxheWVkICovXHJcbiAgQElucHV0KCkgbGFuZ3VhZ2UgPSAndHlwZXNjcmlwdCc7XHJcbiAgLyoqIGxvYWQgY29kZSBmcm9tIHVybCAqL1xyXG4gIEBJbnB1dCgpIGZyb21Vcmw6IHN0cmluZztcclxuICAvKiogY29kZSBmcm9tIHN0cmluZyB2YWx1ZSAqL1xyXG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmc7XHJcblxyXG4gIGhpZ2h0bGlnaHRDb2RlOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmlsZVNlcnZpY2U6IEFzaUZpbGVTZXJ2aWNlLCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgaWYgKHRoaXMuZnJvbVVybCAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5maWxlU2VydmljZS5nZXRGaWxlQXNUZXh0KHRoaXMuZnJvbVVybCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICAgIHRoaXMudmFsdWUgPSByZXN1bHQ7XHJcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlnaHRsaWdodENvZGUgPSBQcmlzbS5oaWdobGlnaHQodGhpcy52YWx1ZSwgUHJpc20ubGFuZ3VhZ2VzW3RoaXMubGFuZ3VhZ2VdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmhpZ2h0bGlnaHRDb2RlID0gUHJpc20uaGlnaGxpZ2h0KHRoaXMudmFsdWUsIFByaXNtLmxhbmd1YWdlc1t0aGlzLmxhbmd1YWdlXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZTogeyBbcHJvcE5hbWU6IHN0cmluZ106IFNpbXBsZUNoYW5nZSB9KSB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICBpZiAoY2hhbmdlLnZhbHVlICE9IG51bGwgJiYgY2hhbmdlLnZhbHVlLmN1cnJlbnRWYWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5oaWdodGxpZ2h0Q29kZSA9IFByaXNtLmhpZ2hsaWdodChjaGFuZ2UudmFsdWUuY3VycmVudFZhbHVlLCBQcmlzbS5sYW5ndWFnZXNbdGhpcy5sYW5ndWFnZV0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGNoYW5nZS5mcm9tVXJsICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLmZpbGVTZXJ2aWNlLmdldEZpbGVBc1RleHQoY2hhbmdlLmZyb21VcmwuY3VycmVudFZhbHVlKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy52YWx1ZSA9IHJlc3VsdDtcclxuICAgICAgICAgIGlmICh0aGlzLnZhbHVlICE9IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5oaWdodGxpZ2h0Q29kZSA9IFByaXNtLmhpZ2hsaWdodCh0aGlzLnZhbHVlLCBQcmlzbS5sYW5ndWFnZXNbdGhpcy5sYW5ndWFnZV0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==