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,54 @@
1
+// eslint-disable-next-line
2
+import Swiper from '../../core';
3
+import { isObject, extend } from './utils';
4
+import { paramsList } from './params-list';
5
+
6
+function getParams(obj) {
7
+  if (obj === void 0) {
8
+    obj = {};
9
+  }
10
+
11
+  var params = {
12
+    on: {}
13
+  };
14
+  var passedParams = {};
15
+  extend(params, Swiper.defaults);
16
+  extend(params, Swiper.extendedDefaults);
17
+  params._emitClasses = true;
18
+  params.init = false;
19
+  var rest = {};
20
+  var allowedParams = paramsList.map(function (key) {
21
+    return key.replace(/_/, '');
22
+  }); // Prevent empty Object.keys(obj) array on ios.
23
+
24
+  var plainObj = Object.assign({}, obj);
25
+  Object.keys(plainObj).forEach(function (key) {
26
+    if (typeof obj[key] === 'undefined') return;
27
+
28
+    if (allowedParams.indexOf(key) >= 0) {
29
+      if (isObject(obj[key])) {
30
+        params[key] = {};
31
+        passedParams[key] = {};
32
+        extend(params[key], obj[key]);
33
+        extend(passedParams[key], obj[key]);
34
+      } else {
35
+        params[key] = obj[key];
36
+        passedParams[key] = obj[key];
37
+      }
38
+    } else if (key.search(/on[A-Z]/) === 0 && typeof obj[key] === 'function') {
39
+      params.on["" + key[2].toLowerCase() + key.substr(3)] = obj[key];
40
+    } else {
41
+      rest[key] = obj[key];
42
+    }
43
+  });
44
+  ['navigation', 'pagination', 'scrollbar'].forEach(function (key) {
45
+    if (params[key] === true) params[key] = {};
46
+  });
47
+  return {
48
+    params: params,
49
+    passedParams: passedParams,
50
+    rest: rest
51
+  };
52
+}
53
+
54
+export { getParams };
0 55
\ No newline at end of file