{"version":3,"file":"winkong-ng-zorro-antd-extension-wang-editor.mjs","sources":["../../../components/wang-editor/wang-editor.component.ts","../../../components/wang-editor/wang-toolbar.component.ts","../../../components/wang-editor/wang-editor.module.ts","../../../components/wang-editor/public-api.ts","../../../components/wang-editor/winkong-ng-zorro-antd-extension-wang-editor.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport {\n  AbstractControl,\n  ControlValueAccessor,\n  NG_VALIDATORS,\n  NG_VALUE_ACCESSOR,\n  ValidationErrors,\n  Validator,\n} from '@angular/forms';\nimport {\n  createEditor,\n  IDomEditor,\n  IEditorConfig,\n  SlateDescendant,\n} from '@wangeditor/editor';\nimport { Mode } from './type';\n\n@Directive({\n  selector: 'nzx-wang-editor,[nzxWangEditor]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => NzxWangEditorDirective),\n      multi: true,\n    },\n    {\n      provide: NG_VALIDATORS,\n      useExisting: NzxWangEditorDirective,\n      multi: true,\n    },\n  ],\n  exportAs: 'NzxWangEditor',\n})\nexport class NzxWangEditorDirective\n  implements OnInit, ControlValueAccessor, OnDestroy, OnChanges, Validator\n{\n  @Input() mode: Mode = 'default';\n  @Input() defaultContent: SlateDescendant[] = [];\n  @Input() defaultHtml = '';\n  @Input() defaultConfig: Partial<IEditorConfig> = {};\n  @Input() height = '350px';\n  /**富文本编辑器必填，必须有text内容 */\n  @Input() textRequired = false;\n  /**富文本编辑器必填，必须有内容仅当<p><br/><p>不通过校验注意与textRequired互斥*/\n  @Input() tagRequired = false;\n\n  @Output() onCreated = new EventEmitter();\n  @Output() onDestroyed = new EventEmitter();\n  @Output() onMaxLength = new EventEmitter();\n  @Output() onFocus = new EventEmitter();\n  @Output() onBlur = new EventEmitter();\n  @Output() customAlert = new EventEmitter();\n  @Output() customPaste = new EventEmitter();\n  @Output() onChange = new EventEmitter();\n\n  @HostBinding('style') display = 'display:block';\n\n  editor!: IDomEditor;\n  currentValue = '';\n\n  private propagateChange = (_: any) => {};\n\n  constructor(private editorRef: ElementRef, private cd: ChangeDetectorRef) {}\n\n  ngOnInit(): void {\n    this.init();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['defaultConfig'] && !changes['defaultConfig'].isFirstChange()) {\n      this.init();\n    }\n  }\n\n  validate(control: AbstractControl<any, any>): ValidationErrors | null {\n    let result: ValidationErrors | null = null;\n    if (this.textRequired) {\n      if (!this.editor?.getText()) {\n        result = {\n          editorTextRequired: true,\n        };\n      }\n    }\n    if (this.tagRequired) {\n      const html = this.editor?.getHtml();\n      if (html === '<p><br></p>' || html === void 0) {\n        result = {\n          editorTextRequired: true,\n        };\n      }\n    }\n    return result;\n  }\n\n  private init() {\n    if (this.editor) {\n      this.editor.destroy();\n    }\n    const that = this;\n\n    createEditor({\n      selector: this.editorRef.nativeElement,\n      mode: this.mode,\n      content: this.defaultContent || [],\n      html: this.defaultHtml || '',\n      config: {\n        ...this.defaultConfig,\n        onCreated(editor) {\n          that.editor = editor; // 记录 editor 实例\n          that.onCreated.emit(editor);\n          that.cd.markForCheck();\n          if (that.defaultConfig.onCreated) {\n            const info = that.genErrorInfo('onCreated');\n            throw new Error(info);\n          }\n        },\n        onChange(editor) {\n          const editorHtml = editor.getHtml();\n          that.currentValue = editorHtml; // 记录当前内容\n          that.onChange.emit(editor);\n          that.propagateChange(editorHtml);\n          that.cd.markForCheck();\n\n          if (that.defaultConfig.onChange) {\n            const info = that.genErrorInfo('ngModelChange');\n            throw new Error(info);\n          }\n        },\n        onDestroyed(editor) {\n          that.onDestroyed.emit(editor);\n          if (that.defaultConfig.onDestroyed) {\n            const info = that.genErrorInfo('onDestroyed');\n            throw new Error(info);\n          }\n        },\n        onMaxLength(editor) {\n          that.onMaxLength.emit(editor);\n          if (that.defaultConfig.onMaxLength) {\n            const info = that.genErrorInfo('onMaxLength');\n            throw new Error(info);\n          }\n        },\n        onFocus(editor) {\n          that.onFocus.emit(editor);\n          if (that.defaultConfig.onFocus) {\n            const info = that.genErrorInfo('onFocus');\n            throw new Error(info);\n          }\n        },\n        onBlur(editor) {\n          that.onBlur.emit(editor);\n          if (that.defaultConfig.onBlur) {\n            const info = that.genErrorInfo('onBlur');\n            throw new Error(info);\n          }\n        },\n        customAlert(info: string, type) {\n          that.customAlert.emit({ info, type });\n          if (that.defaultConfig.customAlert) {\n            const info = that.genErrorInfo('customAlert');\n            throw new Error(info);\n          }\n        },\n        customPaste: (editor, event): any => {\n          if (that.defaultConfig.customPaste) {\n            const info = that.genErrorInfo('customPaste');\n            throw new Error(info);\n          }\n          let res;\n          that.customPaste.emit({\n            editor,\n            event,\n            callback: (val: boolean) => {\n              res = val;\n            },\n          });\n          return res;\n        },\n      },\n    });\n  }\n\n  writeValue(html: any): void {\n    setTimeout(() => {\n      if (html === this.currentValue) return; // 和当前内容一样，则忽略\n      if (html) {\n        if (this.editor) {\n          this.editor.setHtml(html);\n        }\n      } else {\n        this.editor.clear();\n      }\n    }, 0);\n  }\n\n  registerOnChange(fn: any): void {\n    this.propagateChange = fn;\n  }\n\n  registerOnTouched(fn: any): void {}\n\n  setDisabledState?(isDisabled: boolean): void {\n    setTimeout(() => {\n      if (isDisabled) {\n        this.editor?.disable();\n      } else {\n        this.editor?.enable();\n      }\n    }, 0);\n  }\n\n  ngOnDestroy(): void {\n    if (this.editor) {\n      this.editor.destroy();\n    }\n  }\n\n  private genErrorInfo(fnName: string): string {\n    let info = `请使用 '(${fnName})=' 事件!`;\n    info += `\\nPlease use '(${fnName})' event!`;\n    return info;\n  }\n}\n","import {\n  Directive,\n  ElementRef,\n  HostBinding,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  SimpleChanges,\n} from '@angular/core';\nimport {\n  createToolbar,\n  DomEditor,\n  IDomEditor,\n  IToolbarConfig,\n  Toolbar,\n} from '@wangeditor/editor';\nimport { Mode } from './type';\n\n@Directive({\n  selector: 'nzx-wang-toolbar,[nzxWangToolbar]',\n  exportAs: 'NzxWangToolbar',\n})\nexport class NzxWangToolbarDirective implements OnInit, OnChanges, OnDestroy {\n  @Input() mode: Mode = 'default';\n  @Input() editor!: IDomEditor;\n  @Input() defaultConfig: Partial<IToolbarConfig> = {};\n\n  @HostBinding('style') display = 'display:block';\n\n  toolbar!: Toolbar;\n\n  constructor(private toolbarRef: ElementRef) {}\n\n  ngOnInit(): void {\n    this.initToolbar();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (changes['editor'] && !changes['editor'].isFirstChange()) {\n      this.initToolbar();\n    }\n  }\n\n  private initToolbar() {\n    if (!this.toolbarRef) return;\n    if (!this.editor) return;\n    if (DomEditor.getToolbar(this.editor)) return; // 不重复创建\n    this.toolbar = createToolbar({\n      editor: this.editor,\n      selector: this.toolbarRef.nativeElement || '<div></div>',\n      mode: this.mode,\n      config: this.defaultConfig,\n    });\n  }\n\n  ngOnDestroy(): void {\n    if (this.toolbar) {\n      this.toolbar.destroy();\n    }\n  }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzxWangEditorDirective } from './wang-editor.component';\nimport { NzxWangToolbarDirective } from './wang-toolbar.component';\n\n@NgModule({\n  declarations: [NzxWangToolbarDirective, NzxWangEditorDirective],\n  imports: [CommonModule],\n  exports: [NzxWangToolbarDirective, NzxWangEditorDirective],\n})\nexport class NzxWangEditorModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport * from './wang-editor.module';\nexport * from './wang-editor.component';\nexport * from './wang-toolbar.component';\n\nexport * from './type';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}