首发右键菜单完美解决方案,修改源码。

本资料无预览

如感兴趣请购买后下载

立即下载

资料简介:
先上图:

1203231605949f81b0ed26aa0c.png


这两天测试组需求,想让我们去掉多余的右键菜单(如:传承),见扫用户操作犯错的机会。

我是用java开发的经验,分析出,既然它是一个HTML那么他肯定有他加载的位置,既然他可以做权限控制那么一定是动态的,

下一步就看他是动态生成的HTML还是动态的控制隐藏或者修改。发现右键菜单在页面初始化的时候由一段JS控制生成右键菜单,

那么如果我找到了这段JS,我就可以完美的控制菜单的生成(找JS的过程很复杂,先通过css 在通过其他手段)。

js脚本的位置如下:I:ibmcognosc10webappsp2pdrvcv.js  154行
/*去掉“术语表”
if(this.getCV().bCanUseGlossary && this.m_oStrings.sGlossaryTextItem && sBlacklist.indexOf(' RV_CONTEXT_MENU_GLOSSARY ') == -1)
{
bGlossary = true;
this.m_contextMenu.add(gMenuSeperator);
this.m_glossaryItem = new CMenuItem(this.m_contextMenu, this.m_oStrings.sGlossaryTextItem, this.getCVObjectRef() + ".executeAction('Glossary');", sWebContentRoot + '/rv/images/action_glossary.gif', gMenuItemStyle, sWebContentRoot, sSkin);
this.m_glossaryItem.disable();
}
*/
/*去掉“传承”
if (this.isLinegaeVisisble(sBlacklist))
{
if (!bGlossary)
{
this.m_contextMenu.add(gMenuSeperator);
}
this.m_lineageItem = new CMenuItem(this.m_contextMenu, this.m_oStrings.sLineageTextItem, this.getCVObjectRef() + ".executeAction('Lineage');", sWebContentRoot + '/rv/images/action_lineage.gif', gMenuItemStyle, sWebContentRoot, sSkin);
this.m_lineageItem.disable();
}
*/
I:ibmcognosc10webappsp2pdrvCDrillManager.js  1243行
/*去掉“相关连接”;去掉“搜索”
if (gtContextMenu != null) {

if(typeof gMenuSeperator != "undefined" && gtContextMenu.getNumItems() > 0 && (this.getCV().bCanUseCognosViewerIndexSearch || sBlackList.indexOf(' RV_CONTEXT_MENU_GOTO_RELATED_LINKS ') == -1))
{
gtContextMenu.add(gMenuSeperator);
}

var moreContextMenuItem = new CMenuItem(gtContextMenu, this.getCV().oStrings.sMoreTextItem, this.getCVObjectRef() + '.getDrillMgr().launchGoToPage();', '', gMenuItemStyle, this.getCV().getWebContentRoot(), this.getCV().getSkin());

if (this.getCV().bCanUseCognosViewerIndexSearch) {

searchMenuItem = new CMenuItem(gtContextMenu, this.getCV().oStrings.sSearchTextItem, this.getCVObjectRef() + '.getDrillMgr().launchSearchPage();', '', gMenuItemStyle, this.getCV().getWebContentRoot(), this.getCV().getSkin());

}

if(sBlackList.indexOf(' RV_CONTEXT_MENU_GOTO_RELATED_LINKS ') != -1)
{
moreContextMenuItem.hide();
}
else if(selectionController == null || selectionController.getModelDrillThroughEnabled() == false)
{
moreContextMenuItem.disable();
}
}

if (searchMenuItem != null && selectionController != null)
{
var allSelections = selectionController.getAllSelectedObjects();
if (allSelections == null || allSelections.length === 0)
{
searchMenuItem.disable();
}
}
*/
找到生成右键菜单的js代码进行JS注释,就可以了。想修改在某维度的某级别禁止向上追溯要用另外一种方法。以后有时间在发。

如果想加入自己的新菜单只需按照相应的代码片段样式编写即可。
2012-03-26
浏览5162
下载1

已下载用户的评价7.09分

您还未下载该资料,不能发表评价;
查看我的 待评价资源
自由电子自由电子软件开发工程师文思海辉有限公司2014-09-09
没用
15楼的方法更好些,至少不用改配置文件,也防止cognos迁移时,忘记修改新环境的配置文件
mtkidsmtkids软件开发工程师cognos2014-09-09
没用
学习了,谢谢分享
wljf520wljf520软件开发工程师kuodazixun2014-08-04
没用
大神啊。。。学习了
deshan085deshan085软件开发工程师啊啊啊2014-07-30
没用
学习~这个正好有用
lirenyaolirenyao软件开发工程师coreware2014-07-30
没用
不错不错,顶一下
莫未莫离莫未莫离IT顾问塔塔信息技术(中国)股份有限公司杭州分公司2014-07-30
没用
;P 真厉害啊
kingjinhekingjinhe研发工程师sinosoft2014-07-30
没用
thanks for this
shaiershaier技术经理pansky2014-07-28
没用
如果在维度上添加追溯以后,点击左键会转换追溯页面,如何让钻取功能在左键事件上,追溯在右键呢?
小新小新软件开发工程师xx2014-07-26
没用
:handshake 以前发帖求过此方法,谢谢楼主分享
weizjweizj软件开发工程师XMB2014-07-25
没用
15楼的方法更好一些

贡献者

AdministratorBIBI开发工程师,北京英孚泰克信息技术有限公司
X社区推广