{"version":3,"file":"vts-voffice-ng-vts-code-editor.mjs","sources":["../../components/code-editor/typings.ts","../../components/code-editor/code-editor.service.ts","../../components/code-editor/code-editor.component.ts","../../components/code-editor/code-editor.module.ts","../../components/code-editor/public-api.ts","../../components/code-editor/vts-voffice-ng-vts-code-editor.ts"],"sourcesContent":["/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { editor } from 'monaco-editor';\r\nimport IStandAloneEditorConstructionOptions = editor.IStandaloneEditorConstructionOptions;\r\nimport IDiffEditorConstructionOptions = editor.IDiffEditorConstructionOptions;\r\n\r\nexport type EditorOptions = IStandAloneEditorConstructionOptions;\r\nexport type DiffEditorOptions = IDiffEditorConstructionOptions;\r\nexport type JoinedEditorOptions = EditorOptions | DiffEditorOptions;\r\n\r\nexport type VtsEditorMode = 'normal' | 'diff';\r\n\r\nexport enum VtsCodeEditorLoadingStatus {\r\n  UNLOAD = 'unload',\r\n  LOADING = 'loading',\r\n  LOADED = 'LOADED'\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { CodeEditorConfig, VtsConfigService } from '@vts-voffice/ng-vts/core/config';\r\nimport { PREFIX, warn } from '@vts-voffice/ng-vts/core/logger';\r\nimport { VtsSafeAny } from '@vts-voffice/ng-vts/core/types';\r\nimport { BehaviorSubject, Observable, of as observableOf, Subject } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\nimport { JoinedEditorOptions, VtsCodeEditorLoadingStatus } from './typings';\r\n\r\ndeclare const monaco: VtsSafeAny;\r\n\r\nconst VTS_CONFIG_MODULE_NAME = 'codeEditor';\r\n\r\nfunction tryTriggerFunc(fn?: (...args: VtsSafeAny[]) => VtsSafeAny): (...args: VtsSafeAny) => void {\r\n  return (...args: VtsSafeAny[]) => {\r\n    if (fn) {\r\n      fn(...args);\r\n    }\r\n  };\r\n}\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class VtsCodeEditorService {\r\n  private document: Document;\r\n  private firstEditorInitialized = false;\r\n  private loaded$ = new Subject<boolean>();\r\n  private loadingStatus = VtsCodeEditorLoadingStatus.UNLOAD;\r\n  private option: JoinedEditorOptions = {};\r\n  private config: CodeEditorConfig;\r\n\r\n  option$ = new BehaviorSubject<JoinedEditorOptions>(this.option);\r\n\r\n  constructor(\r\n    private readonly vtsConfigService: VtsConfigService,\r\n    @Inject(DOCUMENT) _document: VtsSafeAny\r\n  ) {\r\n    const globalConfig = this.vtsConfigService.getConfigForComponent(VTS_CONFIG_MODULE_NAME);\r\n\r\n    this.document = _document;\r\n    this.config = { ...globalConfig };\r\n    this.option = this.config.defaultEditorOption || {};\r\n\r\n    this.vtsConfigService.getConfigChangeEventForComponent(VTS_CONFIG_MODULE_NAME).subscribe(() => {\r\n      const newGlobalConfig: VtsSafeAny =\r\n        this.vtsConfigService.getConfigForComponent(VTS_CONFIG_MODULE_NAME);\r\n      if (newGlobalConfig) {\r\n        this._updateDefaultOption(newGlobalConfig.defaultEditorOption);\r\n      }\r\n    });\r\n  }\r\n\r\n  private _updateDefaultOption(option: JoinedEditorOptions): void {\r\n    this.option = { ...this.option, ...option };\r\n    this.option$.next(this.option);\r\n\r\n    if (option.theme) {\r\n      monaco.editor.setTheme(option.theme);\r\n    }\r\n  }\r\n\r\n  requestToInit(): Observable<JoinedEditorOptions> {\r\n    if (this.loadingStatus === VtsCodeEditorLoadingStatus.LOADED) {\r\n      this.onInit();\r\n      return observableOf(this.getLatestOption());\r\n    }\r\n\r\n    if (this.loadingStatus === VtsCodeEditorLoadingStatus.UNLOAD) {\r\n      if (this.config.useStaticLoading && typeof monaco === 'undefined') {\r\n        warn(\r\n          'You choose to use static loading but it seems that you forget ' +\r\n            'to config webpack plugin correctly. Please refer to our official website' +\r\n            'for more details about static loading.'\r\n        );\r\n      } else {\r\n        this.loadMonacoScript();\r\n      }\r\n    }\r\n\r\n    return this.loaded$.asObservable().pipe(\r\n      tap(() => this.onInit()),\r\n      map(() => this.getLatestOption())\r\n    );\r\n  }\r\n\r\n  private loadMonacoScript(): void {\r\n    if (this.config.useStaticLoading) {\r\n      Promise.resolve().then(() => this.onLoad());\r\n      return;\r\n    }\r\n\r\n    if (this.loadingStatus === VtsCodeEditorLoadingStatus.LOADING) {\r\n      return;\r\n    }\r\n\r\n    this.loadingStatus = VtsCodeEditorLoadingStatus.LOADING;\r\n\r\n    const assetsRoot = this.config.assetsRoot;\r\n    const vs = assetsRoot ? `${assetsRoot}/vs` : 'assets/vs';\r\n    const windowAsAny = window as VtsSafeAny;\r\n    const loadScript = this.document.createElement('script');\r\n\r\n    loadScript.type = 'text/javascript';\r\n    loadScript.src = `${vs}/loader.js`;\r\n    loadScript.onload = () => {\r\n      windowAsAny.require.config({\r\n        paths: { vs }\r\n      });\r\n      windowAsAny.require(['vs/editor/editor.main'], () => {\r\n        this.onLoad();\r\n      });\r\n    };\r\n    loadScript.onerror = () => {\r\n      throw new Error(`${PREFIX} cannot load assets of monaco editor from source \"${vs}\".`);\r\n    };\r\n\r\n    this.document.documentElement.appendChild(loadScript);\r\n  }\r\n\r\n  private onLoad(): void {\r\n    this.loadingStatus = VtsCodeEditorLoadingStatus.LOADED;\r\n    this.loaded$.next(true);\r\n    this.loaded$.complete();\r\n\r\n    tryTriggerFunc(this.config.onLoad)();\r\n  }\r\n\r\n  private onInit(): void {\r\n    if (!this.firstEditorInitialized) {\r\n      this.firstEditorInitialized = true;\r\n      tryTriggerFunc(this.config.onFirstEditorInit)();\r\n    }\r\n\r\n    tryTriggerFunc(this.config.onInit)();\r\n  }\r\n\r\n  private getLatestOption(): JoinedEditorOptions {\r\n    return { ...this.option };\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { Platform } from '@angular/cdk/platform';\r\nimport {\r\n  AfterViewInit,\r\n  ChangeDetectionStrategy,\r\n  Component,\r\n  ElementRef,\r\n  EventEmitter,\r\n  forwardRef,\r\n  Input,\r\n  NgZone,\r\n  OnDestroy,\r\n  Output,\r\n  TemplateRef,\r\n  ViewEncapsulation\r\n} from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\r\n// Import types from monaco editor.\r\nimport { editor } from 'monaco-editor';\r\nimport { warn } from '@vts-voffice/ng-vts/core/logger';\r\nimport { BooleanInput, VtsSafeAny, OnChangeType, OnTouchedType } from '@vts-voffice/ng-vts/core/types';\r\nimport { inNextTick, InputBoolean } from '@vts-voffice/ng-vts/core/util';\r\nimport { BehaviorSubject, combineLatest, fromEvent, Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, filter, map, takeUntil } from 'rxjs/operators';\r\n\r\nimport { VtsCodeEditorService } from './code-editor.service';\r\nimport { DiffEditorOptions, EditorOptions, JoinedEditorOptions, VtsEditorMode } from './typings';\r\nimport ITextModel = editor.ITextModel;\r\nimport IStandaloneCodeEditor = editor.IStandaloneCodeEditor;\r\nimport IStandaloneDiffEditor = editor.IStandaloneDiffEditor;\r\n\r\ndeclare const monaco: VtsSafeAny;\r\n\r\n@Component({\r\n  changeDetection: ChangeDetectionStrategy.OnPush,\r\n  encapsulation: ViewEncapsulation.None,\r\n  selector: 'vts-code-editor',\r\n  exportAs: 'vtsCodeEditor',\r\n  template: `\r\n    <div class=\"vts-code-editor-loading\" *ngIf=\"vtsLoading\">\r\n      <vts-spin></vts-spin>\r\n    </div>\r\n\r\n    <div class=\"vts-code-editor-toolkit\" *ngIf=\"vtsToolkit\">\r\n      <ng-template [ngTemplateOutlet]=\"vtsToolkit\"></ng-template>\r\n    </div>\r\n  `,\r\n  providers: [\r\n    {\r\n      provide: NG_VALUE_ACCESSOR,\r\n      useExisting: forwardRef(() => VtsCodeEditorComponent),\r\n      multi: true\r\n    }\r\n  ]\r\n})\r\nexport class VtsCodeEditorComponent implements OnDestroy, AfterViewInit {\r\n  static ngAcceptInputType_vtsLoading: BooleanInput;\r\n  static ngAcceptInputType_vtsFullControl: BooleanInput;\r\n\r\n  @Input() vtsEditorMode: VtsEditorMode = 'normal';\r\n  @Input() vtsOriginalText = '';\r\n  @Input() @InputBoolean() vtsLoading = false;\r\n  @Input() @InputBoolean() vtsFullControl = false;\r\n  @Input() vtsToolkit?: TemplateRef<void>;\r\n\r\n  @Input() set vtsEditorOption(value: JoinedEditorOptions) {\r\n    this.editorOption$.next(value);\r\n  }\r\n\r\n  @Output() readonly vtsEditorInitialized = new EventEmitter<\r\n    IStandaloneCodeEditor | IStandaloneDiffEditor\r\n  >();\r\n\r\n  editorOptionCached: JoinedEditorOptions = {};\r\n\r\n  private readonly el: HTMLElement;\r\n  private destroy$ = new Subject<void>();\r\n  private resize$ = new Subject<void>();\r\n  private editorOption$ = new BehaviorSubject<JoinedEditorOptions>({});\r\n  private editorInstance?: IStandaloneCodeEditor | IStandaloneDiffEditor;\r\n  private value = '';\r\n  private modelSet = false;\r\n\r\n  constructor(\r\n    private vtsCodeEditorService: VtsCodeEditorService,\r\n    private ngZone: NgZone,\r\n    elementRef: ElementRef,\r\n    private platform: Platform\r\n  ) {\r\n    this.el = elementRef.nativeElement;\r\n    this.el.classList.add('vts-code-editor');\r\n  }\r\n\r\n  /**\r\n   * Initialize a monaco editor instance.\r\n   */\r\n  ngAfterViewInit(): void {\r\n    if (!this.platform.isBrowser) {\r\n      return;\r\n    }\r\n    this.vtsCodeEditorService.requestToInit().subscribe(option => this.setup(option));\r\n  }\r\n\r\n  ngOnDestroy(): void {\r\n    if (this.editorInstance) {\r\n      this.editorInstance.dispose();\r\n    }\r\n\r\n    this.destroy$.next();\r\n    this.destroy$.complete();\r\n  }\r\n\r\n  writeValue(value: string): void {\r\n    this.value = value;\r\n    this.setValue();\r\n  }\r\n\r\n  registerOnChange(fn: OnChangeType): VtsSafeAny {\r\n    this.onChange = fn;\r\n  }\r\n\r\n  registerOnTouched(fn: OnTouchedType): void {\r\n    this.onTouch = fn;\r\n  }\r\n\r\n  onChange: OnChangeType = (_value: string) => {};\r\n\r\n  onTouch: OnTouchedType = () => {};\r\n\r\n  layout(): void {\r\n    this.resize$.next();\r\n  }\r\n\r\n  private setup(option: JoinedEditorOptions): void {\r\n    inNextTick().subscribe(() => {\r\n      this.editorOptionCached = option;\r\n      this.registerOptionChanges();\r\n      this.initMonacoEditorInstance();\r\n      this.registerResizeChange();\r\n      this.setValue();\r\n\r\n      if (!this.vtsFullControl) {\r\n        this.setValueEmitter();\r\n      }\r\n\r\n      this.vtsEditorInitialized.emit(this.editorInstance);\r\n    });\r\n  }\r\n\r\n  private registerOptionChanges(): void {\r\n    combineLatest([this.editorOption$, this.vtsCodeEditorService.option$])\r\n      .pipe(takeUntil(this.destroy$))\r\n      .subscribe(([selfOpt, defaultOpt]) => {\r\n        this.editorOptionCached = {\r\n          ...this.editorOptionCached,\r\n          ...defaultOpt,\r\n          ...selfOpt\r\n        };\r\n        this.updateOptionToMonaco();\r\n      });\r\n  }\r\n\r\n  private initMonacoEditorInstance(): void {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      this.editorInstance =\r\n        this.vtsEditorMode === 'normal'\r\n          ? monaco.editor.create(this.el, { ...this.editorOptionCached })\r\n          : monaco.editor.createDiffEditor(this.el, {\r\n              ...(this.editorOptionCached as DiffEditorOptions)\r\n            });\r\n    });\r\n  }\r\n\r\n  private registerResizeChange(): void {\r\n    this.ngZone.runOutsideAngular(() => {\r\n      fromEvent(window, 'resize')\r\n        .pipe(debounceTime(300), takeUntil(this.destroy$))\r\n        .subscribe(() => {\r\n          this.layout();\r\n        });\r\n\r\n      this.resize$\r\n        .pipe(\r\n          takeUntil(this.destroy$),\r\n          filter(() => !!this.editorInstance),\r\n          map(() => ({\r\n            width: this.el.clientWidth,\r\n            height: this.el.clientHeight\r\n          })),\r\n          distinctUntilChanged((a, b) => a.width === b.width && a.height === b.height),\r\n          debounceTime(50)\r\n        )\r\n        .subscribe(() => {\r\n          this.editorInstance!.layout();\r\n        });\r\n    });\r\n  }\r\n\r\n  private setValue(): void {\r\n    if (!this.editorInstance) {\r\n      return;\r\n    }\r\n\r\n    if (this.vtsFullControl && this.value) {\r\n      warn(\r\n        `should not set value when you are using full control mode! It would result in ambiguous data flow!`\r\n      );\r\n      return;\r\n    }\r\n\r\n    if (this.vtsEditorMode === 'normal') {\r\n      if (this.modelSet) {\r\n        const model = this.editorInstance.getModel() as ITextModel;\r\n        this.preservePositionAndSelections(() => model.setValue(this.value));\r\n      } else {\r\n        (this.editorInstance as IStandaloneCodeEditor).setModel(\r\n          monaco.editor.createModel(this.value, (this.editorOptionCached as EditorOptions).language)\r\n        );\r\n        this.modelSet = true;\r\n      }\r\n    } else {\r\n      if (this.modelSet) {\r\n        const model = (this.editorInstance as IStandaloneDiffEditor).getModel()!;\r\n        this.preservePositionAndSelections(() => {\r\n          model.modified.setValue(this.value);\r\n          model.original.setValue(this.vtsOriginalText);\r\n        });\r\n      } else {\r\n        const language = (this.editorOptionCached as EditorOptions).language;\r\n        (this.editorInstance as IStandaloneDiffEditor).setModel({\r\n          original: monaco.editor.createModel(this.vtsOriginalText, language),\r\n          modified: monaco.editor.createModel(this.value, language)\r\n        });\r\n        this.modelSet = true;\r\n      }\r\n    }\r\n  }\r\n\r\n  /**\r\n   * {@link editor.ICodeEditor}#setValue resets the cursor position to the start of the document.\r\n   * This helper memorizes the cursor position and selections and restores them after the given\r\n   * function has been called.\r\n   */\r\n  private preservePositionAndSelections(fn: () => unknown): void {\r\n    if (!this.editorInstance) {\r\n      fn();\r\n      return;\r\n    }\r\n\r\n    const position = this.editorInstance.getPosition();\r\n    const selections = this.editorInstance.getSelections();\r\n\r\n    fn();\r\n\r\n    if (position) {\r\n      this.editorInstance.setPosition(position);\r\n    }\r\n    if (selections) {\r\n      this.editorInstance.setSelections(selections);\r\n    }\r\n  }\r\n\r\n  private setValueEmitter(): void {\r\n    const model = (\r\n      this.vtsEditorMode === 'normal'\r\n        ? (this.editorInstance as IStandaloneCodeEditor).getModel()\r\n        : (this.editorInstance as IStandaloneDiffEditor).getModel()!.modified\r\n    ) as ITextModel;\r\n\r\n    model.onDidChangeContent(() => {\r\n      this.ngZone.run(() => {\r\n        this.emitValue(model.getValue());\r\n      });\r\n    });\r\n  }\r\n\r\n  private emitValue(value: string): void {\r\n    if (this.value === value) {\r\n      // If the value didn't change there's no reason to send an update.\r\n      // Specifically this may happen during an update from the model (writeValue) where sending an update to the model would actually be incorrect.\r\n      return;\r\n    }\r\n\r\n    this.value = value;\r\n    this.onChange(value);\r\n  }\r\n\r\n  private updateOptionToMonaco(): void {\r\n    if (this.editorInstance) {\r\n      this.editorInstance.updateOptions({ ...this.editorOptionCached });\r\n    }\r\n  }\r\n}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport { VtsIconModule } from '@vts-voffice/ng-vts/icon';\r\nimport { VtsSpinModule } from '@vts-voffice/ng-vts/spin';\r\n\r\nimport { VtsCodeEditorComponent } from './code-editor.component';\r\n\r\n@NgModule({\r\n  declarations: [VtsCodeEditorComponent],\r\n  imports: [CommonModule, VtsIconModule, VtsSpinModule],\r\n  exports: [VtsCodeEditorComponent]\r\n})\r\nexport class VtsCodeEditorModule {}\r\n","/**\r\n * Use of this source code is governed by an MIT-style license that can be\r\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\r\n */\r\n\r\nexport * from './typings';\r\nexport * from './code-editor.component';\r\nexport * from './code-editor.module';\r\nexport * from './code-editor.service';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["observableOf","i1.VtsCodeEditorService"],"mappings":"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"}