X-Git-Url: https://osm.etsi.org/gitweb/?p=osm%2FUI.git;a=blobdiff_plain;f=skyquake%2Fplugins%2Fcomposer%2Fsrc%2Fsrc%2Fcomponents%2Ffilemanager%2FFileManagerSource.js;h=5e5a4e4927c8c13b355595f5e5a7a9899c9d3aa6;hp=95703b291c48b89f642ae66086a44bd334f95ad9;hb=refs%2Ftags%2Fv3.0.0rc2;hpb=ee62263ef24875dbd041193584c5d0fc4de8146a diff --git a/skyquake/plugins/composer/src/src/components/filemanager/FileManagerSource.js b/skyquake/plugins/composer/src/src/components/filemanager/FileManagerSource.js index 95703b291..5e5a4e492 100644 --- a/skyquake/plugins/composer/src/src/components/filemanager/FileManagerSource.js +++ b/skyquake/plugins/composer/src/src/components/filemanager/FileManagerSource.js @@ -18,7 +18,6 @@ */ 'use strict'; -import _ from 'lodash' import $ from 'jquery' import alt from '../../alt' import utils from '../../libraries/utils' @@ -58,20 +57,29 @@ const FileManagerSource = { }, addFile: function() { return { - remote: function(state, id, type, path, url, refresh) { + remote: function(state, id, type, assetType, path, url, refresh) { return new Promise(function(resolve, reject) { console.log('Adding file'); console.log(id, type, path, url); let splitUrl = url.split('/'); let fileName = splitUrl[splitUrl.length -1]; - let packagePath = refresh ? path + ((path[path.length - 1] == '/') ? '' : '/') : path + '/' + fileName; + let packagePath = refresh ? path + ((path[path.length - 1] == '/') ? '' : '/') : (path ? path + '/' + fileName : fileName); + let assetFolder = assetType.toLowerCase(); $.ajax({ - beforeSend: Utils.addAuthorizationStub, - url: 'api/file-manager?api_server=' + utils.getSearchParams(window.location).api_server +'&package_type=' + type + '&package_id=' + id + '&package_path=' + packagePath + '&url=' + url, + beforeSend: (xhr) => { + Utils.addAuthorizationStub(xhr); + // lets get the buzy graphic rolling + FileManagerActions.addFileSuccess.defer({ + path: assetFolder + (path ? '/' + path: ''), + fileName: fileName, + refresh: refresh + }); + }, + url: 'api/file-manager?api_server=' + utils.getSearchParams(window.location).api_server +'&package_type=' + type + '&package_id=' + id + '&package_path=' + packagePath + '&asset_type=' + assetType + '&url=' + url, success: function(data) { resolve({ - data:data, - path: path, + data: data, + path: assetFolder + (path ? '/' + path: ''), fileName: fileName, refresh: refresh }); @@ -94,23 +102,25 @@ const FileManagerSource = { }, deleteFile: function() { return { - remote: function(state, id, type, path) { + remote: function(state, id, type, assetType, path) { + let assetFolder = assetType.toLowerCase(); return new Promise(function(resolve, reject) { $.ajax({ method: 'DELETE', beforeSend: Utils.addAuthorizationStub, - url: 'api/file-manager?api_server=' + utils.getSearchParams(window.location).api_server +'&package_type=' + type + '&package_id=' + id + '&package_path=' + path , + url: 'api/file-manager?api_server=' + utils.getSearchParams(window.location).api_server +'&package_type=' + type + '&package_id=' + id + '&asset_type=' + assetType + '&package_path=' + path , success: function(data) { - resolve({ - data: data, - path: path - }); + if (data.output.status == 'True') { + resolve({data, assetFolder, path}); + } else { + reject({data, assetFolder, path}) + } }, error: function(error) { if (typeof error == 'string') { error = JSON.parse(error); } - reject(error); + reject({data, assetFolder, path}); } }).fail(function(xhr){ //Authentication and the handling of fail states should be wrapped up into a connection class. @@ -143,14 +153,15 @@ const FileManagerSource = { openDownloadMonitoringSocket: function() { return { remote: function(state, packageID) { + let encodedId = encodeURIComponent(packageID); return new Promise(function(resolve, reject) { //api/operational/download-jobs/job/ $.ajax({ - url: '/socket-polling?api_server=' + API_SERVER , + url: '/socket-polling', type: 'POST', beforeSend: Utils.addAuthorizationStub, data: { - url: 'http://localhost:8000/composer/api/file-manager/jobs/' + packageID + '?api_server=' + API_SERVER, + url: 'composer/api/file-manager/jobs/' + encodedId + '?api_server=' + API_SERVER, }, success: function(data, textStatus, jqXHR) { Utils.checkAndResolveSocketRequest(data, resolve, reject); @@ -168,14 +179,15 @@ const FileManagerSource = { openFileMonitoringSocket: function() { return { remote: function(state, id, type) { + let encodedId = encodeURIComponent(id); return new Promise(function(resolve, reject) { //api/operational/download-jobs/job/ $.ajax({ - url: '/socket-polling?api_server=' + API_SERVER , + url: '/socket-polling', type: 'POST', beforeSend: Utils.addAuthorizationStub, data: { - url: 'http://localhost:8000/composer/api/file-manager?api_server=' + utils.getSearchParams(window.location).api_server +'&package_type=' + type + '&package_id=' + id + url: 'composer/api/file-manager?api_server=' + utils.getSearchParams(window.location).api_server +'&package_type=' + type + '&package_id=' + encodedId }, success: function(data, textStatus, jqXHR) { Utils.checkAndResolveSocketRequest(data, resolve, reject);