74 lines
3 KiB
JavaScript
74 lines
3 KiB
JavaScript
window.randTipInfo = function(rowDatas)
|
|
{
|
|
let tipHtml = burnBy == 'storyPoint' ? `<p>${rowDatas[0].name} ${storyPoint} /sp</p>` : `<p>${rowDatas[0].name} ${workHour} /h</p>`;
|
|
rowDatas.forEach(rowData =>
|
|
{
|
|
if(rowData.data == 'null') return;
|
|
tipHtml += `<div><span style="background: ${rowData.color}; height: 10px; width: 10px; display: inline-block; margin-right: 10px;"></span>${rowData.seriesName} ${rowData.data}</div>`;
|
|
});
|
|
return tipHtml;
|
|
}
|
|
|
|
$(document).on('change', '#burnBy', function()
|
|
{
|
|
$.cookie.set('burnBy', $('input[name=burnBy]').val(), {expires:config.cookieLife, path:config.webRoot});
|
|
|
|
let interval = typeof($('input[name=interval]').val()) == 'undefined' ? 0 : $('input[name=interval]').val() ;
|
|
loadPage($.createLink('execution', 'burn', 'executionID=' + executionID + '&type=' + type + '&interval=' + interval + '&burnBy=' + $('input[name=burnBy]').val()));
|
|
});
|
|
|
|
$(document).off('change', '#interval').on('change', '#interval', function()
|
|
{
|
|
loadPage($.createLink('execution', 'burn', 'executionID=' + executionID + '&type=' + type + '&interval=' + $('input[name=interval]').val()));
|
|
});
|
|
|
|
/* Save burn as image.*/
|
|
window.downloadBurn = function()
|
|
{
|
|
let $canvas = $('#burnPanel canvas');
|
|
$('#burnPanel').append("<div class='hidden' id='cloneCanvas'></div>");
|
|
$('#cloneCanvas').append($canvas.clone());
|
|
$('#cloneCanvas').append("<img id='cloneImage' />");
|
|
$('#cloneCanvas #cloneImage').attr('src', $canvas.get(0).toDataURL("image/png"));
|
|
setTimeout(function()
|
|
{
|
|
/* Add watermark */
|
|
var canvas = document.querySelector('#cloneCanvas canvas');
|
|
var cans = canvas.getContext('2d');
|
|
canvas.height = canvas.height + 25;
|
|
canvas.width = canvas.width + 50;
|
|
|
|
// Set background color to white
|
|
cans.fillStyle = '#fff';
|
|
cans.fillRect(0, 0, canvas.width, canvas.height);
|
|
|
|
cans.drawImage($('#cloneCanvas #cloneImage').get(0), 0, 25);
|
|
cans.font = "16px Microsoft JhengHei";
|
|
cans.fillStyle = "rgba(17, 17, 17, 0.50)";
|
|
cans.textAlign = 'left';
|
|
cans.textBaseline = 'Middle';
|
|
cans.fillText(watermark, 50, canvas.height - 50);
|
|
cans.fillText(burnYUnit, 0, 20);
|
|
cans.fillText(burnXUnit, canvas.width - 50, canvas.height - 15);
|
|
|
|
var type = 'png';
|
|
var $canvas = $('#cloneCanvas canvas');
|
|
var imgSrc = $canvas.get(0).toDataURL("image/png");
|
|
var imgData = imgSrc.replace(type,'image/octet-stream');
|
|
var filename = executionName + '.' + type;
|
|
saveFile(imgData,filename);
|
|
$('#burnPanel #cloneCanvas').remove();
|
|
}, 500);
|
|
}
|
|
|
|
var saveFile = function(data, filename)
|
|
{
|
|
var saveLink = document.createElement('a');
|
|
saveLink.href = data;
|
|
saveLink.download = filename;
|
|
|
|
var event = document.createEvent('MouseEvents');
|
|
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
|
|
saveLink.dispatchEvent(event);
|
|
};
|