export.html.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php $this->app->loadLang('file');?>
  2. <div id='exportReport' class='modal-dialog'>
  3. <div class='modal-content'>
  4. <div class='modal-header'><div class='modal-title'><?php echo $lang->export;?></div></div>
  5. <div class='modal-actions'><button class='ghost btn square' data-dismiss='modal' type='button'><span class='close'></span></button></div>
  6. <div class='modal-body'>
  7. <form method='post' onsubmit='setDownloading()' action='<?php echo $this->createLink('report', 'export', "module=$module&productID=$productID&taskID=$taskID&storyType=$storyType")?>' target='_self' style="padding: 10px 0px 10px" id='exportForm'>
  8. <table class="w-p100 table-form">
  9. <tr>
  10. <th class="w-110px"><?php echo $lang->setFileName?></th>
  11. <td class="w-150px"><input type="text" name="fileName" id="fileName" class="form-control"></td>
  12. <td><?php echo html::submitButton($lang->save, '', 'btn primary upload-btn') . html::hidden('items') . html::hidden('datas');?></td>
  13. </tr>
  14. </table>
  15. </form>
  16. </div>
  17. </div>
  18. </div>
  19. <script>
  20. $(function()
  21. {
  22. $(document).on('click', '#exportForm #submit', function()
  23. {
  24. if($('#datas').length == 0) return true;
  25. $('[name^=charts]').each(function()
  26. {
  27. items = $('#exportForm #items').val();
  28. if($(this).prop('checked')) items += $(this).val() + ',';
  29. $('#exportForm #items').val(items);
  30. });
  31. var dataBox = "<input type='hidden' name='%name%' id='%id%' />";
  32. var canvasSize = $('.chart canvas').length;
  33. if(canvasSize == 0)
  34. {
  35. alert('<?php echo $lang->report->errorNoChart?>');
  36. return false;
  37. }
  38. $('.tab-pane.active .chart canvas').each(function(i)
  39. {
  40. var canvas = this;
  41. var $canvas = $(canvas);
  42. if(typeof(canvas.toDataURL) == 'undefined')
  43. {
  44. alert('<?php echo $lang->report->errorExportChart?>');
  45. return false;
  46. }
  47. var dataURL = canvas.toDataURL("image/png");
  48. var dataID = $canvas.parents('.chart').attr('id');
  49. var thisDataBox = dataBox.replace('%name%', dataID);
  50. thisDataBox = thisDataBox.replace('%id%', dataID);
  51. $('#exportForm #submit').after(thisDataBox);
  52. $('#exportForm #' + dataID).val(dataURL);
  53. if(i == canvasSize - 1) $('#datas').remove();
  54. });
  55. });
  56. })
  57. function setDownloading()
  58. {
  59. if(navigator.userAgent.toLowerCase().indexOf("opera") > -1) return true; // Opera don't support, omit it.
  60. var $fileName = $('#fileName');
  61. if($fileName.val() === '') $fileName.val('<?php echo $lang->file->untitled;?>');
  62. $.cookie.set('downloading', 0);
  63. $('.upload-btn').attr('disabled', 'disabled').addClass('disabled loading');
  64. time = setInterval("closeWindow()", 300);
  65. return true;
  66. }
  67. function closeWindow()
  68. {
  69. if($.cookie.get('downloading') == 1)
  70. {
  71. $.cookie.set('downloading', null);
  72. clearInterval(time);
  73. $('#exportReport .modal-actions span.close').trigger('click');
  74. }
  75. }
  76. </script>