Dateiverwaltung für die WebBox
ulrich
2017-03-22 fad71945f44fd188b2ef78b88e638eb9d1cd0674
commit | author | age
2f9e6f 1 /*
U 2     Dateiverwaltung - File management in your browser
3     Copyright (C) 2017 Ulrich Hilger, http://uhilger.de
4
5     This program is free software: you can redistribute it and/or modify
6     it under the terms of the GNU Affero General Public License as
7     published by the Free Software Foundation, either version 3 of the
8     License, or (at your option) any later version.
9
10     This program is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU Affero General Public License for more details.
14
15     You should have received a copy of the GNU Affero General Public License
16     along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 */
18
19
20
21 /*
22  * In data.js finden sich die Objekte vom Browser-Client 
23  * der Dateiverwaltung
24  */
25
26
27
28 /* ----- Objekte ----- */
29
30 function IssueList(il) {
31   this.issues = il;
32 }
33
34 function CompilerIssue(sn, ms, ki, ln) {
35   var self = this;
36   this.sourceName = sn;
37   this.message = ms;
38   this.kind = ki;
39   this.lineNumber = ln;
40 }
41
42 function FileList(fl) {
43   this.files = fl;
44 }
45
46 function FileRef(obj) {
47   var self = this;
48   this.fr = obj;
49   this.fnx;
50   
51   this.typeClass = function() {
52     if(modus == 'kacheln') {
53       if(self.fr.isDirectory) {
54         return 'fa-folder ordner';
55       } else {
56         return 'fa-file datei';
57       }
58     } else {
59       if(self.fr.isDirectory) {
60         return 'fa-folder ordner';
61       } else {
62         return 'fa-file-o datei';
63       }
64     }
65   };
66   
67   this.mini = function() {
68     var miniatur = false;
69     var namen = self.fr.absolutePath.split('/');
70     if(namen.length > 0) {
71       self.fnx = decodeURIComponent(namen[namen.length - 1]);
72     } else {
73       self.fnx = decodeURIComponent(self.fr.absolutePath);
74     }
75     if(self.fnx.indexOf('.jpg') > -1 || self.fnx.indexOf('.png') > -1 || self.fnx.indexOf('.gif') > -1 || self.fnx.indexOf('.jpeg') > -1) {
76       miniatur = true;
77     }
78     return miniatur;
79   };
80   
81   this.miniurl = function() {
82       var userid = $('#userMenu').text();
83       var ext = '';
84       var dotpos = self.fnx.indexOf('.');
85       if(dotpos > -1) {
86         var fny = self.fnx;
87         self.fnx = self.fnx.substring(0, dotpos);
88         ext = fny.substr(dotpos);
89       }
90       var path = fm_get_path(userid);
91       var imgurl = loc + path + '/' + self.fnx + '_tn' + ext;
92       return imgurl;
93     
94   };
95   
96   this.fileName = function() {
97     
98     var namen = self.fr.absolutePath.split('/');
99     if(namen.length > 0) {
100       return decodeURIComponent(namen[namen.length - 1]);
101     } else {
102       return decodeURIComponent(self.fr.absolutePath);
103     }
104     
105   };
106 }
107
108 function BcrFiles(fl) {
109   this.files = fl;
110 }
111
112 function BcrFile(rp, n) {
113   this.relPath = rp;
114   this.fName = n;
115 }
116