UNPKG

@progress/kendo-charts

Version:

Kendo UI platform-independent Charts library

116 lines (89 loc) 2.83 kB
import { getSupportedFeatures } from '../common'; /* eslint-disable arrow-body-style, no-useless-escape */ export var extend = Object.assign; export var proxy = function (method, context) { return method.bind(context); }; export var convertToHtml = function (html) { var div = document.createElement("div"); div.innerHTML = html; return div.firstChild; }; export var appendHtml = function (html, element) { var div = document.createElement('div'); div.innerHTML = html; // use childNodes instead of children // to cover text nodes as well while (div.childNodes.length > 0) { element.appendChild(div.childNodes[0]); } }; export var removeChildren = function (element) { while (element.firstChild) { element.removeChild(element.firstChild); } }; export var prepend = function (element, originElement) { originElement.insertBefore(element, originElement.firstChild); }; export var wrapInner = function (parent, wrapper) { parent.appendChild(wrapper); while (parent.firstChild !== wrapper) { wrapper.appendChild(parent.firstChild); } }; export var toHyphens = function (str) { var result = str.replace(/([a-z][A-Z])/g, function(g) { return g.charAt(0) + '-' + g.charAt(1).toLowerCase(); }); return result; }; export var toPixels = function (value) { var result; if (value && String(value).endsWith("px")) { result = value; } else { result = String(value) + "px"; } return result; }; export var hasNativeScrolling = function (userAgent) { var ref = getSupportedFeatures(userAgent); var mobileOS = ref.mobileOS; return mobileOS.ios || mobileOS.android; }; export var setDefaultEvents = function (type, events) { var proto = type.prototype; if (proto.events) { events.forEach(function (event) { if (proto.events.indexOf(event) < 0) { proto.events.push(event); } }); } else { proto.events = events; } }; export var wheelDeltaY = function (e) { var deltaY = e.wheelDeltaY; var delta; if (e.wheelDelta) { // Webkit and IE if (deltaY === undefined || deltaY) { // IE does not have deltaY, thus always scroll (horizontal scrolling is treated as vertical) delta = e.wheelDelta; } } else if (e.detail && e.axis === e.VERTICAL_AXIS) { // Firefox and Opera delta = (-e.detail) * 10; } return delta; }; export var renderPos = function (pos) { var result = []; if (pos) { var parts = toHyphens(pos).split("-"); for (var i = 0; i < parts.length; i++) { result.push("k-pos-" + parts[i]); } } return result.join(" "); }; /* eslint-enable arrow-body-style, no-useless-escape */