Dateiverwaltung für die WebBox
ulrich
2017-02-14 c7c5020d1ad7e4fc39c7ae08db4afe4cf2956c0c
FileMgr Api begonnen
1 files modified
4 files added
213 ■■■■■ changed files
src/java/de/uhilger/filecms/api/FileMgr.java 34 ●●●●● patch | view | raw | blame | history
web/WEB-INF/web.xml 4 ●●●● patch | view | raw | blame | history
web/ui/index.html 112 ●●●●● patch | view | raw | blame | history
web/ui/stile.css 58 ●●●●● patch | view | raw | blame | history
web/ui/ui.js 5 ●●●●● patch | view | raw | blame | history
src/java/de/uhilger/filecms/api/FileMgr.java
New file
@@ -0,0 +1,34 @@
package de.uhilger.filecms.api;
import de.uhilger.filesystem.FileRef;
import de.uhilger.transit.web.WebKontext;
import javax.servlet.ServletContext;
/**
 *
 * @author ulrich
 */
public class FileMgr implements WebKontext {
  public static final String FILE_BASE = "fileBase";
  private ServletContext ctx;
  public FileRef getBase() {
    FileRef ref = null;
    String fileBase = getServletContext().getInitParameter(FILE_BASE);
    return ref;
  }
  @Override
  public ServletContext getServletContext() {
    return ctx;
  }
  @Override
  public void setServletContext(ServletContext servletContext) {
    this.ctx = servletContext;
  }
}
web/WEB-INF/web.xml
@@ -2,6 +2,10 @@
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <description>Dateiverwaltung fuer die WebBox</description>
    <display-name>file-cms</display-name>
    <context-param>
        <param-name>fileBase</param-name>
        <param-value>../../../daten/</param-value>
    </context-param>
    <session-config>
        <session-timeout>
            30
web/ui/index.html
New file
@@ -0,0 +1,112 @@
<!DOCTYPE html>
<html>
  <head>
    <title>Flexbox Demo</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" type="text/css" href="/jslib/bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="/jslib/font-awesome/css/font-awesome.min.css">
    <link rel="stylesheet" type="text/css" href="stile.css">
  </head>
  <body>
    <!-- Kopfzeile -->
    <div class="nord">
      <div id="menue"> <!-- Menue -->
        <ul class="nav">
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Verwaltung</a>
            <div class="dropdown-menu">
              <a class="dropdown-item" href="/">WebBox</a>
              <div class="dropdown-divider"></div>
              <a class="dropdown-item" href="/wbx/mng">Apps</a>
              <a class="dropdown-item" href="/um/ui">Benutzer</a>
            </div>
          </li>
          <li class="nav-item dropdown">
            <a id="userMenu" class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
            <div class="dropdown-menu">
              <a id="logout" class="dropdown-item" href="#">Abmelden</a>
            </div>
          </li>
        </ul>
      </div> <!-- Menue -->
    </div>
    <div class="inhalt">
      <!-- westliche Seitenleiste -->
      <div class="west hidden-xs-down">
          <!-- linke Seitenleiste mit Links -->
          <nav class="nav flex-column">
            <a class="nav-link active" href="#">Active</a>
            <a class="nav-link" href="#">Link</a>
            <a class="nav-link" href="#">Link</a>
            <a class="nav-link disabled" href="#">Disabled</a>
          </nav>
      </div>
      <!-- zentraler Inhaltsbereich -->
      <div class="zentrum">
        <div class="zentrum-bc">
          <nav class="breadcrumb">
            <a class="breadcrumb-item" href="#">Home</a>
            <a class="breadcrumb-item" href="#">Library</a>
            <a class="breadcrumb-item" href="#">Data</a>
            <span class="breadcrumb-item active">Bootstrap</span>
            <div class="pull-right align-middle">
              <i class="fa fa-th-large"></i>
            </div>
          </nav>
        </div>
        <div class="zentrum-liste">
          <figure class="figure datei-figure text-center text-warning align-top">
            <i class="fa fa-folder fa-3x"></i>
            <figcaption class="figure-caption">Kurzer Text</figcaption>
          </figure>
          <figure class="figure datei-figure text-center text-warning align-top">
            <i class="fa fa-folder fa-3x"></i>
            <figcaption class="figure-caption">A caption for the above image.</figcaption>
          </figure>
          <figure class="figure datei-figure text-center text-warning align-top">
            <i class="fa fa-folder fa-3x"></i>
            <figcaption class="figure-caption">Ein ganz langer Text, der dieses Element benennt.</figcaption>
          </figure>
          <figure class="figure datei-figure text-center text-warning align-top">
            <i class="fa fa-folder fa-3x"></i>
            <figcaption class="figure-caption">Wort</figcaption>
          </figure>
          <figure class="figure datei-figure text-center text-warning align-top">
            <i class="fa fa-folder fa-3x"></i>
            <figcaption class="figure-caption">Wort2</figcaption>
          </figure>
          <figure class="figure datei-figure text-center text-warning align-top">
            <i class="fa fa-folder fa-3x"></i>
            <figcaption class="figure-caption">Wort3</figcaption>
          </figure>
        </div>
      </div>
      <!-- oestliche Seitenleiste -->
      <!--
      <div class="ost">
        &ouml;stliche Seitenleiste
      </div>
      -->
    </div>
    <!-- Fusszeile -->
    <!--
    <div class="sued">
      Fu&szlig;zeile
    </div>
    -->
    <!-- Skripte -->
    <script src="/jslib/jquery/jquery.min.js"></script>
    <script src="/jslib/bootstrap/js/bootstrap.min.js"></script>
    <script src="/jslib/mustache/mustache.min.js"></script>
    <script src="ui.js"></script>
    <script type="text/javascript" charset="utf-8">
      //var ui;
      $(document).ready(function() {
        // init
      });
    </script>
  </body>
</html>
web/ui/stile.css
New file
@@ -0,0 +1,58 @@
/* Stile Listenansicht */
html {
  margin: 0;
  padding: 0;
  height: 100%; /* Anmerkung 2 */
}
body {
  margin: 0;
  padding: 0;
  height: 100%; /* Anmerkung 2 */
  min-height: 0; /* Anmerkung 1 */
  display: flex;
  flex-flow: column;
}
.inhalt {
  display: flex;
  flex-flow: row;
  height: 100%; /* Anmerkung 2 */
  min-height: 0; /* Anmerkung 1 */
}
.nord {
}
.sued {
  background-color: lightgray;
}
.west {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10em;
}
.ost {
  flex-grow: 0;
  flex-shrink: 0;
  flex-basis: 10em;
  background-color: antiquewhite;
}
.zentrum {
  width: 100%;
  height: 100%;
  display: flex;
  flex-flow: column;
}
.zentrum-bc {
}
.zentrum-liste {
  width: 100%;
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.datei-figure {
  width: 6em;
}
web/ui/ui.js
New file
@@ -0,0 +1,5 @@
function fm_init() {
}