# Dashboard access tab by name instead of id

**URL:** <https://discourse.nodered.org/t/dashboard-access-tab-by-name-instead-of-id/50056>\
**Category:** Dashboard\
**Tags:** node-red-dashboard\
**Created:** [23 August 2021 12:46 UTC](https://discourse.nodered.org/t/dashboard-access-tab-by-name-instead-of-id/50056 "2021-08-23T12:46:46Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Simon01011](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Simon01011](https://discourse.nodered.org/u/Simon01011)\
**Post date:** [23 August 2021 12:46 UTC](https://discourse.nodered.org/t/dashboard-access-tab-by-name-instead-of-id/50056/1 "2021-08-23T12:46:46Z")

</div>

Hello everybody!

I know I can access my dashboard with `localhost:1880/ui/!#/` and I can access a specific tab by attaching its id at the end.

What I'd like to do: access a tab by its name, so that I don't have to adjust my bookmarks everytime I play around with node-red and adding/removing tabs. I know this might be ambiguous if two or more tabs have the same name, but that can be avoided by the user.

A work-around I found: use `localhost:1880/ui/!#/0?tab=Home` and evaluate in a function node:

```auto
if (msg.payload === "change") {
    if (msg.tab === 0) {
        return msg.params;
    }
    else {
        return [];
    }
}

```

If the output is fed into a ui\_control node, it will jump to the named tab. But the `params` object is not removed and even a subsequent call of `localhost:1880/ui/!#/0` will jump to the tab named "Home"...

Is there a solution to this? Or is there even a better solution for my desire? Thanks in advance!

---

<div class="post-metadata">

**Author:** ![shrickus](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/shrickus/32/517_2.png) [@shrickus](https://discourse.nodered.org/u/shrickus)\
**Post date:** [23 August 2021 16:29 UTC](https://discourse.nodered.org/t/dashboard-access-tab-by-name-instead-of-id/50056/2 "2021-08-23T16:29:53Z")

</div>

Seems like a reasonable request -- but I cannot speak to whether the code supports that.

What I have done when I need to control the UI pages is to either

1. create an `http in` with the named endpoint, then render and return the page to be displayed
2. install `node-red-contrib-uibuilder` and set up my own dirs/files for the pages in my app

I realize these are probably not good answers for you, since it sounds like you already have a dashboard solution in place -- but just in case you had not looked at using uibuilder, there ya go...

---

<div class="post-metadata">

**Author:** ![Simon01011](https://avatars.discourse-cdn.com/v4/letter/s/e68b1a/32.png) [@Simon01011](https://discourse.nodered.org/u/Simon01011)\
**Post date:** [23 August 2021 22:35 UTC](https://discourse.nodered.org/t/dashboard-access-tab-by-name-instead-of-id/50056/3 "2021-08-23T22:35:10Z")

</div>

Thank you, Steve!

I think I will give your first method a try. The second one is a little bit too much for me. I'm struggling enough to make my flows work. And I'm very happy to have a simple yet sufficient dashboard set up that works 😀

Nevertheless, maybe my idea is worth thinking about

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [22 September 2021 22:35 UTC](https://discourse.nodered.org/t/dashboard-access-tab-by-name-instead-of-id/50056/4 "2021-09-22T22:35:49Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
