Kendo tree view adding child nodes dynamically is not working -


here, there 2 kendo tree views,first 1 here (named- #credentialstreeview") contains nodes check boxes parent node, it's child nodes , inner children etc,

there kendo tree view (named-#curriculumcustomcredtreeview ),what want is,all nodes checked in first tree view should added second tree view maintaining exact parent child relation,for example if there hierarchy parent1==>child1==>child2 (which child of child1),if child2 checked it's parent nodes including child2 should added second tree view, here problem , 1st: parent node can added, can added treeview in user i/f , in datasource,so working fine again on appending it's child node added node not added datasource,so on adding next child node it, impossible details of node datasource need add next node,

kendo version--2013.3.1119.440

please see code have used.and please let me know details possible.

function onaddtorequirement()   {           var treeviewcraftdata = $("#credentialstreeview").data("kendotreeview").datasource.data();//1st tree view contains loaded list of nodes different levels(with multiple childs , innerchilds check boxes)         var treeviewselectedtextlist = [];         var requirementtreeview = $("#curriculumcustomcredtreeview").data("kendotreeview");//2nd tree view selected nodes 1st tree view added dynamically         $("#credentialstreeview input[type=checkbox]:checked").closest(".k-item").each(function () {             treeviewselectedtextlist.push(                 $(this).closest('.k-item').text()             );         });          var treeviewselectedlist = [];         var currentcraftnode = null;//currently 3 levels there craft==>its levels(can multiple)==>it's modules(can multiple)         var currentlevelnode = null;         var currentmodulenode = null;          (var j = 0; j < treeviewcraftdata.length; j++) //treeviewcraftdata contains entire data in datsource of 1st tree view , looping through       {             if (treeviewcraftdata[j].haschildren)//checking craft  has children             {                 var treeviewleveldata = treeviewcraftdata[j].children.data();//if taking its, levels (craft,s children)                 currentcraftnode = treeviewcraftdata[j];                 (var k = 0; k < treeviewleveldata.length; k++) //looping through levels               {                     if (treeviewleveldata[k].haschildren) //checking  levels has children(named modules here)                   {                         currentlevelnode = treeviewleveldata[k];                         var treeviewmoduledata = treeviewleveldata[k].children.data();                          (var l = 0; l < treeviewmoduledata.length; l++) //looping through modules(inner children) , checking if checked                            {                             if (treeviewmoduledata[k].checked || $.inarray(treeviewmoduledata[k].text, treeviewselectedtextlist) > -1)                                 {                                 currentmodulenode = treeviewmoduledata[k];                                  if (requirementtreeview.datasource._data.length > 0)//added condition prevent adding duplicate nodes 2nd tree view,in first case directly goes else part                                  {                                     var dataitemcraft1 = null;                                     var dataitemlevel1 = null;                                     $(requirementtreeview.datasource.data()).each(function()                                        {                                         if (this.id !== currentcraftnode.id)                                          {                                                  requirementtreeview.append({//appending 1st node                                                 name: currentcraftnode.name,                                                 id: currentcraftnode.id,                                                 haschildren:currentcraftnode.haschildren,                                                 //items: treeviewselectedlist.length != 0 ? treeviewselectedlist : null                                             }, null);                                          }                                     });                                      dataitemcraft1 = requirementtreeview.datasource.get(currentcraftnode.id);                                      $(requirementtreeview.datasource.data()).each(function() {                                          if (this.id !== currentlevelnode.id) {//appending 2nd node first node                                             requirementtreeview.append({                                                 name: currentlevelnode.name,                                                 id: currentlevelnode.id,                                                 haschildren: currentlevelnode.haschildren,                                                 }, requirementtreeview.datasource.get(dataitemcraft1.uid));                                         }                                     });                                      dataitemlevel1 = requirementtreeview.datasource.get(currentcraftnode.id);//here throws exception  above node not added datsource                                      $(requirementtreeview.datasource.data()).each(function() {//code append 3rd node above added node                                         //ebugger;                                         if (this.id !== currentmodulenode.id) {                                              requirementtreeview.append({                                                 name: currentmodulenode.name,                                                 id: currentmodulenode.id,                                                 haschildren: currentmodulenode.haschildren,                                                 //items: treeviewselectedlist.length != 0 ? treeviewselectedlist : null                                             }, requirementtreeview.datasource.get(dataitemlevel1.uid));                                         }                                     });                                      dataitemcraft1 = null;                                     dataitemlevel1 = null;                                  } else                                 {                                     requirementtreeview.append//appending 1st node                                      ({                                         name: currentcraftnode.name,                                         id: currentcraftnode.id,                                         haschildren: currentcraftnode.haschildren,                                         value: currentcraftnode.id                                     });                                       var dataitemcraft = requirementtreeview.datasource.get(currentcraftnode.id);//working fine                                      requirementtreeview.append//appending 2nd node first node                                         ({                                         name: currentlevelnode.name,                                         id: currentlevelnode.id,                                         haschildren: currentlevelnode.haschildren,                                         }, requirementtreeview.findbyuid(dataitemcraft.uid));                                      requirementtreeview.expand(requirementtreeview.findbyuid(dataitemcraft.uid));                                      var dataitemlevel = requirementtreeview.datasource.get(currentlevelnode.id);//here throws exception  above node not added datsource                                      requirementtreeview.append({                                         name: currentmodulenode.name,                                         id: currentmodulenode.id,                                         haschildren: currentmodulenode.haschildren,                                         //items: treeviewselectedlist.length != 0 ? treeviewselectedlist : null                                     }, requirementtreeview.findbyuid(dataitemlevel.uid));                                      requirementtreeview.expand(requirementtreeview.findbyuid(dataitemlevel.uid));                                      dataitemcraft = null;                                     dataitemlevel = null;                                 }                              }                         }                     } else {                  }                }         }       } 


Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -