# How to disable/enable UI tab from UI

**URL:** <https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848>\
**Category:** Dashboard\
**Created:** [10 October 2018 09:16 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848 "2018-10-10T09:16:20Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bambulko](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bambulko/32/3126_2.png) [@Bambulko](https://discourse.nodered.org/u/Bambulko)\
**Post date:** [10 October 2018 09:16 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/1 "2018-10-10T09:16:20Z")

</div>

hi  
I want to disable / enable tabs in dependence on login. it is possible?

thanks

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [10 October 2018 13:59 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/2 "2018-10-10T13:59:57Z")

</div>

Hi,  
not currently - though @shrickus may be looking at a Pull Request that would allow disabling of tabs. Not sure how dynamic this would be and certainly not sure how it would tie into authentication given there is no user authentication support built in.

---

<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:** [10 October 2018 14:21 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/3 "2018-10-10T14:21:28Z")

</div>

I've added two new properties on the `ui_tab` node -- `disabled` and `hidden`. I seem to remember there was a msg-based way to toggle the "collapsed" property of a `ui_group`, but can't recall how. Dave, would that same mechanism work for these new properties? Is there any code that would need to be implemented to "look" for those types of msg?

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [10 October 2018 15:43 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/4 "2018-10-10T15:43:31Z")

</div>

would need some changes to the ui-ui-control.js node to add the extra property(ies) and then also in main.js (around line 504) to grab them and do the right thing. Not sure it needs two properties as once disabled hide is redundant - so maybe just three states ?

---

<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:** [10 October 2018 15:53 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/5 "2018-10-10T15:53:30Z")

</div>

Thanks for doing some of my homework for me...

Actually, I planned on allowing a disabled "page" to show up as non-selectable (greyed-out? lined-through? banned icon?) on the Nav menu. That would be a nice way to let someone know that there are other parts of the dashboard available, but they don't have access to them right now (e.g. they need to input an access code first).

---

<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:** [10 October 2018 15:58 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/6 "2018-10-10T15:58:13Z")

</div>

Oh, that reminds me... I'm also thinking that disabled pages **not** have their source included in the dashboard SPA. I can't see a good reason why _any_ of their embedded code (css, js) should reach the browser, and potentially mess with other pages' rendering or behavior.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [10 October 2018 16:00 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/7 "2018-10-10T16:00:46Z")

</div>

Oh. So disabled is just greyed out. Hidden is navigable but not in menu. So both would then be “really” not available ?

---

<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:** [10 October 2018 16:07 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/8 "2018-10-10T16:07:57Z")

</div>

Right -- if you want to pretend it does not exist then both need to be set to "true".

---

<div class="post-metadata">

**Author:** ![Bambulko](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bambulko/32/3126_2.png) [@Bambulko](https://discourse.nodered.org/u/Bambulko)\
**Post date:** [10 October 2018 16:08 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/9 "2018-10-10T16:08:49Z")

</div>

yes. i want to show tabs after input password in keyboard tab and hidden keyboard tab

---

<div class="post-metadata">

**Author:** ![Bambulko](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bambulko/32/3126_2.png) [@Bambulko](https://discourse.nodered.org/u/Bambulko)\
**Post date:** [12 October 2018 10:33 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/10 "2018-10-12T10:33:21Z")

</div>

it is actually protection against undesirable visitors. turn off the tabs I want, and then turn them on after I sign in.

---

<div class="post-metadata">

**Author:** ![JayGhb](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/jayghb/32/5550_2.png) [@JayGhb](https://discourse.nodered.org/u/JayGhb)\
**Post date:** [11 December 2018 12:24 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/11 "2018-12-11T12:24:13Z")

</div>

Sorry for bringing up an old thread, just wanted to ask:  
this is currently not implemented, right?  
I am looking for exactly the same functionality for "undesirable visitors", as Bambulko mentioned.

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [11 December 2018 14:23 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/12 "2018-12-11T14:23:06Z")

</div>

Correct it's not yet implemented (though a basic PR is now in place so work has commenced)... BUT this is not really something I could recommend for security as the end urls will still be available to all as soon as anyone logs in.

---

<div class="post-metadata">

**Author:** ![davidcgu](https://avatars.discourse-cdn.com/v4/letter/d/e8c25b/32.png) [@davidcgu](https://discourse.nodered.org/u/davidcgu)\
**Post date:** [18 May 2019 23:59 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/13 "2019-05-18T23:59:11Z")

</div>

Independently on the logging is any chance to be done on the fly? I mean for instance to have a button on dashboard that I can configure so a tab is enabled/disabled, the purpose is to make dashboard to load more quick and disable a tab where I have some graphs so all move smoother and lighter to load but having the option at certain moment to enable it directly from same dashboard and allow it to load the data-

Thanks in advance

---

<div class="post-metadata">

**Author:** ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)\
**Post date:** [19 May 2019 07:33 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/14 "2019-05-19T07:33:22Z")

</div>

Yes the ui-control node can show and hide tabs, so you just need a button to send a msg and then trigger the ui-control node appropriately.

---

<div class="post-metadata">

**Author:** ![davidcgu](https://avatars.discourse-cdn.com/v4/letter/d/e8c25b/32.png) [@davidcgu](https://discourse.nodered.org/u/davidcgu)\
**Post date:** [19 May 2019 11:53 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/15 "2019-05-19T11:53:25Z")

</div>

Thanks for your reply, so it means i a tab is hidden is not loaded all info on the explorer? so there is lighter to open?

Regards

---

<div class="post-metadata">

**Author:** ![mcj](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/mcj/32/12943_2.png) [@mcj](https://discourse.nodered.org/u/mcj)\
**Post date:** [15 August 2019 06:22 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/16 "2019-08-15T06:22:24Z")

</div>

(node-red v0.20.7, node-red-dashboard v2.15.5)

I have tried this: {"tab": {"disable": "Tab3"}}  
{"tabs": {"disable": "Tab3"}}  
But it is not working. Is there something I am missing?  
BR

---

<div class="post-metadata">

**Author:** ![Laurent](https://avatars.discourse-cdn.com/v4/letter/l/ce7236/32.png) [@Laurent](https://discourse.nodered.org/u/Laurent)\
**Post date:** [28 September 2020 15:42 UTC](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui/3848/17 "2020-09-28T15:42:54Z")

</div>

Hello and thank you for all your advice available on this forum.  
You said in 2018 that the possibility of deactivating a UI tab was not implemented (post: [https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui](https://discourse.nodered.org/t/how-to-disable-enable-ui-tab-from-ui) / 3848). Is this the case today?  
If not, do you know of a way to prevent a user from accessing a hidden page even if they type the url directly in the browser?
