').get(0);
$(status).prepend(el);
CodeMirror(el, {
value: JSON.stringify(parsed, null, 2),
mode: 'javascript',
json: true,
smartIndent: false,
readOnly: true
});
events.unshift(parsed);
}
};
function select_request(request) {
selected_request = requests[request];
selected_request.message.id = id();
selected_request.message = rewrite_obj(selected_request.message);
set_input(selected_request);
//Remove sign button & sequence number lookup
// if (selected_request.name !== 'submit') {
// $('#sign_button').hide();
// return;
// }
if (selected_request._takes_secret === true) {
$("#test_warning").show();
} else {
$("#test_warning").hide();
}
if (selected_request._stream === true) {
$("#stream_output").show();
} else {
$("#stream_output").hide();
}
if (!remote._connected) {
remote.once('connected', function() {
select_request(request);
});
return;
}
// $('#sign_button').show();
// var tx_json = selected_request.message.tx_json;
// if (ripple.UInt160.is_valid(tx_json.Account)) {
// selected_request.message.id = id._c;
// remote.request_account_info(tx_json.Account, function(err, info) {
// id.reset();
// tx_json.Sequence = info.account_data.Sequence;
// set_input(selected_request);
// });
// }
};
/* ---- ---- ---- ---- ---- */
$(commands).click(function() {
var cmd = $(this).text().trim();
if (!requests[cmd]) return;
select_request(cmd, true);
window.location.hash = cmd;
$(this).siblings().removeClass('selected');
$(this).addClass('selected');
});
var previous_key = void(0);
$(window).keydown(function(e) {
if (e.which === 13 && previous_key === 17) {
//ctrl + enter
e.preventDefault();
e.stopPropagation();
$(request_button).click();
}
previous_key = e.which;
});
/* ---- ---- ---- ---- ---- */
function prepare_request(request) {
var isArray = Array.isArray(request);
var result = isArray ? [ ] : { };
Object.keys(request).forEach(function(k) {
var v = request[k];
switch (typeof v) {
case 'undefined': break;
case 'object':
result[k] = prepare_request(v);
break;
default:
result[k] = v;
break
}
});
if (isArray) {
result = result.filter(function(el) {
return el !== null && typeof el !== 'undefined'
});
}
var empty = isArray && result.length === 0;
return empty ? void(0) : result;
};
$('#stream_show').click(function() {
if ($(status).is(':visible')) {
$(status).hide();
$(status).empty();
$(this).text('show');
STREAM_SHOWN = false;
} else {
$(this).text('hide');
$(status).show();
STREAM_SHOWN = true;
events.forEach(function(event) {
var el = $('
')[0];
$(status).append(el);
CodeMirror(el, {
value: JSON.stringify(event, null, 2),
mode: 'javascript',
json: true
});
});
}
});
$('#stream_pause').click(function() {
if ($(this).hasClass('paused')) {
$(this).removeClass('paused');
$(this).text('pause');
$(status).removeClass('obscured');
STREAM_PAUSED = false;
} else {
$(this).addClass('paused');
$(this).text('unpause');
$(status).addClass('obscured');
STREAM_PAUSED = true;
};
});
//stop opening all links in new tabs
// $(document.body).delegate('a', 'click', function(e) {
// e.preventDefault();
// e.stopPropagation();
// window.open($(this).attr('href'));
// });
var tooltip = $('#tooltip');
var mousedown = false;
$(window).mousedown(function() { mousedown = true; });
$(window).mouseup(function() { mousedown = false; });
//get rid of sign button
// $('#sign_button').click(function() {
// if (selected_request._signed) return;
//
// var self = this;
// var message = cm_request.getValue();
//
// try {
// message = JSON.parse(message);
// } catch(e) {
// alert('Invalid JSON');
// return;
// }
//
// var tx_json = message.tx_json;
//
// if (!ripple.UInt160.is_valid(tx_json.Account)) {
// alert('Account is invalid');
// return;
// }
//
// if (!message.secret) {
// alert('Transacting account must have specified secret');
// return;
// }
//
// $(this).addClass('depressed');
//
// remote.account(tx_json.Account).get_next_sequence(function(e, s) {
// id.reset();
// tx_json.Sequence = s;
//
// try {
// var tx = remote.transaction();
// tx.tx_json = tx_json;
// tx._secret = message.secret;
// tx.complete();
// tx.sign();
// } catch(e) {
// alert('Unable to sign transaction ' + e.message);
// $(self).removeClass('depressed');
// return;
// }
//
// message.tx_blob = tx.serialize().to_hex();
//
// delete message.secret;
// delete message.tx_json;
//
// selected_request.message = message;
// selected_request._signed = true;
//
// set_input(selected_request);
//
// $(self).removeClass('depressed');
// });
// });
function send_request() {
var request = remote.request_server_info();
var value = cm_request.getValue();
try {
var message = JSON.parse(value);
} catch(e) {
alert('Invalid request JSON');
return;
}
$(this).addClass('depressed');
$(response).addClass('obscured');
WAITING = true;
selected_request.message = message;
selected_request.t = Date.now();
spinner.show();
request.message = prepare_request(message);
request.request();
};
function init() {
id._c = remote._get_server()._id;
remote._get_server().on('message', set_output);
$(request_button).click(send_request);
};
$(function() {
set_online_state('connecting');
if (urlParams["base_url"]) {
base_url = urlParams["base_url"].split(":");
if (base_url.length == 2) {
base_host = base_url[0];
base_port = base_url[1];
} else {
base_host = base_url[0];
base_port = BASE_PORT_DEFAULT;
}
if (urlParams["use_wss"]
&& urlParams["use_wss"].toLowerCase() === "false") {
use_wss = false;
} else {
use_wss = true;
}
new_remote({
trusted: true,
local_signing: true,
local_fee: false,
servers: [
{
host: base_host,
port: base_port,
secure: use_wss
}
]
});
}
remote.connect(init);
if (window.location.hash) {
var cmd = window.location.hash.slice(1).toLowerCase();
var keys = Object.keys(requests);
var index = keys.indexOf(cmd);
if (index === -1) return;
var el = $(commands).eq(index);
select_request(cmd);
window.cmd = cmd;
$(el).siblings().removeClass('selected');
$(el).addClass('selected');
} else {
select_request('server_info');
}
});
})();