@@ -207,27 +207,33 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
207207 } ,
208208
209209 __doDeleteSelected : function ( toBeDeleted ) {
210- const requests = [ ] ;
211- toBeDeleted . forEach ( selection => {
210+ let request = null ;
211+ if ( toBeDeleted . length === 0 ) {
212+ osparc . FlashMessenger . logAs ( this . tr ( "Nothing to delete" ) , "ERROR" ) ;
213+ return ;
214+ } else if ( toBeDeleted . length === 1 ) {
215+ const selection = toBeDeleted [ 0 ] ;
212216 if ( selection ) {
213- let request = null ;
214217 if ( osparc . file . FilesTree . isFile ( selection ) ) {
215218 request = this . __deleteItem ( selection . getFileId ( ) , selection . getLocation ( ) ) ;
216219 } else {
217220 request = this . __deleteItem ( selection . getPath ( ) , selection . getLocation ( ) ) ;
218221 }
219- if ( request ) {
220- requests . push ( request ) ;
221- }
222+ request
223+ . then ( datas => {
224+ if ( datas . length ) {
225+ this . fireDataEvent ( "fileDeleted" , datas [ 0 ] ) ;
226+ osparc . FlashMessenger . logAs ( this . tr ( "Items successfully deleted" ) , "INFO" ) ;
227+ }
228+ } ) ;
222229 }
223- } ) ;
224- Promise . all ( requests )
225- . then ( datas => {
226- if ( datas . length ) {
227- this . fireDataEvent ( "fileDeleted" , datas [ 0 ] ) ;
228- osparc . FlashMessenger . logAs ( this . tr ( "Items successfully deleted" ) , "INFO" ) ;
229- }
230- } ) ;
230+ } else if ( toBeDeleted . length > 1 ) {
231+ this . __deleteItems ( toBeDeleted )
232+ . then ( resp => {
233+ // It returns a long running task
234+ console . log ( resp ) ;
235+ } ) ;
236+ }
231237 } ,
232238
233239 __deleteItem : function ( itemId , locationId ) {
@@ -238,5 +244,11 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
238244 const dataStore = osparc . store . Data . getInstance ( ) ;
239245 return dataStore . deleteFile ( locationId , itemId ) ;
240246 } ,
247+
248+ __deleteItems : function ( items ) {
249+ const dataStore = osparc . store . Data . getInstance ( ) ;
250+ const paths = items . map ( item => item . getPath ( ) ) ;
251+ return dataStore . deleteFiles ( paths ) ;
252+ } ,
241253 }
242254} ) ;
0 commit comments