File manager - Edit - /home/palg2351/public_html/wp-content/themes/blocksy/static/js/frontend/flexy.js
Back
import $ from 'jquery' import { Flexy } from 'flexy' import ctEvents from 'ct-events' import { getCurrentScreen } from '../frontend/helpers/current-screen' import { isTouchDevice } from '../frontend/helpers/is-touch-device' import { pauseVideo, maybePlayAutoplayedVideo } from './helpers/video' import { getScalarOrCallback } from './helpers/get-scalar-or-callback' export const mount = (sliderEl, args) => { args = { event: null, flexyOptions: {}, ...args, } let originalSliderEl = sliderEl sliderEl = getScalarOrCallback(sliderEl) if (sliderEl.flexy) { return sliderEl.flexy } let maybePillsSlider = sliderEl.querySelector('.flexy-pills [data-flexy]') let leftArrow = sliderEl.querySelector('.flexy .flexy-arrow-prev') let rightArrow = sliderEl.querySelector('.flexy .flexy-arrow-next') const maybeSuggested = sliderEl.closest('[class*="ct-suggested-products"]') if (maybeSuggested) { leftArrow = maybeSuggested.querySelector('.ct-arrow-prev') rightArrow = maybeSuggested.querySelector('.ct-arrow-next') } const isPillsDragEvent = args.event && args.event.type === 'touchstart' && args.event.target.closest('.flexy-pills > * > *') // On touch devices, if the mount occured on a click on a pill, simulate // the click again. if ( args.event && args.event.type === 'mouseover' && args.event.target.closest('.flexy-pills > * > *') && isTouchDevice() ) { const pill = args.event.target.closest('.flexy-pills > * > *') setTimeout(() => { pill.click() }) } const inst = new Flexy( () => { const sliderEl = getScalarOrCallback(originalSliderEl) if (!sliderEl) { return null } return sliderEl.querySelector('.flexy-items') }, { flexyAttributeEl: originalSliderEl, elementsThatDoNotStartDrag: ['.twentytwenty-handle'], ...(args.event && args.event.type === 'touchstart' && !isPillsDragEvent ? { initialDragEvent: args.event } : {}), autoplay: Object.keys(sliderEl.dataset).indexOf('autoplay') > -1 && parseInt(sliderEl.dataset.autoplay, 10) ? sliderEl.dataset.autoplay : false, ...(sliderEl.querySelector('.flexy-pills') ? { pillsContainerSelector: sliderEl.querySelector('.flexy-pills') .firstElementChild, } : {}), leftArrow, rightArrow, scaleRotateEffect: false, onDragStart: (e) => { if (!e.target.closest('.flexy-items')) { return } Array.from( e.target .closest('.flexy-items') .querySelectorAll('.zoomImg') ).map((img) => { $(img).stop().fadeTo(120, 0) }) }, // viewport | container wrapAroundMode: sliderEl.dataset.wrap === 'viewport' ? 'viewport' : 'container', ...(maybePillsSlider ? { pillsFlexyInstance: maybePillsSlider, } : {}), onSlideChange: (instance, payload) => { ctEvents.trigger('blocksy:frontend:flexy:slide-change', { instance, payload, }) }, ...(args.flexyOptions || {}), } ) if (maybePillsSlider) { const inst = new Flexy(maybePillsSlider, { elementsThatDoNotStartDrag: ['.twentytwenty-handle'], // viewport | container wrapAroundMode: maybePillsSlider.dataset.wrap === 'viewport' ? 'viewport' : 'container', ...(args.event && args.event.type === 'touchstart' && isPillsDragEvent ? { initialDragEvent: args.event } : {}), leftArrow: maybePillsSlider.parentNode.querySelector('.flexy-arrow-prev'), rightArrow: maybePillsSlider.parentNode.querySelector('.flexy-arrow-next'), ...(maybePillsSlider.closest('.thumbs-left') && getCurrentScreen({ withTablet: true }) !== 'mobile' ? { orientation: 'vertical', } : {}), }) maybePillsSlider.flexy = inst } sliderEl.flexy = inst return inst } export { Flexy } from 'flexy'
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0.19 |
proxy
|
phpinfo
|
Settings