更改ICN中的签入对话(IBM Content Navigator)

时间:2015-11-20 22:33:13

标签: dojo ibm-content-navigator

在IBM Content Navigator中," Check In"对话框包含一个属性窗格,后者又包含一个类选择器下拉框。

ClassSelector image

我想保留签入功能,但是希望不显示“类选择器”框(没有用户需要更改文档类的用例)。

实现这一目标的正确方法是什么?

  1. 有没有办法扩展ecm / widget / CheckInDialogue.js文件并使默认的checkIn操作使用我的新js?
  2. 我是否需要创建引用新js的全新checkIn操作?
  3. 我只是更改ICN发货的js / html吗?
  4. 为了澄清,我知道如何创建插件,以及如何为checkinDialogue.js创建js扩展,以及如何删除classSelector;但是,我不知道如何使用我的新脚本进行签入操作,或者是实现此目的的最佳方法。

    谢谢!

1 个答案:

答案 0 :(得分:1)

在回答您的问题之前,我想说我认为在没有自定义ICN的情况下还有其他选择。我能看到的最简单的两个是:

  • 使用条目模板,默认情况下,在登记时将禁用类选择器
  • 删除privChangeClass权限,该权限应隐藏类选择器(如果要保留完全权限,可能会很困难。)

现在,如果您想在不使用输入模板或权限的情况下隐藏它。

  1. 是的,扩展ecm.widget.layout.CommonActionHandler并覆盖actionCheckIn函数并使用CheckInDialog而不是默认值。然后使用您的CommonActionHandler而不是桌面上的默认值。我不认为有一种方法可以从管理桌面用户界面更改ActionHandler(如果我错过了请告诉我),尽管客户端在_loadDesktop函数上加载了它并由外观选项卡,但值是硬编码的,所以你可能必须在加载更好之后注入它,调用ecm.model.desktop.setActionHander(actionhandler),其中actionhandler是实例,而不是插件中的类名(字符串)

  2. 您可以,如果您有多个桌面,并且希望某些人使用新的“检入”对话框,而不是某些桌面,则可以更轻松地管理。

  3. 不,这是一个糟糕的主意:) ICN和您的代码的未来升级将是一场噩梦,交付过程比简单的配置技巧或ICN插件复杂得多,而且#39 ; s是什么插件。

  4. 另一个不那么干净但非常简单的解决方案是在postCreate函数上的CheckInDialog.prototype之后的方面,并执行domStyle.set(this.addContentItemPropertiesPane._contentClassSelectorDiv, "display", "none");只是在所有CheckInDialogs上隐藏它。