# BeforeFolderChangeData

If a [script add-in](../../../scripting/script_add-ins)implements the [**OnBeforeFolderChange**](../scripting_events/onbeforefolderchange) event, the method receives a **BeforeFolderChangeData** object before the new folder is read.

| Property Name | Return Type               | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------- | ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| action        | _string_                  | <p>Returns a string indicating the action that triggered the folder read. The string will be one of the following: <em>normal</em>, <em>refresh</em>, <em>refreshsearch</em>, <em>refreshsub</em>, <em>parent</em>, <em>root</em>, <em>back</em>, <em>forward</em>, <em>dblclk</em>.<br>The <em>refreshsub</em> actions means the folder (and sub-folders) are being refreshed while Flat View is on. The other action names should be self-explanatory.</p> |
| initial       | _bool_                    | Returns **True** if this is the first path to be read into this tab (i.e. previously the tab was empty).                                                                                                                                                                                                                                                                                                                                                     |
| path          | _object:_[**Path**](path) | Returns a [**Path**](path) object representing the new path that is to be read.                                                                                                                                                                                                                                                                                                                                                                              |
| qualifiers    | _string_                  | <p>Returns a string indicating any qualifier keys that were held down by the user when the event was triggered.<br>The string can contain any or all of the following: <em>shift</em> <em>ctrl</em>, <em>alt</em>, <em>lwin</em>, <em>rwin</em><br>If no qualifiers were down, the string will be: <em>none</em></p>                                                                                                                                         |
| tab           | _object:_[**Tab**](tab)   | Returns a [**Tab**](tab) object representing the tab that is changing folder.                                                                                                                                                                                                                                                                                                                                                                                |
