更改ICN(IBM Content Navigator)中的签到对话框 [英] Altering the check-in dialogue in ICN (IBM Content Navigator)
问题描述
在IBM Content Navigator中,签入对话框包含一个属性窗格,其中包含一个类选择器下拉框。
In IBM Content Navigator, The "Check In" dialogue contains a Properties Pane, that in turn contains a Class Selector drop down box.
我想保留check-在功能上,但是希望该类选择器框不会出现(没有用例需要更改文档类的用例)。
I want to keep the check-in functionality, but would like to have that Class Selector box not appear (There is no use case where a user would need to change the document class).
实现这一点的正确方法是什么?
What would be the proper way to achieve this?
- 有没有方法来扩展ecm / widget / CheckInDialogue.js文件,并使默认的checkIn操作使用我的新的js?
- 我需要创建一个引用新的js的全新的checkIn操作吗?
- 我只是更改ICN发送的js / html?
只是为了澄清,知道如何创建一个插件,以及如何创建一个js扩展到checkinDialogue.js,以及如何删除classSelector;但是我不知道如何使用我的新脚本,或最好的方法来完成这个。
Just to clarify, I do know how to create a plugin, and how to create a js extension to the checkinDialogue.js, and how to remove the classSelector; however I don't know how to make the checkin action use my new script, or the best way to accomplish this.
谢谢!
推荐答案
在回答您的问题之前,我想说,除了自定义ICN,我想还有其他选择。两个最简单的我可以看到:
Before answering your question, I would like to say that I think there is other options to do this without customizing ICN. The two easiest I can see would be:
- 使用入门模板,这样,默认情况下,类选择器将被禁用。 >
- 删除privChangeClass权限,这应该隐藏Class Selector(如果你想要保持完全权限,可能很难)。
现在,如果要在不使用条目模板或权限的情况下隐藏它。
Now if you want to hide it without using entry templates or privileges.
-
是的,扩展ecm。 widget.layout.CommonActionHandler并覆盖actionCheckIn函数,并使用您的CheckInDialog而不是默认值。然后使用您的CommonActionHandler而不是桌面上的默认。我不认为有办法从管理桌面UI更改ActionHandler(如果我错过了,请让我知道),尽管客户端在_loadDesktop功能上加载,并由外观选项卡设置,但值为硬编码,所以你可能必须在更好的加载之后注入它,调用ecm.model.desktop.setActionHander(actionhandler),其中actionhandler是实例,而不是插件中的类名(string)。
Yes, extend the ecm.widget.layout.CommonActionHandler and overwrite the actionCheckIn function and use your CheckInDialog instead of the default one. Then use your CommonActionHandler instead of the default one in your desktop. I don't think there is a way to change the ActionHandler from the admin desktop UI yet (if I missed it please let me know), although it's loaded by the client on the _loadDesktop function and set by the appearance tab but the value is hard-coded, so you might have to inject it after the load of better, call ecm.model.desktop.setActionHander(actionhandler) where actionhandler is the instance, not the class name (string) in a plugin.
您可以,如果您有多个桌面,这样可以让您更容易管理,并希望有些使用新的签入对话框,另一些则不使用。
You can, this will make things easier to manage if you have several desktops and you want some to use your new Check In dialog and some not.
不,这是一个可怕的想法:) ICN和你的代码的未来升级将是一场噩梦,交付过程比简单的配置技巧或ICN插件复杂得多,什么插件是。
No, that's a terrible idea :) Future upgrade of ICN and your code will be a nightmare and the delivery process a lot more complex than a simple configuration trick or ICN plug-in, that's what plug-ins are for.
另外一个不太干净但非常简单的解决方案将是CheckInDialog .prototype在postCreate函数上d做一个 domStyle.set(this.addContentItemPropertiesPane._contentClassSelectorDiv,display,none);
将其隐藏在所有CheckInDialogs上。
Also a not so clean but really simple solution would be to aspect after the CheckInDialog.prototype on the postCreate function and do a domStyle.set(this.addContentItemPropertiesPane._contentClassSelectorDiv, "display", "none");
to just hide it on all CheckInDialogs.
这篇关于更改ICN(IBM Content Navigator)中的签到对话框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!