# Apply button on node Edit panel

**URL:** <https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005>\
**Category:** General\
**Created:** [1 September 2019 17:18 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005 "2019-09-01T17:18:16Z")\
**Posts on this page:** 7\
**Page:** 3

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [18 September 2026 09:34 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/41 "2026-09-18T09:34:16Z")

</div>

In theory, yes, we could simply call both mechanisms to get changes made, but there are two consequences to this:

- After `oneditsave`, the DOM is destroyed. What happens if an `oneditsave` function modifies the DOM?
- `oneditprepare` also has its own logic; what happens if it isn't called even though the changes have been validated? e.g. some nodes apply different logic based on legacy constraints.

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [18 September 2026 09:39 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/42 "2026-09-18T09:39:57Z")

</div>

> [@GogoVega](#):
>
> - After `oneditsave`, the DOM is destroyed. What happens if an `oneditsave` function modifies the DOM?

I was just going to edit my comment and point that out too - `this.editor.destroy()` is a favourite of mine in the `oneditsave` callback.

Ok, so it has to do a full done-button-pressed cycle ...

Has anyone mentioned the shortcut Ctrl/Cmd-d to deploy? That's what I tend to do to speed up deployment. If this apply button will cause edit panel to close&open, I won't want to use it since that would be too much visual distraction.

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [18 September 2026 09:47 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/43 "2026-09-18T09:47:46Z")

</div>

> [@gregorius](#):
>
> I won't want to use it since that would be too much visual distraction.

As I was saying, the end user won't see edit boxes closing and reopening.

> [@gregorius](#):
>
> the shortcut Ctrl/Cmd-d to deploy? That's what I tend to do to speed up deployment.

I don't see how you can deploy the changes without closing the edit box; the node is **only** modified when "Done" is called.

---

<div class="post-metadata">

**Author:** ![gregorius](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gregorius/32/73816_2.png) [@gregorius](https://discourse.nodered.org/u/gregorius)\
**Post date:** [18 September 2026 10:04 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/44 "2026-09-18T10:04:24Z")

</div>

> [@GogoVega](#):
>
> I don't see how you can deploy the changes without closing the edit box; the node is **only** modified when "Done" is called.

I don't have the use case, editor, save, deploy, reopen, edit, save, deploy, reopen, edit, save, deploy, reopen ... that's not how I work.

I know that's the only way to deploy changes to the server, i.e., by closing the edit panel. I can understand how folks can get into a loop but I think it's better to prevent folks from getting into a loop of constantly editing + deploying - because obviously something is not being understand for it to be continually broken and needing fixing or why would you enter such a loop? So being forced to take a longer path might lead to reflection and finding the true fix to the problem.

> [@GogoVega](#):
>
> As I was saying, the end user won't see edit boxes closing and reopening.

How are you going to do that? Do sound non-trivial but then again, I'm not a JS/CSS person.

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [18 September 2026 10:12 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/45 "2026-09-18T10:12:43Z")

</div>

> [@GogoVega](#):
>
> I propose adding a new _Apply changes_ button that closes all editing boxes (by calling `done`), performs the deployment, and finally reopens all editing boxes while restoring the last position.

What will happen if there is a syntax error, which would normally bring up a Deploy warning and ask for confirmation or cancel?

---

<div class="post-metadata">

**Author:** ![GogoVega](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/gogovega/32/71313_2.png) [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Post date:** [18 September 2026 10:17 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/46 "2026-09-18T10:17:37Z")

</div>

See my GIF 😉 There is an intentional error in one of the nodes.

> [@GogoVega](#):
>
> ![ezgif-564f7e366249073d](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/f/1/f134f1d7b03f02468e81811d49a62893511351ae.gif)

Yeah sorry for the French editor 😅

---

<div class="post-metadata">

**Author:** ![Colin](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/colin/32/17040_2.png) [@Colin](https://discourse.nodered.org/u/Colin)\
**Post date:** [18 September 2026 10:31 UTC](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005/47 "2026-09-18T10:31:34Z")

</div>

OK, thanks.

[Previous page](https://discourse.nodered.org/t/apply-button-on-node-edit-panel/15005.md?page=2)
