From 23cb19958f039354963190a3c763a8bbb95e0174 Mon Sep 17 00:00:00 2001 From: Ingo Schommer Date: Thu, 10 Mar 2011 23:55:02 +1300 Subject: [PATCH] BUGFIX Reinstated create page functionality in LeftAndMain.Tree.js --- javascript/LeftAndMain.Tree.js | 71 +++++++++++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/javascript/LeftAndMain.Tree.js b/javascript/LeftAndMain.Tree.js index 5a557173..4e9d0f4f 100755 --- a/javascript/LeftAndMain.Tree.js +++ b/javascript/LeftAndMain.Tree.js @@ -125,9 +125,78 @@ } }); }); - } + + var self = this; + $('#Form_EditForm').bind('loadnewpage', function(e, data) { + self._onLoadNewPage(e, data); + }); + }, + /** + * Assumes to be triggered by a form element with the following input fields: + * ID, ParentID, TreeTitle (or Title), ClassName + */ + _onLoadNewPage: function(e, eventData) { + var self = this; + // finds a certain value in an array generated by jQuery.serializeArray() + var findInSerializedArray = function(arr, name) { + for(var i=0; i tag + newNode.find('a:first').html(title).attr('href', 'admin/show/'+id); + self.jstree('deselect_node', parentNode); + self.jstree('select_node', newNode); + } + ); + } + + // TODO Fix node parent setting + // // set correct parent (only if it has changed) + // if(parentID) this.setNodeParentID(id, jQuery(e.target.ParentID).val()); + + // set current tree element + this.jstree('select_node', node); + } else { + if(typeof eventData.origData != 'undefined') { + var node = this.find('li[data-id='+eventData.origData.ID+']'); + if(node && node.data('id') != 0) this.jstree('delete_node', node); + } + } + + } }); });