Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Immutable.js Support #30

Closed

Commits on Dec 28, 2014

  1. Use renderIntoDocument react test helper

    This allows us to view the jasmine results since the components are
    rendered off screen instead of blowing away the jasmine test runner.
    JustinTulloss committed Dec 28, 2014
    Configuration menu
    Copy the full SHA
    d3a675d View commit details
    Browse the repository at this point in the history
  2. Revert "Use renderIntoDocument react test helper"

    This reverts commit d3a675d.
    JustinTulloss committed Dec 28, 2014
    Configuration menu
    Copy the full SHA
    d567a9b View commit details
    Browse the repository at this point in the history
  3. Support Immutable.js in ReactFireMixin

    ReactFireMixin can be rather slow with many items causing many change
    events which can trigger many rerenders. By using Immutable data
    structures we can cheaply check the entire tree and only rerender the
    components that have actually changed their data.
    
    This patch makes bindAsObject bind an Immutable.Map to the specified
    prop and bindAsArray bind an Immutable.List to the specified prop.
    
    It also changes the tests to verify that the data returned is correct.
    
    Finally, the patch adds a `boundVarsHaveUpdated` method that will
    cheaply check for changed state in the bound state variables. It's
    intended to be used in a more complex `shouldComponentUpdate` method.
    Tests for the new method are added.
    JustinTulloss committed Dec 28, 2014
    Configuration menu
    Copy the full SHA
    44655d0 View commit details
    Browse the repository at this point in the history
  4. Maintain order returned by data snapshots

    - Iterate over snapshots using `forEach` to retain order.
    - Use OrderedMap instead of Map for bindAsObject
    JustinTulloss committed Dec 28, 2014
    Configuration menu
    Copy the full SHA
    09e6eb9 View commit details
    Browse the repository at this point in the history
  5. Fix build to work with npm

    Immutable needs to be imported in environments that enforce that. This
    changes the build to require Immutable appropriately, and lists it as a
    dependency of the node module.
    JustinTulloss committed Dec 28, 2014
    Configuration menu
    Copy the full SHA
    009c993 View commit details
    Browse the repository at this point in the history

Commits on Jan 28, 2015

  1. Save a reference to the snapshot on the immutable value

    This allows us to later get a firebase reference to it and to get it's
    priority, among other nice things.
    JustinTulloss committed Jan 28, 2015
    Configuration menu
    Copy the full SHA
    391dad3 View commit details
    Browse the repository at this point in the history