From fd0b4cf7236de6f05f3df2ed5bdd9508fd5fbb01 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Thu, 16 Mar 2017 18:35:44 +0000 Subject: [PATCH] Versuche mit dem Java-Compiler (in Arbeit) --- web/ui/ui.js | 76 +++++++++++++++++++++++++------------- 1 files changed, 50 insertions(+), 26 deletions(-) diff --git a/web/ui/ui.js b/web/ui/ui.js index 6d66b5c..0fd2167 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -279,27 +279,42 @@ } function fm_menu_test_2() { + fm_compile('0', fm_mark_compile_results_in_editor); +} + +function fm_mark_compile_results_in_editor(resp) { + cm.clearGutter("breakpoints"); + + if(resp.List[0].CompilerIssue !== undefined) { + var lno; + var eMsg; + if(resp.List[0].CompilerIssue instanceof Array) { + var issueNo = 0; + while(issueNo < resp.List[0].CompilerIssue.length) { + // console.log(resp.List[0].CompilerIssue[issueNo].kind); + // console.log(resp.List[0].CompilerIssue[issueNo].lineNumber); + // console.log(resp.List[0].CompilerIssue[issueNo].sourceName); + // console.log(resp.List[0].CompilerIssue[issueNo].message); + lno = resp.List[0].CompilerIssue[issueNo].lineNumber; + eMsg = resp.List[0].CompilerIssue[issueNo].kind + ' ' + resp.List[0].CompilerIssue[issueNo].message; + cm.setGutterMarker(lno-1, "breakpoints", makeMarker(eMsg)); + issueNo++; + } + } else { + lno = resp.List[0].CompilerIssue.lineNumber; + eMsg = resp.List[0].CompilerIssue.kind + ' ' + resp.List[0].CompilerIssue.message; + cm.setGutterMarker(lno-1, "breakpoints", makeMarker(eMsg)); + } + } +} + +function fm_compile(modeStr, callback) { var liste = fm_gewaehlte_dateien(); - var m = '?c=de.uhilger.filecms.api.CompileService&m=compile&p=' + pfad + '&p=' + encodeURIComponent(liste); + var m = '?c=de.uhilger.filecms.api.CompileService&m=compile&p=' + pfad + '&p=' + encodeURIComponent(liste) + + '&p=' + modeStr; var u = '../svc' + m; fm_get(u, "json", function(resp) { - cm.clearGutter("breakpoints"); - - if(resp.List[0].CompilerIssue !== undefined) { - if(resp.List[0].CompilerIssue instanceof Array) { - var issueNo = 0; - while(issueNo < resp.List[0].CompilerIssue.length) { - // console.log(resp.List[0].CompilerIssue[issueNo].kind); - // console.log(resp.List[0].CompilerIssue[issueNo].lineNumber); - // console.log(resp.List[0].CompilerIssue[issueNo].sourceName); - // console.log(resp.List[0].CompilerIssue[issueNo].message); - fm_set_code_marker(resp.List[0].CompilerIssue[issueNo].lineNumber, resp.List[0].CompilerIssue[issueNo].kind + ' ' + resp.List[0].CompilerIssue[issueNo].message); - issueNo++; - } - } else { - fm_set_code_marker(resp.List[0].CompilerIssue.lineNumber, resp.List[0].CompilerIssue.kind + ' ' + resp.List[0].CompilerIssue.message); - } - } + callback(resp); }); } @@ -567,7 +582,7 @@ $('#modal_ok').click(function() { // hier umbenennen - fm_rename_file(fname, pfad, $('#dateiname').val()) + fm_rename_file(fname, pfad, $('#dateiname').val()); }); $('#saveModalTitle').text('Datei umbenennen'); $('#dialogfrage').text("Neuer Dateiname?"); @@ -852,9 +867,11 @@ /* ---- codemirror editor handling -------- */ +/* function htmlDecode(value){ return $('<div/>').html(value).text(); } +*/ function fm_code_edit(content, m) { cm = CodeMirror.fromTextArea(document.getElementById("editspace"), { @@ -872,6 +889,17 @@ }, ".": function(cm) { console.log('dot pressed: perhaps look up class or method name'); + /* + * Hier kann man eine Funktion ausloesen, die fuer das + * Wort vor dem Punkt (Name der Klasse) eine Liste mit + * Vorschlaegen fuer Methodennamen einblendet. + */ + + /* + * CodeMirror.Pass laesst das Zeichen zum Editorinhalt durch, + * verhindert aber das Ausloesen von 'keyHandled' + */ + return CodeMirror.Pass; } } }); @@ -886,13 +914,11 @@ //var marker = info.gutterMarkers.breakpoints; //$(marker).tooltip('toggle'); }); + /* cm.on("keyHandled", function(theEditor, keyName, event){ - console.log('cm.keyHandled keyName: ' + keyName + ', event.type: ' + event.type); + console.log('cm.keyHandled keyName: ' + keyName + ', event.type: ' + event.type); }); -} - -function fm_set_code_marker(lineNumber, message) { - cm.setGutterMarker(lineNumber-1, "breakpoints", makeMarker(message)); + */ } function makeMarker(msg) { @@ -907,8 +933,6 @@ }); return marker; } - - /* -------- helper functions ----------- */ -- Gitblit v1.9.3