# New View, enable selection of custom container

**URL:** <https://forum.inductiveautomation.com/t/new-view-enable-selection-of-custom-container/100430>\
**Category:** Module Development\
**Tags:** perspective\
**Created:** [January 3, 2025, 4:22pm UTC](https://forum.inductiveautomation.com/t/new-view-enable-selection-of-custom-container/100430 "2025-01-03T16:22:26Z")\
**Posts on this page:** 3\
**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:** [January 3, 2025, 4:22pm UTC](https://forum.inductiveautomation.com/t/new-view-enable-selection-of-custom-container/100430/1 "2025-01-03T16:22:27Z")

</div>

What can I do to get my container selectable as a Root Container?

I am setting `isContainer = true` in my JS `ComponentMeta`, is there another step?

 ![java_mXVLt2RNTf](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/a/8a52f9466ec20780ec09ef30f9a5289b642871b7.png)

---

<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:** [January 3, 2025, 9:27pm UTC](https://forum.inductiveautomation.com/t/new-view-enable-selection-of-custom-container/100430/3 "2025-01-03T21:27:45Z")

</div>

Apparently Kotlin interface delegation and Java default methods don't get along.

[https://youtrack.jetbrains.com/issue/KT-18324](https://youtrack.jetbrains.com/issue/KT-18324)

So my conclusion:

1. You must provide a `childPositionSchema` when building your `ComponentDescriptor` for it to be listed as a root container.
2. If you're going to wrap your `ComponentDescriptor` so that you can use `InteractiveSvgIcon` in the designer, don't rely on Kotlin delegation for the methods with default implementations (`childPositionSchema`, `events`, `extensionFunctions`, and `getInitialProps`).

 ![java_x1rric5rxg](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/4/349e7205916f3a6c5302933902710cfdae36bc86.png)

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 3, 2025, 9:30pm UTC](https://forum.inductiveautomation.com/t/new-view-enable-selection-of-custom-container/100430/4 "2025-01-03T21:30:18Z")

</div>

> [@bmusson](#):
>
> Apparently Kotlin interface delegation and Java default methods don't get along.

Heh, been bit by this too.

At the top of my OpcUaModuleHook that would otherwise be a nice one-liner 🙃

```python
class OpcUaModuleHook : GatewayModuleHook by OpcUaModule {

    // Methods with default implementations are not delegated by Kotlin's delegation mechanism, so those are delegated
    // manually.
    // Read the gory details are here: https://youtrack.jetbrains.com/issue/KT-4779#comment=27-2350509

```

I think this is changing, has changed, something, in Kotlin 2.0. Maybe with the right compiler flags.
