### Import : ```js const FileTreeView = brackets.getModule("project/FileTreeView") ``` ## Preact This is the view layer (template) for the file tree in the sidebar. It takes a FileTreeViewModel and renders it to the given element using Preact. User actions are signaled via an ActionCreator (in the Flux sense). **Kind**: global variable ## componentDidMount() When this component is displayed, we scroll it into view and select the portion of the filename that excludes the extension. **Kind**: global function ## getInitialState() Ensures that we always have a state object. **Kind**: global function ## componentDidMount() When this component is displayed, we scroll it into view and select the folder name. **Kind**: global function ## shouldComponentUpdate() Need to re-render if the sort order or the contents change. **Kind**: global function ## componentDidUpdate() When the component has updated in the DOM, reposition it to where the currently selected node is located now. **Kind**: global function ## componentDidUpdate() When the component has updated in the DOM, reposition it to where the currently selected node is located now. **Kind**: global function ## shouldComponentUpdate() Update for any change in the tree data or directory sorting preference. **Kind**: global function ## handleDragOver() Allow the Drop **Kind**: global function ## render(element, viewModel, projectRoot, actions, forceRender, platform) Renders the file tree to the given element. **Kind**: global function | Param | Type | Description | | --- | --- | --- | | element | DOMNode \| jQuery | Element in which to render this file tree | | viewModel | FileTreeViewModel | the data container | | projectRoot | Directory | Directory object from which the fullPath of the project root is extracted | | actions | ActionCreator | object with methods used to communicate events that originate from the user | | forceRender | boolean | Run render on the entire tree (useful if an extension has new data that it needs rendered) | | platform | string | mac, win, linux | ## addIconProvider(callback, [priority]) Adds an icon provider. The callback is invoked before each working set item is created, and can return content to prepend to the item if it supports the icon. **Kind**: global function | Param | Type | Default | Description | | --- | --- | --- | --- | | callback | function | | Return a string representing the HTML, a jQuery object or DOM node, or undefined. If undefined, nothing is prepended to the list item and the default or an available icon will be used. | | [priority] | number | 0 | optional priority. 0 being lowest. The icons with the highest priority wins if there are multiple callback providers attached. icon providers of the same priority first valid response wins. | ## addClassesProvider(callback, [priority]) Adds a CSS class provider, invoked before each working set item is created or updated. When called to update an existing item, all previously applied classes have been cleared. **Kind**: global function | Param | Type | Default | Description | | --- | --- | --- | --- | | callback | function | | Return a string containing space-separated CSS class(es) to add, or undefined to leave CSS unchanged. | | [priority] | number | 0 | optional priority. 0 being lowest. The class with the highest priority wins if there are multiple callback classes attached. class providers of the same priority will be appended. |