Adding swiper.

This commit is contained in:
Dan Chadwick 2024-08-22 08:55:41 -04:00
parent 928eb734e7
commit 2b5c281846
20 changed files with 140 additions and 13667 deletions

6
.phpactor.json Normal file
View File

@ -0,0 +1,6 @@
{
"$schema": "/Users/danchadwick/.local/share/nvim/mason/packages/phpactor/phpactor.schema.json",
"language_server_phpstan.enabled": false,
"php_code_sniffer.enabled": false,
"prophecy.enabled": false
}

View File

@ -26,6 +26,7 @@
"drupal/core-recommended": "^10.3", "drupal/core-recommended": "^10.3",
"drupal/devel_entity_updates": "^4.1", "drupal/devel_entity_updates": "^4.1",
"drupal/field_group": "^3.4", "drupal/field_group": "^3.4",
"drupal/flexslider": "^3.0@alpha",
"drupal/gin": "^3.0@RC", "drupal/gin": "^3.0@RC",
"drupal/gin_login": "^2.1", "drupal/gin_login": "^2.1",
"drupal/google_tag": "^2.0", "drupal/google_tag": "^2.0",

13475
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
.DS_STORE

View File

@ -30,6 +30,13 @@ slots:
description: The media item(s). description: The media item(s).
libraryOverrides: libraryOverrides:
css:
theme:
../../libraries/swiper-bundle.min.css: { minified: true }
ping-pong.css: { }
js:
../../libraries/swiper-bundle.min.js: { minified: true }
ping-pong.js: { }
dependencies: dependencies:
- core/drupal - core/drupal
- core/once - core/once

View File

@ -1,3 +1,8 @@
.swiper {
width: 600px;
height: 300px;
}
.ping-pong-wrapper { .ping-pong-wrapper {
max-height: 600px; max-height: 600px;
display: flex; display: flex;
@ -60,36 +65,36 @@
} }
/** slider styles */ /** slider styles */
.ping-pong .slide img { .ping-pong .swiper-slide img {
width: 100%; width: 100%;
object-fit: cover; object-fit: cover;
display: block; display: block;
height: 400px; height: 400px;
} }
.ping-pong .slide.active img { /*.ping-pong .slide.active img { */
display: block; /* display: block; */
opacity: 1; /* opacity: 1; */
visibility: visible; /* visibility: visible; */
transition: all .5s ease-in-out; /* transition: all .5s ease-in-out; */
} /*} */
.ping-pong .slide.hide img { /*.ping-pong .slide.hide img { */
opacity: 0; /* opacity: 0; */
visibility: hidden; /* visibility: hidden; */
transition: all .5s ease-in-out; /* transition: all .5s ease-in-out; */
} /*} */
.ping-pong .slide img { /*.ping-pong .slide img { */
display: none; /* display: none; */
visibility: hidden; /* visibility: hidden; */
opacity: 0; /* opacity: 0; */
transition: all .5s ease-in-out; /* transition: all .5s ease-in-out; */
} /*} */
.ping-pong ul.slides { /*.ping-pong ul.slides { */
list-style-type: none; /* list-style-type: none; */
padding: 0; /* padding: 0; */
margin: 0; /* margin: 0; */
max-height: 100%; /* max-height: 100%; */
} /*} */

View File

@ -2,35 +2,58 @@
Drupal.behaviors.pingPongSlider = { Drupal.behaviors.pingPongSlider = {
attach: function (context, settings) { attach: function (context, settings) {
let sliders = once('pingPongSlider', '.slider', context); let sliders = once('pingPongSlider', '.swiper', context);
sliders.forEach((slider) => { sliders.forEach((slider) => {
// get the slides const swiper = new Swiper(slider, {
let slides = slider.querySelectorAll('.slide'); // Optional parameters
slides[0].classList.add("active"); loop: true,
if (slides.length <= 1) { autoplay: {
return; delay: 5000,
} },
changeSlide(slider);
// If we need pagination
pagination: {
el: '.swiper-pagination',
},
// Navigation arrows
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
// And if we need scrollbar
scrollbar: {
el: '.swiper-scrollbar',
},
});
// // get the slides
// let slides = slider.querySelectorAll('.slide');
// slides[0].classList.add("active");
// if (slides.length <= 1) {
// return;
// }
// changeSlide(slider);
}); });
function changeSlide(sliderDiv, loop = 1) { // function changeSlide(sliderDiv, loop = 1) {
setTimeout(() => { // setTimeout(() => {
let slideCount = sliderDiv.querySelectorAll('.slide').length; // let slideCount = sliderDiv.querySelectorAll('.slide').length;
let activeSlide = sliderDiv.querySelector('.slide.active'); // let activeSlide = sliderDiv.querySelector('.slide.active');
let nextSlide = activeSlide.nextElementSibling; // let nextSlide = activeSlide.nextElementSibling;
if (loop == slideCount) { // if (loop == slideCount) {
nextSlide = sliderDiv.querySelectorAll('.slide')[0]; // nextSlide = sliderDiv.querySelectorAll('.slide')[0];
return; // return;
// get the first slide // // get the first slide
} // }
else { // else {
loop++; // loop++;
activeSlide.classList.toggle('active'); // activeSlide.classList.toggle('active');
nextSlide.classList.toggle('active'); // nextSlide.classList.toggle('active');
changeSlide(sliderDiv, loop); // changeSlide(sliderDiv, loop);
} // }
}, 10000); // }, 10000);
} // }
} }
}; };

View File

@ -17,9 +17,9 @@
'ping-pong', 'ping-pong',
mediaAlign|clean_class mediaAlign|clean_class
] %} ] %}
{{ title_prefix }}
{{ title_suffix }}
<div {{ attributes.addClass(classes) }} style="background-color: {{ bgColor }}"> <div {{ attributes.addClass(classes) }} style="background-color: {{ bgColor }}">
{{ title_prefix }}
{{ title_suffix }}
<div class="ping-pong__media"> <div class="ping-pong__media">
{% block media %}{% endblock %} {% block media %}{% endblock %}
</div> </div>

View File

@ -1,12 +0,0 @@
swiffy:
theme:
css:
libraries/swiffy-slider.min.css: { minified: true }
js:
libraries/swiffy-slider.min.js: { minified: true }
glide:
theme:
css:
libraries/glide.core.min.css: { minified: true }
js:
libraries/glide.min.js: { minified: true }

View File

@ -1 +0,0 @@
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}/*# sourceMappingURL=glide.core.min.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,8 +0,0 @@
{
"version": 3,
"sources": [
"swiffy-slider.css"
],
"names": [],
"mappings": "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"
}

View File

@ -1,2 +0,0 @@
const swiffyslider={version:"1.6.0",init(e=document.body){for(let t of e.querySelectorAll(".swiffy-slider"))this.initSlider(t)},initSlider(e){for(let t of e.querySelectorAll(".slider-nav")){let i=t.classList.contains("slider-nav-next");t.addEventListener("click",()=>this.slide(e,i),{passive:!0})}for(let t of e.querySelectorAll(".slider-indicators"))t.addEventListener("click",()=>this.slideToByIndicator()),this.onSlideEnd(e,()=>this.handleIndicators(e),60);if(e.classList.contains("slider-nav-autoplay")){const t=e.getAttribute("data-slider-nav-autoplay-interval")?e.getAttribute("data-slider-nav-autoplay-interval"):2500;this.autoPlay(e,t,e.classList.contains("slider-nav-autopause"))}if(["slider-nav-autohide","slider-nav-animation"].some(t=>e.classList.contains(t))){const t=e.getAttribute("data-slider-nav-animation-threshold")?e.getAttribute("data-slider-nav-animation-threshold"):.3;this.setVisibleSlides(e,t)}},setVisibleSlides(e,t=.3){let i=new IntersectionObserver(t=>{t.forEach(e=>{e.isIntersecting?e.target.classList.add("slide-visible"):e.target.classList.remove("slide-visible")}),e.querySelector(".slider-container>*:first-child").classList.contains("slide-visible")?e.classList.add("slider-item-first-visible"):e.classList.remove("slider-item-first-visible"),e.querySelector(".slider-container>*:last-child").classList.contains("slide-visible")?e.classList.add("slider-item-last-visible"):e.classList.remove("slider-item-last-visible")},{root:e.querySelector(".slider-container"),threshold:t});for(let t of e.querySelectorAll(".slider-container>*"))i.observe(t)},slide(e,t=!0){const i=e.querySelector(".slider-container"),s=e.classList.contains("slider-nav-page"),l=e.classList.contains("slider-nav-noloop"),r=e.classList.contains("slider-nav-nodelay"),o=i.children,n=parseInt(window.getComputedStyle(i).columnGap),a=o[0].offsetWidth+n;let d=t?i.scrollLeft+a:i.scrollLeft-a;s&&(d=t?i.scrollLeft+i.offsetWidth:i.scrollLeft-i.offsetWidth),i.scrollLeft<1&&!t&&!l&&(d=i.scrollWidth-i.offsetWidth),i.scrollLeft>=i.scrollWidth-i.offsetWidth&&t&&!l&&(d=0),i.scroll({left:d,behavior:r?"auto":"smooth"})},slideToByIndicator(){const e=window.event.target,t=Array.from(e.parentElement.children).indexOf(e),i=e.parentElement.children.length,s=e.closest(".swiffy-slider"),l=s.querySelector(".slider-container").children.length/i*t;this.slideTo(s,l)},slideTo(e,t){const i=e.querySelector(".slider-container"),s=parseInt(window.getComputedStyle(i).columnGap),l=i.children[0].offsetWidth+s,r=e.classList.contains("slider-nav-nodelay");i.scroll({left:l*t,behavior:r?"auto":"smooth"})},onSlideEnd(e,t,i=125){let s;e.querySelector(".slider-container").addEventListener("scroll",(function(){window.clearTimeout(s),s=setTimeout(t,i)}),{capture:!1,passive:!0})},autoPlay(e,t,i){t=t<750?750:t;let s=setInterval(()=>this.slide(e),t);const l=()=>this.autoPlay(e,t,i);return i&&(["mouseover","touchstart"].forEach((function(t){e.addEventListener(t,(function(){window.clearTimeout(s)}),{once:!0,passive:!0})})),["mouseout","touchend"].forEach((function(t){e.addEventListener(t,(function(){l()}),{once:!0,passive:!0})}))),s},handleIndicators(e){if(!e)return;const t=e.querySelector(".slider-container"),i=t.scrollWidth-t.offsetWidth,s=t.scrollLeft/i;for(let t of e.querySelectorAll(".slider-indicators")){let e=t.children,i=Math.abs(Math.round((e.length-1)*s));for(let t of e)t.classList.remove("active");e[i].classList.add("active")}}};window.swiffyslider=swiffyslider,document.currentScript.hasAttribute("data-noinit")||(document.currentScript.hasAttribute("defer")?swiffyslider.init():document.onreadystatechange=()=>{"interactive"===document.readyState&&swiffyslider.init()});
//# sourceMappingURL=swiffy-slider.min.js.map

View File

@ -1,104 +0,0 @@
{
"version": 3,
"sources": [
"swiffy-slider.js"
],
"names": [
"swiffyslider",
"version",
"[object Object]",
"rootElement",
"document",
"body",
"sliderElement",
"querySelectorAll",
"this",
"initSlider",
"navElement",
"next",
"classList",
"contains",
"addEventListener",
"slide",
"passive",
"indicatorElement",
"slideToByIndicator",
"onSlideEnd",
"handleIndicators",
"timeout",
"getAttribute",
"autoPlay",
"some",
"className",
"threshold",
"setVisibleSlides",
"observer",
"IntersectionObserver",
"slides",
"forEach",
"isIntersecting",
"target",
"add",
"remove",
"querySelector",
"root",
"observe",
"container",
"fullpage",
"noloop",
"nodelay",
"children",
"gapWidth",
"parseInt",
"window",
"getComputedStyle",
"columnGap",
"scrollStep",
"offsetWidth",
"scrollLeftPosition",
"scrollLeft",
"scrollWidth",
"scroll",
"left",
"behavior",
"indicator",
"event",
"indicatorIndex",
"Array",
"from",
"parentElement",
"indexOf",
"indicatorCount",
"length",
"closest",
"relativeSlideIndex",
"slideTo",
"slideIndex",
"delegate",
"isScrolling",
"clearTimeout",
"setTimeout",
"capture",
"autopause",
"autoplayTimer",
"setInterval",
"autoplayer",
"once",
"slidingAreaWidth",
"percentSlide",
"scrollIndicatorContainers",
"scrollIndicators",
"activeIndicator",
"Math",
"abs",
"round",
"element",
"currentScript",
"hasAttribute",
"init",
"onreadystatechange",
"readyState"
],
"mappings": "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",
"file": "swiffy-slider.js"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -41,10 +41,17 @@
label_display == 'visually_hidden' ? 'visually-hidden', label_display == 'visually_hidden' ? 'visually-hidden',
] ]
%} %}
<div{{ attributes.addClass('slider') }}> <div{{ attributes.addClass('swiper') }}>
<ul class="slides"> <div class="swiper-wrapper">
{% for item in items %} {% for item in items %}
<li {{ item.attributes.addClass('slide') }}>{{ item.content }}</li> <div {{ item.attributes.addClass('swiper-slide') }}>{{ item.content }}</div>
{% endfor %} {% endfor %}
</ul> </div>
<!-- If we need pagination -->
<div class="swiper-pagination"></div>
<!-- If we need navigation buttons -->
<div class="swiper-button-prev"></div>
<div class="swiper-button-next"></div>
<!-- If we need scrollbar -->
<div class="swiper-scrollbar"></div>
</div> </div>

View File

@ -11,8 +11,13 @@ function dchadwick_preprocess_node__fighter(&$vars) {
if (!$fighter_node) { if (!$fighter_node) {
return; return;
} }
assert($fighter_node instanceof NodeInterface);
// Need to ensure the type here. // Need to ensure the type here.
// Only operate if view mode is full.
$is_full_view = $vars['view_mode'] == 'default' ?? FALSE;
if (!$is_full_view) {
return;
}
assert($fighter_node instanceof NodeInterface);
assert($fighter_node->bundle() == 'fighter'); assert($fighter_node->bundle() == 'fighter');
$personal_fields = [ $personal_fields = [
'age', 'age',