Child: [28e317] (diff)

Download this file

project_tools.js    92 lines (92 with data), 3.7 kB

 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
(function() {
// Provide CSRF protection
var cval = $.cookie('_session_id');
var csrf_input = $('<input name="_session_id" type="hidden" value="'+cval+'">');
// Install popup
var install_popup = $('#lightbox_install_modal');
var install_form = $('#install_form');
var new_ep_name = install_form.find('input.new_ep_name');
var new_mount_point = install_form.find('input.new_mount_point');
var new_mount_label = install_form.find('input.new_mount_label');
var install_tool_label = $('#install_tool_label');
install_popup.append(install_form.show());
$('a.install_trig').click(function () {
var datatool = $(this).attr('data-tool');
if (datatool) {
var tool = defaults[datatool];
install_tool_label.html(tool.default_label);
new_ep_name.val(datatool);
new_mount_point.val(tool.default_mount);
new_mount_label.val(tool.default_label);
} else {
install_tool_label.html("Subproject");
new_ep_name.val('');
new_mount_point.val('');
new_mount_label.val('');
}
});
// Edit popup
var $popup_title = $('#popup_title');
var $popup_contents = $('#popup_contents');
$('a.admin_modal').click(function () {
var link = this;
$popup_title.html('');
$popup_contents.html('Loading...');
$.get(link.href, function (data) {
$popup_title.html($(link).html());
$popup_contents.html(data);
$popup_contents.find('form').append(csrf_input);
});
});
// delete popup
var form_to_delete = null;
var mount_delete_popup = $('#lightbox_mount_delete');
var mount_delete_form = $('#mount_delete_form');
mount_delete_popup.append(mount_delete_form.show());
mount_delete_form.find('.continue_delete').click(function () {
form_to_delete.submit();
form_to_delete = null;
});
mount_delete_form.find('.cancel_delete').click(function () {
form_to_delete = null;
});
$('a.mount_delete').click(function () {
form_to_delete = this.parentNode;
return false;
});
// sorting
$('#sortable').sortable({items: ".fleft"}).bind( "sortupdate", function (e) {
var sortables = $('#sortable .fleft');
var tools = 0;
var subs = 0;
var params = {'_session_id':$.cookie('_session_id')};
for (var i = 0, len = sortables.length; i < len; i++) {
var item = $(sortables[i]);
var mount_point = item.find('input.mount_point');
var shortname = item.find('input.shortname');
if (mount_point.length) {
params['tools-' + tools + '.mount_point'] = mount_point.val();
params['tools-' + tools + '.ordinal'] = i;
tools++;
}
if (shortname.length) {
params['subs-' + subs + '.shortname'] = shortname.val();
params['subs-' + subs + '.ordinal'] = i;
subs++;
}
}
$.ajax({
type: 'POST',
url: 'update_mount_order',
data: params,
success: function(xhr, textStatus, errorThrown) {
$('#messages').notify('Tool order updated, refresh this page to see the updated project navigation.',
{status: 'confirm'});
},
error: function(xhr, textStatus, errorThrown) {
$('#messages').notify('Error saving tool order.',
{status: 'error'});
}
});
});
})();