working on better abstractions. still held together with duct tape
parent
c1bca09cce
commit
014dce272b
@ -1,12 +1,74 @@
|
||||
define([
|
||||
'/json/api.js',
|
||||
'/common/crypto.js',
|
||||
//'/customize/pad.js'
|
||||
], function (RtListMap) {
|
||||
], function (RtListMap, Crypto) {
|
||||
var $ = window.jQuery;
|
||||
|
||||
var key;
|
||||
var channel = '';
|
||||
var hash = false;
|
||||
if (!/#/.test(window.location.href)) {
|
||||
key = Crypto.genKey();
|
||||
} else {
|
||||
hash = window.location.hash.slice(1);
|
||||
channel = hash.slice(0,32);
|
||||
key = hash.slice(32);
|
||||
}
|
||||
|
||||
var config = {
|
||||
channel: channel,
|
||||
cryptKey: key,
|
||||
data: {},
|
||||
};
|
||||
|
||||
var module = window.APP = {};
|
||||
|
||||
var $repl = $('[name="repl"]');
|
||||
|
||||
var setEditable = module.setEditable = function (bool) {
|
||||
[$repl].forEach(function ($el) {
|
||||
$el.attr('disabled', !bool);
|
||||
});
|
||||
};
|
||||
|
||||
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 + 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");
|
||||
};
|
||||
|
||||
// RtListMap.create(config);
|
||||
var rt = module.rt = RtListMap.create(config);
|
||||
|
||||
// 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('');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
Loading…
Reference in New Issue