Problem/Motivation
Currently this module elevatezoomplus is tightly coupled to Slick. While Slick is already battle-tested in the last 6-years however extending Slick with new functionality or features are fairly hard. Slick as a library has no plugin system (think of core Drupal plugin or module system) other than limited API, or events. Adding additional plugins (zoom, fullscreen, 3d, etc.) are not truly integrated into Slick internal.
We have a new kid on the block named Splide which solves these Slick limitations, while still inherit Slick battles, but not its scars.
FYI, Splide is based on Slick both as a jQuery library and a Drupal module which makes porting Slick features less troubled.
In this particular module context, it is not about jQuery vs. JavaScript sliders. It is more about adopting betterment that Splide has to offer.
Proposed resolution
Consider decoupling this module from Slick, and supports Splide for future betterment.
Coordinate with Blazy to accommodate shared codebase (already done at the latest Blazy DEV as of this writing).
This means, this feature will only be compatible with Blazy 2.3+.
Remaining tasks
Write patch. Review.
User interface changes
None.
API changes
None. This module will adapt and be available to either Slick or Splide formatters. It is a matter of changing formatters.
Data model changes
None.
| Comment | File | Size | Author |
|---|---|---|---|
| #3 | 3217600-support-splide-3.patch | 33.32 KB | gausarts |
| #2 | 3217600-support-splide-2.patch | 14.26 KB | gausarts |
Comments
Comment #2
gausarts commentedThis is a start and requires Blazy 2.3+, or DEV for now.
Comment #3
gausarts commentedSplide has reached initial release, the following is the update.
This now requires Blazy 2.5+ for compatibility between Splide and Slick.
One important fix:
#3167511: Not working for subsequent Commerce product variations. This is due to changes somewhere. Likely it was Blazy, but nothing changed in this regard from along time ago as seen here: 2.5 is similar to 2.0 1 year ago. Basically the AJAX selector captured in
$element['#container_attributes']was correctly fetched before, but later broken/ missing.Comment #5
gausarts commentedImprovements may follow as usual.
Thanks.