1. 30 Sep, 2015 3 commits
  2. 29 Sep, 2015 15 commits
  3. 28 Sep, 2015 5 commits
    • Devon Carew's avatar
      Merge pull request #1375 from devoncarew/customize_dartdoc · ebd7fa3e
      Devon Carew authored
      customize the generated dartdoc to look like flutter.io
      ebd7fa3e
    • Hixie's avatar
      Require giving a GlobalKey to UniqueComponent · 5487b954
      Hixie authored
      Having UniqueComponent automatically generate its own key is a trap. If
      anyone ever creates a UniqueComponent in a build function (rather than
      ahead of time) and forgets to pass a key, then that entire subtree is
      going to be rebuilt, including layout, every time it's updated. Since
      there's basically no way for us to catch this, we should at least force
      the author to see the explicit "new GlobalKey()" call in their code.
      5487b954
    • Hixie's avatar
      Make the checkbox in the stocks popup menu work. · 066768f0
      Hixie authored
      Tapping on the menu item didn't animate the checkbox because the menu
      takes 300ms to animate entirely away while the checkbox takes 200ms to
      animate checked, and since the item with the checkbox was at the bottom,
      we were only seeing about 60ms of the entire checkbox animation, which
      isn't enough to notice it. So I moved it to the top of the menu.
      
      Tapping on the checkbox didn't animate because nothing caused the menu
      to rebuild when the callback was invoked. To trigger a rebuild, I now
      call navigator.setState() explicitly, after changing out local state.
      
      To make tapping the checkbox remove the menu, I also explicitly call
      navigator.pop() in the code that handles the check. (I still explicitly
      change the checkbox to show that that's possible. In principle one could
      just treat the checkbox as an inert widget that happens to trigger pop,
      and do all the checking/unchecking in the switch statement.)
      
      I also made some minor style tweaks to files I was looking at while
      dealing with this issue.
      066768f0
    • Hixie's avatar
      Make the FAB move up when a Snack Bar slides in. · 56d40334
      Hixie authored
      This changes how SnackBar works so you can use it anywhere, not just on
      the bottom edge of the screen (it used to rely on overflowing its bounds
      and having negative offsets... I'm not really sure how hit testing
      worked on it before!).
      
      To do this I introduced a new RenderBox, RenderOverflowBox, that lets
      you set your child's size independent of your own. I needed this so that
      the snack bar could use a SquashTransition to change its size, while not
      affecting the layout of its child. This is exposed as OverflowBox in
      fn3. I'm not sure if it's the best API. It doesn't let you position the
      child (which is an issue if the size you give is smaller), it doesn't
      let you give a loose constraint (which maybe you might want?). But it
      handles this use case, so for now it's probably ok.
      
      Making the FAB get repositioned out of the way of the Snack Bar is now
      done in the Scaffold, which is in charge of positioning both of those
      and is the place that knows that both exist.
      56d40334
    • Adam Barth's avatar
      Actually notify GlobalKey listeners in fn3 · 64dfb849
      Adam Barth authored
      This patch makes a number of changes:
      
      1) buildDirtyComponents now prevents all calls to setState, not just those
         higher in the tree. This change is necessary for consistency with
         MixedViewport and HomogeneousViewport because those widgets already build
         subwidgets with that restriction. If the "normal" build didn't enforce that
         rule, then some widgets would break when put inside a mixed or homogeneous
         viewport.
      
      2) We now notify global key listeners in a microtask after beginFrame. That
         means setState is legal in these callbacks and that we'll produce another
         frame if someone calls setState in such a callback.
      64dfb849
  4. 27 Sep, 2015 3 commits
  5. 26 Sep, 2015 9 commits
  6. 25 Sep, 2015 5 commits
    • Adam Barth's avatar
      Add Mimic to fn3 · 93f1ba5d
      Adam Barth authored
      93f1ba5d
    • Adam Barth's avatar
      Fix indent · 24171915
      Adam Barth authored
      24171915
    • Adam Barth's avatar
    • Adam Barth's avatar
      Add an onScroll callback to Scrollable · ff567695
      Adam Barth authored
      ff567695
    • Hixie's avatar
      fn3: Port Card Collection demo · a765507c
      Hixie authored
      Also:
      
      - Make Dismissable report when it starts squashing, since otherwise we
        don't invalidate the list early enough and it gets mad that it wasn't
        told one of its children had changed size.
      
      - Have Dismissable check that it gets removed after it's dismissed, to
        avoid having lots of redundant widgets around.
      
      - Start tracking the height of each child of a MixedViewport, so that we
        don't accumulate floating point errors when a child jiggles up and down.
      
      - Have _childOffsets reuse its storage space rather than newing up a new
        copy each time we reset the cache.
      
      - Avoid double-updating child sizes when handling mixed viewport invalidations.
      a765507c