Socket
Book a DemoInstallSign in
Socket

ractive-ractive

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ractive-ractive

Ractive adaptor for Ractive objects

latest
Source
npmnpm
Version
1.1.1
Version published
Weekly downloads
27
17.39%
Maintainers
1
Weekly downloads
 
Created
Source

ractive-ractive

Experimental ractive adaptor for ractive objects. This makes it possible to use template-less Ractive objects as models.

Find more Ractive.js plugins at docs.ractivejs.org/latest/plugins

Status

Note for v0.x users:

v1.0.0 changes the behavior of doing require('ractive-ractive') (eg, in Browserify). See the changelog for upgrade instructions.


Example

Ractive.defaults.adapt.push('Ractive');

parent = new Ractive();
user   = new Ractive();

parent.set('user', user);

Changes in children are propagated to the parent:

user.set('name', 'Jake');
parent.get('user.name')   //=> "Jake"

Changes in the parent are propagated to the children:

parent.set('user.name', 'Matt');
user.get('name')   //=> "Matt"

Features

Everything you'd expect to work will work.

  • bi-directional propagation
  • observers
  • templates
  • computed properties

However, these things are not supported, but may be in the future:

  • circular dependencies (an error will be thrown)
  • events (see ractive#1249)

Wrap events

It will trigger a few events:

  • wrap - called when the instance is set as an attribute of another instance
  • unwrap - called when the instance has been unset from its parent
  • wrapchild - called when the instance gets an Ractive attribute set
  • unwrapchild - called when the instance gets an Ractive attribute unset

To illustrate:

parent = new Ractive();
child  = new Ractive();

parent.set('x', child);
// triggers `wrap(parent, 'x')` on child
// triggers `wrapchild(child, 'x')` on parent

parent.set('x', undefined);
// triggers `unwrap(parent, 'x')` on child
// triggers `unwrapchild(child, 'x')` on parent

Usage

ractive-ractive is available via npm.

$ npm install --save ractive-ractive

npm version

In CommonJS:

Ractive.adaptors.Ractive = require('ractive-ractive');
Ractive.defaults.adapt = ['Ractive'];

Without module loaders, the adaptor is available as "Ractive" under Ractive.adaptors.Ractive.


Credits

Hat tip to the original Ractive adaptor from @Rich-Harris. (src)


Thanks

ractive-ractive © 2014+, Rico Sta. Cruz. Released under the MIT License.
Authored and maintained by Rico Sta. Cruz with help from contributors (list).

ricostacruz.com  ·  GitHub @rstacruz  ·  Twitter @rstacruz

Keywords

adaptor

FAQs

Package last updated on 02 Jul 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts