# Menu Navigation

The sidebar layout helps you stay organized by providing a clear and structured view of all your apps, reducing clutter and confusion. By grouping your apps together in the sidebar, navigation simplifies the process of finding and selecting the app you need to use.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FNKeye8Fm5bq2RNtq7cwz%2Fimage.png?alt=media&#x26;token=adafd3e5-4672-401a-95fa-2bdb7b5ecfd0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FMd53JgJ7fFcnhRn8pbDm%2FAddNewMenu.gif?alt=media&#x26;token=fa30aae1-c497-4bf7-877e-4fcfefcde114" alt=""><figcaption></figcaption></figure>

## Menu items

In the **Navigation** editor, click **+ New** to add menu items.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FnBKt3PNNzcZcwGMCKA4T%2Fimage.png?alt=media&#x26;token=13831244-ae9a-4ea7-8433-76e64db80606" alt=""><figcaption></figcaption></figure>

Select a menu item, choose the app to navigate to, and change the label and icon if needed. The app is displayed on the canvas in real time.

### Add submenu items

To add submenu items, click `···` > **Add submenu item**, or drag `⋮⋮` to make one menu item subordinated to another.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FsNH3ppuUGbZ489H92Xgw%2Fimage.png?alt=media&#x26;token=12889622-ae90-4dff-acf2-0c27070e0295" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
A parent menu item can only expand or fold the submenu items. You cannot link an app to it.

When you delete a parent menu item, all submenu items under it are deleted at the same time.
{% endhint %}

### Properties

#### Menu - Manual

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FqVjMnXEy5Ss4ns5MehAb%2FNavMenuProp.gif?alt=media&#x26;token=04899bd3-f859-46cf-b20b-e9000559d21c" alt=""><figcaption></figcaption></figure>

| Property | Description                                                                                                                                                                                                                                                                                                                    |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Action   | <p>Go to an other app - this will take open the specified app for the menu item click.<br>Open a URL - this will open the mentioned URL upon the menu item click.<br><br>The visibility of items is explained in the <a href="https://docs.appizap.ae/build-apps/navigation#visibility-of-menu-items">sections below</a>. </p> |
| Label    | The text to be displayed to represent the menu item.                                                                                                                                                                                                                                                                           |
| Icon     | Choose one from the set of icons that will be displayed as a prefix logo.                                                                                                                                                                                                                                                      |
| Hide     | This sets whether this item has to be displayed on the screen when the program is loaded. This shows/hides the option both on desktop and mobile devices.                                                                                                                                                                      |

#### Menu - JSON

Provide the content for the menu items as a JSON array.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2F9r75uPQ6FIjW8MoidMej%2FNavMenuJsonProp.gif?alt=media&#x26;token=ecba5915-4632-4ae2-beac-3674a4f18973" alt=""><figcaption></figcaption></figure>

```json
[
  {
    "label": "Menu Item 1",
    "key": "menu-item-1",
    "icon": "https://cdn-icons-png.flaticon.com/128/149/149338.png",
    "action": {
      "url": "https://docs.appizap.ae/",
      "newTab": false
    },
    "children": [
      {
        "label": "Submenu Item 1",
        "key": "submenu-item-11",
        "icon": "",
        "action": {
          "url": "https://docs.appizap.ae/",
          "newTab": false
        }
      },
      {
        "label": "Submenu Item 2",
        "key": "submenu-item-12",
        "icon": "",
        "action": {
          "url": "https://docs.appizap.ae/",
          "newTab": false
        }
      }
    ]
  },
  {
    "label": "Menu Item 2",
    "key": "menu-item-2",
    "icon": "https://cdn-icons-png.flaticon.com/128/149/149206.png",
    "action": {
      "url": "https://docs.appizap.ae/",
      "newTab": true
    }
  }
]
```

| Property | Description                                                                                                                                                                                                                                                                                                                    |
| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Action   | <p>Go to an other app - this will take open the specified app for the menu item click.<br>Open a URL - this will open the mentioned URL upon the menu item click.<br><br>The visibility of items is explained in the <a href="https://docs.appizap.ae/build-apps/navigation#visibility-of-menu-items">sections below</a>. </p> |
| Label    | The text to be displayed to represent the menu item.                                                                                                                                                                                                                                                                           |
| Icon     | Provide the URL-source path of the icon to be rendered.                                                                                                                                                                                                                                                                        |
| Hide     | Provide the boolean value to show/hide the menu item.                                                                                                                                                                                                                                                                          |

**Width**

Enter a number value to set the width of the widget. It can be set in terms of pixels and percentage.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FDJpJRfceJK0teRb4lNUO%2Fimage.png?alt=media&#x26;token=a1f5f969-4e35-4704-9f3d-5915000dfa14" alt=""><figcaption></figcaption></figure>

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FqYbEld0IQVK4nu1YhbNH%2Fimage.png?alt=media&#x26;token=6f6664e3-4a79-42b6-9a5c-d7addf894437" alt=""><figcaption></figcaption></figure>

#### Position

`Inline` - keeps the menus and their submenus in collapsible and retrievable style.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FnvjqpB4KXLMYHR9n5R0q%2Fimage.png?alt=media&#x26;token=706f9cdb-99ea-4f55-a7a2-95af1eee191c" alt=""><figcaption></figcaption></figure>

`Vertical` - keeps the menus and their submenus as a parent-child tree structure.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2F1euWgNZTDG8fIliBLNYt%2Fimage.png?alt=media&#x26;token=a7bbe382-95c6-4983-8310-3b862489117f" alt=""><figcaption></figcaption></figure>

### Menu Style

<table><thead><tr><th width="218" align="center">Property</th><th>Description</th></tr></thead><tbody><tr><td align="center">Background</td><td>Users can change the colour of the text background using this property. It has all the RGB colour ranges to pick from. It is recommended to use a corresponding background colour that shows the font clearly.</td></tr><tr><td align="center">Border Color</td><td>Set the colour to the border lines. The border lines will be shown only if that is enabled.</td></tr><tr><td align="center">Border Radius</td><td>This sets the radius of the widget's corners, enabling rounded corners on the widget. This value is defined in "px" terms.</td></tr><tr><td align="center">Text</td><td>Set the colour of the options' text. Recommended to set in contrast with the background.</td></tr><tr><td align="center">Margin</td><td>This value is set in terms of "px" number which creates the space between the border and the content of the widget.</td></tr><tr><td align="center">Padding</td><td>This value is set in terms of "px" number which creates the space between the border and outer elements.</td></tr></tbody></table>

### Menu Item Style

#### Normal

<table><thead><tr><th width="218" align="center">Property</th><th>Description</th></tr></thead><tbody><tr><td align="center">Background</td><td>Users can change the colour of the text background using this property. It has all the RGB colour ranges to pick from. It is recommended to use a corresponding background colour that shows the font clearly.</td></tr><tr><td align="center">Border Color</td><td>Set the colour to the border lines. The border lines will be shown only if that is enabled.</td></tr><tr><td align="center">Border Radius</td><td>This sets the radius of the widget's corners, enabling rounded corners on the widget. This value is defined in "px" terms.</td></tr><tr><td align="center">Text</td><td>Set the colour of the options' text. Recommended to set in contrast with the background.</td></tr><tr><td align="center">Margin</td><td>This value is set in terms of "px" number which creates the space between the border and the content of the widget.</td></tr><tr><td align="center">Padding</td><td>This value is set in terms of "px" number which creates the space between the border and outer elements.</td></tr></tbody></table>

#### Hover

<table><thead><tr><th width="218" align="center">Property</th><th>Description</th></tr></thead><tbody><tr><td align="center">Background</td><td>Users can change the colour of the text background using this property. It has all the RGB colour ranges to pick from. It is recommended to use a corresponding background colour that shows the font clearly.</td></tr><tr><td align="center">Border Color</td><td>Set the colour to the border lines. The border lines will be shown only if that is enabled.</td></tr><tr><td align="center">Text</td><td>Set the colour of the options' text. Recommended to set in contrast with the background.</td></tr></tbody></table>

#### Active

<table><thead><tr><th width="218" align="center">Property</th><th>Description</th></tr></thead><tbody><tr><td align="center">Background</td><td>Users can change the colour of the text background using this property. It has all the RGB colour ranges to pick from. It is recommended to use a corresponding background colour that shows the font clearly.</td></tr><tr><td align="center">Border Color</td><td>Set the colour to the border lines. The border lines will be shown only if that is enabled.</td></tr><tr><td align="center">Text</td><td>Set the colour of the options' text. Recommended to set in contrast with the background.</td></tr></tbody></table>

### Add URL parameters

Add URL query parameters or hash parameters to a menu item with `key` and `value`.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2F0DWDy2WhNdOREF5F5USr%2Fimage.png?alt=media&#x26;token=4df348bd-e427-486c-b5fe-8225488d71d8" alt=""><figcaption></figcaption></figure>

Then click the menu item on the canvas, and the parameters are appended to the URL of the app to be opened. You can check in **Globals** tab in the left pane.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2F9sShXYUZUaluuYxwnfT4%2Fimage.png?alt=media&#x26;token=be3fd59b-be83-4b4c-bc0d-d7c08af42448" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
To reference the url parameters, use `{{url.query.key1}}` or `{{url.hash.key1}}` in your app.
{% endhint %}

### Visibility of menu items

By default, a menu item is hidden for users without app permission. When you toggle this option off, the users can see the menu item but cannot view the app it references to.

<figure><img src="https://125370873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FzdpN2Lz0hzXpnNScDzVt%2Fuploads%2FXJlkM82lwrQrEVRdR0gg%2Fimage.png?alt=media&#x26;token=864c5343-3f62-49ee-9cd7-2595bee4aabe" alt=""><figcaption></figcaption></figure>

## Permissions

The authorization levels required for accessing navigational features are identical to those needed for interacting with modules and applications.
