---
title: "Panels definned in OmopViewer"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{configured_panels}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

```{r, echo=FALSE}
library(OmopViewer)
```

The **OmopViewer** package generates shiny apps from predefined configurations, you can check the existent panels using the `defaultPanels()` function:

```{r}
defaultPanels()
```

You can check the details of a panel using `getPanel()` function:

```{r}
getPanel("incidence")
```

The exported object *omopViewerPanels* contains all the defined panels in the package:

```{r}
omopViewerPanels
```

### Panel details stucture

Panel details print shows:

- Title: title of the panel.
- Icon: the icon of the panel (see <https://fontawesome.com/search?ic=free>).
- Data: how data is filtered: it contains the settings to filter for from the original result.
- Filters: which buttons (`shinyWidgets::pickerInput`) will be created to filter the result.
- Content: the different visualisations that are going to be displayed in that panel.

More details on the internal structure and how to define new panels is explained in *adding_new_panels*. To see the internal structure you can use `unclass`:
```{r}
unclass(getPanel("incidence"))
```
