Hi,
All my nodes are set to serverside callback. I get the following error intermittently when I drop a node onto another: 'this._backupExpandedNodes[...]' is null or not an object
function insertOver(destinationNode, sourceNode)
{
var allnodes = destinationNode.get_nodes();
allnodes.add(sourceNode);
}
I've copied the drag and drop functionality from the samples. But added this function so that I can sort the nodes afterwards.
it's the allnodes.add(sourceNode); line which causes the error. Stack trace:
Telerik.Web.UI.ControlItemCollection.prototype={add:function(_ef){
var _f0=this._array.length;
this.insert(_f0,_ef);
},insert:function(_f1,_f2){
var _f3=_f2.get_parent();
var _f4=this._parent._getControl();
if(_f3){
_f3._getChildren().remove(_f2);
}
calls:
Telerik.Web.UI.ControlItemCollection.prototype={add:function(_ef){
var _f0=this._array.length;
this.insert(_f0,_ef);
},insert:function(_f1,_f2){
var _f3=_f2.get_parent();
var _f4=this._parent._getControl();
if(_f3){
_f3._getChildren().remove(_f2);
}
if(_f4){
_f4._childInserting(_f1,_f2,this._parent);
}
Array.insert(this._array,_f1,_f2);
_f2.set_parent(this._parent);
if(_f4){
_f4._childInserted(_f1,_f2,this._parent);
_f4._logInserted(_f2);
}
calls:
childInserted:function(_1f8,node,_1fa){
if(!_1fa._childControlsCreated){
return;
}
this._restoreClientState();
if(this._threeState){
node._updateParentCheckState(this);
}
calls:
backupClientState:function(){
this._backupCollapsedNodes=this._getCollapsedNodes();
this._backupExpandedNodes=this._getExpandedNodes();
this._backupSelectedNodes=this.get_selectedNodes();
this._backupCheckedNodes=this.get_checkedNodes();
},_restoreClientState:function(){
this._clientState.selectedNodes=[];
for(var i=0;i<this._backupSelectedNodes.length;i++){
Array.add(this._clientState.selectedNodes,this._backupSelectedNodes[i]._getHierarchicalIndex());
}
this._clientState.collapsedNodes=[];
for(var i=0;i<this._backupCollapsedNodes.length;i++){
Array.add(this._clientState.collapsedNodes,this._backupCollapsedNodes[i]._getHierarchicalIndex());
}
this._clientState.expandedNodes=[];
for(var i=0;i<this._backupExpandedNodes.length;i++){
Array.add(this._clientState.expandedNodes,this._backupExpandedNodes[i]._getHierarchicalIndex());
}
this._clientState.checkedNodes=[];
for(var i=0;i<this._backupCheckedNodes.length;i++){
Array.add(this._clientState.checkedNodes,this._backupCheckedNodes[i]._getHierarchicalIndex());
}
All my nodes are set to serverside callback. I get the following error intermittently when I drop a node onto another: 'this._backupExpandedNodes[...]' is null or not an object
function insertOver(destinationNode, sourceNode)
{
var allnodes = destinationNode.get_nodes();
allnodes.add(sourceNode);
}
I've copied the drag and drop functionality from the samples. But added this function so that I can sort the nodes afterwards.
it's the allnodes.add(sourceNode); line which causes the error. Stack trace:
Telerik.Web.UI.ControlItemCollection.prototype={add:function(_ef){
var _f0=this._array.length;
this.insert(_f0,_ef);
},insert:function(_f1,_f2){
var _f3=_f2.get_parent();
var _f4=this._parent._getControl();
if(_f3){
_f3._getChildren().remove(_f2);
}
calls:
Telerik.Web.UI.ControlItemCollection.prototype={add:function(_ef){
var _f0=this._array.length;
this.insert(_f0,_ef);
},insert:function(_f1,_f2){
var _f3=_f2.get_parent();
var _f4=this._parent._getControl();
if(_f3){
_f3._getChildren().remove(_f2);
}
if(_f4){
_f4._childInserting(_f1,_f2,this._parent);
}
Array.insert(this._array,_f1,_f2);
_f2.set_parent(this._parent);
if(_f4){
_f4._childInserted(_f1,_f2,this._parent);
_f4._logInserted(_f2);
}
calls:
childInserted:function(_1f8,node,_1fa){
if(!_1fa._childControlsCreated){
return;
}
this._restoreClientState();
if(this._threeState){
node._updateParentCheckState(this);
}
calls:
backupClientState:function(){
this._backupCollapsedNodes=this._getCollapsedNodes();
this._backupExpandedNodes=this._getExpandedNodes();
this._backupSelectedNodes=this.get_selectedNodes();
this._backupCheckedNodes=this.get_checkedNodes();
},_restoreClientState:function(){
this._clientState.selectedNodes=[];
for(var i=0;i<this._backupSelectedNodes.length;i++){
Array.add(this._clientState.selectedNodes,this._backupSelectedNodes[i]._getHierarchicalIndex());
}
this._clientState.collapsedNodes=[];
for(var i=0;i<this._backupCollapsedNodes.length;i++){
Array.add(this._clientState.collapsedNodes,this._backupCollapsedNodes[i]._getHierarchicalIndex());
}
this._clientState.expandedNodes=[];
for(var i=0;i<this._backupExpandedNodes.length;i++){
Array.add(this._clientState.expandedNodes,this._backupExpandedNodes[i]._getHierarchicalIndex());
}
this._clientState.checkedNodes=[];
for(var i=0;i<this._backupCheckedNodes.length;i++){
Array.add(this._clientState.checkedNodes,this._backupCheckedNodes[i]._getHierarchicalIndex());
}