diff --git a/module/programplan/view/gantt.html.php b/module/programplan/view/gantt.html.php index 98c18d897b..86c3cfe0db 100644 --- a/module/programplan/view/gantt.html.php +++ b/module/programplan/view/gantt.html.php @@ -53,6 +53,17 @@ form {display: block; margin-top: 0em; margin-block-end: 1em;} .gantt_critical_task{background:#e63030 !important; border-color:#9d3a3a !important;} .gantt_marker .gantt_marker_content {left: -15px; background-color: #f51e1e;} .gantt_row.task-item{cursor: pointer;} + +#ganttDownload, #ganttHeader {display: none;} +#ganttContainer {margin-top: 10px;} +#mainContent:before {background: #fff;} +#mainContent.loading {overflow: hidden} +#mainContent.loading #ganttView {overflow: hidden} +#mainContent.loading #ganttHeader {display: block; padding-bottom: 20px; margin: 0; height: 46px;} +#mainContent.loading #ganttDownload {display: inline} +#mainContent.loading #ganttContainer {padding: 40px;} +#mainContent.loading .scrollVer_cell, +#mainContent.loading .scrollVer_cell {display: none;} createLink('programplan', 'ajaxCustom'));?> @@ -89,7 +100,7 @@ var loadingPrefixText = 'programplan->exporting;?>'; * Get remote script for export. * * @param string $url - * @param function $sucessCallback + * @param function $successCallback * @param function $errorCallback * @access public * @return void @@ -125,7 +136,7 @@ function updateProgress(progress) * Draw gantt to canvas. * * @param string $exportType - * @param function $sucessCallback + * @param function $successCallback * @param function $errorCallback * @access public * @return void @@ -169,7 +180,17 @@ function drawGanttToCanvas(exportType, successCallback, errorCallback) height: '' }); $ganttView.css('height', oldHeight); - if(canvas) canvas.remove(); + if(canvas) + { + try + { + canvas.removeNode(true) + } + catch(err) + { + canvas.remove() + }; + } }; var delayTime = Math.max(1000, Math.floor(10 * (ganttHeight * ganttWidth) / 100000)); var progressTimer; @@ -225,7 +246,14 @@ function drawGanttToCanvas(exportType, successCallback, errorCallback) { updateProgress(0.95); var imageUrl = URL.createObjectURL(blob); - $('#ganttDownload').attr({href: imageUrl})[0].click(); + if(navigator.msSaveBlob) + { + navigator.msSaveOrOpenBlob(blob, 'gantt-export-.png'); + } + else + { + $('#ganttDownload').attr({href: imageUrl})[0].click(); + } if(successCallback) successCallback(imageUrl); afterFinish(canvas); }); @@ -249,7 +277,7 @@ function drawGanttToCanvas(exportType, successCallback, errorCallback) function exportGantt(exportType) { var $mainContent = $('#mainContent'); - $mainContent.addClass('loading').css('height', Math.max(200, Math.floor($(window).height() - $('#footer').outerHeight() - $('#header').outerHeight() - 38))); + $mainContent.addClass('loading').css('height', Math.max(200, Math.floor($(window).height() - $('#footer').outerHeight() - $('#header').outerHeight() - $('#mainMenu').outerHeight() - 38))); $('#ganttExportDate').text(new Date().format('yyyy-MM-dd hh:mm:ss')); var afterFinish = function(url) {