web/ui/api.js | ●●●●● patch | view | raw | blame | history | |
web/ui/data.js | ●●●●● patch | view | raw | blame | history | |
web/ui/index.html | ●●●●● patch | view | raw | blame | history | |
web/ui/ui.js | ●●●●● patch | view | raw | blame | history |
web/ui/api.js
New file @@ -0,0 +1,407 @@ /* 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 api.js finden sich die HTTP-Aufrufe vom Browser-Client * der Dateiverwaltung an deren Server-Kern */ /* ---------- Dateien kopieren, verschieben --------------- */ /* * Hier wird fuer eine zuvor markierte Liste von Dateien, fuer die * Cut oder Copy gewaehlt wurde, die Operations ausgefuehrt (move oder copy) * @returns {undefined} */ function fm_paste_files() { var m; if(cutCopyOperation === 'cut') { //m = '?c=de.uhilger.filecms.api.FileMgr&m=moveFiles'; //&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(liste); m = '?c=de.uhilger.filecms.api.FileMgr&m=moveFiles&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(cutCopyFiles); } else { //m = '?c=de.uhilger.filecms.api.FileMgr&m=copyFiles'; //&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(liste); m = '?c=de.uhilger.filecms.api.FileMgr&m=copyFiles&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(cutCopyFiles); } var u = '../svc' + m; fm_get(u, "text", function(resp) { // console.log('deleteFiles gab folgendes zurueck: ' + resp); fm_get_list(pfad); }); /* fm_post(u, {p1: encodeURIComponent(cutCopySrcDir), p2: encodeURIComponent(pfad), p3: encodeURIComponent(cutCopyFiles)},'text', function(resp) { // resp evtl. zeigen.. fm_get_list(pfad); }); */ } /* ---------- Dateien listen, loeschen, umbenennen --------------- */ // http://localhost:8079/file-cms/svc?c=de.uhilger.filecms.api.FileMgr&f=JSONNICE&m=list&p= function fm_get_list(relPfad) { $('#ansicht').attr('onclick','').unbind('click'); var m = '?c=de.uhilger.filecms.api.FileMgr&m=list&p=' + relPfad; var u = '../svc' + m; fm_get(u, "json", function(resp) { if(resp.List[0].FileRef !== undefined) { var files = new Array(); if(resp.List[0].FileRef instanceof Array) { for(var i = 0; i < resp.List[0].FileRef.length; i++) { files.push(new FileRef(resp.List[0].FileRef[i])); } } else { files.push(new FileRef(resp.List[0].FileRef)); } var fl = new FileList(files); fm_render_list(fl); } else { $('#dateien').empty(); } // Breadcrumb-Ansicht var template; $('.breadcrumb-item').attr('onclick','').unbind('click'); $('#bcnav').empty(); var dirList = new Array(); var rp = ''; //console.log("'" + relPfad + "'"); var dirs = relPfad.split('/'); //console.log(dirs.length); dirList.push(new BcrFile(rp, 'Home')); if(relPfad.length > 0) { for(var i = 0; i < dirs.length - 1; i++) { if(rp.length > 0 ) { dirList.push(new BcrFile(rp + '/' + dirs[i], dirs[i])); rp = rp + '/' + dirs[i]; } else { dirList.push(new BcrFile(dirs[i], dirs[i])); rp = dirs[i]; } } var bl = new BcrFiles(dirList); if(dirList.length > 0) { template = $('#tpl-bcr').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').html(Mustache.render(template, bl)); } if(dirs.length > 0) { dirList.push(new BcrFile(rp + '/' + dirs[dirs.length-1], dirs[dirs.length-1])); template = $('#tpl-bcr2').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').append(Mustache.render(template, dirList[dirList.length-1])); } else { template = $('#tpl-bcr2').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').append(Mustache.render(template, dirList[0])); } $('#bcnav').append($('#tpl-bcr3').html()); } else { pfad = ''; template = $('#tpl-bcr2').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').append(Mustache.render(template, dirList[0])); $('#bcnav').append($('#tpl-bcr3').html()); } $('.breadcrumb-item').click(fm_bc_click); $('#ansicht').click(fm_ansicht_umschalten); fm_set_modus(); }); } function fm_del_files() { var liste = fm_gewaehlte_dateien(); var m = '?c=de.uhilger.filecms.api.FileMgr&m=deleteFiles&p=' + pfad + '&p=' + encodeURIComponent(liste); var u = '../svc' + m; fm_get(u, "text", function(resp) { // console.log('deleteFiles gab folgendes zurueck: ' + resp); fm_get_list(pfad); }); } function fm_rename_file(fn, p, neuerName) { var m = '?c=de.uhilger.filecms.api.FileMgr&m=renameFile'; m = m + '&p=' + p; m = m + '&p=' + fn; m = m + '&p=' + neuerName; var u = '../svc' + m; fm_get(u, "text", function(resp) { fm_get_list(pfad); }); } /* -------------------- Ordner ---------------- */ function fm_get_new_folder() { $('#modal_ok').click(function() { // hier speichern var m = '?c=de.uhilger.filecms.api.FileMgr&m=newFolder&p=' + pfad + '&p=' + $('#dateiname').val(); var u = '../svc' + m; fm_get(u, "json", function(resp) { fm_get_list(pfad); }); }); $('#saveModalTitle').text('Neuer Ordner'); $('#dialogfrage').text("Name?"); $('#dateiname').val(''); $('#dateiname').attr('placeholder', 'Ordnername'); $('#saveModal').modal({ keyboard: false, show: true }); } function fm_unzip_file(fn) { var m = '?c=de.uhilger.filecms.api.FileMgr&m=extractZipfile'; m = m + '&p=' + pfad; m = m + '&p=' + fn; var u = '../svc' + m; fm_get(u, "text", function(resp) { $('.system-out').empty(); $('.system-out').append('Rueckmeldung vom Entpacken: ' + resp); fm_fusszeile_zeigen(); fm_get_list(pfad); }); } /* ------------------- Dateiinhalte --------------------- */ function fm_save_file(saveFileName, method, callback) { var content; if(openEditor === 'text') { content = cm.getValue(); cm.getDoc().markClean(); } else { content = ed.getContent(); tinymce.activeEditor.undoManager.clear(); } var m = '?c=de.uhilger.filecms.api.FileMgr&m=' + method; var u = '../svc' + m; fm_post(u, {p1: pfad, p2: saveFileName, p3: content}, function(resp) { // hier scheint nichts zurueckzukommen.. }); openFileName = saveFileName; if(typeof (callback) !== 'function') { } else { callback(); } } function fm_get_file_content(typ) { var gewaehlte = $('.datei-gewaehlt'); //var fname = $(gewaehlte).find('.dateiname').text(); var fname = $(gewaehlte[0]).text(); openFileName = fname; var m = '?c=de.uhilger.filecms.api.FileMgr&m=getCode&p=' + pfad + '&p=' + fname; var u = '../svc' + m; fm_get(u, "text", function(resp) { if(typ == 'text') { var mode = "text/x-java"; if(fname.endsWith('js')) { mode = 'javascript'; } else if(fname.endsWith('xml')) { mode = 'xml'; } else if(fname.endsWith('properties')) { mode = 'xml'; } fm_text_edit(resp, mode); } else { fm_dok_edit(resp); } }); } /* -------- An- und Abmelden ------------- */ function fm_get_login() { var m = '?c=de.uhilger.filecms.pub.SessionManager&m=getSessionUser'; var u = '../pub' + m; fm_get(u, "text", function(resp) { userid = resp; $('#userMenu').text(resp); }); } function fm_logout() { var m = '?c=de.uhilger.filecms.pub.SessionManager&m=expireSession'; var u = '../pub' + m; fm_get(u, "text", function(resp) { $('#userMenu').text('nicht angemeldet'); window.location.href = '../logout.html'; }); } /* -------- Compile / Build ------------- */ function fm_build_app() { var m = '?c=de.uhilger.filecms.api.CompileService&m=buildApp&p=' + pfad; var u = '../svc' + m; fm_get(u, "text", function(resp) { $('.system-out').empty(); $('.system-out').append('Ergebnis von Build app: ' + resp); fm_fusszeile_zeigen(); }); } function fm_compile_all() { var m = '?c=de.uhilger.filecms.api.CompileService&m=compileAll&p=' + pfad; var u = '../svc' + m; fm_get(u, "json", function(resp) { if(resp.List[0].CompilerIssue !== undefined) { var lno; var eMsg; var issueList = new Array(); if(resp.List[0].CompilerIssue instanceof Array) { var issueNo = 0; while(issueNo < resp.List[0].CompilerIssue.length) { /* $('.system-out').append(' +++ ---- +++ '); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].kind); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].lineNumber); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].sourceName); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].message); */ var issue = new CompilerIssue( resp.List[0].CompilerIssue[issueNo].sourceName, resp.List[0].CompilerIssue[issueNo].message, resp.List[0].CompilerIssue[issueNo].kind, resp.List[0].CompilerIssue[issueNo].lineNumber ); issueList.push(issue); /* console.log(' +++ ---- +++ '); console.log(resp.List[0].CompilerIssue[issueNo].kind); console.log(resp.List[0].CompilerIssue[issueNo].lineNumber); console.log(resp.List[0].CompilerIssue[issueNo].sourceName); console.log(resp.List[0].CompilerIssue[issueNo].message); */ issueNo++; } } else { //lno = resp.List[0].CompilerIssue.lineNumber; //eMsg = resp.List[0].CompilerIssue.kind + ' ' + resp.List[0].CompilerIssue.message; //$('.system-out').append(lno + ' ' + eMsg); //console.log(lno + ' ' + eMsg); var issue = new CompilerIssue( resp.List[0].CompilerIssue.sourceName, resp.List[0].CompilerIssue.message, resp.List[0].CompilerIssue.kind, resp.List[0].CompilerIssue.lineNumber ); issueList.push(issue); } var theList = new IssueList(issueList); var template = $('#tpl-ci').html(); Mustache.parse(template); // optional, speeds up future uses $('.system-out').empty(); $('.system-out').html(Mustache.render(template, theList)); $('.sued').show(); } }); } function fm_compile(modeStr, callback) { var liste = fm_gewaehlte_dateien(); var m = '?c=de.uhilger.filecms.api.CompileService&m=compile&p=' + pfad + '&p=' + encodeURIComponent(liste) + '&p=' + modeStr; var u = '../svc' + m; fm_get(u, "json", function(resp) { callback(resp); }); } /* --------------- Bilder ------------------------- */ function fm_menu_shrink() { var gewaehlte = $('.datei-gewaehlt'); var fname = $(gewaehlte[0]).text(); var m = '?c=de.uhilger.filecms.api.FileMgr&m=bildVerkleinern'; m = m + '&p=' + pfad; m = m + '&p=' + fname; var u = '../svc' + m; fm_get(u, "text", function(resp) { fm_get_list(pfad); }); } /* -------- upload ----------- */ function 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) { fm_get_list(pfad); if(dateien.length > 0) { sendFile(dateien.pop()); } } }; fd.append('dateiauswahlfeld', datei); fd.append('pfad', pfad); xhr.send(fd); } /* -------- helper functions ----------- */ function fm_get(u, dtype, scallback) { $.ajax({ url: u, type: "GET", dataType: dtype, success: scallback, error: function (xhr, status, errorThrown) { alert("Error: " + errorThrown + " Status: " + status + " URL: " + u); }, complete: function (xhr, status) { //console.log( "The request is complete!" ); } }); } function fm_post(u, d, dtype, scallback) { $.ajax({ url: u, data: d, type: "POST", dataType: dtype, success: scallback, error: function (xhr, status, errorThrown) { $('#fehler').html("Error: " + errorThrown + " Status: " + status); }, complete: function (xhr, status) { //alert( "The request is complete!" ); } }); } web/ui/data.js
New file @@ -0,0 +1,116 @@ /* 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.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.miniurl = function() { var userid = $('#userMenu').text(); var ext = ''; var dotpos = self.fnx.indexOf('.'); if(dotpos > -1) { var fny = self.fnx; self.fnx = self.fnx.substring(0, dotpos); ext = fny.substr(dotpos); } var path = fm_get_path(userid); var imgurl = loc + path + '/' + self.fnx + '_tn' + ext; 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); } }; } function BcrFiles(fl) { this.files = fl; } function BcrFile(rp, n) { this.relPath = rp; this.fName = n; } web/ui/index.html
@@ -239,6 +239,8 @@ <script src="/jslib/bootstrap/js/bootstrap.min.js"></script> <script src="/jslib/mustache/mustache.min.js"></script> <script src="/jslib/lightbox/lightbox.min.js"></script> <script src="data.js"></script> <script src="api.js"></script> <script src="ui.js"></script> <script type="text/javascript" charset="utf-8"> //var ui; web/ui/ui.js
@@ -220,24 +220,6 @@ }; } function 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) { fm_get_list(pfad); if(dateien.length > 0) { sendFile(dateien.pop()); } } }; fd.append('dateiauswahlfeld', datei); fd.append('pfad', pfad); xhr.send(fd); } /* ----- Uploader Ende --------------- */ /* ------- Dateifunktionen Start ----------- */ @@ -365,84 +347,6 @@ cm.setGutterMarker(lno-1, "breakpoints", makeMarker(eMsg)); } } } function fm_build_app() { var m = '?c=de.uhilger.filecms.api.CompileService&m=buildApp&p=' + pfad; var u = '../svc' + m; fm_get(u, "text", function(resp) { $('.system-out').empty(); $('.system-out').append('Ergebnis von Build app: ' + resp); fm_fusszeile_zeigen(); }); } function fm_compile_all() { var m = '?c=de.uhilger.filecms.api.CompileService&m=compileAll&p=' + pfad; var u = '../svc' + m; fm_get(u, "json", function(resp) { if(resp.List[0].CompilerIssue !== undefined) { var lno; var eMsg; var issueList = new Array(); if(resp.List[0].CompilerIssue instanceof Array) { var issueNo = 0; while(issueNo < resp.List[0].CompilerIssue.length) { /* $('.system-out').append(' +++ ---- +++ '); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].kind); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].lineNumber); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].sourceName); $('.system-out').append(resp.List[0].CompilerIssue[issueNo].message); */ var issue = new CompilerIssue( resp.List[0].CompilerIssue[issueNo].sourceName, resp.List[0].CompilerIssue[issueNo].message, resp.List[0].CompilerIssue[issueNo].kind, resp.List[0].CompilerIssue[issueNo].lineNumber ); issueList.push(issue); /* console.log(' +++ ---- +++ '); console.log(resp.List[0].CompilerIssue[issueNo].kind); console.log(resp.List[0].CompilerIssue[issueNo].lineNumber); console.log(resp.List[0].CompilerIssue[issueNo].sourceName); console.log(resp.List[0].CompilerIssue[issueNo].message); */ issueNo++; } } else { //lno = resp.List[0].CompilerIssue.lineNumber; //eMsg = resp.List[0].CompilerIssue.kind + ' ' + resp.List[0].CompilerIssue.message; //$('.system-out').append(lno + ' ' + eMsg); //console.log(lno + ' ' + eMsg); var issue = new CompilerIssue( resp.List[0].CompilerIssue.sourceName, resp.List[0].CompilerIssue.message, resp.List[0].CompilerIssue.kind, resp.List[0].CompilerIssue.lineNumber ); issueList.push(issue); } var theList = new IssueList(issueList); var template = $('#tpl-ci').html(); Mustache.parse(template); // optional, speeds up future uses $('.system-out').empty(); $('.system-out').html(Mustache.render(template, theList)); $('.sued').show(); } }); } function fm_compile(modeStr, callback) { var liste = fm_gewaehlte_dateien(); var m = '?c=de.uhilger.filecms.api.CompileService&m=compile&p=' + pfad + '&p=' + encodeURIComponent(liste) + '&p=' + modeStr; var u = '../svc' + m; fm_get(u, "json", function(resp) { callback(resp); }); } function fm_ansicht_umschalten() { @@ -636,59 +540,7 @@ } /* ----- API Calls ------------- */ function fm_get_login() { var m = '?c=de.uhilger.filecms.pub.SessionManager&m=getSessionUser'; var u = '../pub' + m; fm_get(u, "text", function(resp) { userid = resp; $('#userMenu').text(resp); }); } function fm_get_new_folder() { $('#modal_ok').click(function() { // hier speichern var m = '?c=de.uhilger.filecms.api.FileMgr&m=newFolder&p=' + pfad + '&p=' + $('#dateiname').val(); var u = '../svc' + m; fm_get(u, "json", function(resp) { fm_get_list(pfad); }); }); $('#saveModalTitle').text('Neuer Ordner'); $('#dialogfrage').text("Name?"); $('#dateiname').val(''); $('#dateiname').attr('placeholder', 'Ordnername'); $('#saveModal').modal({ keyboard: false, show: true }); } function fm_get_file_content(typ) { var gewaehlte = $('.datei-gewaehlt'); //var fname = $(gewaehlte).find('.dateiname').text(); var fname = $(gewaehlte[0]).text(); openFileName = fname; var m = '?c=de.uhilger.filecms.api.FileMgr&m=getCode&p=' + pfad + '&p=' + fname; var u = '../svc' + m; fm_get(u, "text", function(resp) { if(typ == 'text') { var mode = "text/x-java"; if(fname.endsWith('js')) { mode = 'javascript'; } else if(fname.endsWith('xml')) { mode = 'xml'; } else if(fname.endsWith('properties')) { mode = 'xml'; } fm_text_edit(resp, mode); } else { fm_dok_edit(resp); } }); } function fm_view_file() { // http://localhost:8080/file-cms/ui/# @@ -730,42 +582,6 @@ fm_unzip_file(fname); } function fm_unzip_file(fn) { var m = '?c=de.uhilger.filecms.api.FileMgr&m=extractZipfile'; m = m + '&p=' + pfad; m = m + '&p=' + fn; var u = '../svc' + m; fm_get(u, "text", function(resp) { $('.system-out').empty(); $('.system-out').append('Rueckmeldung vom Entpacken: ' + resp); fm_fusszeile_zeigen(); fm_get_list(pfad); }); } function fm_rename_file(fn, p, neuerName) { var m = '?c=de.uhilger.filecms.api.FileMgr&m=renameFile'; m = m + '&p=' + p; m = m + '&p=' + fn; m = m + '&p=' + neuerName; var u = '../svc' + m; fm_get(u, "text", function(resp) { fm_get_list(pfad); }); } function fm_menu_shrink() { var gewaehlte = $('.datei-gewaehlt'); var fname = $(gewaehlte[0]).text(); var m = '?c=de.uhilger.filecms.api.FileMgr&m=bildVerkleinern'; m = m + '&p=' + pfad; m = m + '&p=' + fname; var u = '../svc' + m; fm_get(u, "text", function(resp) { fm_get_list(pfad); }); } /* * Hier merkt sich die Dateiverwalting die markierten Dateien fuer * eine Dateioperation. Bei cut wird in der 'paste' Operation auf dem Server @@ -795,42 +611,6 @@ cutCopyOperation = 'copy'; } /* * Hier wird fuer eine zuvor markierte Liste von Dateien, fuer die * Cut oder Copy gewaehlt wurde, die Operations ausgefuehrt (move oder copy) * @returns {undefined} */ function fm_paste_files() { var m; if(cutCopyOperation === 'cut') { //m = '?c=de.uhilger.filecms.api.FileMgr&m=moveFiles'; //&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(liste); m = '?c=de.uhilger.filecms.api.FileMgr&m=moveFiles&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(cutCopyFiles); } else { //m = '?c=de.uhilger.filecms.api.FileMgr&m=copyFiles'; //&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(liste); m = '?c=de.uhilger.filecms.api.FileMgr&m=copyFiles&p=' + cutCopySrcDir + '&p=' + pfad + '&p=' + encodeURIComponent(cutCopyFiles); } var u = '../svc' + m; fm_get(u, "text", function(resp) { // console.log('deleteFiles gab folgendes zurueck: ' + resp); fm_get_list(pfad); }); /* fm_post(u, {p1: encodeURIComponent(cutCopySrcDir), p2: encodeURIComponent(pfad), p3: encodeURIComponent(cutCopyFiles)},'text', function(resp) { // resp evtl. zeigen.. fm_get_list(pfad); }); */ } function fm_del_files() { var liste = fm_gewaehlte_dateien(); var m = '?c=de.uhilger.filecms.api.FileMgr&m=deleteFiles&p=' + pfad + '&p=' + encodeURIComponent(liste); var u = '../svc' + m; fm_get(u, "text", function(resp) { // console.log('deleteFiles gab folgendes zurueck: ' + resp); fm_get_list(pfad); }); } function fm_render_list(fl) { if(modus == 'kacheln') { @@ -871,81 +651,6 @@ */ } // http://localhost:8079/file-cms/svc?c=de.uhilger.filecms.api.FileMgr&f=JSONNICE&m=list&p= function fm_get_list(relPfad) { $('#ansicht').attr('onclick','').unbind('click'); var m = '?c=de.uhilger.filecms.api.FileMgr&m=list&p=' + relPfad; var u = '../svc' + m; fm_get(u, "json", function(resp) { if(resp.List[0].FileRef !== undefined) { var files = new Array(); if(resp.List[0].FileRef instanceof Array) { for(var i = 0; i < resp.List[0].FileRef.length; i++) { files.push(new FileRef(resp.List[0].FileRef[i])); } } else { files.push(new FileRef(resp.List[0].FileRef)); } var fl = new FileList(files); fm_render_list(fl); } else { $('#dateien').empty(); } // Breadcrumb-Ansicht var template; $('.breadcrumb-item').attr('onclick','').unbind('click'); $('#bcnav').empty(); var dirList = new Array(); var rp = ''; //console.log("'" + relPfad + "'"); var dirs = relPfad.split('/'); //console.log(dirs.length); dirList.push(new BcrFile(rp, 'Home')); if(relPfad.length > 0) { for(var i = 0; i < dirs.length - 1; i++) { if(rp.length > 0 ) { dirList.push(new BcrFile(rp + '/' + dirs[i], dirs[i])); rp = rp + '/' + dirs[i]; } else { dirList.push(new BcrFile(dirs[i], dirs[i])); rp = dirs[i]; } } var bl = new BcrFiles(dirList); if(dirList.length > 0) { template = $('#tpl-bcr').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').html(Mustache.render(template, bl)); } if(dirs.length > 0) { dirList.push(new BcrFile(rp + '/' + dirs[dirs.length-1], dirs[dirs.length-1])); template = $('#tpl-bcr2').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').append(Mustache.render(template, dirList[dirList.length-1])); } else { template = $('#tpl-bcr2').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').append(Mustache.render(template, dirList[0])); } $('#bcnav').append($('#tpl-bcr3').html()); } else { pfad = ''; template = $('#tpl-bcr2').html(); Mustache.parse(template); // optional, speeds up future uses $('#bcnav').append(Mustache.render(template, dirList[0])); $('#bcnav').append($('#tpl-bcr3').html()); } $('.breadcrumb-item').click(fm_bc_click); $('#ansicht').click(fm_ansicht_umschalten); fm_set_modus(); }); } function fm_menu_datei_speichern(callback) { //var fname = $('.datei-gewaehlt').text(); var fname = openFileName; @@ -956,27 +661,6 @@ } } function fm_save_file(saveFileName, method, callback) { var content; if(openEditor === 'text') { content = cm.getValue(); cm.getDoc().markClean(); } else { content = ed.getContent(); tinymce.activeEditor.undoManager.clear(); } var m = '?c=de.uhilger.filecms.api.FileMgr&m=' + method; var u = '../svc' + m; fm_post(u, {p1: pfad, p2: saveFileName, p3: content}, function(resp) { // hier scheint nichts zurueckzukommen.. }); openFileName = saveFileName; if(typeof (callback) !== 'function') { } else { callback(); } } function fm_menu_datei_speichern_unter(callback) { $('#modal_ok').click(function() { @@ -1000,15 +684,6 @@ }); } function fm_logout() { var m = '?c=de.uhilger.filecms.pub.SessionManager&m=expireSession'; var u = '../pub' + m; fm_get(u, "text", function(resp) { $('#userMenu').text('nicht angemeldet'); window.location.href = '../logout.html'; }); } /* ---- codemirror editor handling -------- */ @@ -1082,38 +757,6 @@ /* -------- helper functions ----------- */ function fm_get(u, dtype, scallback) { $.ajax({ url: u, type: "GET", dataType: dtype, success: scallback, error: function (xhr, status, errorThrown) { alert("Error: " + errorThrown + " Status: " + status + " URL: " + u); }, complete: function (xhr, status) { //console.log( "The request is complete!" ); } }); } function fm_post(u, d, dtype, scallback) { $.ajax({ url: u, data: d, type: "POST", dataType: dtype, success: scallback, error: function (xhr, status, errorThrown) { $('#fehler').html("Error: " + errorThrown + " Status: " + status); }, complete: function (xhr, status) { //alert( "The request is complete!" ); } }); } function fm_serialise(obj) { return '{"' + obj.constructor.name + '":' + JSON.stringify(obj) + '}'; } @@ -1142,93 +785,4 @@ return text; } /* ----- 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.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.miniurl = function() { var userid = $('#userMenu').text(); var ext = ''; var dotpos = self.fnx.indexOf('.'); if(dotpos > -1) { var fny = self.fnx; self.fnx = self.fnx.substring(0, dotpos); ext = fny.substr(dotpos); } var path = fm_get_path(userid); var imgurl = loc + path + '/' + self.fnx + '_tn' + ext; 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); } }; } function BcrFiles(fl) { this.files = fl; } function BcrFile(rp, n) { this.relPath = rp; this.fName = n; }