@ng-util/monaco-editor 18.0.0 → 19.0.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/README.md +1 -0
- package/fesm2022/ng-util-monaco-editor.mjs +86 -35
- package/fesm2022/ng-util-monaco-editor.mjs.map +1 -1
- package/monaco-editor-base.component.d.ts +6 -4
- package/monaco-editor-diff.component.d.ts +2 -2
- package/monaco-editor.component.d.ts +6 -1
- package/monaco-editor.config.d.ts +1 -1
- package/monaco-editor.types.d.ts +0 -1
- package/monaco.d.ts +31 -5
- package/package.json +1 -3
- package/placholder.d.ts +12 -0
- package/esm2022/monaco-editor-base.component.mjs +0 -144
- package/esm2022/monaco-editor-diff.component.mjs +0 -49
- package/esm2022/monaco-editor.component.mjs +0 -110
- package/esm2022/monaco-editor.config.mjs +0 -6
- package/esm2022/monaco-editor.module.mjs +0 -29
- package/esm2022/monaco-editor.types.mjs +0 -4
- package/esm2022/ng-util-monaco-editor.mjs +0 -5
- package/esm2022/public-api.mjs +0 -6
package/README.md
CHANGED
|
@@ -214,6 +214,7 @@ export class DemoComponent {
|
|
|
214
214
|
|
|
215
215
|
| Property | Description | Type | Default |
|
|
216
216
|
|----------|-------------|------|---------|
|
|
217
|
+
| `[placeholder]` | Placeholder of monaco editor, Can change the style via defining the `.monaco-editor-placeholder` CSS. | `string` | - |
|
|
217
218
|
| `[height]` | Height of monaco editor | `string` | `200px` |
|
|
218
219
|
| `[disabled]` | Disabled of monaco editor | `boolean` | `false` |
|
|
219
220
|
| `[autoFormat]` | Whether to automatically format the document | `boolean` | `true` |
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, makeEnvironmentProviders,
|
|
2
|
+
import { InjectionToken, makeEnvironmentProviders, inject, ElementRef, NgZone, DestroyRef, EventEmitter, numberAttribute, Component, Input, Output, booleanAttribute, forwardRef, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
5
5
|
import { fromEvent, timer, take } from 'rxjs';
|
|
@@ -29,16 +29,17 @@ class NuMonacoEditorBase {
|
|
|
29
29
|
get options() {
|
|
30
30
|
return this._options;
|
|
31
31
|
}
|
|
32
|
-
constructor(
|
|
33
|
-
this.el =
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
32
|
+
constructor() {
|
|
33
|
+
this.el = inject(ElementRef);
|
|
34
|
+
this.config = inject(NU_MONACO_EDITOR_CONFIG, { optional: true });
|
|
35
|
+
this.doc = inject(DOCUMENT);
|
|
36
|
+
this.ngZone = inject(NgZone);
|
|
37
|
+
this.destroy$ = inject(DestroyRef);
|
|
37
38
|
this._resize$ = null;
|
|
38
39
|
this.height = `200px`;
|
|
39
40
|
this.delay = 0;
|
|
40
41
|
this.event = new EventEmitter();
|
|
41
|
-
this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...config };
|
|
42
|
+
this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...this.config };
|
|
42
43
|
this.options = this._config.defaultOptions;
|
|
43
44
|
}
|
|
44
45
|
notifyEvent(type, other) {
|
|
@@ -122,28 +123,20 @@ class NuMonacoEditorBase {
|
|
|
122
123
|
this.cleanResize();
|
|
123
124
|
this._editor?.dispose();
|
|
124
125
|
}
|
|
125
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
126
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
126
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorBase, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
127
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: NuMonacoEditorBase, isStandalone: true, selector: "nu-monaco-base", inputs: { height: "height", delay: ["delay", "delay", numberAttribute], disabled: "disabled", options: "options" }, outputs: { event: "event" }, ngImport: i0, template: ``, isInline: true }); }
|
|
127
128
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorBase, decorators: [{
|
|
129
130
|
type: Component,
|
|
130
131
|
args: [{
|
|
131
132
|
selector: 'nu-monaco-base',
|
|
132
133
|
template: ``,
|
|
133
|
-
standalone: true,
|
|
134
134
|
}]
|
|
135
|
-
}], ctorParameters: () => [
|
|
136
|
-
type: Optional
|
|
137
|
-
}, {
|
|
138
|
-
type: Inject,
|
|
139
|
-
args: [NU_MONACO_EDITOR_CONFIG]
|
|
140
|
-
}] }, { type: undefined, decorators: [{
|
|
141
|
-
type: Inject,
|
|
142
|
-
args: [DOCUMENT]
|
|
143
|
-
}] }, { type: i0.NgZone }, { type: i0.DestroyRef }], propDecorators: { height: [{
|
|
135
|
+
}], ctorParameters: () => [], propDecorators: { height: [{
|
|
144
136
|
type: Input
|
|
145
137
|
}], delay: [{
|
|
146
|
-
type: Input
|
|
138
|
+
type: Input,
|
|
139
|
+
args: [{ transform: numberAttribute }]
|
|
147
140
|
}], disabled: [{
|
|
148
141
|
type: Input
|
|
149
142
|
}], options: [{
|
|
@@ -152,6 +145,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
152
145
|
type: Output
|
|
153
146
|
}] } });
|
|
154
147
|
|
|
148
|
+
class PlaceholderWidget {
|
|
149
|
+
constructor(editor, placeholder) {
|
|
150
|
+
this.ID = 'editor.widget.placeholderHint';
|
|
151
|
+
this.placeholder = placeholder;
|
|
152
|
+
this.editor = editor;
|
|
153
|
+
}
|
|
154
|
+
update(text) {
|
|
155
|
+
if (this.node == null)
|
|
156
|
+
return;
|
|
157
|
+
this.node.innerHTML = text ?? this.placeholder ?? '';
|
|
158
|
+
}
|
|
159
|
+
getId() {
|
|
160
|
+
return this.ID;
|
|
161
|
+
}
|
|
162
|
+
getDomNode() {
|
|
163
|
+
if (this.node == null) {
|
|
164
|
+
const node = (this.node = document.createElement('div'));
|
|
165
|
+
node.classList.add('monaco-editor-placeholder');
|
|
166
|
+
node.style.width = 'max-content';
|
|
167
|
+
node.style.color = 'gray';
|
|
168
|
+
node.innerHTML = this.placeholder;
|
|
169
|
+
node.style.fontStyle = 'italic';
|
|
170
|
+
this.editor.applyFontInfo(node);
|
|
171
|
+
}
|
|
172
|
+
return this.node;
|
|
173
|
+
}
|
|
174
|
+
getPosition() {
|
|
175
|
+
return {
|
|
176
|
+
position: { lineNumber: 1, column: 1 },
|
|
177
|
+
preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
dispose() {
|
|
181
|
+
this.editor.removeContentWidget(this);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
155
185
|
class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
156
186
|
constructor() {
|
|
157
187
|
super(...arguments);
|
|
@@ -160,9 +190,27 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
160
190
|
this.onChange = (_) => { };
|
|
161
191
|
this.onTouched = () => { };
|
|
162
192
|
}
|
|
193
|
+
set placeholder(v) {
|
|
194
|
+
this._placeholder = v;
|
|
195
|
+
this._placeholderWidget?.update(v);
|
|
196
|
+
}
|
|
163
197
|
get editor() {
|
|
164
198
|
return this._editor;
|
|
165
199
|
}
|
|
200
|
+
togglePlaceholder() {
|
|
201
|
+
const text = this._placeholder;
|
|
202
|
+
if (text == null || text.length <= 0 || this.editor == null)
|
|
203
|
+
return;
|
|
204
|
+
if (this._placeholderWidget == null) {
|
|
205
|
+
this._placeholderWidget = new PlaceholderWidget(this.editor, text);
|
|
206
|
+
}
|
|
207
|
+
if (this._value.length > 0) {
|
|
208
|
+
this.editor.removeContentWidget(this._placeholderWidget);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
this.editor.addContentWidget(this._placeholderWidget);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
166
214
|
initMonaco(options, initEvent) {
|
|
167
215
|
const hasModel = !!this.model;
|
|
168
216
|
if (hasModel) {
|
|
@@ -188,8 +236,10 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
188
236
|
this._value = value;
|
|
189
237
|
this.onChange(value);
|
|
190
238
|
});
|
|
239
|
+
this.togglePlaceholder();
|
|
191
240
|
});
|
|
192
241
|
editor.onDidBlurEditorWidget(() => this.onTouched());
|
|
242
|
+
this.togglePlaceholder();
|
|
193
243
|
this.registerResize();
|
|
194
244
|
const eventName = initEvent ? 'init' : 're-init';
|
|
195
245
|
if (this.autoFormat) {
|
|
@@ -221,8 +271,8 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
221
271
|
this.disabled = _isDisabled;
|
|
222
272
|
this.setDisabled();
|
|
223
273
|
}
|
|
224
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
225
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
274
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
275
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "19.0.0", type: NuMonacoEditorComponent, isStandalone: true, selector: "nu-monaco-editor", inputs: { placeholder: "placeholder", model: "model", autoFormat: ["autoFormat", "autoFormat", booleanAttribute] }, host: { properties: { "style.display": "'block'", "style.height": "height" } }, providers: [
|
|
226
276
|
{
|
|
227
277
|
provide: NG_VALUE_ACCESSOR,
|
|
228
278
|
useExisting: forwardRef((() => NuMonacoEditorComponent)),
|
|
@@ -230,7 +280,7 @@ class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
|
230
280
|
},
|
|
231
281
|
], exportAs: ["nuMonacoEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
232
282
|
}
|
|
233
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
283
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorComponent, decorators: [{
|
|
234
284
|
type: Component,
|
|
235
285
|
args: [{
|
|
236
286
|
selector: 'nu-monaco-editor',
|
|
@@ -248,12 +298,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
248
298
|
},
|
|
249
299
|
],
|
|
250
300
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
251
|
-
standalone: true,
|
|
252
301
|
}]
|
|
253
|
-
}], propDecorators: {
|
|
302
|
+
}], propDecorators: { placeholder: [{
|
|
254
303
|
type: Input
|
|
255
|
-
}],
|
|
304
|
+
}], model: [{
|
|
256
305
|
type: Input
|
|
306
|
+
}], autoFormat: [{
|
|
307
|
+
type: Input,
|
|
308
|
+
args: [{ transform: booleanAttribute }]
|
|
257
309
|
}] } });
|
|
258
310
|
|
|
259
311
|
class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
@@ -280,10 +332,10 @@ class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
|
280
332
|
if (initEvent)
|
|
281
333
|
this.notifyEvent('init');
|
|
282
334
|
}
|
|
283
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
284
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
335
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorDiffComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
336
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.0", type: NuMonacoEditorDiffComponent, isStandalone: true, selector: "nu-monaco-diff-editor", inputs: { old: "old", new: "new" }, host: { properties: { "style.display": "'block'", "style.height": "height" } }, exportAs: ["nuMonacoDiffEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
285
337
|
}
|
|
286
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorDiffComponent, decorators: [{
|
|
287
339
|
type: Component,
|
|
288
340
|
args: [{
|
|
289
341
|
selector: 'nu-monaco-diff-editor',
|
|
@@ -294,7 +346,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
294
346
|
'[style.height]': 'height',
|
|
295
347
|
},
|
|
296
348
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
297
|
-
standalone: true,
|
|
298
349
|
}]
|
|
299
350
|
}], propDecorators: { old: [{
|
|
300
351
|
type: Input
|
|
@@ -313,11 +364,11 @@ class NuMonacoEditorModule {
|
|
|
313
364
|
providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }],
|
|
314
365
|
};
|
|
315
366
|
}
|
|
316
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
317
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
318
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
367
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
368
|
+
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorModule, imports: [CommonModule, NuMonacoEditorComponent, NuMonacoEditorDiffComponent], exports: [NuMonacoEditorComponent, NuMonacoEditorDiffComponent] }); }
|
|
369
|
+
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorModule, imports: [CommonModule] }); }
|
|
319
370
|
}
|
|
320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
371
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: NuMonacoEditorModule, decorators: [{
|
|
321
372
|
type: NgModule,
|
|
322
373
|
args: [{
|
|
323
374
|
imports: [CommonModule, ...COMPONENTS],
|
|
@@ -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' | '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 { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport const NU_MONACO_EDITOR_CONFIG = new InjectionToken('NU_MONACO_EDITOR_CONFIG');\n\nexport function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]);\n}\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 /**\n * Or use `provideNuMonacoEditorConfig` instead.\n */\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/placholder.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 { EnvironmentProviders, InjectionToken, makeEnvironmentProviders } from '@angular/core';\n\nexport const NU_MONACO_EDITOR_CONFIG = new InjectionToken<NuMonacoEditorConfig>('NU_MONACO_EDITOR_CONFIG');\n\nexport function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders {\n return makeEnvironmentProviders([{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]);\n}\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 numberAttribute,\n OnDestroy,\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})\n// eslint-disable-next-line @angular-eslint/component-class-suffix\nexport abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {\n protected el = inject<ElementRef<HTMLElement>>(ElementRef);\n protected config = inject(NU_MONACO_EDITOR_CONFIG, { optional: true });\n protected doc = inject(DOCUMENT);\n protected ngZone = inject(NgZone);\n protected destroy$ = inject(DestroyRef);\n\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({ transform: numberAttribute }) 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() readonly event = new EventEmitter<NuMonacoEditorEvent>();\n\n constructor() {\n this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...this.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","export class PlaceholderWidget implements monaco.editor.IContentWidget {\n private readonly ID = 'editor.widget.placeholderHint';\n private placeholder?: string;\n private editor: monaco.editor.IStandaloneCodeEditor;\n private node?: HTMLElement;\n\n constructor(editor: monaco.editor.IStandaloneCodeEditor, placeholder?: string) {\n this.placeholder = placeholder;\n this.editor = editor;\n }\n\n update(text?: string | null | undefined) {\n if (this.node == null) return;\n\n this.node.innerHTML = text ?? this.placeholder ?? '';\n }\n\n getId(): string {\n return this.ID;\n }\n getDomNode(): HTMLElement {\n if (this.node == null) {\n const node = (this.node = document.createElement('div'));\n node.classList.add('monaco-editor-placeholder');\n node.style.width = 'max-content';\n node.style.color = 'gray';\n node.innerHTML = this.placeholder!;\n node.style.fontStyle = 'italic';\n this.editor.applyFontInfo(node);\n }\n return this.node;\n }\n getPosition(): monaco.editor.IContentWidgetPosition | null {\n return {\n position: { lineNumber: 1, column: 1 },\n preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],\n };\n }\n\n dispose() {\n this.editor.removeContentWidget(this);\n }\n}\n","import { booleanAttribute, 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';\nimport { PlaceholderWidget } from './placholder';\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})\nexport class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {\n private _value = '';\n private _placeholderWidget?: PlaceholderWidget;\n private _placeholder?: string | null;\n\n @Input()\n set placeholder(v: string | null | undefined) {\n this._placeholder = v;\n this._placeholderWidget?.update(v);\n }\n @Input() model?: NuMonacoEditorModel | null;\n @Input({ transform: booleanAttribute }) autoFormat = true;\n\n get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined {\n return this._editor as monaco.editor.IStandaloneCodeEditor;\n }\n\n private togglePlaceholder() {\n const text = this._placeholder;\n if (text == null || text.length <= 0 || this.editor == null) return;\n\n if (this._placeholderWidget == null) {\n this._placeholderWidget = new PlaceholderWidget(this.editor, text);\n }\n\n if (this._value.length > 0) {\n this.editor.removeContentWidget(this._placeholderWidget);\n } else {\n this.editor.addContentWidget(this._placeholderWidget);\n }\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 this.togglePlaceholder();\n });\n editor.onDidBlurEditorWidget(() => this.onTouched());\n\n this.togglePlaceholder();\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})\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 /**\n * Or use `provideNuMonacoEditorConfig` instead.\n */\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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"}
|
|
@@ -5,7 +5,8 @@ import { NuMonacoEditorEvent, NuMonacoEditorEventType } from './monaco-editor.ty
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnDestroy {
|
|
7
7
|
protected el: ElementRef<HTMLElement>;
|
|
8
|
-
protected
|
|
8
|
+
protected config: NuMonacoEditorConfig | null;
|
|
9
|
+
protected doc: Document;
|
|
9
10
|
protected ngZone: NgZone;
|
|
10
11
|
protected destroy$: DestroyRef;
|
|
11
12
|
protected _editor?: monaco.editor.IStandaloneCodeEditor | monaco.editor.IStandaloneDiffEditor;
|
|
@@ -18,8 +19,8 @@ export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnDes
|
|
|
18
19
|
set disabled(val: boolean | string);
|
|
19
20
|
set options(val: monaco.editor.IStandaloneEditorConstructionOptions);
|
|
20
21
|
get options(): monaco.editor.IStandaloneEditorConstructionOptions;
|
|
21
|
-
event: EventEmitter<NuMonacoEditorEvent>;
|
|
22
|
-
constructor(
|
|
22
|
+
readonly event: EventEmitter<NuMonacoEditorEvent>;
|
|
23
|
+
constructor();
|
|
23
24
|
protected abstract initMonaco(_options: monaco.editor.IStandaloneEditorConstructionOptions, _initEvent: boolean): void;
|
|
24
25
|
protected notifyEvent(type: NuMonacoEditorEventType, other?: NuMonacoEditorEvent): void;
|
|
25
26
|
protected setDisabled(): this;
|
|
@@ -29,6 +30,7 @@ export declare abstract class NuMonacoEditorBase implements AfterViewInit, OnDes
|
|
|
29
30
|
protected updateOptions(): void;
|
|
30
31
|
ngAfterViewInit(): void;
|
|
31
32
|
ngOnDestroy(): void;
|
|
32
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorBase,
|
|
33
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorBase, never>;
|
|
33
34
|
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>;
|
|
35
|
+
static ngAcceptInputType_delay: unknown;
|
|
34
36
|
}
|
|
@@ -2,8 +2,8 @@ import { NuMonacoEditorBase } from './monaco-editor-base.component';
|
|
|
2
2
|
import { NuMonacoEditorDiffModel } from './monaco-editor.types';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
5
|
-
old
|
|
6
|
-
new
|
|
5
|
+
old?: NuMonacoEditorDiffModel | null;
|
|
6
|
+
new?: NuMonacoEditorDiffModel | null;
|
|
7
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>;
|
|
@@ -4,9 +4,13 @@ import { NuMonacoEditorModel } from './monaco-editor.types';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class NuMonacoEditorComponent extends NuMonacoEditorBase implements ControlValueAccessor {
|
|
6
6
|
private _value;
|
|
7
|
+
private _placeholderWidget?;
|
|
8
|
+
private _placeholder?;
|
|
9
|
+
set placeholder(v: string | null | undefined);
|
|
7
10
|
model?: NuMonacoEditorModel | null;
|
|
8
11
|
autoFormat: boolean;
|
|
9
12
|
get editor(): monaco.editor.IStandaloneCodeEditor | null | undefined;
|
|
13
|
+
private togglePlaceholder;
|
|
10
14
|
private onChange;
|
|
11
15
|
private onTouched;
|
|
12
16
|
initMonaco(options: monaco.editor.IStandaloneEditorConstructionOptions, initEvent: boolean): void;
|
|
@@ -15,5 +19,6 @@ export declare class NuMonacoEditorComponent extends NuMonacoEditorBase implemen
|
|
|
15
19
|
registerOnTouched(fn: any): void;
|
|
16
20
|
setDisabledState(_isDisabled: boolean): void;
|
|
17
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<NuMonacoEditorComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorComponent, "nu-monaco-editor", ["nuMonacoEditor"], { "model": { "alias": "model"; "required": false; }; "autoFormat": { "alias": "autoFormat"; "required": false; }; }, {}, never, never, true, never>;
|
|
22
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NuMonacoEditorComponent, "nu-monaco-editor", ["nuMonacoEditor"], { "placeholder": { "alias": "placeholder"; "required": false; }; "model": { "alias": "model"; "required": false; }; "autoFormat": { "alias": "autoFormat"; "required": false; }; }, {}, never, never, true, never>;
|
|
23
|
+
static ngAcceptInputType_autoFormat: unknown;
|
|
19
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EnvironmentProviders, InjectionToken } from '@angular/core';
|
|
2
|
-
export declare const NU_MONACO_EDITOR_CONFIG: InjectionToken<
|
|
2
|
+
export declare const NU_MONACO_EDITOR_CONFIG: InjectionToken<NuMonacoEditorConfig>;
|
|
3
3
|
export declare function provideNuMonacoEditorConfig(config?: NuMonacoEditorConfig): EnvironmentProviders;
|
|
4
4
|
export interface NuMonacoEditorConfig {
|
|
5
5
|
/**
|
package/monaco-editor.types.d.ts
CHANGED
package/monaco.d.ts
CHANGED
|
@@ -4323,6 +4323,10 @@ declare namespace monaco.editor {
|
|
|
4323
4323
|
* Font size of section headers. Defaults to 9.
|
|
4324
4324
|
*/
|
|
4325
4325
|
sectionHeaderFontSize?: number;
|
|
4326
|
+
/**
|
|
4327
|
+
* Spacing between the section header characters (in CSS px). Defaults to 1.
|
|
4328
|
+
*/
|
|
4329
|
+
sectionHeaderLetterSpacing?: number;
|
|
4326
4330
|
}
|
|
4327
4331
|
|
|
4328
4332
|
/**
|
|
@@ -5392,12 +5396,21 @@ declare namespace monaco.editor {
|
|
|
5392
5396
|
* The position preference for the overlay widget.
|
|
5393
5397
|
*/
|
|
5394
5398
|
preference: OverlayWidgetPositionPreference | IOverlayWidgetPositionCoordinates | null;
|
|
5399
|
+
/**
|
|
5400
|
+
* When set, stacks with other overlay widgets with the same preference,
|
|
5401
|
+
* in an order determined by the ordinal value.
|
|
5402
|
+
*/
|
|
5403
|
+
stackOridinal?: number;
|
|
5395
5404
|
}
|
|
5396
5405
|
|
|
5397
5406
|
/**
|
|
5398
5407
|
* An overlay widgets renders on top of the text.
|
|
5399
5408
|
*/
|
|
5400
5409
|
export interface IOverlayWidget {
|
|
5410
|
+
/**
|
|
5411
|
+
* Event fired when the widget layout changes.
|
|
5412
|
+
*/
|
|
5413
|
+
onDidLayout?: IEvent<void>;
|
|
5401
5414
|
/**
|
|
5402
5415
|
* Render this overlay widget in a location where it could overflow the editor's view dom node.
|
|
5403
5416
|
*/
|
|
@@ -5823,6 +5836,18 @@ declare namespace monaco.editor {
|
|
|
5823
5836
|
* @event
|
|
5824
5837
|
*/
|
|
5825
5838
|
readonly onDidChangeHiddenAreas: IEvent<void>;
|
|
5839
|
+
/**
|
|
5840
|
+
* Some editor operations fire multiple events at once.
|
|
5841
|
+
* To allow users to react to multiple events fired by a single operation,
|
|
5842
|
+
* the editor fires a begin update before the operation and an end update after the operation.
|
|
5843
|
+
* Whenever the editor fires `onBeginUpdate`, it will also fire `onEndUpdate` once the operation finishes.
|
|
5844
|
+
* Note that not all operations are bracketed by `onBeginUpdate` and `onEndUpdate`.
|
|
5845
|
+
*/
|
|
5846
|
+
readonly onBeginUpdate: IEvent<void>;
|
|
5847
|
+
/**
|
|
5848
|
+
* Fires after the editor completes the operation it fired `onBeginUpdate` for.
|
|
5849
|
+
*/
|
|
5850
|
+
readonly onEndUpdate: IEvent<void>;
|
|
5826
5851
|
/**
|
|
5827
5852
|
* Saves current view state of the editor in a serializable object.
|
|
5828
5853
|
*/
|
|
@@ -6869,9 +6894,9 @@ declare namespace monaco.languages {
|
|
|
6869
6894
|
|
|
6870
6895
|
export interface HoverVerbosityRequest<THover = Hover> {
|
|
6871
6896
|
/**
|
|
6872
|
-
*
|
|
6897
|
+
* The delta by which to increase/decrease the hover verbosity level
|
|
6873
6898
|
*/
|
|
6874
|
-
|
|
6899
|
+
verbosityDelta: number;
|
|
6875
6900
|
/**
|
|
6876
6901
|
* The previous hover for the same position
|
|
6877
6902
|
*/
|
|
@@ -7400,7 +7425,7 @@ declare namespace monaco.languages {
|
|
|
7400
7425
|
* A provider that can provide document highlights across multiple documents.
|
|
7401
7426
|
*/
|
|
7402
7427
|
export interface MultiDocumentHighlightProvider {
|
|
7403
|
-
selector:
|
|
7428
|
+
readonly selector: LanguageSelector;
|
|
7404
7429
|
/**
|
|
7405
7430
|
* Provide a Map of Uri --> document highlights, like all occurrences of a variable or
|
|
7406
7431
|
* all exit-points of a function.
|
|
@@ -9032,9 +9057,10 @@ declare namespace monaco.languages.typescript {
|
|
|
9032
9057
|
length: number | undefined;
|
|
9033
9058
|
messageText: string | DiagnosticMessageChain;
|
|
9034
9059
|
}
|
|
9035
|
-
interface EmitOutput {
|
|
9060
|
+
export interface EmitOutput {
|
|
9036
9061
|
outputFiles: OutputFile[];
|
|
9037
9062
|
emitSkipped: boolean;
|
|
9063
|
+
diagnostics?: Diagnostic[];
|
|
9038
9064
|
}
|
|
9039
9065
|
interface OutputFile {
|
|
9040
9066
|
name: string;
|
|
@@ -9264,7 +9290,7 @@ declare namespace monaco.languages.typescript {
|
|
|
9264
9290
|
* Get transpiled output for the given file.
|
|
9265
9291
|
* @returns `typescript.EmitOutput`
|
|
9266
9292
|
*/
|
|
9267
|
-
getEmitOutput(fileName: string): Promise<EmitOutput>;
|
|
9293
|
+
getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean, forceDtsEmit?: boolean): Promise<EmitOutput>;
|
|
9268
9294
|
/**
|
|
9269
9295
|
* Get possible code fixes at the given position in the file.
|
|
9270
9296
|
* @param formatOptions `typescript.FormatCodeOptions`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ng-util/monaco-editor",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "19.0.0",
|
|
4
4
|
"author": "cipchk<cipchk@qq.com>",
|
|
5
5
|
"description": "Monaco Code Editor for Angular",
|
|
6
6
|
"license": "MIT",
|
|
@@ -29,8 +29,6 @@
|
|
|
29
29
|
},
|
|
30
30
|
".": {
|
|
31
31
|
"types": "./index.d.ts",
|
|
32
|
-
"esm2022": "./esm2022/ng-util-monaco-editor.mjs",
|
|
33
|
-
"esm": "./esm2022/ng-util-monaco-editor.mjs",
|
|
34
32
|
"default": "./fesm2022/ng-util-monaco-editor.mjs"
|
|
35
33
|
}
|
|
36
34
|
},
|
package/placholder.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare class PlaceholderWidget implements monaco.editor.IContentWidget {
|
|
2
|
+
private readonly ID;
|
|
3
|
+
private placeholder?;
|
|
4
|
+
private editor;
|
|
5
|
+
private node?;
|
|
6
|
+
constructor(editor: monaco.editor.IStandaloneCodeEditor, placeholder?: string);
|
|
7
|
+
update(text?: string | null | undefined): void;
|
|
8
|
+
getId(): string;
|
|
9
|
+
getDomNode(): HTMLElement;
|
|
10
|
+
getPosition(): monaco.editor.IContentWidgetPosition | null;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, Inject, Input, Optional, Output, } from '@angular/core';
|
|
3
|
-
import { fromEvent } from 'rxjs';
|
|
4
|
-
import { debounceTime } from 'rxjs/operators';
|
|
5
|
-
import { NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
let loadedMonaco = false;
|
|
8
|
-
let loadPromise;
|
|
9
|
-
// eslint-disable-next-line @angular-eslint/component-class-suffix
|
|
10
|
-
export class NuMonacoEditorBase {
|
|
11
|
-
set disabled(val) {
|
|
12
|
-
this._disabled = typeof val === 'string' ? true : val;
|
|
13
|
-
this.setDisabled();
|
|
14
|
-
}
|
|
15
|
-
set options(val) {
|
|
16
|
-
this._options = { ...this._config.defaultOptions, ...val };
|
|
17
|
-
this.updateOptions();
|
|
18
|
-
}
|
|
19
|
-
get options() {
|
|
20
|
-
return this._options;
|
|
21
|
-
}
|
|
22
|
-
constructor(el, config, doc, ngZone, destroy$) {
|
|
23
|
-
this.el = el;
|
|
24
|
-
this.doc = doc;
|
|
25
|
-
this.ngZone = ngZone;
|
|
26
|
-
this.destroy$ = destroy$;
|
|
27
|
-
this._resize$ = null;
|
|
28
|
-
this.height = `200px`;
|
|
29
|
-
this.delay = 0;
|
|
30
|
-
this.event = new EventEmitter();
|
|
31
|
-
this._config = { baseUrl: 'https://cdn.jsdelivr.net/npm/monaco-editor/min', autoFormatTime: 100, ...config };
|
|
32
|
-
this.options = this._config.defaultOptions;
|
|
33
|
-
}
|
|
34
|
-
notifyEvent(type, other) {
|
|
35
|
-
this.ngZone.run(() => this.event.emit({ type, editor: this._editor, ...other }));
|
|
36
|
-
}
|
|
37
|
-
setDisabled() {
|
|
38
|
-
this._editor?.updateOptions({ readOnly: this._disabled });
|
|
39
|
-
return this;
|
|
40
|
-
}
|
|
41
|
-
init() {
|
|
42
|
-
if (loadedMonaco) {
|
|
43
|
-
loadPromise.then(() => this.initMonaco(this.options, true));
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
loadedMonaco = true;
|
|
47
|
-
loadPromise = new Promise((resolve, reject) => {
|
|
48
|
-
const win = window;
|
|
49
|
-
if (win == null) {
|
|
50
|
-
resolve();
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
if (win.monaco) {
|
|
54
|
-
resolve();
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
const baseUrl = this._config.baseUrl;
|
|
58
|
-
const amdLoader = () => {
|
|
59
|
-
win.require.config({ paths: { vs: `${baseUrl}/vs` } });
|
|
60
|
-
if (typeof this._config.monacoPreLoad === 'function') {
|
|
61
|
-
this._config.monacoPreLoad();
|
|
62
|
-
}
|
|
63
|
-
win.require(['vs/editor/editor.main'], () => {
|
|
64
|
-
if (typeof this._config.monacoLoad === 'function') {
|
|
65
|
-
this._config.monacoLoad(win.monaco);
|
|
66
|
-
}
|
|
67
|
-
this.initMonaco(this.options, true);
|
|
68
|
-
resolve();
|
|
69
|
-
}, () => {
|
|
70
|
-
reject(`Unable to load editor/editor.main module, please check your network environment.`);
|
|
71
|
-
});
|
|
72
|
-
};
|
|
73
|
-
if (!win.require) {
|
|
74
|
-
const loaderScript = this.doc.createElement('script');
|
|
75
|
-
loaderScript.type = 'text/javascript';
|
|
76
|
-
loaderScript.src = `${baseUrl}/vs/loader.js`;
|
|
77
|
-
loaderScript.onload = amdLoader;
|
|
78
|
-
loaderScript.onerror = () => reject(`Unable to load ${loaderScript.src}, please check your network environment.`);
|
|
79
|
-
this.doc.getElementsByTagName('head')[0].appendChild(loaderScript);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
amdLoader();
|
|
83
|
-
}
|
|
84
|
-
}).catch((error) => this.notifyEvent('load-error', { error }));
|
|
85
|
-
}
|
|
86
|
-
cleanResize() {
|
|
87
|
-
this._resize$?.unsubscribe();
|
|
88
|
-
return this;
|
|
89
|
-
}
|
|
90
|
-
registerResize() {
|
|
91
|
-
this.cleanResize();
|
|
92
|
-
this._resize$ = fromEvent(window, 'resize')
|
|
93
|
-
.pipe(debounceTime(100))
|
|
94
|
-
.subscribe(() => {
|
|
95
|
-
this._editor.layout();
|
|
96
|
-
this.notifyEvent('resize');
|
|
97
|
-
});
|
|
98
|
-
return this;
|
|
99
|
-
}
|
|
100
|
-
updateOptions() {
|
|
101
|
-
if (!this._editor)
|
|
102
|
-
return;
|
|
103
|
-
this.ngZone.runOutsideAngular(() => {
|
|
104
|
-
this._editor.dispose();
|
|
105
|
-
this.initMonaco(this._options, false);
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
ngAfterViewInit() {
|
|
109
|
-
this.ngZone.runOutsideAngular(() => setTimeout(() => this.init(), +this.delay));
|
|
110
|
-
}
|
|
111
|
-
ngOnDestroy() {
|
|
112
|
-
this.cleanResize();
|
|
113
|
-
this._editor?.dispose();
|
|
114
|
-
}
|
|
115
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorBase, deps: [{ token: i0.ElementRef }, { token: NU_MONACO_EDITOR_CONFIG, optional: true }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
116
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: NuMonacoEditorBase, isStandalone: true, selector: "nu-monaco-base", inputs: { height: "height", delay: "delay", disabled: "disabled", options: "options" }, outputs: { event: "event" }, ngImport: i0, template: ``, isInline: true }); }
|
|
117
|
-
}
|
|
118
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorBase, decorators: [{
|
|
119
|
-
type: Component,
|
|
120
|
-
args: [{
|
|
121
|
-
selector: 'nu-monaco-base',
|
|
122
|
-
template: ``,
|
|
123
|
-
standalone: true,
|
|
124
|
-
}]
|
|
125
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: undefined, decorators: [{
|
|
126
|
-
type: Optional
|
|
127
|
-
}, {
|
|
128
|
-
type: Inject,
|
|
129
|
-
args: [NU_MONACO_EDITOR_CONFIG]
|
|
130
|
-
}] }, { type: undefined, decorators: [{
|
|
131
|
-
type: Inject,
|
|
132
|
-
args: [DOCUMENT]
|
|
133
|
-
}] }, { type: i0.NgZone }, { type: i0.DestroyRef }], propDecorators: { height: [{
|
|
134
|
-
type: Input
|
|
135
|
-
}], delay: [{
|
|
136
|
-
type: Input
|
|
137
|
-
}], disabled: [{
|
|
138
|
-
type: Input
|
|
139
|
-
}], options: [{
|
|
140
|
-
type: Input
|
|
141
|
-
}], event: [{
|
|
142
|
-
type: Output
|
|
143
|
-
}] } });
|
|
144
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci1iYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vbmFjby1lZGl0b3IvbW9uYWNvLWVkaXRvci1iYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUVMLFNBQVMsRUFHVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQXdCLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBR3ZGLElBQUksWUFBWSxHQUFHLEtBQUssQ0FBQztBQUN6QixJQUFJLFdBQTBCLENBQUM7QUFPL0Isa0VBQWtFO0FBQ2xFLE1BQU0sT0FBZ0Isa0JBQWtCO0lBU3RDLElBQ0ksUUFBUSxDQUFDLEdBQXFCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUN0RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUNELElBQ0ksT0FBTyxDQUFDLEdBQXVEO1FBQ2pFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDM0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJ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QkFFRixRQUFRO3NCQURYLEtBQUs7Z0JBTUYsT0FBTztzQkFEVixLQUFLO2dCQVFJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTnVNb25hY29FZGl0b3JDb25maWcsIE5VX01PTkFDT19FRElUT1JfQ09ORklHIH0gZnJvbSAnLi9tb25hY28tZWRpdG9yLmNvbmZpZyc7XG5pbXBvcnQgeyBOdU1vbmFjb0VkaXRvckV2ZW50LCBOdU1vbmFjb0VkaXRvckV2ZW50VHlwZSB9IGZyb20gJy4vbW9uYWNvLWVkaXRvci50eXBlcyc7XG5cbmxldCBsb2FkZWRNb25hY28gPSBmYWxzZTtcbmxldCBsb2FkUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbnUtbW9uYWNvLWJhc2UnLFxuICB0ZW1wbGF0ZTogYGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtY2xhc3Mtc3VmZml4XG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTnVNb25hY29FZGl0b3JCYXNlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgcHJvdGVjdGVkIF9lZGl0b3I/OiBtb25hY28uZWRpdG9yLklTdGFuZGFsb25lQ29kZUVkaXRvciB8IG1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVEaWZmRWRpdG9yO1xuICBwcm90ZWN0ZWQgX29wdGlvbnMhOiBtb25hY28uZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucztcbiAgcHJvdGVjdGVkIF9yZXNpemUkOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgcHJvdGVjdGVkIF9jb25maWc6IE51TW9uYWNvRWRpdG9yQ29uZmlnO1xuICBwcm90ZWN0ZWQgX2Rpc2FibGVkPzogYm9vbGVhbjtcblxuICBASW5wdXQoKSBoZWlnaHQgPSBgMjAwcHhgO1xuICBASW5wdXQoKSBkZWxheSA9IDA7XG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2YWw6IGJvb2xlYW4gfCBzdHJpbmcpIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnID8gdHJ1ZSA6IHZhbDtcbiAgICB0aGlzLnNldERpc2FibGVkKCk7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IG9wdGlvbnModmFsOiBtb25hY28uZWRpdG9yLklTdGFuZGFsb25lRWRpdG9yQ29uc3RydWN0aW9uT3B0aW9ucykge1xuICAgIHRoaXMuX29wdGlvbnMgPSB7IC4uLnRoaXMuX2NvbmZpZy5kZWZhdWx0T3B0aW9ucywgLi4udmFsIH07XG4gICAgdGhpcy51cGRhdGVPcHRpb25zKCk7XG4gIH1cbiAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnM7XG4gIH1cbiAgQE91dHB1dCgpIGV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxOdU1vbmFjb0VkaXRvckV2ZW50PigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChOVV9NT05BQ09fRURJVE9SX0NPTkZJRykgY29uZmlnOiBOdU1vbmFjb0VkaXRvckNvbmZpZyxcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcm90ZWN0ZWQgZG9jOiBhbnksXG4gICAgcHJvdGVjdGVkIG5nWm9uZTogTmdab25lLFxuICAgIHByb3RlY3RlZCBkZXN0cm95JDogRGVzdHJveVJlZixcbiAgKSB7XG4gICAgdGhpcy5fY29uZmlnID0geyBiYXNlVXJsOiAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yL21pbicsIGF1dG9Gb3JtYXRUaW1lOiAxMDAsIC4uLmNvbmZpZyB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHRoaXMuX2NvbmZpZy5kZWZhdWx0T3B0aW9ucyE7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgaW5pdE1vbmFjbyhfb3B0aW9uczogbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnMsIF9pbml0RXZlbnQ6IGJvb2xlYW4pOiB2b2lkO1xuXG4gIHByb3RlY3RlZCBub3RpZnlFdmVudCh0eXBlOiBOdU1vbmFjb0VkaXRvckV2ZW50VHlwZSwgb3RoZXI/OiBOdU1vbmFjb0VkaXRvckV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZXZlbnQuZW1pdCh7IHR5cGUsIGVkaXRvcjogdGhpcy5fZWRpdG9yISwgLi4ub3RoZXIgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHNldERpc2FibGVkKCk6IHRoaXMge1xuICAgICh0aGlzLl9lZGl0b3IgYXMgbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3IpPy51cGRhdGVPcHRpb25zKHsgcmVhZE9ubHk6IHRoaXMuX2Rpc2FibGVkIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0KCk6IHZvaWQge1xuICAgIGlmIChsb2FkZWRNb25hY28pIHtcbiAgICAgIGxvYWRQcm9taXNlLnRoZW4oKCkgPT4gdGhpcy5pbml0TW9uYWNvKHRoaXMub3B0aW9ucywgdHJ1ZSkpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvYWRlZE1vbmFjbyA9IHRydWU7XG4gICAgbG9hZFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZTogKCkgPT4gdm9pZCwgcmVqZWN0OiAoZXJyOiBzdHJpbmcpID0+IHZvaWQpID0+IHtcbiAgICAgIGNvbnN0IHdpbjogYW55ID0gd2luZG93O1xuICAgICAgaWYgKHdpbiA9PSBudWxsKSB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAod2luLm1vbmFjbykge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYmFzZVVybCA9IHRoaXMuX2NvbmZpZy5iYXNlVXJsO1xuICAgICAgY29uc3QgYW1kTG9hZGVyID0gKCkgPT4ge1xuICAgICAgICB3aW4ucmVxdWlyZS5jb25maWcoeyBwYXRoczogeyB2czogYCR7YmFzZVVybH0vdnNgIH0gfSk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5fY29uZmlnLm1vbmFjb1ByZUxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB0aGlzLl9jb25maWcubW9uYWNvUHJlTG9hZCgpO1xuICAgICAgICB9XG4gICAgICAgIHdpbi5yZXF1aXJlKFxuICAgICAgICAgIFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9jb25maWcubW9uYWNvTG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICB0aGlzLl9jb25maWcubW9uYWNvTG9hZCh3aW4ubW9uYWNvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaW5pdE1vbmFjbyh0aGlzLm9wdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KGBVbmFibGUgdG8gbG9hZCBlZGl0b3IvZWRpdG9yLm1haW4gbW9kdWxlLCBwbGVhc2UgY2hlY2sgeW91ciBuZXR3b3JrIGVudmlyb25tZW50LmApO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoIXdpbi5yZXF1aXJlKSB7XG4gICAgICAgIGNvbnN0IGxvYWRlclNjcmlwdCA9IHRoaXMuZG9jLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpIGFzIEhUTUxTY3JpcHRFbGVtZW50O1xuICAgICAgICBsb2FkZXJTY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xuICAgICAgICBsb2FkZXJTY3JpcHQuc3JjID0gYCR7YmFzZVVybH0vdnMvbG9hZGVyLmpzYDtcbiAgICAgICAgbG9hZGVyU2NyaXB0Lm9ubG9hZCA9IGFtZExvYWRlcjtcbiAgICAgICAgbG9hZGVyU2NyaXB0Lm9uZXJyb3IgPSAoKSA9PiByZWplY3QoYFVuYWJsZSB0byBsb2FkICR7bG9hZGVyU2NyaXB0LnNyY30sIHBsZWFzZSBjaGVjayB5b3VyIG5ldHdvcmsgZW52aXJvbm1lbnQuYCk7XG4gICAgICAgIHRoaXMuZG9jLmdldEVsZW1lbnRzQnlUYWdOYW1lKCdoZWFkJylbMF0uYXBwZW5kQ2hpbGQobG9hZGVyU2NyaXB0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFtZExvYWRlcigpO1xuICAgICAgfVxuICAgIH0pLmNhdGNoKChlcnJvcikgPT4gdGhpcy5ub3RpZnlFdmVudCgnbG9hZC1lcnJvcicsIHsgZXJyb3IgfSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNsZWFuUmVzaXplKCk6IHRoaXMge1xuICAgIHRoaXMuX3Jlc2l6ZSQ/LnVuc3Vic2NyaWJlKCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVnaXN0ZXJSZXNpemUoKTogdGhpcyB7XG4gICAgdGhpcy5jbGVhblJlc2l6ZSgpO1xuICAgIHRoaXMuX3Jlc2l6ZSQgPSBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuX2VkaXRvciEubGF5b3V0KCk7XG4gICAgICAgIHRoaXMubm90aWZ5RXZlbnQoJ3Jlc2l6ZScpO1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgdXBkYXRlT3B0aW9ucygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2VkaXRvcikgcmV0dXJuO1xuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2VkaXRvciEuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5pbml0TW9uYWNvKHRoaXMuX29wdGlvbnMsIGZhbHNlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW5pdCgpLCArdGhpcy5kZWxheSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5jbGVhblJlc2l6ZSgpO1xuICAgIHRoaXMuX2VkaXRvcj8uZGlzcG9zZSgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
-
import { NuMonacoEditorBase } from './monaco-editor-base.component';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NuMonacoEditorDiffComponent extends NuMonacoEditorBase {
|
|
5
|
-
get editor() {
|
|
6
|
-
return this._editor;
|
|
7
|
-
}
|
|
8
|
-
initMonaco(options, initEvent) {
|
|
9
|
-
if (!this.old || !this.new) {
|
|
10
|
-
this.notifyEvent('error', { error: 'old or new not found for nu-monaco-diff-editor' });
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
const theme = options.theme;
|
|
14
|
-
if (this._disabled != null)
|
|
15
|
-
options.readOnly = this._disabled;
|
|
16
|
-
const editor = (this._editor = monaco.editor.createDiffEditor(this.el.nativeElement, options));
|
|
17
|
-
options.theme = theme;
|
|
18
|
-
editor.setModel({
|
|
19
|
-
original: monaco.editor.createModel(this.old.code, this.old.language || options.language),
|
|
20
|
-
modified: monaco.editor.createModel(this.new.code, this.new.language || options.language),
|
|
21
|
-
});
|
|
22
|
-
// this.setDisabled();
|
|
23
|
-
editor.onDidUpdateDiff(() => this.notifyEvent('update-diff', { diffValue: editor.getModifiedEditor().getValue() }));
|
|
24
|
-
this.registerResize();
|
|
25
|
-
if (initEvent)
|
|
26
|
-
this.notifyEvent('init');
|
|
27
|
-
}
|
|
28
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorDiffComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: NuMonacoEditorDiffComponent, isStandalone: true, selector: "nu-monaco-diff-editor", inputs: { old: "old", new: "new" }, host: { properties: { "style.display": "'block'", "style.height": "height" } }, exportAs: ["nuMonacoDiffEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorDiffComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{
|
|
34
|
-
selector: 'nu-monaco-diff-editor',
|
|
35
|
-
template: ``,
|
|
36
|
-
exportAs: 'nuMonacoDiffEditor',
|
|
37
|
-
host: {
|
|
38
|
-
'[style.display]': `'block'`,
|
|
39
|
-
'[style.height]': 'height',
|
|
40
|
-
},
|
|
41
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
42
|
-
standalone: true,
|
|
43
|
-
}]
|
|
44
|
-
}], propDecorators: { old: [{
|
|
45
|
-
type: Input
|
|
46
|
-
}], new: [{
|
|
47
|
-
type: Input
|
|
48
|
-
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci1kaWZmLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vbmFjby1lZGl0b3IvbW9uYWNvLWVkaXRvci1kaWZmLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFjcEUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUFrQjtJQUlqRSxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUE4QyxDQUFDO0lBQzdELENBQUM7SUFFRCxVQUFVLENBQUMsT0FBMkQsRUFBRSxTQUFrQjtRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxnREFBZ0QsRUFBRSxDQUFDLENBQUM7WUFDdkYsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQUUsT0FBTyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzlELE1BQU0sTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDL0YsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDdEIsTUFBTSxDQUFDLFFBQVEsQ0FBQztZQUNkLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ3pGLFFBQVEsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDO1NBQzFGLENBQUMsQ0FBQztRQUVILHNCQUFzQjtRQUN0QixNQUFNLENBQUMsZUFBZSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXBILElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLFNBQVM7WUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFDLENBQUM7aUlBNUJVLDJCQUEyQjtxSEFBM0IsMkJBQTJCLDhQQVQ1QixFQUFFOzsyRkFTRCwyQkFBMkI7a0JBWHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLFNBQVM7d0JBQzVCLGdCQUFnQixFQUFFLFFBQVE7cUJBQzNCO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVUsR0FBRztzQkFBWCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdU1vbmFjb0VkaXRvckJhc2UgfSBmcm9tICcuL21vbmFjby1lZGl0b3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVNb25hY29FZGl0b3JEaWZmTW9kZWwgfSBmcm9tICcuL21vbmFjby1lZGl0b3IudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudS1tb25hY28tZGlmZi1lZGl0b3InLFxuICB0ZW1wbGF0ZTogYGAsXG4gIGV4cG9ydEFzOiAnbnVNb25hY29EaWZmRWRpdG9yJyxcbiAgaG9zdDoge1xuICAgICdbc3R5bGUuZGlzcGxheV0nOiBgJ2Jsb2NrJ2AsXG4gICAgJ1tzdHlsZS5oZWlnaHRdJzogJ2hlaWdodCcsXG4gIH0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBOdU1vbmFjb0VkaXRvckRpZmZDb21wb25lbnQgZXh0ZW5kcyBOdU1vbmFjb0VkaXRvckJhc2Uge1xuICBASW5wdXQoKSBvbGQhOiBOdU1vbmFjb0VkaXRvckRpZmZNb2RlbCB8IG51bGw7XG4gIEBJbnB1dCgpIG5ldyE6IE51TW9uYWNvRWRpdG9yRGlmZk1vZGVsIHwgbnVsbDtcblxuICBnZXQgZWRpdG9yKCk6IG1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVEaWZmRWRpdG9yIHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2VkaXRvciBhcyBtb25hY28uZWRpdG9yLklTdGFuZGFsb25lRGlmZkVkaXRvcjtcbiAgfVxuXG4gIGluaXRNb25hY28ob3B0aW9uczogbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnMsIGluaXRFdmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICghdGhpcy5vbGQgfHwgIXRoaXMubmV3KSB7XG4gICAgICB0aGlzLm5vdGlmeUV2ZW50KCdlcnJvcicsIHsgZXJyb3I6ICdvbGQgb3IgbmV3IG5vdCBmb3VuZCBmb3IgbnUtbW9uYWNvLWRpZmYtZWRpdG9yJyB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0aGVtZSA9IG9wdGlvbnMudGhlbWU7XG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkICE9IG51bGwpIG9wdGlvbnMucmVhZE9ubHkgPSB0aGlzLl9kaXNhYmxlZDtcbiAgICBjb25zdCBlZGl0b3IgPSAodGhpcy5fZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGVEaWZmRWRpdG9yKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgb3B0aW9ucykpO1xuICAgIG9wdGlvbnMudGhlbWUgPSB0aGVtZTtcbiAgICBlZGl0b3Iuc2V0TW9kZWwoe1xuICAgICAgb3JpZ2luYWw6IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5vbGQuY29kZSwgdGhpcy5vbGQubGFuZ3VhZ2UgfHwgb3B0aW9ucy5sYW5ndWFnZSksXG4gICAgICBtb2RpZmllZDogbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLm5ldy5jb2RlLCB0aGlzLm5ldy5sYW5ndWFnZSB8fCBvcHRpb25zLmxhbmd1YWdlKSxcbiAgICB9KTtcblxuICAgIC8vIHRoaXMuc2V0RGlzYWJsZWQoKTtcbiAgICBlZGl0b3Iub25EaWRVcGRhdGVEaWZmKCgpID0+IHRoaXMubm90aWZ5RXZlbnQoJ3VwZGF0ZS1kaWZmJywgeyBkaWZmVmFsdWU6IGVkaXRvci5nZXRNb2RpZmllZEVkaXRvcigpLmdldFZhbHVlKCkgfSkpO1xuXG4gICAgdGhpcy5yZWdpc3RlclJlc2l6ZSgpO1xuICAgIGlmIChpbml0RXZlbnQpIHRoaXMubm90aWZ5RXZlbnQoJ2luaXQnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, forwardRef, Input } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { NuMonacoEditorBase } from './monaco-editor-base.component';
|
|
4
|
-
import { take, timer } from 'rxjs';
|
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class NuMonacoEditorComponent extends NuMonacoEditorBase {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(...arguments);
|
|
10
|
-
this._value = '';
|
|
11
|
-
this.autoFormat = true;
|
|
12
|
-
this.onChange = (_) => { };
|
|
13
|
-
this.onTouched = () => { };
|
|
14
|
-
}
|
|
15
|
-
get editor() {
|
|
16
|
-
return this._editor;
|
|
17
|
-
}
|
|
18
|
-
initMonaco(options, initEvent) {
|
|
19
|
-
const hasModel = !!this.model;
|
|
20
|
-
if (hasModel) {
|
|
21
|
-
const model = monaco.editor.getModel(this.model.uri || '');
|
|
22
|
-
if (model) {
|
|
23
|
-
options.model = model;
|
|
24
|
-
options.model.setValue(this._value);
|
|
25
|
-
}
|
|
26
|
-
else {
|
|
27
|
-
const { value, language, uri } = this.model;
|
|
28
|
-
options.model = monaco.editor.createModel(value || this._value, language, uri);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
if (this._disabled != null)
|
|
32
|
-
options.readOnly = this._disabled;
|
|
33
|
-
const editor = (this._editor = monaco.editor.create(this.el.nativeElement, options));
|
|
34
|
-
if (!hasModel) {
|
|
35
|
-
editor.setValue(this._value);
|
|
36
|
-
}
|
|
37
|
-
editor.onDidChangeModelContent(() => {
|
|
38
|
-
const value = editor.getValue();
|
|
39
|
-
this.ngZone.run(() => {
|
|
40
|
-
this._value = value;
|
|
41
|
-
this.onChange(value);
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
editor.onDidBlurEditorWidget(() => this.onTouched());
|
|
45
|
-
this.registerResize();
|
|
46
|
-
const eventName = initEvent ? 'init' : 're-init';
|
|
47
|
-
if (this.autoFormat) {
|
|
48
|
-
timer(this._config.autoFormatTime)
|
|
49
|
-
.pipe(takeUntilDestroyed(this.destroy$), take(1))
|
|
50
|
-
.subscribe(() => {
|
|
51
|
-
const action = editor.getAction('editor.action.formatDocument');
|
|
52
|
-
if (action == null) {
|
|
53
|
-
this.notifyEvent(eventName);
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
action.run().then(() => this.notifyEvent(eventName));
|
|
57
|
-
});
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
this.notifyEvent(eventName);
|
|
61
|
-
}
|
|
62
|
-
writeValue(value) {
|
|
63
|
-
this._value = value || '';
|
|
64
|
-
this._editor?.setValue(this._value);
|
|
65
|
-
}
|
|
66
|
-
registerOnChange(fn) {
|
|
67
|
-
this.onChange = fn;
|
|
68
|
-
}
|
|
69
|
-
registerOnTouched(fn) {
|
|
70
|
-
this.onTouched = fn;
|
|
71
|
-
}
|
|
72
|
-
setDisabledState(_isDisabled) {
|
|
73
|
-
this.disabled = _isDisabled;
|
|
74
|
-
this.setDisabled();
|
|
75
|
-
}
|
|
76
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
77
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.3", type: NuMonacoEditorComponent, isStandalone: true, selector: "nu-monaco-editor", inputs: { model: "model", autoFormat: "autoFormat" }, host: { properties: { "style.display": "'block'", "style.height": "height" } }, providers: [
|
|
78
|
-
{
|
|
79
|
-
provide: NG_VALUE_ACCESSOR,
|
|
80
|
-
useExisting: forwardRef((() => NuMonacoEditorComponent)),
|
|
81
|
-
multi: true,
|
|
82
|
-
},
|
|
83
|
-
], exportAs: ["nuMonacoEditor"], usesInheritance: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
84
|
-
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorComponent, decorators: [{
|
|
86
|
-
type: Component,
|
|
87
|
-
args: [{
|
|
88
|
-
selector: 'nu-monaco-editor',
|
|
89
|
-
template: ``,
|
|
90
|
-
exportAs: 'nuMonacoEditor',
|
|
91
|
-
host: {
|
|
92
|
-
'[style.display]': `'block'`,
|
|
93
|
-
'[style.height]': 'height',
|
|
94
|
-
},
|
|
95
|
-
providers: [
|
|
96
|
-
{
|
|
97
|
-
provide: NG_VALUE_ACCESSOR,
|
|
98
|
-
useExisting: forwardRef((() => NuMonacoEditorComponent)),
|
|
99
|
-
multi: true,
|
|
100
|
-
},
|
|
101
|
-
],
|
|
102
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
103
|
-
standalone: true,
|
|
104
|
-
}]
|
|
105
|
-
}], propDecorators: { model: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], autoFormat: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}] } });
|
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb25hY28tZWRpdG9yL21vbmFjby1lZGl0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEUsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBb0JoRSxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsa0JBQWtCO0lBbEIvRDs7UUFtQlUsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUdYLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFNbkIsYUFBUSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDN0IsY0FBUyxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztLQXFFOUI7SUExRUMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBOEMsQ0FBQztJQUM3RCxDQUFDO0lBS0QsVUFBVSxDQUFDLE9BQTJELEVBQUUsU0FBa0I7UUFDeEYsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFFOUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFNLENBQUMsR0FBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdELElBQUksS0FBSyxFQUFF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LGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQW9CO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO2lJQS9FVSx1QkFBdUI7cUhBQXZCLHVCQUF1QixxTUFWdkI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixFQUFDO2dCQUN0RCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsK0VBWlMsRUFBRTs7MkZBZ0JELHVCQUF1QjtrQkFsQm5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsSUFBSSxFQUFFO3dCQUNKLGlCQUFpQixFQUFFLFNBQVM7d0JBQzVCLGdCQUFnQixFQUFFLFFBQVE7cUJBQzNCO29CQUNELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx3QkFBd0IsRUFBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFJVSxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOdU1vbmFjb0VkaXRvckJhc2UgfSBmcm9tICcuL21vbmFjby1lZGl0b3ItYmFzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVNb25hY29FZGl0b3JNb2RlbCB9IGZyb20gJy4vbW9uYWNvLWVkaXRvci50eXBlcyc7XG5pbXBvcnQgeyB0YWtlLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdudS1tb25hY28tZWRpdG9yJyxcbiAgdGVtcGxhdGU6IGBgLFxuICBleHBvcnRBczogJ251TW9uYWNvRWRpdG9yJyxcbiAgaG9zdDoge1xuICAgICdbc3R5bGUuZGlzcGxheV0nOiBgJ2Jsb2NrJ2AsXG4gICAgJ1tzdHlsZS5oZWlnaHRdJzogJ2hlaWdodCcsXG4gIH0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTnVNb25hY29FZGl0b3JDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIE51TW9uYWNvRWRpdG9yQ29tcG9uZW50IGV4dGVuZHMgTnVNb25hY29FZGl0b3JCYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBwcml2YXRlIF92YWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIG1vZGVsPzogTnVNb25hY29FZGl0b3JNb2RlbCB8IG51bGw7XG4gIEBJbnB1dCgpIGF1dG9Gb3JtYXQgPSB0cnVlO1xuXG4gIGdldCBlZGl0b3IoKTogbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3IgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yIGFzIG1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkNoYW5nZSA9IChfOiBzdHJpbmcpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIGluaXRNb25hY28ob3B0aW9uczogbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnMsIGluaXRFdmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGhhc01vZGVsID0gISF0aGlzLm1vZGVsO1xuXG4gICAgaWYgKGhhc01vZGVsKSB7XG4gICAgICBjb25zdCBtb2RlbCA9IG1vbmFjby5lZGl0b3IuZ2V0TW9kZWwodGhpcy5tb2RlbCEudXJpISB8fCAnJyk7XG4gICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgb3B0aW9ucy5tb2RlbCA9IG1vZGVsO1xuICAgICAgICBvcHRpb25zLm1vZGVsLnNldFZhbHVlKHRoaXMuX3ZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHsgdmFsdWUsIGxhbmd1YWdlLCB1cmkgfSA9IHRoaXMubW9kZWwhO1xuICAgICAgICBvcHRpb25zLm1vZGVsID0gbW9uYWNvLmVkaXRvci5jcmVhdGVNb2RlbCh2YWx1ZSB8fCB0aGlzLl92YWx1ZSwgbGFuZ3VhZ2UsIHVyaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2Rpc2FibGVkICE9IG51bGwpIG9wdGlvbnMucmVhZE9ubHkgPSB0aGlzLl9kaXNhYmxlZDtcbiAgICBjb25zdCBlZGl0b3IgPSAodGhpcy5fZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCBvcHRpb25zKSk7XG5cbiAgICBpZiAoIWhhc01vZGVsKSB7XG4gICAgICBlZGl0b3Iuc2V0VmFsdWUodGhpcy5fdmFsdWUpO1xuICAgIH1cblxuICAgIGVkaXRvci5vbkRpZENoYW5nZU1vZGVsQ29udGVudCgoKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGVkaXRvci5nZXRWYWx1ZSgpO1xuXG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIGVkaXRvci5vbkRpZEJsdXJFZGl0b3JXaWRnZXQoKCkgPT4gdGhpcy5vblRvdWNoZWQoKSk7XG5cbiAgICB0aGlzLnJlZ2lzdGVyUmVzaXplKCk7XG5cbiAgICBjb25zdCBldmVudE5hbWUgPSBpbml0RXZlbnQgPyAnaW5pdCcgOiAncmUtaW5pdCc7XG4gICAgaWYgKHRoaXMuYXV0b0Zvcm1hdCkge1xuICAgICAgdGltZXIodGhpcy5fY29uZmlnLmF1dG9Gb3JtYXRUaW1lISlcbiAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveSQpLCB0YWtlKDEpKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBhY3Rpb24gPSBlZGl0b3IuZ2V0QWN0aW9uKCdlZGl0b3IuYWN0aW9uLmZvcm1hdERvY3VtZW50Jyk7XG4gICAgICAgICAgaWYgKGFjdGlvbiA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLm5vdGlmeUV2ZW50KGV2ZW50TmFtZSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGFjdGlvbi5ydW4oKS50aGVuKCgpID0+IHRoaXMubm90aWZ5RXZlbnQoZXZlbnROYW1lKSk7XG4gICAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5vdGlmeUV2ZW50KGV2ZW50TmFtZSk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgICh0aGlzLl9lZGl0b3IgYXMgbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3IpPy5zZXRWYWx1ZSh0aGlzLl92YWx1ZSk7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoXzogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKF9pc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5kaXNhYmxlZCA9IF9pc0Rpc2FibGVkO1xuICAgIHRoaXMuc2V0RGlzYWJsZWQoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
export const NU_MONACO_EDITOR_CONFIG = new InjectionToken('NU_MONACO_EDITOR_CONFIG');
|
|
3
|
-
export function provideNuMonacoEditorConfig(config) {
|
|
4
|
-
return makeEnvironmentProviders([{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }]);
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb25hY28tZWRpdG9yL21vbmFjby1lZGl0b3IuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBd0IsY0FBYyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9GLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLElBQUksY0FBYyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFFckYsTUFBTSxVQUFVLDJCQUEyQixDQUFDLE1BQTZCO0lBQ3ZFLE9BQU8sd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzVGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnZpcm9ubWVudFByb3ZpZGVycywgSW5qZWN0aW9uVG9rZW4sIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgTlVfTU9OQUNPX0VESVRPUl9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ05VX01PTkFDT19FRElUT1JfQ09ORklHJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTnVNb25hY29FZGl0b3JDb25maWcoY29uZmlnPzogTnVNb25hY29FZGl0b3JDb25maWcpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJldHVybiBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMoW3sgcHJvdmlkZTogTlVfTU9OQUNPX0VESVRPUl9DT05GSUcsIHVzZVZhbHVlOiBjb25maWcgfV0pO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE51TW9uYWNvRWRpdG9yQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIFVSTCB0byBtb25hY28gZWRpdG9yIGxpYnJhcnkgYXNzZXRzIHZpYSBBTUQgKFJlcXVpcmVKUyksIERlZmF1bHQ6IGBodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3IvbWluYFxuICAgKiBZb3UgY2FuIHVzaW5nIGxvY2FsIHBhdGgsIGUuZy46IGBhc3NldHMvbW9uYWNvLWVkaXRvci9taW5gLlxuICAgKi9cbiAgYmFzZVVybD86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHQgb3B0aW9ucyB3aGVuIGNyZWF0aW5nIGVkaXRvcnNcbiAgICovXG4gIGRlZmF1bHRPcHRpb25zPzogbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZUVkaXRvckNvbnN0cnVjdGlvbk9wdGlvbnM7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgYWZ0ZXIgdGhlIGZpcnN0IGxvYWRpbmcgb2YgdGhlIG1vbmFjbyBlZGl0b3IgbGlicmFyeSBpcyBjb21wbGV0ZWQsIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIGV4dGVuZCBtb25hY28gZWRpdG9yIGZ1bmN0aW9uYWxpdGllcy5cbiAgICogLSBAcGFyYW0gYF9tb25hY29gIGVxdWFyIHRvIGB3aW5kb3cubW9uYWNvYFxuICAgKi9cbiAgbW9uYWNvTG9hZD86IChfbW9uYWNvOiBhbnkpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgYmVmb3JlIHRoZSBmaXJzdCBwcmVsb2FkIG9mIHRoZSBtb25hY28gZWRpdG9yIGxpYnJhcnkgaXMgY29tcGxldGVkLCB1c2UgdGhpcyBmdW5jdGlvbiB0byBzZXQgbmxzIGF2YWlsYWJsZUxhbmd1YWdlcy5cbiAgICovXG4gIG1vbmFjb1ByZUxvYWQ/OiAoKSA9PiB2b2lkO1xuICAvKipcbiAgICogVHJpZ2dlciBhdXRvbWF0aWMgZm9ybWF0IGRlbGF5IHRpbWUsIGRlZmF1bHQ6IGAxMDBgXG4gICAqL1xuICBhdXRvRm9ybWF0VGltZT86IG51bWJlcjtcbn1cbiJdfQ==
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { NuMonacoEditorDiffComponent } from './monaco-editor-diff.component';
|
|
4
|
-
import { NuMonacoEditorComponent } from './monaco-editor.component';
|
|
5
|
-
import { NU_MONACO_EDITOR_CONFIG } from './monaco-editor.config';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
const COMPONENTS = [NuMonacoEditorComponent, NuMonacoEditorDiffComponent];
|
|
8
|
-
export class NuMonacoEditorModule {
|
|
9
|
-
/**
|
|
10
|
-
* Or use `provideNuMonacoEditorConfig` instead.
|
|
11
|
-
*/
|
|
12
|
-
static forRoot(config) {
|
|
13
|
-
return {
|
|
14
|
-
ngModule: NuMonacoEditorModule,
|
|
15
|
-
providers: [{ provide: NU_MONACO_EDITOR_CONFIG, useValue: config }],
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
19
|
-
/** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorModule, imports: [CommonModule, NuMonacoEditorComponent, NuMonacoEditorDiffComponent], exports: [NuMonacoEditorComponent, NuMonacoEditorDiffComponent] }); }
|
|
20
|
-
/** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorModule, imports: [CommonModule] }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NuMonacoEditorModule, decorators: [{
|
|
23
|
-
type: NgModule,
|
|
24
|
-
args: [{
|
|
25
|
-
imports: [CommonModule, ...COMPONENTS],
|
|
26
|
-
exports: COMPONENTS,
|
|
27
|
-
}]
|
|
28
|
-
}] });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9tb25hY28tZWRpdG9yL21vbmFjby1lZGl0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRSxPQUFPLEVBQXdCLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBRXZGLE1BQU0sVUFBVSxHQUFHLENBQUMsdUJBQXVCLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztBQU0xRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUE2QjtRQUMxQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLG9CQUFvQjtZQUM5QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7U0FDcEUsQ0FBQztJQUNKLENBQUM7aUlBVFUsb0JBQW9CO2tJQUFwQixvQkFBb0IsWUFIckIsWUFBWSxFQUhKLHVCQUF1QixFQUFFLDJCQUEyQixhQUFwRCx1QkFBdUIsRUFBRSwyQkFBMkI7a0lBTTNELG9CQUFvQixZQUhyQixZQUFZOzsyRkFHWCxvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLEdBQUcsVUFBVSxDQUFDO29CQUN0QyxPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51TW9uYWNvRWRpdG9yRGlmZkNvbXBvbmVudCB9IGZyb20gJy4vbW9uYWNvLWVkaXRvci1kaWZmLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOdU1vbmFjb0VkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vbW9uYWNvLWVkaXRvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTnVNb25hY29FZGl0b3JDb25maWcsIE5VX01PTkFDT19FRElUT1JfQ09ORklHIH0gZnJvbSAnLi9tb25hY28tZWRpdG9yLmNvbmZpZyc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbTnVNb25hY29FZGl0b3JDb21wb25lbnQsIE51TW9uYWNvRWRpdG9yRGlmZkNvbXBvbmVudF07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIC4uLkNPTVBPTkVOVFNdLFxuICBleHBvcnRzOiBDT01QT05FTlRTLFxufSlcbmV4cG9ydCBjbGFzcyBOdU1vbmFjb0VkaXRvck1vZHVsZSB7XG4gIC8qKlxuICAgKiBPciB1c2UgYHByb3ZpZGVOdU1vbmFjb0VkaXRvckNvbmZpZ2AgaW5zdGVhZC5cbiAgICovXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IE51TW9uYWNvRWRpdG9yQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxOdU1vbmFjb0VkaXRvck1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTnVNb25hY29FZGl0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IE5VX01PTkFDT19FRElUT1JfQ09ORklHLCB1c2VWYWx1ZTogY29uZmlnIH1dLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
// tslint:disable-next-line: no-reference
|
|
2
|
-
/// <reference path="./monaco.d.ts" />
|
|
3
|
-
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uYWNvLWVkaXRvci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vbmFjby1lZGl0b3IvbW9uYWNvLWVkaXRvci50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5Q0FBeUM7QUFDekMsc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1yZWZlcmVuY2Vcbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL21vbmFjby5kLnRzXCIgLz5cblxuZXhwb3J0IGludGVyZmFjZSBOdU1vbmFjb0VkaXRvck1vZGVsIHtcbiAgdmFsdWU/OiBzdHJpbmc7XG4gIGxhbmd1YWdlPzogc3RyaW5nO1xuICB1cmk/OiBtb25hY28uVXJpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE51TW9uYWNvRWRpdG9yRGlmZk1vZGVsIHtcbiAgY29kZTogc3RyaW5nO1xuICBsYW5ndWFnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTnVNb25hY29FZGl0b3JFdmVudFR5cGUgPSAnbG9hZC1lcnJvcicgfCAnaW5pdCcgfCAncmUtaW5pdCcgfCAncmVzaXplJyB8ICd1cGRhdGUtZGlmZicgfCAnZXJyb3InO1xuXG5leHBvcnQgaW50ZXJmYWNlIE51TW9uYWNvRWRpdG9yRXZlbnQge1xuICB0eXBlPzogTnVNb25hY29FZGl0b3JFdmVudFR5cGU7XG4gIGVkaXRvcj86IG1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yIHwgbW9uYWNvLmVkaXRvci5JU3RhbmRhbG9uZURpZmZFZGl0b3I7XG4gIGVycm9yPzogc3RyaW5nO1xuICAvKiogSnVzdCBvbmx5IGBudS1tb25hY28tZWRpdG9yLWRpZmZgIGNvbXBvbmVudCAqL1xuICBkaWZmVmFsdWU/OiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdXRpbC1tb25hY28tZWRpdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbW9uYWNvLWVkaXRvci9uZy11dGlsLW1vbmFjby1lZGl0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
package/esm2022/public-api.mjs
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './monaco-editor.types';
|
|
2
|
-
export * from './monaco-editor.component';
|
|
3
|
-
export * from './monaco-editor-diff.component';
|
|
4
|
-
export * from './monaco-editor.config';
|
|
5
|
-
export * from './monaco-editor.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vbmFjby1lZGl0b3IvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL21vbmFjby1lZGl0b3IudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25hY28tZWRpdG9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL21vbmFjby1lZGl0b3ItZGlmZi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25hY28tZWRpdG9yLmNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL21vbmFjby1lZGl0b3IubW9kdWxlJztcbiJdfQ==
|