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 |   82 ++++++++++++++++++++++++++++-------------
 1 files changed, 56 insertions(+), 26 deletions(-)

diff --git a/web/ui/ui.js b/web/ui/ui.js
index 6d66b5c..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"), {
@@ -872,6 +895,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 +920,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 +939,6 @@
   });
   return marker;
 }
-
-
 
 /* -------- helper functions ----------- */
 

--
Gitblit v1.9.3