Jan 21, 2009, 9:42 AM
[CLOSED] Error when deleting a tree leaf
Hi,
if I click a button, I want to append a new leaf on a selected node of my tree. Works as expected, i can select the leaf and the appropriate page is loaded.
If I try to delete the leaf just after it was created I get two javascript errors:
Thanks,
Sharon
if I click a button, I want to append a new leaf on a selected node of my tree. Works as expected, i can select the leaf and the appropriate page is loaded.
If I try to delete the leaf just after it was created I get two javascript errors:
<div class="logRow logRow-errorMessage"><div class="errorTitle">Ext is not defined
<div class="errorSourceBox errorSource-exec">[img]chrome://firebug/content/blank.gif[/img] Ext.fly(this.elNode).removeClass(cls);
<a class="objectLink objectLink-sourceLink">
</a>
<div class="errorTitle">Ext is not defined
<div class="errorSourceBox errorSource-exec">[img]chrome://firebug/content/blank.gif[/img] Ext.fly(this.elNode).addClass(cls);
I create the leaf with this code: function PutInFolder() {
var node = parent.window.BinderTree.getNodeById(parent.window.CurrentNodeID.getValue());
var nodeIds = node.id.split('!');
var oldNode = node.findChild('id', nodeIds[0] + '!' + parent.window.CurrentPackageID.getValue());
if (oldNode == null) {
var newNode = new Ext.tree.AsyncTreeNode({
id: nodeIds[0] + '!' + parent.window.CurrentPackageID.getValue(),
text: parent.window.CurrentNodeName.getValue(),
cls: 'page-create',
leaf: true
});
node.expand();
node.appendChild(newNode);
}
}
I delete a leaf with this code: function RemoveFromFolder() {
if (parent.window.CurrentDocID.getValue() != '') {
var parentNodeId = parent.window.ParentNodeID.getValue();
if (parentNodeId != '' && parentNodeId.contains('!'))
{
var parentNode = parent.window.BinderTree.getNodeById(parentNodeId);
if(parentNode.id.contains('!'))
{
var parentIds = parentNode.id.split('!');
var node = parentNode.findChild('id', parentIds[1] + '!' + parent.window.CurrentDocID.getValue());
if (node != null) {
node.remove();
}
}
}
}
}
The code for the buttons is: void CreateToolbar(bool update)
{
Toolbar tb = new Toolbar();
mapButton = new ToolbarButton();
mapButton.Icon = Icon.FolderAdd;
mapButton.AjaxEvents.Click.Before = "parent.window.StatusBar.showBusy();";
mapButton.Text = "Unter markierter Mappe einhängen";
mapButton.AjaxEvents.Click.Event += new ComponentAjaxEvent.AjaxEventHandler(this.AddToMap);
mapButton.AjaxEvents.Click.ExtraParams.Add(new Coolite.Ext.Web.Parameter("NodeID", "parent.window.CurrentNodeID.getValue()", ParameterMode.Raw));
mapButton.AjaxEvents.Click.EventMask.ShowMask = true;
mapButton.AjaxEvents.Click.EventMask.Msg = "Einhängen";
mapButton.AjaxEvents.Click.EventMask.MinDelay = 200;
mapButton.AjaxEvents.Click.Success = "PutInFolder();";
mapButton.ID = "MapButton";
mapButton.Hidden = !update;
tb.Items.Add(mapButton);
deleteMapButton = new ToolbarButton();
deleteMapButton.Icon = Icon.FolderDelete;
deleteMapButton.AjaxEvents.Click.Before = "parent.window.StatusBar.showBusy();";
deleteMapButton.Text = "Mappenzuordnung löschen";
deleteMapButton.AjaxEvents.Click.Event += new ComponentAjaxEvent.AjaxEventHandler(this.Delete);
deleteMapButton.AjaxEvents.Click.EventMask.ShowMask = true;
deleteMapButton.AjaxEvents.Click.EventMask.Msg = "Löschen";
deleteMapButton.AjaxEvents.Click.EventMask.MinDelay = 200;
deleteMapButton.AjaxEvents.Click.ExtraParams.Add(new Coolite.Ext.Web.Parameter("ParentNodeID", "parent.window.ParentNodeID.getValue()", ParameterMode.Raw));
deleteMapButton.AjaxEvents.Click.ExtraParams.Add(new Coolite.Ext.Web.Parameter("DocID", "parent.window.CurrentDocID.getValue()", ParameterMode.Raw));
deleteMapButton.AjaxEvents.Click.Success = "RemoveFromFolder();";
deleteMapButton.Hidden = !update;
deleteMapButton.ID = "DeleteMapButton";
tb.Items.Add(deleteMapButton);
TemplatePanel.TopBar.Add(tb);
}
Does anybody know where these errors come from?Thanks,
Sharon