diff --git a/www/common/convert.js b/www/common/convert.js index d37e98539..b95591e93 100644 --- a/www/common/convert.js +++ b/www/common/convert.js @@ -1,14 +1,16 @@ define([ + '/common/virtual-dom.js', '/common/hyperjson.js', '/common/hyperscript.js' -], function (hyperjson, hyperscript) { +], function (vdom, hyperjson, hyperscript) { // complain if you don't find the required APIs - if (!(hyperjson && hyperscript)) { throw new Error(); } - + if (!(vdom && hyperjson && hyperscript)) { throw new Error(); } + // Generate a matrix of conversions /* convert.dom.to.hjson, convert.hjson.to.dom, convert.dom.to.vdom, convert.vdom.to.dom, + convert.vdom.to.hjson, convert.hjson.to.vdom and of course, identify functions in case you try to convert a datatype to itself @@ -20,16 +22,31 @@ define([ methods = { dom:{ dom: Self, - hjson: hyperjson.fromDOM + hjson: hyperjson.fromDOM, + vdom: function (D) { + return hyperjson.callOn(hyperjson.fromDOM(D), vdom.h); + } }, hjson:{ hjson: Self, dom: function (H) { // hyperjson.fromDOM, return hyperjson.callOn(H, hyperscript); + }, + vdom: function (H) { + return hyperjson.callOn(H, vdom.h); + } + }, + vdom:{ + vdom: Self, + dom: function (V) { + return vdom.create(V); + }, + hjson: function (V) { + return hyperjson.fromDOM(vdom.create(V)); } } - }, + }, convert = {}; Object.keys(methods).forEach(function (method) { convert[method] = { to: methods[method] }; @@ -38,6 +55,7 @@ define([ }()); convert.core = { + vdom: vdom, hyperjson: hyperjson, hyperscript: hyperscript }; diff --git a/www/common/realtime-input.js b/www/common/realtime-input.js index ecd19e015..db0b6126c 100644 --- a/www/common/realtime-input.js +++ b/www/common/realtime-input.js @@ -30,7 +30,11 @@ define([ var debug = function (x) { console.log(x); }, warn = function (x) { console.error(x); }, - verbose = function (x) { console.log(x); }; + verbose = function (x) { + if (window.verboseLogging) { + console.log(x); + } + }; // verbose = function () {}; // comment out to enable verbose logging // ------------------ Trapping Keyboard Events ---------------------- // diff --git a/www/input/main.js b/www/input/main.js index 9be43e973..c61e312f2 100644 --- a/www/input/main.js +++ b/www/input/main.js @@ -33,7 +33,7 @@ define([ websocketURL: Config.websocketURL, userName: Crypto.rand64(8), channel: key.channel, - key.cryptKey + cryptKey: key.cryptKey }; var rttext = RTText.start(config); diff --git a/www/text/main.js b/www/text/main.js index 4c84064c7..db753e8a7 100644 --- a/www/text/main.js +++ b/www/text/main.js @@ -20,6 +20,7 @@ define([ var $textarea = $('textarea'); var config = { + textarea: $textarea[0], websocketURL: Config.websocketURL, userName: Crypto.rand64(8), channel: key.channel,