{"version":3,"file":"nitro-n-ngx-ace-editor.mjs","sources":["../../../projects/ngx-ace-editor/src/lib/directive.ts","../../../projects/ngx-ace-editor/src/lib/component.ts","../../../projects/ngx-ace-editor/src/lib/module.ts","../../../projects/ngx-ace-editor/src/public-api.ts","../../../projects/ngx-ace-editor/src/nitro-n-ngx-ace-editor.ts"],"sourcesContent":["import { Directive, EventEmitter, Output, ElementRef, Input, OnInit, OnDestroy, NgZone } from \"@angular/core\";\r\nimport \"brace\";\r\nimport \"brace/theme/monokai\";\r\n\r\n\r\ndeclare var ace: any;\r\n\r\n@Directive({\r\n    selector: '[ace-editor]'\r\n})\r\nexport class AceEditorDirective implements OnInit, OnDestroy {\r\n    @Output() textChanged = new EventEmitter();\r\n    @Output() textChange = new EventEmitter();\r\n    _options: any = {};\r\n    _readOnly: boolean = false;\r\n    _theme: string = \"monokai\";\r\n    _mode: any = \"html\";\r\n    _autoUpdateContent: boolean = true;\r\n    _durationBeforeCallback: number = 0;\r\n    _text: string = \"\";\r\n    editor: any;\r\n    oldText: any;\r\n    timeoutSaving: any;\r\n\r\n    constructor(elementRef: ElementRef, private zone: NgZone) {\r\n        let el = elementRef.nativeElement;\r\n        this.zone.runOutsideAngular(() => {\r\n            this.editor = ace[\"edit\"](el);\r\n        });\r\n        this.editor.$blockScrolling = Infinity;\r\n    }\r\n\r\n    ngOnInit() {\r\n        this.init();\r\n        this.initEvents();\r\n    }\r\n\r\n    ngOnDestroy() {\r\n        this.editor.destroy();\r\n    }\r\n\r\n    init() {\r\n        this.editor.setOptions(this._options || {});\r\n        this.editor.setTheme(`ace/theme/${this._theme}`);\r\n        this.setMode(this._mode);\r\n        this.editor.setReadOnly(this._readOnly);\r\n    }\r\n\r\n    initEvents() {\r\n        this.editor.on('change', () => this.updateText());\r\n        this.editor.on('paste', () => this.updateText());\r\n    }\r\n\r\n    updateText() {\r\n        let newVal = this.editor.getValue();\r\n        if (newVal === this.oldText) {\r\n            return;\r\n        }\r\n        if (!this._durationBeforeCallback) {\r\n            this._text = newVal;\r\n            this.zone.run(() => {\r\n                this.textChange.emit(newVal);\r\n                this.textChanged.emit(newVal);\r\n            });\r\n        } else {\r\n            if (this.timeoutSaving != null) {\r\n                clearTimeout(this.timeoutSaving);\r\n            }\r\n\r\n            this.timeoutSaving = setTimeout(() => {\r\n                this._text = newVal;\r\n                this.zone.run(() => {\r\n                    this.textChange.emit(newVal);\r\n                    this.textChanged.emit(newVal);\r\n                });\r\n                this.timeoutSaving = null;\r\n            }, this._durationBeforeCallback);\r\n        }\r\n        this.oldText = newVal;\r\n    }\r\n\r\n    @Input() set options(options: any) {\r\n        this._options = options;\r\n        this.editor.setOptions(options || {});\r\n    }\r\n\r\n    @Input() set readOnly(readOnly: any) {\r\n        this._readOnly = readOnly;\r\n        this.editor.setReadOnly(readOnly);\r\n    }\r\n\r\n    @Input() set theme(theme: any) {\r\n        this._theme = theme;\r\n        this.editor.setTheme(`ace/theme/${theme}`);\r\n    }\r\n\r\n    @Input() set mode(mode: any) {\r\n        this.setMode(mode);\r\n    }\r\n\r\n    setMode(mode: any) {\r\n        this._mode = mode;\r\n        if (typeof this._mode === 'object') {\r\n            this.editor.getSession().setMode(this._mode);\r\n        } else {\r\n            this.editor.getSession().setMode(`ace/mode/${this._mode}`);\r\n        }\r\n    }\r\n\r\n    @Input()\r\n    get text() {\r\n        return this._text;\r\n    }\r\n\r\n    set text(text: string) {\r\n        this.setText(text);\r\n    }\r\n\r\n    setText(text: any) {\r\n        if (this._text !== text) {\r\n            if (text === null || text === undefined) {\r\n                text = \"\";\r\n            }\r\n\r\n            if (this._autoUpdateContent === true) {\r\n                this._text = text;\r\n                this.editor.setValue(text);\r\n                this.editor.clearSelection();\r\n            }\r\n        }\r\n    }\r\n\r\n    @Input() set autoUpdateContent(status: any) {\r\n        this._autoUpdateContent = status;\r\n    }\r\n\r\n    @Input() set durationBeforeCallback(num: number) {\r\n        this.setDurationBeforeCallback(num);\r\n    }\r\n\r\n    setDurationBeforeCallback(num: number) {\r\n        this._durationBeforeCallback = num;\r\n    }\r\n\r\n    get aceEditor() {\r\n        return this.editor;\r\n    }\r\n}\r\n","import { Component, EventEmitter, Output, ElementRef, Input, forwardRef, OnInit, OnDestroy, NgZone } from \"@angular/core\";\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\nimport \"brace\";\nimport \"brace/theme/monokai\";\n\ndeclare var ace: any;\n\n@Component({\n    selector: 'ace-editor',\n    template: '',\n    styles: [':host { display:block;width:100%; }'],\n    providers: [{\n        provide: NG_VALUE_ACCESSOR,\n        useExisting: forwardRef(() => AceEditorComponent),\n        multi: true\n    }]\n})\nexport class AceEditorComponent implements ControlValueAccessor, OnInit, OnDestroy {\n    @Output() textChanged = new EventEmitter();\n    @Output() textChange = new EventEmitter();\n    @Input() style: any = {};\n    _options: any = {};\n    _readOnly: boolean = false;\n    _theme: string = \"monokai\";\n    _mode: any = \"html\";\n    _autoUpdateContent: boolean = true;\n    _editor: any;\n    _durationBeforeCallback: number = 0;\n    _text: string = \"\";\n    oldText: any;\n    timeoutSaving: any;\n\n    constructor(elementRef: ElementRef, private zone: NgZone) {\n        let el = elementRef.nativeElement;\n        this.zone.runOutsideAngular(() => {\n            this._editor = ace['edit'](el);\n        });\n        this._editor.$blockScrolling = Infinity;\n    }\n\n    ngOnInit() {\n        this.init();\n        this.initEvents();\n    }\n\n    ngOnDestroy() {\n        this._editor.destroy();\n    }\n\n    init() {\n        this.setOptions(this._options || {});\n        this.setTheme(this._theme);\n        this.setMode(this._mode);\n        this.setReadOnly(this._readOnly);\n    }\n\n    initEvents() {\n        this._editor.on('change', () => this.updateText());\n        this._editor.on('paste', () => this.updateText());\n    }\n\n    updateText() {\n        let newVal = this._editor.getValue();\n        if (newVal === this.oldText) {\n            return;\n        }\n        if (!this._durationBeforeCallback) {\n            this._text = newVal;\n            this.zone.run(() => {\n                this.textChange.emit(newVal);\n                this.textChanged.emit(newVal);\n            });\n            this._onChange(newVal);\n        } else {\n            if (this.timeoutSaving) {\n                clearTimeout(this.timeoutSaving);\n            }\n\n            this.timeoutSaving = setTimeout(() => {\n                this._text = newVal;\n                this.zone.run(() => {\n                    this.textChange.emit(newVal);\n                    this.textChanged.emit(newVal);\n                });\n                this.timeoutSaving = null;\n            }, this._durationBeforeCallback);\n        }\n        this.oldText = newVal;\n    }\n\n    @Input() set options(options: any) {\n        this.setOptions(options);\n    }\n\n    setOptions(options: any) {\n        this._options = options;\n        this._editor.setOptions(options || {});\n    }\n\n    @Input() set readOnly(readOnly: any) {\n        this.setReadOnly(readOnly);\n    }\n\n    setReadOnly(readOnly: any) {\n        this._readOnly = readOnly;\n        this._editor.setReadOnly(readOnly);\n    }\n\n    @Input() set theme(theme: any) {\n        this.setTheme(theme);\n    }\n\n    setTheme(theme: any) {\n        this._theme = theme;\n        this._editor.setTheme(`ace/theme/${theme}`);\n    }\n\n    @Input() set mode(mode: any) {\n        this.setMode(mode);\n    }\n\n    setMode(mode: any) {\n        this._mode = mode;\n        if (typeof this._mode === 'object') {\n            this._editor.getSession().setMode(this._mode);\n        } else {\n            this._editor.getSession().setMode(`ace/mode/${this._mode}`);\n        }\n    }\n\n    get value() {\n        return this.text;\n    }\n\n    @Input()\n    set value(value: string) {\n        this.setText(value);\n    }\n\n    writeValue(value: any) {\n        this.setText(value);\n    }\n\n    private _onChange = (_: any) => {\n    };\n\n    registerOnChange(fn: any) {\n        this._onChange = fn;\n    }\n\n    private _onTouched = () => {\n    };\n\n    registerOnTouched(fn: any) {\n        this._onTouched = fn;\n    }\n\n    get text() {\n        return this._text;\n    }\n\n    @Input()\n    set text(text: string) {\n        this.setText(text);\n    }\n\n    setText(text: any) {\n        if (text === null || text === undefined) {\n            text = \"\";\n        }\n        if (this._text !== text && this._autoUpdateContent === true) {\n            this._text = text;\n            this._editor.setValue(text);\n            this._onChange(text);\n            this._editor.clearSelection();\n        }\n    }\n\n    @Input() set autoUpdateContent(status: any) {\n        this.setAutoUpdateContent(status);\n    }\n\n    setAutoUpdateContent(status: any) {\n        this._autoUpdateContent = status;\n    }\n\n    @Input() set durationBeforeCallback(num: number) {\n        this.setDurationBeforeCallback(num);\n    }\n\n    setDurationBeforeCallback(num: number) {\n        this._durationBeforeCallback = num;\n    }\n\n    getEditor() {\n        return this._editor;\n    }\n}\n","import {NgModule} from \"@angular/core\";\nimport {AceEditorComponent} from \"./component\";\nimport {AceEditorDirective} from \"./directive\";\n\nconst list = [\n    AceEditorComponent,\n    AceEditorDirective\n]\n\n@NgModule({\n    declarations: [\n        ...list\n    ],\n    imports: [],\n    providers: [],\n    exports: list\n})\nexport class AceEditorModule {\n\n}\n","/*\n * Public API Surface of ngx-ace-editor\n */\n\nexport { AceEditorDirective } from './lib/directive';\nexport { AceEditorComponent } from './lib/component';\nexport { AceEditorModule } from './lib/module';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}