Browse code

Refactor and rewrite as contao bundle

Benjamin Roth authored on04/11/2022 22:32:32
Showing1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,96 @@
1
+"use strict";
2
+
3
+exports.__esModule = true;
4
+exports.updateSwiper = updateSwiper;
5
+
6
+var _utils = require("./utils");
7
+
8
+function updateSwiper(swiper, slides, passedParams, changedParams) {
9
+  var updateParams = changedParams.filter(function (key) {
10
+    return key !== 'children' && key !== 'direction';
11
+  });
12
+  var currentParams = swiper.params,
13
+      pagination = swiper.pagination,
14
+      navigation = swiper.navigation,
15
+      scrollbar = swiper.scrollbar,
16
+      virtual = swiper.virtual,
17
+      thumbs = swiper.thumbs;
18
+  var needThumbsInit;
19
+  var needControllerInit;
20
+  var needPaginationInit;
21
+  var needScrollbarInit;
22
+  var needNavigationInit;
23
+
24
+  if (changedParams.includes('thumbs') && passedParams.thumbs && passedParams.thumbs.swiper && currentParams.thumbs && !currentParams.thumbs.swiper) {
25
+    needThumbsInit = true;
26
+  }
27
+
28
+  if (changedParams.includes('controller') && passedParams.controller && passedParams.controller.control && currentParams.controller && !currentParams.controller.control) {
29
+    needControllerInit = true;
30
+  }
31
+
32
+  if (changedParams.includes('pagination') && passedParams.pagination && passedParams.pagination.el && currentParams.pagination && pagination && !pagination.el) {
33
+    needPaginationInit = true;
34
+  }
35
+
36
+  if (changedParams.includes('scrollbar') && passedParams.scrollbar && passedParams.scrollbar.el && currentParams.scrollbar && scrollbar && !scrollbar.el) {
37
+    needScrollbarInit = true;
38
+  }
39
+
40
+  if (changedParams.includes('navigation') && passedParams.navigation && passedParams.navigation.prevEl && passedParams.navigation.nextEl && currentParams.navigation && navigation && !navigation.prevEl && !navigation.nextEl) {
41
+    needNavigationInit = true;
42
+  }
43
+
44
+  updateParams.forEach(function (key) {
45
+    if ((0, _utils.isObject)(currentParams[key]) && (0, _utils.isObject)(passedParams[key])) {
46
+      (0, _utils.extend)(currentParams[key], passedParams[key]);
47
+    } else {
48
+      currentParams[key] = passedParams[key];
49
+    }
50
+  });
51
+
52
+  if (changedParams.includes('children') && virtual && currentParams.virtual.enabled) {
53
+    virtual.slides = slides;
54
+    virtual.update(true);
55
+  }
56
+
57
+  if (needThumbsInit) {
58
+    var initialized = thumbs.init();
59
+    if (initialized) thumbs.update(true);
60
+  }
61
+
62
+  if (needControllerInit) {
63
+    swiper.controller.control = currentParams.controller.control;
64
+  }
65
+
66
+  if (needPaginationInit) {
67
+    pagination.init();
68
+    pagination.render();
69
+    pagination.update();
70
+  }
71
+
72
+  if (needScrollbarInit) {
73
+    scrollbar.init();
74
+    scrollbar.updateSize();
75
+    scrollbar.setTranslate();
76
+  }
77
+
78
+  if (needNavigationInit) {
79
+    navigation.init();
80
+    navigation.update();
81
+  }
82
+
83
+  if (changedParams.includes('allowSlideNext')) {
84
+    swiper.allowSlideNext = passedParams.allowSlideNext;
85
+  }
86
+
87
+  if (changedParams.includes('allowSlidePrev')) {
88
+    swiper.allowSlidePrev = passedParams.allowSlidePrev;
89
+  }
90
+
91
+  if (changedParams.includes('direction')) {
92
+    swiper.changeDirection(passedParams.direction, false);
93
+  }
94
+
95
+  swiper.update();
96
+}
0 97
\ No newline at end of file