I don't expect a web interface to have the kind of flash that the access form had, but how close can I get? Is there any hope of approaching this kind of prettiness/functionality with a pre-cooked catalyst helper? Or some other way to do this with catalyst/perl? Maybe even with this newfangled AJAX thing, or something?
If possible, I would like to be able to insert new nodes into the tree from the web interface. I do *not* need to be able to rearrange existing nodes, or delete nodes/trees. (If there's functionality to do this, great, just for my purposes I probably wouldn't be needing this.)
If there are no perlish modules/sample apps that already do this, I would also appear pointers to solutions that do this in other non-perl (but still webby) ways.
PS I have started a bookmark collection on implementing trees from an underlying db, and will update this with good tips I get from any ensuing perlmonks discussion.
UPDATE: updated question to be more catalyst centric
UPDATE 2: From the catalyst list, Carl Franks advised me: You might check out Sam Tregar's HTML::PopupTreeSelect and the recent HTML::PopupTreeSelect::Dynamic which supports AJAX.
http://search.cpan.org/~samtregar/HTML-PopupTreeSelect-1.5/
http://search.cpan.org/~samtregar/HTML-PopupTreeSelect-Dynamic-1.0/
As far as I remember, it has hardcoded HTML and restricts you to HTML::Template - but the code may be useful, as might the JS library he uses.
Carl
UPDATE 3: I've narrowed my googling down to "perl treeview," and that is getting better results. Perl Treeview Project using an Array of Hashes buffering a MySQL Database isn't catalyst, but it looks like a good place to start.
UPDATE 4: Found another example of trees in cgi at A Tree Grows in Perl
UPDATE 5: DHTML Tree: not perl, not catalyst, but real simple, and I like that. Maybe I could get this working from the db by modifying the javascript somehow. However, I haven't worked with dhtml, but I am dimly suspecting there is a dark side... browser compatatibility? something. more research needed...
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |