primeng
Version:
[](https://opensource.org/licenses/MIT) [](https://badge.fury.io/js/primeng) [{"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common"),require("primeng/api"),require("primeng/dom"),require("@angular/forms"),require("quill")):"function"==typeof define&&define.amd?define("primeng/editor",["exports","@angular/core","@angular/common","primeng/api","primeng/dom","@angular/forms","quill"],t):t(((e=e||self).primeng=e.primeng||{},e.primeng.editor={}),e.ng.core,e.ng.common,e.primeng.api,e.primeng.dom,e.ng.forms,e.Quill)}(this,(function(e,t,n,o,i,l,r){"use strict";var a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e}).apply(this,arguments)},s=this&&this.__decorate||function(e,t,n,o){var i,l=arguments.length,r=l<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,n,o);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(r=(l<3?i(r):l>3?i(t,n,r):i(t,n))||r);return l>3&&r&&Object.defineProperty(t,n,r),r},u={provide:l.NG_VALUE_ACCESSOR,useExisting:t.forwardRef((function(){return p})),multi:!0},p=function(){function e(e){this.el=e,this.onTextChange=new t.EventEmitter,this.onSelectionChange=new t.EventEmitter,this.onInit=new t.EventEmitter,this.onModelChange=function(){},this.onModelTouched=function(){}}return e.prototype.ngAfterViewInit=function(){var e=this,t=i.DomHandler.findSingle(this.el.nativeElement,"div.ui-editor-content"),n={toolbar:i.DomHandler.findSingle(this.el.nativeElement,"div.ui-editor-toolbar")},o=this.modules?a(a({},n),this.modules):n;this.quill=new r(t,{modules:o,placeholder:this.placeholder,readOnly:this.readonly,theme:"snow",formats:this.formats,bounds:this.bounds,debug:this.debug,scrollingContainer:this.scrollingContainer}),this.value&&this.quill.pasteHTML(this.value),this.quill.on("text-change",(function(n,o,i){if("user"===i){var l=t.children[0].innerHTML,r=e.quill.getText().trim();"<p><br></p>"===l&&(l=null),e.onTextChange.emit({htmlValue:l,textValue:r,delta:n,source:i}),e.onModelChange(l),e.onModelTouched()}})),this.quill.on("selection-change",(function(t,n,o){e.onSelectionChange.emit({range:t,oldRange:n,source:o})})),this.onInit.emit({editor:this.quill})},e.prototype.writeValue=function(e){this.value=e,this.quill&&(e?this.quill.pasteHTML(e):this.quill.setText(""))},e.prototype.registerOnChange=function(e){this.onModelChange=e},e.prototype.registerOnTouched=function(e){this.onModelTouched=e},e.prototype.getQuill=function(){return this.quill},Object.defineProperty(e.prototype,"readonly",{get:function(){return this._readonly},set:function(e){this._readonly=e,this.quill&&(this._readonly?this.quill.disable():this.quill.enable())},enumerable:!0,configurable:!0}),e.ctorParameters=function(){return[{type:t.ElementRef}]},s([t.Output()],e.prototype,"onTextChange",void 0),s([t.Output()],e.prototype,"onSelectionChange",void 0),s([t.ContentChild(o.Header)],e.prototype,"toolbar",void 0),s([t.Input()],e.prototype,"style",void 0),s([t.Input()],e.prototype,"styleClass",void 0),s([t.Input()],e.prototype,"placeholder",void 0),s([t.Input()],e.prototype,"formats",void 0),s([t.Input()],e.prototype,"modules",void 0),s([t.Input()],e.prototype,"bounds",void 0),s([t.Input()],e.prototype,"scrollingContainer",void 0),s([t.Input()],e.prototype,"debug",void 0),s([t.Output()],e.prototype,"onInit",void 0),s([t.Input()],e.prototype,"readonly",null),e=s([t.Component({selector:"p-editor",template:'\n <div [ngClass]="\'ui-widget ui-editor-container ui-corner-all\'" [class]="styleClass">\n <div class="ui-editor-toolbar ui-widget-header ui-corner-top" *ngIf="toolbar">\n <ng-content select="p-header"></ng-content>\n </div>\n <div class="ui-editor-toolbar ui-widget-header ui-corner-top" *ngIf="!toolbar">\n <span class="ql-formats">\n <select class="ql-header">\n <option value="1">Heading</option>\n <option value="2">Subheading</option>\n <option selected>Normal</option>\n </select>\n <select class="ql-font">\n <option selected>Sans Serif</option>\n <option value="serif">Serif</option>\n <option value="monospace">Monospace</option>\n </select>\n </span>\n <span class="ql-formats">\n <button class="ql-bold" aria-label="Bold"></button>\n <button class="ql-italic" aria-label="Italic"></button>\n <button class="ql-underline" aria-label="Underline"></button>\n </span>\n <span class="ql-formats">\n <select class="ql-color"></select>\n <select class="ql-background"></select>\n </span>\n <span class="ql-formats">\n <button class="ql-list" value="ordered" aria-label="Ordered List"></button>\n <button class="ql-list" value="bullet" aria-label="Unordered List"></button>\n <select class="ql-align">\n <option selected></option>\n <option value="center"></option>\n <option value="right"></option>\n <option value="justify"></option>\n </select>\n </span>\n <span class="ql-formats">\n <button class="ql-link" aria-label="Insert Link"></button>\n <button class="ql-image" aria-label="Insert Image"></button>\n <button class="ql-code-block" aria-label="Insert Code Block"></button>\n </span>\n <span class="ql-formats">\n <button class="ql-clean" aria-label="Remove Styles"></button>\n </span>\n </div>\n <div class="ui-editor-content" [ngStyle]="style"></div>\n </div>\n ',providers:[u],changeDetection:t.ChangeDetectionStrategy.Default})],e)}(),c=function(){function e(){}return e=s([t.NgModule({imports:[n.CommonModule],exports:[p,o.SharedModule],declarations:[p]})],e)}();e.EDITOR_VALUE_ACCESSOR=u,e.Editor=p,e.EditorModule=c,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=primeng-editor.umd.min.js.map