Fix line endings, various HidingContainer fixes, missing test deps, GrowingGridLayout validation #12
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I originally planned this to fix
HidingCheckBox
, as it is it doesn't really work well for showing widgets if the checkbox is unchecked, probably due to the different nature of truth values in JS and Python. The rest came up when I tested things out:Some previous commit(s) converted widgets.py to DOS line endings. The first commit reverts that.
In
HidingContainerMixin._validate()
, the wrong module was used for raisingValidationError
, the second commit fixes this.Normalize
HidingCheckBox.mapping
keys if they are "well-known" truth values (True
,"true"
, 1,False
,"false"
, 0), so the JS mapping keys matches thechecked
status of the checkbox.Create a
state
object inHidingContainerMixin._validate()
.Allow users to submit forms with hidden fields that have the
required
attribute set: Assuming that a user can't fill in a form field that is hidden, "hide" therequired
attribute under a different name (and "reveal" it again if the field is unhidden).Addendum (and because this builds on the lineending change):
Add missing 'sieve' test dependency
With a
GrowingGridLayout
, the first (hidden, template) child can cause validation to fail, e.g. if a field is marked as required. This change sets itsvalidator
member toNone
in order to skip validation for this child.