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