Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

39
LINES

< > BotCompany Repo | #1030234 // hAceEditor [WORKS]

JavaX fragment (include) [tags: use-pretranspiled]

Libraryless. Click here for Pure Java version (3236L/21K).

// TODO: works only once on a page
// requires JQuery
sS hAceEditor(S text, O... _) {
  //_ = html_massageAutofocusParam(_);
  optPar S name = "text";
  S id = "ace_" + name;
  
  ret div(htmlEncode2(text), params_stylePlus("display: none", paramsPlus(_, +id)))
    + hscriptsrc("https://botcompany.de/ace-builds/src-noconflict/ace.js")
    + hscriptsrc("https://botcompany.de/ace-builds/src-noconflict/ext-language_tools.js")
    + hhiddenWithIDAndName(name)
    + hscript(replaceDollarVars([[ {
      ace.require("ace/ext/language_tools");
      var editor = ace.edit($id);
      editor.setTheme("ace/theme/ambience");
      editor.getSession().setTabSize(2);
      editor.getSession().setUseSoftTabs(true);
      editor.getSession().setUseWrapMode(true);
      document.getElementById($id).style.fontSize='15px';
      editor.setOptions({
        enableBasicAutocompletion: true
      });
      
      var hiddenVal = document.getElementById($name);
      function updateHidden() {
        //hiddenVal.value = editor.getValue();
        var newVal = editor.getValue();
        if (hiddenVal.value != newVal)
          $(hiddenVal).val(newVal).trigger('change');
      }
      updateHidden();
      
      editor.session.on('change', updateHidden);

      var div = $("#" + $id);
      div.show();
      //editor.focus();
    } ]], id := jsQuote(id), name := jsQuote(name));
}

Author comment

Began life as a copy of #1009277

download  show line numbers  debug dex  old transpilations   

Travelled to 4 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt

No comments. add comment

Snippet ID: #1030234
Snippet name: hAceEditor [WORKS]
Eternal ID of this version: #1030234/18
Text MD5: 7ce8f0ae592146348d36ef08a0550507
Transpilation MD5: 6616af22ea478d50b62e6ed25237abe8
Author: stefan
Category: javax / html
Type: JavaX fragment (include)
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2020-11-20 12:57:40
Source code size: 1416 bytes / 39 lines
Pitched / IR pitched: No / No
Views / Downloads: 142 / 234
Version history: 17 change(s)
Referenced in: [show references]