| | |
| | | this.WWW_DIR = "www"; |
| | | this.openEditor; |
| | | this.openFileName; |
| | | this.cutCopyOperation; |
| | | this.cutCopySrcDir; |
| | | this.cutCopyFiles; |
| | | this.cache = {}; // mustache template cache |
| | | |
| | | this.datei_neuer_text = function () { |
| | |
| | | } |
| | | }; |
| | | |
| | | /* ------- Dateifunktionen Start ----------- */ |
| | | |
| | | this.fm_menu_cut = function() { |
| | | console.log('fm_menu_cut'); |
| | | self.fm_cut_files(); |
| | | }; |
| | | this.fm_menu_kopie = function() { |
| | | console.log('fm_menu_kopie'); |
| | | self.fm_copy_files(); |
| | | }; |
| | | this.fm_menu_paste = function() { |
| | | console.log('fm_menu_paste'); |
| | | self.fm_paste_files(); |
| | | }; |
| | | this.fm_menu_delete = function() { |
| | | self.dialog_laden_und_zeigen('data/tpl/dlg-ask-del.tpl', '', function() { |
| | | // wenn dialog da ist, hier events verknuepfen |
| | | document.querySelector('#cancel-btn').addEventListener('click', function() { |
| | | //self.fm_do_close(); |
| | | self.dialog_schliessen(); |
| | | }); |
| | | document.querySelector('#speichern-btn').addEventListener('click', function() { |
| | | self.fm_menu_datei_speichern(function() { |
| | | self.fm_del_files(); |
| | | self.dialog_schliessen(); |
| | | }); |
| | | }); |
| | | }); |
| | | /* |
| | | $('#confirmOk').click(function() { |
| | | $('#confirmOk').attr('onclick','').unbind('click'); |
| | | fm_del_files(); |
| | | }); |
| | | $('#confirmOk').text("Loeschen"); |
| | | $('#confirmOk').removeClass('btn-primary'); |
| | | $('#confirmOk').addClass('btn-danger'); |
| | | $('#confirmClose').hide(); |
| | | $('#confirmModalTitle').text("Löschen"); |
| | | $('#confirmModalBody').text("Wirklich löschen?"); |
| | | $('#confirmModal').modal({ |
| | | keyboard: false, |
| | | show: true |
| | | }); |
| | | */ |
| | | }; |
| | | |
| | | /* |
| | | * Hier merkt sich die Dateiverwalting die markierten Dateien fuer |
| | | * eine Dateioperation. Bei cut wird in der 'paste' Operation auf dem Server |
| | | * fuer die 'gemerkten' Dateien ein Move gemacht. Die Dateien werden |
| | | * vom gewaehlten Ort zum Zielort verschoben. |
| | | * |
| | | * @returns {undefined} |
| | | */ |
| | | this.fm_cut_files = function() { |
| | | console.log('fm_cut_files'); |
| | | self.cutCopySrcDir = self.pfad; |
| | | self.cutCopyFiles = self.fm_gewaehlte_dateien(); |
| | | self.cutCopyOperation = 'cut'; |
| | | }; |
| | | |
| | | /* |
| | | * Hier merkt sich die Dateiverwalting die markierten Dateien fuer |
| | | * eine Dateioperation. Bei copy wird in der 'paste' Operation auf dem Server |
| | | * fuer die 'gemerkten' Dateien eine Kopie gemacht. Die Dateien werden |
| | | * am gewaehlten Ort behalten und am Zielort wird eine Kopier der |
| | | * gewaehlten DAteien erstellt |
| | | * |
| | | * @returns {undefined} |
| | | */ |
| | | this.fm_copy_files = function() { |
| | | console.log('fm_copy_files'); |
| | | self.cutCopySrcDir = self.pfad; |
| | | self.cutCopyFiles = self.fm_gewaehlte_dateien(); |
| | | self.cutCopyOperation = 'copy'; |
| | | }; |
| | | |
| | | |
| | | |
| | | /* |
| | | * Gewaehlte Dateien feststellen |
| | | * |
| | | * @returns {String} eine per JSON.stringify schon vorbereitete List zum |
| | | * Absenden als Parameter an den Server |
| | | */ |
| | | this.fm_gewaehlte_dateien = function() { |
| | | //var gewaehlte = $('.datei-gewaehlt'); |
| | | var gewaehlte = document.querySelectorAll('.datei-gewaehlt'); |
| | | /* |
| | | //console.log('anzahl: ' + gewaehlte.length); |
| | | var fnames = new Array(); |
| | | var i = 0; |
| | | while(i < gewaehlte.length) { |
| | | var str = { "java.lang.String": $(gewaehlte[i]).text()}; |
| | | fnames.push(str); |
| | | //console.log('loeschen ' + pfad + ' ' + $(gewaehlte[i]).text()); |
| | | //i += 2; |
| | | i++; |
| | | } |
| | | var liste = '{"List":' + JSON.stringify(fnames) + '}'; |
| | | // 'liste' enthaelt: |
| | | // {"List":[{"java.lang.String":"test3.txt"},{"java.lang.String":"Test1.txt"},{"java.lang.String":"Test2.txt"}]} |
| | | // und wird auf dem Server zu einer List[ArrayList<String>] bei der jede ArrayList<String> nur ein Element hat |
| | | return liste; |
| | | */ |
| | | return self.fm_dateiliste_bilden(gewaehlte); |
| | | }; |
| | | |
| | | this.fm_dateiliste_bilden = function(gewaehlte) { |
| | | var fnames = new Array(); |
| | | var i = 0; |
| | | while(i < gewaehlte.length) { |
| | | var str = { "java.lang.String": gewaehlte[i].innerText}; |
| | | fnames.push(str); |
| | | //console.log('loeschen ' + pfad + ' ' + $(gewaehlte[i]).text()); |
| | | //i += 2; |
| | | i++; |
| | | } |
| | | var liste = '{"List":' + JSON.stringify(fnames) + '}'; |
| | | // 'liste' enthaelt: |
| | | // {"List":[{"java.lang.String":"test3.txt"},{"java.lang.String":"Test1.txt"},{"java.lang.String":"Test2.txt"}]} |
| | | // und wird auf dem Server zu einer List[ArrayList<String>] bei der jede ArrayList<String> nur ein Element hat |
| | | console.log(liste); |
| | | return liste; |
| | | }; |
| | | |
| | | this.fm_menu_html_export = function() { |
| | | self.fm_export_html(); |
| | | }; |
| | | |
| | | /* --------- Dateifunktionen Ende ---------- */ |
| | | |
| | | /* API functions */ |
| | | |
| | | // http://localhost:8079/file-cms/svc?c=de.uhilger.filecms.api.FileMgr&f=JSONNICE&m=list&p= |
| | |
| | | } |
| | | }; |
| | | |
| | | /* |
| | | * Hier wird fuer eine zuvor markierte Liste von Dateien, fuer die |
| | | * Cut oder Copy gewaehlt wurde, die Operations ausgefuehrt (move oder copy) |
| | | * @returns {undefined} |
| | | */ |
| | | this.fm_paste_files = function() { |
| | | var m; |
| | | if(self.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=' + self.cutCopySrcDir + '&p=' + self.pfad + '&p=' + encodeURIComponent(self.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=' + self.cutCopySrcDir + '&p=' + self.pfad + '&p=' + encodeURIComponent(self.cutCopyFiles); |
| | | } |
| | | var u = '../svc' + m; |
| | | self.fm_get(u, "text", function(resp) { |
| | | // console.log('deleteFiles gab folgendes zurueck: ' + resp); |
| | | self.fm_get_list(self.pfad); |
| | | }); |
| | | }; |
| | | |
| | | this.fm_del_files = function() { |
| | | var liste = self.fm_gewaehlte_dateien(); |
| | | var m = '?c=de.uhilger.filecms.api.FileMgr&m=deleteFiles&p=' + self.pfad + '&p=' + encodeURIComponent(liste); |
| | | var u = '../svc' + m; |
| | | self.fm_get(u, "text", function(resp) { |
| | | // console.log('deleteFiles gab folgendes zurueck: ' + resp); |
| | | self.fm_get_list(self.pfad); |
| | | }); |
| | | }; |
| | | |
| | | /* ---- codemirror editor handling -------- */ |
| | | |