First time here? Check out the FAQ!

Moving interesting and ignored tags to a tag hover menu

I'm in the process of customizing the tag handling for the default skin in my site to make it behave more like (and hopefully merge upstream eventually if the new functionality is desired). The last piece is the handling of the interesting and ignored tags feature in the sidebar. I can't think of an easy way to integrate it into the sidebar, so I'm proposing putting it in a tag "hover menu" for each tag displayed in the site. This is similar to what happens in stack overflow when you hover over a tag, and see the followers, more detailed info, etc.

I'm willing to code this change, but I wanted to run it by the community first. I think this is a little more usable too, not requiring the user to re-type the tag to add it to the favorites or ignored list. I think it will also provide a space for further features for tags without taking up more screen real estate.

arknotts's avatar
updated 2011-06-07 21:04:58 -0500, asked 2011-06-07 21:01:21 -0500
edit flag offensive 0 remove flag close merge delete


add a comment see more comments

1 Answer


Sure, we have actually tried this too, for two different purposes. (to show tag followers) (to categorize tags) - the tag category feature uses mptt algorithm (django mptt), there is an editable category menu and the tag hovercard into which admin can type categories (no docs yet, will help if anyone asks about it).

Whether the tag category feature is desirable - a separate question :). Anyway we found building widgets like these in javascript quite involved, especially if they are to add functionality in the future. For myself I've decided that Closure library is the way to go. To use it you'd definitely need to buy a book by Michael Bolin - a former Google employee who worked I believe on Gmail and Google Tasks.

In the branches linked above a pattern similar to Closure was used, but jquery still does the dom manipulation, with the idea that eventually that code will be easier to port to Closure library. Please take a look and tell what you think... I will be happy to explain what it is about.

The main component is WrappedElement "class", which is a wrapper around jQuery object representing a DOM element, where the getElement() method calls createDom() responsible for building the DOM structure for the widget and sets event handlers. (In Closure event handlers are set by a separate function).

Evgeny's avatar
updated 2011-06-07 23:19:01 -0500, answered 2011-06-07 21:41:03 -0500
edit flag offensive 0 remove flag delete link


add a comment see more comments