UNPKG

infinity-forge

Version:
147 lines • 5.33 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) { if (ar || !(i in from)) { if (!ar) ar = Array.prototype.slice.call(from, 0, i); ar[i] = from[i]; } } return to.concat(ar || Array.prototype.slice.call(from)); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getParams = getParams; //@ts-nocheck var utils_1 = require("./utils.js"); var params_list_1 = require("./params-list.js"); var defaults_1 = __importDefault(require("../core/defaults.js")); var formatValue = function (val) { if (parseFloat(val) === Number(val)) return Number(val); if (val === 'true') return true; if (val === '') return true; if (val === 'false') return false; if (val === 'null') return null; if (val === 'undefined') return undefined; if (typeof val === 'string' && val.includes('{') && val.includes('}') && val.includes('"')) { var v = void 0; try { v = JSON.parse(val); } catch (err) { v = val; } return v; } return val; }; var modulesParamsList = [ 'a11y', 'autoplay', 'controller', 'cards-effect', 'coverflow-effect', 'creative-effect', 'cube-effect', 'fade-effect', 'flip-effect', 'free-mode', 'grid', 'hash-navigation', 'history', 'keyboard', 'mousewheel', 'navigation', 'pagination', 'parallax', 'scrollbar', 'thumbs', 'virtual', 'zoom', ]; function getParams(element, propName, propValue) { var params = {}; var passedParams = {}; (0, utils_1.extend)(params, defaults_1.default); var localParamsList = __spreadArray(__spreadArray([], params_list_1.paramsList, true), ['on'], false); var allowedParams = localParamsList.map(function (key) { return key.replace(/_/, ''); }); // First check props localParamsList.forEach(function (paramName) { paramName = paramName.replace('_', ''); if (typeof element[paramName] !== 'undefined') { passedParams[paramName] = element[paramName]; } }); // Attributes var attrsList = __spreadArray([], element.attributes, true); if (typeof propName === 'string' && typeof propValue !== 'undefined') { attrsList.push({ name: propName, value: (0, utils_1.isObject)(propValue) ? __assign({}, propValue) : propValue }); } attrsList.forEach(function (attr) { var moduleParam = modulesParamsList.filter(function (mParam) { return attr.name.indexOf("".concat(mParam, "-")) === 0; })[0]; if (moduleParam) { var parentObjName = (0, utils_1.attrToProp)(moduleParam); var subObjName = (0, utils_1.attrToProp)(attr.name.split("".concat(moduleParam, "-"))[1]); if (typeof passedParams[parentObjName] === 'undefined') passedParams[parentObjName] = {}; if (passedParams[parentObjName] === true) { passedParams[parentObjName] = { enabled: true }; } passedParams[parentObjName][subObjName] = formatValue(attr.value); } else { var name_1 = (0, utils_1.attrToProp)(attr.name); if (!allowedParams.includes(name_1)) return; var value = formatValue(attr.value); if (passedParams[name_1] && modulesParamsList.includes(attr.name) && !(0, utils_1.isObject)(value)) { if (passedParams[name_1].constructor !== Object) { passedParams[name_1] = {}; } passedParams[name_1].enabled = !!value; } else { passedParams[name_1] = value; } } }); (0, utils_1.extend)(params, passedParams); if (params.navigation) { params.navigation = __assign({ prevEl: '.swiper-button-prev', nextEl: '.swiper-button-next' }, (params.navigation !== true ? params.navigation : {})); } else if (params.navigation === false) { delete params.navigation; } if (params.scrollbar) { params.scrollbar = __assign({ el: '.swiper-scrollbar' }, (params.scrollbar !== true ? params.scrollbar : {})); } else if (params.scrollbar === false) { delete params.scrollbar; } if (params.pagination) { params.pagination = __assign({ el: '.swiper-pagination' }, (params.pagination !== true ? params.pagination : {})); } else if (params.pagination === false) { delete params.pagination; } return { params: params, passedParams: passedParams }; } //# sourceMappingURL=get-element-params.js.map