diff --git a/plone/formwidget/contenttree/configure.zcml b/plone/formwidget/contenttree/configure.zcml
index 2e4f8e2..d10918c 100644
--- a/plone/formwidget/contenttree/configure.zcml
+++ b/plone/formwidget/contenttree/configure.zcml
@@ -34,6 +34,6 @@
/>
-
+
diff --git a/plone/formwidget/contenttree/input.pt b/plone/formwidget/contenttree/input.pt
index f22dd0b..43f7b4e 100644
--- a/plone/formwidget/contenttree/input.pt
+++ b/plone/formwidget/contenttree/input.pt
@@ -14,9 +14,6 @@
diff --git a/plone/formwidget/contenttree/jquery-contenttree/contenttree.js b/plone/formwidget/contenttree/jquery-contenttree/contenttree.js
index 72a87cb..c47210e 100755
--- a/plone/formwidget/contenttree/jquery-contenttree/contenttree.js
+++ b/plone/formwidget/contenttree/jquery-contenttree/contenttree.js
@@ -1,6 +1,6 @@
// This is based on jQueryFileTree by Cory S.N. LaViska
if(jQuery) (function($){
-
+
$.extend($.fn, {
showDialog: function() {
$(document.body).append($(document.createElement("div")).addClass("contenttreeWindowBlocker"))
@@ -12,7 +12,7 @@ if(jQuery) (function($){
$(this).css({
'left': $(window).width() * 0.125,
'top': $(window).height() * 0.125
- })
+ });
},
contentTreeAdd: function() {
var contenttree_window = (this).parents(".contenttreeWindow");
@@ -35,13 +35,13 @@ if(jQuery) (function($){
// Defaults
if(!o) var o = {};
if(o.script == undefined) o.script = 'fetch';
-
+
if(o.folderEvent == undefined) o.folderEvent = 'click';
if(o.selectEvent == undefined) o.selectEvent = 'click';
-
+
if(o.expandSpeed == undefined) o.expandSpeed = -1;
if(o.collapseSpeed == undefined) o.collapseSpeed = -1;
-
+
if(o.multiFolder == undefined) o.multiFolder = true;
if(o.multiSelect == undefined) o.multiSelect = false;
@@ -53,7 +53,7 @@ if(jQuery) (function($){
bindTree(c);
});
}
-
+
function handleFolderEvent() {
var li = $(this).parent();
if(li.hasClass('collapsed')) {
@@ -61,12 +61,12 @@ if(jQuery) (function($){
li.parent().find('ul:visible').slideUp({ duration: o.collapseSpeed });
li.parent().find('li.navTreeFolderish').removeClass('expanded').addClass('collapsed');
}
-
+
if(li.find('ul').length == 0)
loadTree(li, escape($(this).attr('href')), escape($(this).attr('rel')));
else
li.find('ul:hidden').slideDown({ duration: o.expandSpeed });
-
+
li.removeClass('collapsed').addClass('expanded');
} else {
li.find('ul').slideUp({ duration: o.collapseSpeed });
@@ -74,7 +74,7 @@ if(jQuery) (function($){
}
return false;
}
-
+
function handleSelectEvent(event) {
var li = $(this).parent();
var selected = true;
@@ -105,9 +105,10 @@ if(jQuery) (function($){
}
$(this).each(function() {
- bindTree($(this));
+
+ loadTree(this, o.rootUrl, 0);
});
}
});
-
+
})(jQuery);
diff --git a/plone/formwidget/contenttree/widget.py b/plone/formwidget/contenttree/widget.py
index 5721a9b..2ec5719 100644
--- a/plone/formwidget/contenttree/widget.py
+++ b/plone/formwidget/contenttree/widget.py
@@ -59,7 +59,6 @@ class Fetch(BrowserView):
view_instance)
def __call__(self):
-
# We want to check that the user was indeed allowed to access the
# form for this widget. We can only this now, since security isn't
# applied yet during traversal.
@@ -138,6 +137,7 @@ class ContentTreeBase(Explicit):
return self.bound_source.getTermByBrain(brain)
def render_tree(self):
+ import pdb; pdb.set_trace( )
content = self.context
if not IAcquirer.providedBy(content):
content = getSite()
@@ -178,7 +178,22 @@ class ContentTreeBase(Explicit):
.click( function () {
var parent = $(this).parents("*[id$='-autocomplete']")
var window = parent.siblings("*[id$='-contenttree-window']")
- window.showDialog();
+ window.showDialog('%(url)s', %(expandSpeed)d);
+ $('#%(id)s-contenttree').contentTree(
+ {
+ script: '%(url)s',
+ folderEvent: '%(folderEvent)s',
+ selectEvent: '%(selectEvent)s',
+ expandSpeed: %(expandSpeed)d,
+ collapseSpeed: %(collapseSpeed)s,
+ multiFolder: %(multiFolder)s,
+ multiSelect: %(multiSelect)s,
+ rootUrl: '%(rootUrl)s'
+ },
+ function(event, selected, data, title) {
+ // alert(event + ', ' + selected + ', ' + data + ', ' + title);
+ }
+ );
}).insertAfter($(this));
});
$('#%(id)s-contenttree-window').find('.contentTreeAdd').unbind('click').click(function () {
@@ -188,20 +203,7 @@ class ContentTreeBase(Explicit):
$(this).contentTreeCancel();
});
$('#%(id)s-widgets-query').after(" ");
- $('#%(id)s-contenttree').contentTree(
- {
- script: '%(url)s',
- folderEvent: '%(folderEvent)s',
- selectEvent: '%(selectEvent)s',
- expandSpeed: %(expandSpeed)d,
- collapseSpeed: %(collapseSpeed)s,
- multiFolder: %(multiFolder)s,
- multiSelect: %(multiSelect)s,
- },
- function(event, selected, data, title) {
- // alert(event + ', ' + selected + ', ' + data + ', ' + title);
- }
- );
+
""" % dict(url=url,
id=self.name.replace('.', '-'),
folderEvent=self.folderEvent,
@@ -210,6 +212,7 @@ class ContentTreeBase(Explicit):
collapseSpeed=self.collapseSpeed,
multiFolder=str(self.multiFolder).lower(),
multiSelect=str(self.multi_select).lower(),
+ rootUrl='/Plone',
name=self.name,
klass=self.klass,
title=self.title,