• Justin McCandless's avatar
    Fix TextField height issues (#27205) · 9e9f48da
    Justin McCandless authored
    * Create new TextField attribute to control maxLength behaviour
    
    * Create test case for maxLinesIncrementalHeight
    
    * fix maxLinesIncrementalHeight set method
    
    * fix editable_test.dart
    
    * Just introducing some proposed API additions, renaming to expands
    
    * Pass minLines and expands through to child widgets and validate
    
    * minLines can't be null, and expands can't be true when maxLines is 1
    
    * Implement minLines and maxLines height sizing logic
    
    * Simplify minLines validation logic
    
    * expands parameter proof of concept
    
    * min/max mixup bug fix, and tests work with expands false
    
    * Test expands=true cases, and fix textPainter.height being out of date
    
    * Test all behavior matrix cases
    
    * min/max assertion more strict, can't be equal
    
    * Tests work that were missing expands serialization
    
    * Action sheet tests no longer fail due to rounding error
    
    * TextFieldFocus test no longer mysteriously fails
    
    * TODOs for making expands nullable. Will depend on how Expanded wrapping works
    
    * Expanded growth happens when expanded is true and maxLines is null
    
    * Test Expanded wrapper
    
    * No more overflow when wrapped in Expanded
    
    * Docs improvements
    
    * expands can be null
    
    * Simplify error cases to support existing behavior
    
    * Docs examples and other docs cleanup
    
    * Expansion up to perfectly meet the parent size
    
    * Fix analyze null error
    
    * Fix test after move to nullable expands
    
    * minLines defaults to null
    
    * expands is now exclusively for expanding to parent height and not growth between min and max
    
    * _layout rewritten to handle max height. Need to fix prefix tests and
    reenable expands
    
    * Tests for textfield overflowing parent
    
    * layoutLineBox is documented and private
    
    * expands works in new _layout
    
    * _layout return numbers seem to perfectly match original _layout
    
    * inputWidth comment after trying it out and failing tests
    
    * Fix analyze errors
    
    * WIP prefix/suffix do affect height
    
    * Prefix/suffix and icons affect height, tests pass, but I'm still visually verifying identical to original
    
    * Tall prefix test that verifies pixel perfect layout
    
    * Fix overflowing edge case and test it
    
    * Clean up comments, old code, and todos
    
    * Changing _expands causes relayout. Wasnt able to figure out how to test though...
    
    * Clean up code review comments
    
    * Fix misalignment when tall prefix and border, and clean up related test
    
    * Simple code review cleanup
    
    * Bring back inputWidth to _layout method
    
    * Fix rounding errors showing up in mac tests
    
    * Fix flake by reordering tests. Without this, the dreaded intrinsicwidth flake is reproducible 50% of the time on my machine.
    
    * Fix more rounding error mac tests
    9e9f48da
text_field_focus_test.dart 10.3 KB