有没有办法通过ACCE通过插件禁用上下文菜单项?试图了解是否可以根据文件夹或用户的安全组启用/禁用上下文菜单。我只能设置特权,但我需要更精细的控制。
虽然这是一个老问题,但答案对某人来说可能很有用。
如果你想永久删除它,最简单的方法是复制包含菜单并删除你想隐藏的菜单项,然后用你的自定义菜单替换桌面配置中的OOTB菜单。
另一种方法是创建一个内容导航器插件,您可以创建自定义操作(菜单项(,该操作与您想要控制的菜单项完全相同。当您安装插件时,您的新操作(菜单项(将在菜单配置的菜单项列表中可用。下一步与您在上面看到的相同:复制OOTB菜单,创建一个自定义菜单,然后删除原始菜单项并用您的自定义菜单项替换,然后用您的定制菜单替换OOTB菜单。
有一个带有示例插件的官方github repo可以在这个主题中找到一些想法。
例如,在这个自定义CheckinAction中,只有当项目(文档(未锁定、DSSignatureStatus属性为true并且超类中存在一些其他条件(例如,项目是文档,文件夹上没有签入(时,作者才希望启用文档的签入:
/**
* Returns true if this action should be enabled for the given repository, list type, and items.
*/
isEnabled: function(repository, listType, items, teamspace, resultSet)
{
var enabled = this.inherited(arguments);
if(!items || items.length != 1){
return false;
};
if(items[0].attributes && items[0].attributes.DSSignatureStatus == 3 && !items[0].locked) {
return (enabled && true);
}
return false;
},
/**
* Returns true if this action should be visible for the given repository and list type.
*/
isVisible: function(repository, listType)
{
return this.inherited(arguments);
}
正如你在这里看到的,你也可以影响可见性,如果你想隐藏菜单,而不仅仅是禁用它,你可以决定把你的逻辑放在isVisible函数中