@apipass/inputs 1.0.146 → 1.0.148

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.
@@ -2,6 +2,8 @@ import { ElementRef, EventEmitter, NgZone, OnDestroy, OnInit } from '@angular/co
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import 'brace';
4
4
  import 'brace/theme/monokai';
5
+ import { Ace } from 'ace-builds';
6
+ import Completion = Ace.Completion;
5
7
  import * as i0 from "@angular/core";
6
8
  export declare class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {
7
9
  private readonly zone;
@@ -18,10 +20,13 @@ export declare class AceEditorComponent implements ControlValueAccessor, OnInit,
18
20
  _text: string;
19
21
  oldText: any;
20
22
  timeoutSaving: any;
23
+ private _customCompletions;
21
24
  constructor(elementRef: ElementRef, zone: NgZone);
22
25
  ngOnInit(): void;
23
26
  ngOnDestroy(): void;
24
27
  init(): void;
28
+ private createCustomCompletions;
29
+ set customCompletions(customCompletions: Completion[]);
25
30
  initEvents(): void;
26
31
  updateText(): void;
27
32
  set options(options: any);
@@ -18,6 +18,7 @@ class AceEditorComponent {
18
18
  _text = '';
19
19
  oldText;
20
20
  timeoutSaving;
21
+ _customCompletions = [];
21
22
  constructor(elementRef, zone) {
22
23
  this.zone = zone;
23
24
  const el = elementRef.nativeElement;
@@ -34,10 +35,26 @@ class AceEditorComponent {
34
35
  this._editor.destroy();
35
36
  }
36
37
  init() {
37
- this.setOptions(this._options || {});
38
+ this._editor.setKeyboardHandler('ace/keyboard/vscode');
39
+ this.setOptions({
40
+ enableBasicAutocompletion: true,
41
+ autoScrollEditorIntoView: true,
42
+ enableLiveAutocompletion: true
43
+ });
38
44
  this.setTheme(this._theme);
39
45
  this.setMode(this._mode);
40
46
  this.setReadOnly(this._readOnly);
47
+ this.createCustomCompletions(this._customCompletions);
48
+ }
49
+ createCustomCompletions(customCompletions) {
50
+ this._editor.completers.push({
51
+ getCompletions: function (editor, session, pos, prefix, callback) {
52
+ callback(null, customCompletions);
53
+ }
54
+ });
55
+ }
56
+ set customCompletions(customCompletions) {
57
+ this._customCompletions = customCompletions;
41
58
  }
42
59
  initEvents() {
43
60
  this._editor.on('change', () => {
@@ -197,4 +214,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
197
214
  }], durationBeforeCallback: [{
198
215
  type: Input
199
216
  }] } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9hY2UtZWRpdG9yL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RSxPQUFPLE9BQU8sQ0FBQTtBQUNkLE9BQU8scUJBQXFCLENBQUE7O0FBSTVCLE1BVWEsa0JBQWtCO0lBa0J5QjtJQWhCNUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsS0FBSyxHQUFRLEVBQUUsQ0FBQTtJQUV4QixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBVSxLQUFLLENBQUE7SUFDeEIsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ2Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0lBQ3pCLE9BQU8sQ0FBSztJQUNaLHVCQUF1QixHQUFHLENBQUMsQ0FBQTtJQUMzQixLQUFLLEdBQUcsRUFBRSxDQUFBO0lBRVYsT0FBTyxDQUFLO0lBQ1osYUFBYSxDQUFLO0lBRWxCLFlBQWEsVUFBc0IsRUFBbUIsSUFBWTtRQUFaLFNBQUksR0FBSixJQUFJLENBQVE7UUFDaEUsTUFBTSxFQUFFLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQTtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDN0IsQ0FB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SUFFRCxJQUFhLHNCQUFzQixDQUFFLEdBQVc7UUFDOUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3JDLENBQUM7SUFFRCx5QkFBeUIsQ0FBRSxHQUFXO1FBQ3BDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxHQUFHLENBQUE7SUFDcEMsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUE7SUFDckIsQ0FBQzt1R0ExTFUsa0JBQWtCOzJGQUFsQixrQkFBa0Isb1VBTmxCLENBQUM7Z0JBQ1YsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFDakQsS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLDBCQU5RLEVBQUU7O1NBUUQsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBVjlCLFNBQVM7K0JBQ0UsWUFBWSxZQUNaLEVBQUUsYUFFRCxDQUFDOzRCQUNWLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDOzRCQUNqRCxLQUFLLEVBQUUsSUFBSTt5QkFDWixDQUFDO3NIQUlRLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRSxLQUFLO3NCQUFiLEtBQUs7Z0JBNEVPLE9BQU87c0JBQW5CLEtBQUs7Z0JBU08sUUFBUTtzQkFBcEIsS0FBSztnQkFTTyxLQUFLO3NCQUFqQixLQUFLO2dCQVNPLElBQUk7c0JBQWhCLEtBQUs7Z0JBa0JGLEtBQUs7c0JBRFIsS0FBSztnQkE0QkYsSUFBSTtzQkFEUCxLQUFLO2dCQWlCTyxpQkFBaUI7c0JBQTdCLEtBQUs7Z0JBUU8sc0JBQXNCO3NCQUFsQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xuaW1wb3J0ICdicmFjZSdcbmltcG9ydCAnYnJhY2UvdGhlbWUvbW9ub2thaSdcblxuZGVjbGFyZSBsZXQgYWNlOiBhbnlcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNlLWVkaXRvcicsXG4gIHRlbXBsYXRlOiAnJyxcbiAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTpibG9jazt3aWR0aDoxMDAlOyB9J10sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBBY2VFZGl0b3JDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH1dXG59KVxuZXhwb3J0IGNsYXNzIEFjZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgQE91dHB1dCgpIHRleHRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSB0ZXh0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBJbnB1dCgpIHN0eWxlOiBhbnkgPSB7fVxuXG4gIF9vcHRpb25zOiBhbnkgPSB7fVxuICBfcmVhZE9ubHk6IGZhbHNlID0gZmFsc2VcbiAgX3RoZW1lID0gJ21vbm9rYWknXG4gIF9tb2RlID0gJ2h0bWwnXG4gIF9hdXRvVXBkYXRlQ29udGVudCA9IHRydWVcbiAgX2VkaXRvcjogYW55XG4gIF9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrID0gMFxuICBfdGV4dCA9ICcnXG5cbiAgb2xkVGV4dDogYW55XG4gIHRpbWVvdXRTYXZpbmc6IGFueVxuXG4gIGNvbnN0cnVjdG9yIChlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlYWRvbmx5IHpvbmU6IE5nWm9uZSkge1xuICAgIGNvbnN0IGVsID0gZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX2VkaXRvciA9IGFjZS5lZGl0KGVsKVxuICAgIH0pXG4gICAgdGhpcy5fZWRpdG9yLiRibG9ja1Njcm9sbGluZyA9IEluZmluaXR5XG4gIH1cblxuICBuZ09uSW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0KClcbiAgICB0aGlzLmluaXRFdmVudHMoKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3kgKCk6IHZvaWQge1xuICAgIHRoaXMuX2VkaXRvci5kZXN0cm95KClcbiAgfVxuXG4gIGluaXQgKCk6IHZvaWQge1xuICAgIHRoaXMuc2V0T3B0aW9ucyh0aGlzLl9vcHRpb25zIHx8IHt9KVxuICAgIHRoaXMuc2V0VGhlbWUodGhpcy5fdGhlbWUpXG4gICAgdGhpcy5zZXRNb2RlKHRoaXMuX21vZGUpXG4gICAgdGhpcy5zZXRSZWFkT25seSh0aGlzLl9yZWFkT25seSlcbiAgfVxuXG4gIGluaXRFdmVudHMgKCk6IHZvaWQge1xuICAgIHRoaXMuX2VkaXRvci5vbignY2hhbmdlJywgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVUZXh0KClcbiAgICB9KVxuICAgIHRoaXMuX2VkaXRvci5vbigncGFzdGUnLCAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVRleHQoKVxuICAgIH0pXG4gIH1cblxuICB1cGRhdGVUZXh0ICgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWwgPSB0aGlzLl9lZGl0b3IuZ2V0VmFsdWUoKVxuICAgIGlmIChuZXdWYWwgPT09IHRoaXMub2xkVGV4dCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmICghdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjaykge1xuICAgICAgdGhpcy5fdGV4dCA9IG5ld1ZhbFxuICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMudGV4dENoYW5nZS5lbWl0KG5ld1ZhbClcbiAgICAgICAgdGhpcy50ZXh0Q2hhbmdlZC5lbWl0KG5ld1ZhbClcbiAgICAgIH0pXG4gICAgICB0aGlzLl9vbkNoYW5nZShuZXdWYWwpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLnRpbWVvdXRTYXZpbmcpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dFNhdmluZylcbiAgICAgIH1cblxuICAgICAgdGhpcy50aW1lb3V0U2F2aW5nID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuX3RleHQgPSBuZXdWYWxcbiAgICAgICAgdGhpcy56b25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgdGhpcy50ZXh0Q2hhbmdlLmVtaXQobmV3VmFsKVxuICAgICAgICAgIHRoaXMudGV4dENoYW5nZWQuZW1pdChuZXdWYWwpXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMudGltZW91dFNhdmluZyA9IG51bGxcbiAgICAgIH0sIHRoaXMuX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2spXG4gICAgfVxuICAgIHRoaXMub2xkVGV4dCA9IG5ld1ZhbFxuICB9XG5cbiAgQElucHV0KCkgc2V0IG9wdGlvbnMgKG9wdGlvbnM6IGFueSkge1xuICAgIHRoaXMuc2V0T3B0aW9ucyhvcHRpb25zKVxuICB9XG5cbiAgc2V0T3B0aW9ucyAob3B0aW9uczogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnNcbiAgICB0aGlzLl9lZGl0b3Iuc2V0T3B0aW9ucyhvcHRpb25zIHx8IHt9KVxuICB9XG5cbiAgQElucHV0KCkgc2V0IHJlYWRPbmx5IChyZWFkT25seTogYW55KSB7XG4gICAgdGhpcy5zZXRSZWFkT25seShyZWFkT25seSlcbiAgfVxuXG4gIHNldFJlYWRPbmx5IChyZWFkT25seTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fcmVhZE9ubHkgPSByZWFkT25seVxuICAgIHRoaXMuX2VkaXRvci5zZXRSZWFkT25seShyZWFkT25seSlcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCB0aGVtZSAodGhlbWU6IGFueSkge1xuICAgIHRoaXMuc2V0VGhlbWUodGhlbWUpXG4gIH1cblxuICBzZXRUaGVtZSAodGhlbWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3RoZW1lID0gdGhlbWVcbiAgICB0aGlzLl9lZGl0b3Iuc2V0VGhlbWUoYGFjZS90aGVtZS8ke3RoZW1lfWApXG4gIH1cblxuICBASW5wdXQoKSBzZXQgbW9kZSAobW9kZTogYW55KSB7XG4gICAgdGhpcy5zZXRNb2RlKG1vZGUpXG4gIH1cblxuICBzZXRNb2RlIChtb2RlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9tb2RlID0gbW9kZVxuICAgIGlmICh0eXBlb2YgdGhpcy5fbW9kZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHRoaXMuX2VkaXRvci5nZXRTZXNzaW9uKCkuc2V0TW9kZSh0aGlzLl9tb2RlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZ2V0U2Vzc2lvbigpLnNldE1vZGUoYGFjZS9tb2RlLyR7dGhpcy5fbW9kZX1gKVxuICAgIH1cbiAgfVxuXG4gIGdldCB2YWx1ZSAoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50ZXh0XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWUgKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFRleHQodmFsdWUpXG4gIH1cblxuICB3cml0ZVZhbHVlICh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zZXRUZXh0KHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBfb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlIChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmblxuICB9XG5cbiAgcHJpdmF0ZSBfb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQgKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmblxuICB9XG5cbiAgZ2V0IHRleHQgKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3RleHRcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB0ZXh0ICh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLnNldFRleHQodGV4dClcbiAgfVxuXG4gIHNldFRleHQgKHRleHQ6IGFueSk6IHZvaWQge1xuICAgIGlmICh0ZXh0ID09PSBudWxsIHx8IHRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGV4dCA9ICcnXG4gICAgfVxuICAgIGlmICh0aGlzLl90ZXh0ICE9PSB0ZXh0ICYmIHRoaXMuX2F1dG9VcGRhdGVDb250ZW50KSB7XG4gICAgICB0aGlzLl90ZXh0ID0gdGV4dFxuICAgICAgdGhpcy5fZWRpdG9yLnNldFZhbHVlKHRleHQpXG4gICAgICB0aGlzLl9vbkNoYW5nZSh0ZXh0KVxuICAgICAgdGhpcy5fZWRpdG9yLmNsZWFyU2VsZWN0aW9uKClcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBzZXQgYXV0b1VwZGF0ZUNvbnRlbnQgKHN0YXR1czogYW55KSB7XG4gICAgdGhpcy5zZXRBdXRvVXBkYXRlQ29udGVudChzdGF0dXMpXG4gIH1cblxuICBzZXRBdXRvVXBkYXRlQ29udGVudCAoc3RhdHVzOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl9hdXRvVXBkYXRlQ29udGVudCA9IHN0YXR1c1xuICB9XG5cbiAgQElucHV0KCkgc2V0IGR1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgKG51bTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXREdXJhdGlvbkJlZm9yZUNhbGxiYWNrKG51bSlcbiAgfVxuXG4gIHNldER1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgKG51bTogbnVtYmVyKTogdm9pZCB7XG4gICAgdGhpcy5fZHVyYXRpb25CZWZvcmVDYWxsYmFjayA9IG51bVxuICB9XG5cbiAgZ2V0RWRpdG9yICgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9lZGl0b3JcbiAgfVxuXG59XG4iXX0=
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9hY2UtZWRpdG9yL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN4RSxPQUFPLE9BQU8sQ0FBQTtBQUNkLE9BQU8scUJBQXFCLENBQUE7O0FBTTVCLE1BVWEsa0JBQWtCO0lBb0J5QjtJQWxCNUMsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7SUFDaEMsS0FBSyxHQUFRLEVBQUUsQ0FBQTtJQUV4QixRQUFRLEdBQVEsRUFBRSxDQUFBO0lBQ2xCLFNBQVMsR0FBVSxLQUFLLENBQUE7SUFDeEIsTUFBTSxHQUFHLFNBQVMsQ0FBQTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFBO0lBQ2Qsa0JBQWtCLEdBQUcsSUFBSSxDQUFBO0lBQ3pCLE9BQU8sQ0FBSztJQUNaLHVCQUF1QixHQUFHLENBQUMsQ0FBQTtJQUMzQixLQUFLLEdBQUcsRUFBRSxDQUFBO0lBRVYsT0FBTyxDQUFLO0lBQ1osYUFBYSxDQUFLO0lBRVYsa0JBQWtCLEdBQWlCLEVBQUUsQ0FBQTtJQUU3QyxZQUFhLFVBQXNCLEVBQW1CLElBQVk7UUFBWixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ2hFLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxhQUFhLENBQUE7UUFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsSUFBSSxD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RUFBRSxhQUVELENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7NEJBQ2pELEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7c0hBSVEsV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNO2dCQUNFLEtBQUs7c0JBQWIsS0FBSztnQkFnR08sT0FBTztzQkFBbkIsS0FBSztnQkFTTyxRQUFRO3NCQUFwQixLQUFLO2dCQVNPLEtBQUs7c0JBQWpCLEtBQUs7Z0JBU08sSUFBSTtzQkFBaEIsS0FBSztnQkFrQkYsS0FBSztzQkFEUixLQUFLO2dCQTRCRixJQUFJO3NCQURQLEtBQUs7Z0JBaUJPLGlCQUFpQjtzQkFBN0IsS0FBSztnQkFRTyxzQkFBc0I7c0JBQWxDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnXG5pbXBvcnQgJ2JyYWNlJ1xuaW1wb3J0ICdicmFjZS90aGVtZS9tb25va2FpJ1xuaW1wb3J0IHsgQWNlIH0gZnJvbSAnYWNlLWJ1aWxkcyc7XG5pbXBvcnQgQ29tcGxldGlvbiA9IEFjZS5Db21wbGV0aW9uO1xuXG5kZWNsYXJlIGxldCBhY2U6IGFueVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2UtZWRpdG9yJyxcbiAgdGVtcGxhdGU6ICcnLFxuICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7IH0nXSxcbiAgcHJvdmlkZXJzOiBbe1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEFjZUVkaXRvckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgQWNlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBAT3V0cHV0KCkgdGV4dENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQE91dHB1dCgpIHRleHRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgQElucHV0KCkgc3R5bGU6IGFueSA9IHt9XG5cbiAgX29wdGlvbnM6IGFueSA9IHt9XG4gIF9yZWFkT25seTogZmFsc2UgPSBmYWxzZVxuICBfdGhlbWUgPSAnbW9ub2thaSdcbiAgX21vZGUgPSAnaHRtbCdcbiAgX2F1dG9VcGRhdGVDb250ZW50ID0gdHJ1ZVxuICBfZWRpdG9yOiBhbnlcbiAgX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgPSAwXG4gIF90ZXh0ID0gJydcblxuICBvbGRUZXh0OiBhbnlcbiAgdGltZW91dFNhdmluZzogYW55XG5cbiAgcHJpdmF0ZSBfY3VzdG9tQ29tcGxldGlvbnM6IENvbXBsZXRpb25bXSA9IFtdXG5cbiAgY29uc3RydWN0b3IgKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVhZG9ubHkgem9uZTogTmdab25lKSB7XG4gICAgY29uc3QgZWwgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICB0aGlzLnpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgdGhpcy5fZWRpdG9yID0gYWNlLmVkaXQoZWwpXG4gICAgfSlcbiAgICB0aGlzLl9lZGl0b3IuJGJsb2NrU2Nyb2xsaW5nID0gSW5maW5pdHlcbiAgfVxuXG4gIG5nT25Jbml0ICgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXQoKVxuICAgIHRoaXMuaW5pdEV2ZW50cygpXG4gIH1cblxuICBuZ09uRGVzdHJveSAoKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yLmRlc3Ryb3koKVxuICB9XG5cbiAgaW5pdCAoKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yLnNldEtleWJvYXJkSGFuZGxlcignYWNlL2tleWJvYXJkL3ZzY29kZScpXG4gICAgdGhpcy5zZXRPcHRpb25zKHtcbiAgICAgIGVuYWJsZUJhc2ljQXV0b2NvbXBsZXRpb246IHRydWUsXG4gICAgICBhdXRvU2Nyb2xsRWRpdG9ySW50b1ZpZXc6IHRydWUsXG4gICAgICBlbmFibGVMaXZlQXV0b2NvbXBsZXRpb246IHRydWVcbiAgICB9KVxuICAgIHRoaXMuc2V0VGhlbWUodGhpcy5fdGhlbWUpXG4gICAgdGhpcy5zZXRNb2RlKHRoaXMuX21vZGUpXG4gICAgdGhpcy5zZXRSZWFkT25seSh0aGlzLl9yZWFkT25seSlcbiAgICB0aGlzLmNyZWF0ZUN1c3RvbUNvbXBsZXRpb25zKHRoaXMuX2N1c3RvbUNvbXBsZXRpb25zKVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21Db21wbGV0aW9ucyhjdXN0b21Db21wbGV0aW9uczogQ29tcGxldGlvbltdKTogdm9pZCB7XG4gICAgdGhpcy5fZWRpdG9yLmNvbXBsZXRlcnMucHVzaCh7XG4gICAgICBnZXRDb21wbGV0aW9uczogZnVuY3Rpb24oZWRpdG9yLCBzZXNzaW9uLCBwb3MsIHByZWZpeCwgY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2sobnVsbCwgY3VzdG9tQ29tcGxldGlvbnMpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc2V0IGN1c3RvbUNvbXBsZXRpb25zKGN1c3RvbUNvbXBsZXRpb25zOiBDb21wbGV0aW9uW10pIHtcbiAgICB0aGlzLl9jdXN0b21Db21wbGV0aW9ucyA9IGN1c3RvbUNvbXBsZXRpb25zXG4gIH1cblxuICBpbml0RXZlbnRzICgpOiB2b2lkIHtcbiAgICB0aGlzLl9lZGl0b3Iub24oJ2NoYW5nZScsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVGV4dCgpXG4gICAgfSlcbiAgICB0aGlzLl9lZGl0b3Iub24oJ3Bhc3RlJywgKCkgPT4ge1xuICAgICAgdGhpcy51cGRhdGVUZXh0KClcbiAgICB9KVxuICB9XG5cbiAgdXBkYXRlVGV4dCAoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsID0gdGhpcy5fZWRpdG9yLmdldFZhbHVlKClcbiAgICBpZiAobmV3VmFsID09PSB0aGlzLm9sZFRleHQpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoIXRoaXMuX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2spIHtcbiAgICAgIHRoaXMuX3RleHQgPSBuZXdWYWxcbiAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLnRleHRDaGFuZ2UuZW1pdChuZXdWYWwpXG4gICAgICAgIHRoaXMudGV4dENoYW5nZWQuZW1pdChuZXdWYWwpXG4gICAgICB9KVxuICAgICAgdGhpcy5fb25DaGFuZ2UobmV3VmFsKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy50aW1lb3V0U2F2aW5nKSB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRTYXZpbmcpXG4gICAgICB9XG5cbiAgICAgIHRoaXMudGltZW91dFNhdmluZyA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLl90ZXh0ID0gbmV3VmFsXG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMudGV4dENoYW5nZS5lbWl0KG5ld1ZhbClcbiAgICAgICAgICB0aGlzLnRleHRDaGFuZ2VkLmVtaXQobmV3VmFsKVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLnRpbWVvdXRTYXZpbmcgPSBudWxsXG4gICAgICB9LCB0aGlzLl9kdXJhdGlvbkJlZm9yZUNhbGxiYWNrKVxuICAgIH1cbiAgICB0aGlzLm9sZFRleHQgPSBuZXdWYWxcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBvcHRpb25zIChvcHRpb25zOiBhbnkpIHtcbiAgICB0aGlzLnNldE9wdGlvbnMob3B0aW9ucylcbiAgfVxuXG4gIHNldE9wdGlvbnMgKG9wdGlvbnM6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29wdGlvbnMgPSBvcHRpb25zXG4gICAgdGhpcy5fZWRpdG9yLnNldE9wdGlvbnMob3B0aW9ucyB8fCB7fSlcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCByZWFkT25seSAocmVhZE9ubHk6IGFueSkge1xuICAgIHRoaXMuc2V0UmVhZE9ubHkocmVhZE9ubHkpXG4gIH1cblxuICBzZXRSZWFkT25seSAocmVhZE9ubHk6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3JlYWRPbmx5ID0gcmVhZE9ubHlcbiAgICB0aGlzLl9lZGl0b3Iuc2V0UmVhZE9ubHkocmVhZE9ubHkpXG4gIH1cblxuICBASW5wdXQoKSBzZXQgdGhlbWUgKHRoZW1lOiBhbnkpIHtcbiAgICB0aGlzLnNldFRoZW1lKHRoZW1lKVxuICB9XG5cbiAgc2V0VGhlbWUgKHRoZW1lOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLl90aGVtZSA9IHRoZW1lXG4gICAgdGhpcy5fZWRpdG9yLnNldFRoZW1lKGBhY2UvdGhlbWUvJHt0aGVtZX1gKVxuICB9XG5cbiAgQElucHV0KCkgc2V0IG1vZGUgKG1vZGU6IGFueSkge1xuICAgIHRoaXMuc2V0TW9kZShtb2RlKVxuICB9XG5cbiAgc2V0TW9kZSAobW9kZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fbW9kZSA9IG1vZGVcbiAgICBpZiAodHlwZW9mIHRoaXMuX21vZGUgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLl9lZGl0b3IuZ2V0U2Vzc2lvbigpLnNldE1vZGUodGhpcy5fbW9kZSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fZWRpdG9yLmdldFNlc3Npb24oKS5zZXRNb2RlKGBhY2UvbW9kZS8ke3RoaXMuX21vZGV9YClcbiAgICB9XG4gIH1cblxuICBnZXQgdmFsdWUgKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudGV4dFxuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHZhbHVlICh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRUZXh0KHZhbHVlKVxuICB9XG5cbiAgd3JpdGVWYWx1ZSAodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuc2V0VGV4dCh2YWx1ZSlcbiAgfVxuXG4gIHByaXZhdGUgX29uQ2hhbmdlID0gKF86IGFueSk6IHZvaWQgPT4ge1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZSAoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX29uQ2hhbmdlID0gZm5cbiAgfVxuXG4gIHByaXZhdGUgX29uVG91Y2hlZCA9ICgpOiB2b2lkID0+IHtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkIChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm5cbiAgfVxuXG4gIGdldCB0ZXh0ICgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl90ZXh0XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdGV4dCAodGV4dDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZXRUZXh0KHRleHQpXG4gIH1cblxuICBzZXRUZXh0ICh0ZXh0OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGV4dCA9PT0gbnVsbCB8fCB0ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRleHQgPSAnJ1xuICAgIH1cbiAgICBpZiAodGhpcy5fdGV4dCAhPT0gdGV4dCAmJiB0aGlzLl9hdXRvVXBkYXRlQ29udGVudCkge1xuICAgICAgdGhpcy5fdGV4dCA9IHRleHRcbiAgICAgIHRoaXMuX2VkaXRvci5zZXRWYWx1ZSh0ZXh0KVxuICAgICAgdGhpcy5fb25DaGFuZ2UodGV4dClcbiAgICAgIHRoaXMuX2VkaXRvci5jbGVhclNlbGVjdGlvbigpXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgc2V0IGF1dG9VcGRhdGVDb250ZW50IChzdGF0dXM6IGFueSkge1xuICAgIHRoaXMuc2V0QXV0b1VwZGF0ZUNvbnRlbnQoc3RhdHVzKVxuICB9XG5cbiAgc2V0QXV0b1VwZGF0ZUNvbnRlbnQgKHN0YXR1czogYW55KTogdm9pZCB7XG4gICAgdGhpcy5fYXV0b1VwZGF0ZUNvbnRlbnQgPSBzdGF0dXNcbiAgfVxuXG4gIEBJbnB1dCgpIHNldCBkdXJhdGlvbkJlZm9yZUNhbGxiYWNrIChudW06IG51bWJlcikge1xuICAgIHRoaXMuc2V0RHVyYXRpb25CZWZvcmVDYWxsYmFjayhudW0pXG4gIH1cblxuICBzZXREdXJhdGlvbkJlZm9yZUNhbGxiYWNrIChudW06IG51bWJlcik6IHZvaWQge1xuICAgIHRoaXMuX2R1cmF0aW9uQmVmb3JlQ2FsbGJhY2sgPSBudW1cbiAgfVxuXG4gIGdldEVkaXRvciAoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yXG4gIH1cblxufVxuIl19
@@ -1063,6 +1063,7 @@ class AceEditorComponent {
1063
1063
  _text = '';
1064
1064
  oldText;
1065
1065
  timeoutSaving;
1066
+ _customCompletions = [];
1066
1067
  constructor(elementRef, zone) {
1067
1068
  this.zone = zone;
1068
1069
  const el = elementRef.nativeElement;
@@ -1079,10 +1080,26 @@ class AceEditorComponent {
1079
1080
  this._editor.destroy();
1080
1081
  }
1081
1082
  init() {
1082
- this.setOptions(this._options || {});
1083
+ this._editor.setKeyboardHandler('ace/keyboard/vscode');
1084
+ this.setOptions({
1085
+ enableBasicAutocompletion: true,
1086
+ autoScrollEditorIntoView: true,
1087
+ enableLiveAutocompletion: true
1088
+ });
1083
1089
  this.setTheme(this._theme);
1084
1090
  this.setMode(this._mode);
1085
1091
  this.setReadOnly(this._readOnly);
1092
+ this.createCustomCompletions(this._customCompletions);
1093
+ }
1094
+ createCustomCompletions(customCompletions) {
1095
+ this._editor.completers.push({
1096
+ getCompletions: function (editor, session, pos, prefix, callback) {
1097
+ callback(null, customCompletions);
1098
+ }
1099
+ });
1100
+ }
1101
+ set customCompletions(customCompletions) {
1102
+ this._customCompletions = customCompletions;
1086
1103
  }
1087
1104
  initEvents() {
1088
1105
  this._editor.on('change', () => {