# JBrowseReactAppRootModel

Auto-generated from the @jbrowse/mobx-state-tree model in the source — see the [developer guide](https://jbrowse.org/jb2/docs/developer_guide/) for concepts. [View source](https://github.com/GMOD/jbrowse-components/blob/main/products/jbrowse-react-app/src/rootModel/rootModel.ts).

Holds the top-level state of the embeddable JBrowse React app: the loaded
config, the session, internet accounts and the app menus.

Many properties of the root model are available through the session, and
we generally prefer using the session model (via e.g. `getSession`) over the
root model (via e.g. `getRoot`) in plugin code.

Each section ends with the members a composed model contributes, linked to the page that documents them.

## Properties

5 inherited properties from 2 models:

From [BaseRootModel](../baserootmodel): [`jbrowse`](../baserootmodel#property-jbrowse), [`session`](../baserootmodel#property-session), [`sessionPath`](../baserootmodel#property-sessionpath), [`assemblyManager`](../baserootmodel#property-assemblymanager)

From [InternetAccountsMixin](../internetaccountsmixin): [`internetAccounts`](../internetaccountsmixin#property-internetaccounts)


## Volatiles

| Member | Description |
| --- | --- |
| **version**<br><code>string</code> |  |
| **pluginsUpdated**<br><code>boolean</code> |  |
| **pluginsUpdatedCallback**<br><code>((args: PluginsUpdate) =&gt; void) &#124; undefined</code> | host hook for PluginsUpdated, set from createViewState's `onPluginsUpdated`. Undefined means the host didn't ask to handle it. |

6 inherited volatiles from 2 models:

From [BaseRootModel](../baserootmodel): [`rpcManager`](../baserootmodel#volatile-rpcmanager), [`adminMode`](../baserootmodel#volatile-adminmode), [`error`](../baserootmodel#volatile-error), [`textSearchManager`](../baserootmodel#volatile-textsearchmanager), [`pluginManager`](../baserootmodel#volatile-pluginmanager)

From [RootAppMenuMixin](../rootappmenumixin): [`mutableMenuActions`](../rootappmenumixin#volatile-mutablemenuactions)


## Methods

| Member | Description |
| --- | --- |
| **menus**<br><code>() =&gt; Menu[]</code> |  |

## Actions

| Member | Description |
| --- | --- |
| **setPluginsUpdated**<br><code>() =&gt; void</code> |  |
| **setPluginsUpdatedCallback**<br><code>(callback: (args: PluginsUpdate) =&gt; void) =&gt; void</code> |  |

14 inherited actions from 3 models:

From [BaseRootModel](../baserootmodel): [`setError`](../baserootmodel#action-seterror), [`setSession`](../baserootmodel#action-setsession), [`setDefaultSession`](../baserootmodel#action-setdefaultsession), [`setSessionPath`](../baserootmodel#action-setsessionpath), [`renameCurrentSession`](../baserootmodel#action-renamecurrentsession)

From [InternetAccountsMixin](../internetaccountsmixin): [`initializeInternetAccount`](../internetaccountsmixin#action-initializeinternetaccount), [`createEphemeralInternetAccount`](../internetaccountsmixin#action-createephemeralinternetaccount), [`findAppropriateInternetAccount`](../internetaccountsmixin#action-findappropriateinternetaccount)

From [RootAppMenuMixin](../rootappmenumixin): [`appendMenu`](../rootappmenumixin#action-appendmenu), [`insertMenu`](../rootappmenumixin#action-insertmenu), [`appendToMenu`](../rootappmenumixin#action-appendtomenu), [`insertInMenu`](../rootappmenumixin#action-insertinmenu), [`appendToSubMenu`](../rootappmenumixin#action-appendtosubmenu), [`insertInSubMenu`](../rootappmenumixin#action-insertinsubmenu)


