Web: Files: Added opportunity to react on move/delete file on socket.io
This commit is contained in:
parent
e810605a4d
commit
6d17e0a37d
@ -90,8 +90,11 @@ class FilesStore {
|
||||
const foundIndex = this.files.findIndex((x) => x.id === opt?.id);
|
||||
if (foundIndex == -1) return;
|
||||
|
||||
const file = await api.files.getFileInfo(opt?.id);
|
||||
this.setFiles(this.files.splice(foundIndex, 1));
|
||||
this.setFiles(
|
||||
this.files.filter((value, index) => {
|
||||
return index !== foundIndex;
|
||||
})
|
||||
);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -35,6 +35,7 @@ using ASC.Files.Core;
|
||||
using ASC.Files.Core.Resources;
|
||||
using ASC.MessagingSystem;
|
||||
using ASC.Web.Files.Helpers;
|
||||
using ASC.Web.Files.Services.DocumentService;
|
||||
using ASC.Web.Files.Utils;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
@ -209,7 +210,10 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
|
||||
private void DeleteFiles(IEnumerable<T> fileIds, IServiceScope scope)
|
||||
{
|
||||
var scopeClass = scope.ServiceProvider.GetService<FileDeleteOperationScope>();
|
||||
var scopeClass = scope.ServiceProvider.GetService<FileDeleteOperationScope>();
|
||||
var documentServiceHelper = scope.ServiceProvider.GetService<DocumentServiceHelper>();
|
||||
var socketManager = scope.ServiceProvider.GetService<SocketManager>();
|
||||
|
||||
var (fileMarker, filesMessageService) = scopeClass;
|
||||
foreach (var fileId in fileIds)
|
||||
{
|
||||
@ -236,14 +240,20 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
file.ThumbnailStatus = Thumbnail.NotRequired;
|
||||
FileDao.SaveThumbnail(file, null);
|
||||
}
|
||||
}
|
||||
|
||||
var roomFile = documentServiceHelper.GetSocketRoom(file, false);
|
||||
socketManager.DeleteFile(file.ID, roomFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
FileDao.DeleteFile(file.ID);
|
||||
filesMessageService.Send(file, _headers, MessageAction.FileDeleted, file.Title);
|
||||
filesMessageService.Send(file, _headers, MessageAction.FileDeleted, file.Title);
|
||||
|
||||
var roomFile = documentServiceHelper.GetSocketRoom(file, false);
|
||||
socketManager.DeleteFile(file.ID, roomFile);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -37,6 +37,7 @@ using ASC.MessagingSystem;
|
||||
using ASC.Web.Core.Files;
|
||||
using ASC.Web.Files.Classes;
|
||||
using ASC.Web.Files.Helpers;
|
||||
using ASC.Web.Files.Services.DocumentService;
|
||||
using ASC.Web.Files.Utils;
|
||||
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
@ -477,6 +478,12 @@ namespace ASC.Web.Files.Services.WCFService.FileOperations
|
||||
{
|
||||
needToMark.Add(newFile);
|
||||
}
|
||||
|
||||
var documentServiceHelper = scope.ServiceProvider.GetService<DocumentServiceHelper>();
|
||||
var socketManager = scope.ServiceProvider.GetService<SocketManager>();
|
||||
|
||||
var roomFile = documentServiceHelper.GetSocketRoom(file, false);
|
||||
socketManager.DeleteFile(file.ID, roomFile);
|
||||
|
||||
if (ProcessedFile(fileId))
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user