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
|
import { $gettext } from './gettext';
import Dialog from './dialog.js';
const Folders = {
openAddFoldersWindow: function(folder_id, range_id) {
Dialog.fromURL(
STUDIP.ABSOLUTE_URI_STUDIP +
'dispatch.php/folder/new?rangeId=' +
range_id +
'&parent_folder_id=' +
folder_id +
'&js=1',
{
title: $gettext('Dokument hinzufügen')
}
);
},
sendNewFolderForm: function() {
var new_folder_form = jQuery('#new_folder_form');
//get form fields to check if the required fields are set:
var folder_name = jQuery(new_folder_form)
.find('input[name="name"]')
.val();
var folder_type = jQuery(new_folder_form)
.find('input[name="folder_type"]')
.val();
var parent_folder_id = jQuery(new_folder_form)
.find('input[name="parent_folder_id"]')
.val();
if (folder_name && folder_type && parent_folder_id) {
jQuery.ajax({
method: 'POST',
url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/folder/new',
data: new_folder_form.serialize(),
cache: false,
success: function(data) {
Folders.updateFolderListEntry(data.folder_id, data.tr);
Dialog.close();
}
});
}
},
updateFolderListEntry: function(folder_id, html) {
//updates the folder entry in the folder list
var documents_table = jQuery('.documents[data-folder_id]');
if (jQuery('#row_folder_' + folder_id).length > 0) {
//row with folder-ID was found:
jQuery('#row_folder_' + folder_id).replaceWith(html);
} else {
jQuery(documents_table).append(html);
}
},
removeFolderListEntry: function(folder_id) {
//removes a row from the folder list:
if (jQuery('#row_folder_' + folder_id).length > 0) {
//row with folder-ID was found:
jQuery('#row_folder_' + folder_id).remove();
}
},
delete: function(folder_id) {
if (!folder_id) {
return false;
}
jQuery.ajax({
method: 'GET',
url: STUDIP.ABSOLUTE_URI_STUDIP + 'dispatch.php/folder/delete/' + folder_id,
data: null,
cache: false,
success: function(data) {
if ($(data).hasClass('messagebox_success')) {
Folders.removeFolderListEntry(folder_id);
}
$('#content').prepend(data);
}
});
}
};
export default Folders;
|