Files
grafana/_vendor/phantomjs/render.js
T

44 lines
875 B
JavaScript
Raw Normal View History

2014-08-08 15:53:31 +02:00
var page = require('webpage').create();
var args = require('system').args;
var params = {};
2014-10-01 13:20:30 +02:00
var regexp = /^([^=]+)=([^$]+)/;
2014-08-08 15:53:31 +02:00
args.forEach(function(arg) {
2014-10-01 13:20:30 +02:00
var parts = arg.match(regexp);
if (!parts) { return; }
params[parts[1]] = parts[2];
2014-08-08 15:53:31 +02:00
});
var usage = "url=<url> png=<filename> width=<width> height=<height>";
if (!params.url || !params.png) {
console.log(usage);
phantom.exit();
}
page.viewportSize = {
2014-10-01 21:07:58 +02:00
width: params.width || '800',
height: params.height || '400'
2014-08-08 15:53:31 +02:00
};
page.open(params.url, function (status) {
2014-08-09 11:57:54 +02:00
console.log('Loading a web page: ' + params.url);
2014-08-08 15:53:31 +02:00
2014-10-01 21:07:58 +02:00
function checkIsReady() {
var canvas = page.evaluate(function() {
return $('canvas').length > 0;
});
2014-08-08 15:53:31 +02:00
2014-10-01 21:07:58 +02:00
if (canvas) {
page.render(params.png);
phantom.exit();
}
else {
setTimeout(checkIsReady, 10);
}
}
setTimeout(checkIsReady, 200);
2014-08-08 15:53:31 +02:00
});