@ng-util/monaco-editor 16.0.0 → 17.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/monaco-editor-base.component.mjs +19 -28
- package/esm2022/monaco-editor-diff.component.mjs +7 -7
- package/esm2022/monaco-editor.component.mjs +20 -14
- package/esm2022/monaco-editor.config.mjs +1 -1
- package/esm2022/monaco-editor.module.mjs +6 -7
- package/esm2022/monaco-editor.types.mjs +1 -1
- package/fesm2022/ng-util-monaco-editor.mjs +44 -45
- package/fesm2022/ng-util-monaco-editor.mjs.map +1 -1
- package/monaco-editor-base.component.d.ts +5 -7
- package/monaco-editor-diff.component.d.ts +1 -1
- package/monaco-editor.component.d.ts +1 -1
- package/monaco-editor.config.d.ts +4 -0
- package/monaco-editor.types.d.ts +1 -1
- package/monaco.d.ts +432 -357
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-util-monaco-editor.mjs","sources":["../../../../packages/monaco-editor/monaco-editor.types.ts","../../../../packages/monaco-editor/monaco-editor.config.ts","../../../../packages/monaco-editor/monaco-editor-base.component.ts","../../../../packages/monaco-editor/monaco-editor.component.ts","../../../../packages/monaco-editor/monaco-editor-diff.component.ts","../../../../packages/monaco-editor/monaco-editor.module.ts","../../../../packages/monaco-editor/ng-util-monaco-editor.ts"],"sourcesContent":["// tslint:disable-next-line: no-reference\n/// <reference path=\"./monaco.d.ts\" />\n\nexport interface NuMonacoEditorModel {\n value?: string;\n language?: string;\n uri?: monaco.Uri;\n}\n\nexport interface NuMonacoEditorDiffModel {\n code: string;\n language?: string;\n}\n\nexport type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff';\n\nexport interface NuMonacoEditorEvent {\n type?: NuMonacoEditorEventType;\n editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n error?: string;\n /** Just only `nu-monaco-editor-diff` component */\n diffValue?: string;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const NU_MONACO_EDITOR_CONFIG = new InjectionToken('NU_MONACO_EDITOR_CONFIG');\n\nexport interface NuMonacoEditorConfig {\n /**\n * The base URL to monaco editor library assets via AMD (RequireJS), Default: `https://cdn.jsdelivr.net/npm/monaco-editor/min`\n * You can using local path, e.g.: `assets/monaco-editor/min`.\n */\n baseUrl?: string;\n /**\n * Default options when creating editors\n */\n defaultOptions?: monaco.editor.IStandaloneEditorConstructionOptions;\n /**\n * The event after the first loading of the monaco editor library is completed, use this function to extend monaco editor functionalities.\n * - @param `_monaco` equar to `window.monaco`\n */\n monacoLoad?: (_monaco: any) => void;\n /**\n * The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.\n */\n monacoPreLoad?: () => void;\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnChanges,\n OnDestroy,\n Output,\n SimpleChange,\n SimpleChanges,\n} from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\nimport { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.types';\n\nlet loadedMonaco = false;\nlet loadPromise: Promise<void>;\n\n@Component({\n selector: 'nu-monaco-base',\n template: ``,\n standalone: true,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport abstract class NuMonacoEditorBase implements AfterViewInit, OnChanges, OnDestroy {\n protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n protected _options!: monaco.editor.IStandaloneEditorConstructionOptions;\n protected _resize$: Subscription | null = null;\n protected _config: NuMonacoEditorConfig;\n protected _disabled?: boolean;\n\n @Input() height = `200px`;\n @Input() delay = 0;\n @Input()\n set disabled(val: boolean | string) {\n this._disabled = typeof val === 'string' ? true : val;\n this.setDisabled();\n }\n @Input()\n set options(val: monaco.editor.IStandaloneEditorConstructionOptions) {\n this._options = { ...this._config.defaultOptions, ...val };\n }\n get options() {\n return this._options;\n }\n @Output() event = new EventEmitter<NuMonacoEditorEvent>();\n\n constructor(\n protected el: ElementRef<HTMLElement>,\n @Inject(NU_MONACO_EDITOR_CONFIG) config: NuMonacoEditorConfig,\n @Inject(DOCUMENT) protected doc: any,\n protected ngZone: NgZone,\n ) {\n this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', ...config };\n this.options = this._config.defaultOptions!;\n }\n\n protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions, _initEvent: boolean): void;\n\n protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void {\n this.ngZone.run(() => this.event.emit({ type, editor: this._editor!, ...other }));\n }\n\n protected setDisabled(): this {\n if (this._editor) {\n (this._editor as monaco.editor.IStandaloneCodeEditor).updateOptions({ readOnly: this._disabled });\n }\n return this;\n }\n\n private init(): void {\n if (loadedMonaco) {\n loadPromise.then(() => this.initMonaco(this.options, true));\n return;\n }\n\n loadedMonaco = true;\n loadPromise = new Promise<void>((resolve: () => void, reject: (err: string) => void) => {\n const win: any = window;\n if (win == null) {\n resolve();\n return;\n }\n\n if (win.monaco) {\n resolve();\n return;\n }\n\n const baseUrl = this._config.baseUrl;\n const amdLoader = () => {\n win.require.config({ paths: { vs: `${baseUrl}/vs` } });\n if (typeof this._config.monacoPreLoad === 'function') {\n this._config.monacoPreLoad();\n }\n win.require(\n ['vs/editor/editor.main'],\n () => {\n if (typeof this._config.monacoLoad === 'function') {\n this._config.monacoLoad(win.monaco);\n }\n this.initMonaco(this.options, true);\n resolve();\n },\n () => {\n reject(`Unable to load editor/editor.main module, please check your network environment.`);\n },\n );\n };\n\n if (!win.require) {\n const loaderScript = this.doc.createElement('script') as HTMLScriptElement;\n loaderScript.type = 'text/javascript';\n loaderScript.src = `${baseUrl}/vs/loader.js`;\n loaderScript.onload = amdLoader;\n loaderScript.onerror = () => reject(`Unable to load ${loaderScript.src}, please check your network environment.`);\n this.doc.getElementsByTagName('head')[0].appendChild(loaderScript);\n } else {\n amdLoader();\n }\n }).catch(error => this.notifyEvent('load-error', { error }));\n }\n\n protected cleanResize(): this {\n if (this._resize$) {\n this._resize$.unsubscribe();\n }\n return this;\n }\n\n protected registerResize(): this {\n this.cleanResize();\n this._resize$ = fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => {\n this._editor!.layout();\n this.notifyEvent('resize');\n });\n return this;\n }\n\n protected updateOptions(): void {\n if (!this._editor) return;\n this.ngZone.runOutsideAngular(() => {\n this._editor!.dispose();\n this.initMonaco(this._options, false);\n });\n }\n\n ngAfterViewInit(): void {\n this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay));\n }\n\n ngOnChanges(changes: { [P in keyof this]?: SimpleChange } & SimpleChanges): void {\n const allKeys = Object.keys(changes);\n if (allKeys.length === 1 && allKeys[0] === 'disabled') return;\n this.updateOptions();\n }\n\n ngOnDestroy(): void {\n this.cleanResize();\n if (this._editor) {\n this._editor.dispose();\n this._editor = undefined;\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorModel } from './monaco-editor.types';\n\n@Component({\n selector: 'nu-monaco-editor',\n template: ``,\n exportAs: 'nuMonacoEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NuMonacoEditorComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {\n private _value = '';\n\n @Input() model?: NuMonacoEditorModel | null;\n @Input() autoFormat = true;\n\n get editor(): monaco.editor.IStandaloneCodeEditor {\n return this._editor as monaco.editor.IStandaloneCodeEditor;\n }\n\n private onChange = (_: string) => {};\n private onTouched = () => {};\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n const hasModel = !!this.model;\n\n if (hasModel) {\n const model = monaco.editor.getModel(this.model!.uri! || '');\n if (model) {\n options.model = model;\n options.model.setValue(this._value);\n } else {\n const { value, language, uri } = this.model!;\n options.model = monaco.editor.createModel(value || this._value, language, uri);\n }\n }\n\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.create(this.el.nativeElement, options));\n\n if (!hasModel) {\n editor.setValue(this._value);\n }\n\n editor.onDidChangeModelContent(() => {\n const value = editor.getValue();\n\n this.ngZone.run(() => {\n this._value = value;\n this.onChange(value);\n });\n });\n editor.onDidBlurEditorWidget(() => this.onTouched());\n\n this.registerResize();\n\n if (this.autoFormat) {\n editor\n .getAction('editor.action.formatDocument')\n .run()\n .then(() => this.notifyEvent(initEvent ? 'init' : 're-init'));\n return;\n }\n this.notifyEvent(initEvent ? 'init' : 're-init');\n }\n\n writeValue(value: string): void {\n this._value = value || '';\n if (this._editor) {\n (this._editor as monaco.editor.IStandaloneCodeEditor).setValue(this._value);\n }\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n this.disabled = _isDisabled;\n this.setDisabled();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorDiffModel } from './monaco-editor.types';\n\n@Component({\n selector: 'nu-monaco-diff-editor',\n template: ``,\n exportAs: 'nuMonacoDiffEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {\n @Input() old!: NuMonacoEditorDiffModel | null;\n @Input() new!: NuMonacoEditorDiffModel | null;\n\n get editor(): monaco.editor.IStandaloneDiffEditor {\n return this._editor as monaco.editor.IStandaloneDiffEditor;\n }\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n if (!this.old || !this.new) {\n throw new Error('old or new not found for nu-monaco-diff-editor');\n }\n\n const theme = options.theme;\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.createDiffEditor(this.el.nativeElement, options));\n options.theme = theme;\n editor.setModel({\n original: monaco.editor.createModel(this.old.code, this.old.language || options.language),\n modified: monaco.editor.createModel(this.new.code, this.new.language || options.language),\n });\n\n // this.setDisabled();\n editor.onDidUpdateDiff(() => this.notifyEvent('update-diff', { diffValue: editor.getModifiedEditor().getValue() }));\n\n this.registerResize();\n if (initEvent) this.notifyEvent('init');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NuMonacoEditorDiffComponent } from './monaco-editor-diff.component';\nimport { NuMonacoEditorComponent } from './monaco-editor.component';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\n\nconst COMPONENTS = [NuMonacoEditorComponent, NuMonacoEditorDiffComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS,\n})\nexport class NuMonacoEditorModule {\n static forRoot(config?: NuMonacoEditorConfig): ModuleWithProviders<NuMonacoEditorModule> {\n return {\n ngModule: NuMonacoEditorModule,\n providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-util-monaco-editor.mjs","sources":["../../../../packages/monaco-editor/monaco-editor.types.ts","../../../../packages/monaco-editor/monaco-editor.config.ts","../../../../packages/monaco-editor/monaco-editor-base.component.ts","../../../../packages/monaco-editor/monaco-editor.component.ts","../../../../packages/monaco-editor/monaco-editor-diff.component.ts","../../../../packages/monaco-editor/monaco-editor.module.ts","../../../../packages/monaco-editor/ng-util-monaco-editor.ts"],"sourcesContent":["// tslint:disable-next-line: no-reference\n/// <reference path=\"./monaco.d.ts\" />\n\nexport interface NuMonacoEditorModel {\n value?: string;\n language?: string;\n uri?: monaco.Uri;\n}\n\nexport interface NuMonacoEditorDiffModel {\n code: string;\n language?: string;\n}\n\nexport type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff' | 'error';\n\nexport interface NuMonacoEditorEvent {\n type?: NuMonacoEditorEventType;\n editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n error?: string;\n /** Just only `nu-monaco-editor-diff` component */\n diffValue?: string;\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const NU_MONACO_EDITOR_CONFIG = new InjectionToken('NU_MONACO_EDITOR_CONFIG');\n\nexport interface NuMonacoEditorConfig {\n /**\n * The base URL to monaco editor library assets via AMD (RequireJS), Default: `https://cdn.jsdelivr.net/npm/monaco-editor/min`\n * You can using local path, e.g.: `assets/monaco-editor/min`.\n */\n baseUrl?: string;\n /**\n * Default options when creating editors\n */\n defaultOptions?: monaco.editor.IStandaloneEditorConstructionOptions;\n /**\n * The event after the first loading of the monaco editor library is completed, use this function to extend monaco editor functionalities.\n * - @param `_monaco` equar to `window.monaco`\n */\n monacoLoad?: (_monaco: any) => void;\n /**\n * The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.\n */\n monacoPreLoad?: () => void;\n /**\n * Trigger automatic format delay time, default: `100`\n */\n autoFormatTime?: number;\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n} from '@angular/core';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\nimport { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.types';\n\nlet loadedMonaco = false;\nlet loadPromise: Promise<void>;\n\n@Component({\n selector: 'nu-monaco-base',\n template: ``,\n standalone: true,\n})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {\n protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;\n protected _options!: monaco.editor.IStandaloneEditorConstructionOptions;\n protected _resize$: Subscription | null = null;\n protected _config: NuMonacoEditorConfig;\n protected _disabled?: boolean;\n\n @Input() height = `200px`;\n @Input() delay = 0;\n @Input()\n set disabled(val: boolean | string) {\n this._disabled = typeof val === 'string' ? true : val;\n this.setDisabled();\n }\n @Input()\n set options(val: monaco.editor.IStandaloneEditorConstructionOptions) {\n this._options = { ...this._config.defaultOptions, ...val };\n this.updateOptions();\n }\n get options() {\n return this._options;\n }\n @Output() event = new EventEmitter<NuMonacoEditorEvent>();\n\n constructor(\n protected el: ElementRef<HTMLElement>,\n @Optional() @Inject(NU_MONACO_EDITOR_CONFIG) config: NuMonacoEditorConfig,\n @Inject(DOCUMENT) protected doc: any,\n protected ngZone: NgZone,\n protected destroy$: DestroyRef,\n ) {\n this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...config };\n this.options = this._config.defaultOptions!;\n }\n\n protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions, _initEvent: boolean): void;\n\n protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void {\n this.ngZone.run(() => this.event.emit({ type, editor: this._editor!, ...other }));\n }\n\n protected setDisabled(): this {\n (this._editor as monaco.editor.IStandaloneCodeEditor)?.updateOptions({ readOnly: this._disabled });\n return this;\n }\n\n private init(): void {\n if (loadedMonaco) {\n loadPromise.then(() => this.initMonaco(this.options, true));\n return;\n }\n\n loadedMonaco = true;\n loadPromise = new Promise<void>((resolve: () => void, reject: (err: string) => void) => {\n const win: any = window;\n if (win == null) {\n resolve();\n return;\n }\n\n if (win.monaco) {\n resolve();\n return;\n }\n\n const baseUrl = this._config.baseUrl;\n const amdLoader = () => {\n win.require.config({ paths: { vs: `${baseUrl}/vs` } });\n if (typeof this._config.monacoPreLoad === 'function') {\n this._config.monacoPreLoad();\n }\n win.require(\n ['vs/editor/editor.main'],\n () => {\n if (typeof this._config.monacoLoad === 'function') {\n this._config.monacoLoad(win.monaco);\n }\n this.initMonaco(this.options, true);\n resolve();\n },\n () => {\n reject(`Unable to load editor/editor.main module, please check your network environment.`);\n },\n );\n };\n\n if (!win.require) {\n const loaderScript = this.doc.createElement('script') as HTMLScriptElement;\n loaderScript.type = 'text/javascript';\n loaderScript.src = `${baseUrl}/vs/loader.js`;\n loaderScript.onload = amdLoader;\n loaderScript.onerror = () => reject(`Unable to load ${loaderScript.src}, please check your network environment.`);\n this.doc.getElementsByTagName('head')[0].appendChild(loaderScript);\n } else {\n amdLoader();\n }\n }).catch((error) => this.notifyEvent('load-error', { error }));\n }\n\n protected cleanResize(): this {\n this._resize$?.unsubscribe();\n return this;\n }\n\n protected registerResize(): this {\n this.cleanResize();\n this._resize$ = fromEvent(window, 'resize')\n .pipe(debounceTime(100))\n .subscribe(() => {\n this._editor!.layout();\n this.notifyEvent('resize');\n });\n return this;\n }\n\n protected updateOptions(): void {\n if (!this._editor) return;\n this.ngZone.runOutsideAngular(() => {\n this._editor!.dispose();\n this.initMonaco(this._options, false);\n });\n }\n\n ngAfterViewInit(): void {\n this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay));\n }\n\n ngOnDestroy(): void {\n this.cleanResize();\n this._editor?.dispose();\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorModel } from './monaco-editor.types';\nimport { take, timer } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\n@Component({\n selector: 'nu-monaco-editor',\n template: ``,\n exportAs: 'nuMonacoEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height',\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NuMonacoEditorComponent),\n multi: true,\n },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {\n private _value = '';\n\n @Input() model?: NuMonacoEditorModel | null;\n @Input() autoFormat = true;\n\n get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneCodeEditor;\n }\n\n private onChange = (_: string) => {};\n private onTouched = () => {};\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n const hasModel = !!this.model;\n\n if (hasModel) {\n const model = monaco.editor.getModel(this.model!.uri! || '');\n if (model) {\n options.model = model;\n options.model.setValue(this._value);\n } else {\n const { value, language, uri } = this.model!;\n options.model = monaco.editor.createModel(value || this._value, language, uri);\n }\n }\n\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.create(this.el.nativeElement, options));\n\n if (!hasModel) {\n editor.setValue(this._value);\n }\n\n editor.onDidChangeModelContent(() => {\n const value = editor.getValue();\n\n this.ngZone.run(() => {\n this._value = value;\n this.onChange(value);\n });\n });\n editor.onDidBlurEditorWidget(() => this.onTouched());\n\n this.registerResize();\n\n const eventName = initEvent ? 'init' : 're-init';\n if (this.autoFormat) {\n timer(this._config.autoFormatTime!)\n .pipe(takeUntilDestroyed(this.destroy$), take(1))\n .subscribe(() => {\n const action = editor.getAction('editor.action.formatDocument');\n if (action == null) {\n this.notifyEvent(eventName);\n return;\n }\n action.run().then(() => this.notifyEvent(eventName));\n });\n return;\n }\n this.notifyEvent(eventName);\n }\n\n writeValue(value: string): void {\n this._value = value || '';\n (this._editor as monaco.editor.IStandaloneCodeEditor)?.setValue(this._value);\n }\n\n registerOnChange(fn: (_: string) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(_isDisabled: boolean): void {\n this.disabled = _isDisabled;\n this.setDisabled();\n }\n}\n","import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { NuMonacoEditorBase } from './monaco-editor-base.component';\nimport { NuMonacoEditorDiffModel } from './monaco-editor.types';\n\n@Component({\n selector: 'nu-monaco-diff-editor',\n template: ``,\n exportAs: 'nuMonacoDiffEditor',\n host: {\n '[style.display]': `'block'`,\n '[style.height]': 'height',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {\n @Input() old!: NuMonacoEditorDiffModel | null;\n @Input() new!: NuMonacoEditorDiffModel | null;\n\n get editor(): monaco.editor.IStandaloneDiffEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneDiffEditor;\n }\n\n initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void {\n if (!this.old || !this.new) {\n this.notifyEvent('error', { error: 'old or new not found for nu-monaco-diff-editor' });\n return;\n }\n\n const theme = options.theme;\n if (this._disabled != null) options.readOnly = this._disabled;\n const editor = (this._editor = monaco.editor.createDiffEditor(this.el.nativeElement, options));\n options.theme = theme;\n editor.setModel({\n original: monaco.editor.createModel(this.old.code, this.old.language || options.language),\n modified: monaco.editor.createModel(this.new.code, this.new.language || options.language),\n });\n\n // this.setDisabled();\n editor.onDidUpdateDiff(() => this.notifyEvent('update-diff', { diffValue: editor.getModifiedEditor().getValue() }));\n\n this.registerResize();\n if (initEvent) this.notifyEvent('init');\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NuMonacoEditorDiffComponent } from './monaco-editor-diff.component';\nimport { NuMonacoEditorComponent } from './monaco-editor.component';\nimport { NuMonacoEditorConfig, NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';\n\nconst COMPONENTS = [NuMonacoEditorComponent, NuMonacoEditorDiffComponent];\n\n@NgModule({\n imports: [CommonModule, ...COMPONENTS],\n exports: COMPONENTS,\n})\nexport class NuMonacoEditorModule {\n static forRoot(config?: NuMonacoEditorConfig): ModuleWithProviders<NuMonacoEditorModule> {\n return {\n ngModule: NuMonacoEditorModule,\n providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, NgZone,
|
|
1
|
+
import { AfterViewInit, DestroyRef, ElementRef, EventEmitter, NgZone, OnDestroy } from '@angular/core';
|
|
2
2
|
import { Subscription } from 'rxjs';
|
|
3
3
|
import { NuMonacoEditorConfig } from './monaco-editor.config';
|
|
4
4
|
import { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.types';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare abstract class NuMonacoEditorBase implements AfterViewInit,
|
|
6
|
+
export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {
|
|
7
7
|
protected el: ElementRef<HTMLElement>;
|
|
8
8
|
protected doc: any;
|
|
9
9
|
protected ngZone: NgZone;
|
|
10
|
+
protected destroy$: DestroyRef;
|
|
10
11
|
protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|
|
11
12
|
protected _options: monaco.editor.IStandaloneEditorConstructionOptions;
|
|
12
13
|
protected _resize$: Subscription | null;
|
|
@@ -18,7 +19,7 @@ export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnCha
|
|
|
18
19
|
set options(val: monaco.editor.IStandaloneEditorConstructionOptions);
|
|
19
20
|
get options(): monaco.editor.IStandaloneEditorConstructionOptions;
|
|
20
21
|
event: EventEmitter<NuMonacoEditorEvent>;
|
|
21
|
-
constructor(el: ElementRef<HTMLElement>, config: NuMonacoEditorConfig, doc: any, ngZone: NgZone);
|
|
22
|
+
constructor(el: ElementRef<HTMLElement>, config: NuMonacoEditorConfig, doc: any, ngZone: NgZone, destroy$: DestroyRef);
|
|
22
23
|
protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions, _initEvent: boolean): void;
|
|
23
24
|
protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void;
|
|
24
25
|
protected setDisabled(): this;
|
|
@@ -27,10 +28,7 @@ export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnCha
|
|
|
27
28
|
protected registerResize(): this;
|
|
28
29
|
protected updateOptions(): void;
|
|
29
30
|
ngAfterViewInit(): void;
|
|
30
|
-
ngOnChanges(changes: {
|
|
31
|
-
[P in keyof this]?: SimpleChange;
|
|
32
|
-
} & SimpleChanges): void;
|
|
33
31
|
ngOnDestroy(): void;
|
|
34
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorBase,
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorBase, [null, { optional: true; }, null, null, null]>;
|
|
35
33
|
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorBase, "nu-monaco-base", never, { "height": { "alias": "height"; "required": false; }; "delay": { "alias": "delay"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "event": "event"; }, never, never, true, never>;
|
|
36
34
|
}
|
|
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export declare class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
5
5
|
old: NuMonacoEditorDiffModel | null;
|
|
6
6
|
new: NuMonacoEditorDiffModel | null;
|
|
7
|
-
get editor(): monaco.editor.IStandaloneDiffEditor;
|
|
7
|
+
get editor(): monaco.editor.IStandaloneDiffEditor | null | undefined;
|
|
8
8
|
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
9
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorDiffComponent, never>;
|
|
10
10
|
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorDiffComponent, "nu-monaco-diff-editor", ["nuMonacoDiffEditor"], { "old": { "alias": "old"; "required": false; }; "new": { "alias": "new"; "required": false; }; }, {}, never, never, true, never>;
|
|
@@ -6,7 +6,7 @@ export declare class NuMonacoEditorComponent extends NuMonacoEditorBase implemen
|
|
|
6
6
|
private _value;
|
|
7
7
|
model?: NuMonacoEditorModel | null;
|
|
8
8
|
autoFormat: boolean;
|
|
9
|
-
get editor(): monaco.editor.IStandaloneCodeEditor;
|
|
9
|
+
get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined;
|
|
10
10
|
private onChange;
|
|
11
11
|
private onTouched;
|
|
12
12
|
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
@@ -19,4 +19,8 @@ export interface NuMonacoEditorConfig {
|
|
|
19
19
|
* The event before the first preload of the monaco editor library is completed, use this function to set nls availableLanguages.
|
|
20
20
|
*/
|
|
21
21
|
monacoPreLoad?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* Trigger automatic format delay time, default: `100`
|
|
24
|
+
*/
|
|
25
|
+
autoFormatTime?: number;
|
|
22
26
|
}
|
package/monaco-editor.types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export interface NuMonacoEditorDiffModel {
|
|
|
8
8
|
code: string;
|
|
9
9
|
language?: string;
|
|
10
10
|
}
|
|
11
|
-
export type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff';
|
|
11
|
+
export type NuMonacoEditorEventType = 'load-error' | 'init' | 're-init' | 'resize' | 'update-diff' | 'error';
|
|
12
12
|
export interface NuMonacoEditorEvent {
|
|
13
13
|
type?: NuMonacoEditorEventType;
|
|
14
14
|
editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|