{"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    standalone: false\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    standalone: false\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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"}