From 70d6da1fb28dffe54a4bbc8b09097485875da4e3 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sat, 16 May 2020 08:36:18 +0000
Subject: [PATCH] Nicht mehr benoetigte Abhaengigkeiten entfernt, Stile verfeinert

---
 /dev/null          |   66 ----------------------
 web/ui2/js/app.js  |   57 +++++++++++++++++++
 web/ui2/index.html |    5 -
 web/ui2/stile.css  |    8 ++
 4 files changed, 65 insertions(+), 71 deletions(-)

diff --git a/web/ui2/data/menu/datei.json b/web/ui2/data/menu/datei.json
deleted file mode 100644
index 7cbedb9..0000000
--- a/web/ui2/data/menu/datei.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "menue": {
-    "menuetitel": "Datei",
-    "wurzel": false,
-    "vorgaenger": {
-      "vtitel": "Hauptmenü",
-      "vverweis": "hauptmenue.json"
-    },
-    "inhalt": [
-      {
-        "titel": "Neuer Text",
-        "umenue": false,
-        "funktion": "app.datei_neuer_text"
-      },
-      {
-        "titel": "noch mehr",
-        "umenue": true,
-        "verweis": "untermenue-2.json"
-      },
-      {
-        "titel": "Benachrichtigung 2",
-        "umenue": false,
-        "funktion": "app.message_2"
-      }
-    ]
-  }
-}
diff --git a/web/ui2/data/menu/edit.json b/web/ui2/data/menu/edit.json
deleted file mode 100644
index 24f547c..0000000
--- a/web/ui2/data/menu/edit.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "menue": {
-    "menuetitel": "Untermenü 1",
-    "wurzel": false,
-    "vorgaenger": {
-      "vtitel": "Hauptmenü",
-      "vverweis": "hauptmenue.json"
-    },
-    "inhalt": [
-      {
-        "titel": "Benachrichtigung 1",
-        "umenue": false,
-        "funktion": "app.message_1"
-      },
-      {
-        "titel": "noch mehr",
-        "umenue": true,
-        "verweis": "untermenue-2.json"
-      },
-      {
-        "titel": "Benachrichtigung 2",
-        "umenue": false,
-        "funktion": "app.message_2"
-      }
-    ]
-  }
-}
diff --git a/web/ui2/data/menu/hauptmenue.json b/web/ui2/data/menu/hauptmenue.json
deleted file mode 100644
index 51eae86..0000000
--- a/web/ui2/data/menu/hauptmenue.json
+++ /dev/null
@@ -1,32 +0,0 @@
-{
-  "menue": {
-    "menuetitel": "Hauptmenü",
-    "wurzel": true,
-    "vorgaenger": {
-      "vtitel": "",
-      "vverweis": ""
-    },
-    "inhalt":  [
-      {
-        "titel": "Datei",
-        "umenue": true,
-        "verweis": "datei.json"
-      },
-      {
-        "titel": "Bearbeiten",
-        "umenue": true,
-        "verweis": "edit.json"
-      },
-      {
-        "titel": "Nutzer",
-        "umenue": true,
-        "verweis": "nutzer.json"
-      },
-      {
-        "titel": "Info",
-        "umenue": false,
-        "funktion": "app.info_dialog_zeigen"
-      }
-    ]
-  }
-}
diff --git a/web/ui2/data/menu/nutzer.json b/web/ui2/data/menu/nutzer.json
deleted file mode 100644
index 2106e22..0000000
--- a/web/ui2/data/menu/nutzer.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "menue": {
-    "menuetitel": "Nutzer",
-    "wurzel": false,
-    "vorgaenger": {
-      "vtitel": "Hauptmenü",
-      "vverweis": "hauptmenue.json"
-    },
-    "inhalt": [
-      {
-        "titel": "Neu",
-        "umenue": false,
-        "funktion": "app.nutzer_neu_dialog_zeigen"
-      },
-      {
-        "titel": "noch mehr",
-        "umenue": true,
-        "verweis": "untermenue-2.json"
-      },
-      {
-        "titel": "Abmelden",
-        "umenue": false,
-        "funktion": "app.fm_logout"
-      }
-    ]
-  }
-}
diff --git a/web/ui2/data/menu/untermenue-1.json b/web/ui2/data/menu/untermenue-1.json
deleted file mode 100644
index 24f547c..0000000
--- a/web/ui2/data/menu/untermenue-1.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "menue": {
-    "menuetitel": "Untermenü 1",
-    "wurzel": false,
-    "vorgaenger": {
-      "vtitel": "Hauptmenü",
-      "vverweis": "hauptmenue.json"
-    },
-    "inhalt": [
-      {
-        "titel": "Benachrichtigung 1",
-        "umenue": false,
-        "funktion": "app.message_1"
-      },
-      {
-        "titel": "noch mehr",
-        "umenue": true,
-        "verweis": "untermenue-2.json"
-      },
-      {
-        "titel": "Benachrichtigung 2",
-        "umenue": false,
-        "funktion": "app.message_2"
-      }
-    ]
-  }
-}
diff --git a/web/ui2/data/menu/untermenue-2.json b/web/ui2/data/menu/untermenue-2.json
deleted file mode 100644
index 00c0268..0000000
--- a/web/ui2/data/menu/untermenue-2.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "menue": {
-    "menuetitel": "Untermenü 2",
-    "wurzel": false,
-    "vorgaenger": {
-      "vtitel": "Untermenü 1",
-      "vverweis": "untermenue-1.json"
-    },
-    "inhalt":  [
-      {
-        "titel": "Funktion U2.1",
-        "umenue": false,
-        "funktion": "app.message_3('U2.1')"
-      },
-      {
-        "titel": "Funktion U2.2",
-        "umenue": false,
-        "funktion": "app.message_3('U2.2')"
-      },
-      {
-        "titel": "Funktion U2.3",
-        "umenue": false,
-        "funktion": "app.message_3('U2.3')"
-      }
-    ]
-  }
-}
diff --git a/web/ui2/index.html b/web/ui2/index.html
index 78a3d1e..5dd1f08 100644
--- a/web/ui2/index.html
+++ b/web/ui2/index.html
@@ -48,11 +48,6 @@
     </div>
     <!-- Skripte -->
     <script src="/jslib/mustache/mustache.min.js"></script>
-    <script src="/jslib/moment/moment-with-locales.min.js"></script>
-    <script src="/jslib/numeral/numeral.min.js"></script>    
-    <script src="js/app-menu.js"></script>
-    <script src="js/vorlagen.js"></script>
-    <script src="js/data.js"></script>
     <script src="js/app.js"></script>
     <script>
       var app;
diff --git a/web/ui2/js/app-menu.js b/web/ui2/js/app-menu.js
deleted file mode 100644
index 6a3b11e..0000000
--- a/web/ui2/js/app-menu.js
+++ /dev/null
@@ -1,137 +0,0 @@
-function AppMenu() {
-  var self = this;
-  var _app_menu_selector;
-  var _app_menu_mbreite;
-  var _app_menu_url_prefix = "";
-  var _app_menu_template;
-
-  /*
-   * die nachfolgenden Funktionen steuern das ein- und
-   * ausblenden des menues
-   */
-  this.init = function (url_prefix, mdesc, mtpl, mselector, mbreite) {
-    self._app_menu_selector = mselector;
-    self._app_menu_mbreite = mbreite;
-    var menu = document.querySelector(self._app_menu_selector);
-    menu.style.flexBasis = '0em';
-    self._app_menu_url_prefix = url_prefix;
-    /*
-      Die Menue-Vorlage wird einmal zu Beginn geladen und
-      waehrend dem Programmlauf immer wieder neu zum Rendern
-      einer dynamisch gelandenen Menuebeschreibung verwendet
-    */
-    var request = new XMLHttpRequest();
-    request.open("GET", mtpl);
-    request.addEventListener('load', function(event) {
-       if (request.status >= 200 && request.status < 300) {
-          self._app_menu_template = request.responseText;
-          Mustache.parse(self._app_menu_template);   // optional, speeds up future uses
-          self.app_menu_laden(mdesc);
-       } else {
-          console.warn(request.statusText, request.responseText);
-       }
-    });
-    request.send();
-  };
-
-  this.app_menu_do_toggle = function(elem) {
-    self.toggle();
-  };
-
-  this.toggle = function() {
-    var menuDiv = document.querySelector(self._app_menu_selector);
-    if(menuDiv.classList.contains('app-menu-open')) {
-      menuDiv.classList.remove('app-menu-open');
-      menuDiv.style.flexBasis = '0em';
-    } else {
-      menuDiv.classList.add('app-menu-open');
-      menuDiv.style.flexBasis = self._app_menu_mbreite;
-    }
-  };
-
-  /*
-   * ab hier Steuerung des Menueinhalts
-   */
-
-
-  /*
-   * Menuebeschreibung als JSON-Datei laden
-   * mdesc: der URL einer JSON-Datei mit einer Menuebeschreibung
-   * richtung: z.Zt. unbenutzt: Animationsrichtung
-   */
-  this.app_menu_laden = function(mdesc, richtung) {
-    var xmlhttp = new XMLHttpRequest();
-    var url = self._app_menu_url_prefix + mdesc;
-    xmlhttp.onreadystatechange = function() {
-      if (this.readyState == 4 && this.status == 200) {
-        self.app_menu_bauen(JSON.parse(this.responseText), richtung);
-      }
-    };
-    xmlhttp.open("GET", url, true);
-    xmlhttp.send();
-  };
-
-  /*
-    Aus einer Menuebeschreibung im JSON-Format mit Hilfe
-    von Mustache und der zu Beginn geladenen HTML-Vorlage
-    ein div-Element zusammenbauen, das als Menue eingeblendet
-    werden kann und dem Element _app_menu_selector hinzufuegen
-  */
-  this.app_menu_bauen = function(menuejs, richtung) {
-
-    // neues Menue als div-Element zusammensetzen
-    var menuDiv = document.createElement("div");
-    menuDiv.classList.add('app-menu-content');
-    menuDiv.style.position = 'relative';
-    menuDiv.innerHTML = Mustache.render(self._app_menu_template, menuejs);
-
-    // altes Menue loeschen
-    self.app_menu_remove_event_listener_multi('.smenu', 'click', self.app_menu_klick_herunter);
-    self.app_menu_remove_event_listener_multi('.bitem', 'click', self.app_menu_klick_herauf);
-    self.app_menu_remove_event_listener_multi('.mitem', 'click', self.app_menu_ausfuehren);
-    var menu = document.querySelector(self._app_menu_selector);
-    menu.innerHTML = '';
-
-    // neues Menue hinzufuegen
-    menu.append(menuDiv);
-    self.app_menu_add_event_listener_multi('.smenu', 'click', self.app_menu_klick_herunter);
-    self.app_menu_add_event_listener_multi('.bitem', 'click', self.app_menu_klick_herauf);
-    self.app_menu_add_event_listener_multi('.mitem', 'click', self.app_menu_ausfuehren);
-
-    menuDiv = document.querySelector('.app-menu-content');
-    menuDiv.classList.add('slidein-from-right');
-  };
-
-  this.app_menu_klick_herunter = function() {
-    self.app_menu_laden(this.getAttribute('data-verweis'), 'herunter');
-  };
-
-  this.app_menu_klick_herauf = function() {
-    self.app_menu_laden(this.getAttribute('data-verweis'), 'herauf');
-  };
-
-  this.app_menu_ausfuehren = function() {
-    var functionName = this.getAttribute('data-verweis');
-    eval(functionName + "(this)");
-  };
-
-  /* --- Helferlein ---*/
-  /*
-    sel - '.smenu'
-    evt - 'click' fuer onclick
-    func - der verweis auf die funktion
-  */
-  this.app_menu_remove_event_listener_multi = function(sel, evt, func) {
-    var elem = document.querySelectorAll(sel);
-    for (var index = 0; index < elem.length; index++) {
-      elem[index].removeEventListener(evt, func);
-    }
-  };
-
-  this.app_menu_add_event_listener_multi = function(sel, evt, func) {
-    var elem = document.querySelectorAll(sel);
-    for (var index = 0; index < elem.length; index++) {
-      elem[index].addEventListener(evt, func);
-    }
-  };
-}
diff --git a/web/ui2/js/app.js b/web/ui2/js/app.js
index e94c99c..6c407e7 100644
--- a/web/ui2/js/app.js
+++ b/web/ui2/js/app.js
@@ -316,6 +316,63 @@
 
 }
 
+/* ----- Vorlagen ----- */
+
+function Vorlagen() {
+  var self = this;
+  this.cache = {}; // mustache templates
+
+  /*
+    Das HTML erzeugen, das entsteht, wenn eine Vorlage mit Inhalt
+    gefüllt wird
+
+    Das Füllen erfolgt asynchron, d.h. der Programmlauf geht nach dem
+    Aufruf weiter ohne auf das Laden und Füllen der Vorlage zu warten.
+    Das fertige HTML wird der Callback-Funktion übergeben
+    sobald die Vorlage geladen und gefüllt ist, unabhängig davon, wo der
+    Programmlauf zu diesem Zeitpunkt mittlerweile ist.
+
+    vurl - URL zur Vorlagendatei
+    inhalt - die JSON-Struktur, deren Inhalt in die
+              Vorlage gefüllt werden soll
+    cb - Callback-Funktion, die gerufen wird, wenn die Vorlage gefüllt ist.
+          Dieser Callback-Funktion wird das fertige HTML übergeben
+  */
+  this.html_erzeugen = function(vurl, inhalt, cb) {
+    var vorlage = self.cache[vurl];
+    if(vorlage === undefined) {
+      self.vorlage_laden_und_fuellen(vurl, inhalt, cb);
+    } else {
+      self.vorlage_fuellen(vurl, inhalt, cb);
+    }
+  };
+
+  this.vorlage_fuellen = function(vurl, inhalt, cb) {
+    cb(Mustache.render(self.cache[vurl], inhalt));
+  };
+
+  /*
+    Eine Vorlage vom Server in den lokalen Speicher laden
+    vurl - der URL unter dem die Vorlage zu finden ist
+    inhalt - die JSON-Struktur, deren Inhalt in die
+              Vorlage gefüllt werden soll
+    cb - callback: Diese Funktion wird gerufen, wenn die Vorlage mit dem
+            Inhalt gefüllt ist
+  */
+  this.vorlage_laden_und_fuellen = function(vurl, inhalt, cb) {
+    var xmlhttp = new XMLHttpRequest();
+    xmlhttp.onreadystatechange = function() {
+      if (this.readyState == 4 && this.status == 200) {
+        self.cache[vurl] = this.responseText;
+        self.vorlage_fuellen(vurl, inhalt, cb);
+      }
+    };
+    xmlhttp.open("GET", vurl, true);
+    xmlhttp.send();
+  };
+
+}
+
 
 /* ----- Objekte ----- */
 
diff --git a/web/ui2/js/data.js b/web/ui2/js/data.js
deleted file mode 100644
index 821ba31..0000000
--- a/web/ui2/js/data.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- Dateiverwaltung - File management in your browser
- Copyright (C) 2017 Ulrich Hilger, http://uhilger.de
- 
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as
- published by the Free Software Foundation, either version 3 of the
- License, or (at your option) any later version.
- 
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- GNU Affero General Public License for more details.
- 
- You should have received a copy of the GNU Affero General Public License
- along with this program.  If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-
-/*
- * In data.js finden sich die Objekte vom Browser-Client 
- * der Dateiverwaltung
- */
-
-
-
-/* ----- Objekte ----- */
-
-function IssueList(il) {
-  this.issues = il;
-}
-
-function CompilerIssue(sn, ms, ki, ln) {
-  var self = this;
-  this.sourceName = sn;
-  this.message = ms;
-  this.kind = ki;
-  this.lineNumber = ln;
-}
-
-function FileList(fl) {
-  this.files = fl;
-}
-
-function FileRef(obj) {
-  var self = this;
-  this.fr = obj;
-  this.fnx;
-  this.fext = '';
-
-  this.typeClass = function () {
-    if (modus == 'kacheln') {
-      if (self.fr.isDirectory) {
-        return 'fa-folder ordner';
-      } else {
-        return 'fa-file datei';
-      }
-    } else {
-      if (self.fr.isDirectory) {
-        return 'fa-folder ordner';
-      } else {
-        return 'fa-file-o datei';
-      }
-    }
-  };
-
-  this.mini = function () {
-    var miniatur = false;
-    var namen = self.fr.absolutePath.split('/');
-    if (namen.length > 0) {
-      self.fnx = decodeURIComponent(namen[namen.length - 1]);
-    } else {
-      self.fnx = decodeURIComponent(self.fr.absolutePath);
-    }
-    if (self.fnx.indexOf('.jpg') > -1 || self.fnx.indexOf('.png') > -1 || 
-            self.fnx.indexOf('.gif') > -1 || self.fnx.indexOf('.jpeg') > -1) {
-      miniatur = true;
-    }
-    return miniatur;
-  };
-
-  this.dia = function () {
-    return fm_slideshow;
-  };
-
-  this.miniurl = function () {
-    // var userid = $('#userMenu').text();
-    if (self.fext === '') {
-      //self.fext = '';
-      var dotpos = self.fnx.indexOf('.');
-      if (dotpos > -1) {
-        var fny = self.fnx;
-        self.fnx = self.fnx.substring(0, dotpos);
-        self.fext = fny.substr(dotpos);
-      }
-    }
-    var path = fm_get_path(app.userid);
-    var imgurl = loc + path + '/' + self.fnx + '_tn' + self.fext;
-    return imgurl;
-
-  };
-
-  this.bildurl = function () {
-    // var userid = $('#userMenu').text();
-    if (self.fext === '') {
-      //self.fext = '';
-      var dotpos = self.fnx.indexOf('.');
-      if (dotpos > -1) {
-        var fny = self.fnx;
-        self.fnx = self.fnx.substring(0, dotpos);
-        self.fext = fny.substr(dotpos);
-      }
-    }
-    var path = fm_get_path(app.userid);
-    var imgurl = loc + path + '/' + self.fnx + self.fext;
-    return imgurl;
-  };
-
-  this.fileName = function () {
-
-    var namen = self.fr.absolutePath.split('/');
-    if (namen.length > 0) {
-      return decodeURIComponent(namen[namen.length - 1]);
-    } else {
-      return decodeURIComponent(self.fr.absolutePath);
-    }
-
-  };
-
-  this.fileDate = function () {
-    return moment(self.fr.lastModified).format("YYYY-MM-DD-hh-mm-ss-SSS");
-  };
-
-  this.fileSize = function () {
-    return numeral(self.fr.length).format("0.00 b");
-  };
-}
-
-function BcrFiles(fl) {
-  this.files = fl;
-}
-
-function BcrFile(rp, n) {
-  this.relPath = rp;
-  this.fName = n;
-}
-
diff --git a/web/ui2/js/vorlagen.js b/web/ui2/js/vorlagen.js
deleted file mode 100644
index d76cd94..0000000
--- a/web/ui2/js/vorlagen.js
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-function Vorlagen() {
-  var self = this;
-  this.cache = {}; // mustache templates
-
-  /*
-    Das HTML erzeugen, das entsteht, wenn eine Vorlage mit Inhalt
-    gefüllt wird
-
-    Das Füllen erfolgt asynchron, d.h. der Programmlauf geht nach dem
-    Aufruf weiter ohne auf das Laden und Füllen der Vorlage zu warten.
-    Das fertige HTML wird der Callback-Funktion übergeben
-    sobald die Vorlage geladen und gefüllt ist, unabhängig davon, wo der
-    Programmlauf zu diesem Zeitpunkt mittlerweile ist.
-
-    vurl - URL zur Vorlagendatei
-    inhalt - die JSON-Struktur, deren Inhalt in die
-              Vorlage gefüllt werden soll
-    cb - Callback-Funktion, die gerufen wird, wenn die Vorlage gefüllt ist.
-          Dieser Callback-Funktion wird das fertige HTML übergeben
-  */
-  this.html_erzeugen = function(vurl, inhalt, cb) {
-    var vorlage = self.cache[vurl];
-    if(vorlage === undefined) {
-      self.vorlage_laden_und_fuellen(vurl, inhalt, cb);
-    } else {
-      self.vorlage_fuellen(vurl, inhalt, cb);
-    }
-  };
-
-  this.vorlage_fuellen = function(vurl, inhalt, cb) {
-    cb(Mustache.render(self.cache[vurl], inhalt));
-  };
-
-  /*
-    Eine Vorlage vom Server in den lokalen Speicher laden
-    vurl - der URL unter dem die Vorlage zu finden ist
-    inhalt - die JSON-Struktur, deren Inhalt in die
-              Vorlage gefüllt werden soll
-    cb - callback: Diese Funktion wird gerufen, wenn die Vorlage mit dem
-            Inhalt gefüllt ist
-  */
-  this.vorlage_laden_und_fuellen = function(vurl, inhalt, cb) {
-    /*
-    $.ajax({
-      url: vurl,
-      type: "GET",
-      dataType : "text"
-    }).done(function( vorlage ) {
-      self.cache[vurl] = vorlage;
-      self.vorlage_fuellen(vurl, inhalt, cb);
-    });
-    */
-    var xmlhttp = new XMLHttpRequest();
-    xmlhttp.onreadystatechange = function() {
-      if (this.readyState == 4 && this.status == 200) {
-        self.cache[vurl] = this.responseText;
-        self.vorlage_fuellen(vurl, inhalt, cb);
-      }
-    };
-    xmlhttp.open("GET", vurl, true);
-    xmlhttp.send();
-  };
-
-}
diff --git a/web/ui2/stile.css b/web/ui2/stile.css
index 0792961..02093d1 100644
--- a/web/ui2/stile.css
+++ b/web/ui2/stile.css
@@ -215,13 +215,21 @@
 }
 
 .granted-role-btn {
+  height: 2.5em;
+  padding: 0 0.5em;
   margin: 0.2em;
   background-color: lightcoral;
+  text-transform: none;
+  font-size: medium;
 }
 
 .avl-role-btn {
+  height: 2.5em;
+  padding: 0 0.5em;
   margin: 0.2em;
   background-color: darkseagreen;
+  text-transform: none;
+  font-size: medium;
 }
 
 /* für app-menu */

--
Gitblit v1.9.3