# An idea for third-party UI in ui-builder

**URL:** <https://discourse.nodered.org/t/an-idea-for-third-party-ui-in-ui-builder/83196>\
**Category:** Developing Nodes\
**Tags:** uibuilder\
**Created:** [26 November 2023 12:25 UTC](https://discourse.nodered.org/t/an-idea-for-third-party-ui-in-ui-builder/83196 "2023-11-26T12:25:05Z")\
**Posts on this page:** 1\
**Showing post:** 4

<div class="post-metadata">

**Author:** ![TotallyInformation](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/totallyinformation/32/31_2.png) [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Post date:** [27 November 2023 10:11 UTC](https://discourse.nodered.org/t/an-idea-for-third-party-ui-in-ui-builder/83196/4 "2023-11-27T10:11:29Z")

</div>

> [@jackcarey](#):
>
> intended to take the third party config, then wrap/transform it with something predictable like a CSS selector it should replace/append to.

There is something there, The most complex part of creating a new no-code node is dealing with the settings - especially if you want to use typed inputs. I have a standard function that makes it easier in the runtime but I'm wondering if there is something I could do to make the Editor side easier. That is actually one of the worst aspects of Node-RED in my view, creating the edit panels is rather more complex than desirable.

So this has got me thinking as to whether some kind of standard support library for creating node edit panels might be even more useful. I've already started moving some common processing in uibuilder nodes to a common library. Maybe some simple web components to simplify the actual panel HTML, they could possibly even do some of the processing in the component.

If we could make it easier to create edit panels that have flexible typed inputs, that would be a nice addition to Node-RED as a whole, not just UIBUILDER.

> [@jackcarey](#):
>
> The reason for this is that with third-party nodes passing their own `_ui` property around, I _think_ flow designers would then have to use function nodes to alter the `_ui` property to fit their template. Is that correct?

Well, you don't just have to use a function node of course, the advantage of having a standardised data schema is that ANYTHING in Node-RED that can work on a `msg` can manipulate (improve/change/add-to) a `msg._ui` that another node has created. This is incredibly powerful without being too complex.

But here, perhaps might be another approach. A node that can easily be used to manipulate certain aspects of a msg containing a `_ui` property. Specifically, one that can add/change the top-level parent. At the moment, the `uib-update` node is designed to update at the front-end, not in Node-RED. So another node that can work on the `_ui` property in Node-RED would indeed be very useful.

Nodes that create `_ui` properties could then not only send direct to the front-end but could instead (or as well as) use standard Node-RED capabilities for storing and reuse as templates. (a vague thought occurs about a node designed to manage templates - need to think about that a bit more).

So that is something interesting I could fairly easily add to uibuilder. Not sure if `uib-integrate` would still be the right name though?

Anyway, thoughts on this?

---

_[View the full topic](https://discourse.nodered.org/t/an-idea-for-third-party-ui-in-ui-builder/83196)._
