2015-07-07 3 views
0

Я использую amcharts для создания диаграмм. Я также использую prototype.js для динамического извлечения dataProvider для диаграмм. Но когда я пытаюсь загрузить таблицу, используя экспортные возможности amCharts, я получаю следующее сообщение об ошибке:amcharts export.js конфликт с prototype.js?

Не удается прочитать свойство «_calcWidth» неопределенной

Теперь, когда я удалить скрипт prototype.js, а затем выполнить загрузите снова, тогда он работает нормально.

здесь функция загрузки:

//charts[] contains all the amcharts. 
function downloadReport() { 
    // iterate through all of the charts and prepare their images for export 
    var images = []; 
    var pending = charts.length; 
    for (var i = 0; i < charts.length; i++) { 
     var chart = charts[i]; 
     var content = []; 
     chart.export.capture({}, function() { 
      var dataArray = this.toArray({ 
       withHeader: true 
      }); 
      var columns = dataArray[0].length; 
      var columnWidths = (Array(columns).join("auto,") + "*").split(","); // ["auto", ... "*"] 
      // 
      // EXTRA LOGS TO CHECK THE NUMBER OF COLUMNS (ALL SHOULD BE THE SAME) 
      console.log("header: ", columns); 
      console.log("widths: ", columnWidths.length); 
      for (var i2 = 0; i2 < dataArray.length; i2++) { 
       console.log("columns: ", dataArray[i2].length); 
      } 

      // GENERATE IMAGE 
      this.toJPG({}, function (data) { 

       // ADD IMAGE 
       content.push({ 
        "image": data, 
        "fit": [523.28, 769.89] // A4 Dimensions less 20px because of the page margins 
       }); 

       // ADD TABLE 
       content.push({ 
        layout: 'headerLineOnly', 
        margin: [0, 20, 0, 0], // [left, top, right, bottom] 
        table: { 
         headerRows: 1, 
         widths: columnWidths, 
         body: dataArray 
        } 
       }); 

       pending--; 
       if (pending === 0) { 
        // all done - construct PDF 
        chart.export.toPDF({ 
         content: content 
        }, function (data) { 
         this.download(data, "application/pdf", "NPGroupReportDeck_LNIndiaTracker.pdf"); 
        }); 

        // ADD PAGE BREAK 
       } else { 
        content[content.length - 1].pageBreak = "after"; 
       } 
      }); 
     }); 
    } 
} 
+0

Это подтвержденная ошибка в export.js. Он будет исправлен в следующем выпуске. (ожидается в ближайшие несколько дней). Следите за обновлениями здесь: https://github.com/amcharts/export – martynasma

ответ

0

Я связался со службой поддержки amchart, и они сказали мне, что в своем следующем выпуске, эта проблема будет решена. Все, что нам нужно сделать, это просто подождать. :)

Смежные вопросы