UNPKG

maycur-business

Version:

maycur business react components of web

37 lines (28 loc) 1.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = getIndividualSettings; var _globals = require("./globals"); /** * Returns an object of settings to override global settings * @param {Element} el - the tooltipped element * @param {Object} instanceSettings * @return {Object} - individual settings */ function getIndividualSettings(el, instanceSettings) { var settings = _globals.DefaultsKeys.reduce(function (acc, key) { var val = el.getAttribute("data-".concat(key.toLowerCase())) || instanceSettings[key]; // Convert strings to booleans if (val === 'false') val = false; if (val === 'true') val = true; // Convert number strings to true numbers if (isFinite(val) && !isNaN(parseFloat(val))) { val = parseFloat(val); } // Convert array strings to actual arrays if (typeof val === 'string' && val.trim().charAt(0) === '[') { val = JSON.parse(val); } acc[key] = val; return acc; }, {}); return Object.assign({}, instanceSettings, settings); }