UNPKG

ngx-quill

Version:

Angular components for the easy use of the QuillJS richt text editor.

58 lines 7.87 kB
import { DomSanitizer } from '@angular/platform-browser'; import { Component, Inject, Input, ViewEncapsulation } from '@angular/core'; import { CommonModule } from '@angular/common'; import * as i0 from "@angular/core"; import * as i1 from "./quill.service"; import * as i2 from "@angular/common"; import * as i3 from "@angular/platform-browser"; class QuillViewHTMLComponent { constructor(sanitizer, service) { this.sanitizer = sanitizer; this.service = service; this.content = ''; this.innerHTML = ''; this.themeClass = 'ql-snow'; } ngOnChanges(changes) { if (changes.theme) { const theme = changes.theme.currentValue || (this.service.config.theme ? this.service.config.theme : 'snow'); this.themeClass = `ql-${theme} ngx-quill-view-html`; } else if (!this.theme) { const theme = this.service.config.theme ? this.service.config.theme : 'snow'; this.themeClass = `ql-${theme} ngx-quill-view-html`; } if (changes.content) { const content = changes.content.currentValue; const sanitize = [true, false].includes(this.sanitize) ? this.sanitize : (this.service.config.sanitize || false); this.innerHTML = sanitize ? content : this.sanitizer.bypassSecurityTrustHtml(content); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: QuillViewHTMLComponent, deps: [{ token: DomSanitizer }, { token: i1.QuillService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.5", type: QuillViewHTMLComponent, isStandalone: true, selector: "quill-view-html", inputs: { content: "content", theme: "theme", sanitize: "sanitize" }, usesOnChanges: true, ngImport: i0, template: ` <div class="ql-container" [ngClass]="themeClass"> <div class="ql-editor" [innerHTML]="innerHTML"> </div> </div> `, isInline: true, styles: [".ql-container.ngx-quill-view-html{border:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); } } export { QuillViewHTMLComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.5", ngImport: i0, type: QuillViewHTMLComponent, decorators: [{ type: Component, args: [{ encapsulation: ViewEncapsulation.None, selector: 'quill-view-html', template: ` <div class="ql-container" [ngClass]="themeClass"> <div class="ql-editor" [innerHTML]="innerHTML"> </div> </div> `, standalone: true, imports: [CommonModule], styles: [".ql-container.ngx-quill-view-html{border:0}\n"] }] }], ctorParameters: function () { return [{ type: i3.DomSanitizer, decorators: [{ type: Inject, args: [DomSanitizer] }] }, { type: i1.QuillService }]; }, propDecorators: { content: [{ type: Input }], theme: [{ type: Input }], sanitize: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtdmlldy1odG1sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1xdWlsbC9zcmMvbGliL3F1aWxsLXZpZXctaHRtbC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFBO0FBR2xFLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFHTCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBOzs7OztBQUU5QyxNQWlCYSxzQkFBc0I7SUFRakMsWUFDZ0MsU0FBdUIsRUFDM0MsT0FBcUI7UUFERCxjQUFTLEdBQVQsU0FBUyxDQUFjO1FBQzNDLFlBQU8sR0FBUCxPQUFPLENBQWM7UUFUeEIsWUFBTyxHQUFHLEVBQUUsQ0FBQTtRQUlyQixjQUFTLEdBQWEsRUFBRSxDQUFBO1FBQ3hCLGVBQVUsR0FBRyxTQUFTLENBQUE7SUFLbkIsQ0FBQztJQUVKLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDakIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDNUcsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEtBQUssc0JBQXNCLENBQUE7U0FDcEQ7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO1lBQzVFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxLQUFLLHNCQUFzQixDQUFBO1NBQ3BEO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFBO1lBQzVDLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQyxDQUFBO1lBRWhILElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDdEY7SUFDSCxDQUFDOzhHQTNCVSxzQkFBc0Isa0JBU3ZCLFlBQVk7a0dBVFgsc0JBQXNCLHNLQVR2Qjs7Ozs7Q0FLWCxzSEFFVyxZQUFZOztTQUVYLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQWpCbEMsU0FBUztvQ0FDTyxpQkFBaUIsQ0FBQyxJQUFJLFlBQzNCLGlCQUFpQixZQU1qQjs7Ozs7Q0FLWCxjQUNhLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzs7MEJBV3BCLE1BQU07MkJBQUMsWUFBWTt1RUFSYixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3NlcidcbmltcG9ydCB7IFF1aWxsU2VydmljZSB9IGZyb20gJy4vcXVpbGwuc2VydmljZSdcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbkBDb21wb25lbnQoe1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ3F1aWxsLXZpZXctaHRtbCcsXG4gIHN0eWxlczogW2Bcbi5xbC1jb250YWluZXIubmd4LXF1aWxsLXZpZXctaHRtbCB7XG4gIGJvcmRlcjogMDtcbn1cbmBdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwicWwtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwidGhlbWVDbGFzc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJxbC1lZGl0b3JcIiBbaW5uZXJIVE1MXT1cImlubmVySFRNTFwiPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbmAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIFF1aWxsVmlld0hUTUxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSBjb250ZW50ID0gJydcbiAgQElucHV0KCkgdGhlbWU/OiBzdHJpbmdcbiAgQElucHV0KCkgc2FuaXRpemU/OiBib29sZWFuXG5cbiAgaW5uZXJIVE1MOiBTYWZlSHRtbCA9ICcnXG4gIHRoZW1lQ2xhc3MgPSAncWwtc25vdydcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERvbVNhbml0aXplcikgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcbiAgICBwcm90ZWN0ZWQgc2VydmljZTogUXVpbGxTZXJ2aWNlXG4gICkge31cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMudGhlbWUpIHtcbiAgICAgIGNvbnN0IHRoZW1lID0gY2hhbmdlcy50aGVtZS5jdXJyZW50VmFsdWUgfHwgKHRoaXMuc2VydmljZS5jb25maWcudGhlbWUgPyB0aGlzLnNlcnZpY2UuY29uZmlnLnRoZW1lIDogJ3Nub3cnKVxuICAgICAgdGhpcy50aGVtZUNsYXNzID0gYHFsLSR7dGhlbWV9IG5neC1xdWlsbC12aWV3LWh0bWxgXG4gICAgfSBlbHNlIGlmICghdGhpcy50aGVtZSkge1xuICAgICAgY29uc3QgdGhlbWUgPSB0aGlzLnNlcnZpY2UuY29uZmlnLnRoZW1lID8gdGhpcy5zZXJ2aWNlLmNvbmZpZy50aGVtZSA6ICdzbm93J1xuICAgICAgdGhpcy50aGVtZUNsYXNzID0gYHFsLSR7dGhlbWV9IG5neC1xdWlsbC12aWV3LWh0bWxgXG4gICAgfVxuICAgIGlmIChjaGFuZ2VzLmNvbnRlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSBjaGFuZ2VzLmNvbnRlbnQuY3VycmVudFZhbHVlXG4gICAgICBjb25zdCBzYW5pdGl6ZSA9IFt0cnVlLCBmYWxzZV0uaW5jbHVkZXModGhpcy5zYW5pdGl6ZSkgPyB0aGlzLnNhbml0aXplIDogKHRoaXMuc2VydmljZS5jb25maWcuc2FuaXRpemUgfHwgZmFsc2UpXG5cbiAgICAgIHRoaXMuaW5uZXJIVE1MID0gc2FuaXRpemUgPyBjb250ZW50IDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoY29udGVudClcbiAgICB9XG4gIH1cbn1cbiJdfQ==