From 2b9ac14cb1f55a4993b248c1b7b8afe070f49040 Mon Sep 17 00:00:00 2001 From: ansuz Date: Wed, 1 Jun 2016 12:36:26 +0200 Subject: [PATCH] restructure main to take advantage of new callback infrastructure --- www/json/main.js | 71 ++++++++++++++++++++++++++---------------------- 1 file changed, 38 insertions(+), 33 deletions(-) diff --git a/www/json/main.js b/www/json/main.js index 15b651b0b..4d82b9183 100644 --- a/www/json/main.js +++ b/www/json/main.js @@ -26,45 +26,50 @@ define([ var initializing = true; - // TODO replace with `proxy.on('init'` ? - // or just remove? - var onInit = config.onInit = function (info) { - console.log("initializing!"); - window.location.hash = info.channel + secret.key; - }; - - // TODO replace with `proxy.on('ready'` ? - var onReady = config.onReady = function (info) { - setEditable(true); - }; - setEditable(false); - // TODO replace with `proxy.on('disconnect'` ? - var onAbort = config.onAbort = function (info) { - setEditable(false); - window.alert("Network connection lost"); - }; - var rt = module.rt = RtListMap.create(config); + rt.proxy.on('create', function (info) { + console.log("initializing!"); + window.location.hash = info.channel + secret.key; + console.log(info); + }).on('ready', function (info) { + console.log("ready"); - // set up user interface hooks - $repl.on('keyup', function (e) { - if (e.which === 13) { - var value = $repl.val(); + console.log(info); - if (!value.trim()) { return; } + rt.proxy + // on(event, path, cb) + .on('change', [], function (o, n, p) { + console.log("root change event firing for path [%s]: %s => %s", p.join(','), o, n); + }).on('change', ['a', 'b', 'c'], function (o, n, p) { + console.log("Deeper change event at [%s]: %s => %s", p.join(','), o, n); + console.log("preventing propogation..."); + return false; + }); - console.log("evaluating `%s`", value); - var x = rt.proxy; + rt.proxy.on('disconnect', function (info) { + setEditable(false); + console.log(info); + window.alert("Network connection lost"); + }); - console.log('> ', eval(value)); // jshint ignore:line - console.log(); - $repl.val(''); - } + // set up user interface hooks + $repl.on('keyup', function (e) { + if (e.which === 13) { + var value = $repl.val(); + + if (!value.trim()) { return; } + + console.log("evaluating `%s`", value); + var x = rt.proxy; + + console.log('> ', eval(value)); // jshint ignore:line + console.log(); + $repl.val(''); + } + }); + + setEditable(true); }); - - // debugging TODO remove - //rt.proxy.on('change', 'u', (o, n) => console.log("'u' changed!", o,n)); - //rt.proxy.on('change', ['u', 2], (o, n) => (console.log("'u[2]' changed!", o, n), true)); });