# Namespace: ui

## vcs.ui

### Classes

Mixins

### Namespaces

components
notifications
store

### Members

#### vcs.ui.router{VueRouter}

### Methods

#### vcs.ui.registerPlugin(pluginOptions)

  Registers a plugin

  Name | Type | Description
  --- | --- | ---
  `pluginOptions` | vcs.ui.PluginOptions |

### Type Definitions

#### vcs.ui.LocationBasedPluginOptions{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `searchButton` | vcs.ui.PluginButton | undefined |
  `searchComponent` | vcs.ui.NamedPluginComponent | undefined |
  `contextMenuButton` | vcs.ui.PluginButton | undefined | not yet implemented

#### vcs.ui.NamedPluginComponent{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `name` | string |
  `component` | Vue |

#### vcs.ui.PluginButton{string} {Array.<string>} {vcs.ui.PluginComponent}

#### vcs.ui.PluginComponent{Vue} {Array.<Vue>}

#### vcs.ui.PluginOptions{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `name` | string | Each plugin must have a name. This name must be unique for plugins.
  `headerButton` | vcs.ui.PluginButton | undefined |
  `toolboxButton` | vcs.ui.PluginButton | undefined |
  `widgetButton` | vcs.ui.PluginButton | undefined |
  `mapButton` | vcs.ui.PluginButton | undefined |
  `legendItem` | vcs.ui.NamedPluginComponent | Array.<vcs.ui.NamedPluginComponent> | undefined |
  `mapComponent` | Vue | Array.<Vue> |
  `locationBasedPlugin` | vcs.ui.LocationBasedPluginOptions | Array.<vcs.ui.LocationBasedPluginOptions> | undefined |
  `search` | vcs.ui.SearchOptions | undefined |
  `routes` | Array.<vue.routes> | undefined |
  `store` | vcs.ui.StoreOptions | undefined |

#### vcs.ui.ResultItem()

#### vcs.ui.ResultItemComponent{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `resultItemConstructor` | function |
  `component` | Vue |

#### vcs.ui.SearchInterface{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `search` | function | gets the search string as the first argument, must return a Promise
  `clear` | function |
  `autocomplete` | function | undefined | gets the text input on change, must return a Promise
  `suggestions` | Array.<string> | undefined |
  `currentResults` | Array.<vcs.ui.ResultItem> | instances of ResultItem to be rendered

#### vcs.ui.SearchOptions{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `search` | vcs.ui.SearchInterface | undefined |
  `resultItem` | vcs.ui.ResultItemComponent | Array.<vcs.ui.ResultItemComponent> | undefined |

#### vcs.ui.StoreOptions{Object}

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `state` | Object |
  `mutations` | Object | undefined |
  `actions` | Object | undefined |
  `getters` | Object | undefined |