UNPKG

@quartic/bokehjs

Version:

Interactive, novel data visualization

106 lines (105 loc) 3.94 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var types_1 = require("./util/types"); var _createElement = function (tag) { return function (attrs) { if (attrs === void 0) { attrs = {}; } var children = []; for (var _i = 1; _i < arguments.length; _i++) { children[_i - 1] = arguments[_i]; } var element; if (tag === "fragment") { // XXX: this is wrong, but the the common super type of DocumentFragment and HTMLElement is // Node, which doesn't support classList, style, etc. attributes. element = document.createDocumentFragment(); } else { element = document.createElement(tag); for (var attr in attrs) { var value = attrs[attr]; if (value == null || types_1.isBoolean(value) && !value) continue; if (attr === "class" && types_1.isArray(value)) { for (var _a = 0, _b = value; _a < _b.length; _a++) { var cls = _b[_a]; if (cls != null) element.classList.add(cls); } continue; } if (attr === "style" && types_1.isObject(value)) { for (var prop in value) { element.style[prop] = value[prop]; } continue; } element.setAttribute(attr, value); } } function append(child) { if (child instanceof HTMLElement) element.appendChild(child); else if (types_1.isString(child)) element.appendChild(document.createTextNode(child)); else if (child != null && child !== false) throw new Error("expected an HTMLElement, string, false or null, got " + JSON.stringify(child)); } for (var _c = 0, children_1 = children; _c < children_1.length; _c++) { var child = children_1[_c]; if (types_1.isArray(child)) { for (var _d = 0, child_1 = child; _d < child_1.length; _d++) { var _child = child_1[_d]; append(_child); } } else append(child); } return element; }; }; function createElement(tag, attrs) { var children = []; for (var _i = 2; _i < arguments.length; _i++) { children[_i - 2] = arguments[_i]; } return _createElement(tag).apply(void 0, [attrs].concat(children)); } exports.createElement = createElement; exports.div = _createElement("div"), exports.span = _createElement("span"), exports.link = _createElement("link"), exports.style = _createElement("style"), exports.a = _createElement("a"), exports.p = _createElement("p"), exports.pre = _createElement("pre"), exports.input = _createElement("input"), exports.label = _createElement("label"), exports.canvas = _createElement("canvas"), exports.ul = _createElement("ul"), exports.ol = _createElement("ol"), exports.li = _createElement("li"); function show(element) { element.style.display = ""; } exports.show = show; function hide(element) { element.style.display = "none"; } exports.hide = hide; function empty(element) { var child; while (child = element.firstChild) { element.removeChild(child); } } exports.empty = empty; function position(element) { return { top: element.offsetTop, left: element.offsetLeft, }; } exports.position = position; function offset(element) { var rect = element.getBoundingClientRect(); return { top: rect.top + window.pageYOffset - document.documentElement.clientTop, left: rect.left + window.pageXOffset - document.documentElement.clientLeft, }; } exports.offset = offset; function replaceWith(element, replacement) { var parent = element.parentNode; if (parent != null) { parent.replaceChild(replacement, element); } } exports.replaceWith = replaceWith;