@firestitch/text-editor 12.2.0 → 12.3.1

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.
@@ -1,34 +1,37 @@
1
- import { EventEmitter, OnInit, ElementRef } from '@angular/core';
2
- import { ControlValueAccessor } from '@angular/forms';
3
- import { EditorComponent } from 'ngx-monaco-editor';
4
- import { FsTextEditorConfig } from '../../interfaces/config.interface';
5
- import * as i0 from "@angular/core";
6
- export declare class FsTextEditorComponent implements OnInit, ControlValueAccessor {
7
- private _element;
8
- config: FsTextEditorConfig;
9
- scrollable: boolean;
10
- init: EventEmitter<any>;
11
- blur: EventEmitter<any>;
12
- _editorContainer: EditorComponent;
13
- defaultConfig: FsTextEditorConfig;
14
- onChange: (_: any) => void;
15
- onTouched: () => void;
16
- get monaco(): any;
17
- constructor(_element: ElementRef);
18
- readonly LINE_HEIGHT = 18;
19
- private _editorRef;
20
- private _value;
21
- ngOnInit(): void;
22
- get value(): string;
23
- onEditorInit(event: any): void;
24
- writeValue(value: any): void;
25
- changed(e: any): void;
26
- registerOnChange(fn: any): void;
27
- registerOnTouched(fn: any): void;
28
- private _initEditor;
29
- private _updateEditorHeight;
30
- updateLayout(): void;
31
- private _disableScroll;
32
- static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorComponent, never>;
33
- static ɵcmp: i0.ɵɵComponentDeclaration<FsTextEditorComponent, "fs-text-editor", never, { "config": "config"; "scrollable": "scrollable"; }, { "init": "init"; "blur": "blur"; }, never, never>;
34
- }
1
+ import { EventEmitter, OnInit, ElementRef, OnDestroy } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import { EditorComponent } from 'ngx-monaco-editor';
4
+ import { FsTextEditorConfig } from '../../interfaces/config.interface';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FsTextEditorComponent implements OnInit, OnDestroy, ControlValueAccessor {
7
+ private _element;
8
+ private _document;
9
+ config: FsTextEditorConfig;
10
+ scrollable: boolean;
11
+ init: EventEmitter<any>;
12
+ blur: EventEmitter<any>;
13
+ _editorContainer: EditorComponent;
14
+ defaultConfig: FsTextEditorConfig;
15
+ onChange: (_: any) => void;
16
+ onTouched: () => void;
17
+ private _window;
18
+ get monaco(): any;
19
+ constructor(_element: ElementRef, _document: Document);
20
+ readonly LINE_HEIGHT = 18;
21
+ private _editorRef;
22
+ private _value;
23
+ ngOnInit(): void;
24
+ ngOnDestroy(): void;
25
+ get value(): string;
26
+ onEditorInit(event: any): void;
27
+ writeValue(value: any): void;
28
+ changed(e: any): void;
29
+ registerOnChange(fn: any): void;
30
+ registerOnTouched(fn: any): void;
31
+ private _initEditor;
32
+ private _updateEditorHeight;
33
+ updateLayout(): void;
34
+ private _disableScroll;
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorComponent, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<FsTextEditorComponent, "fs-text-editor", never, { "config": "config"; "scrollable": "scrollable"; }, { "init": "init"; "blur": "blur"; }, never, never>;
37
+ }
@@ -1,10 +1,13 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./components/text-editor/text-editor.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "ngx-monaco-editor";
5
- import * as i4 from "@angular/forms";
6
- export declare class FsTextEditorModule {
7
- static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorModule, never>;
8
- static ɵmod: i0.ɵɵNgModuleDeclaration<FsTextEditorModule, [typeof i1.FsTextEditorComponent], [typeof i2.CommonModule, typeof i3.MonacoEditorModule, typeof i4.FormsModule], [typeof i1.FsTextEditorComponent]>;
9
- static ɵinj: i0.ɵɵInjectorDeclaration<FsTextEditorModule>;
10
- }
1
+ import { ModuleWithProviders } from '@angular/core';
2
+ import { NgxMonacoEditorConfig } from 'ngx-monaco-editor';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./components/text-editor/text-editor.component";
5
+ import * as i2 from "@angular/common";
6
+ import * as i3 from "ngx-monaco-editor";
7
+ import * as i4 from "@angular/forms";
8
+ export declare class FsTextEditorModule {
9
+ static forRoot(config?: NgxMonacoEditorConfig): ModuleWithProviders<FsTextEditorModule>;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<FsTextEditorModule, never>;
11
+ static ɵmod: i0.ɵɵNgModuleDeclaration<FsTextEditorModule, [typeof i1.FsTextEditorComponent], [typeof i2.CommonModule, typeof i3.MonacoEditorModule, typeof i4.FormsModule], [typeof i1.FsTextEditorComponent]>;
12
+ static ɵinj: i0.ɵɵInjectorDeclaration<FsTextEditorModule>;
13
+ }
@@ -1,4 +1,4 @@
1
- import { editor } from 'monaco-editor';
2
- export interface FsTextEditorConfig extends editor.IStandaloneEditorConstructionOptions {
3
- autoHeight?: boolean;
4
- }
1
+ import { editor } from 'monaco-editor';
2
+ export interface FsTextEditorConfig extends editor.IStandaloneEditorConstructionOptions {
3
+ autoHeight?: boolean;
4
+ }
@@ -26,189 +26,208 @@
26
26
  var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
27
27
  var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
28
28
 
29
- var FsTextEditorComponent = /** @class */ (function () {
30
- function FsTextEditorComponent(_element) {
31
- this._element = _element;
32
- this.config = {};
33
- this.scrollable = false;
34
- this.init = new i0.EventEmitter();
35
- this.blur = new i0.EventEmitter();
36
- this.defaultConfig = {
37
- minimap: {
38
- enabled: false
39
- },
40
- theme: 'vs-dark',
41
- automaticLayout: false,
42
- scrollBeyondLastLine: false,
43
- autoHeight: true,
44
- scrollbar: {
45
- vertical: 'hidden'
46
- },
47
- hideCursorInOverviewRuler: true
48
- };
49
- this.onChange = function (_) { };
50
- this.onTouched = function () { };
51
- this.LINE_HEIGHT = 18;
52
- this._value = '';
53
- }
54
- Object.defineProperty(FsTextEditorComponent.prototype, "monaco", {
55
- get: function () {
56
- return window.monaco;
57
- },
58
- enumerable: false,
59
- configurable: true
60
- });
61
- ;
62
- ;
63
- FsTextEditorComponent.prototype.ngOnInit = function () {
64
- if (this.config) {
65
- this.config = Object.assign({}, this.defaultConfig, this.config);
66
- }
67
- };
68
- Object.defineProperty(FsTextEditorComponent.prototype, "value", {
69
- get: function () {
70
- return this._value;
71
- },
72
- enumerable: false,
73
- configurable: true
74
- });
75
- FsTextEditorComponent.prototype.onEditorInit = function (event) {
76
- var _this = this;
77
- // Timeout allows the content to fully load to and calculate height
78
- setTimeout(function () {
79
- _this._editorRef = event;
80
- _this._initEditor();
81
- _this.init.next(event);
82
- if (!_this.scrollable) {
83
- _this._disableScroll();
84
- }
85
- });
86
- };
87
- FsTextEditorComponent.prototype.writeValue = function (value) {
88
- this._value = value || '';
89
- };
90
- FsTextEditorComponent.prototype.changed = function (e) {
91
- if (this._value !== e) {
92
- this._value = e;
93
- this.onChange(e);
94
- }
95
- };
96
- FsTextEditorComponent.prototype.registerOnChange = function (fn) {
97
- this.onChange = fn;
98
- };
99
- FsTextEditorComponent.prototype.registerOnTouched = function (fn) {
100
- this.onTouched = fn;
101
- };
102
- FsTextEditorComponent.prototype._initEditor = function () {
103
- var _this = this;
104
- if (this._editorRef && this.config.autoHeight) {
105
- this._updateEditorHeight();
106
- this._editorRef.onDidChangeModelContent(function (e) {
107
- _this._updateEditorHeight();
108
- });
109
- this._editorRef.onDidBlurEditorText(function () {
110
- _this.blur.next();
111
- });
112
- }
113
- };
114
- FsTextEditorComponent.prototype._updateEditorHeight = function () {
115
- var editorDomNode = this._editorRef.getDomNode();
116
- if (!editorDomNode) {
117
- return;
118
- }
119
- var container = editorDomNode.getElementsByClassName('view-lines')[0];
120
- var lineHeight = container.firstChild
121
- ? container.firstChild.offsetHeight
122
- : this.LINE_HEIGHT;
123
- var editorModel = this._editorRef.getModel();
124
- if (!editorModel) {
125
- return;
126
- }
127
- var nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;
128
- // set the height and redo layout
129
- editorDomNode.style.height = nextHeight + 'px';
130
- this.updateLayout();
131
- };
132
- FsTextEditorComponent.prototype.updateLayout = function () {
133
- this._editorRef.layout();
134
- };
135
- FsTextEditorComponent.prototype._disableScroll = function () {
136
- var node = this._editorRef.getDomNode();
137
- node.addEventListener('wheel', function (e) {
138
- e.stopPropagation();
139
- }, true);
140
- };
141
- return FsTextEditorComponent;
142
- }());
143
- FsTextEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
144
- FsTextEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTextEditorComponent, selector: "fs-text-editor", inputs: { config: "config", scrollable: "scrollable" }, outputs: { init: "init", blur: "blur" }, providers: [{
145
- provide: i2.NG_VALUE_ACCESSOR,
146
- useExisting: i0.forwardRef(function () { return FsTextEditorComponent; }),
147
- multi: true
148
- }], viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: i1.EditorComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: [":host ngx-monaco-editor{height:100%!important}:host ::ng-deep .decorationsOverviewRuler{display:none}:host ::ng-deep .margin,:host ::ng-deep .monaco-editor-background{top:0px!important}\n"], components: [{ type: i1__namespace.EditorComponent, selector: "ngx-monaco-editor", inputs: ["options", "model"] }], directives: [{ type: i2__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
149
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorComponent, decorators: [{
150
- type: i0.Component,
151
- args: [{
152
- selector: 'fs-text-editor',
153
- templateUrl: 'text-editor.component.html',
154
- styleUrls: ['text-editor.component.scss'],
155
- providers: [{
156
- provide: i2.NG_VALUE_ACCESSOR,
157
- useExisting: i0.forwardRef(function () { return FsTextEditorComponent; }),
158
- multi: true
159
- }]
160
- }]
161
- }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; }, propDecorators: { config: [{
162
- type: i0.Input
163
- }], scrollable: [{
164
- type: i0.Input
165
- }], init: [{
166
- type: i0.Output
167
- }], blur: [{
168
- type: i0.Output
169
- }], _editorContainer: [{
170
- type: i0.ViewChild,
171
- args: [i1.EditorComponent, { static: true }]
29
+ var FsTextEditorComponent = /** @class */ (function () {
30
+ function FsTextEditorComponent(_element, _document) {
31
+ this._element = _element;
32
+ this._document = _document;
33
+ this.config = {};
34
+ this.scrollable = false;
35
+ this.init = new i0.EventEmitter();
36
+ this.blur = new i0.EventEmitter();
37
+ this.defaultConfig = {
38
+ minimap: {
39
+ enabled: false
40
+ },
41
+ theme: 'vs-dark',
42
+ automaticLayout: false,
43
+ scrollBeyondLastLine: false,
44
+ autoHeight: true,
45
+ scrollbar: {
46
+ vertical: 'hidden'
47
+ },
48
+ hideCursorInOverviewRuler: true
49
+ };
50
+ this.onChange = function (_) { };
51
+ this.onTouched = function () { };
52
+ this._window = this._document.defaultView;
53
+ this.LINE_HEIGHT = 18;
54
+ this._value = '';
55
+ }
56
+ Object.defineProperty(FsTextEditorComponent.prototype, "monaco", {
57
+ get: function () {
58
+ return this._window.monaco;
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ ;
64
+ ;
65
+ FsTextEditorComponent.prototype.ngOnInit = function () {
66
+ if (this.config) {
67
+ this.config = Object.assign({}, this.defaultConfig, this.config);
68
+ }
69
+ };
70
+ FsTextEditorComponent.prototype.ngOnDestroy = function () {
71
+ // must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827
72
+ this._window.define = null;
73
+ };
74
+ Object.defineProperty(FsTextEditorComponent.prototype, "value", {
75
+ get: function () {
76
+ return this._value;
77
+ },
78
+ enumerable: false,
79
+ configurable: true
80
+ });
81
+ FsTextEditorComponent.prototype.onEditorInit = function (event) {
82
+ var _this = this;
83
+ // Timeout allows the content to fully load to and calculate height
84
+ setTimeout(function () {
85
+ _this._editorRef = event;
86
+ _this._initEditor();
87
+ _this.init.next(event);
88
+ if (!_this.scrollable) {
89
+ _this._disableScroll();
90
+ }
91
+ });
92
+ };
93
+ FsTextEditorComponent.prototype.writeValue = function (value) {
94
+ this._value = value || '';
95
+ };
96
+ FsTextEditorComponent.prototype.changed = function (e) {
97
+ if (this._value !== e) {
98
+ this._value = e;
99
+ this.onChange(e);
100
+ }
101
+ };
102
+ FsTextEditorComponent.prototype.registerOnChange = function (fn) {
103
+ this.onChange = fn;
104
+ };
105
+ FsTextEditorComponent.prototype.registerOnTouched = function (fn) {
106
+ this.onTouched = fn;
107
+ };
108
+ FsTextEditorComponent.prototype._initEditor = function () {
109
+ var _this = this;
110
+ if (this._editorRef && this.config.autoHeight) {
111
+ this._updateEditorHeight();
112
+ this._editorRef.onDidChangeModelContent(function (e) {
113
+ _this._updateEditorHeight();
114
+ });
115
+ this._editorRef.onDidBlurEditorText(function () {
116
+ _this.blur.next();
117
+ });
118
+ }
119
+ };
120
+ FsTextEditorComponent.prototype._updateEditorHeight = function () {
121
+ var editorDomNode = this._editorRef.getDomNode();
122
+ if (!editorDomNode) {
123
+ return;
124
+ }
125
+ var container = editorDomNode.getElementsByClassName('view-lines')[0];
126
+ var lineHeight = container.firstChild
127
+ ? container.firstChild.offsetHeight
128
+ : this.LINE_HEIGHT;
129
+ var editorModel = this._editorRef.getModel();
130
+ if (!editorModel) {
131
+ return;
132
+ }
133
+ var nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;
134
+ // set the height and redo layout
135
+ editorDomNode.style.height = nextHeight + 'px';
136
+ this.updateLayout();
137
+ };
138
+ FsTextEditorComponent.prototype.updateLayout = function () {
139
+ this._editorRef.layout();
140
+ };
141
+ FsTextEditorComponent.prototype._disableScroll = function () {
142
+ var node = this._editorRef.getDomNode();
143
+ node.addEventListener('wheel', function (e) {
144
+ e.stopPropagation();
145
+ }, true);
146
+ };
147
+ return FsTextEditorComponent;
148
+ }());
149
+ FsTextEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorComponent, deps: [{ token: i0__namespace.ElementRef }, { token: common.DOCUMENT }], target: i0__namespace.ɵɵFactoryTarget.Component });
150
+ FsTextEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FsTextEditorComponent, selector: "fs-text-editor", inputs: { config: "config", scrollable: "scrollable" }, outputs: { init: "init", blur: "blur" }, providers: [{
151
+ provide: i2.NG_VALUE_ACCESSOR,
152
+ useExisting: i0.forwardRef(function () { return FsTextEditorComponent; }),
153
+ multi: true
154
+ }], viewQueries: [{ propertyName: "_editorContainer", first: true, predicate: i1.EditorComponent, descendants: true, static: true }], ngImport: i0__namespace, template: "<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n", styles: [":host ngx-monaco-editor{height:100%!important}:host ::ng-deep .decorationsOverviewRuler{display:none}:host ::ng-deep .margin,:host ::ng-deep .monaco-editor-background{top:0px!important}\n"], components: [{ type: i1__namespace.EditorComponent, selector: "ngx-monaco-editor", inputs: ["options", "model"] }], directives: [{ type: i2__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
155
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorComponent, decorators: [{
156
+ type: i0.Component,
157
+ args: [{
158
+ selector: 'fs-text-editor',
159
+ templateUrl: 'text-editor.component.html',
160
+ styleUrls: ['text-editor.component.scss'],
161
+ providers: [{
162
+ provide: i2.NG_VALUE_ACCESSOR,
163
+ useExisting: i0.forwardRef(function () { return FsTextEditorComponent; }),
164
+ multi: true
165
+ }]
166
+ }]
167
+ }], ctorParameters: function () {
168
+ return [{ type: i0__namespace.ElementRef }, { type: Document, decorators: [{
169
+ type: i0.Inject,
170
+ args: [common.DOCUMENT]
171
+ }] }];
172
+ }, propDecorators: { config: [{
173
+ type: i0.Input
174
+ }], scrollable: [{
175
+ type: i0.Input
176
+ }], init: [{
177
+ type: i0.Output
178
+ }], blur: [{
179
+ type: i0.Output
180
+ }], _editorContainer: [{
181
+ type: i0.ViewChild,
182
+ args: [i1.EditorComponent, { static: true }]
172
183
  }] } });
173
184
 
174
- var FsTextEditorModule = /** @class */ (function () {
175
- function FsTextEditorModule() {
176
- }
177
- return FsTextEditorModule;
178
- }());
179
- FsTextEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
180
- FsTextEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [common.CommonModule,
181
- i1.MonacoEditorModule,
182
- i2.FormsModule], exports: [FsTextEditorComponent] });
183
- FsTextEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, imports: [[
184
- common.CommonModule,
185
- i1.MonacoEditorModule,
186
- i2.FormsModule,
187
- ]] });
188
- i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, decorators: [{
189
- type: i0.NgModule,
190
- args: [{
191
- imports: [
192
- common.CommonModule,
193
- i1.MonacoEditorModule,
194
- i2.FormsModule,
195
- ],
196
- exports: [
197
- FsTextEditorComponent,
198
- ],
199
- entryComponents: [],
200
- declarations: [
201
- FsTextEditorComponent,
202
- ]
203
- }]
185
+ var FsTextEditorModule = /** @class */ (function () {
186
+ function FsTextEditorModule() {
187
+ }
188
+ FsTextEditorModule.forRoot = function (config) {
189
+ return {
190
+ ngModule: FsTextEditorModule,
191
+ providers: [
192
+ i1.MonacoEditorModule.forRoot(config).providers,
193
+ ],
194
+ };
195
+ };
196
+ return FsTextEditorModule;
197
+ }());
198
+ FsTextEditorModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
199
+ FsTextEditorModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, declarations: [FsTextEditorComponent], imports: [common.CommonModule,
200
+ i1.MonacoEditorModule,
201
+ i2.FormsModule], exports: [FsTextEditorComponent] });
202
+ FsTextEditorModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, imports: [[
203
+ common.CommonModule,
204
+ i1.MonacoEditorModule,
205
+ i2.FormsModule,
206
+ ]] });
207
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FsTextEditorModule, decorators: [{
208
+ type: i0.NgModule,
209
+ args: [{
210
+ imports: [
211
+ common.CommonModule,
212
+ i1.MonacoEditorModule,
213
+ i2.FormsModule,
214
+ ],
215
+ exports: [
216
+ FsTextEditorComponent,
217
+ ],
218
+ entryComponents: [],
219
+ declarations: [
220
+ FsTextEditorComponent,
221
+ ]
222
+ }]
204
223
  }] });
205
224
 
206
- /*
207
- * Public API Surface of fs-menu
225
+ /*
226
+ * Public API Surface of fs-menu
208
227
  */
209
228
 
210
- /**
211
- * Generated bundle index. Do not edit.
229
+ /**
230
+ * Generated bundle index. Do not edit.
212
231
  */
213
232
 
214
233
  exports.FsTextEditorComponent = FsTextEditorComponent;
@@ -1 +1 @@
1
- {"version":3,"file":"firestitch-text-editor.umd.js","sources":["../../src/app/components/text-editor/text-editor.component.ts","../../src/app/components/text-editor/text-editor.component.html","../../src/app/fs-text-editor.module.ts","../../src/public_api.ts","../../src/firestitch-text-editor.ts"],"sourcesContent":["import { Component, EventEmitter, forwardRef, Input, OnInit, Output, ViewChild, ElementRef } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { EditorComponent } from 'ngx-monaco-editor';\n\nimport { editor } from 'monaco-editor';\n\nimport { FsTextEditorConfig } from '../../interfaces/config.interface';\n\n\n@Component({\n selector: 'fs-text-editor',\n templateUrl: 'text-editor.component.html',\n styleUrls: [ 'text-editor.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsTextEditorComponent),\n multi: true\n }]\n})\nexport class FsTextEditorComponent implements OnInit, ControlValueAccessor {\n\n @Input() public config: FsTextEditorConfig = {};\n @Input() public scrollable = false;\n\n @Output() public init = new EventEmitter();\n @Output() public blur = new EventEmitter();\n @ViewChild(EditorComponent, { static: true }) _editorContainer: EditorComponent;\n\n public defaultConfig: FsTextEditorConfig = {\n minimap: {\n enabled: false\n },\n theme: 'vs-dark',\n automaticLayout: false,\n scrollBeyondLastLine: false,\n autoHeight: true,\n scrollbar: {\n vertical: 'hidden'\n },\n hideCursorInOverviewRuler: true\n };\n\n public onChange = (_: any) => {};\n public onTouched = () => {};\n\n public get monaco() {\n return (<any>window).monaco;\n };\n\n constructor(private _element: ElementRef) {};\n\n public readonly LINE_HEIGHT = 18;\n\n private _editorRef: editor.ICodeEditor;\n private _value = '';\n\n public ngOnInit() {\n\n if (this.config) {\n this.config = Object.assign({}, this.defaultConfig, this.config);\n }\n }\n\n get value() {\n return this._value;\n }\n\n public onEditorInit(event) {\n // Timeout allows the content to fully load to and calculate height\n setTimeout(() => {\n this._editorRef = event;\n this._initEditor();\n this.init.next(event);\n\n if (!this.scrollable) {\n this._disableScroll();\n }\n });\n }\n\n public writeValue(value: any): void {\n this._value = value || '';\n }\n\n public changed(e) {\n if (this._value !== e) {\n this._value = e;\n this.onChange(e);\n }\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private _initEditor() {\n if (this._editorRef && this.config.autoHeight) {\n this._updateEditorHeight();\n\n this._editorRef.onDidChangeModelContent((e) => {\n this._updateEditorHeight();\n });\n\n this._editorRef.onDidBlurEditorText(() => {\n this.blur.next();\n });\n }\n }\n\n private _updateEditorHeight() {\n\n const editorDomNode = this._editorRef.getDomNode();\n\n if (!editorDomNode) {\n return;\n }\n\n const container = editorDomNode.getElementsByClassName('view-lines')[0] as HTMLElement;\n const lineHeight = container.firstChild\n ? (container.firstChild as HTMLElement).offsetHeight\n : this.LINE_HEIGHT;\n\n const editorModel = this._editorRef.getModel();\n\n if (!editorModel) {\n return;\n }\n\n const nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;\n\n // set the height and redo layout\n editorDomNode.style.height = nextHeight + 'px';\n this.updateLayout();\n }\n\n public updateLayout(): void {\n this._editorRef.layout();\n }\n\n private _disableScroll() {\n const node = this._editorRef.getDomNode();\n\n node.addEventListener('wheel', (e) => {\n e.stopPropagation();\n }, true);\n }\n}\n","<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MonacoEditorModule } from 'ngx-monaco-editor';\nimport { FsTextEditorComponent } from './components/text-editor/text-editor.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MonacoEditorModule,\n FormsModule,\n ],\n exports: [\n FsTextEditorComponent,\n ],\n entryComponents: [\n ],\n declarations: [\n FsTextEditorComponent,\n ]\n})\nexport class FsTextEditorModule {\n\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nimport { from } from 'rxjs';\n\nexport { FsTextEditorModule } from './app/fs-text-editor.module';\n\nexport { FsTextEditorConfig } from './app/interfaces/config.interface';\n\n\nexport { FsTextEditorComponent } from './app/components/text-editor/text-editor.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","NG_VALUE_ACCESSOR","forwardRef","EditorComponent","Component","Input","Output","ViewChild","CommonModule","MonacoEditorModule","FormsModule","NgModule"],"mappings":"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"}
1
+ {"version":3,"file":"firestitch-text-editor.umd.js","sources":["../../src/app/components/text-editor/text-editor.component.ts","../../src/app/components/text-editor/text-editor.component.html","../../src/app/fs-text-editor.module.ts","../../src/public_api.ts","../../src/firestitch-text-editor.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n forwardRef,\n Input,\n OnInit,\n Output,\n ViewChild,\n ElementRef,\n OnDestroy,\n Inject,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { DOCUMENT } from '@angular/common';\n\nimport { EditorComponent } from 'ngx-monaco-editor';\nimport { editor } from 'monaco-editor';\n\nimport { FsTextEditorConfig } from '../../interfaces/config.interface';\n\n\n@Component({\n selector: 'fs-text-editor',\n templateUrl: 'text-editor.component.html',\n styleUrls: [ 'text-editor.component.scss' ],\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => FsTextEditorComponent),\n multi: true\n }]\n})\nexport class FsTextEditorComponent implements OnInit, OnDestroy, ControlValueAccessor {\n\n @Input() public config: FsTextEditorConfig = {};\n @Input() public scrollable = false;\n\n @Output() public init = new EventEmitter();\n @Output() public blur = new EventEmitter();\n @ViewChild(EditorComponent, { static: true }) _editorContainer: EditorComponent;\n\n public defaultConfig: FsTextEditorConfig = {\n minimap: {\n enabled: false\n },\n theme: 'vs-dark',\n automaticLayout: false,\n scrollBeyondLastLine: false,\n autoHeight: true,\n scrollbar: {\n vertical: 'hidden'\n },\n hideCursorInOverviewRuler: true\n };\n\n public onChange = (_: any) => {};\n public onTouched = () => {};\n\n private _window: any = this._document.defaultView;\n\n public get monaco() {\n return this._window.monaco;\n };\n\n constructor(\n private _element: ElementRef,\n @Inject(DOCUMENT)\n private _document: Document,\n ) {};\n\n public readonly LINE_HEIGHT = 18;\n\n private _editorRef: editor.ICodeEditor;\n private _value = '';\n\n public ngOnInit() {\n\n if (this.config) {\n this.config = Object.assign({}, this.defaultConfig, this.config);\n }\n }\n\n public ngOnDestroy() {\n // must be there to cleanup https://github.com/microsoft/monaco-editor/issues/827\n this._window.define = null;\n }\n\n get value() {\n return this._value;\n }\n\n public onEditorInit(event) {\n // Timeout allows the content to fully load to and calculate height\n setTimeout(() => {\n this._editorRef = event;\n this._initEditor();\n this.init.next(event);\n\n if (!this.scrollable) {\n this._disableScroll();\n }\n });\n }\n\n public writeValue(value: any): void {\n this._value = value || '';\n }\n\n public changed(e) {\n if (this._value !== e) {\n this._value = e;\n this.onChange(e);\n }\n }\n\n public registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n public registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n private _initEditor() {\n if (this._editorRef && this.config.autoHeight) {\n this._updateEditorHeight();\n\n this._editorRef.onDidChangeModelContent((e) => {\n this._updateEditorHeight();\n });\n\n this._editorRef.onDidBlurEditorText(() => {\n this.blur.next();\n });\n }\n }\n\n private _updateEditorHeight() {\n\n const editorDomNode = this._editorRef.getDomNode();\n\n if (!editorDomNode) {\n return;\n }\n\n const container = editorDomNode.getElementsByClassName('view-lines')[0] as HTMLElement;\n const lineHeight = container.firstChild\n ? (container.firstChild as HTMLElement).offsetHeight\n : this.LINE_HEIGHT;\n\n const editorModel = this._editorRef.getModel();\n\n if (!editorModel) {\n return;\n }\n\n const nextHeight = this._editorRef.getModel().getLineCount() * lineHeight;\n\n // set the height and redo layout\n editorDomNode.style.height = nextHeight + 'px';\n this.updateLayout();\n }\n\n public updateLayout(): void {\n this._editorRef.layout();\n }\n\n private _disableScroll() {\n const node = this._editorRef.getDomNode();\n\n node.addEventListener('wheel', (e) => {\n e.stopPropagation();\n }, true);\n }\n}\n","<ngx-monaco-editor\n [ngModel]=\"value\"\n (ngModelChange)=\"changed($event)\"\n [options]=\"config\"\n (onInit)=\"onEditorInit($event)\">\n</ngx-monaco-editor>\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule } from '@angular/forms';\n\nimport { MonacoEditorModule, NgxMonacoEditorConfig } from 'ngx-monaco-editor';\nimport { FsTextEditorComponent } from './components/text-editor/text-editor.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n MonacoEditorModule,\n FormsModule,\n ],\n exports: [\n FsTextEditorComponent,\n ],\n entryComponents: [\n ],\n declarations: [\n FsTextEditorComponent,\n ]\n})\nexport class FsTextEditorModule {\n static forRoot(config?: NgxMonacoEditorConfig): ModuleWithProviders<FsTextEditorModule> {\n return {\n ngModule: FsTextEditorModule,\n providers: [\n MonacoEditorModule.forRoot(config).providers,\n ],\n };\n }\n}\n","/*\n * Public API Surface of fs-menu\n */\n\nimport { from } from 'rxjs';\n\nexport { FsTextEditorModule } from './app/fs-text-editor.module';\n\nexport { FsTextEditorConfig } from './app/interfaces/config.interface';\n\n\nexport { FsTextEditorComponent } from './app/components/text-editor/text-editor.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["EventEmitter","DOCUMENT","NG_VALUE_ACCESSOR","forwardRef","EditorComponent","Component","Inject","Input","Output","ViewChild","MonacoEditorModule","CommonModule","FormsModule","NgModule"],"mappings":"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"}