This repository was archived by the owner on Jan 30, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 402
Expand file tree
/
Copy pathupload.js
More file actions
82 lines (72 loc) · 2.48 KB
/
upload.js
File metadata and controls
82 lines (72 loc) · 2.48 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
document.on('click', '#upload_file_button', function(e, button) {
e.preventDefault();
$('new_upload').toggle();
});
// Display spinner wheel when loading folders via AJAX
document.on("click", ".upload .file a.ajax", function(e,el) {
el.up('.upload').down('img').setAttribute('src', '/images/loading.gif');
});
document.on("click", ".upload .reference a.link_rename", function(e,el) {
el.up('.reference').hide();
el.up('.reference').up('.upload').down('.header').down('.icon').down('img').setAttribute('src', '/images/loading.gif');
});
document.on('click', '#new_folder_button, #new_folder_form a.close', function(e, button) {
e.preventDefault();
$('new_folder_form').toggle();
if ($('new_folder_form').visible()) {
$('new_folder_form').down('#new_folder_name').focus();
}
});
String.prototype.incrementLastNumber = function() {
var i = 0, matches = this.match(/\d+/g);
matches.push(parseInt(matches.pop()) + 1);
return this.gsub(/\d+/, function(m) { return matches[i++]; });
};
document.on('change', '.upload_area input[type=file]', function(e, input) {
var newInput = new Element('input', {
type: 'file',
name: input.name.incrementLastNumber()
});
if (input.form.hasEmptyFileUploads() === false) {
input.insert({ after: newInput });
}
});
var toggle_task_row = function(el) {
var upload = el.up('.upload');
var reference = upload.down('.reference');
if(reference) {
if (reference.visible()) {
upload.removeClassName('selected');
reference.hide();
} else {
$$('.uploads .upload').invoke('removeClassName', 'selected');
$$('.uploads .reference').invoke('hide');
upload.addClassName('selected');
reference.show();
}
}
};
// If clicked on the name, perform the default action
document.on('click', '.uploads .upload .header .file a', function(e, el) {
toggle_task_row(el);
});
// When clicking on the row, display the dropdown menu
document.on('click', '.uploads .upload .header', function(e, el) {
toggle_task_row(el);
});
var toggle_upload_more = function(el) {
var reference = el.up('.upload_file') ? el.up('.upload_file').down('.reference') : el.up('.upload_thumbnail').down('.reference');
if(reference) {
if (reference.visible()) {
reference.hide();
} else {
$$('.upload_file .reference').invoke('hide');
$$('.upload_thumbnail .reference').invoke('hide');
reference.show();
}
}
return false;
};
document.on('click', '.more span', function(e, el) {
toggle_upload_more(el);
});