top | item 4312822

Show HN: gridster.js, a drag-and-drop grid plugin that actually works

106 points| dmarinoc | 13 years ago |gridster.net | reply

27 comments

order
[+] simulate|13 years ago|reply
What are some example use cases? Judging from comments so far, several people need this and plan to use it but I'm having a difficult time thinking of use cases, other than puzzle games.
[+] aitorciki|13 years ago|reply
We built it for our own product, Ducksboard. Users can build their own metrics dashboards by adding widgets and arranging them as they like.

That's the use case: being able to arrange/sort a set of widgets by dragging and dropping them in an grid. Puzzles, dashboards, image collections, think of any thing built of visuals elements where order counts.

[+] benblodgett|13 years ago|reply
I use something similar to allow users to manage the order in which images show up on their listings. (we provide a service for people to buy/sell cranes)
[+] eranation|13 years ago|reply
Nice! and indeed needed... How do you handle scroll areas? can one column be independently scrolling? that was my main pain point with JQueryUI draggable...

Note that your "Fork me on github" banner points to http://github.com/you, which shows me MY profile page :)

[+] aitorciki|13 years ago|reply
When the mouse pointer gets close to the bottom of the viewport while dragging an element we scroll the document. Columns are not scrolled on their own, since the whole grid is a "block".

We built it because jQuery sortables were limiting us to use separate columns, which couldn't handle "wide" (more than 1 column in width) elements.

Sorry for the wrong link, we fix it right now!

[+] wmblaettler|13 years ago|reply
Very nice! Any tips/issues on making it responsive to the window size? Having just viewed at the demo and not really digging into the code, I am not sure if this is rather obvious or not. Thanks!
[+] aitorciki|13 years ago|reply
Not supported at the moment :(

We've started by building something to fulfill our needs, and responsiveness wasn't in the list for a first version.

Some logic is ran on browser resize, but the grid itself is not resized.

We'd love to add it to future releases!

[+] Hikari|13 years ago|reply
This is the best dnd layout manager I have seen so far and trust me I have played with a lot of them. There is of course some improvement that can be made but that is what github is for. I really hope this project will get enough traction to warrant updates and new features. great job
[+] jsmcallister|13 years ago|reply
Very nice. Hopefully there's a simple way to take the serialized position array and parse out an order. Would be nice to use this plug-in to allow users to easily rank and group objects.
[+] aitorciki|13 years ago|reply
You actually can.

Have a look at the serialize() API method, as well as the serialize_params options attribute.

It's what we use at Ducksboard to let users arrange widgets in their dashboards.

[+] wmblaettler|13 years ago|reply
Does this implement any auto-layout / best fit methods given a random set of tiles?
[+] aitorciki|13 years ago|reply
There is a "top gravity" attracting widgets towards the top end of the grid. It's the only supported auto-layout feature currently.

We'd like to allow different strategies in the feature, we just started by the one we needed.

[+] halis|13 years ago|reply
Very nice, does the license allow this to be used in a commercial project?
[+] aitorciki|13 years ago|reply
Sure, it's licensed under MIT :)
[+] ipedrazas|13 years ago|reply
Well done guys!

You're going to make my children very happy indeed!

[+] manuscreationis|13 years ago|reply
Any examples of this integrating with Twitter Bootstraps layout?
[+] aitorciki|13 years ago|reply
Hi there.

The only current integration of the tool is Ducksboard, where we use it to handle widgets arrangement.

The documentation is pretty extensive anyway, it should be easy to integrate anywhere.

[+] Ethervoid|13 years ago|reply
Cool! As soon as i come home i'm going to try it
[+] wseymour|13 years ago|reply
Wow, I've been looking for something like this for a while now, and this is _really_ impressive. Good work!