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.

Comments

gausarts created an issue. See original summary.

gausarts’s picture

Issue summary: View changes
Status: Active » Needs review
StatusFileSize
new14.26 KB

This is a start and requires Blazy 2.3+, or DEV for now.

gausarts’s picture

StatusFileSize
new33.32 KB

Splide 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.

  • gausarts committed 0c785c0 on 8.x-1.x
    Issue #3217600 by gausarts: Support Splide, the vanilla JavaScript...
gausarts’s picture

Status: Needs review » Fixed

Improvements may follow as usual.

Thanks.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.