From e4baa54410e32e480e6518ff0f9ed38ff23099fa Mon Sep 17 00:00:00 2001 From: Lorenzo Tilve Date: Thu, 9 Dec 2010 09:51:16 +0100 Subject: [PATCH] Refactored dependencies implementation to support different appearance based on CSS class FEA: ItEr68S04BugFixing --- .../web/ganttz/img/dashed-black-arrows.png | Bin 0 -> 284 bytes .../web/ganttz/img/dashed-black-hor.png | Bin 0 -> 191 bytes .../web/ganttz/img/dashed-black-ver.png | Bin 0 -> 190 bytes .../web/ganttz/img/dashed-red-arrows.png | Bin 0 -> 286 bytes .../web/ganttz/img/dashed-red-hor.png | Bin 0 -> 192 bytes .../web/ganttz/img/dashed-red-ver.png | Bin 0 -> 197 bytes .../resources/web/ganttz/img/pixel-red.png | Bin 0 -> 188 bytes .../web/ganttz/img/solid-black-arrows.png | Bin 0 -> 277 bytes .../web/ganttz/img/solid-black-hor.png | Bin 0 -> 188 bytes .../web/ganttz/img/solid-black-ver.png | Bin 0 -> 191 bytes .../web/ganttz/img/solid-red-hor.png | Bin 0 -> 196 bytes .../web/ganttz/img/solid-red-ver.png | Bin 0 -> 200 bytes .../resources/web/js/ganttz/dependency.js | 22 ++--- .../main/resources/web/js/ganttz/planner.js | 15 ++-- .../main/resources/web/js/ganttz/tasklist.js | 3 +- .../src/main/webapp/planner/css/ganttzk.css | 76 +++++++++++++++++- 16 files changed, 95 insertions(+), 21 deletions(-) create mode 100644 ganttzk/src/main/resources/web/ganttz/img/dashed-black-arrows.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/dashed-black-hor.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/dashed-black-ver.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/dashed-red-arrows.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/dashed-red-hor.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/dashed-red-ver.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/pixel-red.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/solid-black-arrows.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/solid-black-hor.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/solid-black-ver.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/solid-red-hor.png create mode 100644 ganttzk/src/main/resources/web/ganttz/img/solid-red-ver.png diff --git a/ganttzk/src/main/resources/web/ganttz/img/dashed-black-arrows.png b/ganttzk/src/main/resources/web/ganttz/img/dashed-black-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e7f6c3e7cef92662553fea4742a22991eecc25 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^9ze{+$P6TPH+LliDaPU;cPEB*=VV?2IcxzwA+8KN z(t%86MbiZ!>5?G7UYh7ML)kSUx69+AZi4BWyX%*Zfnjs#GUy~NYk zmHjp&50{CerT;c-ppayVYeb22er|4RUI~M9QEFmIYKlU6W=V#EyQgnJcq5-UP*JR> zi(?4Kb+YFw$!M`f)6&$ojU^rST}z!iejE;c-&g*{g8!)F z5o?#;nyGyWjnRH$POVeB=SEDN-rnzMXt!p5cV=$#tyxpvDyX}8EYSQv>p9=kch^sM Q11)0kboFyt=akR{04BXy!TbCYGe8D3oWGWGJ|M`UZqI@`(c#NqM?BhHzX@PDn_oICkK`hxv_-jh&40 c2`z>Up)(m@>Nw{3097$~y85}Sb4q9e0K&C33jhEB literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/dashed-black-ver.png b/ganttzk/src/main/resources/web/ganttz/img/dashed-black-ver.png new file mode 100644 index 0000000000000000000000000000000000000000..cadfb19cbe7d589197e3f4b7779fbc084b6699a2 GIT binary patch literal 190 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w|KY&^tpYm+>!(eNtU=qlsM<- z=BDPAFgO>bCYGe8D3oWGWGJ|M`UZqI@`-~KdAc};a9mGLNJywS#=zJUFzcZ`vlzp4 ZRtArH#ur6JPFX-j44$rjF6*2UngB1O>_%)r1c48n{Iv*t(u1=&kH zeO=jaGxBgsuq`*bwj3xVS>hT|;+&tGo0?a`;9QiNSdyBeP@Y+mq2TW68xY>eCk|8; z@9E+g!f~DV*hWDI2LXqR^?4hPofYI_32zEWJ1wB~&`W?rbn8N+DGQkQyioihzNMi< zzu?)zyRoioO;5b#bJHzPd8U&6!@Q_)wZx>znWX_z%EDXkzeqTAdkV*d1Jj-}v(*S1 U9eo<|251$7r>mdKI;Vst0R7ZhVgLXD literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/dashed-red-hor.png b/ganttzk/src/main/resources/web/ganttz/img/dashed-red-hor.png new file mode 100644 index 0000000000000000000000000000000000000000..f07a57d9e3415bc6f3f8a2a22b6f53b4cb6bb4b0 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w;6f3xOCX8Fa8D!NtU=qlsM<- z=BDPAFgO>bCYGe8D3oWGWGJ|M`UZqI@`(c#Nqf3DhHzX@{&D`mhyV7>hwItc*wol+ c8U%q3*?ED5q32rv5uh>#Pgg&ebxsLQ0N`mgXaE2J literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/dashed-red-ver.png b/ganttzk/src/main/resources/web/ganttz/img/dashed-red-ver.png new file mode 100644 index 0000000000000000000000000000000000000000..ebb6743ce8d899561b4c774c9c86a911e0a01c54 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w;6f3xXgY>YBU0cBuiW)N}Tg^ zb5rw57@Uhz6H8K46v{J8G8EiBeFMT9`NV;W6g*uVLpZMcp4`aGz`$|X;P8L@>5Ysw iu3ZAF7tGyrkDIyNfSGBl@0CH6s83 literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/solid-black-arrows.png b/ganttzk/src/main/resources/web/ganttz/img/solid-black-arrows.png new file mode 100644 index 0000000000000000000000000000000000000000..56c129d2ec5c12b99d348e0267aa9e8119b5ba4b GIT binary patch literal 277 zcmeAS@N?(olHy`uVBq!ia0vp^9ze{+$P6TPH+LliDaPU;cPEB*=VV?2IcxzwA+8Jz zEkNe+m>G*f(j`HD!3+-1Zlr-YN#5=*3>~bpAX7LCJR*x37`TN&n2}-D90{Nxdx@v7 zEBkFm9xfiHp6%6}fI^Zbt`Q~9`MJ5Nc_j?aMX8A;sVNHOnI#zt?w-B@;f;LaKt*Am zE{-7_*Lja^6l_osaXHw|B4P1QXakG&fk`}Pmu%5)72@EOn39qn`B6TG`^}HW$?T`| z1Vo;7y>@BsF|}Hsv+nYbltWtlo`rsQCPx@peDrGNUKBS0G%JYD@< J);T3K0RV8TP{sfN literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/solid-black-hor.png b/ganttzk/src/main/resources/web/ganttz/img/solid-black-hor.png new file mode 100644 index 0000000000000000000000000000000000000000..01dc2a135dda4489487c6ddb5ea8034bdaae8ed3 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w;8#FI8~FUOz!{+NtU=qlsM<- z=BDPAFgO>bCYGe8D3oWGWGJ|M`UZqI@`(c#iF>*@hHzX@PDn_oICkK`2YJq9_8tQ^ ZhWU)lPoFEL{{bpt@O1TaS?83{1OV?yGc*7I literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/solid-black-ver.png b/ganttzk/src/main/resources/web/ganttz/img/solid-black-ver.png new file mode 100644 index 0000000000000000000000000000000000000000..5b219fe9e1b0830af422349e055fdc2e0bfaf99b GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w;8#FxL8;&ToDBdNtU=qlsM<- z=BDPAFgO>bCYGe8D3oWGWGJ|M`UZqI@`(c#NqM?BhHzX@PDn_oIL5%(6EN$cJ+n}P c({xq_kA;k{;^&m_0;*#0boFyt=akR{07LFF@Bjb+ literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/solid-red-hor.png b/ganttzk/src/main/resources/web/ganttz/img/solid-red-hor.png new file mode 100644 index 0000000000000000000000000000000000000000..3c25a9cab24855cb77e1f25b4c2718078cbc86b6 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w;6f3jV)6aT$&3Mk}PqJC~?lu z%}vcKVQ?-=O)N=GQ7F$W$xv|j^bH7aNlWL22WQ%mvv4FO#tKIHfjI> literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/ganttz/img/solid-red-ver.png b/ganttzk/src/main/resources/web/ganttz/img/solid-red-ver.png new file mode 100644 index 0000000000000000000000000000000000000000..d2ba9324beb9c04d5ee89f9ee1d804d4ac9d829f GIT binary patch literal 200 zcmeAS@N?(olHy`uVBq!ia0vp^EI`c6!3HF^d|7u4NHG=%xjQkeJ16rJ$YD$Jc6VX; z4}uH!E}sk(;VkfoEM{Qf76xHPhFNnYfP(BLp1!W^w;6f3jg@B}(tZvUk}PqJC~?lu z%}vcKVQ?-=O)N=GQ7F$W$xv|j^bH7a?Qu&xFwXYh3Ob6Mw<&;$U!h&dVn literal 0 HcmV?d00001 diff --git a/ganttzk/src/main/resources/web/js/ganttz/dependency.js b/ganttzk/src/main/resources/web/js/ganttz/dependency.js index efb5124f4..9eae0c74f 100644 --- a/ganttzk/src/main/resources/web/js/ganttz/dependency.js +++ b/ganttzk/src/main/resources/web/js/ganttz/dependency.js @@ -3,6 +3,7 @@ * * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Desenvolvemento Tecnolóxico de Galicia + * Copyright (C) 2011 Igalia S.L. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by @@ -44,7 +45,7 @@ zkPlanner.init = function(planner){ } zkPlanner.findImageElement = function(arrow, name) { - var children = arrow.getElementsByTagName("img"); + var children = arrow.getElementsByTagName("div"); for (var i = 0; i < children.length; i++) { var child = children[i]; if (child.getAttribute("class").indexOf(name) != -1) { @@ -78,8 +79,8 @@ zkPlanner.setupArrow = function(arrowDiv){ var image_data = [ [ "start", "pixel.gif" ], [ "mid", "pixel.gif" ], [ "end", "pixel.gif" ], [ "arrow", "arrow.png" ] ]; for ( var i = 0; i < image_data.length; i++) { - var img = document.createElement('img'); - img.setAttribute("class", image_data[i][0]+" extra_padding"); + var img = document.createElement('div'); + img.setAttribute("class", image_data[i][0] ); img.src = this.getImagesDir() + image_data[i][1]; arrowDiv.appendChild(img); } @@ -142,7 +143,8 @@ zkPlanner.drawArrowStartStart = function(arrow, orig, dest){ depend.style.width = width2 - zkTask.HALF_HEIGHT + "px"; var deparrow = this.findImageElement(arrow, 'arrow'); - deparrow.src = this.getImagesDir()+"arrow.png"; +// deparrow.src = this.getImagesDir()+"arrow.png"; + deparrow.setAttribute("class", "arrow point-east"); deparrow.style.top = yend - zkTask.HALF_HEIGHT + "px"; deparrow.style.left = xend - 15 + "px"; } @@ -192,7 +194,8 @@ zkPlanner.drawArrowEndEnd = function(arrow, orig, dest){ depend.style.width = width2 + "px"; var deparrow = this.findImageElement(arrow, 'arrow'); - deparrow.src = this.getImagesDir()+"arrow3.png"; +// deparrow.src = this.getImagesDir()+"arrow3.png"; + deparrow.setAttribute("class", "arrow point-west"); deparrow.style.top = yend - 5 + "px"; deparrow.style.left = xend - 8 + "px"; } @@ -233,20 +236,19 @@ zkPlanner.drawArrowEndStart = function(arrow, orig, dest){ } var deparrow = this.findImageElement(arrow, 'arrow'); if ( width == 0 ) { - deparrow.src = this.getImagesDir()+"arrow2.png"; + deparrow.setAttribute("class", "arrow point-south"); deparrow.style.top = yend - 10 + "px"; deparrow.style.left = xend - 5 + "px"; if ( yorig > yend ) { - deparrow.src = this.getImagesDir()+"arrow4.png"; + deparrow.setAttribute("class", "arrow point-north"); deparrow.style.top = yend + "px"; } } else { deparrow.style.top = yend - 5 + "px"; deparrow.style.left = xend - 10 + "px"; - deparrow.src = this.getImagesDir()+"arrow.png"; - + deparrow.setAttribute("class", "arrow point-east"); if (width < 0) { - deparrow.src = this.getImagesDir() + "arrow3.png"; + deparrow.setAttribute("class", "arrow point-west"); deparrow.style.left = xend + "px"; deparrow.style.top = yend - 5 + "px"; } diff --git a/ganttzk/src/main/resources/web/js/ganttz/planner.js b/ganttzk/src/main/resources/web/js/ganttz/planner.js index fc25530bf..7d81a6e21 100644 --- a/ganttzk/src/main/resources/web/js/ganttz/planner.js +++ b/ganttzk/src/main/resources/web/js/ganttz/planner.js @@ -38,7 +38,7 @@ zkPlanner.init = function(planner){ } zkPlanner.findImageElement = function(arrow, name) { - var children = arrow.getElementsByTagName("img"); + var children = arrow.getElementsByTagName("div"); for (var i = 0; i < children.length; i++) { var child = children[i]; if (child.getAttribute("class").indexOf(name) != -1) { @@ -69,12 +69,13 @@ function getContextPath(element){ zkPlanner.setupArrow = function(arrowDiv){ - var image_data = [ [ "start", "pixel.gif" ], [ "mid", "pixel.gif" ], - [ "end", "pixel.gif" ], [ "arrow", "arrow.png" ] ]; - for ( var i = 0; i < image_data.length; i++) { - var img = document.createElement('img'); - img.setAttribute("class", image_data[i][0]+" extra_padding"); - img.src = this.getImagesDir() + image_data[i][1]; + /* var image_data = [ [ "start", "pixel.gif" ], [ "mid", "pixel.gif" ], + [ "end", "pixel.gif" ], [ "arrow", "arrow.png" ] ]; */ + var image_data2 = [ "start", "mid", "end", "arrow" ]; + for ( var i = 0; i < image_data2.length; i++) { + var img = document.createElement('div'); + img.setAttribute("class", image_data[i]+" extra_padding"); + /* img.src = this.getImagesDir() + image_data[i][1]; */ arrowDiv.appendChild(img); } } diff --git a/ganttzk/src/main/resources/web/js/ganttz/tasklist.js b/ganttzk/src/main/resources/web/js/ganttz/tasklist.js index a0f0cd211..3a76630df 100644 --- a/ganttzk/src/main/resources/web/js/ganttz/tasklist.js +++ b/ganttzk/src/main/resources/web/js/ganttz/tasklist.js @@ -110,7 +110,8 @@ zkTasklist.hideTooltip = function(elem) { if (zkTasklist.tooltipTimeout) { clearTimeout(zkTasklist.tooltipTimeout); } - document.getElementById(elem).style["display"] = "none"; + node = document.getElementById(elem); + if (elem != null) node.style["display"] = "none"; } zkTasklist.timeplotcontainer_rescroll = function(elem) { diff --git a/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css b/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css index 74604d115..898553c56 100644 --- a/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css +++ b/navalplanner-webapp/src/main/webapp/planner/css/ganttzk.css @@ -230,7 +230,7 @@ .end,.start,.mid,.arrow { position: absolute; - padding: 4px; + /* padding: 4px; */ cursor: crosshair; z-index:0; } @@ -238,10 +238,18 @@ #ganttpanel .end, #ganttpanel .start { height: 1px; + padding: 4px 0 2px 1px; + margin-left: 4px; + background-position: 0px 2px; } #ganttpanel .mid { width: 1px; + margin-top: 3px; + margin-bottom: 2px; + padding-right: 4px; + padding-left: 0px; + background-position: 4px 0; } @@ -263,6 +271,11 @@ height: 1px; } +#listlimitingdependencies .arrow { + background-image: none; + padding:0px; +} + div.box.limiting-assigned { background-color: #61b598; /* LIMITING_RESOURCES_DARK_GREEN */ -moz-border-radius: 15px; @@ -1143,7 +1156,7 @@ height: 100% float:left; width:10px; height:22px; - background-image: url("../../zkau/web/ganttz/img/watermark_deadline.png"); + background-image: url("../../zkau/web/ganttz/img/deadline.png"); } @@ -1256,4 +1269,61 @@ body .perspectives-column { div.z-grid-header .second_level_ tr { overflow: visible; -} \ No newline at end of file +} + + +.start, .end { + background-image: + url("../../zkau/web/ganttz/img/solid-black-hor.png"); + background-repeat:repeat-x; +} + +.mid { + background-image: + url("../../zkau/web/ganttz/img/solid-black-ver.png"); + background-repeat:repeat-y; +} + +.arrow { + height: 10px; + width: 10px; + background-image: + url("../../zkau/web/ganttz/img/solid-black-arrows.png"); + background-repeat: no-repeat; + padding: 3px 4px 4px 4px; +} + + +.violated-dependency .start, .violated-dependency .end { + background-image: url("../../zkau/web/ganttz/img/solid-red-hor.png"); +} +.violated-dependency .mid { + background-image: url("../../zkau/web/ganttz/img/solid-red-ver.png"); +} +.violated-dependency .arrow { + background-image: url("../../zkau/web/ganttz/img/dashed-red-arrows.png"); +} + +.resources-dependency .start, .resources-dependency .end { + background-image: url("../../zkau/web/ganttz/img/dashed-black-hor.png"); +} +.resources-dependency .mid { + background-image: url("../../zkau/web/ganttz/img/dashed-black-ver.png"); +} +.resources-dependency .arrow { + background-image: url("../../zkau/web/ganttz/img/dashed-black-arrows.png"); +} + + +.point-east { + background-position: 0 2px; +} +.point-south { + background-position: -18px 0; +} +.point-west { + background-position: -35px 2px; +} +.point-north { + background-position: -48px 0; +}