From 2f9e6f69f48dcefc5d41d49faf6d1e74be74d451 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Tue, 21 Mar 2017 11:45:42 +0000 Subject: [PATCH] Javascript aufgeteilt --- web/ui/index.html | 2 web/ui/api.js | 407 +++++++++++++++++++++++ web/ui/data.js | 116 ++++++ web/ui/ui.js | 446 -------------------------- 4 files changed, 525 insertions(+), 446 deletions(-) diff --git a/web/ui/api.js b/web/ui/api.js new file mode 100644 index 0000000..5c79a96 --- /dev/null +++ b/web/ui/api.js @@ -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!" ); + } + }); +} diff --git a/web/ui/data.js b/web/ui/data.js new file mode 100644 index 0000000..458537f --- /dev/null +++ b/web/ui/data.js @@ -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; +} + diff --git a/web/ui/index.html b/web/ui/index.html index 4c40c52..2782775 100644 --- a/web/ui/index.html +++ b/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; diff --git a/web/ui/ui.js b/web/ui/ui.js index 49c1a92..09ef609 100644 --- a/web/ui/ui.js +++ b/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; -} -- Gitblit v1.9.3