Dateiverwaltung für die WebBox
ulrich
2017-02-18 e5ff423d0b1b1ff57410c7efeb6ac97f42b07d35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
var cm;
 
function fm_init() {
  $('.codeeditor-space').hide();
  $('.code-editor-container').hide();
  $('#newTextFile').on('click', fm_menu_neue_textdatei);
  $('#saveFile').on('click', fm_menu_datei_speichern);
  $('#closeFile').on('click', fm_menu_datei_schliessen);
  fm_get_login();
}
 
function fm_menu_neue_textdatei() {
  $('#dateiansicht').hide();
  $('.codeeditor-space').show();
  $('.code-editor-container').show();
  fm_code_edit('Test');
}
 
function fm_menu_datei_schliessen() {
  $('.codeeditor-space').hide();
  $('.code-editor-container').hide();
  cm.toTextArea();
  $('#dateiansicht').show();  
}
 
function fm_get_login() {
  var m = '?c=de.uhilger.um.pub.SessionManager&m=getSessionUser';
  var u = '../../um/pub' + m;
  fm_get(u, function(resp) {
    $('#userMenu').text(resp.UserData.firstName);
  });  
}
 
function fm_menu_datei_speichern() {
  // FileRef saveTextFile(String relPath, String fileName, String contents)
  
  
  
  /*
  var t = new Template(-2, $('#filename').val(), self.cm.getValue(), 3);
  var u = '../api/tr/?c=de.uhilger.webbox.api.ContentApi&m=newTemplate';
  self.post(u, {p: self.serialise(t)}, function (resp) {
    self.isnew = false;
    self.editid = resp.Template.id;
    $('#contlist').append(self.buildContListItem(3, resp.Template.name, resp.Template.id));
    $('#templateeditor').addClass('hidden');
  });
  */
}
 
/* ---- codemirror editor handling -------- */
 
function fm_code_edit(content) {
  var windowHeight = $(window).height();
 
  //$("editspace").empty();
  //self.cm.toTextArea();
 
  cm = CodeMirror.fromTextArea(document.getElementById("editspace"), {
    lineNumbers: true,
    mode: "xml",
    viewportMargin : Infinity,
    extraKeys: {
            "F9": function(cm) {
              cm.setOption("fullScreen", !cm.getOption("fullScreen"));
            },
            "Esc": function(cm) {
              if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
          }
    }
  });
  
  // cm.setSize("100%", windowHeight - 100); // w, h
  cm.setValue(content);
  
};
 
 
 
/* -------- helper functions ----------- */
 
function fm_get(u, scallback) {
  $.ajax({
    url: u,
    type: "GET",
    dataType: "json",
    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, scallback) {
  $.ajax({
    url: u,
    data: d,
    type: "POST",
    dataType: "json",
    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) + '}';
};