mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-30 17:30:59 +01:00
7d2a18d883
Summary: Provide a dirt-simple working example of client-side templating and reactive programming. Test Plan: Load the examples Reviewers: epriestley, mroch, tomo Reviewed By: epriestley CC: ide, schrockn, aran, rzadorozny, epriestley Differential Revision: 908
38 lines
941 B
JavaScript
38 lines
941 B
JavaScript
/**
|
|
* @provides phabricator-uiexample-reactor-button
|
|
* @requires javelin-install
|
|
* javelin-view
|
|
* javelin-util
|
|
* javelin-dom
|
|
* javelin-reactor-dom
|
|
*/
|
|
|
|
JX.install('ReactorButtonExample', {
|
|
extend: 'View',
|
|
members: {
|
|
render: function(rendered_children) {
|
|
var button = JX.$N('button', {}, "Fun");
|
|
var clicks = JX.RDOM.clickPulses(button);
|
|
|
|
var time = JX.RDOM.time();
|
|
|
|
// function snapshot(pulses, dynval) {
|
|
// return new DynVal(
|
|
// pulses.transform(JX.bind(dynval, dynval.getValueNow)),
|
|
// dynval.getValueNow()
|
|
// );
|
|
// }
|
|
//
|
|
// Below could be...
|
|
// time.snapshot(clicks)
|
|
// clicks.snapshot(time)
|
|
|
|
var snapshot_time = new JX.DynVal(
|
|
clicks.transform(JX.bind(time, time.getValueNow)),
|
|
time.getValueNow()
|
|
);
|
|
|
|
return [button, JX.RDOM.$DT(snapshot_time)];
|
|
}
|
|
}
|
|
});
|