From 1d244498b85d85bedd1fb65217e5f283c4e40883 Mon Sep 17 00:00:00 2001 From: Farruco Sanjurjo Date: Mon, 6 Sep 2010 13:21:50 +0200 Subject: [PATCH] New isOverTask method * we leave aside the coordinate calculations and take advantage of ZK 5 widget-object-model * Added a property to TaskComponent widget: mouseOverTask FEA: ItEr02S03MigracionZK5 --- .../web/js/ganttz/DependencyComponent.js | 68 ++----------------- .../resources/web/js/ganttz/TaskComponent.js | 2 + 2 files changed, 8 insertions(+), 62 deletions(-) diff --git a/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js b/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js index ca62bc906..ecb6f395f 100644 --- a/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js +++ b/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js @@ -298,70 +298,14 @@ ganttz.UnlinkedDependencyComponent = zk.$extends(ganttz.DependencyComponentBase, } }, _isOverTask : function() { - var DOMscrollcontainer = jq('#scroll_container'); - var DOMinnerlayout = jq('.rightpanellayout div :first'); - var tasksArray; + var tasksArray = jq('div[z\\.type="ganttz.task.Task"]'); + var overTask = null; - tasksArray = jq.makeArray(jq('#' + this._DOMlisttasks.attr('id') +' div[z\\.type="ganttz.task.Task"]')); - tasksArray.concat(jq.makeArray(jq('#' + this._DOMlisttasks.attr('id') +' div[z\\.type="ganttz.taskcontainer.TaskContainer"]'))); + tasksArray.each(function(index, element){ + if(ganttz.TaskComponent.$(element.id).mouseOverTask) overTask = ganttz.TaskComponent.$(element.id); + }); - function findPosX(obj) - { - var curleft = 0; - if(obj.offsetParent) - while(1) - { - curleft += obj.offsetLeft; - if(!obj.offsetParent) - break; - obj = obj.offsetParent; - } - else if(obj.x) - curleft += obj.x; - return curleft; - } - - function findPosY(obj) - { - var curtop = 0; - if(obj.offsetParent) - while(1) - { - curtop += obj.offsetTop; - if(!obj.offsetParent) - break; - obj = obj.offsetParent; - } - else if(obj.y) - curtop += obj.y; - return curtop; - } - - - a = findPosX(DOMinnerlayout); - b = findPosY(DOMinnerlayout); - - var xpos = this._WGTganttpanel.getXMouse() - - findPosX(DOMinnerlayout)+ - DOMinnerlayout.scrollLeft(); - var ypos = this._WGTganttpanel.getYMouse() - - findPosY(DOMinnerlayout) + - DOMinnerlayout.scrollTop() - - this._DOMlisttasks.position().top; - - var task, coordTask; - for ( var i = 0; i < tasksArray.length; i++) { - task = jq(tasksArray[i]); - coordTask = task.position(); - /* Added margins to pointing errors */ - if (((xpos) > (coordTask.left - this.$class.DRAGABLE_PADDING)) - && ((xpos) < (coordTask.left + task.outerWidth() + this.$class.DRAGABLE_PADDING)) - && (ypos > (coordTask.top)) - && (ypos < (coordTask.top + task.outerHeight()))) { - return task; - } - } - return false; + return overTask; }, updateCoordOrigin : function(){ var coordOrigin = this.findPos_(this._DOMorigin); diff --git a/ganttzk/src/main/resources/web/js/ganttz/TaskComponent.js b/ganttzk/src/main/resources/web/js/ganttz/TaskComponent.js index 637db6045..d2198e9de 100644 --- a/ganttzk/src/main/resources/web/js/ganttz/TaskComponent.js +++ b/ganttzk/src/main/resources/web/js/ganttz/TaskComponent.js @@ -31,6 +31,7 @@ ganttz.TaskComponent = zk.$extends(zk.Widget, { unlinkedDependency.draw(); }, _showTooltip : function(){ + this.mouseOverTask = true; this._tooltipTimeout = setTimeout(jq.proxy(function(offset) { var element = jq("#tasktooltip" + this.uuid); if (element!=null) { @@ -45,6 +46,7 @@ ganttz.TaskComponent = zk.$extends(zk.Widget, { }, this), this.$class._TOOLTIP_DELAY); }, _hideTooltip : function(){ + this.mouseOverTask = false; if (this._tooltipTimeout) { clearTimeout(this._tooltipTimeout); }