Enable disable toolbar item in React File Manager component
18 Nov 20186 minutes to read
The toolbar items can be enabled/disabled by specifying the items in enableToolbarItems or disableToolbarItems methods respectively.
The following example shows enabling and disabling toolbar items on button click.
import { DetailsView, FileManagerComponent, NavigationPane, Toolbar, Inject } from '@syncfusion/ej2-react-filemanager';
import { ButtonComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
function App() {
let fileObj;
let hostUrl = "https://physical-service.syncfusion.com/";
let height = "330px";
let view = "Details";
let ajaxSettings = {
downloadUrl: hostUrl + 'api/FileManager/Download',
getImageUrl: hostUrl + "api/FileManager/GetImage",
uploadUrl: hostUrl + 'api/FileManager/Upload',
url: hostUrl + "api/FileManager/FileOperations"
};
let toolbarSettings = { items: ['NewFolder', 'Refresh', 'View', 'Details'] };
function onEnable() {
fileObj.enableToolbarItems(["newfolder"]);
}
function onDisable() {
fileObj.disableToolbarItems(["newfolder"]);
}
return (<div>
<ButtonComponent id='enable' style=margin onClick={onEnable.bind(this)} cssClass='e-success'>Enable New Folder toolbar item</ButtonComponent>
<ButtonComponent id='disable' style=margin onClick={onDisable.bind(this)} cssClass='e-danger'>Disable New Folder toolbar item</ButtonComponent>
<div className="control-section">
<FileManagerComponent ref={s => (fileObj = s)} id="file" height={height} view={view} ajaxSettings={ajaxSettings} toolbarSettings={toolbarSettings}>
<Inject services={[NavigationPane, DetailsView, Toolbar]}/>
</FileManagerComponent>
</div>
</div>);
}
export default App;import { DetailsView, FileManagerComponent, NavigationPane, Toolbar, Inject } from '@syncfusion/ej2-react-filemanager';
import { ButtonComponent } from '@syncfusion/ej2-react-buttons';
import * as React from 'react';
function App() {
let fileObj: FileManagerComponent;
let hostUrl: string = "https://physical-service.syncfusion.com/";
let height: string = "330px";
let view: string = "Details";
let ajaxSettings: object = {
downloadUrl: hostUrl + 'api/FileManager/Download',
getImageUrl: hostUrl + "api/FileManager/GetImage",
uploadUrl: hostUrl + 'api/FileManager/Upload',
url: hostUrl + "api/FileManager/FileOperations"
};
let toolbarSettings: object = { items: ['NewFolder', 'Refresh', 'View', 'Details'] };
function onEnable() {
fileObj.enableToolbarItems(["newfolder"]);
}
function onDisable() {
fileObj.disableToolbarItems(["newfolder"]);
}
return (
<div>
<ButtonComponent id='enable' style= margin onClick={onEnable.bind(this)} cssClass='e-success'>Enable New Folder toolbar item</ButtonComponent>
<ButtonComponent id='disable' style= margin onClick={onDisable.bind(this)} cssClass='e-danger'>Disable New Folder toolbar item</ButtonComponent>
<div className="control-section">
<FileManagerComponent ref={ s => (fileObj = s as FileManagerComponent)} id="file" height={height} view={view}
ajaxSettings = {ajaxSettings}
toolbarSettings = {toolbarSettings} >
<Inject services={[ NavigationPane, DetailsView, Toolbar]} />
</FileManagerComponent>
</div>
</div>
);
}
export default App;import * as React from 'react';
import * as ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render(<App />, document.getElementById('root'));import * as React from 'react';
import * as ReactDOM from 'react-dom';
import App from './App';
ReactDOM.render( <App />, document.getElementById('root') as HTMLElement);