123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215 |
- var contextMenuWidth;
- var contextMenuHeight;
- var contextMenuCornerActive;
- function getContextMenu(sMenuType, bValidateId)
- {
- var bSkipValidateId = (bValidateId !== true);
- var activeContextMenu = null;
-
- if (typeof sMenuType != "string")
- {
- sMenuType = "";
- }
- if (sMenuType.indexOf("FILTER") >= 0)
- {
- if (sMenuType.indexOf("ICON") >= 0)
- {
- if (bSkipValidateId || document.getElementById("filterIconContextMenu") == null)
- {
- activeContextMenu = cf.gQsFilterIconContextMenu;
- }
- }
- else
- {
- if (bSkipValidateId || document.getElementById("filterContextMenu") == null)
- {
- activeContextMenu = cf.gQsFiltersContextMenu;
- }
- }
- }
- else if (sMenuType.indexOf("SORT") >= 0)
- {
- if (sMenuType.indexOf("ICON") >= 0)
- {
- if (bSkipValidateId || document.getElementById("sortIconContextMenu") == null)
- {
- activeContextMenu = cf.gQsSortIconContextMenu;
- }
- }
- else
- {
- if (bSkipValidateId || document.getElementById("sortContextMenu") == null)
- {
- activeContextMenu = cf.gQsSortsContextMenu;
- }
- }
- }
- else if (sMenuType.indexOf("SUPPRESS") >= 0)
- {
- if (sMenuType.indexOf("ICON") >= 0)
- {
- if (bSkipValidateId || document.getElementById("suppressIconContextMenu") == null)
- {
- activeContextMenu = cf.gQsSuppressIconContextMenu;
- }
- }
- else
- {
- if (bSkipValidateId || document.getElementById("suppressContextMenu") == null)
- {
- activeContextMenu = cf.gQsSuppressContextMenu;
- }
- }
- }
- else if (sMenuType.indexOf("METADATATREE") >= 0)
- {
- activeContextMenu = cf.gQsMetadataTreeContextMenu;
- }
- else if ((typeof goSelectionController == "object" && goSelectionController !== null && goSelectionController.getSelectedChartArea() != null) || (typeof goWindowManager != "undefined" && goWindowManager.getReportManager().getCVSelectionController() != null && goWindowManager.getReportManager().getCVSelectionController().hasSelectedChartNodes()))
- {
- if (bSkipValidateId || document.getElementById("chartContextMenu") == null)
- {
- activeContextMenu = cf.gQsChartContextMenu;
- }
- }
- else
- {
- if (bSkipValidateId || document.getElementById("contextMenu") == null)
- {
- activeContextMenu = cf.gQsContextMenu;
- }
- }
- return activeContextMenu;
- };
- function populateContextMenu(sMenuType)
- {
- var rf = getReportFrame();
- var cf = getConfigFrame();
- var rfd = rf.document;
- var rfdb = rfd.body;
- frameClicked();
- var activeContextMenu = getContextMenu(sMenuType, true);
- if (activeContextMenu)
- {
- activeContextMenu.setHTMLContainer(rfdb);
- activeContextMenu.draw();
-
- menu = activeContextMenu.getHTMLDiv();
-
-
- if (menu.attachEvent)
- {
- menu.attachEvent("oncontextmenu", function(){return false;});
-
-
- menu.attachEvent("onmouseout", function(){rfdb.attachEvent("onmouseup", frameClicked);});
-
-
- rfdb.attachEvent("onmouseout", function(){if(typeof dialogOnClick == "function") setTimeout(dialogOnClick, 1000);});
-
-
- rfdb.attachEvent("onmousedown", function(e){if(e.srcElement.className == "filterSubtitleIcon")frameClicked();
-
-
- if(e.srcElement.id == "__BODY__") frameClicked();});
- }
- else
- {
- menu.addEventListener("contextmenu", function(e) {e.preventDefault();e.stopPropagation();}, true);
-
-
- rfdb.addEventListener("mouseout", function(){if(typeof dialogOnClick == "function") setTimeout(dialogOnClick, 1000); } , true);
-
-
- rfdb.addEventListener("mousedown", function(e){if(e.target.className == "filterSubtitleIcon")frameClicked();}, false);
-
-
- window.addEventListener("mousedown", function(e) {if(e.target.toString().indexOf("XULElement") > -1) frameClicked();}, true);
-
-
- parent.window.addEventListener("mousedown", function(e) {if(e.target.toString().indexOf("XULElement") > -1) frameClicked();}, true);
- }
- }
-
- rfdb.onclick = frameClicked;
- rfdb.ondblclick = frameClicked;
- cf.document.body.onmousedown = frameClicked;
- };
- function moveContextMenu(event, sMenuType)
- {
- var cf = getConfigFrame();
- var activeContextMenu = getContextMenu(sMenuType, false);
- if (activeContextMenu)
- {
- activeContextMenu.setXCoord(event.clientX + CMenu_getScrollingPosition().x);
- activeContextMenu.setYCoord(event.clientY + CMenu_getScrollingPosition().y);
- activeContextMenu.show();
- }
- };
- function dialogOnClick()
- {
- var dfdb = null;
- if(getDialogFrame)
- dfdb = getDialogFrame().document.body;
- if(dfdb)
- {
-
- if (dfdb.attachEvent)
- {
- dfdb.attachEvent("oncontextmenu", frameClicked);
- dfdb.attachEvent("onmouseup", frameClicked);
- }
- else
- {
- dfdb.addEventListener("contextmenu", frameClicked, true);
- dfdb.addEventListener("mouseup", frameClicked, true);
- }
- }
- else
- setTimeout(dialogOnClick, 250);
- };
- function frameClicked()
- {
- if(typeof getConfigFrame != "undefined")
- {
- cf = getConfigFrame();
- cf.gQsContextMenu.remove();
- cf.gQsChartContextMenu.remove();
- cf.gQsFiltersContextMenu.remove();
- cf.gQsFilterIconContextMenu.remove();
- cf.gQsSortsContextMenu.remove();
- cf.gQsSortIconContextMenu.remove();
- cf.gQsSuppressContextMenu.remove();
- cf.gQsSuppressIconContextMenu.remove();
- }
- };
|