Skip to content

Commit 69ac6c7

Browse files
Merge pull request #10 from DataKitchen/feat/refactor_to_avoid_compilation_issues
Feat/refactor to avoid compilation issues
2 parents 09dd035 + 6a6f5ef commit 69ac6c7

File tree

8 files changed

+41
-37
lines changed

8 files changed

+41
-37
lines changed

projects/ngx-monaco-editor/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
## Install
77
With your package manager of preference, install
88
```
9-
@datakitchen/ngx-monaco-editor
9+
@datakitchen/ngx-monaco-editor @monaco-editor/loader monaco-editor
1010
```
1111

1212
## Usage

projects/ngx-monaco-editor/src/lib/ngx-monaco-editor.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ import { NgxMonacoEditorService } from './ngx-monaco-editor.service';
33
import { of } from 'rxjs';
44
import { FormControl, ReactiveFormsModule } from '@angular/forms';
55
import { Component, ViewChild } from '@angular/core';
6-
import { NGX_MONACO_EDITOR_CONFIG } from './ngx-monaco-editor.module';
76
import { NgxMonacoEditorComponent } from './ngx-monaco-editor.component';
87
import { MatLegacyFormFieldModule } from '@angular/material/legacy-form-field';
98
import Mock = jest.Mock;
109
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
10+
import { NGX_MONACO_EDITOR_CONFIG } from './ngx-monaco-editor.model';
1111

1212
/*
1313
There are two know bugs left to resolve

projects/ngx-monaco-editor/src/lib/ngx-monaco-editor.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ import { AfterViewInit, Component, ElementRef, inject, Input, ViewChild } from '
33
import { BehaviorSubject, catchError, EMPTY, tap } from 'rxjs';
44
import { MatLegacyFormFieldControl as MatFormFieldControl } from '@angular/material/legacy-form-field';
55
import { NgxMonacoEditorService } from './ngx-monaco-editor.service';
6-
import { IEditorOptions, StandaloneCodeEditor } from './ngx-monaco-editor.module';
76
import { AbstractMatFormFieldControl } from './abstract-mat-form-field-control/abstract-mat-form-field-control.directive';
87
import { FormControl } from '@angular/forms';
8+
import { IEditorOptions, StandaloneCodeEditor } from './ngx-monaco-editor.model';
99

1010

1111
@Component({
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';
2+
import { editor } from 'monaco-editor/esm/vs/editor/editor.api';
3+
import IMarker = editor.IMarker;
4+
import { InjectionToken } from '@angular/core';
5+
6+
export const defaultOptions = {
7+
language: 'json',
8+
automaticLayout: true,
9+
lineNumbers: 'off',
10+
roundedSelection: false,
11+
scrollBeyondLastLine: false,
12+
readOnly: false,
13+
theme: 'vs',
14+
minimap: {
15+
enabled: false
16+
},
17+
selectOnLineNumbers: true,
18+
wordWrap: 'on'
19+
};
20+
21+
export type IEditorOptions = monacoEditor.editor.IEditorOptions;
22+
export type IStandaloneCodeEditor = monacoEditor.editor.IStandaloneCodeEditor;
23+
24+
export const NGX_MONACO_EDITOR_CONFIG = new InjectionToken<IEditorOptions>('NGX_MONACO_EDITOR_CONFIG');
25+
26+
export interface StandaloneCodeEditor extends IStandaloneCodeEditor {
27+
onDidChangeMarkers: (cb: (errors: IMarker[]) => void) => void;
28+
}

projects/ngx-monaco-editor/src/lib/ngx-monaco-editor.module.ts

Lines changed: 5 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,12 @@
1-
import { APP_INITIALIZER, InjectionToken, NgModule } from '@angular/core';
21
import { CommonModule } from '@angular/common';
3-
import loader from '@monaco-editor/loader';
4-
import * as monacoEditor from 'monaco-editor/esm/vs/editor/editor.api';
5-
import { editor } from 'monaco-editor/esm/vs/editor/editor.api';
6-
import { NgxMonacoEditorService } from './ngx-monaco-editor.service';
7-
import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';
2+
import { APP_INITIALIZER, NgModule } from '@angular/core';
83
import { ReactiveFormsModule } from '@angular/forms';
4+
import { MatLegacyProgressSpinnerModule as MatProgressSpinnerModule } from '@angular/material/legacy-progress-spinner';
5+
import loader from '@monaco-editor/loader';
96
import { NgxMonacoEditorComponent } from './ngx-monaco-editor.component';
10-
import IMarker = editor.IMarker;
11-
12-
export const defaultOptions = {
13-
language: 'json',
14-
automaticLayout: true,
15-
lineNumbers: 'off',
16-
roundedSelection: false,
17-
scrollBeyondLastLine: false,
18-
readOnly: false,
19-
theme: 'vs',
20-
minimap: {
21-
enabled: false
22-
},
23-
selectOnLineNumbers: true,
24-
wordWrap: 'on'
25-
};
26-
27-
export type IEditorOptions = monacoEditor.editor.IEditorOptions;
28-
export type IStandaloneCodeEditor = monacoEditor.editor.IStandaloneCodeEditor;
29-
30-
export const NGX_MONACO_EDITOR_CONFIG = new InjectionToken<IEditorOptions>('NGX_MONACO_EDITOR_CONFIG');
7+
import { NGX_MONACO_EDITOR_CONFIG, defaultOptions } from './ngx-monaco-editor.model';
8+
import { NgxMonacoEditorService } from './ngx-monaco-editor.service';
319

32-
export interface StandaloneCodeEditor extends IStandaloneCodeEditor {
33-
onDidChangeMarkers: (cb: (errors: IMarker[]) => void) => void;
34-
}
3510

3611

3712
@NgModule({

projects/ngx-monaco-editor/src/lib/ngx-monaco-editor.service.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { TestBed } from '@angular/core/testing';
22
import { NgxMonacoEditorService } from './ngx-monaco-editor.service';
3-
import { NGX_MONACO_EDITOR_CONFIG } from './ngx-monaco-editor.module';
3+
import { NGX_MONACO_EDITOR_CONFIG } from './ngx-monaco-editor.model';
44

55
describe('ngx-monaco-editor.service', () => {
66

projects/ngx-monaco-editor/src/lib/ngx-monaco-editor.service.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
/* istanbul ignore file */
22
import { Inject, Injectable } from '@angular/core';
3-
import { AsyncSubject, tap } from 'rxjs';
3+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
44
import { Monaco } from '@monaco-editor/loader';
5-
import { IEditorOptions, NGX_MONACO_EDITOR_CONFIG, StandaloneCodeEditor } from './ngx-monaco-editor.module';
65
import { editor } from 'monaco-editor';
7-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6+
import { AsyncSubject, tap } from 'rxjs';
87
import IMarker = editor.IMarker;
8+
import { IEditorOptions, NGX_MONACO_EDITOR_CONFIG, StandaloneCodeEditor } from './ngx-monaco-editor.model';
99

1010
@Injectable({
1111
providedIn: 'root',

projects/ngx-monaco-editor/src/public-api.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,4 @@
55
export * from './lib/ngx-monaco-editor.module';
66
export * from './lib/ngx-monaco-editor.service';
77
export * from './lib/ngx-monaco-editor.component';
8+
export * from './lib/ngx-monaco-editor.model';

0 commit comments

Comments
 (0)