1 | function prepareClasses(entries, prefix) {
|
2 | const resultClasses = [];
|
3 | entries.forEach(item => {
|
4 | if (typeof item === 'object') {
|
5 | Object.keys(item).forEach(classNames => {
|
6 | if (item[classNames]) {
|
7 | resultClasses.push(prefix + classNames);
|
8 | }
|
9 | });
|
10 | } else if (typeof item === 'string') {
|
11 | resultClasses.push(prefix + item);
|
12 | }
|
13 | });
|
14 | return resultClasses;
|
15 | }
|
16 |
|
17 | export default function addClasses() {
|
18 | const swiper = this;
|
19 | const {
|
20 | classNames,
|
21 | params,
|
22 | rtl,
|
23 | $el,
|
24 | device,
|
25 | support
|
26 | } = swiper;
|
27 |
|
28 | const suffixes = prepareClasses(['initialized', params.direction, {
|
29 | 'pointer-events': !support.touch
|
30 | }, {
|
31 | 'free-mode': swiper.params.freeMode && params.freeMode.enabled
|
32 | }, {
|
33 | 'autoheight': params.autoHeight
|
34 | }, {
|
35 | 'rtl': rtl
|
36 | }, {
|
37 | 'grid': params.grid && params.grid.rows > 1
|
38 | }, {
|
39 | 'grid-column': params.grid && params.grid.rows > 1 && params.grid.fill === 'column'
|
40 | }, {
|
41 | 'android': device.android
|
42 | }, {
|
43 | 'ios': device.ios
|
44 | }, {
|
45 | 'css-mode': params.cssMode
|
46 | }, {
|
47 | 'centered': params.cssMode && params.centeredSlides
|
48 | }], params.containerModifierClass);
|
49 | classNames.push(...suffixes);
|
50 | $el.addClass([...classNames].join(' '));
|
51 | swiper.emitContainerClasses();
|
52 | } |
\ | No newline at end of file |