editor_sub.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. declare function opennamu_do_url_encode(data : any) : string;
  2. declare function do_sync_monaco_and_textarea();
  3. declare function do_textarea_to_manaco();
  4. interface Window {
  5. editor? : any;
  6. }
  7. function opennamu_do_editor_preview() {
  8. do_sync_monaco_and_textarea();
  9. const input = document.querySelector('#opennamu_edit_textarea') as HTMLInputElement | null;
  10. if(input !== null) {
  11. let doc_name : string = 'test';
  12. const doc_name_input = document.querySelector('#opennamu_editor_doc_name') as HTMLInputElement | null;
  13. if(doc_name_input !== null) {
  14. doc_name = doc_name_input.value;
  15. }
  16. fetch("/api/w_tool/preview/" + (opennamu_do_url_encode(doc_name)), {
  17. method : 'POST',
  18. headers : { 'Content-Type': 'application/x-www-form-urlencoded' },
  19. body : new URLSearchParams({
  20. 'data': input.value,
  21. })
  22. }).then(function(res) {
  23. return res.json();
  24. }).then(function(text) {
  25. const preview = document.querySelector('#opennamu_preview_area') as HTMLInputElement | null;
  26. if(preview !== null) {
  27. preview.innerHTML = text.data;
  28. eval(text.js_data);
  29. }
  30. });
  31. }
  32. }
  33. function opennamu_do_editor_temp_save() {
  34. do_sync_monaco_and_textarea();
  35. const input = document.querySelector('#opennamu_edit_textarea') as HTMLInputElement | null;
  36. if(input !== null) {
  37. localStorage.setItem("key", input.value);
  38. }
  39. }
  40. function opennamu_do_editor_temp_save_load() {
  41. const data = localStorage.getItem("key");
  42. if(data !== null) {
  43. const input = document.querySelector('#opennamu_edit_textarea') as HTMLInputElement | null;
  44. if(input !== null) {
  45. input.value = data;
  46. }
  47. do_textarea_to_manaco();
  48. }
  49. }