我正在使用脚本适配器,方法是传递有效负载以从“使用值搜索”事件获取内容列表的竞争
当竞争被加载到内容列表,我有一个自定义视图来预览它们。但如果我点击MIME类型列,它会打开一个单独的视图与Map的查看器
因此,我需要删除此列或使其不可单击
1)我正在将搜索值传递给内容列表的“使用值搜索”事件,我可以从哪里处理内容列表的内容加载,任何我可以使用的Dojo事件?
2)有了脚本适配器,我可以不使用“响应过滤器”来完成此操作吗?
编辑:
正如“Ivo Jonker”很好地解释的那样(在他的回答中-“或者尝试在你的页面上具体定位小部件”,并使用他的示例代码)
responsed = page.ContentList8.ecmContentList.getResultSet();
var cols = responsed.structure.cells[0];
for (i=cols.length-1; i>0; i--){
var col = cols[i];
if (col.field=="mimeTypeIcon")
cols.splice(i,1);
}
page.ContentList78.ecmContentList.setResultSet(responsed);
我只是删除此行。再次感谢和可爱的博客,希望你继续张贴更多伟大的文章。
1条答案
按热度按时间nsc4cvqm1#
1.通过“使用值搜索”事件传递的值最终将由icm.pgwidget.contentlist.dijit.DocumentSearchHandler处理,该处理程序进而创建一个SearchTemplate来执行搜索(ecm.model.SearchTemplate.prototype.search)。一个选项是在DocumentSearchHandler#查询之前/周围设置方面来处理搜索结果,并通过这种方式删除该列。
1.然而,连接没有提供任何句柄来实现特定查询-结果集组合的这一点,让您要么在全局范围内修复此问题(icm.pgwidget.contentlist.dijit.DocumentSearchHandler.prototype#query),要么尝试在页面上具体定位小部件。
就我个人而言,考虑到第二点,如果您觉得全局解决方案不会成为问题,我会选择responsefilter选项,或者我个人更喜欢创建一个简单的ICM小部件,它示例化/实现一个“普通”的ecm.widget.listView.ContentList,并公开一个连接来设置ecm. model. Resultset。
然后,您就可以在脚本适配器中创建自己的Searchquery,删除列,并传递结果集。
脚本适配器可能类似于: