{"version":3,"file":"ngx-tinymce.mjs","sources":["../../lib/src/tinymce.options.ts","../../lib/src/tinymce.component.ts","../../lib/src/tinymce.module.ts","../../lib/src/provide.ts","../../lib/ngx-tinymce.ts"],"sourcesContent":["import type { RawEditorOptions } from 'tinymce';\n\nexport class TinymceOptions {\n  /** 指定tinymce目录路径，默认：`./assets/tinymce/` */\n  baseURL?: string = './assets/tinymce/';\n  /** 指定tinymce文件名，默认：`tinymce.min.js` */\n  fileName?: string = 'tinymce.min.js';\n  /** 默认配置项，对全局 Tinymce 有效 */\n  config?: RawEditorOptions;\n  /** 延迟加载（单位：毫秒），默认：`0` */\n  delay?: number;\n}\n","import {\n  Component,\n  forwardRef,\n  OnChanges,\n  OnDestroy,\n  Input,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  TemplateRef,\n  SimpleChanges,\n  ViewEncapsulation,\n  Output,\n  EventEmitter,\n  NgZone,\n  Inject,\n  SimpleChange,\n  Optional,\n  booleanAttribute,\n  numberAttribute,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\nimport { NuLazyService } from '@ng-util/lazy';\nimport { DOCUMENT, NgIf } from '@angular/common';\nimport type { Editor as TinyMCEEditor, RawEditorOptions } from 'tinymce';\nimport { TinymceOptions } from './tinymce.options';\n\nconst isSSR = !(typeof document === 'object' && !!document);\n\n/**\n * Angular for tinymce, You can modify the global configuration via `provideTinymce`\n */\n@Component({\n  selector: 'tinymce',\n  exportAs: 'tinymce',\n  template: `\n    <textarea *ngIf=\"!inline\" [attr.id]=\"id\" [attr.placeholder]=\"placeholder\" class=\"tinymce-selector\"></textarea>\n    <div *ngIf=\"inline\" [attr.id]=\"id\"><ng-content></ng-content></div>\n    <div class=\"loading\" *ngIf=\"load\">\n      <ng-container *ngIf=\"_loading; else _loadingTpl\">{{ _loading }}</ng-container>\n    </div>\n  `,\n  styles: [\n    `\n      tinymce .tinymce-selector {\n        display: none;\n      }\n    `,\n  ],\n  providers: [\n    {\n      provide: NG_VALUE_ACCESSOR,\n      useExisting: forwardRef(() => TinymceComponent),\n      multi: true,\n    },\n  ],\n  preserveWhitespaces: false,\n  encapsulation: ViewEncapsulation.None,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  standalone: true,\n  imports: [NgIf],\n})\nexport class TinymceComponent implements AfterViewInit, OnChanges, OnDestroy, ControlValueAccessor {\n  private _instance?: TinyMCEEditor | null;\n  private value = '';\n  load = true;\n  id = `_tinymce-${Math.random().toString(36).substring(2)}`;\n\n  private onChange!: (value: string) => void;\n  private onTouched!: () => void;\n\n  @Input() config?: RawEditorOptions | null;\n  @Input() placeholder = '';\n  @Input({ transform: booleanAttribute }) inline = false;\n  @Input({ transform: booleanAttribute })\n  set disabled(value: boolean) {\n    this._disabled = value;\n    this.setDisabled();\n  }\n  private _disabled = false;\n\n  _loading: string | null = null;\n  _loadingTpl: TemplateRef<any> | null = null;\n  @Input()\n  set loading(value: string | TemplateRef<any>) {\n    if (value instanceof TemplateRef) {\n      this._loading = null;\n      this._loadingTpl = value;\n    } else {\n      this._loading = value;\n    }\n  }\n  /** 延迟初始化 */\n  @Input({ transform: numberAttribute }) delay = 0;\n  @Output() ready = new EventEmitter<TinyMCEEditor>();\n\n  get instance(): TinyMCEEditor | undefined | null {\n    return this._instance;\n  }\n\n  private _getWin(): any {\n    return this.doc.defaultView || window;\n  }\n\n  constructor(\n    @Optional() private defConfig: TinymceOptions,\n    private lazySrv: NuLazyService,\n    private ngZone: NgZone,\n    @Inject(DOCUMENT) private doc: any,\n    private cd: ChangeDetectorRef,\n  ) {}\n\n  private initDelay(): void {\n    if (isSSR) {\n      return;\n    }\n    setTimeout(() => this.init(), Math.max(0, this.delay));\n  }\n\n  private init(): void {\n    const win = this._getWin();\n    if (!win.tinymce) {\n      throw new Error('tinymce js文件加载失败');\n    }\n\n    const { defConfig, config, id, inline } = this;\n    if (this._instance) {\n      return;\n    }\n\n    if (defConfig?.baseURL) {\n      let url = '' + defConfig.baseURL;\n      if (url.endsWith('/')) {\n        url = url.substring(0, url.length - 1);\n      }\n      win.tinymce.baseURL = url;\n    }\n    const userOptions = { ...defConfig?.config, ...config };\n    const options: RawEditorOptions = {\n      selector: `#` + id,\n      inline,\n      ...defConfig?.config,\n      ...config,\n\n      setup: (editor) => {\n        this._instance = editor;\n        if (this.onChange) {\n          editor.on('change keyup', () => {\n            this.value = editor.getContent();\n            this.ngZone.run(() => this.onChange(this.value));\n          });\n        }\n        if (typeof userOptions.setup === 'function') {\n          userOptions.setup(editor);\n        }\n      },\n      init_instance_callback: (editor) => {\n        if (editor && this.value) {\n          editor.setContent(this.value);\n        }\n        this.setDisabled();\n        if (typeof userOptions.init_instance_callback === 'function') {\n          userOptions.init_instance_callback(editor);\n        }\n        this.ready.emit(editor);\n      },\n    };\n    if (userOptions.auto_focus) {\n      options.auto_focus = id;\n    }\n\n    this.ngZone.runOutsideAngular(() => win.tinymce.init(options));\n\n    this.load = false;\n    this.cd.detectChanges();\n  }\n\n  private destroy(): void {\n    if (this._instance == null) {\n      return;\n    }\n    this.ngZone.runOutsideAngular(() => {\n      this._instance!.off();\n      this._instance!.remove();\n    });\n    this._instance = null;\n  }\n\n  private setDisabled(): void {\n    if (!this._instance) {\n      return;\n    }\n    this.ngZone.runOutsideAngular(() => {\n      const mode = this._disabled ? 'readonly' : 'design';\n      // Compatible with 5\n      const setMode5 = (this._instance as any).setMode;\n      if (typeof setMode5 === 'function') {\n        setMode5(mode);\n      } else {\n        this._instance!.mode.set(mode);\n      }\n    });\n  }\n\n  ngAfterViewInit(): void {\n    if (isSSR) {\n      return;\n    }\n    // 已经存在对象无须进入懒加载模式\n    if (this._getWin().tinymce) {\n      this.initDelay();\n      return;\n    }\n\n    const { defConfig } = this;\n    const baseURL = defConfig && defConfig.baseURL;\n    const fileName = defConfig && defConfig.fileName;\n    const url = (baseURL || './assets/tinymce/') + (fileName || 'tinymce.min.js');\n    this.lazySrv.monitor(url).subscribe(() => this.initDelay());\n    this.lazySrv.load(url);\n  }\n\n  ngOnChanges(changes: { [P in keyof this]?: SimpleChange } & SimpleChanges): void {\n    if (this._instance && changes.config) {\n      this.destroy();\n      this.initDelay();\n    }\n  }\n\n  ngOnDestroy(): void {\n    this.destroy();\n  }\n\n  writeValue(value: string): void {\n    // value should be NOT NULL\n    this.value = value || '';\n    if (this._instance) {\n      this.ngZone.runOutsideAngular(() => this._instance!.setContent(this.value));\n    }\n  }\n\n  registerOnChange(fn: (_: any) => {}): void {\n    this.onChange = fn;\n  }\n  registerOnTouched(fn: () => {}): void {\n    this.onTouched = fn;\n  }\n\n  setDisabledState(isDisabled: boolean): void {\n    this.disabled = isDisabled;\n    this.setDisabled();\n  }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TinymceOptions } from './tinymce.options';\nimport { TinymceComponent } from './tinymce.component';\n\n@NgModule({\n  imports: [CommonModule, TinymceComponent],\n  exports: [TinymceComponent],\n})\nexport class NgxTinymceModule {\n  static forRoot(options: TinymceOptions): ModuleWithProviders<NgxTinymceModule> {\n    return {\n      ngModule: NgxTinymceModule,\n      providers: [{ provide: TinymceOptions, useValue: options }],\n    };\n  }\n}\n","import { EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';\nimport { TinymceOptions } from './tinymce.options';\n\n/**\n * Sets up providers necessary to config for the Tinymce.\n * @example\n * bootstrapApplication(AppComponent, {\n *   providers: [provideTinymce({baseURL: '//cdn.tiny.cloud/1/no-api-key/tinymce/6/'})]\n * });\n */\nexport function provideTinymce(options: TinymceOptions): EnvironmentProviders {\n  return makeEnvironmentProviders([{ provide: TinymceOptions, useValue: options }]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}