I'm developing a site that has about 1500 pages in the primary links menu, nested up to 6 levels deep (sounds similar to your use-case?). Your module does help a bit, but attempting to drag a branch containing 10-20 subitems causes the browser to lock up for a while before it starts to move.

Most of the time I have no interest in having the entire tree open all the time, I'm more likely to just want to reorder a small section of it.

Do you have any plans to implement collapsible menu editing with the option to keep all the items closed initially, so I could just open up the parts of the menu I want to work with? Presumably this would also help speed up dragging.

If you're not interested in developing it youself, would you be interested in a patch if I developed it?

Thanks!

Comments

dmitriy.trt’s picture

I can imagine how slow is to edit whole tree.

I was thinking about this problem. And collapsing feature will not a solution of all problems with huge tree, because drag'n'drop JS is rather slow now, and it will be slower on collapsing big tree of menu items.

Most elegant solution would be an AJAX-powered tree:

  1. First, load only top-level links with "plus" button on each
  2. After click on "plus" dynamically load first level of this item's children
  3. Implement other style of drag'n'drop (attach dragged subtree to cursor, it can be implemented with very low CPU usage) and expand subtrees on hover (+small timeout) while dragging over it.

This all is not easy to implement and it should provide "no javascript" fallback. If fallback will be a problem or it will be a reason of performance lost, we can use original editor (or tiny version already implemented in this module) as a fallback on additional tab.

Maybe this will be part of 2.x branch, but now I have not enough free time to work on it.

If you would like to implement collapsing for tree editor, it would be great if you post patch here. It can be released in next 1.x version after review and testing. Thanks in advance.

dmitriy.trt’s picture

Status: Active » Closed (won't fix)

The module is in maintenance only mode, so no new features will be implemented. But patches are welcome, as always.

dman’s picture

FYI cross-reference as I see this (old) request come up in the tracker today.

http://drupal.org/project/bigmenu addresses the AJAXified, collapsible tree management for big menu structures. D6/7

dmitriy.trt’s picture

Thanks, dman. Link to the Big Menu module is now on the project page.