React Common - Object Structures - FileSystemError
import FileSystemError from "devextreme/file_management/error"
index.js
fileSystem.js
- const objectProvider = new DevExpress.fileManagement.ObjectFileSystemProvider({ data: fileSystem });
- const keepExtensionsProvider = new DevExpress.fileManagement.CustomFileSystemProvider({
- getItems: function(item) {
- return objectProvider.getItems(item);
- },
- renameItem: function(item, newName) {
- return new Promise((resolve, reject) => {
- if(item.getFileExtension() !== getExtension(newName)) {
- // 1 - reject
- reject(new DevExpress.fileManagement.FileSystemError(5, item, "You cannot change the file extension."));
- // 2 - throw
- // throw new DevExpress.fileManagement.FileSystemError(5, item, "You cannot change the file extension.");
- } else {
- resolve(objectProvider.renameItem(item, newName));
- }
- });
- }
- });
- const getExtension = function(path) {
- const index = path.lastIndexOf(".");
- return index !== -1 ? path.substr(index) : "";
- }
- $("#file-manager").dxFileManager({
- fileSystemProvider: keepExtensionsProvider,
- permissions: { rename: true }
- });
- var fileSystem = [
- {
- name: "Documents",
- isDirectory: true,
- items: [
- {
- name: "Projects",
- isDirectory: true,
- items: [
- {
- name: "About.rtf",
- isDirectory: false,
- size: 1024
- },
- {
- name: "Passwords.rtf",
- isDirectory: false,
- size: 2048
- }
- ]
- },
- {
- name: "About.xml",
- isDirectory: false,
- size: 1024
- },
- {
- name: "Managers.rtf",
- isDirectory: false,
- size: 2048
- },
- {
- name: "ToDo.txt",
- isDirectory: false,
- size: 3072
- }
- ],
- },
- {
- name: "Images",
- isDirectory: true,
- items: [
- {
- name: "logo.png",
- isDirectory: false,
- size: 20480
- },
- {
- name: "banner.gif",
- isDirectory: false,
- size: 10240
- }
- ]
- },
- {
- name: "System",
- isDirectory: true,
- items: [
- {
- name: "Employees.txt",
- isDirectory: false,
- size: 3072
- },
- {
- name: "PasswordList.txt",
- isDirectory: false,
- size: 5120
- }
- ]
- },
- {
- name: "Description.rtf",
- isDirectory: false,
- size: 1024
- },
- {
- name: "Description.txt",
- isDirectory: false,
- size: 2048
- }
- ];
Feel free to share topic-related thoughts here.
If you have technical questions, please create a support ticket in the DevExpress Support Center.
Thank you for the feedback!
If you have technical questions, please create a support ticket in the DevExpress Support Center.