UNPKG

10.4 kBSource Map (JSON)View Raw
1{"version":3,"sources":["ng://primeng/editor/editor.ts"],"names":["EDITOR_VALUE_ACCESSOR","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","Editor","multi","el","this","onTextChange","EventEmitter","onSelectionChange","onInit","onModelChange","onModelTouched","prototype","ngAfterViewInit","_this","editorElement","DomHandler","findSingle","nativeElement","defaultModule","toolbar","modules","__assign","quill","Quill","placeholder","readOnly","readonly","theme","formats","bounds","debug","scrollingContainer","value","pasteHTML","on","delta","oldContents","source","html","children","innerHTML","text","getText","trim","emit","htmlValue","textValue","range","oldRange","editor","writeValue","setText","registerOnChange","fn","registerOnTouched","getQuill","Object","defineProperty","_readonly","val","disable","enable","ElementRef","__decorate","Output","ContentChild","Header","Input","Component","selector","template","providers","changeDetection","ChangeDetectionStrategy","Default","EditorModule","NgModule","imports","CommonModule","exports","SharedModule","declarations"],"mappings":"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","sourcesContent":["import {NgModule,Component,ElementRef,AfterViewInit,Input,Output,EventEmitter,ContentChild,forwardRef,ChangeDetectionStrategy} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule,Header} from 'primeng/api'\nimport {DomHandler} from 'primeng/dom';\nimport {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';\nimport * as Quill from \"quill\";\n\nexport const EDITOR_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => Editor),\n multi: true\n};\n\n@Component({\n selector: 'p-editor',\n 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 `,\n providers: [EDITOR_VALUE_ACCESSOR],\n changeDetection: ChangeDetectionStrategy.Default\n})\nexport class Editor implements AfterViewInit,ControlValueAccessor {\n \n @Output() onTextChange: EventEmitter<any> = new EventEmitter();\n \n @Output() onSelectionChange: EventEmitter<any> = new EventEmitter();\n \n @ContentChild(Header) toolbar;\n \n @Input() style: any;\n \n @Input() styleClass: string;\n \n @Input() placeholder: string;\n \n @Input() formats: string[];\n\n @Input() modules: any;\n\n @Input() bounds: any;\n\n @Input() scrollingContainer: any;\n\n @Input() debug: string;\n \n @Output() onInit: EventEmitter<any> = new EventEmitter();\n \n value: string;\n \n _readonly: boolean;\n \n onModelChange: Function = () => {};\n \n onModelTouched: Function = () => {};\n \n quill: any;\n \n constructor(public el: ElementRef) {}\n\n ngAfterViewInit() {\n let editorElement = DomHandler.findSingle(this.el.nativeElement ,'div.ui-editor-content'); \n let toolbarElement = DomHandler.findSingle(this.el.nativeElement ,'div.ui-editor-toolbar'); \n let defaultModule = {toolbar: toolbarElement};\n let modules = this.modules ? {...defaultModule, ...this.modules} : defaultModule;\n\n this.quill = new Quill(editorElement, {\n modules: modules,\n placeholder: this.placeholder,\n readOnly: this.readonly,\n theme: 'snow',\n formats: this.formats,\n bounds: this.bounds,\n debug: this.debug,\n scrollingContainer: this.scrollingContainer\n });\n \n if (this.value) {\n this.quill.pasteHTML(this.value);\n }\n \n this.quill.on('text-change', (delta, oldContents, source) => {\n if (source === 'user') {\n let html = editorElement.children[0].innerHTML;\n let text = this.quill.getText().trim();\n if (html === '<p><br></p>') {\n html = null;\n }\n\n this.onTextChange.emit({\n htmlValue: html,\n textValue: text,\n delta: delta,\n source: source\n });\n \n this.onModelChange(html);\n this.onModelTouched();\n }\n });\n \n this.quill.on('selection-change', (range, oldRange, source) => {\n this.onSelectionChange.emit({\n range: range,\n oldRange: oldRange,\n source: source\n });\n });\n \n this.onInit.emit({\n editor: this.quill\n });\n }\n \n writeValue(value: any) : void {\n this.value = value;\n \n if (this.quill) {\n if (value)\n this.quill.pasteHTML(value);\n else\n this.quill.setText('');\n }\n }\n \n registerOnChange(fn: Function): void {\n this.onModelChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this.onModelTouched = fn;\n }\n \n getQuill() {\n return this.quill;\n }\n \n @Input() get readonly(): boolean {\n return this._readonly;\n }\n\n set readonly(val:boolean) {\n this._readonly = val;\n \n if (this.quill) {\n if (this._readonly)\n this.quill.disable();\n else\n this.quill.enable();\n }\n }\n}\n\n@NgModule({\n imports: [CommonModule],\n exports: [Editor,SharedModule],\n declarations: [Editor]\n})\nexport class EditorModule { }\n"]}
\No newline at end of file