New ideas for pagebar v3 – Part 2: Customization by Drag’n Drop

Though pagebar is quite customizable you can’t define the overall look. “Previous page” is always on the most left, followed by “First” and so on but maybe you want the elements in a different order. I’m not aware that any of the paging plugins provide this feature, pagebar hopefully will do so in the next major version.

My first idea was to create a textarea where the user can define the pagebar via text tokens:

The individual parts of the pagebar would be enclosed in curly braces, e.g. {prev}, {left} or {last} The preferences would be separated with a vertical bar, if there is more than one preference these are divided by commas.
At first glance this looked like a idea for a simple solution to allow the user to customize pagebar more to his needs than it’s possible with the current version. After elaborating this idea for some time I came to the conclusion that it would end in an ugly unreadable long string that’s almost unable to maintain. There has to be a better solution.

Customization by Drag’n Drop

We’re living in the era of the Web 2.0 (or is it 3.0 already?), so I thought a Drag’n Drop interface could solve the problem that new users should be able to modify their pagebar easily but experienced users should not dismiss it as childish.
Let’s take a look at a mockup I made:

Overall the settings should work as the “Widgets” setting page of WordPress itself. You have an Elements container with all the available pagebar components which can be dropped into the Drop area. In this area you can re-arrange or delete the elements.

Below this area you will always have a preview of the complete pagebar so you’re not left to your imagination.
Finally you should be able to set the preferences for each element. To do so you (right) click on an element in the drop area and a Preferences window will appear allowing you to change the settings. The image above reveals another detail I wanted to build into pagebar for ages: images.

I’ve never done drag and drop programming in jQuery but there are so many plugins with GPL, BSD, MIT or similar licenses that I should be able create a decent interface.

Far future plans
Of course I have ideas which are a bit more “advanced” and that I don’t plan to include in v3.0 or v3.1 (or even before 4.0 ;-)). One is to make pagebar extensible. Maybe someone wants to have buttons like “+10 pages” and “-10 pages” or (as one user requests since ages) an “I’m feeling lucky” button that sends the user to a random page. These are features that individuals may want to have in their pagebar but the majority of users would never use. Just like in WordPress itself plugins could solve this dilemma.