Визуализация шаблона поиска в ICN

Я пытаюсь отобразить сохраненный поиск (шаблон поиска) в ICN, и ниже приведен код/общий класс для вызова сервисного плагина/

ecm.model.desktop
                                .getRepository(Desktop.defaultRepositoryId).retrieveSearchTemplate("{40B98008-EBB2-420A-8163-C74699EB678D}",null,null,function(searchTeamplate){
                                    debugger;
                                console.log("searchTeamplate" +searchTeamplate);
                                this.chkSearchTabContainer = dijit.byId("chkSearchTabContainer");
                                if(!this.chkSearchTabContainer){
                                    this.chkSearchTabContainer = new SearchTabContainer({

                                    },dojo.byId(domConstruct.create("div", {
                                        id : "checkSearchDIV"
                                    }, dojo.byId("myProgStackContainer"))))
                                }


                                this.chkSearchTabContainer.openTab({
                                    tabType : "search",
                                    repository : ecm.model.desktop.getRepository(Desktop.defaultRepositoryId),
                                    openNewTab : true,
                                    selected : true,
                                    closable : true,
                                    name:"try",
                                    // version: version,
                                    "searchTemplate" : searchTeamplate,
                                });
                                this.chkSearchTabContainer.startup();
                                this.chkSearchTabContainer.show();
                            });

console.log печатает searchTeamplateecm.model.SearchTemplate[StoredSearch, {83443B0F-496B-46B0-B43C-5A23E494688D}, {40B98008-EBB2-420A-8163-C74699EB678D}]

Но ничего не рендерит. Вместо этого я продолжаю получать сообщение об ошибке TypeError: name is undefined. Ниже приведена трассировка стека ошибок

cache["dojo/_base/loader"]/</slashName 

.cache["dojo/_base/loader"]/</dojo.require 
.cache["ecm/widget/layout/_TabContainerBase"]/</<._openTab 
.cache["ecm/widget/layout/_TabContainerBase"]/</<.openTab 
inherited 
.cache["ecm/widget/search/SearchTabContainer"]/</<.openTab
.init/<
.cache["ecm/model/Repository"]/</<._retrieveSearchTemplateCompleted 
.cache["ecm/model/Repository"]/</<.retrieveSearchTemplate/request< 
.cache["dojo/_base/lang"]/</lang.hitch/< 
.cache["ecm/model/Request"]/</Request<._onFinished 
.cache["ecm/model/Request"]/</Request<.send/this.xmlHttpRequest.onreadystatechange<
.cache["dojo/_base/lang"]/</lang.hitch/<

person bajji    schedule 24.01.2017    source источник


Ответы (1)


Хорошо вот что я сделал

создал SearchTab

this.chkSearchTabContainer = new SearchTab(
    {
        id : "chkSearchTabContainer",
        tabStrip : false,
        useMenu : false,
        useSlider : false,
        style : "height:800px"
});

получить шаблоны поиска и установить

this.defaultRepository.retrieveSearchTemplates(
        function(searchTeamplateItems) {
            for (var k = 0; k < searchTeamplateItems.length; k++) {

                if (searchTeamplateItems[k].name =="my search template name") {

                        dijit.byId("chkSearchTabContainer").setSearchTemplate(searchTeamplateItems[k],false);
                        dijit.byId("checkContentPane").set("content",dijit.byId("chkSearchTabContainer"));
                        dijit.byId("checkContentPane").resize();
                        dijit.byId("dashBoardTC").startup();
                }
            }
        }, null);
person bajji    schedule 02.06.2017