I'm trying to use the delete context method, but when selecting multiple folders and deleting them it sends the same delete request multiple times. The more folders (no subfolders) I try to delete the more requests it sends.
My theory is that the datasource somehow doesn't register it has been deleted, so it tries to automatically sync the datasource by sending it again. Note that I'm using a virutal filesystem, but I'm returning the same object as in this sample
Also note that I'm using a mix of MVC and Jquery so I have a custom scheme as recommended in some of my previous tickets.
This is scheme:
$.extend(true, kendo.data, {
schemas: {
"filemanager": {
data: function (data) {
return data.Items || data || [];
},
model: {
id: "path",
hasChildren: "hasDirectories",
fields: {
entryId: { field: "EntryId", editable: false, type: "Number" },
folderId: { field: "FolderId", editable: false, type: "Number" },
name: { field: "Name", editable: true, type: "String", defaultValue: "New Folder" },
size: { field: "Size", editable: false, type: "Number" },
path: { field: "Path", editable: false, type: "String" },
extension: { field: "Extension", editable: false, type: "String" },
isDirectory: { field: "IsDirectory", editable: false, defaultValue: true, type: "Boolean" },
hasDirectories: { field: "HasDirectories", editable: false, defaultValue: false, type: "Boolean" },
created: { field: "Created", type: "Date", editable: false },
createdUtc: { field: "CreatedUtc", type: "Date", editable: false },
modified: { field: "Modified", type: "Date", editable: false },
modifiedUtc: { field: "ModifiedUtc", type: "Date", editable: false }
}
}
}
}
});
$("#document-manager").kendoFileManager({
dataSource: {
transport: {
read: {
type: "post",
url: "/FileManager/Read",
data: function() {
return getFileMetaData()
}
},
update: {
type: "post",
url: "/FileManager/Rename",
},
create: {
type: "post",
url: "/FileManager/Create",
data: function () {
return getFileMetaData()
}
},
destroy: {
type: "post",
url: "/FileManager/DeleteEntry"
}
},
},
contextMenu: {
items: [
{ name: "rename" },
{ name: "delete" }
]
},
});
And lastly my C# controller method which deletes the folder and returns the same object as in the above mentioned sample:
[HttpPost]
public async Task<ActionResult> DeleteEntry(FileManagerEntry deleteDto)
{
await _fileManagerService.DeleteEntry(deleteDto);
return Json(new object[0], JsonRequestBehavior.AllowGet);
}
You can also see in this screencast that it sends the delete request multiple times for the same entry:
https://screencast-o-matic.com/watch/cYfolKzXZs
According to https://docs.telerik.com/kendo-ui/controls/data-management/filemanager/context-menu:
You can define your custom items which can execute custom commands
However, no option allows me to configure my own commands.
I managed to hack this: https://dojo.telerik.com/@GaloisGirl/iLoHIhoh , but it's an ugly solution.
The FileManager shows only the Documents folder
The FileManager shows all folders on root level (Documents and Images)
With LESS bootstrap theme, the scrollbar does not appear in the ListView if there are too many files.
The scrollbar does not appear when there are too many items in the ListView.
A scrollbar should appear
If you try to specify an icon through the ContextMenu items in the FileManager, no icon is rendered.
Regression introduced with 2023.1.117
Workaround: https://dojo.telerik.com/oFuGacAT/14
No icons are shown in the ContextMenu
The specified icons should be visible
Context: my communication with the back-end is wrapped in a library, that handles the xhr requests and if needed, throws a custom exception. My transport is therefore made of functions. The sample below simulates getting an error from that library.
Demo: https://dojo.telerik.com/@GaloisGirl/ayEpOKOQ/2
Actual result:
This one is a bit complex:
Any "delete" operation can be replaced by a "rename" operation, and the result is the same.
The problem does not happen at root level. I don't know if it's because it's the root levels, or because the elements are directories.
Moving files MORE than one level upwards in a folder hierarchy is bugged.
If you have a nested folder hierarchy like this:
folder1
folder2
folder3
1. moving a file from folder1 to folder2 works.
2. moving a file from folder2 to folder1 works.
3. moving a file from folder1 to folder3 works.
4. moving a file from folder3 to folder1 is BUGGED.
I have the issue in my code, but I also tested it in your demo site and it has the same problem.
https://demos.telerik.com/kendo-ui/filemanager/index
I have uploaded a screen dump of the error output from Chrome.
It is in or after the DataBinding event (Comming from Create action), the the error occurs, thus causing the Delete action and refresh of the UI to never occur.
The bug occurs in both Chrome and IE Edge.
Please fix the bug.
Paging in FileManager's List view does not work as expected. Paging in Grid View behaves as expected.
Only one page is displayed in the pager
The pager should be updated to show the correct number of pages.
There is no padding between semicolon and the data "Type:Folder" wouldn't be better "Type: folder" with a space in between?
When the FileManager is initialized with a local data source the Context Menu is not displayed.
The context menu is not displayed. The Context menu is not expected to be displayed for the built-in rename and delete commands, but a context menu is not displayed when custom commands are implemented.
A context menu should be displayed when local data source is used.
When a node in the TreeView of a Kendo UI FileManager is selected, then the parent node is collapsed, and re-expanded, the selection is removed.
The selected node within a parent after collapsing and expanding will lose its selection. Here is a screencast of the above in action.
The selection should persist even upon expanding/collapsing parent nodes.
In the FileManager, if you configure the Grid as editable through the views.grid option, clicking on the editable Grid cells results in duplicated row data.
Workaround: - use the setOptions method to enable editing in the Grid - https://dojo.telerik.com/uMAxULUR/4
The row data is duplicated
The row data shouldn't be duplicated
In the FileManager, if you try to override the default Search message through the messages.toolbar.search option, the new message is not being set.
Regression with R1 2023
The Search placeholder message is not being updated.
The Search holder message should be updated with the value from the configuration.
When the FileManager has data in the following structure Folder > SubFolder, File1, File2... and a Grid view with enabled paging, an error is thrown when you attempt to double click on "Folder".
When you select multiple files in the FileManager and then toggle the preview pane, the default multipleFilesTemplate is broken
Regression introduced with 2023.1.117
Workaround - https://dojo.telerik.com/eFaRIWav/4
The current content of the PreviewPane is "span class="k-file-name">2 items
The content of the PreviewPane should be "2 items"
When an item is selected in the left panel and setDataSource is used in FileManager, the left panel becomes empty. The behavior does not occur if the setDataSource method is used without previously selecting an item.
The left panel in FileManager becomes empty.
The newly set folders should be displayed even if an item is selected before setting the new dataSource.
I am running into inconsistencies when using the toolbar Search input of a File Manager object after navigating to new folders.
Simple dojo for reference - https://dojo.telerik.com/aPOtiXex/2
Steps to reproduce
I am not sure what the best answer for this scenario would be. Maybe navigating to a new folder should clear the search filter criteria in the toolbar and clear any applied filter criteria to the previous folder? Or maybe the toolbar search input should be reset to accurately reflect the current applied filter for the folder on navigate? Something good for your dev team to discuss, but it is clear that the current implementation will create some confusion for users.
In FileManager read request is triggered twice when navigating to a parent folder that has a nested folder. The issue does not occur if the folder contains only files without a nested folder.
Two identical requests are sent when the parent folder is selected.
There should be a single request when navigating to a parent folder, even if it has a nested child folder.