Dojo 在文件夹树中打开特定文件夹(IBM Content Navigator)

Dojo 在文件夹树中打开特定文件夹(IBM Content Navigator),dojo,ibm-content-navigator,Dojo,Ibm Content Navigator,我正在开发一个IBMContentNavigator插件,它允许我从浏览功能中的搜索功能打开一个选定的文件夹。插件操作包含以下代码: // Variable contentItem is provided by Content Navigator when executing the plugin action. let layout = ecm.model.desktop.layoutDijit; let browsePaneMenuItem = layout.launchBarContain

我正在开发一个IBMContentNavigator插件,它允许我从浏览功能中的搜索功能打开一个选定的文件夹。插件操作包含以下代码:

// 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);
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);
此代码切换功能并打开选定文件夹的内容(
contentItem
),作为中央面板中的结果集。但是,文件夹树不会在特定位置打开项目。为此,我尝试了以下代码:

// 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);
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);
当我调用存储库对象上的
retrieveItem
时,
console.debug
中的
item.parent
属性是
undefined

contentItem.parent
属性指向要在其中显示项目的搜索。但是,
contentItem.attributes.Parent
是实际父文件夹的docid。我怀疑Content Navigator无法打开该文件夹,因为
contentItem
的父项在搜索功能中与在浏览功能中不是同一项


如何打开文件夹树中的特定文件夹?

要打开文件夹树中的特定文件夹,您只需创建一个ID数组,其中包含从根文件夹到要打开文件夹的文件夹路径(您可以查看红皮书中的档案示例,了解如何在服务器端循环子文件夹)。 然后运行下面的js代码,当path是id为的对象数组时:(从根文件夹开始,以所选文件夹结束)