UNPKG

2.96 kBJavaScriptView Raw
1"use strict";
2
3exports.__esModule = true;
4exports.updateSwiper = updateSwiper;
5
6var _utils = require("./utils");
7
8function 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}
\No newline at end of file