Releases: VoliJS/NestedTypes
Releases · VoliJS/NestedTypes
BackboneJS compatibility layer for Type-R
Consult with Type-R docs about new features. Most important one is aggregation tree and shared attributes.
https://volicon.github.io/Type-R/Getting_Started.html
WARNING: NestedTypes 1.3 code won't work without refactoring.
Bug fixes
1.3.0
- Huge performance improvements.
- Abstract models and collection support (will be documented soon, some info is here).
- Declarative attribute-level validation.
- Mixins like in React's
createClass
(will be documented, but it will just work as you expect). - First-class hierarchical stores (very cool, but here's the spearate manual needed, which is tbd).
- Bug fixes
- Core changes:
- Version tokens for models and collections making possible precise and efficient cache invalidation.
It makes possible things like React's "pure render" optimization and lazy evaluation with memoization like in new validation. - Events, REST, underscore support, and validation is refactored to mixins.
- Removed unused backbone code. Now NestedTypes contains backbone's shim with View, Router and History for backward compatibility purposes.
- NestedTypes passes modified backbone 1.2 test suite.
- Version tokens for models and collections making possible precise and efficient cache invalidation.
- Experimental features (may be documented or removed later):
- attribute proxies (has.proxy)
- hardrefs (Model.take and Collection.take)
fixed .has.watcher
v1.2.2 Merge remote-tracking branch 'refs/remotes/origin/develop'
React integration support
nam install nestedreact
https://github.com/Volicon/react-backbone.glue/
Standalone build with React integration features
React integration is in nestedreact
npm package.
https://github.com/Volicon/react-backbone.glue/
minor fixes
Merge remote-tracking branch 'refs/remotes/origin/develop' Conflicts: package.json
Fixed Backbone.ajax override
1.1.7 proxied Backbone.ajax
Fixed Nested.$ and Nested.sync override
1.1.6 Merge remote-tracking branch 'refs/remotes/origin/develop'
Standalone build (backbone 1.1.2 linked in)
- Fixed incompatibilities with backbone 1.2.x by removing backbone dependency, effective now and forever. Currently, stable backbone 1.1.2 is linked in.
- npm package name is changed to just 'nestedtypes'. Thus,
npm install nestedtypes
. - Can be used as drop-in backbonejs replacement in your project.
- Models has reference to the parent model through
this._owner
- When the same model is shared between tho other models, attempt to serialize the model which is not an owner will result in [Serialization Error] warning. In most of the cases, this warning is the sign of weird errors, because after loading data this shared models won't be shared any more.
- Collections has new
changes
event, which can be used directly on collection instead of 'add remove change reset'. It's efficient, and fired only once during compound changes. - There are Collection.transaction( func ) method which can be used ad-hoc to group sequence of changes coming from inside of func to the single transaction, thus, firing just one 'changes' event. Helpful for reducing an amount of renders.
- Every method declared on Collection can be turned to be transactional when its definition is wrapped in Nested.transaction.
- Experimental features:
- lazily evaluated hard references
Model.take( ref )
andCollection.take( ref )
. ref is the reference like in - attribute proxies for mixing in attributes,
a : MyModel.proxy()
.a
members will be directly accessible in owner model.
- lazily evaluated hard references
- There are completely new mechancs of Stores, which will be documented later, and will allow us to refactor collections with mutual references which has to be requested together (such as users-roles-channelSets). It will be documented later.