Dateiverwaltung für die WebBox
ulrich
2017-02-18 9159275f8efe97da69e138ef3378931181447370
Textdatei speichern implementiert
4 files modified
83 ■■■■ changed files
src/java/de/uhilger/filecms/api/FileMgr.java 3 ●●●● patch | view | raw | blame | history
web/WEB-INF/web.xml 12 ●●●●● patch | view | raw | blame | history
web/ui/index.html 22 ●●●●● patch | view | raw | blame | history
web/ui/ui.js 46 ●●●●● patch | view | raw | blame | history
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) {
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
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 -->
      <!--
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) + '}';
};
}