editor.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. $(document).ready(function() {
  2. var $editor = $('#editor');
  3. var $editorJs = $('#editor-javascript');
  4. var $editorHtml = $('#editor-html');
  5. var $htmlContent = $('#html-content');
  6. var activeTab = 'show-html';
  7. var editor = ace.edit("editor");
  8. editor.setTheme("ace/theme/eclipse");
  9. editor.getSession().setMode("ace/mode/javascript");
  10. editor.getSession().setUseWrapMode(true);
  11. editor.getSession().on('change', function() {
  12. console.log(arguments)
  13. });
  14. function setActiveTab(which) {
  15. var elementId = 'show-' + which;
  16. $('#' + activeTab).removeClass('active');
  17. activeTab = elementId;
  18. $('#' + elementId).addClass('active');
  19. var ed = $('#editor-' + which);
  20. editor.getSession().setValue('');
  21. console.log(which);
  22. editor.getSession().setMode("ace/mode/" + which);
  23. console.log('set editor content to', ed.html());
  24. editor.getSession().setValue(ed.html());
  25. }
  26. $('#tabs button').click(function() {
  27. var which = $(this).prop('id').substr(5);
  28. setActiveTab(which);
  29. })
  30. function loadExample() {
  31. var exampleName = $(this).val();
  32. var serverPath = 'exemples/' + exampleName + '/';
  33. $.get(serverPath + 'script.js', function(javascript) {
  34. $editorJs.html(javascript);
  35. }, 'text');
  36. $.get(serverPath + '/contenu.html', function(html) {
  37. $editorHtml.html(html);
  38. $htmlContent.html(html);
  39. setActiveTab('html');
  40. loadJS(serverPath + 'script.js');
  41. }, 'text');
  42. }
  43. var fileSelect = $('#fileSelect');
  44. fileSelect.change(loadExample);
  45. setActiveTab('html');
  46. });