ngx-quill
Version:
An angular (>= v2) component for the easy use of the QuillJS richt text editor.
47 lines • 5.92 kB
JavaScript
import * as tslib_1 from "tslib";
import { DomSanitizer } from '@angular/platform-browser';
import { QUILL_CONFIG_TOKEN } from './quill-editor.interfaces';
import { Component, Inject, Input, ViewEncapsulation } from '@angular/core';
var QuillViewHTMLComponent = /** @class */ (function () {
function QuillViewHTMLComponent(sanitizer, config) {
this.sanitizer = sanitizer;
this.config = config;
this.innerHTML = '';
this.themeClass = 'ql-snow';
this.content = '';
}
QuillViewHTMLComponent.prototype.ngOnChanges = function (changes) {
if (changes.theme) {
var theme = changes.theme.currentValue || (this.config.theme ? this.config.theme : 'snow');
this.themeClass = "ql-" + theme + " ngx-quill-view-html";
}
else if (!this.theme) {
var theme = this.config.theme ? this.config.theme : 'snow';
this.themeClass = "ql-" + theme + " ngx-quill-view-html";
}
if (changes.content) {
this.innerHTML = this.sanitizer.bypassSecurityTrustHtml(changes.content.currentValue);
}
};
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String)
], QuillViewHTMLComponent.prototype, "content", void 0);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String)
], QuillViewHTMLComponent.prototype, "theme", void 0);
QuillViewHTMLComponent = tslib_1.__decorate([
Component({
encapsulation: ViewEncapsulation.None,
selector: 'quill-view-html',
template: "\n <div class=\"ql-container\" [ngClass]=\"themeClass\">\n <div class=\"ql-editor\" [innerHTML]=\"innerHTML\">\n </div>\n </div>\n",
styles: ["\n.ql-container.ngx-quill-view-html {\n border: 0;\n}\n"]
}),
tslib_1.__param(1, Inject(QUILL_CONFIG_TOKEN)),
tslib_1.__metadata("design:paramtypes", [DomSanitizer, Object])
], QuillViewHTMLComponent);
return QuillViewHTMLComponent;
}());
export { QuillViewHTMLComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVpbGwtdmlldy1odG1sLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1xdWlsbC8iLCJzb3VyY2VzIjpbInNyYy9xdWlsbC12aWV3LWh0bWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFZLE1BQU0sMkJBQTJCLENBQUE7QUFFbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFlLE1BQU0sMkJBQTJCLENBQUE7QUFFM0UsT0FBTyxFQUNMLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUdMLGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQTtBQWlCdEI7SUFPRSxnQ0FDVSxTQUF1QixFQUNLLE1BQW1CO1FBRC9DLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFDSyxXQUFNLEdBQU4sTUFBTSxDQUFhO1FBUnpELGNBQVMsR0FBYSxFQUFFLENBQUE7UUFDeEIsZUFBVSxHQUFXLFNBQVMsQ0FBQTtRQUVyQixZQUFPLEdBQVcsRUFBRSxDQUFBO0lBTTFCLENBQUM7SUFFSiw0Q0FBVyxHQUFYLFVBQVksT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUM1RixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQU0sS0FBSyx5QkFBc0IsQ0FBQTtTQUNwRDthQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3RCLElBQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBO1lBQzVELElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBTSxLQUFLLHlCQUFzQixDQUFBO1NBQ3BEO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO1NBQ3RGO0lBQ0gsQ0FBQztJQW5CUTtRQUFSLEtBQUssRUFBRTs7MkRBQXFCO0lBQ3BCO1FBQVIsS0FBSyxFQUFFOzt5REFBZTtJQUxaLHNCQUFzQjtRQWZsQyxTQUFTLENBQUM7WUFDVCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtZQUNyQyxRQUFRLEVBQUUsaUJBQWlCO1lBTTNCLFFBQVEsRUFBRSw0SUFLWDtxQkFWVSwwREFJVjtTQU9BLENBQUM7UUFVRyxtQkFBQSxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtpREFEUixZQUFZO09BUnRCLHNCQUFzQixDQXdCbEM7SUFBRCw2QkFBQztDQUFBLEFBeEJELElBd0JDO1NBeEJZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJ1xuXG5pbXBvcnQgeyBRVUlMTF9DT05GSUdfVE9LRU4sIFF1aWxsQ29uZmlnIH0gZnJvbSAnLi9xdWlsbC1lZGl0b3IuaW50ZXJmYWNlcydcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzZWxlY3RvcjogJ3F1aWxsLXZpZXctaHRtbCcsXG4gIHN0eWxlczogW2Bcbi5xbC1jb250YWluZXIubmd4LXF1aWxsLXZpZXctaHRtbCB7XG4gIGJvcmRlcjogMDtcbn1cbmBdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwicWwtY29udGFpbmVyXCIgW25nQ2xhc3NdPVwidGhlbWVDbGFzc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJxbC1lZGl0b3JcIiBbaW5uZXJIVE1MXT1cImlubmVySFRNTFwiPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbmBcbn0pXG5leHBvcnQgY2xhc3MgUXVpbGxWaWV3SFRNTENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gIGlubmVySFRNTDogU2FmZUh0bWwgPSAnJ1xuICB0aGVtZUNsYXNzOiBzdHJpbmcgPSAncWwtc25vdydcblxuICBASW5wdXQoKSBjb250ZW50OiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSB0aGVtZT86IHN0cmluZ1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIsXG4gICAgQEluamVjdChRVUlMTF9DT05GSUdfVE9LRU4pIHByaXZhdGUgY29uZmlnOiBRdWlsbENvbmZpZ1xuICApIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChjaGFuZ2VzLnRoZW1lKSB7XG4gICAgICBjb25zdCB0aGVtZSA9IGNoYW5nZXMudGhlbWUuY3VycmVudFZhbHVlIHx8ICh0aGlzLmNvbmZpZy50aGVtZSA/IHRoaXMuY29uZmlnLnRoZW1lIDogJ3Nub3cnKVxuICAgICAgdGhpcy50aGVtZUNsYXNzID0gYHFsLSR7dGhlbWV9IG5neC1xdWlsbC12aWV3LWh0bWxgXG4gICAgfSBlbHNlIGlmICghdGhpcy50aGVtZSkge1xuICAgICAgY29uc3QgdGhlbWUgPSB0aGlzLmNvbmZpZy50aGVtZSA/IHRoaXMuY29uZmlnLnRoZW1lIDogJ3Nub3cnXG4gICAgICB0aGlzLnRoZW1lQ2xhc3MgPSBgcWwtJHt0aGVtZX0gbmd4LXF1aWxsLXZpZXctaHRtbGBcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuY29udGVudCkge1xuICAgICAgdGhpcy5pbm5lckhUTUwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChjaGFuZ2VzLmNvbnRlbnQuY3VycmVudFZhbHVlKVxuICAgIH1cbiAgfVxufVxuIl19