Make player creation code more intention revealing

This commit is contained in:
Marcin Kulik 2015-05-16 09:39:16 +00:00
parent c070430135
commit 680d4bf96c

View File

@ -1,30 +1,37 @@
function createPlayer(parentNode, asciicast, options) {
asciinema.CreatePlayer(
parentNode,
asciicast.width, asciicast.height,
asciicast.stdout_frames_url,
asciicast.duration,
{
snapshot: asciicast.snapshot,
speed: options.speed,
autoPlay: options.autoPlay,
loop: options.loop,
fontSize: options.fontSize,
theme: options.theme
}
);
}
function tryCreatePlayer(parentNode, asciicast, options) {
if (asciicast.stdout_frames_url) {
$('.processing-info').remove();
createPlayer(parentNode, asciicast, options);
} else {
$('.processing-info').show();
setTimeout(function() {
$.get('/api/asciicasts/' + asciicast.id + '.json', function(data) {
tryCreatePlayer(parentNode, data, options);
});
}, 2000);
function createPlayer() {
asciinema.CreatePlayer(
parentNode,
asciicast.width, asciicast.height,
asciicast.stdout_frames_url,
asciicast.duration,
{
snapshot: asciicast.snapshot,
speed: options.speed,
autoPlay: options.autoPlay,
loop: options.loop,
fontSize: options.fontSize,
theme: options.theme
}
);
}
function fetch() {
$.get('/api/asciicasts/' + asciicast.id + '.json', function(data) {
asciicast = data;
checkReadiness();
});
}
function checkReadiness() {
if (asciicast.stdout_frames_url) {
$('.processing-info').remove();
createPlayer();
} else {
$('.processing-info').show();
setTimeout(fetch, 2000);
}
}
checkReadiness();
}