React Common - Object Structures - FileSystemError

An object that contains information about the error.

import FileSystemError from "devextreme/file_management/error"

App.js
data.js
  • import React from "react";
  • import ObjectFileSystemProvider from "devextreme/file_management/object_provider";
  • import CustomFileSystemProvider from "devextreme/file_management/custom_provider";
  • import FileSystemError from "devextreme/file_management/error";
  • import FileManager, { Permissions } from "devextreme-react/file-manager";
  • import { fileItems } from "./data.js";
  •  
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • const objectProvider = new ObjectFileSystemProvider({
  • data: fileItems
  • });
  •  
  • const keepExtensionsProvider = new CustomFileSystemProvider({
  • getItems: (parentDir) => getItems(parentDir),
  • renameItem: (item, newName) => renameItem(item, newName),
  • });
  •  
  • function getItems(parentDir) {
  • return objectProvider.getItems(parentDir);
  • };
  •  
  • function renameItem(item, newName) {
  • return new Promise((resolve, reject) => {
  • if(item.getFileExtension() !== getExtension(newName)) {
  • // 1 - reject
  • reject(new FileSystemError(5, item, "You cannot change the file extension."));
  • // 2 - throw
  • // throw new FileSystemError(5, item, "You cannot change the file extension.");
  • } else {
  • resolve(objectProvider.renameItem(item, newName));
  • }
  • });
  • };
  •  
  • function getExtension(path) {
  • const index = path.lastIndexOf(".");
  • return index !== -1 ? path.substr(index) : "";
  • };
  •  
  • const App = () => {
  • return (
  • <FileManager
  • fileSystemProvider={keepExtensionsProvider}>
  • <Permissions rename={true}></Permissions>
  • </FileManager>
  • );
  • };
  •  
  • export default App;
  • export const fileItems = [{
  • '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
  • }];

errorCode

The error code.

Type:

Number

The following error codes are supported:

  • NoAccess = 0
  • FileExists = 1
  • FileNotFound = 2
  • DirectoryExists = 3
  • DirectoryNotFound = 4
  • WrongFileExtension = 5
  • MaxFileSizeExceeded = 6
  • Other = 32767

errorText

The error message.

Type:

String

fileSystemItem

The processed file or directory.