我正在开发一个 IBM Content Navigator 插件,它允许我从浏览功能的搜索功能中打开一个选定的文件夹。插件操作包含以下代码:
// Variable contentItem is provided by Content Navigator when executing the plugin action.
let layout = ecm.model.desktop.layoutDijit;
let browsePaneMenuItem = layout.launchBarContainer.getMenuItemByID("browsePane");
layout.launchBarContainer._menuItemClick(browsePaneMenuItem, false);
layout.mainPane = layout.launchBarContainer._panels["browsePane"];
layout.mainPane.folderTree._tree._selectItem(contentItem);
此代码切换功能并打开所选文件夹 ( contentItem
) 的内容作为中心面板中的结果集。但是,文件夹树不会在特定位置打开项目。为此,我尝试了以下代码:
let repo = layout.mainPane.repository;
let parentItemDocId = contentItem.attributes.Parent;
let parentItemTemplate = parentItemDocId.split(',')[0] || null;
repo.retrieveItem(parentItemDocId, function(item) {
contentItem.parent = item;
layout.mainPane.folderTree._tree._selectItem(item);
console.debug('parents parent: ' + item.parent);
}, parentItemTemplate, "current", null, contentItem.objectStoreId, "", null);
is中的item.parent
属性,当我调用存储库对象时。console.debug
undefined
retrieveItem
该contentItem.parent
属性指向显示项目的搜索。但是,contentItem.attributes.Parent
是实际父文件夹的 docid。我怀疑,Content Navigator 无法打开该文件夹,因为contentItem
' 的父项在搜索功能中与浏览功能中的项目不同。
如何打开文件夹树中的特定文件夹?