React FileManager - FileSystemError
import FileSystemError from "devextreme/file_management/error"
App.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;
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.