# POC: Perspective Component Slots

**URL:** <https://forum.inductiveautomation.com/t/poc-perspective-component-slots/117584>\
**Category:** Module Development\
**Tags:** perspective\
**Created:** [October 23, 2026, 4:22am UTC](https://forum.inductiveautomation.com/t/poc-perspective-component-slots/117584 "2026-10-23T04:22:24Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [October 23, 2026, 4:22am UTC](https://forum.inductiveautomation.com/t/poc-perspective-component-slots/117584/1 "2026-10-23T04:22:24Z")

</div>

I've got a small proof of concept I'd like to share.

Currently, Perspective components basically fall into one of two categories:

1. Container
2. Not a Container

However, there are situations where a user may want control over how a non-container component is composed.

### Perspective Component Slots

My concept is to allow traditionally non-container components to allow children, then position those children using a `position.slot` property.

This could be useful for components that have an internal structure, like buttons, dropdowns, date pickers, tables, and charts.

---

<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:** [October 23, 2026, 5:10pm UTC](https://forum.inductiveautomation.com/t/poc-perspective-component-slots/117584/2 "2026-10-23T17:10:42Z")

</div>

Everything old is new again 😉

> **[Component.getTreeLock() - Container (Java SE 17 & JDK 17)](https://docs.oracle.com/en/java/javase/17/docs/api/java.desktop/java/awt/Container.html#getComponents())**
>
> Note: This method should be called under AWT tree lock. | declaration: module: java.desktop, package: java.awt, class: Container

I think it's a neat idea. I kinda wish we had done this from the beginning.

---

<div class="post-metadata">

**Author:** ![bmusson](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bmusson/32/87530_2.png) [@bmusson](https://forum.inductiveautomation.com/u/bmusson)\
**Post date:** [October 23, 2026, 5:23pm UTC](https://forum.inductiveautomation.com/t/poc-perspective-component-slots/117584/3 "2026-10-23T17:23:34Z")

</div>

It’s not too late 🙃

---

<div class="post-metadata">

**Author:** ![Steve\_Laubach](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/steve_laubach/32/60900_2.png) [@Steve\_Laubach](https://forum.inductiveautomation.com/u/Steve_Laubach)\
**Post date:** [October 23, 2026, 7:54pm UTC](https://forum.inductiveautomation.com/t/poc-perspective-component-slots/117584/4 "2026-10-23T19:54:31Z")

</div>

I thought this was going to be about slot machines.

I like the idea it's actually about. There are definitely use cases for this.
