From 942d637e33c73edd807951f8100634cd659876fa Mon Sep 17 00:00:00 2001
From: ulrich <undisclosed>
Date: Mon, 06 Mar 2017 07:20:17 +0000
Subject: [PATCH] dekodieren fuer Codemirror

---
 web/ui/ui.js |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/web/ui/ui.js b/web/ui/ui.js
index fdaf273..f3587cb 100644
--- a/web/ui/ui.js
+++ b/web/ui/ui.js
@@ -24,6 +24,7 @@
 var openEditor;
 var userid;
 var tmo;
+var tmo2;
 var cutCopySrcDir;
 var cutCopyFiles;
 var cutCopyOperation;
@@ -379,8 +380,15 @@
   fm_filectls_hide();
   fm_dok_editor_init(userid);
   $("#mce-editor").show();
-  ed.setContent(content);
-  openEditor = 'dok';  
+  
+  window.clearTimeout(tmo2);
+  tmo2 = window.setTimeout(function () {
+    try {
+      ed.setContent(content);
+      openEditor = 'dok';  
+    } catch (err) {
+    }
+  }, 200);
 }
 
 function fm_filectls_hide() {
@@ -680,20 +688,20 @@
   //var fname = $('.datei-gewaehlt').text();
   var fname = openFileName;
   if(fname !== undefined && fname !== '') {
-    fm_save_file(fname);
+    fm_save_file(fname, 'saveTextFile');
   } else {
     fm_menu_datei_speichern_unter();
   }
 }
 
-function fm_save_file(saveFileName) {
+function fm_save_file(saveFileName, method) {
   var content;
   if(openEditor === 'text') {
     content = cm.getValue();
   } else {
     content = ed.getContent();
   }
-  var m = '?c=de.uhilger.filecms.api.FileMgr&m=saveTextFile';
+  var m = '?c=de.uhilger.filecms.api.FileMgr&m=' + method;
   var u = '../svc' + m;
   fm_post(u, {p1: pfad, p2: saveFileName, p3: content}, function(resp) {
     openFileName = saveFileName;
@@ -703,7 +711,7 @@
 function fm_menu_datei_speichern_unter() {  
   $('#modal_ok').click(function() {
     // hier speichern
-    fm_save_file($('#dateiname').val());
+    fm_save_file($('#dateiname').val(), 'saveTextFileAs');
   });
   $('#saveModalTitle').text('Datei speichern');
   $('#dialogfrage').text("Dateiname?");
@@ -734,6 +742,10 @@
 
 /* ---- codemirror editor handling -------- */
 
+function htmlDecode(value){ 
+  return $('<div/>').html(value).text(); 
+}
+
 function fm_code_edit(content, m) {
   cm = CodeMirror.fromTextArea(document.getElementById("editspace"), {
     lineNumbers: true,
@@ -748,7 +760,7 @@
       }
     }
   });
-  cm.setValue(content);
+  cm.setValue(htmlDecode(content));
 }
 
 

--
Gitblit v1.9.3