# Hide Conditional Property

**URL:** <https://forum.inductiveautomation.com/t/hide-conditional-property/84971>\
**Category:** Module Development\
**Tags:** vision\
**Created:** [January 30, 2024, 6:07pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971 "2024-01-30T18:07:13Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [January 30, 2024, 6:07pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/1 "2024-01-30T18:07:13Z")

</div>

Is it possible to hide a property on a vision component based on a condition?  
I know I can use the `HIDDEN_MASK` in the BeanInfo class, but that hides the property permanently.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [January 30, 2024, 6:12pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/2 "2024-01-30T18:12:32Z")

</div>

No. The only filtering available is static based on the "mask level" (expert/standard/basic) and that concept is planned to be removed in 8.3 anyways.

---

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [January 30, 2024, 6:34pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/3 "2024-01-30T18:34:59Z")

</div>

Can't I fire this somehow to change the Mask as required?

```auto
findProperty("property").setHidden(variable);

```

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 30, 2024, 6:36pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/4 "2024-01-30T18:36:24Z")

</div>

There's only **one** bean for the entire designer. There isn't a separate one for every component instance placed on a window or template.

---

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [January 30, 2024, 6:37pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/5 "2024-01-30T18:37:50Z")

</div>

I see. That helps, thanks guys.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 30, 2024, 6:39pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/6 "2024-01-30T18:39:46Z")

</div>

Consider converting your component into an abstract class and making two "versions", each locked to the corresponding condition. The subclasses would be concrete and could have their own beans.

---

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [January 30, 2024, 6:46pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/7 "2024-01-30T18:46:53Z")

</div>

That sounds like a lot of work for what it's worth. I was just hoping to clean up the property editor a bit, since there are quite a few properties that are only useful if another property is set to true. And there are multiple sets like that.

For example:  
Properties 1 & 2 are only useful if property 10 is true.  
Properties 3 & 4 are only useful if property 11 is true.

So if properties 10 & 11 are false, then may as well hide properties 1-4.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 30, 2024, 6:49pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/8 "2024-01-30T18:49:08Z")

</div>

If you look at IA's own EasyChart, you find a bunch of properties that only apply in realtime vs. historical vs. manual mode. They're all in the designer. 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![Mathias\_Melling](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mathias_melling/32/67682_2.png) [@Mathias\_Melling](https://forum.inductiveautomation.com/u/Mathias_Melling)\
**Post date:** [January 30, 2024, 6:51pm UTC](https://forum.inductiveautomation.com/t/hide-conditional-property/84971/9 "2024-01-30T18:51:22Z")

</div>

Yeah, there are a lot of properties in that EasyChart. My component only has a third of that, so I'll stop whining, Haha 😀
