Ace editor integration with typescript for angular 2.
npm i -s ng2-ace-editor
Minimal
//add "AceEditorDirective" to your modules list
import { Component } from '@angular/core';
@Component({
template: `
<div ace-editor
[text]="text"></div>
`
})
export class MyComponent {
text:string = "";
}
Complete
//add "AceEditorDirective" to your modules list
//import { AceEditorDirective } from 'ng2-ace-editor';
import { Component } from '@angular/core';
//to use theme "eclipse"
//with angular-cli add "../node_modules/ace-builds/src-min/ace.js" and "../node_modules/ace-builds/src-min/theme-eclipse.js" to "scripts" var into the file angular-cli.json
@Component({
template: `
<div ace-editor
[text]="text"
[mode]="'sql'"
[theme]="'eclipse'"
[options]="options"
[readOnly]="false"
[autoUpdateContent]="true" //change content when [text] change
(textChanged)="onChange($event)"
style="min-height: 200px; width:100%; overflow: auto;"></div>
`
})
export class MyComponent {
text:string = "";
options:any = {maxLines: 1000, printMargin: false};
onChange(code) {
console.log("new code", code);
}
}
//add "AceEditorComponent" to your modules list
//import { AceEditorComponent } from 'ng2-ace-editor';
import {Component, ViewChild} from '@angular/core';
//to use theme eclipse
//with angular-cli add "../node_modules/ace-builds/src-min/ace.js" and "../node_modules/ace-builds/src-min/theme-eclipse.js" to "scripts" var into the file angular-cli.json
@Component({
template: `
<ace-editor
[text]="text" #editor style="height:150px;"></ace-editor>
`
})
export class AceCmp {
@ViewChild('editor') editor;
text: string = "";
ngAfterViewInit() {
this.editor.setTheme("eclipse");
this.editor.getEditor().setOptions({
enableBasicAutocompletion: true
});
this.editor.getEditor().commands.addCommand({
name: "showOtherCompletions",
bindKey: "Ctrl-.",
exec: function (editor) {
}
})
}
}