UNPKG

ng-cw-v12

Version:

Angular UI Component Library

49 lines 5.76 kB
import { __awaiter } from "tslib"; import { Component, Input } from '@angular/core'; import * as i0 from "@angular/core"; export class TxtViewerComponent { constructor(eleRef) { this.eleRef = eleRef; /** txt文件地址 */ this.ncUrl = ''; } ngOnChanges(changes) { if (changes['ncUrl']) { this.renderTextDocument(); } } renderTextDocument() { return __awaiter(this, void 0, void 0, function* () { try { const response = yield fetch(this.ncUrl); const text = yield response.text(); const container = this.eleRef.nativeElement.querySelector('#txt-container'); container.innerHTML = `<pre>${this.escapeHtml(text)}</pre>`; } catch (error) { console.error('加载文本文件时出错:', error); } }); } escapeHtml(unsafe) { return unsafe .replace(/&/g, "&amp;") .replace(/</g, "&lt;") .replace(/>/g, "&gt;") .replace(/"/g, "&quot;") .replace(/'/g, "&#039;"); } } TxtViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TxtViewerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); TxtViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.1.5", type: TxtViewerComponent, selector: "nc-txt-viewer", inputs: { ncUrl: "ncUrl" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"txt-container\"></div>", styles: ["#txt-container{width:100%;height:100%}\n"] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.5", ngImport: i0, type: TxtViewerComponent, decorators: [{ type: Component, args: [{ selector: 'nc-txt-viewer', templateUrl: './txt-viewer.component.html', styleUrls: ['./txt-viewer.component.less'] }] }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ncUrl: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHh0LXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3R4dC12aWV3ZXIvdHh0LXZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3R4dC12aWV3ZXIvdHh0LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDOztBQU92RixNQUFNLE9BQU8sa0JBQWtCO0lBSTdCLFlBQW9CLE1BQWtCO1FBQWxCLFdBQU0sR0FBTixNQUFNLENBQVk7UUFIdEMsY0FBYztRQUNMLFVBQUssR0FBVyxFQUFFLENBQUM7SUFFYyxDQUFDO0lBRTNDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFSyxrQkFBa0I7O1lBQ3RCLElBQUk7Z0JBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUN6QyxNQUFNLElBQUksR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQzVFLFNBQVMsQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7YUFDN0Q7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUNwQztRQUNILENBQUM7S0FBQTtJQUVPLFVBQVUsQ0FBQyxNQUFjO1FBQy9CLE9BQU8sTUFBTTthQUNWLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO2FBQ3JCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO2FBQ3JCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO2FBQ3ZCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs7K0dBOUJVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHNHQ1AvQixrQ0FBOEI7MkZET2pCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsV0FBVyxFQUFFLDZCQUE2QjtvQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDO2lHQUdVLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduYy10eHQtdmlld2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHh0LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdHh0LXZpZXdlci5jb21wb25lbnQubGVzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUeHRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG4gIC8qKiB0eHTmlofku7blnLDlnYAgKi9cclxuICBASW5wdXQoKSBuY1VybDogc3RyaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlUmVmOiBFbGVtZW50UmVmKSB7IH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXNbJ25jVXJsJ10pIHtcclxuICAgICAgdGhpcy5yZW5kZXJUZXh0RG9jdW1lbnQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFzeW5jIHJlbmRlclRleHREb2N1bWVudCgpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godGhpcy5uY1VybCk7XHJcbiAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXNwb25zZS50ZXh0KCk7XHJcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMuZWxlUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignI3R4dC1jb250YWluZXInKTtcclxuICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IGA8cHJlPiR7dGhpcy5lc2NhcGVIdG1sKHRleHQpfTwvcHJlPmA7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCfliqDovb3mlofmnKzmlofku7bml7blh7rplJk6JywgZXJyb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHVuc2FmZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB1bnNhZmVcclxuICAgICAgLnJlcGxhY2UoLyYvZywgXCImYW1wO1wiKVxyXG4gICAgICAucmVwbGFjZSgvPC9nLCBcIiZsdDtcIilcclxuICAgICAgLnJlcGxhY2UoLz4vZywgXCImZ3Q7XCIpXHJcbiAgICAgIC5yZXBsYWNlKC9cIi9nLCBcIiZxdW90O1wiKVxyXG4gICAgICAucmVwbGFjZSgvJy9nLCBcIiYjMDM5O1wiKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cInR4dC1jb250YWluZXJcIj48L2Rpdj4iXX0=