Skip to content

Changing a Control's Type

JadeGit does not seem to capture changes to the class definition for Forms when changing the type of an existing control in the Jade Painter.

In other words, it is only tracking changes against the ddx, and not the cls/scm file.

This desync can cause problems when deploying or in continued development, as Jade and JadeGit repo definitions will be out of sync.

Using v0.12.0.74-gfec5623d (Aug 13 2024 00:52:08)

Steps to reproduce:

  1. Make a form with 2 standard buttons. (Could be any control)
  2. Save the form.
  3. Commit the form into version control.
  4. Make a button subclass
  5. Change 1 button on your form to the subclass by selecting the button, Painter>Controls>Change Type>ButtonSubclass
  6. Save the form
  7. Commit the change
  8. Observe JadeGit and verify patch details

Expected behavior: JadeGit tracks changes to the class definition under schemas/types/form.jox and ddx under schemas/locales/localeid/forms/form.jox. Should contain a change representing a form containing 1 button and 1 SubclassButton in the class def and ddx

Actual behaviour: JadeGit only tracks changes to ddx.

Taking manual extracts of the form show that the changed button has a new type definition in the cls file in addition to the ddx.

I found this because I wanted to change all my buttons to a subclass to introduce new behavior to all of them easily on a click event.

Doing what JadeGit recorded to all my files en masse with a big find/replace (not including the class files, just the stuff under locale, same as JadeGit) did not work, and I believe this is why.

Cheers

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information