This reverts commit f9e890176d.
It pulled updates from transifex *after* we switched translations
to 4.x only mode - which resulted in a lot of translation keys being
moved around. For example, asset-related translations went from
framework to the asset-admin module. The removal of these translations
in 3.x caused translations to go partially missing, since these new
modules are 4.x only.
See https://github.com/silverstripe/silverstripe-framework/issues/7002
1) Use quoted name attribute selector, to work with CheckboxsetField bracketed[] field names
2) Initialize unchecked boxes original values to 0 instead of undefined, as this is the value onchange() expects for unchecked boxes (see line 67)
When you want to add a button to the CMS but don't want LeftAndMain to apply jQuery UI button to it we add the `data-button="true"` attribute to our button.
The `onadd` function checks that this attribute does not exist before calling `this.button()`.
The `onremove` incorrectly checks that this attribute does exist before calling `this.button('destroy')`. This should be checking that this attribute does not exist, just like the `onadd` function.
What this causes is when you have a button with the `data-button` attribute a button is not created, but when you leave the page `destory` gets called on an item which doesn't exist. We end up with the following error:
> Uncaught Error: cannot call methods on button prior to initialization; attempted to call method 'destroy'
The other issue with this logic is buttons are never getting destroyed when `onremove` is called.
The whole issue is caused by a missing `!` in the if statement. This change adds it in to fix the problem.