import $ from "cash-dom";
-import gsap from "gsap";
+import 'swiper/css';
import {CubeSCORM} from '/application/resources/scorm/scorm';
import QuizResize from "./quiz.resize";
import QuizProgressbar from "./quiz.progressbar";
import QuizL10n from "./quiz.l10n";
import QuizDraganddrop from "./quiz.draganddrop";
+import QuizMatch from "./quiz.match";
window.cubeSCORM = new CubeSCORM();
window.$ = window.jQuery = $;
this.progressbar = new QuizProgressbar(this);
this.l10n = new QuizL10n(this);
this.draganddrop = new QuizDraganddrop(this);
+ this.match = new QuizMatch(this);
console.log(this.data);
// ICI tout commence vraiment
--- /dev/null
+import gsap from "gsap";
+import Swiper from 'swiper';
+
+function QuizMatch(quiz) {
+ this.quiz = quiz;
+ this.start()
+}
+
+QuizMatch.prototype = {
+ start: function() {
+ const swiperTop = new Swiper('.swiper-container.top-slider', {
+ slidesPerView: 1,
+ loop: true,
+ effect: 'fade',
+ })
+ const swiperBottom = new Swiper('.swiper-container.bottom-slider', {
+ slidesPerView: "auto",
+ loop: true,
+ centeredSlides: true,
+ freeMode: true,
+ pagination: {
+ el: '.swiper-pagination',
+ type: 'bullets',
+ },
+ })
+ swiperBottom.on('slideChange', function () {
+
+ });
+ this.applyRotationToSiblings()
+ },
+
+ applyRotationToSiblings: function() {
+ let prevEls = $(".swiper-container.bottom-slider .swiper-slide.swiper-slide-active").prevAll();
+ let rotate = 0;
+ prevEls.each(function (){
+ rotate -= 20
+ $(this).css("transform","rotate("+rotate+"deg)")
+ })
+ }
+}
+
+export default QuizMatch;
--- /dev/null
+.question-match
+ .top-slider
+ max-width: 596px
+ margin: 0 auto 33px
+ overflow: hidden
+ .swiper-slide
+ padding: 38px 24px 18px
+ +radius(16px)
+ border: 1px solid rgb($texts-color,.24)
+ text-align: center
+
+ .bottom-slider
+ .swiper-slide
+ width: 252px !important
+ height: 158px
+ +radius(16px)
+ padding: 15px
+ &.swiper-slide-active
+ background-color: $neutral-color
+ border: 2px solid $texts-color
@import 104-animations
@import 105-outro
@import 106-question-draganddrop
+@import 107-question-match
<span class="access">R</span>
</a>
@endisset
- <a class="btn primary action validate {{$question['countdown_enable'] ? 'countdown' : ''}}"
+ <a class="btn primary action validate {{ array_key_exists("countdown_enable",$question) ? ($question['countdown_enable'] ? 'countdown' : '') : ''}}"
aria-keyshortcuts="Space">
<span class="text">{{$__('Validate answer')}}</span>
<span class="access space">{{$__('space')}}</span>
@include('screens.intro', ['data'=> $data])
@endif
@foreach($data->questions as $key => $question)
- @include('screens.question_'.$question['type'], ['theme' => $data->theme,'data'=>$data, 'question'=> $question, 'max' => $totalQuestion, 'position' => $key, 'alphabet' => $alphabet])
+ @include('screens.question_'.$question['type'], ['theme' => $data->theme,'data'=> $data, 'question' => $question, 'max' => $totalQuestion, 'position' => $key, 'alphabet' => $alphabet])
@endforeach
@include('screens.outro', ['data'=> $data])
<div id="instantReviewAnimation"></div>
</form>
</div>
</div>
- @include('footer', ['data' => $data, 'reset' => true, 'text' => $__('Validate answer'), 'info' => true])
+ @include('footer', ['question' => $question,'data' => $data, 'reset' => true, 'text' => $__('Validate answer'), 'info' => true])
</div>
+@php
+ $propositions = array_map(function($n) { return $n['proposition']; }, $question['answers']);
+ $additional_prop = array_map(function($n) { return $n['content']; }, $question['additional_proposition']);
+ $propositions = [...$additional_prop,...$propositions];
+@endphp
+
+<div class="container-screen none question-match" data-screen="q-{{$position}}">
+ @include('header_question', ['data' => $data, 'max' => $max, 'position' => $position])
+ <div class="screen">
+
+ <div class="swiper-container top-slider">
+ <div class="controls left">
+ <p>{{$__('Move left')}}</p>
+ <button class="access move-card" aria-keyshortcuts="ARROWLEFT">
+ <span data-icon="arrow"></span>
+ </button>
+ </div>
+ <div class="swiper-wrapper">
+ @foreach($question['answers'] as $question)
+ <div class="swiper-slide">
+ {{ $question['answer'] }}
+ </div>
+ @endforeach
+ </div>
+ <div class="controls right">
+ <p>{{$__('Move right')}}</p>
+ <button class="access move-card" aria-keyshortcuts="ARROWRIGHT">
+ <span data-icon="arrow"></span>
+ </button>
+ </div>
+ </div>
+
+ <div class="swiper-container bottom-slider">
+ <div class="swiper-wrapper">
+ @foreach($propositions as $prop)
+ <div class="swiper-slide">
+ {{ $prop }}
+ </div>
+ @endforeach
+ </div>
+ <div class=".swiper-pagination"></div>
+ </div>
+ </div>
+ @include('footer', ['question' => $question, 'data' => $data, 'reset' => true, 'text' => $__('Validate answer'), 'info' => true])
+</div>