Opened 4 years ago

Last modified 4 months ago

#10955 new enhancement

Replace ThickBox

Reported by: aaron_guitar Owned by:
Priority: normal Milestone: Future Release
Component: External Libraries Version: 2.9
Severity: normal Keywords: dev-feedback needs-patch
Cc: frederick.ding@…, Denis-de-Bernardy, andrewryno@…, gcorne@…, xoodrew@…, ipstenu@…, gaarai@…, maor@…, info@…, sabreuse@…, aadams@…, jeff@…, lol@…

Description

Have you thought about replacing ThickBox? It is no longer under development (as their site says) and it doesn't conform to standard jQuery plugin practices. For example, I'm trying to use it for a plugin of mine and I'm wanting to tie into the "onClose" event for ThickBox which isn't too easily done. I know I could just include one of the other plugins, like colorbox, with my plugin but I think it'd be a great service to other developers if you included a more flexible library.

(I would have assigned this to 3.0+ but the option isn't available.)

Attachments (1)

medialib2.jpg (117.2 KB) - added by azaozz 19 months ago.

Download all attachments as: .zip

Change History (47)

  • Component changed from General to UI
  • Milestone changed from Unassigned to Future Release

comment:2 follow-up: ↓ 4   Viper007Bond4 years ago

  • Keywords needs-patch added
  • Milestone changed from Future Release to 3.0

ColorBox appears to be really pretty BTW.

Really pretty and really customizable.

comment:4 in reply to: ↑ 2   edified4 years ago

Replying to Viper007Bond:

And with a really helpful developer.
http://colorpowered.com/colorbox/
http://groups.google.com/group/colorbox/topics

8304 bytes before it zip/deflate

comment:5 follow-up: ↓ 6   caesarsgrunt3 years ago

+1 for ColorBox. I'd never met it before, but it looks great.

comment:6 in reply to: ↑ 5   scribu3 years ago

+1 from me as well.

Offtopic:

Replying to caesarsgrunt:

+1 for ColorBox. I'd never met it before, but it looks great.

"Hello, ColorBox! How are you today?" :P

comment:7 follow-up: ↓ 8   jacobsantos3 years ago

I've tried all of the so called alternatives and they pretty much all suck. The limitations of jQuery UI Dialog is that you can pretty much only assign one dialog at a time (unless there is a workaround that isn't obvious).

Colorbox is fine if you don't need to fine tune any scripting for the modal box. Say if you want to use any other scripting then the predefined one then you are SOL.

I would rather recommend qTip jQuery plugin instead. It is a tooltip first, but it has modal capabilities as well.

comment:8 in reply to: ↑ 7   aaron_guitar3 years ago

Replying to jacobsantos:

Colorbox is fine if you don't need to fine tune any scripting for the modal box. Say if you want to use any other scripting then the predefined one then you are SOL.

Could you give a specific example?

Maybe code like this one [12554]

  • Milestone changed from 3.0 to 3.1
  • Cc frederick.ding@… added
  • Version changed from 2.9 to 3.0.1
  • Version changed from 3.0.1 to 2.9

Version tracks the original report..

  • Milestone changed from Awaiting Triage to Future Release
  • Cc Denis-de-Bernardy added
  • Keywords 2nd-opinion added

Just started playing with colorbox because of the limitations with thickbox. It's pretty nice. I'm open to other options, but it WOULD be nice to find a replacement.

  • Cc andrewryno@… added

1+ for colorbox .

  • Cc gcorne@… added
  • Keywords 3.4-early added; needs-patch 2nd-opinion removed

comment:20 follow-up: ↓ 21   nacin19 months ago

I want to suggest that I would rather to continue to monkey-patch Thickbox than replace it with another library. Replacing Thickbox means killing popups in core, not making popups prettier. Maybe once we've eliminated TB usage in core, we can shoehorn in a worthy WP-integrated replacement.

comment:21 in reply to: ↑ 20   aaroncampbell19 months ago

Replying to nacin:

Do you really think that the correct direction is no lightboxes anywhere? That feels like more of a knee-jerk reaction to their overuse and misuse on the web as a whole (and possibly in WordPress as well). I think they have their place. For example, to me it seems like it's always going to be better to browser your media library for something to insert into a post inside a lightbox. It seems like there's just too much content there to shrink that into a small section of the screen.

I'm interested in hearing (or better yet, seeing) the alternatives though.

The best argument for eliminating thickboxes for media handling is that by moving it inline, you can continue to work on your content while images are uploading/crunching. Not to mention drag-and-drop into the editor. See http://wpdevel.wordpress.com/2009/10/08/some-media-upload-sketches/. It's going to take some work but it can be possible.

comment:24 follow-up: ↓ 33   azaozz19 months ago

Replying to nacin:

Agreed. Actually started on a new media library UI couple of months ago. Looks pretty similar to the plugin @scribu linked above. Had some hopes that it would make it in 3.3 but definitely going to try it for 3.4 :)


  • Cc xoodrew@… added
  • Cc ipstenu@… added
  • Cc gaarai@… added

Closed #19975 as a duplicate.

  • Cc maor@… added

+1 for colorbox

  • Cc info@… added
  • Cc sabreuse@… added

jQuery UI Dialog is already bundled with the jQuery UI in WordPress.

Benefits:

Already bundled

Actively developed

Lots of options

Integrates well with jQuery and other jQuery UI features.


ps. @jacobsantos it also can support multiple instances.

comment:33 in reply to: ↑ 24   andyadams12 months ago

  • Cc aadams@… added

Is this still being looked at? Thickbox is really horrific on mobile devices such as the iPad. Zooming in and out causes major problems. Unable to scroll within iframes on it as well; instead it scrolls the parent window. Doing so also completely destroys the background overlay as well.

The problem with media-upload.js overwriting the tb_position function is a serious pain as well. Makes admin thickbox functionality in the WP Admin for plugin almost impossible if they can't resize it to their needs (provided they need media-upload.js for whatever reasons). It is possible to overwrite the functionality with your own functions loaded after media-upload.js but, it seems ridiculous when the functionality is native but overwritten.

The jQuery UI dialog seems like a good alternative to me. It is already included with Wordpress, and the styling classes can easily be carried over to make it look as it already does.

Last edited 9 months ago by MatthewRuddy (previous) (diff)

+1 for jQuery UI dialog.

  • Cc jeff@… added
  • Cc lol@… added
  • Keywords dev-feedback added; 3.4-early removed

This is a major pain point for development for me, can we at least add a new one and keep Thickbox for deprecated use?

  • Keywords needs-patch added

Another contender: http://jschr.github.com/bootstrap-modal/

Not sure how dependent on Bootstrap it is, but it definitely seems to have all the functionality WP might need.

Another contender: ​http://jschr.github.com/bootstrap-modal/

Looks decent, but worth noting it's Apache v2 licensed, which isn't GPLv2 compatible.

Why do we need another modal library? I think we should just make the new media modals more generic so that core and plugins can use them too.

I was trying out the new media modal too, was anxious to switch from Thickbox to it but its not in a state to be used cleanly when I last looked. Maybe a new ticket should be used and it's use as a Thickbox replacement be one of the proposed benefits?

  • Component changed from UI to External Libraries

Update: Confirmed, the new WP 3.5 Media Modal makes an excellent Thickbox killer. It's use as a replacement for Thickbox would require additional helper functions for plugins/themes to hook into, but based on the working code I'm using, this is definitely something viable!

Could you share the code you're currently using, Scott?

Will do over the weekend / next week. Still in progress, and heavily tied to the project it's for, http://pods.io/

Note: See TracTickets for help on using tickets.