{"version":3,"file":"wangeditor-for-angular.mjs","sources":["../../../../projects/wangeditor/editor-for-angular/src/lib/editor/editor.component.ts","../../../../projects/wangeditor/editor-for-angular/src/lib/toolbar/toolbar.component.ts","../../../../projects/wangeditor/editor-for-angular/src/lib/editor-for-angular.module.ts","../../../../projects/wangeditor/editor-for-angular/src/public-api.ts","../../../../projects/wangeditor/editor-for-angular/src/wangeditor-for-angular.ts"],"sourcesContent":["import {\n  ChangeDetectorRef,\n  Directive,\n  ElementRef,\n  EventEmitter,\n  forwardRef,\n  Input,\n  OnChanges,\n  OnDestroy,\n  OnInit,\n  Output,\n  SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport {\n  createEditor,\n  IDomEditor,\n  IEditorConfig,\n  SlateDescendant,\n  SlateEditor,\n  SlateTransforms,\n} from '@wangeditor/editor';\nimport { Mode } from '../type';\n\n@Directive({\n  selector: 'wang-editor,[wang-editor]',\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => EditorComponent),\n      multi: true,\n    },\n  ],\n  exportAs: 'wangEditor',\n  host: {\n    style: 'display:block',\n  },\n})\nexport class EditorComponent\n  implements OnInit, ControlValueAccessor, OnDestroy, OnChanges\n{\n  @Input() mode: Mode = 'default';\n  @Input() defaultContent: SlateDescendant[] = [];\n  @Input() defaultHtml: string = '';\n  @Input() defaultConfig: Partial<IEditorConfig> = {};\n  @Input() height: string = '350px';\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  editor!: IDomEditor;\n  currentValue: string = '';\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  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          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(obj: any): void {\n    setTimeout(() => {\n      if (obj === this.currentValue) return; // 和当前内容一样，则忽略\n      this.setHtml(obj);\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  private setHtml(newHtml: string) {\n    const editor = this.editor;\n    if (editor == null) return;\n\n    // 记录编辑器当前状态\n    const isEditorDisabled = editor.isDisabled();\n    const isEditorFocused = editor.isFocused();\n    const editorSelectionStr = JSON.stringify(editor.selection);\n\n    // 删除并重新设置 HTML\n    editor.enable();\n    editor.focus();\n    editor.select([]);\n    editor.deleteFragment();\n    SlateTransforms.setNodes(editor, { type: 'paragraph' } as any, {\n      mode: 'highest',\n    });\n    editor.dangerouslyInsertHtml(newHtml);\n\n    // 恢复编辑器状态\n    if (!isEditorFocused) {\n      editor.deselect();\n      editor.blur();\n    }\n    if (isEditorDisabled) {\n      editor.deselect();\n      editor.disable();\n    }\n    if (editor.isFocused()) {\n      try {\n        editor.select(JSON.parse(editorSelectionStr)); // 选中原来的位置\n      } catch (ex) {\n        editor.select(SlateEditor.start(editor, [])); // 选中开始\n      }\n    }\n  }\n}\n","import {\n  Directive,\n  ElementRef,\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: 'wang-toolbar,[wang-toolbar]',\n  exportAs: 'wangToolbar',\n  host: {\n    style: 'display:block',\n  },\n})\nexport class ToolbarComponent implements OnInit, OnChanges, OnDestroy {\n  @Input() mode: Mode = 'default';\n  @Input() editor!: IDomEditor;\n  @Input() defaultConfig: Partial<IToolbarConfig> = {};\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) {\n      throw new Error(\n        'Not found instance of Editor when create <Toolbar/> component'\n      );\n    }\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 { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EditorComponent } from './editor/editor.component';\nimport { ToolbarComponent } from './toolbar/toolbar.component';\n\n@NgModule({\n  declarations: [\n    EditorComponent,\n    ToolbarComponent\n  ],\n  imports: [\n    CommonModule\n  ],\n  exports: [\n    EditorComponent,\n    ToolbarComponent\n  ]\n})\nexport class EditorForAngularModule { }\n","/*\n * Public API Surface of editor-for-angular\n */\n\nexport * from './lib/type';\nexport * from './lib/editor/editor.component';\nexport * from './lib/toolbar/toolbar.component';\nexport * from './lib/editor-for-angular.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}