Onboarding drag and drop box in VNF packages and NS packages section
Change-Id: Ieb93b56b7dbaccad7dc3055d257fc8c0db62b98a
Signed-off-by: lombardof <flombardo@cnit.it>
diff --git a/static/src/projecthandler/descriptorslist.js b/static/src/projecthandler/descriptorslist.js
index 5a803da..24b7ba5 100644
--- a/static/src/projecthandler/descriptorslist.js
+++ b/static/src/projecthandler/descriptorslist.js
@@ -1,42 +1,42 @@
- function deletePackage(project_id, descriptor_type, package_id) {
- bootbox.confirm("Are you sure want to delete?", function (result) {
- if (result) {
- location.href = '/projects/' + project_id + '/descriptors/' + descriptor_type + '/' + package_id + '/delete'
- }
- })
+function deletePackage(project_id, descriptor_type, package_id) {
+ bootbox.confirm("Are you sure want to delete?", function (result) {
+ if (result) {
+ location.href = '/projects/' + project_id + '/descriptors/' + descriptor_type + '/' + package_id + '/delete'
}
+ })
+}
-
- function openPackageContentList(project_id, type, pkg_id) {
- var dialog = bootbox.dialog({
- message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
- closeButton: true
- });
- $.ajax({
- url: '/projects/' + project_id + '/descriptors/' + type + '/' + pkg_id + '/action/get_package_files_list',
- type: 'GET',
- dataType: "json",
- contentType: "application/json;charset=utf-8",
- success: function (result) {
- //$('#modal_show_vim_body').empty();
- dialog.modal('hide');
- build_file_list("Files in " + pkg_id, result.files);
- },
- error: function (result) {
- dialog.modal('hide');
- bootbox.alert("An error occurred while retrieving the package content.");
- }
- });
+function openPackageContentList(project_id, type, pkg_id) {
+ var dialog = bootbox.dialog({
+ message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+ closeButton: true
+ });
+ $.ajax({
+ url: '/projects/' + project_id + '/descriptors/' + type + '/' + pkg_id + '/action/get_package_files_list',
+ type: 'GET',
+ dataType: "json",
+ contentType: "application/json;charset=utf-8",
+ success: function (result) {
+ //$('#modal_show_vim_body').empty();
+ dialog.modal('hide');
+ build_file_list("Files in " + pkg_id, result.files);
+ },
+ error: function (result) {
+ dialog.modal('hide');
+ bootbox.alert("An error occurred while retrieving the package content.");
}
+ });
+}
- function build_file_list(title, list) {
- $('#files_list_tbody').find('tr:gt(0)').remove();
- $('#files_list_tbody_title').text(title)
- for (var i in list) {
- var template = '<tr><td>-</td><td>' + list[i] + '</td><td><button type="button" class="btn btn-default" onclick="" disabled><i class="fa fa-folder-open"></i></button></td></tr>'
- $('#files_list_tbody').append(template)
- }
- $('#modal_files_list').modal('show');
- }
\ No newline at end of file
+function build_file_list(title, list) {
+ $('#files_list_tbody').find('tr:gt(0)').remove();
+ $('#files_list_tbody_title').text(title)
+ for (var i in list) {
+ var template = '<tr><td>-</td><td>' + list[i] + '</td><td><button type="button" class="btn btn-default" onclick="" disabled><i class="fa fa-folder-open"></i></button></td></tr>'
+ $('#files_list_tbody').append(template)
+ }
+ $('#modal_files_list').modal('show');
+}
+
diff --git a/static/src/projecthandler/onboard_package.js b/static/src/projecthandler/onboard_package.js
new file mode 100644
index 0000000..801acf2
--- /dev/null
+++ b/static/src/projecthandler/onboard_package.js
@@ -0,0 +1,72 @@
+var dropZone = document.getElementById('drop-zone');
+dropZone.ondrop = function (e) {
+ e.preventDefault();
+ this.className = 'upload-drop-zone';
+ create(e.dataTransfer.files, true);
+};
+
+dropZone.ondragover = function () {
+ this.className = 'upload-drop-zone drop';
+ return false;
+};
+
+dropZone.ondragleave = function () {
+ this.className = 'upload-drop-zone';
+ return false;
+};
+
+
+function create(fs, dropzone) {
+ var id = $('.nav-tabs .active').attr('id');
+ if (dropzone) id = 'file_li';
+ var type, text;
+ var data = new FormData();
+ switch (id) {
+
+ case 'file_li':
+ type = 'file';
+
+ var files = dropzone ? fs : document.getElementById('js-upload-files').files;
+ if (!files || !files.length) {
+ files = document.getElementById('drop-zone').files;
+ if (!files || !files.length) {
+ alert("Select a file");
+ return
+ }
+ }
+ console.log(files[0])
+ var patt1 = /\.([0-9a-z]+)(?:[\?#]|$)/i;
+ console.log(files[0].name.match(patt1));
+ var extension = files[0].name.substr(files[0].name.lastIndexOf('.') + 1);
+ console.log(extension);
+ if (!(extension == 'gz' )) {
+ alert("The file must be .tar.gz");
+ return
+ }
+
+ data.append('file', files[0]);
+ break;
+ }
+ data.append('csrfmiddlewaretoken', csrf_token);
+ data.append('type', type);
+ data.append('text', text);
+ data.append('id', '{{descriptor_id}}');
+ console.log(text);
+ $.ajax({
+ url: "new",
+ type: 'POST',
+ data: data,
+ cache: false,
+ contentType: false,
+ processData: false,
+ success: function (result) {
+ console.log(result);
+
+ window.location.href = descr_list_url
+
+ },
+ error: function (result) {
+ showAlert(result);
+ }
+ });
+}
\ No newline at end of file