From 1ca2cb8982f553e9ff11fa7ed45deabfa29ebca9 Mon Sep 17 00:00:00 2001 From: Carsten Schumann Date: Wed, 16 Oct 2019 11:41:04 +0000 Subject: [PATCH] Bugfix: #1922 Unintended horizontal shift between Gantt and Resource view. --- ganttzk/src/main/java/org/zkoss/ganttz/Planner.java | 7 ++++++- ganttzk/src/main/resources/web/js/ganttz/TaskList.js | 6 +++++- 2 files changed, 11 insertions(+), 2 deletions(-) mode change 100644 => 100755 ganttzk/src/main/java/org/zkoss/ganttz/Planner.java mode change 100644 => 100755 ganttzk/src/main/resources/web/js/ganttz/TaskList.js diff --git a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java old mode 100644 new mode 100755 index 1cc579285..a5dbc4aa2 --- a/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java +++ b/ganttzk/src/main/java/org/zkoss/ganttz/Planner.java @@ -620,7 +620,12 @@ public class Planner extends HtmlMacroComponent { westContainer.addEventListener( Events.ON_SIZE, - event -> Clients.evalJavaScript("ganttz.TaskList.getInstance().legendResize();")); + event -> Clients.evalJavaScript("ganttz.TaskList.getInstance().legendResize();") + ); + + // Force layout resize after composition. Otherwise the legend will be + // too small and the chart will be out of sync to the Gantt diagram. + Clients.evalJavaScript("ganttz.TaskList.getInstance().legendResize();"); } diff --git a/ganttzk/src/main/resources/web/js/ganttz/TaskList.js b/ganttzk/src/main/resources/web/js/ganttz/TaskList.js old mode 100644 new mode 100755 index ae934ec5d..69af3b817 --- a/ganttzk/src/main/resources/web/js/ganttz/TaskList.js +++ b/ganttzk/src/main/resources/web/js/ganttz/TaskList.js @@ -29,8 +29,12 @@ ganttz.TaskList = zk.$extends( }, legendResize : function() { + console.log("LegendResize"); + // Calculate width dependant to the preceeding elements. Otherwise + // the elements will be horizontally shifted. var taskdetailsContainer = jq('.taskdetailsContainer')[0]; - jq('.legend-container').width(taskdetailsContainer.clientWidth - 75); + var tabControl = jq('.legend-container').closest('.z-tabbox').find('.charts-tabbox'); + jq('.legend-container').width(taskdetailsContainer.clientWidth - tabControl.width()); // 75px is the width of the tabs on the left }, refreshTooltips : function() {