_sample_editor.haml 1003 B

123456789101112131415161718192021222324252627282930313233343536
  1. = javascript_include_tag "ace/ace.js"
  2. = javascript_include_tag "ace/mode-javascript.js"
  3. = javascript_include_tag "ace/theme-tomorrow.js"
  4. :javascript
  5. var editor = ace.edit('#{type}-editor'),
  6. error = document.getElementById('ace-error');
  7. function debounce(func, wait) {
  8. var timeout;
  9. return function() {
  10. var context = this, args = arguments;
  11. var later = function() {
  12. func.apply(context, args);
  13. };
  14. clearTimeout(timeout);
  15. timeout = setTimeout(later, wait);
  16. };
  17. };
  18. editor.on('change', debounce(function(e) {
  19. try {
  20. eval(editor.getValue());
  21. error.innerHTML = '';
  22. }
  23. catch(e) {
  24. error.innerHTML = e;
  25. }
  26. }, 300));
  27. editor.setOption("maxLines", 100);
  28. editor.setOption("showLineNumbers", false);
  29. editor.setOption("showGutter", false);
  30. editor.setTheme("ace/theme/tomorrow");
  31. editor.getSession().setMode("ace/mode/#{type}");
  32. editor.commands.removeCommand('gotoline') // Disables the override of Command-L