VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-form/js/editor/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-form/js/editor/CodeEditor.js
import BaseEditor from "../core/BaseEditor";
import FCore from "../core/FCore";
import AbsolBrace from "absol-brace";
import '../../css/codeeditor.css';



var _ = FCore._;
var $ = FCore.$;

function CodeEditor() {
    BaseEditor.call(this);
    this.aceEditor = null;
    this._openningData = { type: 'txt', value: '' };
}

Object.defineProperties(CodeEditor.prototype, Object.getOwnPropertyDescriptors(BaseEditor.prototype));
CodeEditor.prototype.constructor = CodeEditor;

CodeEditor.prototype.TYPE_MODE = {
    js: 'ace/mode/javascript',
    txt: 'ace/mode/plain_text',
    json: 'ace/mode/json',
    md: 'ace/mode/markdown',
    html:'ace/mode/html',
    css:'ace/mode/css',
    LICENSE:'ace/mode/plain_text'
};

CodeEditor.prototype.getView = function () {
    if (this.$view) return this.$view;
    this.$view = _({
        tag: 'pre',
        class: 'as-code-editor'
    });
    this.aceEditor = AbsolBrace.ace.edit(this.$view);
    return this.$view;
};

/**
 * @param {{type:String, value: String}} data
 */
CodeEditor.prototype.setData = function (data) {
    this._openningData = data;
    this.aceEditor.setValue(data.value);
    this.aceEditor.setOption('mode', this.TYPE_MODE[data.type] || this.TYPE_MODE.txt);
    this.aceEditor.setOptions({
        enableBasicAutocompletion: true,
        enableSnippets: true
    });
};

CodeEditor.prototype.getData = function () {
    var value = this.aceEditor.getValue();
    return Object.assign({}, this._openningData, { value: value });
};



export default CodeEditor;




VaKeR 2022