In order to have a consistent saving strategy, we want to only save the new objects on form submission. Before form submission, we store the state of the preferences in inputs, so that whenever the form is submitted, all the right objects are created/updated/deleted. For each shortcut, this is three kinds of hidden inputs we should handle (createInputs, updateInputs and deleteInputs). We should make sure to have at all times only one of each for each field.
Here is a quick diagram to make it a bit clearer of what should happen on every update of the shortcut fields.
This message was sent by Atlassian Jira (v9.3.0#930000-sha1:287aeb6)
If image attachments aren't displayed, see this article.