c622cad76682340e961ba8159c0602a4f86bad67
[osm/LW-UI.git] / static / src / projecthandler / onboard_package.js
1 var dropZone = document.getElementById('drop-zone');
2 dropZone.ondrop = function (e) {
3 e.preventDefault();
4 this.className = 'upload-drop-zone';
5 create(e.dataTransfer.files, true);
6 };
7
8 dropZone.ondragover = function () {
9 this.className = 'upload-drop-zone drop';
10 return false;
11 };
12
13 dropZone.ondragleave = function () {
14 this.className = 'upload-drop-zone';
15 return false;
16 };
17
18
19 function create(fs, dropzone) {
20 var id = $('.nav-tabs .active').attr('id');
21 if (dropzone) id = 'file_li';
22 var type, text;
23 var data = new FormData();
24 switch (id) {
25
26 case 'file_li':
27 type = 'file';
28
29 var files = dropzone ? fs : document.getElementById('js-upload-files').files;
30 if (!files || !files.length) {
31 files = document.getElementById('drop-zone').files;
32 if (!files || !files.length) {
33 alert("Select a file");
34 return
35 }
36 }
37 console.log(files[0])
38 var patt1 = /\.([0-9a-z]+)(?:[\?#]|$)/i;
39 console.log(files[0].name.match(patt1));
40 var extension = files[0].name.substr(files[0].name.lastIndexOf('.') + 1);
41 console.log(extension);
42 if (!(extension == 'gz' )) {
43 alert("The file must be .tar.gz");
44 return
45 }
46
47 data.append('file', files[0]);
48 break;
49 }
50 data.append('csrfmiddlewaretoken', csrf_token);
51 data.append('type', type);
52 data.append('text', text);
53 data.append('id', '{{descriptor_id}}');
54 console.log(text);
55 var dialog = bootbox.dialog({
56 message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Onboarding...</div>',
57 closeButton: true
58 });
59 $.ajax({
60 url: new_desc_url,
61 type: 'POST',
62 data: data,
63 cache: false,
64 contentType: false,
65 processData: false,
66 success: function (result) {
67 dialog.modal('hide');
68 refreshTable();
69 },
70 error: function (result) {
71 dialog.modal('hide');
72 showAlert(result);
73 }
74 });
75 }