@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.
- package/app/components/text-editor/text-editor.component.d.ts +37 -34
- package/app/fs-text-editor.module.d.ts +13 -10
- package/app/interfaces/config.interface.d.ts +4 -4
- package/bundles/firestitch-text-editor.umd.js +196 -177
- package/bundles/firestitch-text-editor.umd.js.map +1 -1
- package/esm2015/app/components/text-editor/text-editor.component.js +150 -140
- package/esm2015/app/fs-text-editor.module.js +43 -35
- package/esm2015/app/interfaces/config.interface.js +1 -1
- package/esm2015/firestitch-text-editor.js +4 -4
- package/esm2015/public_api.js +5 -5
- package/fesm2015/firestitch-text-editor.js +182 -165
- package/fesm2015/firestitch-text-editor.js.map +1 -1
- package/firestitch-text-editor.d.ts +5 -5
- package/package.json +1 -4
- package/public_api.d.ts +3 -3
|
@@ -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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
private
|
|
32
|
-
|
|
33
|
-
|
|
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
|
|
2
|
-
import
|
|
3
|
-
import * as
|
|
4
|
-
import * as
|
|
5
|
-
import * as
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
static
|
|
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.
|
|
33
|
-
this.
|
|
34
|
-
this.
|
|
35
|
-
this.
|
|
36
|
-
this.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.
|
|
51
|
-
this.
|
|
52
|
-
this.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
};
|
|
96
|
-
FsTextEditorComponent.prototype.
|
|
97
|
-
this.
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
};
|
|
102
|
-
FsTextEditorComponent.prototype.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
this._editorRef.
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
i0__namespace.ɵɵ
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
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
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
i0__namespace.ɵɵ
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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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"}
|