From 9159275f8efe97da69e138ef3378931181447370 Mon Sep 17 00:00:00 2001
From: ulrich <not disclosed>
Date: Sat, 18 Feb 2017 16:04:10 +0000
Subject: [PATCH] Textdatei speichern implementiert

---
 web/WEB-INF/web.xml                          |   12 ++++++
 web/ui/index.html                            |   22 +++++++++++
 src/java/de/uhilger/filecms/api/FileMgr.java |    3 +
 web/ui/ui.js                                 |   46 +++++++++++++++--------
 4 files changed, 66 insertions(+), 17 deletions(-)

diff --git a/src/java/de/uhilger/filecms/api/FileMgr.java b/src/java/de/uhilger/filecms/api/FileMgr.java
index 31e1ac1..d39ab79 100644
--- a/src/java/de/uhilger/filecms/api/FileMgr.java
+++ b/src/java/de/uhilger/filecms/api/FileMgr.java
@@ -102,12 +102,13 @@
         File saveDir = new File(userDir, relPath);
         File targetFile = new File(saveDir, fileName);
         if(!targetFile.exists()) {
-          targetFile.mkdirs();
+          targetFile.getParentFile().mkdirs();
           targetFile.createNewFile();
           FileWriter w = new FileWriter(targetFile);
           w.write(contents);
           w.flush();
           w.close();
+          savedFile = new FileRef(targetFile.getAbsolutePath(), targetFile.isDirectory(), targetFile.isHidden(), targetFile.lastModified(), targetFile.length());
         }
       }
     } catch (IOException ex) {
diff --git a/web/WEB-INF/web.xml b/web/WEB-INF/web.xml
index dc82706..2749043 100644
--- a/web/WEB-INF/web.xml
+++ b/web/WEB-INF/web.xml
@@ -14,10 +14,22 @@
             <param-value>de.uhilger.filecms.api</param-value>
         </init-param>
     </servlet>
+    <servlet>
+        <servlet-name>Transit</servlet-name>
+        <servlet-class>de.uhilger.transit.web.TransitServlet</servlet-class>
+        <init-param>
+            <param-name>klassen</param-name>
+            <param-value>de.uhilger.filecms.api</param-value>
+        </init-param>
+    </servlet>
     <servlet-mapping>
         <servlet-name>TransitRS</servlet-name>
         <url-pattern>/rpc/*</url-pattern>
     </servlet-mapping>
+    <servlet-mapping>
+        <servlet-name>Transit</servlet-name>
+        <url-pattern>/svc</url-pattern>
+    </servlet-mapping>
     <session-config>
         <session-timeout>
             30
diff --git a/web/ui/index.html b/web/ui/index.html
index 9831d98..5603b59 100644
--- a/web/ui/index.html
+++ b/web/ui/index.html
@@ -135,6 +135,28 @@
           </div>
           <!-- Dateikacheln Ende -->
         </div>
+        
+        <!-- Modal -->
+        <div class="modal fade" id="saveModal">
+          <div class="modal-dialog" role="document">
+            <div class="modal-content">
+              <div class="modal-header">
+                <h5 class="modal-title">Modal title</h5>
+                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                  <span aria-hidden="true">&times;</span>
+                </button>
+              </div>
+              <div class="modal-body">
+                <p>Dateiname?</p>
+                <input class="form-control eingabe" type="text" size="20" maxlength="250" placeholder="Dateiname" name="dateiname" id="dateiname">
+              </div>
+              <div class="modal-footer">
+                <button id="modal_ok" type="button" class="btn btn-primary" data-dismiss="modal">Speichern</button>
+                <button id="modal_cancel" type="button" class="btn btn-secondary" data-dismiss="modal">Abbrechen</button>
+              </div>
+            </div>
+          </div>
+        </div> <!-- Modal Ende -->        
       </div>
       <!-- oestliche Seitenleiste -->
       <!--
diff --git a/web/ui/ui.js b/web/ui/ui.js
index 10cf3fc..96ebdd0 100644
--- a/web/ui/ui.js
+++ b/web/ui/ui.js
@@ -6,6 +6,9 @@
   $('#newTextFile').on('click', fm_menu_neue_textdatei);
   $('#saveFile').on('click', fm_menu_datei_speichern);
   $('#closeFile').on('click', fm_menu_datei_schliessen);
+  $('#myModal').on('hidden.bs.modal', function (e) {
+    $('#modal_ok').attr('onclick','').unbind('click');
+  })
   fm_get_login();
 }
 
@@ -32,8 +35,23 @@
 }
 
 function fm_menu_datei_speichern() {
-  // FileRef saveTextFile(String relPath, String fileName, String contents)
   
+  $('#modal_ok').click(function() {
+    // hier speichern
+    alert("Speichern");
+    var m = '?c=de.uhilger.filecms.api.FileMgr&m=saveTextFile';
+    var u = '../svc' + m;
+    fm_post(u, {p1: '', p2: $('#dateiname').val(), p3: cm.getValue()}, function(resp) {
+
+    });
+  });
+  $('#saveModal').modal({
+    keyboard: false,
+    show: true
+  });
+  
+  
+  // FileRef saveTextFile(String relPath, String fileName, String contents)
   
   
   /*
@@ -51,8 +69,7 @@
 /* ---- codemirror editor handling -------- */
 
 function fm_code_edit(content) {
-  var windowHeight = $(window).height();
-
+  //var windowHeight = $(window).height();
   //$("editspace").empty();
   //self.cm.toTextArea();
 
@@ -61,19 +78,16 @@
     mode: "xml",
     viewportMargin : Infinity,
     extraKeys: {
-	        "F9": function(cm) {
-	          cm.setOption("fullScreen", !cm.getOption("fullScreen"));
-	        },
-	        "Esc": function(cm) {
-	          if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
-          }
+        "F9": function(cm) {
+        cm.setOption("fullScreen", !cm.getOption("fullScreen"));
+      },
+        "Esc": function(cm) {
+        if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
+      }
     }
   });
-  
-  // cm.setSize("100%", windowHeight - 100); // w, h
   cm.setValue(content);
-  
-};
+}
 
 
 
@@ -93,7 +107,7 @@
     }
 
   });
-};
+}
 
 function fm_post(u, d, scallback) {
   $.ajax({
@@ -109,9 +123,9 @@
       //alert( "The request is complete!" );
     }
   });
-};
+}
 
 function fm_serialise(obj) {
   return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}';
-};
+}
 

--
Gitblit v1.9.3