0

我对 IBM Content Navigator 有关于个性化(功能)主页的要求,该主页具有用于在功能之间切换的各种按钮;我已经完成了所有作品,除了与主页功能相关的作品(收藏夹)

我已经尝试使用这些参数调用该功能:

    params.repositoryId="FNOSARCHIVIO"; 
    params.application="navigator";
    params.desktop="OneFile";
    params.userid="sys.filenetsvil";

但没有成功,该功能被切换(按下按钮后切换到主页功能)但它没有加载用户的收藏夹

这是我的开关功能方法(用于 ibm icn 红皮书+一些修改)

        switchFeature: function (featureIdToSwitch) {
             //get layout from destop
            var layout = ecm.model.desktop.getLayout();

            // get the corresponding button of the LaunchBar Container
            var feaButt = layout.launchBarContainer.getFeatureButtonByID(featureIdToSwitch);

            var params = {}; 
//          params.repositoryId="FNOSARCHIVIO"; 
//          params.application="navigator";
//          params.desktop="OneFile";
//          params.userid="sys.filenetsvil";

            // switching to the target feature
//          feaButt.child.loadContent; 

            layout.launchBarContainer.selectContentPane(feaButt, featureIdToSwitch, params);
        } 

在前端我有 4 个简单的带有 onClick 动作的 dojo 按钮,没什么特别的。

我使用此功能 ID:

        switchToHome: function () {
        this.switchFeature('favorites');
    },

这就是我说“它切换功能但不加载收藏夹”时的意思:

从我的按钮调用的主页功能: https ://ibb.co/GMW7L2x

从标准工具栏调用的主页功能: https ://ibb.co/BBgr36L

看起来它正在加载该功能,但它没有调用 listFavorites()

我在 IBM 文档或论坛上找不到任何帮助,这里有什么帮助吗?谢谢!

4

1 回答 1

0

至少我设法做到了,我把它贴在这里,希望对某人有所帮助:

1-覆盖默认的收藏功能(java类),使用相同的js插件,覆盖这个:

 @Override
 public String getContentClass() {
     return "ecm.widget.layout.HomePane";
 }

并将其设置为预加载:

 @Override
 public boolean isPreLoad() {
     return true;
 }

然后,在前端,检索 js 功能,并加载内容:

    var targetFeature = layout.launchBarContainer.getContentPaneByID(featureIdToSwitch); 
    targetFeature.loadContent()

仅当该功能已预加载或已至少调用一次时,您才能调用 loadContent()

于 2019-12-04T11:18:35.233 回答