function onEditSave(node) {
    // Get rid of the editor
    if ( uiace.editorLoaded === true ) {
        uiace.editor.destroy()
        delete uiace.editor
        uiace.editorLoaded = false
    }

    // Check for url rename, set/reset oldUrl - note that validation of new url is done in the validate function
    // If the url has changed (browser val != node val), process the change
    if ( $('#node-input-url').val() !== node.url ) {
        urlChange(node)
    } else if ( node.oldUrl !== undefined ) {
        // URL not changed so reset the oldUrl
        node.oldUrl = undefined
    }

    // If something has changed or if something must change - a deploy is needed so update the deployed version
    if ( node.changed || node.mustChange ) node.deployedVersion = RED.settings.uibuilderCurrentVersion
} // ---- End of onEditSave ---- //
Handles the save event when editing a node in the Node-RED editor.

@param {object} node - The node being edited.

@description
This function performs the following tasks:
1. Logs the current context (`this`).
2. Destroys the ACE editor instance if it is loaded.
3. Checks if the URL has been changed and updates the old URL if necessary.
4. Updates the IDE edit link if the URL has changed.
5. Logs the URL change.
6. Resets the old URL if it is no longer needed.
7. Updates the deployed version if there are changes or if an update is required.