BaseObservable — Extracting lifecycle and attribute change observability from `Y.Base` #168

Closed
wants to merge 20 commits into
from
Commits on Jun 15, 2012
  1. @ericf

    Move Base.js to BaseEvents.js

    ericf committed Jun 15, 2012
Commits on Jun 22, 2012
  1. @ericf

    Extract BaseEvents from Base.

    ericf committed Jun 22, 2012
    Move the observablility of `Y.Base`'s lifecycle and attribute changes
    into `Y.BaseEvents`, an extension for `Y.BaseCore`.
  2. @ericf
Commits on Jun 25, 2012
  1. @ericf

    Update `Y.Base.create/mix` to work with `Y.BaseCore`.

    ericf committed Jun 25, 2012
    This allows BaseCore to be the root Base-based superclass enabling the
    ability to mix in BaseEvents at runtime. The following is now possible:
    
        Y.Foo = Y.Base.create('foo', Y.BaseCore, []);
    
        // And...
    
        Y.Bar = Y.Base.create('bar', Y.BaseCore, [Y.BaseEvents]);
    
        // Or...
    
        Y.Baz = Y.Base.create('baz', Y.BaseCore, []);
        Y.Base.mix(Y.Baz, [Y.BaseEvents]);
Commits on Sep 26, 2012
  1. @ericf

    Merge branch 'master' into base-events

    ericf committed Sep 26, 2012
    Conflicts:
    	src/base/base-base.properties
    	src/base/build.xml
    	src/base/tests/base-tests.js
  2. @ericf
Commits on Oct 9, 2012
  1. @ericf

    Move Attribute's `_protectAttrs()` method to a static utility method.

    ericf committed Oct 9, 2012
    This moves the protected `_protectAttrs()` method to a static utility
    method on `Y.AttributeCore` and `Y.Attribute`.
Commits on Oct 10, 2012
  1. @ericf
  2. @ericf
  3. @ericf

    Change BaseEvents to mix AttributeEvents and Base to mix AttributeExtras

    ericf committed Oct 10, 2012
    The reduces dependencies of BaseEvents, but does introduce the fact that
    mixing BaseEvents into BaseCore does not equal the functionality of
    Base. This is because Base now explicitly mixes in AttributeExtras.
  4. @ericf
Commits on Oct 12, 2012
  1. @ericf

    Cache computation of Base/BaseCore's `_ATTR_CFG_HASH`.

    ericf committed Oct 12, 2012
    A Base/BaseCore-based class will now compute its `_ATTR_CFG_HASH` on
    demand, when it is needed. If an extension is mixed in via
    `Y.Base.mix()`, then the cached hash will be nulled-out.
  2. @ericf
  3. @ericf

    Rename AttributeEvents -> AttributeObservable and module names.

    ericf committed Oct 12, 2012
    This renames:
    
    * Y.AttributeEvents -> Y.AttributeObservable
    * attribute-events -> attribute-observable
  4. @ericf
  5. @ericf

    Rename BaseEvents -> BaseObservable.

    ericf committed Oct 12, 2012
    This renames:
    
    * Y.BaseEvents -> Y.BaseObservable
    * base-events -> base-observable
Commits on Oct 22, 2012
  1. @ericf
  2. @ericf

    Update Attribute's change history.

    ericf committed Oct 22, 2012
  3. @ericf
  4. @ericf

    Update Base's change history.

    ericf committed Oct 22, 2012