@js-sugar/angular
Version:
JS-Sugar core package (Angular)
31 lines • 4.9 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./code-highlight.service";
export class CodeComponent {
constructor(_service) {
this._service = _service;
}
ngOnInit() {
this.format();
}
format() {
if (this._service.isSupportedLanguage(this.language)) {
this._innerHtml = this._service.highlight(this.code, this.language);
}
else {
console.log(`code formater for language ("${this.language}") not found.`);
this._innerHtml = this.code;
}
}
}
CodeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeComponent, deps: [{ token: i1.CodeHighlightService }], target: i0.ɵɵFactoryTarget.Component });
CodeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.1", type: CodeComponent, selector: "jss-code", inputs: { code: "code", language: "language" }, exportAs: ["jssCode"], ngImport: i0, template: "<pre>\r\n <code [innerHtml]=\"_innerHtml\" class=\"language-{{language}}\"></code>\r\n</pre>", styles: [":host{display:block}pre{margin:0;padding:0;white-space:nowrap}code{margin:0;padding:0;text-indent:0px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.1", ngImport: i0, type: CodeComponent, decorators: [{
type: Component,
args: [{ selector: 'jss-code', exportAs: 'jssCode', changeDetection: ChangeDetectionStrategy.OnPush, template: "<pre>\r\n <code [innerHtml]=\"_innerHtml\" class=\"language-{{language}}\"></code>\r\n</pre>", styles: [":host{display:block}pre{margin:0;padding:0;white-space:nowrap}code{margin:0;padding:0;text-indent:0px}\n"] }]
}], ctorParameters: function () { return [{ type: i1.CodeHighlightService }]; }, propDecorators: { code: [{
type: Input
}], language: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL2NvbXBvbmVudHMvY29kZS9zcmMvbGliL2NvZGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9jb21wb25lbnRzL2NvZGUvc3JjL2xpYi9jb2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBa0UsTUFBTSxlQUFlLENBQUM7OztBQVVySyxNQUFNLE9BQU8sYUFBYTtJQUt4QixZQUFvQixRQUE4QjtRQUE5QixhQUFRLEdBQVIsUUFBUSxDQUFzQjtJQUFJLENBQUM7SUFFdkQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBRU0sTUFBTTtRQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDcEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUNyRTthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsSUFBSSxDQUFDLFFBQVEsZUFBZSxDQUFDLENBQUM7WUFDMUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7MEdBbEJVLGFBQWE7OEZBQWIsYUFBYSx1SENWMUIsK0ZBRU07MkZEUU8sYUFBYTtrQkFQekIsU0FBUzsrQkFDRSxVQUFVLFlBQ1YsU0FBUyxtQkFHRix1QkFBdUIsQ0FBQyxNQUFNOzJHQUd0QyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb2RlSGlnaGxpZ2h0U2VydmljZSB9IGZyb20gJy4vY29kZS1oaWdobGlnaHQuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2pzcy1jb2RlJyxcclxuICBleHBvcnRBczogJ2pzc0NvZGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb2RlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBjb2RlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhbmd1YWdlITogc3RyaW5nO1xyXG4gIF9pbm5lckh0bWw/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3NlcnZpY2U6IENvZGVIaWdobGlnaHRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1hdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZvcm1hdCgpIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2aWNlLmlzU3VwcG9ydGVkTGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSkpIHtcclxuICAgICAgdGhpcy5faW5uZXJIdG1sID0gdGhpcy5fc2VydmljZS5oaWdobGlnaHQodGhpcy5jb2RlLCB0aGlzLmxhbmd1YWdlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGBjb2RlIGZvcm1hdGVyIGZvciBsYW5ndWFnZSAoXCIke3RoaXMubGFuZ3VhZ2V9XCIpIG5vdCBmb3VuZC5gKTtcclxuICAgICAgdGhpcy5faW5uZXJIdG1sID0gdGhpcy5jb2RlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8cHJlPlxyXG4gIDxjb2RlIFtpbm5lckh0bWxdPVwiX2lubmVySHRtbFwiIGNsYXNzPVwibGFuZ3VhZ2Ute3tsYW5ndWFnZX19XCI+PC9jb2RlPlxyXG48L3ByZT4iXX0=