var recherches_tab_is_active = false;
/* GET OLD WIDTH tab data */
var old_el_width = $('#tab-data').width();
var statExport = (function ($, window, jQuery) {
return {
"set_vars": function (options) {
$.extend(_vars_, options || {});
},
"get_vars" : function(){
return _vars_;
},
"setExportWidth": function(reset){
$('#tab-data').attr(
'style',(reset == 1)?old_el_width:'width:900px'
);
},
/**
* Export statistics as PDF
* Initial testing
*/
export_to_pdf: function() {
// insert breaks before exporting
$('.br').removeClass('hidden');
var cur_date_range = $("#ga_date_range").val();
$('.cur_date_range').html('Date: '+ cur_date_range);
cur_date_range = cur_date_range.replace('-', 'au');
/* SET FIXED ELEMENT WIDTH FOR EXPORT TEMPORARILY TO AVOID OVERLAPPING*/
statExport.setExportWidth(0);
/*Delay the preparation of the export so that it can catch the fixed set width*/
setTimeout(function(){
// show third tab to include the pie graph in the
var element = statExport.cloneElement('#tab-data');
statExport.general(element);
// Données statistiques - 2019_03_01 04_08_16 (Du 30_01_2019 au 28_02_2019)
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
var cur_date = `${yyyy}_${mm}_${dd}`;
var opt = {
margin: [.5,.5,.5,-1.7],
filename: `Données statistiques - ${cur_date} (Du ${cur_date_range}).pdf`,
// pagebreak: { before: '.br_before', after: '.br_after'},
pagebreak: { before: '.br_before', after: '.br_after'},
image: { type: 'jpeg', quality: 1, },
html2canvas: {dpi: 90, letterRendering: false, width: 1180, removeContainer: false, scale: 1, y:0},
jsPDF: { unit: 'in', format: 'A4', orientation: 'portrait'}
};
try {
html2pdf()
.from(element.get(0))
.set(opt)
.toPdf()
.get('pdf')
.then(function (pdf) {
statExport.addHeaderAndFooter(pdf);
})
.save();
}catch(e){
console.log(e);
}
if (!recherches_tab_is_active) {
$('#recherches-tab').removeClass('active');
}
// $('.page-loader').remove();
app.rmbtn_loader('#export_dashboard_to_pdf');
// remove breaks before exporting
$('.br').addClass('hidden');
}, 500);
/* RESET ELEMENT WIDTH (delay so that export pdf width the fixed width will work properly)*/
setTimeout(function(){
statExport.setExportWidth(1);
app.remove_loader();
}, 500);
},
/**
* Adjust content before printing
*
*/
general : function(el) {
// $('
').insertBefore(el.find('.margin-topp'));
// el.find('.page2').css('margin-bottom', "253px");
// el.find('.page3').css('margin-bottom', "-413px");
// el.find('.page4').css('margin-bottom', "-159px"); //neg pababa,
// el.find('.page5').css('margin-bottom', "40px");
//
// el.find('.abonnes-page6').css('margin-bottom', "-571px");
// el.find('.abonnes-page7').css('margin-bottom', "-317px");
// el.find('.recherches-page8').css('margin-bottom', "-64px");
},
/**
* Clone element before changing it
* Can add page breaks to any element
*/
cloneElement : function(el){
var originalContent = $(el);
var newContent = originalContent.clone();
newContent.find('.tab-pane:not(#glossary-tab)').show();
var originalCanvas = originalContent.find('canvas');
try {
if(originalCanvas.length > 0) {
var cloneCanvas = newContent.find("canvas");
var style = 'width:100%;height:100%';
$.each(originalCanvas, function(index, value) {
var originalContext = originalCanvas[index].getContext("2d");
var canvas = originalContext.canvas;
$(cloneCanvas[index]).replaceWith('');
});
}
} catch(e){
console.log(e);
}
/* RESET TO ORIGINAL WIDTH*/
// $(el).width(old_el_width+'px');
return newContent;
},
/**
* Add Header on the first page and Footer to every canvas
* Mimic the header
*/
addHeaderAndFooter : function(pdf) {
var totalPages = pdf.internal.getNumberOfPages();
var header = $("#ga_date_range").val();
var page_title = "Général";
for (page = 1; page <= totalPages; page++) {
pdf.setPage(page);
// switch (page) {
// case 1:
// pdf.fromHTML(
// `