Skip to content
Ulric Wilfred edited this page Jan 30, 2015 · 2 revisions

Description

Represents the Outlet.

Events

  • outlet/update(Any) — fired when outlet sends a value; {outlet, value}
  • outlet/connect(Link) — fired when outlet was connected to an inlet; {outlet, link}
  • outlet/disconnect(Link) — fired when outlet was disconnected from an inlet; {outlet, link}

Methods

instance

  • outlet.connect(Inlet[, Function])Link — connect outlet to given inlet, optional function is value adapter;
  • outlet.disconnect(Link) — disconnect outlet using given link;
  • outlet.send(Any) — send the value;
  • outlet.stream(KefirStream) — append given stream to the value stream;

Examples

Create node and add an inlet and an outlet:

var node = new Rpd.Node('core/custom');
var inlet = node.addInlet('core/number', 'num-in');
var outlet = node.addOutlet('core/number', 'num-out');

Send a value:

outlet.send(10);

Send a stream of values:

outlet.send(Kefir.repeatedly(500, [10, 20, 30]));

Connect:

var model = Rpd.Model.start()
                     .renderWith('html')
                     .attachTo(document.body);
var firstNode = new Rpd.Node('core/custom', 'First');
var outletFromFirst = firstNode.addOutlet('core/number', 'num-out');
var secondNode = new Rpd.Node('core/custom', 'Second');
var inletIntoSecond = secondNode.addInlet('core/number', 'num-in');
outletFromFirst.connect(inletIntoSecond);

Connect with adapter and disconnect:

var firstNode = new Rpd.Node('core/custom', 'First');
var outletFromFirst = firstNode.addOutlet('core/number', 'num-out');
var secondNode = new Rpd.Node('core/custom', 'Second');
var inletIntoSecond = secondNode.addInlet('core/number', 'num-in');
var link = outletFromFirst.connect(inletIntoSecond,
                                   function(v) { return 1 - v; });
// ...
outletFromFirst.disconnect(link);
Clone this wiki locally