Dateiverwaltung für die WebBox
ulrich
2021-01-20 9350c960b07404690ed747ed7725e94313c629fb
web/ui2/js/app.js
@@ -23,6 +23,8 @@
  this.cutCopyOperation;
  this.cutCopySrcDir;
  this.cutCopyFiles;
  this.fm_slideshow = false;
  this.dateien;
  this.cache = {}; // mustache template cache
  this.datei_neuer_text = function () {
@@ -61,9 +63,35 @@
    }
    
    self.seitenleiste_umschalten();
    //fm_init_uploader();
    self.fm_init_uploader();
    self.loc = window.location.protocol + '//' + window.location.host;
  };
  /* ----- Uploader Anfang ----------*/
  this.fm_init_uploader = function() {
    //console.log('init_uploader');
    self.dateien = new Array();
    var dropzone = document.getElementById("upload-target");
    dropzone.ondragover = dropzone.ondragenter = function(event) {
      event.stopPropagation();
      event.preventDefault();
    };
    dropzone.ondrop = function(event) {
      //console.log('dateien ondrop');
      event.stopPropagation();
      event.preventDefault();
      var fileList = event.dataTransfer.files;
      for (var i=0; i<fileList.length; i++) {
        self.dateien.push(fileList[i]);
        //console.log('upload ' + fileList[i]);
      }
      self.sendFile(self.dateien.pop());
    };
  };
  /* ----- Uploader Ende --------------- */
  this.login_zeigen = function() {
    self.meldung_mit_timeout("Benutzer: " + self.userid, 1500);
@@ -72,6 +100,41 @@
  this.fm_neuer_reiter = function() {
    window.open('/file-cms/ui2/?pfad=' + self.pfad, '_blank');
  };
  this.fm_hilfe = function() {
    window.open('/data/dok/wbx-doku.html#wbx-bedienung', '_blank');
  };
  this.fm_toggle_show_slideshow = function() {
    if(self.fm_slideshow) {
      //$('#m-toggle-slideshow').text('Diashow einschalten');
      self.fm_slideshow = false;
    } else {
      //$('#m-toggle-slideshow').text('Diashow ausschalten');
      self.fm_slideshow = true;
    }
  };
  this.fm_view_slideshow = function() {
    // https://localhost:8443/file-cms/fotos/?o=ulrich/bilder/diashow/ordnername
    var userid = self.userid; // $('#userMenu').text();
    //var gewaehlte = $('.datei-gewaehlt');
    //var gewaehlte = document.querySelector('.datei-gewaehlt');
    //var fname = gewaehlte.textContent;
    var path = self.fm_get_path(userid);
    var restdir = path;
    if(path.indexOf('/data/') > -1) {
      restdir = path.substr('/data/'.length);
    }
    //window.open('/file-cms/fotos/?o=' + userid + '/' + path + '/' + fname, '_blank');
    window.open('/file-cms/fotos/?o=' + restdir + '/' /*+ fname*/, '_blank');
  };
  
  this.menue_umschalten = function () {
    var ham = document.querySelector(".hamburger");
@@ -295,7 +358,8 @@
    var elem = ev.target;
    if(self.modus == 'kacheln') {
      // Kacheln
      var par = elem.parentElement;
      //var par = elem.parentElement;
      var par = elem.closest('.datei-figure');
      var dElem = par.querySelector('.dateiname');
      if(elem.classList.contains("icon-folder")) {
        // Ordner
@@ -908,7 +972,28 @@
    });  
  };
/* ---- codemirror editor handling -------- */
  /* -------- upload ----------- */
  this.sendFile = function(datei) {
    //console.log('sendFile ' + datei);
    var uri = "../api/upload";
    var xhr = new XMLHttpRequest();
    var fd = new FormData();
    xhr.open("POST", uri, true);
    xhr.onreadystatechange = function() {
      if (xhr.readyState === 4 && xhr.status === 200) {
        self.fm_get_list(self.pfad);
        if(self.dateien.length > 0) {
          self.sendFile(self.dateien.pop());
        }
      }
    };
    fd.append('dateiauswahlfeld', datei);
    fd.append('pfad', self.pfad);
    xhr.send(fd);
  };
  /* ---- codemirror editor handling -------- */
  /*
  function htmlDecode(value){