X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=js%2Fdhtmlsuite%2Fmenu-for-applications.js;h=f99b27aadf051b1be77d3ac9080e61bd9a461fcc;hb=5924394316f7243cdf06a6130df160e0d7efd656;hp=7896f917b0be99c82188ef943fdee6b53e563325;hpb=28428900f3d2c1aabc7fad060b6d9d7cdf6d9f9b;p=kivitendo-erp.git diff --git a/js/dhtmlsuite/menu-for-applications.js b/js/dhtmlsuite/menu-for-applications.js index 7896f917b..f99b27aad 100644 --- a/js/dhtmlsuite/menu-for-applications.js +++ b/js/dhtmlsuite/menu-for-applications.js @@ -242,6 +242,7 @@ DHTMLSuite.common.prototype = { getTopPos : function(inputObj) { var returnValue = inputObj.offsetTop; + if (returnValue > 700) returnValue = 0; while((inputObj = inputObj.offsetParent) != null){ if(inputObj.tagName!='HTML'){ returnValue += (inputObj.offsetTop - inputObj.scrollTop); @@ -1187,7 +1188,7 @@ DHTMLSuite.menuItem.prototype = }else{ /* Add events */ var tmpVar = this.objectIndex/1; - this.divElement.onclick = function(e) { DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects[tmpVar].__navigate(e); } + //this.divElement.onclick = function(e) { DHTMLSuite.variableStorage.arrayOfDhtmlSuiteObjects[tmpVar].__navigate(e); } this.divElement.onmousedown = this.__clickMenuItem; // on mouse down effect this.divElement.onmouseup = this.__rolloverMenuItem; // on mouse up effect this.divElement.onmouseover = this.__rolloverMenuItem; // mouse over effect @@ -1264,7 +1265,17 @@ DHTMLSuite.menuItem.prototype = parentEl.style.backgroundPosition = 'left center'; } if(this.modelItemRef.itemText){ - var div = document.createElement('DIV'); + var div; + if( this.modelItemRef.url ) + { + div = document.createElement('a'); + div.href = this.modelItemRef.url; + div.target = this.modelItemRef.frameTarget; + div.style.display = 'block'; + } + else + div = document.createElement('div'); + div.className = 'DHTMLSuite_textContent'; div.innerHTML = this.modelItemRef.itemText; div.className = this.cssPrefix + 'menuItem_textContent'; @@ -1597,7 +1608,7 @@ DHTMLSuite.menuBar = function() this.targetId = false; this.activeSubItemsOnMouseOver = false; this.menuItemCssPrefix = false; - this.createIframesForOldIeBrowsers = true; + this.createIframesForOldIeBrowsers = false; if(!standardObjectsCreated)DHTMLSuite.createStandardObjects(); @@ -2221,12 +2232,27 @@ DHTMLSuite.menuBar.prototype = { try{ var shortRef = this.submenuGroups[parentId]; + if( shortRef.style.visible == 'hidden' ) + { + shortRef.style.display = 'none'; + return; + } + else + shortRef.style.display = 'block'; + var depth = this.menuItems[parentId].depth; var dir = this.menuItemObj.submenuType[depth]; if(dir=='top'){ shortRef.style.left = DHTMLSuite.commonObj.getLeftPos(this.menuItem_objects[parentId].divElement) + 'px'; shortRef.style.top = (DHTMLSuite.commonObj.getTopPos(this.menuItem_objects[parentId].divElement) + this.menuItem_objects[parentId].divElement.offsetHeight) + 'px'; }else{ + var too_large = DHTMLSuite.commonObj.getLeftPos(this.menuItem_objects[parentId].divElement) + + this.menuItem_objects[parentId].divElement.offsetWidth + + shortRef.offsetWidth + > $('#main_menu_div').width(); + if (too_large) + shortRef.style.left = (DHTMLSuite.commonObj.getLeftPos(this.menuItem_objects[parentId].divElement) - shortRef.offsetWidth) + 'px'; + else shortRef.style.left = (DHTMLSuite.commonObj.getLeftPos(this.menuItem_objects[parentId].divElement) + this.menuItem_objects[parentId].divElement.offsetWidth) + 'px'; shortRef.style.top = (DHTMLSuite.commonObj.getTopPos(this.menuItem_objects[parentId].divElement)) + 'px'; } @@ -2336,6 +2362,14 @@ DHTMLSuite.menuBar.prototype = { // }}} , unsetMenuBarState : function() { this.menuBarState = false }, + changeMenuBarState: function (target) { + var parentId = target.id.replace(/[^0-9]/gi,''); + this.menuBarState = !this.menuBarState; + this.hideSubMenus(); + if(this.menuBarState) { + this.__expandGroup(parentId); + } + }, // {{{ __setBasicEvents() /** * Set basic events for the menu widget. @@ -2345,15 +2379,16 @@ DHTMLSuite.menuBar.prototype = { */ __setBasicEvents : function() { - DHTMLSuite.commonObj.addEvent(document.documentElement,"click",this.hideSubMenus); var menu = this; - $(document).mousedown(function(){ menu.unsetMenuBarState(); }); - $('#win1').load(function(){ - $('#win1').contents().mousedown(function(){ - menu.hideSubMenus(); - menu.menuBarState = false; - }); - }) + $('div.DHTMLSuite_menuBar_sub').click(function() { menu.hideSubMenus(); menu.unsetMenuBarState() }); + $('div.DHTMLSuite_menuBar_top > div > div[objectref!="0"]').click(function() { menu.changeMenuBarState(this) }); + $('div.DHTMLSuite_menuBar_top').click(function(e) { + if ($(e.target).attr('class') == 'DHTMLSuite_menuBar_top') { menu.hideSubMenus(); menu.unsetMenuBarState() } + }); + $('#content').mousedown(function(){ + menu.hideSubMenus(); + menu.menuBarState = false; + }); } }