From 1f550a4fce54040aa41f6351b0ba1fe1c404652d Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Sat, 18 Mar 2017 16:26:15 +0000 Subject: [PATCH] WebBox-Basis und -Daten-Ordner fuer wbxAdmin in Dateimanager aufgenommen --- web/ui/ui.js | 88 +++++++++++++++++++++++++++++++------------- 1 files changed, 62 insertions(+), 26 deletions(-) diff --git a/web/ui/ui.js b/web/ui/ui.js index 997e9ee..977ea1c 100644 --- a/web/ui/ui.js +++ b/web/ui/ui.js @@ -31,6 +31,8 @@ var loc; var PERS_DIR = "Persoenlich"; var PUB_DIR = "Oeffentlich"; +var BASE_DIR = "$basis"; +var DATA_DIR = "$daten"; var compilerIssues; function fm_init() { @@ -94,6 +96,10 @@ restdir = pfad.substr(PUB_DIR.length); } else if(pfad.indexOf(PERS_DIR) > -1) { restdir = pfad.substr(PERS_DIR.length); + } else if(pfad.indexOf(BASE_DIR) > -1) { + restdir = pfad.substr(BASE_DIR.length); + } else if(pfad.indexOf(DATA_DIR) > -1) { + restdir = pfad.substr(DATA_DIR.length); } if(restdir !== undefined && restdir.startsWith('/')) { restdir = restdir.substr(1); @@ -279,27 +285,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 +588,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 +873,11 @@ /* ---- codemirror editor handling -------- */ +/* function htmlDecode(value){ return $('<div/>').html(value).text(); } +*/ function fm_code_edit(content, m) { cm = CodeMirror.fromTextArea(document.getElementById("editspace"), { @@ -869,6 +892,20 @@ }, "Esc": function(cm) { if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false); + }, + ".": 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; } } }); @@ -883,10 +920,11 @@ //var marker = info.gutterMarkers.breakpoints; //$(marker).tooltip('toggle'); }); -} - -function fm_set_code_marker(lineNumber, message) { - cm.setGutterMarker(lineNumber-1, "breakpoints", makeMarker(message)); + /* + cm.on("keyHandled", function(theEditor, keyName, event){ + console.log('cm.keyHandled keyName: ' + keyName + ', event.type: ' + event.type); + }); + */ } function makeMarker(msg) { @@ -897,12 +935,10 @@ $(marker).tooltip({ placement: 'right', title: msg, - offset: '10 -10' + offset: '0 -30' }); return marker; } - - /* -------- helper functions ----------- */ -- Gitblit v1.9.3